Martial BORNET
Expert UNIX
Systèmes, Réseaux, Sécurité
Méthodes, et Optimisations


Savoir-faire


Cette page présente mes principales réalisations. Je les ai structurées le plus logiquement possible, mais beaucoup de réalisations entrent dans plusieurs domaines, et on pourrait tout à fait envisager une autre structuration, toute aussi logique.
  1. Formation
  2. Publications
  3. Logiciels développés
  4. Audits
  5. Sécurité
  6. Migrations


  1. Formation
    1. Formation à la réalisation de drivers Unix
    2. Afin de pouvoir me consacrer à d'autres tâches que la réalisation de drivers, j'ai communiqué ma connaissance des drivers et du noyau à un collègue de façon à ce qu'il assure la relève. Il a réalisé par la suite avec succès de nombreux drivers réseaux sur différents Unix.

    3. Formation utilisateur et administrateur Unix
    4. A maintes occasions, dans des cadres formels ou informels, j'ai donné des formations sur Unix, à titre collectif ou individuel.
      Ma présentation des sujets abordés, bien que guidée par un plan (ou une ligne directrice selon les cas), est largement basée sur les questions et la compréhension des auditeurs, mon but étant que les auditeurs comprennent ce que j'ai à leur transmettre, et qu'ils trouvent dans mes propos des réponses à leurs interrogations.

  2. Publications
    1. Rédaction d'articles techniques pour les éditions Diamond (GNU Linux Magazine France et Linux Pratique)
      1. Comparons simplement des fichiers /etc/hosts, GNU Linux Magazine n° 262, mar. 2023
      2. Retour d'expérience sur la gestion d'options non standard de programmes en C, GNU Linux Magazine n° 259, sep. 2022
      3. Découvrez la puissance des nouvelles fonctions du surligneur automatique hl, Linux Pratique HS n° 53, fév. 2022
      4. Exploitons l'historique de Bash, Linux Pratique HS n° 50, fév. 2021
      5. Accélérez vos traitements en développant votre propre solution de parallélisation, GNU Linux Magazine n° 244, jan. 2021
      6. Utilisation de fonctions C à nombre variable d'arguments, GNU Linux Magazine n° 241, oct. 2020
      7. Les arbres binaires équilibrés en C, GNU Linux Magazine n° 235, mar. 2020
      8. Fonctionnement et utilisation des quotes du shell, Linux Pratique n° 116, nov. 2019
      9. Tirez parti de la colorisation pour faciliter la lecture de vos données, Linux Pratique HS n° 46, oct. 2019
      10. Gestion de timers en langage C, GNU Linux Magazine n° 226, juil. 2019
      11. Retour d'expérience sur l'étude de la base MNIST pour la reconnaissance de chiffres manuscrits, GNU Linux HS n° 102, mai 2019
      12. Implémentation et exploitation de la fonction backtrace() en C, GNU Linux Magazine n° 223, fév. 2019
      13. RPN : extension de la syntaxe grâce à lex, GNU Linux Magazine n° 221, déc. 2018
      14. Script Shell de comparaison de deux arborescences, GNU Linux Magazine n° 219, oct. 2018
      15. RPN : interpréteur de notation polonaise inversée en langage C, GNU Linux Magazine n° 217, juil. 2018
      16. Gérer les expressions régulières en langage C,GNU Linux Magazine n° 189, jan. 2016
      17. Colorisez vos textes avec la commande hl, Linux Pratique n° 93, jan. 2016

    2. Livre sur les expressions régilières
    3. Expressions régulières, syntaxe et mise en œuvre, 465 pages, Editions ENI, ISBN : 978-2-7460-9712-4

    4. Article sur la sécurité d'Unix
    5. J'ai rédigé un article sur la sécurité d'Unix qui est paru dans Les Dossiers de l'APESI 86 (Association pour la Promotion de l'ESI : Supinfo Paris), et qui, suite à une demande de Philippe Dax, a également été publié dans Tribunix, le bulletin de liaison de l'AFUU (Association Française des Utilisateurs d'Unix).

    6. Correspondant de l'Ordinateur Individuel et de l'Ordinateur de Poche
    7. Durant un an, mon rôle de correspondant de la revue "L'Ordinateur de Poche" a été de rédiger des articles techniques, de vérifier, et le cas échéant de corriger, les programmes envoyés par les lecteurs.
      J'ai également rédigé la critique d'un livre qui venait de paraître sur la calculatrice HP-41, et signé quelques articles dans "L'Ordinateur Individuel".


  3. Logiciels développés
    1. Génie logiciel
      1. Logiciel de gestion de configuration logicielle
      2. Conception, développement puis portages d'un ensemble d'outils très efficaces de gestion de versions de fichiers sources et de génération automatique de programmes exécutables.
        Utilisé pendant 14 ans par tous les développeurs d'une équipe ayant comporté jusqu'à 20 personnes, ce logiciel a permis de produire et gérer plus de 700 modules logiciels (regroupant environ 9.000 fichiers sources, 62.000 versions distinctes, 3.600.000 lignes de sources, et seulement 150 Mo) correspondant à des logiciels de natures variées (applications, utilitaires système, drivers ...) dans de nombreux environnements (DOS, Windows, Unix, AIX, HP-UX, Xenix, PROM, FLASH-EPROM, embarqués ...) et pour des processeurs de types très différents (Intel 80x86, Intel 960, Motorola 68xxx, Power PC, PA-RISC, ...).
        Ce logiciel, allié à des techniques performantes de programmation modulaire, a donné à toute l'équipe de développement logiciel une efficacité que l'on ne rencontre, malheureusement, que très rarement dans le monde du développement logiciel.

      3. Outils de production de logiciels
      4. Conception d'outils très performants de génération de logiciels, dans le but d'augmenter l'efficacité et d'uniformiser les méthodes de travail d'un pôle de 120 développeurs.
        La méthode employée a permis de diviser le temps de génération par 4, passant ainsi de 8h à 2h.

    2. Logiciels Réseaux
      1. Serveur vocal interactif (voix sur IP)
      2. Sans une adaptation rapide aux techniques nouvelles, sans une maîtrise de la gestion de configuration logicielle, des développements réseau et des techniques de programmations performantes, sans une gestion rigoureuse des sauvegardes, sans une réactivité importante, et sans capacité d'autonomie, ce projet ambitieux aux très fortes contraintes de délai de développement aurait pû être un échec cuisant. Au lieu de cela, ce fut un succès, un peu en avance sur le planning.

      3. Outils de gestion du DNS de France Telecom
      4. Ce projet d'une durée de 3 ans m'a donné la possibilité de travailler sur un réseau particulièrement important (150.000 postes de travail, 3.000 serveurs), dans un environnement où la complexité intrinsèque est faible en regard de la complexité dûe au nombre d'éléments. Seules des méthodes poussées et une rigueur extrême ont permis un avancement sûr et régulier. Le développement d'outils adaptés aux besoins (dans les domaines du réseau, du déploiement, de la métrologie, de la gestion de configuration ...) et les optimisations indispensables à la manipulation quotidienne de très gros volumes d'informations ont permis de mener à bien, et avec un niveau de qualité de service élevé, ce projet d'envergure.

      5. Portage sur HP-UX d'un logiciel de configuration d'équipements telecoms
      6. Les difficultés inattendues (mais toutefois rapidement résolues) rencontrées lors de ce portage (dûes à un processeur très différent des processeurs habituels) m'ont permis de compléter mon document "Règles de Programmation", et de contribuer à nouveau à l'amélioration de la qualité du logiciel produit dans l'équipe de développement.

      7. Driver X.25 sous BOSX DPX/20
      8. Un développement, comme souvent très technique, qui m'a donné l'occasion de voir d'un peu plus près le monde X.25 et de participer à la mise au point d'une carte de communication.

      9. Driver LAN sous AIX RS/6000 pour messagerie X.400
      10. Réalisé quelques mois après l'annonce mondiale par IBM du lancement d'AIX (et ainsi de son arrivée dans le monde UNIX), ce driver, développé dans des conditions particulièrement difficiles (le personnel européen d'IBM n'étant alors pas encore formé au produit) a sans doute été l'un des tout premiers drivers réseau sur AIX RS/6000.

      11. Logiciel de supervision de réseau sur Windows
      12. Les très fortes contraintes de délai de développement de ce projet m'ont poussé à imaginer des techniques de programmation très performantes et très fiables. La réussite de ce projet a permis la signature d'un important contrat avec le CCF.

      13. Portage d'un logiciel de télé-administration
      14. Ce portage d'un logiciel DOS sous Unix et Xenix a permis d'intégrer dans les serveurs un puissant logiciel de télé-administration et de résolution de problèmes réseau.

      15. Client / serveur TTY sur Xenix et Unix
      16. Un petit divertissement pour faciliter la vie quotidienne des membres de l'équipe de développement.

      17. Client / serveur de bandes magnétiques
      18. Précurseur de "ghost", ce logiciel, dont j'ai réalisé les deux côtés (client et serveur) a permis à l'équipe de qualification de se créer un parc de machines virtuelles bien supérieur à son parc réel, et a accru son efficacité.

      19. Driver TTY natif sous AIX PS/2
      20. Le délai particulièrement court pour la réalisation de ce projet m'a poussé à utiliser des techniques très efficaces permettant un développement rapide et de qualité. La recette du logiciel a confirmé la qualité du travail produit.

      21. Driver Xenix-Net pour carte CSMA/CD
      22. Ce driver réseau pour carte StarLAN et 10 base-T a longtemps été utilisé dans l'équipe de développement logiciel, et dans de nombreuses agences de voyages.

      23. Couche session ISO/DSA
      24. Dans un cadre très strict de qualité et de sécurité, j'ai développé ce driver Unix implémentant une couche session ISO/DSA. Les recettes, effectuées au fur et à mesure de l'avancement du projet, ont démontré la qualité du logiciel développé, et la nécessité de fournir les sources au client ont permis d'améliorer la lisibilité du code et sa maintenabilité.

      25. PROM et serveur de téléchargement sous DOS et XENIX
      26. Ce projet consistait à implanter dans la PROM d'une carte réseau un logiciel permettant à un PC sans disque dur ni lecteur de disquettes de démarrer via le réseau en allant chercher son système d'exploitation sur un serveur d'images disquettes. J'ai développé le serveur d'images, et la partie cliente du logiciel en PROM.

      27. Driver de communication sous Xenix
      28. Le développement de ce driver Xenix pour carte Ethernet VME, dans le cadre du projet européen Esprit PP43, nous a permis de démontrer la faisabilité technique de la réalisation d'une interface de communication par échange de messages au moyen d'une double FIFO en mémoire double-accès (1986).

    3. Logiciels système
      1. Outil de contrôle de cohérence de plusieurs serveurs Unix
      2. Développé pour mes propres besoins d'administration des serveurs de développement, ce logiciel m'a fait gagner un temps précieux en contrôlant à ma place la cohérence des serveurs.

    4. Logiciels sécurité
      1. Outil de contrôle d'intégrité d'un système Unix
      2. Suite à la corruption accidentelle d'un fichier important sur un serveur en 1987, j'ai conçu et développé un logiciel (précurseur de "Tripwire") pour détecter rapidement les pertes et corruptions de fichiers, ainsi que les modifications de toutes natures d'un système de fichiers Unix, y compris les intrusions et piratages. Cet outil, particulièrement efficace, a pris en charge, à ma place, une grande partie de l'administration des serveurs. Les autres outils complémentaires mis en place m'ont permis de réduire à 15 mn par jour seulement le temps d'administration d'un parc d'une dizaine de serveurs Unix, me dégageant ainsi du temps pour des tâches plus productives.

    5. Web
      1. Site Web professionnel de Consultant Indépendant
      2. J'ai mis à profit mes diverses compétences pour construire rapidement le site web que vous consultez actuellement, en lui donnant une structure me permettant de réaliser efficacement et sûrement les évolutions, même importantes. Les techniques mises en oeuvre permettent de faire très rapidement des mises à jour complexes avec une dépense d'énergie minimale, et d'obtenir des fonctionnalités puissantes (liens vers les mises à jourtraçabilité des évolutions) sans intervention humaine dès lors que la mécanique est mise en place.
        Le remplacement, pour ce site, de toutes les URL en "wanadoo.fr" par des URL en "orange.fr", ainsi que la mise à disposition des pages modifiées, ont pris moins de 5 minutes, téléchargement compris, ceci grâce à la mécanique de génération des pages.

      3. Site Web d'administration du réseau de Wanadoo Interactive Cable
      4. Ce projet, réalisé au sein d'une équipe dynamique et performante, m'a permis de découvrir et d'exploiter très rapidement de nombreux outils, langages et interfaces (Apache, NetSaint/Nagios, Debian Woody, MySQL, LaTeX, Perl, HTML, CGI, ...), et de construire un outil d'historisation des données d'administration du réseau de Wanadoo câble, ainsi qu' un site Web réalisant un affichage graphique des données collectées.


  4. Audits
    1. Analyse du fonctionnement des serveurs WEB d'une grande banque
    2. Cet audit de 3 jours a permis d'identifier différentes sources de dysfonctionnement, aux niveaux système, réseaux, et applicatif, et les corrections qui ont été apportées, suite aux recommandations, ont résolu les problème d'accès au site de la banque. La qualité de service en a été considérablement augmentée.

    3. Faisabilité d'hébergement d'une plate-forme d'une autre grande banque
    4. Cet audit de 2 jours a servi à comprendre quels étaient les moyens à mettre en place pour rendre possible le transfert et l'hébergement d'une plate-forme d'une grande importance. Suite à cet audit, et après un travail important des équipes techniques, la plate-forme a pu être hébergée avec succès.


  5. Sécurité
    1. Gestion du firewall d'un grand groupe
    2. Lors d'une intervention ponctuelle, j'ai mis en place une gestion méthodique des règles du firewall (FW1 de CheckPoint), qui a permis d'en conserver la maîtrise, et d'avoir une réactivité plus importante lors des modifications ultérieures.


  6. Migrations
    1. Remplacement de 102 serveurs DNS AIX par 7 serveurs Solaris
    2. Afin de simplifier une architecture réseaux complexe, j'ai conçu une solution permettant de migrer de façon simple, fiable et efficace les bases DNS de 102 serveurs DNS sous AIX vers 7 serveurs DNS sous Solaris. Cette migration s'est déroulée sans interruption de service pour les très nombreux utilisateurs des 150.000 postes de travail du réseau interne.

    3. Remplacement de serveurs de développement Xenix par des serveurs Unix
    4. Une préparation rigoureuse et minutieuse a permis de remplacer 4 serveurs de dévelopement sous Xenix et 1 serveur d'archivage en libre-service, tous sous Xenix SCO, et utilisés par 20 développeurs, par des serveurs sous Unixware, avec une interruption de service plannifiée de 5 mn seulement.

Taille de la page : 26.496 Dernière mise à jour de la page : 14-03-2023
Version 1.54

Dernière mise à jour Mise à jour antérieure