JSON — site-data.json

Coloration syntaxique • aucun lien externe • 100 % autonome

← Retour au site
{
  "meta": {
    "title": "Oulom Souvannavong — Tech Lead intégration DevOps & cloud souverain — Linux, K8s, IA",
    "description": "Tech Lead — 20+ ans en production critique Linux, intégration DevOps (Ansible, Terraform, GitLab CI), cloud souverain (OpenStack/NUBO, Kubernetes/Onyxia) et IA en production (Ollama, n8n, Claude API). Ministère des Finances, Radio France, BnF, INPI."
  },
  "person": {
    "fullName": "Oulom Souvannavong",
    "initials": "OS",
    "roleShort": "Tech Lead intégration DevOps & cloud souverain — Linux, K8s, IA",
    "shortRole": "Tech Lead DevOps & cloud souverain",
    "tagline": "Je conçois et fiabilise vos plateformes critiques — du bare-metal au cluster Kubernetes, du cloud souverain aux agents IA en production.",
    "heroLead": "Plus de 20 ans en production critique sur environnements Linux, mêlant intégration DevOps (Ansible, Terraform, GitLab CI), virtualisation et clouds souverains (VMware, OpenStack/NUBO, Kubernetes/Onyxia), et désormais IA en production. Référent technique transverse au Ministère des Finances, à Radio France, à la BnF, à l’INPI.",
    "heroTags": [
      "Tech Lead DevOps",
      "Cloud souverain & K8s",
      "Production critique Linux",
      "IA & agents en prod"
    ],
    "cardLine": "intégration · plateforme · IA en prod"
  },
  "stats": [
    {
      "value": "20+",
      "unit": "ans",
      "label": "d’expérience en production Linux"
    },
    {
      "value": "500+",
      "unit": "VMs",
      "label": "exploitées en environnements critiques"
    },
    {
      "value": "8",
      "unit": "missions",
      "label": "majeures · public, presse, finance, énergie"
    },
    {
      "value": "3",
      "unit": "datacenters",
      "label": "migrés sans interruption de service"
    }
  ],
  "valueProps": {
    "title": "Pourquoi travailler avec moi",
    "intro": "Un profil rare : la profondeur technique d’un expert système Linux, doublée de la rigueur d’un intégrateur DevOps qui sait livrer.",
    "items": [
      {
        "icon": "shield",
        "title": "Production critique sans coupure",
        "body": "Mises en production préparées, plans de retour arrière systématiques, PRA inter-datacenters. Continuité d’exploitation prouvée sur des organismes de dépôt et de service public."
      },
      {
        "icon": "stack",
        "title": "Pile complète : du matériel au cloud",
        "body": "Du montage en baie et du SAN Fibre Channel aux clusters Kubernetes et au stockage S3 / Ceph. Une vue de bout en bout que peu de profils revendiquent."
      },
      {
        "icon": "wrench",
        "title": "Intégration & automatisation",
        "body": "Ansible, Terraform, Jenkins, GitLab CI, Helm. Je transforme les chaînes fragiles en livraisons fiables — et je documente ce que je fais."
      },
      {
        "icon": "people",
        "title": "Référent technique transverse",
        "body": "J’accompagne les chefs de projet, je débloque les équipes sur Linux/AD, virtualisation et sécurité ANSSI, et je transfère mes savoir-faire."
      },
      {
        "icon": "sparkle",
        "title": "L’IA, expertise opérationnelle élargie",
        "body": "LLM intégrés à mon outillage : Cursor, agents n8n + Claude, inférence locale Ollama / Mistral, RAG. Concrètement : agents IA en production en TPE, RAG juridique livré en hackathon, et ce portfolio en data-driven build."
      }
    ]
  },
  "aiSection": {
    "eyebrow": "IA · agents · inférence",
    "title": "Au quotidien avec l’IA",
    "intro": "L’IA n’est pas une mode pour moi : depuis l’arrivée des LLM accessibles, j’en ai fait à la fois un compagnon de travail quotidien et un terrain d’expérimentation. Je m’en sers pour coder, concevoir et raisonner — et je conçois des agents qui tournent en production, y compris en inférence locale pour préserver la souveraineté des données.",
    "groups": [
      {
        "title": "Codage & raisonnement augmentés (au quotidien)",
        "items": [
          {
            "name": "Cursor",
            "role": "IDE augmenté à l’IA",
            "note": "mon environnement principal de développement, agents et automatisations intégrés"
          },
          {
            "name": "Claude",
            "vendor": "Anthropic",
            "role": "Assistant LLM principal",
            "note": "conception, analyse, documentation, refactoring, revue de code"
          },
          {
            "name": "Grok",
            "vendor": "xAI",
            "role": "Recherche & raisonnement",
            "note": "veille technique, benchmark, synthèse multi-sources"
          },
          {
            "name": "GitHub Copilot",
            "role": "Auto-complétion contextuelle",
            "note": "complément ponctuel sur projets hébergés GitHub"
          }
        ]
      },
      {
        "title": "Agents & inférence (en production)",
        "items": [
          {
            "name": "n8n",
            "role": "Orchestrateur d’agents",
            "note": "pipelines de tri et de traitement documentaire, déclencheurs et appels d’API"
          },
          {
            "name": "Claude API",
            "vendor": "Anthropic",
            "role": "Reconnaissance & extraction",
            "note": "factures, pièces comptables, structuration de documents non normalisés"
          },
          {
            "name": "Ollama",
            "role": "Inférence LLM locale",
            "note": "exécution sur poste / serveur, pour la souveraineté des données"
          },
          {
            "name": "Mistral",
            "role": "LLM open-weight",
            "note": "modèles servis localement via Ollama, premier déploiement en TPE"
          }
        ]
      },
      {
        "title": "Hackathon & RAG (expérimentation)",
        "items": [
          {
            "name": "Whisper",
            "vendor": "OpenAI",
            "role": "ASR — voix vers texte",
            "note": "hackathon fév. 2025 : entrée vocale du chatbot juridique"
          },
          {
            "name": "LightRAG",
            "role": "RAG contextualisé",
            "note": "réponses ancrées dans le Code législatif (sources git.tricoteuses.fr)"
          },
          {
            "name": "FastAPI",
            "role": "API REST",
            "note": "couche Python reliant ASR, moteur RAG et restitution"
          }
        ]
      }
    ],
    "projects": [
      "Portail de gestion de collections d’œuvres assisté par IA (2026)",
      "Hackathon IA — chatbot vocal sur le Code législatif, Whisper / LightRAG / K8s GPU SPESYS (fév. 2025)",
      "Portail logiciel data science & IA pour data scientists (depuis 2023)",
      "Agents IA pour la chaîne comptable d’une TPE (en production)"
    ]
  },
  "trustOrgs": {
    "title": "Ils m’ont fait confiance",
    "items": [
      "Ministère des Finances — Bercy HUB & DGFIP",
      "Radio France",
      "Bibliothèque nationale de France",
      "INPI",
      "Naarea",
      "Sungard / Neoxam",
      "Enedis",
      "Fayat IT",
      "UCAD — Arts décoratifs"
    ]
  },
  "profile": {
    "paragraph": "Nationalité française — Paris. Référent technique sur des environnements critiques : lien entre production et développement, automatisation des livraisons, sécurisation et exploitation à grande échelle (centaines de VMs, supervision, stockage)."
  },
  "partners": {
    "title": "Partenariats",
    "intro": "En complément de mes missions en propre, je collabore régulièrement avec des partenaires pour répondre à des besoins plus larges (équipes pluridisciplinaires, infrastructures GPU, IA, etc.).",
    "items": [
      {
        "name": "SpeSYS Services",
        "url": "https://spesys-services.fr/",
        "tagline": "Cabinet d’experts en systèmes d’information",
        "description": "Collaboration régulière sur des sujets infrastructure, IA et data — notamment via leur cluster GPU Kubernetes (utilisé pendant le hackathon IA de février 2025) et leur gamme logicielle ReSItal (Data, Forge, Infra, Pilotage)."
      },
      {
        "name": "Cabinet RYC",
        "url": "mailto:cabinet.ryc@gmail.com",
        "linkLabel": "Contacter par e-mail",
        "tagline": "Aide aux entreprises au quotidien — depuis plus de 20 ans",
        "description": "Cabinet d’accompagnement des entreprises dans leur gestion quotidienne (administratif, précomptabilité). Collaboration de longue date sur le volet informatique et automatisation : postes Windows + serveurs Linux + Sage Coala, intégration de la chaîne comptable et premiers agents IA en production."
      }
    ]
  },
  "humanProfile": "Ingénieur curieux, posé et engagé : depuis vingt ans, je travaille au cœur des systèmes d’information critiques d’organismes français — Ministère des Finances, Radio France, BnF, INPI — en gardant le goût d’apprendre et d’expérimenter. J’aime être le point de rencontre entre la production et les équipes de développement, transmettre ce que j’ai compris, et rendre les systèmes plus fiables et plus sereins pour ceux qui les exploitent.",
  "languages": [
    {
      "name": "Français",
      "level": "Langue maternelle"
    },
    {
      "name": "Anglais",
      "level": "Professionnel — lecture, échanges projets internationaux (EPTOS, Sungard)"
    },
    {
      "name": "Lao",
      "level": "Origines familiales — notions"
    }
  ],
  "interests": [
    "Open source & auto-hébergement",
    "Art & gestion de collections muséales",
    "IA souveraine & inférence locale",
    "Hackathons & écosystème public (DINUM, Bercy HUB)",
    "Bénévolat tech (institut d’art Échirolles)",
    "Veille système, virtualisation et HPC"
  ],
  "softSkills": [
    {
      "title": "Autonomie & sens du résultat",
      "body": "Consultant indépendant, j’interviens en autonomie sur des sujets pointus, je sais cadrer mes priorités et livrer dans des contextes exigeants."
    },
    {
      "title": "Pédagogie & transmission",
      "body": "Référent technique transverse : j’aime accompagner les chefs de projet, expliquer le pourquoi, et laisser derrière moi des équipes plus solides qu’à mon arrivée."
    },
    {
      "title": "Diagnostic & investigation",
      "body": "À l’aise dans les situations bloquées que d’autres n’ont pas résolues — comme l’épisode SSSD à Radio France où trois ingénieurs s’étaient succédé avant que je débloque le sujet."
    },
    {
      "title": "Rigueur & sens du risque",
      "body": "Mises en production minutieusement préparées, plans de retour arrière systématiques. Je sais que dans un organisme de dépôt ou de service public, l’indisponibilité a un coût."
    },
    {
      "title": "Curiosité & adaptabilité",
      "body": "De la compilation de noyau Linux dans les années 2000 à l’inférence locale Mistral en 2026 — j’ai traversé toutes les ruptures techniques sans rester figé."
    },
    {
      "title": "Esprit d’équipe transverse",
      "body": "Le poste B2I à la BnF — la « colle » entre dev et prod — m’a appris à écouter, à arbitrer, à ne jamais opposer études et exploitation."
    }
  ],
  "downloads": {
    "title": "Documents à télécharger",
    "intro": "CV et présentations en HTML imprimable (PDF), plus les données brutes (JSON) et un profil texte structuré pour les ATS et les outils d’IA des recruteurs.",
    "items": [
      {
        "id": "cv-classique",
        "file": "cv/cv-classique.html",
        "kind": "CV",
        "title": "CV classique — 1 page",
        "audience": "Format français traditionnel",
        "description": "Le CV synthétique, dense, qui tient sur une page A4. À privilégier pour les candidatures classiques, les commerciaux ESN et les premiers contacts."
      },
      {
        "id": "cv-moderne",
        "file": "cv/cv-moderne.html",
        "kind": "CV",
        "title": "CV moderne — multi-pages",
        "audience": "Recruteurs IT & ESN",
        "description": "Format aéré sur plusieurs pages, présentation soignée et lisible. Idéal pour les recruteurs IT et les chasseurs de têtes qui veulent du détail."
      },
      {
        "id": "presentation-rh",
        "file": "cv/presentation-rh.html",
        "kind": "Présentation",
        "title": "Présentation RH — angle humain",
        "audience": "Recruteurs RH & talent acquisition",
        "description": "Mon profil sous l’angle humain : posture, soft skills, valeurs, engagements et parcours raconté. Sans jargon, pour un premier entretien."
      },
      {
        "id": "presentation-technique",
        "file": "cv/presentation-technique.html",
        "kind": "Présentation",
        "title": "Présentation technique — angle expertise",
        "audience": "CTO, DSI, leads techniques",
        "description": "Pile technique exhaustive, architectures déployées, diagnostics signature et référentiels. Pour qui veut juger l’expertise sur pièces."
      },
      {
        "id": "site-json",
        "file": "cv/site-data.json",
        "prettyView": "cv/pretty-json.html",
        "kind": "Données",
        "title": "Export JSON — site complet",
        "audience": "ATS, parsing, outils internes",
        "description": "Copie fidèle de data/site.json : même source que la vitrine et les CV générés. Idéal pour importer le profil dans un autre système ou pour un traitement automatisé."
      },
      {
        "id": "profil-ia-recruteurs",
        "file": "cv/profil-recruteurs-ia.md",
        "prettyView": "cv/pretty-md.html",
        "kind": "Profil texte",
        "title": "Profil Markdown — recruteurs & IA",
        "audience": "ATS, assistants IA, veille candidat",
        "description": "Version tout texte, titres et listes, métadonnées en en-tête : pensée pour être lue par des outils de matching et des LLM intégrés aux ATS."
      }
    ]
  },
  "earlyIt": {
    "title": "Premiers pas informatiques",
    "items": [
      {
        "period": "7 ans",
        "body": "Premier ordinateur : PC XT avec processeur 8088 à 8 MHz, 512 Ko de RAM, deux lecteurs de disquettes 5,25 pouces (360 Ko), clavier 84 touches, écran CGA, MS-DOS 2.21 ; aussi la découverte du langage Logo ; d’abord à la maison, notre premier logiciel de type base de données : un logiciel de généalogie familiale."
      },
      {
        "period": "8 ans",
        "body": "Bases de GW-BASIC ; MS-DOS et création de fichiers batch (.bat)."
      },
      {
        "period": "10 ans",
        "body": "Premier démontage d’un ordinateur, puis réinstallation complète en autonomie après effacement des données : formatage des disquettes, formatage des disques durs, configuration du CONFIG.SYS et de l’AUTOEXEC.BAT."
      },
      {
        "period": "11 ans",
        "body": "Initiation à la PAO (publication assistée par ordinateur), dans le cadre de cours à Paris."
      },
      {
        "period": "12 ans",
        "body": "Apprentissage de Turbo Pascal et premiers développements de jeux vidéo ; premiers pas en C."
      },
      {
        "period": "13 ans",
        "body": "Création d’un club informatique au collège ; première découverte d’Internet à l’université."
      },
      {
        "period": "14 ans",
        "body": "Deuxième ordinateur : 486 DX à 40 MHz, 4 Mo de RAM, lecteur de disquettes 3,5 pouces, disque dur 250 Mo, écran VGA ; machine sous MS-DOS 6.2 avec Windows 3.1."
      },
      {
        "period": "16 ans",
        "body": "Premières installations de Linux sur mes machines personnelles ; premières compilations de noyau ; partage de la connexion Internet via ipchains."
      },
      {
        "period": "17 ans",
        "body": "Premières LAN party."
      }
    ]
  },
  "techWatch": {
    "title": "Veille & curiosités tech",
    "intro": "Sélection de projets que je trouve marquants pour comprendre où va l’écosystème système, virtualisation et navigateur. Bonne illustration des frontières actuelles entre Linux, low-level et WebAssembly.",
    "items": [
      {
        "name": "Linux/Wasm",
        "url": "https://joelseverin.github.io/linux-wasm/",
        "tag": "Noyau Linux · WebAssembly",
        "description": "Le noyau Linux qui démarre directement dans le navigateur via WebAssembly : BusyBox + musl, terminal Xterm.js. Une preuve de concept passionnante pour qui s’intéresse au scheduling, aux primitives système et aux limites du sandbox JS moderne (pas de MMU, suspension de tâches émulée via Web Workers, etc.)."
      },
      {
        "name": "DOS Wasm X",
        "url": "https://github.com/nbarkhina/DosWasmX",
        "tag": "Émulation · WebAssembly",
        "description": "Émulateur DOS / Windows 95-98 dans le navigateur, basé sur DOSBox-X compilé en WebAssembly via Emscripten. Disque dur sauvegardable côté navigateur, gestion ISO/IMG/CD, support gamepad — démo très convaincante de ce que permet aujourd’hui un Wasm avec exceptions et asyncify."
      }
    ]
  },
  "wasmLab": {
    "title": "Lab Wasm — archives « parcours » & démos navigateur",
    "intro": "Choisissez un onglet : les deux démos sont servies depuis ce site (DOS et Linux Wasm), avec les en-têtes adaptés pour le navigateur. Les téléchargements plus bas restent optionnels.",
    "embedDemoTitle": "Démonstrations interactives",
    "embedDemoIntro": "Onglet DOS : premier chargement souvent 15 à 60 s (Wasm + archive), puis START.BAT s’exécute tout seul. Onglet Linux : émulateur x86 v86 qui boote un vrai noyau Linux + BusyBox (~7 Mo au premier passage).",
    "dosEmbedUrl": "/wasm-lab/deploy/index.html",
    "linuxDemoUrl": "/wasm-lab/v86-linux/index.html?v=persist-1",
    "linuxTabIntro": "Émulateur x86 v86 (BSD-2) qui exécute un vrai noyau Linux + BusyBox — pas de patches kernel, pas de bug vfork, comportement Linux standard.",
    "linuxTabFooter": "Premier boot : ~5 s de téléchargement + ~5 s de boot kernel. Le terminal accepte les commandes Unix classiques (ls, vi, top, htop si présent, etc.).",
    "dosSectionTitle": "Paquets DOS (optionnels)",
    "dosSectionIntro": "Quatre archives ZIP (dont une tout-en-un déjà utilisée par la démo intégrée). ASCII pour compatibilité CP437 ; les trois premières sont des découpages thématiques.",
    "linuxSectionTitle": "Overlay Linux",
    "linuxSectionIntro": "Archive tar.gz : arborescence texte à copier ou monter dans un Linux de démo — ce n’est pas une image disque bootable seule.",
    "sourcesSectionTitle": "Sources & déploiement",
    "sourcesSectionIntro": "Téléchargement des dépôts, build Emscripten et publication sous /wasm-lab/ : détaillé dans wasm-lab/BUILD.md. Script : npm run wasm:fetch.",
    "dosPacks": [
      {
        "id": "premiers-pas",
        "file": "wasm-lab/images/dos/dos-pack-01-premiers-pas.zip",
        "label": "Premiers pas informatiques",
        "hint": "EARLY01.TXT … jalons enfance / adolescence"
      },
      {
        "id": "organisations",
        "file": "wasm-lab/images/dos/dos-pack-02-organisations.zip",
        "label": "Organismes & chiffres clés",
        "hint": "ORGS.TXT, STATS.TXT"
      },
      {
        "id": "experiences",
        "file": "wasm-lab/images/dos/dos-pack-03-experiences.zip",
        "label": "Expériences professionnelles",
        "hint": "Un fichier TXT par mission"
      },
      {
        "id": "demo-complet",
        "file": "wasm-lab/images/dos/oulom.zip",
        "label": "Archive tout-en-un (celle de la démo auto)",
        "hint": "EARLY*, ORGS, STATS, XP* — même contenu que la démo intégrée"
      }
    ],
    "linuxPacks": [
      {
        "id": "parcours-overlay",
        "file": "wasm-lab/images/linux/oulom-parcours-overlay.tar.gz",
        "label": "Overlay parcours Oulom",
        "hint": "oulom-parcours/{early,trust,xp}/"
      }
    ],
    "demoLinks": [
      {
        "label": "Dos Wasm X — démo en ligne",
        "url": "https://www.neilb.net/doswasmx/",
        "tag": "DOS · Wasm"
      },
      {
        "label": "Linux Wasm — démo Joel Severin",
        "url": "https://joelseverin.github.io/linux-wasm/",
        "tag": "Linux · Wasm"
      }
    ],
    "selfHostPaths": {
      "dosEmulator": "/wasm-lab/deploy/",
      "note": "Après npm run wasm:fetch, les fichiers de l’émulateur sont sous wasm-lab/deploy/ (index.html à la racine). À pousser tel quel sur le serveur, sous la même arborescence."
    }
  },
  "personalProjects": {
    "intro": "En parallèle des missions :",
    "items": [
      {
        "sortOrder": 1,
        "year": "2026",
        "title": "Portail collections d’œuvres & IA",
        "html": true,
        "body": "<p>En <strong>2026</strong>, <strong>pilotage</strong> de la création d’un <strong>portail web</strong> pour la <strong>gestion de collections</strong> d’œuvres d’art, avec <strong>assistance par intelligence artificielle</strong>.</p>"
      },
      {
        "sortOrder": 2,
        "year": "Fév. 2025",
        "title": "Hackathon IA — chatbot vocal & Code législatif",
        "html": true,
        "expandBody": true,
        "body": "<p>En <strong>février 2025</strong>, participation à un <strong>hackathon dédié à l’intelligence artificielle</strong> : notre équipe a développé un <strong>chatbot vocal</strong> capable d’extraire et de restituer rapidement des informations issues du <strong>Code législatif français</strong>. Objectif : <strong>simplifier l’accès au droit</strong> grâce à la reconnaissance et à la synthèse vocales.</p><p><strong>Sources légales</strong> — les textes de référence provenaient de <a href=\"https://git.tricoteuses.fr\" target=\"_blank\" rel=\"noopener noreferrer\">git.tricoteuses.fr</a>, constituant une base législative complète.</p><p><strong>Technologies</strong> — <strong>Whisper</strong> (conversion voix → texte), <strong>LightRAG</strong> (<a href=\"https://github.com/HKUDS/LightRAG\" target=\"_blank\" rel=\"noopener noreferrer\">RAG contextualisé sur GitHub</a>), scripts <strong>shell</strong> pour nettoyer et formater les jeux de données, <strong>Python</strong> &amp; <strong>FastAPI</strong> pour exposer les services web, préparation des datasets sur poste de développement (Mac mini, 24&nbsp;Go RAM).</p><p><strong>Infrastructure</strong> — déploiement des LLM sur le <strong>cluster Kubernetes GPU</strong> de <strong>SPESYS Services</strong>, avec accès GPU pour des performances adaptées au temps court du hackathon.</p><p><strong>Mon rôle</strong> — préparation des datasets : extraction, structuration et normalisation des textes législatifs ; création d’<strong>API primitives</strong> Python/FastAPI reliant la couche de reconnaissance vocale, le module RAG et la restitution.</p><p><strong>Collaboration</strong> — hackathon sur <strong>deux jours</strong>, avec échanges avec la <strong>DINUM</strong>, l’équipe <strong>Bercy HUB</strong> autour du projet <strong>Onyxia (Nubonyxia)</strong>, et d’autres acteurs publics (Ministère de l’Économie, Ministère de la Justice, etc.).</p><p><strong>Remerciements</strong> — <strong>Stéphane Baisse</strong> et les équipes <strong>SPESYS</strong> (<strong>Thomas Williot</strong>, <strong>Gérald Moreno</strong>) pour l’accès à l’infra et l’accompagnement.</p><p><strong>Innovation</strong> — accessibilité (questions à voix haute), rapidité grâce au GPU, impact social pour professionnels et grand public.</p>"
      },
      {
        "sortOrder": 3,
        "year": "Depuis 2023",
        "title": "Portail logiciel — data science & IA",
        "html": true,
        "body": "<p>Depuis <strong>2023</strong>, développement d’un <strong>portail logiciel</strong> à destination des <strong>data scientists</strong>, orienté <strong>data science</strong> et <strong>IA</strong>.</p>"
      },
      {
        "sortOrder": 4,
        "year": "2022",
        "title": "Institut d’art — Échirolles (bénévolat)",
        "html": true,
        "body": "<p>En <strong>2022</strong>, participation <strong>bénévole</strong> à la création d’un <strong>institut d’art</strong> à <strong>Échirolles</strong>, en tant qu’<strong>expert informatique</strong> (conseil et mise en place du socle numérique).</p>"
      },
      {
        "sortOrder": 5,
        "year": "2020",
        "title": "Sites vitrine WordPress",
        "html": true,
        "body": "<p>En <strong>2020</strong>, création de <strong>sites internet</strong> sous <strong>WordPress</strong>, avec <strong>Elementor</strong>, pour des <strong>petits entrepreneurs</strong>.</p>"
      },
      {
        "sortOrder": 6,
        "year": "Vers 2019",
        "title": "Le Signe — gestion de collections (Chaumont)",
        "html": true,
        "body": "<p><strong>Le Signe</strong> — logiciel de <strong>gestion de collections</strong> d’œuvres d’art : <strong>Groovy</strong> (backend), <strong>JavaScript</strong> et <strong>React</strong> (frontend). Expérimenté et développé vers <strong>2019</strong> dans le cadre du <strong>récolement</strong> des collections à <a href=\"https://www.le-signe.fr/\" target=\"_blank\" rel=\"noopener noreferrer\">Le Signe</a>, <strong>centre national du graphisme</strong> à <strong>Chaumont</strong>.</p>"
      },
      {
        "sortOrder": 7,
        "year": "2013",
        "title": "Correction automatique de QCM — AMC",
        "html": true,
        "body": "<p>En <strong>2013</strong>, conception d’une solution de <strong>correction automatique de QCM</strong> bâtie sur le logiciel libre <a href=\"https://www.auto-multiple-choice.net/fr/\" target=\"_blank\" rel=\"noopener noreferrer\">Auto Multiple Choice (AMC)</a> : génération de <strong>questionnaires uniques</strong> à chaque session d’examen (questions et réponses <strong>dans un ordre différent</strong> d’un exemplaire à l’autre), <strong>code-barres unique</strong> par copie papier imprimée, puis <strong>numérisation</strong>, <strong>reconnaissance automatique</strong> des réponses (OMR) et <strong>correction automatique</strong>.</p>"
      }
    ]
  },
  "contact": {
    "lead": "Pour un échange sur une mission ou un besoin d'expertise Linux / intégration.",
    "email": "ouloms@gmail.com",
    "phoneDisplay": "+33 6 18 67 96 00",
    "phoneTel": "+33618679600",
    "address": "142 avenue de Saint-Ouen, 75018 Paris",
    "website": "https://oulom-souvannavong.fr/",
    "websiteDisplay": "oulom-souvannavong.fr",
    "social": [
      {
        "id": "facebook",
        "label": "Facebook",
        "href": "https://www.facebook.com/oulom.souvannavong"
      },
      {
        "id": "linkedin",
        "label": "LinkedIn",
        "href": "https://www.linkedin.com/in/oulom-souvannavong/"
      },
      {
        "id": "whatsapp",
        "label": "WhatsApp",
        "href": "https://wa.me/33618679600"
      },
      {
        "id": "telegram",
        "label": "Telegram",
        "href": "https://t.me/+33618679600"
      }
    ]
  },
  "skillsIntro": "Synthèse alignée sur le parcours : exploitation Linux/Unix sur service public, finance, presse et énergie ; virtualisation (VMware à Proxmox), clouds privés OpenStack/NUBO, Kubernetes & Helm (Onyxia, conformité sectorielle publique), HPC Slurm/Apptainer ; automatisation Ansible, Terraform, GitLab, Salt ; durcissement ANSSI, MCS et Cyberwatch ; agents IA et chaînes documentaires en production.",
  "skills": [
    {
      "title": "Systèmes & réseau",
      "icon": "server",
      "level": 3,
      "text": "Linux Red Hat/CentOS, Debian/Ubuntu, SUSE en production (niveau 3) ; intégration Active Directory / LDAP / SSSD (Radio France, Naarea) ; boot PXE / Preseed, LTSP pour postes légers (UCAD) ; DNS BIND, pare-feu iptables ; compilation et allègement de noyau (parc recyclé). Unix AIX, Solaris, HP-UX (migrations INPI, Sungard GP3). Windows et Samba en contextes mixtes (TPE, musée)."
    },
    {
      "title": "Supervision & observabilité",
      "icon": "chart",
      "level": 3,
      "text": "Centreon, Grafana, Prometheus ; trajectoire Nagios → Centreon → Prometheus (INPI, Naarea). Graylog, Elastic Stack pour journaux et corrélation. Métrologie JMX (Tomcat/Java). Tableaux de bord technico-fonctionnels d’exploitation."
    },
    {
      "title": "Stockage, SAN & PRA",
      "icon": "disk",
      "level": 3,
      "text": "SAN HP 3PAR, iSCSI, Fibre Channel, NFS ; Ceph, stockage objet S3 / MinIO ; MySQL Galera + ProxySQL. PRA / PRI VMware Site Recovery Manager, réplication inter-datacenters et migrations de salles (INPI). Sauvegardes : Bacula, BackupPC, NetBackup, Veeam."
    },
    {
      "title": "Virtualisation, cloud & Kubernetes",
      "icon": "cloud",
      "level": 3,
      "text": "VMware vSphere (4.0→6.0), oVirt / KVM (migration et exploitation, INPI), Proxmox, Hyper-V ; OpenStack (NUBO, ministère). Kubernetes & Helm (Onyxia / Nubonyxia). Docker ; Apptainer ; premiers clusters via Rancher / RancherOS (INPI). PRA inter-DC avec VMware SRM."
    },
    {
      "title": "Bases de données & middleware",
      "icon": "db",
      "level": 2,
      "text": "MySQL / MariaDB, PostgreSQL, Oracle (exploitation), MongoDB, MaxDB. Stacks Tomcat / Java, Apache NiFi, CMDBuild (RADAR DGFIP). Intégrations PHP, Node, Heurist (SHS BnF). Ext JS (IHM métier)."
    },
    {
      "title": "Automatisation & CI/CD",
      "icon": "gear",
      "level": 3,
      "text": "Ansible (Tower), Terraform (VM OpenStack), Puppet, SaltStack ; Git, Jenkins, GitLab CI, chaînes release Bercy/BnF/INPI ; Rundeck → Ansible Tower (Radio France). Dollar Universe (ordonnancement). Bamboo / SVN (époque Sungard)."
    },
    {
      "title": "Développement, scripting & IA",
      "icon": "code",
      "level": 3,
      "text": "Bash/shell, Python, JavaScript/React, Go, Ext JS ; Django, PHP, VBA/AutoIt. Projets récents : FastAPI, RAG, Whisper. En production : agents n8n, API Claude, inférence locale Ollama / Mistral (TPE), scripts d’exploitation et Selenium (checks prod)."
    },
    {
      "title": "HPC & sécurité opérationnelle",
      "icon": "stack",
      "level": 2,
      "text": "Slurm, InfiniBand, Apptainer (MPI, charges scientifiques), plateformes Lenovo ; zones réseau protégées, LDAP dédié (Naarea). Masters Linux durcis selon guides ANSSI, MCS. Cyberwatch (lancement INPI, conseil Radio France)."
    }
  ],
  "education": [
    {
      "year": "2004",
      "institution": "EPSI Paris",
      "detail": "Bac+5 — Expert en système d'information"
    }
  ],
  "educationExtraTitle": "Parcours & diplômes (extraits)",
  "educationExtra": [
    "Parcours type : Bac — BTS — cursus EPSI (LIS, DGC…) — Master / expertise SI.",
    "Stages ingénieur : ISTA, STMI, METO X SILICIO, LFB, LIS, DGC (1999–2005). À compléter dans index.html ou dans ce JSON puis npm run build."
  ],
  "internships": [
    {
      "years": "1999",
      "employer": "ISTA",
      "context": "Fournisseur de matériel informatique",
      "role": "Intérimaire chaîne de montage PC"
    },
    {
      "years": "2000–2001",
      "employer": "STMI",
      "context": "Filiale COGEMA",
      "role": "Stagiaire support micro"
    },
    {
      "years": "2001",
      "employer": "METO X SILICIO",
      "context": "Infographie",
      "role": "Stagiaire support micro"
    },
    {
      "years": "2002",
      "employer": "LFB",
      "context": "Laboratoire pharmaceutique",
      "role": "Stagiaire support micro"
    },
    {
      "years": "2003",
      "employer": "LIS",
      "context": "Fournisseur d'accès Internet (Laos)",
      "role": "Stagiaire ingénieur"
    },
    {
      "years": "2004",
      "employer": "DGC",
      "context": "Centre de formation",
      "role": "Stagiaire ingénieur"
    },
    {
      "years": "2005",
      "employer": "DGC",
      "context": "Centre de formation",
      "role": "Stagiaire ingénieur"
    }
  ],
  "experience": [
    {
      "sortOrder": 1,
      "period": "Fév. 2025 — Fév. 2026",
      "location": "Paris Bercy / Noisy-le-Grand",
      "role": "Consultant indépendant expert Linux",
      "organization": "Ministère des Finances — Bercy HUB & DGFIP",
      "highlights": [
        {
          "tag": "Onyxia · Insee",
          "title": "Plateforme datalab souveraine de l’État",
          "body": "Onyxia est le portail open source de datalab développé par l’Insee, désormais utilisé par toute l’administration française pour donner aux data scientists un environnement Kubernetes auto-servi. Y contribuer, c’est travailler sur une brique de la souveraineté numérique de l’État."
        },
        {
          "tag": "Hackathon IA · fév. 2025",
          "title": "Chatbot vocal & Code législatif",
          "body": "Hackathon IA sur deux jours : équipe avec Whisper, LightRAG et FastAPI pour un assistant vocal sur les textes issus de git.tricoteuses.fr ; datasets préparés et APIs reliant ASR, RAG et synthèse. Infra GPU Kubernetes SPESYS ; rencontres DINUM, Bercy HUB / Onyxia (Nubonyxia). Remerciements à Stéphane Baisse, Thomas Williot et Gérald Moreno (SPESYS)."
        },
        {
          "tag": "Helm · Kubernetes",
          "title": "Catalogue de charts conformes",
          "body": "Adapter des charts Helm pour qu’ils soient lançables depuis le portail Onyxia tout en respectant les exigences de conformité Bercy : un exercice rare qui mêle packaging Kubernetes, sécurité et UX d’un catalogue d’applications."
        },
        {
          "tag": "Terraform · OpenStack",
          "title": "IaC sur cloud privé NUBO",
          "body": "Maintien et durcissement du code Ansible et Terraform pour provisionner les VM sous OpenStack (NUBO, le cloud interne du ministère) — chaîne IaC bout-en-bout dans un environnement souverain."
        },
        {
          "tag": "CMDBuild · NiFi",
          "title": "Référentiel d’inventaire DGFIP — RADAR",
          "body": "Stabilisation et upgrade de RADAR, le référentiel qui agrège les inventaires de tout le SI de la DGFIP. CMDBuild + Apache NiFi sur Tomcat/PostgreSQL : peu d’ingés en France ont touché à cette stack en production critique."
        }
      ],
      "sections": [
        {
          "title": "Deux entités",
          "html": true,
          "body": "<p>Missions auprès d’<strong>au moins deux entités</strong> du ministère : <strong>Bercy HUB</strong> pour le projet <strong>Nubonyxia</strong>, puis la <strong>DGFIP</strong> (impôts) pour le projet <strong>RADAR</strong>.</p>"
        },
        {
          "title": "Bercy HUB — projet Nubonyxia",
          "html": true,
          "body": "<p>Le projet <strong>Nubonyxia</strong> repose sur la mise à disposition du logiciel <strong>Onyxia</strong> — issu de l’<strong>Insee</strong> et du travail des équipes <strong>Bercy</strong>. <strong>Onyxia</strong> s’installe sur un <strong>cluster Kubernetes</strong> et déploie les charges sous forme de <strong>pods</strong> via des <strong>charts Helm</strong>. L’offre est portée sur le <strong>socle d’hébergement</strong> retenu (<strong>Bercy HUB</strong> / <strong>NUBO</strong>), d’où le nom du projet (lien <strong>Nubo</strong> / <strong>Onyxia</strong>).</p><p>Rôle : participation au <strong>MCO</strong> d’une installation déjà en production et mise en place de <strong>services supplémentaires</strong>. Dans la pratique : adaptation des <strong>charts Helm</strong> pour qu’ils puissent être <strong>lancés depuis le portail Onyxia</strong> — transformation des paquets « à la <strong>sauce Onyxia</strong> » pour respecter le modèle du catalogue et les exigences de <strong>conformité</strong>.</p><p>Une <strong>chaîne d’automatisation</strong> existait déjà pour faire circuler les livrables du <strong>développement</strong> jusqu’à la <strong>mise à disposition des utilisateurs</strong>. J’assurais notamment le <strong>bon fonctionnement</strong> de cette <strong>chaîne d’intégration continue</strong>, avec de nombreux sujets à traiter sur <strong>l’authentification</strong> et la <strong>sécurité</strong>.</p><p>Une des grosses difficultés : <strong>cartographier</strong> l’ensemble des <strong>composants et flux</strong> à rendre visibles et maîtrisables — le périmètre était difficile à cadrer alors que l’<strong>authentification</strong> posait de nombreux problèmes et que les <strong>chaînes d’intégration continue</strong> restaient <strong>peu stables</strong>.</p>"
        },
        {
          "title": "DGFIP — projet RADAR",
          "html": true,
          "body": "<p><strong>Objectif du projet RADAR</strong> : disposer d’un <strong>référentiel</strong> qui <strong>agrège plusieurs sources d’inventaire</strong> afin de <strong>réaliser l’état des lieux</strong> des <strong>versions</strong> des <strong>composants structurants</strong> du <strong>système d’information</strong> (visibilité sur le parc et ce qui est effectivement en production).</p><p>Poste d’<strong>intégrateur applicatif DevOps</strong> sur ce périmètre : chaîne d’outillage <strong>Ansible</strong>, <strong>Nexus</strong>, <strong>Jenkins</strong>, <strong>GitLab</strong>, avec services notamment <strong>CMDBUILD</strong> et <strong>Apache NiFi</strong>, complétés par <strong>Tomcat</strong>, <strong>PostgreSQL</strong>, socle <strong>Linux</strong> sur <strong>NUBO</strong> / <strong>OpenStack</strong>. Pour le <strong>déploiement</strong>, le projet s’appuie en particulier sur <strong>Jenkins</strong> et <strong>Ansible</strong>.</p><p>À <strong>notre arrivée</strong>, la plateforme présentait <strong>de nombreux dysfonctionnements</strong>. Mon rôle a surtout consisté à <strong>stabiliser</strong> ce qui avait déjà été livré — dont la <strong>rédaction et la maintenance</strong> du code <strong>Ansible</strong> et <strong>Terraform</strong> pour la <strong>création des machines virtuelles</strong> sous <strong>OpenStack</strong> — puis à <strong>piloter la montée en version</strong> de l’ensemble des composants RADAR — dont le passage de <strong>CMDBUILD</strong> à la <strong>dernière version</strong> disponible (alignement avec la chaîne d’intégration et les dépendances).</p><p>En l’absence de <strong>développeur JavaScript</strong> dédié, participation à la <strong>maintenance</strong> et à l’<strong>évolution de l’IHM</strong> RADAR, réalisée avec le framework <strong>Ext JS</strong>.</p>"
        }
      ]
    },
    {
      "sortOrder": 2,
      "period": "Jan. 2024 — Jan. 2025",
      "location": "Nanterre",
      "role": "MCO plateforme HPC",
      "organization": "Naarea — énergie (petits réacteurs modulaires)",
      "highlights": [
        {
          "tag": "Slurm · InfiniBand",
          "title": "HPC pour la simulation nucléaire (SMR)",
          "body": "Cluster Slurm sur 10 nœuds Lenovo interconnectés en InfiniBand — la pile de référence des supercalculateurs (Top500). Déployer ça pour simuler des petits réacteurs modulaires, c’est intervenir sur la chaîne logicielle d’un secteur stratégique."
        },
        {
          "tag": "Apptainer (Singularity)",
          "title": "Conteneurs HPC compatibles MPI",
          "body": "Migration de Docker vers Apptainer pour les charges HPC : Apptainer est le standard conteneur du calcul scientifique (MPI, GPU, multi-utilisateur sans privilèges). Une compétence rare hors des centres de calcul nationaux."
        },
        {
          "tag": "ANSSI",
          "title": "Master Linux durci selon le référentiel d’État",
          "body": "Conception d’un master Linux aligné sur les guides de l’ANSSI (Agence nationale de sécurité des systèmes d’information). Référentiel exigé pour tout SI sensible, et pertinent dans la filière nucléaire."
        },
        {
          "tag": "SaltStack",
          "title": "Orchestration multi-nœuds en zone protégée",
          "body": "Configuration de l’ensemble de la plateforme avec Salt — alternative à Ansible plus rare mais redoutable à grande échelle, dans une zone réseau protégée avec LDAP, SMTP et auth dédiés."
        }
      ],
      "sections": [
        {
          "title": "Contexte",
          "html": true,
          "body": "<p>Startup dans la filière <strong>petits réacteurs nucléaires modulaires</strong> (SMR) ; système d’information majoritairement sous <strong>Windows</strong>, avec décision d’investir dans une <strong>plateforme HPC</strong> pour la simulation et le calcul scientifique.</p>"
        },
        {
          "title": "Zone protégée — annuaire, auth et messagerie",
          "html": true,
          "body": "<p>L’ensemble du parc <strong>Linux</strong> était situé dans une <strong>zone réseau protégée</strong>. Il fallait donc des <strong>infrastructures dédiées</strong> sur ce périmètre : un annuaire <strong>LDAP</strong>, un mécanisme d’<strong>authentification</strong> propre à la zone, et un <strong>relais SMTP</strong> pour la messagerie des services concernés.</p>"
        },
        {
          "title": "Master Linux — préconisations ANSSI",
          "html": true,
          "body": "<p>À <strong>Naarea</strong>, élaboration d’un <strong>master Linux</strong> pour déployer un socle homogène et durable : capitalisation sur mon <strong>expérience</strong> et alignement sur les <strong>guides et préconisations</strong> de l’<a href=\"https://www.ssi.gouv.fr/\" target=\"_blank\" rel=\"noopener noreferrer\">ANSSI</a> (durcissement, bonnes pratiques).</p>"
        },
        {
          "title": "Plateforme Lenovo — cluster Slurm",
          "html": true,
          "body": "<p>Infrastructure <strong>Lenovo</strong> : <strong>10 nœuds de calcul</strong>, <strong>4 machines de développement</strong>, <strong>3 machines sous Proxmox</strong> pour l’hébergement de VMs. <strong>NAS</strong> avec partages <strong>NFS</strong> pour les données partagées exploitées par le cluster <strong>Slurm</strong>. Réseau <strong>InfiniBand</strong>. Configuration de l’ensemble avec <strong>Salt</strong> (SaltStack).</p><p>Observabilité et exploitation : Grafana, Prometheus, Centreon ; OpenMP, MPI, Python, Bash ; Helm selon les besoins.</p>"
        },
        {
          "title": "Mission — Slurm, Proxmox et support Linux",
          "html": true,
          "body": "<p>Exploitation du <strong>cluster Slurm</strong> et de l’infrastructure <strong>Proxmox</strong> (virtualisation, hébergement des machines virtuelles). Rôle <strong>multi-casquette</strong> sur les besoins nécessitant un <strong>Linux</strong> : intégration des <strong>codes de calcul</strong> avec les <strong>bibliothèques scientifiques</strong> (MPI, pile logicielle HPC) ; chaînes d’<strong>intégration continue</strong> avec <strong>GitLab</strong> ; conteneurs — démarrage sous <strong>Docker</strong>, puis usage d’<strong>Apptainer</strong> (Singularity) pour les charges compatibles avec le calcul haute performance.</p>"
        }
      ]
    },
    {
      "sortOrder": 3,
      "period": "2022 — 2023",
      "location": "Paris / Maison de la radio",
      "role": "Expert Linux — projet infrastructure",
      "organization": "Radio France",
      "highlights": [
        {
          "tag": "SSSD · Active Directory",
          "title": "Trois ingés avant moi avaient échoué",
          "body": "Diagnostic et résolution du blocage SSSD (intégration Linux/AD) qui paralysait l’arrivée de nouveaux serveurs Linux dans le SI métier de la radio publique — après l’échec de trois prédécesseurs. Un cas d’expertise pure."
        },
        {
          "tag": "Master Debian · PXE",
          "title": "Socle Linux durable dans un domaine AD",
          "body": "Création du master Linux (Debian/Ubuntu) installable en Preseed/PXE, joint au domaine AD, durci ANSSI — pensé pour le MCO et le MCS (maintien en conditions de sécurité) sur la durée, pas seulement pour passer la recette."
        },
        {
          "tag": "Cyberwatch",
          "title": "Conseil sur l’installation pour Linux",
          "body": "Réinvestissement direct de l’expérience INPI (où j’avais lancé le projet Cyberwatch) pour conseiller Radio France : gestion des vulnérabilités et conformité sur le parc Linux du diffuseur public."
        },
        {
          "tag": "Ansible Tower",
          "title": "Orchestration projet OnAir",
          "body": "Migration d’une partie du SI métier radio vers Linux dans le cadre du projet OnAir : playbooks et rôles Ansible, passage de Rundeck à Ansible Tower pour industrialiser."
        }
      ],
      "sections": [
        {
          "title": "Projet OnAir",
          "body": "Recrutement dans le cadre du projet OnAir : migration d’une partie du système d’information métier radio vers un socle logiciel Linux, alors que l’existant reposait jusqu’alors essentiellement sur Windows."
        },
        {
          "title": "Linux, Active Directory et SSSD",
          "body": "Avant mon arrivée, trois ingénieurs Linux s’étaient succédé pour tenter de débloquer la situation. Point critique : l’authentification et l’accrochage des nouveaux serveurs Linux au réseau Microsoft (Active Directory), via SSSD. Comportement observé : lenteurs importantes ou absence de réponse — et aucune équipe n’arrivait à en comprendre la cause. Diagnostic et corrections sur la chaîne d’intégration Linux / AD (SSSD) ayant permis de résoudre ces incidents bloquants."
        },
        {
          "title": "Mission — expertise Linux",
          "body": "Embauché en tant qu’expert Linux pour soutenir l’équipe projet infrastructure sur les dossiers Linux — dont la création d’un master Linux (Debian/Ubuntu) dans un domaine AD (Preseed/PXE), le durcissement des installations, et la participation au support de niveau 3. Assistance expert aux projets applicatifs Linux ; microservices ; automatisation Bash/Ansible. Formations Azure et Kubernetes."
        },
        {
          "title": "Stack technique — VMware, PXE, Ansible",
          "html": true,
          "body": "<p>L’ensemble du périmètre était <strong>hébergé sur VMware</strong>. Les environnements de développement reposaient sur des machines <strong>démarrées en PXE</strong> (boot réseau). Pour la personnalisation et le déploiement : <strong>playbooks et rôles Ansible</strong>, avec <strong>Rundeck</strong> puis <strong>Ansible Tower</strong> (évolution de la chaîne d’orchestration / d’automatisation).</p>"
        },
        {
          "title": "Master Linux — MCO, MCS et ANSSI",
          "html": true,
          "body": "<p><strong>Côté Radio France</strong>, en complément des <strong>seules spécifications techniques</strong> pour la <strong>création du master Linux</strong>, j’ai pu investir du temps sur un cadrage pensé pour la durée : pour le <strong>MCO</strong> (maintien en conditions opérationnelles), en m’appuyant sur mon <strong>expérience professionnelle</strong> d’exploitation ; pour le <strong>MCS</strong> (maintien en conditions de sécurité), en nous inspirant du <strong>référentiel de l’<a href=\"https://www.ssi.gouv.fr/\" target=\"_blank\" rel=\"noopener noreferrer\">ANSSI</a></strong>.</p>"
        },
        {
          "title": "Conseil — Cyberwatch",
          "html": true,
          "body": "<p>En <strong>réinvestissant l’expérience acquise à l’INPI</strong> sur <a href=\"https://www.cyberwatch.com/\" target=\"_blank\" rel=\"noopener noreferrer\">Cyberwatch</a>, <strong>j’ai conseillé Radio France</strong> sur <strong>l’installation</strong> de la plateforme (vulnérabilités, conformité) pour <strong>les environnements Linux</strong>.</p>"
        }
      ]
    },
    {
      "sortOrder": 4,
      "period": "2019 — 2022",
      "location": "Paris",
      "role": "Ingénieur intégrateur",
      "organization": "Bibliothèque nationale de France (~3000 agents)",
      "highlights": [
        {
          "tag": "Catalogue général · Réservations",
          "title": "Au cœur du fonctionnement de la BnF",
          "body": "Portefeuille intégrateur sur les briques les plus stratégiques de l’institution : le catalogue général (plan documentaire) et le système de réservation (livres et salles) — l’épine dorsale du service au public."
        },
        {
          "tag": "Heurist · SHS",
          "title": "Recherche en sciences humaines",
          "body": "Intégration de la plateforme open source Heurist (HeuristNetwork) — outil reconnu de gestion de données de recherche en sciences humaines (PHP/JS/MySQL). Une brique peu connue mais utilisée mondialement par les chercheurs en SHS."
        },
        {
          "tag": "NFC · Vivaticket · Zebra",
          "title": "Service public physique : accès, billetterie, caisses",
          "body": "Responsabilité du SI service public : contrôle d’accès NFC sur portiques, postes de caisse Vivaticket, imprimantes Zebra. La rare combinaison « ingé Linux » + « infrastructure physique du service public »."
        },
        {
          "tag": "Podman · Ansible · Sonar",
          "title": "Bureau B2I — colle entre dev et prod",
          "body": "Au sein du bureau B2I (10 personnes pour tout le portefeuille applicatif), conduite des releases : revue de commits, fusions Git, packs d’installation, intégration continue Jenkins, qualité Sonar, conteneurs Podman."
        }
      ],
      "sections": [
        {
          "title": "Bureau B2I — ingénierie et intégration",
          "body": "Le bureau B2I (ingénierie et intégration) faisait le lien entre les équipes de production et d’exploitation et les équipes recherche & développement / études — en somme la colle entre développement et prod. Petite équipe d’une dizaine de personnes répartissant l’ensemble du portefeuille applicatif de l’institution. Profils volontairement polyvalents : il fallait cumuler le savoir-faire exploitation / production et celui des études et du développement, et pouvoir intervenir sur tout le spectre sans cloisonnement."
        },
        {
          "title": "Agile, Redmine et double casquette",
          "body": "Travail en mode agile ; suivi des tâches de développement dans Redmine. Accompagnement de chaque projet : côté études et développement, référents techniques ; côté production, intégrateurs."
        },
        {
          "title": "Portefeuille métier",
          "body": "Portefeuille orienté métiers : bibliographie et service public. Parmi les logiciels majeurs : le catalogue général, outil central du plan documentaire de la bibliothèque ; à égalité d’importance stratégique, le système de réservation — réservation des livres et réservation des salles — au cœur du fonctionnement de la BnF. Service public : billetterie, caisses, etc."
        },
        {
          "title": "SI service public — accès NFC et billetterie",
          "body": "Responsabilité du système d’information du service public : contrôle d’accès fondé sur des cartes NFC et la gestion des droits (accès aux salles, portes et portiques avec lecteurs de badge). Côté billetterie, solution Vivaticket et postes de caisse associés : chaque caisse regroupait un ordinateur avec le logiciel de vente, un écran tactile et une imprimante Zebra pour l’impression des billets et étiquettes."
        },
        {
          "title": "Projet — intégration Heurist (Heurist Network)",
          "html": true,
          "body": "<p>Projet d’intégration du logiciel <strong>Heurist</strong> (<a href=\"https://github.com/HeuristNetwork/heurist\" target=\"_blank\" rel=\"noopener noreferrer\">HeuristNetwork/heurist sur GitHub</a>) : plateforme web open source de gestion de données de recherche en sciences humaines (PHP, JavaScript, MySQL).</p>"
        },
        {
          "title": "Reprise de poste et périmètre hérité",
          "body": "L’un des objectifs du rôle : reprendre le travail de mon prédécesseur, qui avait notamment conduit beaucoup de développements ou d’intégrations spécifiques par rapport aux normes existantes ou, plus largement, par rapport à l’état de l’art."
        },
        {
          "title": "Préparation des livraisons et automatisation",
          "body": "Une des principales difficultés : en amont de chaque livraison, revue des commits des développeurs, arbitrage de ce qui doit entrer dans la bonne version (périmètre de la release), fusions sur les branches Git, puis préparation des releases — pilotage de l’historique et des branches, pas seulement la structure des répertoires. Objectif : automatiser une grande partie de cette préparation pour fiabiliser et accélérer le cycle."
        },
        {
          "title": "Livrables, production et outillage",
          "body": "Côté projet et études : préparer pour la production les packs d’installation, la documentation, les processus de mise en production, les notes de version, le bon de livraison et le nécessaire au déploiement. Nous étions aussi responsables de l’installation des environnements en production : avec Jenkins, déploiement des environnements alignés sur les versions de développement en cours — intégration continue ; Sonar pour contrôler la qualité du code. Les conteneurs (Podman) et Ansible ont été intégrés au fur et à mesure. Stack applicative majoritaire à la BnF : Java, Tomcat, PostgreSQL ; à côté, Git, Node.js, React, Linux (CentOS), VMware, oVirt selon les périmètres. Formations DevOps fondation et Kubernetes."
        }
      ]
    },
    {
      "sortOrder": 5,
      "period": "2010 — 2019",
      "location": "Courbevoie / Bécon-les-Bruyères",
      "role": "Ingénieur architecte système Linux & virtualisation (VMware, oVirt)",
      "organization": "INPI — Institut national de la propriété industrielle (~800 agents)",
      "highlights": [
        {
          "tag": "EPTOS · OEB",
          "title": "Suite logicielle de l’Office européen des brevets",
          "body": "Intégration de l’équipe eptosadmin sur EPTOS (European Patent and Trademark Office System), la suite portée par l’EPO/OEB pour les offices nationaux. Très peu d’ingés en France touchent ce programme international stratégique."
        },
        {
          "tag": "VMware vSphere · SRM",
          "title": "Pionnier virtualisation + PRA inter-DC",
          "body": "Installation de la virtualisation à l’INPI (vSphere 4.0 → 6.0, oVirt, Kubernetes RancherOS), puis mise en place du plan de reprise informatique avec VMware Site Recovery Manager : réplication et bascule inter-datacenters orchestrées."
        },
        {
          "tag": "Galera · ProxySQL · Ceph · S3",
          "title": "Architecture SQL actif-actif & stockage objet",
          "body": "Étude et mise en place de clusters MySQL Galera derrière ProxySQL pour les architectures actif-actif, en parallèle de l’installation de clusters Ceph et de l’ouverture vers le stockage objet S3. Une trajectoire d’architecture rare en organisme public."
        },
        {
          "tag": "Cyberwatch",
          "title": "Précurseur sur la conformité Linux",
          "body": "Lancement, dans le cadre du CODIR informatique, du projet d’installation de Cyberwatch — l’INPI parmi les premiers déploiements en France pour la gestion des vulnérabilités et la conformité du parc Linux."
        },
        {
          "tag": "HP 3PAR · iSCSI/FC · NFS",
          "title": "Infrastructure SAN entreprise",
          "body": "Pilotage des liens hôtes physiques ↔ SAN (iSCSI sur Ethernet, Fibre Channel, NFS), exploitation de baies HP 3PAR ; trois migrations complètes de salle informatique sans interruption de service."
        },
        {
          "tag": "SLES · normalisation",
          "title": "RHEL 3 → SLES 11 : remise à plat du parc",
          "body": "Pilotage de la gestion d’obsolescence : un parc Linux hétéroclite (jusqu’à RHEL 3) ramené sur SUSE Linux Enterprise Server homogène, avec migration des applications d’Unix (HP-UX, AIX, Solaris) vers Linux."
        }
      ],
      "sections": [
        {
          "title": "Après Sungard — arrivée à l’INPI",
          "body": "Après l’expérience chez Sungard, intégration de l’INPI — environ neuf ans sur la durée, expérience très riche. À l’arrivée : pas encore de virtualisation ni de conteneurs au sens où on les pratique aujourd’hui ; les services étaient encore massivement installés sur machines dédiées (approche « bare metal »). Linux n’était pas encore majoritaire sur l’ensemble du parc : beaucoup de Windows et d’Unix propriétaires (HP-UX, AIX, Solaris). Les années suivantes ont largement fait évoluer le paysage (virtualisation, Linux, automatisation — voir ci-dessous)."
        },
        {
          "title": "Référent technique — Linux, VMware et virtualisation",
          "html": true,
          "body": "<p>À l’<strong>INPI</strong>, j’ai accompagné en tant que <strong>référent technique</strong> <strong>toutes les installations logicielles</strong> sous <strong>Linux</strong>.</p><p>J’étais aussi <strong>référent technique</strong> sur l’ensemble du périmètre <strong>VMware</strong> et, plus largement, de la <strong>virtualisation</strong>.</p><p><strong>C’est moi qui ai installé</strong> cette virtualisation à l’INPI : <strong>VMware vSphere</strong> de la <strong>4.0</strong> à la <strong>6.0</strong>, puis <strong>oVirt</strong> (<a href=\"https://www.ovirt.org/\" target=\"_blank\" rel=\"noopener noreferrer\">oVirt</a>), et plus tard les premiers environnements <strong>Kubernetes</strong> (« nuage » conteneurisé) avec <strong>RancherOS</strong> comme socle pour monter ces clusters.</p><p>J’ai aussi réalisé les <strong>premiers masters Linux</strong> de l’INPI (images / installateurs de référence pour déployer le socle), ainsi que les <strong>premiers référentiels de sécurité Linux</strong> (durcissement, règles et bonnes pratiques d’exploitation).</p><p>Chaque fois qu’un projet <strong>devait être installé sous Linux</strong>, j’<strong>accompagnais systématiquement</strong> le <strong>chef de projet</strong> (cadrage, déploiement, exploitation).</p>"
        },
        {
          "title": "Normalisation du parc Linux et gestion de l’obsolescence (RHEL, SUSE)",
          "html": true,
          "body": "<p>À mon arrivée, le système d’information comportait de nombreuses <strong>distributions Linux</strong> différentes, aux côtés de <strong>plusieurs Unix</strong>.</p><p><strong>À l’INPI</strong>, j’ai piloté la gestion de l’<strong>obsolescence</strong> du parc Linux : <strong>récupération</strong> des anciennes installations et <strong>report sur des plateformes à niveau</strong> — en faisant évoluer des socles très anciens (par ex. <strong>RHEL 3</strong>) vers des versions supportables (<strong>RHEL 5</strong>, puis <strong>RHEL 7</strong> selon les trajectoires). Au terme de la normalisation, le parc entreprise ne reposait plus que sur des installations <strong>SUSE Linux Enterprise Server</strong> : <a href=\"https://www.suse.com/products/server/\" target=\"_blank\" rel=\"noopener noreferrer\">SUSE Linux Enterprise Server</a> — une réussite notable au vu de l’hétérogénéité de départ.</p><p>Nous avons <strong>remplacé l’ensemble des machines Unix</strong> par des <strong>systèmes Linux</strong> et <strong>migré les applications</strong> d’<strong>Unix vers Linux</strong>, afin de ne conserver sur <strong>Unix</strong> que les <strong>bases de données Oracle</strong>.</p>"
        },
        {
          "title": "Projet EPTOS — équipe eptosadmin (run, intégration & architecture)",
          "html": true,
          "body": "<p>Première mission : intégration de l’équipe <strong>eptosadmin</strong> du projet <strong>EPTOS</strong> (<em>European Patent and Trademark Office System</em>) — la suite logicielle de gestion portée par l’<a href=\"https://www.epo.org\" target=\"_blank\" rel=\"noopener noreferrer\">Office européen des brevets (OEB / EPO)</a> pour les offices membres. L’équipe ne se limitait pas au run et à la production : nous étions aussi responsables de l’<strong>intégration</strong> et de l’<strong>architecture</strong> — en résumé tout le volet <strong>technique</strong>, y compris l’<strong>infrastructure</strong> : installation des serveurs sous <strong>Linux</strong>, montage <strong>en baie</strong> en salle informatique, administration de la <strong>baie SAN</strong>, câblage et raccordement <strong>réseau</strong>, etc. Pour une synthèse académique du programme EPTOS comme transfert de système de gestion des brevets depuis l’OEB : Marcuzzo Cavalheiro &amp; Joia (2016), <em>Public Administration &amp; Development</em>, DOI <a href=\"https://doi.org/10.1002/pad.1753\" target=\"_blank\" rel=\"noopener noreferrer\">10.1002/pad.1753</a> (étude de cas sur un office national en coopération avec l’EPO ; même famille de programme que les déploiements EPTOS).</p><p>La suite reposait sur quatre applicatifs majeurs : <strong>Soprano</strong> (back-office ; tierce maintenance assurée notamment par <a href=\"https://www.luminess.eu/article/jouve-acteur-majeur-du-numerique-devient-luminess\" target=\"_blank\" rel=\"noopener noreferrer\">Jouve</a>, groupe rebaptisé <strong>Luminess</strong>), <strong>e-OLF</strong> (dépôt en ligne), <strong>PHOENIX</strong> (gestion documentaire), et <strong>Register</strong> (registre). Développements en <strong>Java</strong>, servis via <strong>Tomcat</strong>, avec base de données <strong>MySQL</strong> ; le tout opéré sous <strong>Linux</strong>.</p><p>Les premières mises en production étaient exclusivement en <strong>bare metal</strong> : la virtualisation n’était pas encore déployée sur le site. À l’arrivée de <strong>VMware</strong> (<strong>vSphere 4</strong>), nous avons été parmi les premiers à <strong>migrer</strong> vers la virtualisation et à réaliser les <strong>premières conversions</strong>. Tout n’était pas encore abouti : en début de courbe, les <strong>outils de conversion P2V</strong> ne fonctionnaient pas pour tous les cas — il a fallu recourir à la <strong>création d’images disque brutes</strong> (copie depuis la machine physique) pour les <strong>réintégrer en machine virtuelle</strong> lorsque la conversion standard échouait. Puis généralisation des pratiques (vSphere 5.x, etc.).</p><p>Au départ, la virtualisation ciblait d’abord le périmètre <strong>EPTOS</strong>. Pour l’<strong>étendre à l’ensemble du système d’information</strong>, c’est notre équipe qui a porté le chantier : nous avions le plus d’<strong>expérience</strong> sur la virtualisation.</p><p>Plus précisément, EPTOS disposait d’une <strong>infrastructure dédiée</strong> : sauvegardes, bases de données et <strong>switchs</strong> propres au périmètre — fonctionnement <strong>autonome</strong> par rapport au reste du SI. Vers la fin du projet, décision de <strong>converger</strong> avec l’infrastructure centrale pour les fonctions transverses, notamment <strong>supervision</strong> et <strong>sauvegarde</strong>.</p><p>L’effort de <strong>normalisation</strong> réalisé dans le cadre d’EPTOS a ensuite été <strong>réinvesti</strong> pour l’ensemble du système d’information : notamment <strong>création des bases</strong> (données et référentiels), et <strong>migration</strong> des machines <strong>obsolètes</strong> vers le <strong>nouveau socle technique</strong>.</p><p>Plus tard, d’autres logiciels ont été intégrés autour de l’environnement EPTOS, notamment pour la <strong>diffusion et la valorisation des données</strong> : stack <strong>Talend</strong> couvrant entre autres <strong>ETL</strong>, <strong>ESB</strong> et <strong>MDM</strong> (<em>Master Data Management</em>).</p>"
        },
        {
          "title": "SUSE Linux Enterprise — migrations SLES 9 → 11 (EPTOS)",
          "html": true,
          "body": "<p>À l’<strong>INPI</strong>, nous avons géré les <strong>migrations</strong> de <strong>SLES 9</strong> vers <strong>SLES 11</strong> (<a href=\"https://www.suse.com/\" target=\"_blank\" rel=\"noopener noreferrer\">SUSE Linux Enterprise Server</a>) <strong>au fil de l’eau</strong> pour le périmètre <strong>EPTOS</strong> — planification des montées de version <strong>progressivement</strong>, sans tout basculer d’un seul coup.</p>"
        },
        {
          "title": "Parcours d’équipe — production brevets, fusion Linux/Unix, diffusion EPTOS",
          "html": true,
          "body": "<p>D’abord <strong>rattaché</strong> uniquement à une équipe <strong>dédiée à la production</strong> du <strong>système d’information brevets</strong>, j’ai ensuite <strong>rejoint</strong> le <strong>reste de l’équipe système Linux / Unix</strong> (élargissement de mon périmètre). J’y ai <strong>réinvesti</strong> dans l’<strong>ensemble du SI</strong> les <strong>briques nouvelles</strong> mises en place pour le projet <strong>EPTOS</strong> (socles, outillages, pratiques de normalisation).</p>"
        },
        {
          "title": "Salle serveurs — baies, KVM Raritan IP, volumes, câblage",
          "html": true,
          "body": "<p>Nous <strong>montions nous-mêmes en baie</strong> les <strong>machines</strong> et <strong>gérions l’exploitation</strong> des serveurs en <strong>salle serveur</strong> — notamment <strong>KVM over IP Raritan</strong> (<a href=\"https://www.raritan.com/\" target=\"_blank\" rel=\"noopener noreferrer\">Raritan</a>, consoles distantes), <strong>mises à jour de firmwares</strong>, <strong>création de volumes</strong> disque côté serveurs / stockage, <strong>raccordements électriques</strong> et <strong>réseau</strong>, etc.</p>"
        },
        {
          "title": "Disponibilité du dépôt — e-OLF, confidentialité et mises en production",
          "html": true,
          "body": "<p>L’<a href=\"https://www.inpi.fr/\" target=\"_blank\" rel=\"noopener noreferrer\">INPI</a> est un <strong>organisme de dépôt</strong> : le <strong>service de dépôt</strong> doit <strong>fonctionner en permanence</strong>. J’avais la responsabilité du volet <strong>dépôt des brevets</strong>, notamment <strong>e-OLF</strong> (dépôt en ligne — périmètre EPTOS), et la <strong>mise en place</strong> ainsi que l’<strong>exploitation</strong> de l’<strong>environnement sécurisé</strong> pour les données soumises au <strong>secret</strong> jusqu’à leur <strong>publication</strong> éventuelle.</p><p>Les <strong>mises en production</strong> étaient donc <strong>minutieusement préparées</strong> pour garder un <strong>temps de coupure</strong> <strong>aussi court que possible</strong>.</p>"
        },
        {
          "title": "Physique vers virtuel (P2V) — VMware Converter, dd, méthodes artisanales",
          "html": true,
          "body": "<p>Passer d’une installation sur <strong>machine physique</strong> à une installation sur <strong>machine virtuelle</strong> n’a pas été <strong>de tout repos</strong>. La voie « standard » était <strong>VMware Converter</strong> (conversion P2V), mais il existait des cas où l’outil ne suffisait pas.</p><p>Il a alors fallu créer des <strong>images disque brutes</strong> (<em>raw</em>) avec <strong>dd</strong> (copie secteur à secteur), puis parfois des chemins <strong>artisanaux</strong> : transfert par <strong>archives compressées</strong> et <strong>décompression</strong> sur la cible, réimport et ajustements manuels dans VMware lorsque la chaîne Converter / import direct échouait.</p>"
        },
        {
          "title": "Ordonnancement des flux (Dollar Universe)",
          "html": true,
          "body": "<p>Les volumes de <strong>données</strong> étaient importants : les <strong>sauvegardes</strong> constituaient un sujet critique — d’où la nécessité d’une <strong>fenêtre de sauvegarde</strong> bien organisée — typiquement en <strong>fenêtre de nuit</strong> / heures creuses, avec planification fine des plages rigoureusement orchestrée avec <strong>Dollar Universe</strong> : <a href=\"https://www.broadcom.com/products/software/automation/dollar-universe\" target=\"_blank\" rel=\"noopener noreferrer\">Broadcom — Dollar Universe</a> (workload automation).</p><p>Les <strong>traitements automatisés</strong> présentaient encore <strong>beaucoup d’erreurs</strong> : j’ai dû <strong>tout corriger</strong> et <strong>fiabiliser l’ensemble des scripts shell et Python</strong> qui les supportaient.</p>"
        },
        {
          "title": "MySQL — maintenance, sauvegardes et restaurations",
          "html": true,
          "body": "<p>Il a été nécessaire de disposer d’un <strong>savoir-faire</strong> solide sur la <strong>maintenance des bases MySQL</strong> : en particulier la capacité à <strong>sauvegarder</strong> correctement des bases <strong>importantes</strong> (volumétrie, criticité métier), et surtout à pouvoir les <strong>restaurer</strong> de manière fiable en exploitation.</p><p>À l’<strong>INPI</strong>, nous avons <strong>beaucoup étudié</strong> des sujets avancés dans le <strong>MCO MySQL</strong> : <strong>haute disponibilité</strong>, <strong>performance</strong>, <strong>sécurité</strong> et <strong>sauvegarde</strong>.</p><p><strong>Historiquement</strong>, le parc incluait aussi des bases <strong>MaxDB</strong> en complément de <strong>MySQL</strong> : <a href=\"https://en.wikipedia.org/wiki/MaxDB\" target=\"_blank\" rel=\"noopener noreferrer\">MaxDB</a> (moteur SAP, héritage de l’écosystème applicatif de l’époque).</p>"
        },
        {
          "title": "Évolution SI — SQL actif-actif (Galera, ProxySQL) et stockage (S3, Ceph)",
          "html": true,
          "body": "<p>Plus tard dans l’<strong>évolution du système d’information</strong>, pour des architectures <strong>plus solides et plus performantes</strong>, nous avons étudié la mise en place de <strong>SQL actif-actif</strong> : notamment des <strong>clusters MySQL Galera</strong> avec <strong>ProxySQL</strong> en couche d’accès : <a href=\"https://proxysql.com/\" target=\"_blank\" rel=\"noopener noreferrer\">ProxySQL</a>.</p><p>Nous avons aussi étudié les <strong>futures solutions de stockage</strong> : <strong>stockage objet</strong> exposé via le <strong>protocole S3</strong>, et <strong>installation de clusters Ceph</strong>.</p>"
        },
        {
          "title": "Conteneurs et orchestration (Docker, Kubernetes, Rancher)",
          "html": true,
          "body": "<p>Nous avons évidemment commencé à <strong>migrer</strong> et à <strong>déployer des applications sous conteneurs</strong> avec <strong>Docker</strong>, et à étudier l’<strong>orchestration</strong> avec <strong>Kubernetes</strong> ; la <strong>première approche</strong> est passée par <strong>Rancher</strong> : <a href=\"https://www.rancher.com/\" target=\"_blank\" rel=\"noopener noreferrer\">Rancher</a>.</p>"
        },
        {
          "title": "Intégration continue — Jenkins, Git, Ansible",
          "html": true,
          "body": "<p>Nous avons aussi mis en place des <strong>solutions d’intégration continue</strong> — ou du moins les <strong>socles</strong> pour les porter : installation de <strong>Jenkins</strong> (<a href=\"https://www.jenkins.io/\" target=\"_blank\" rel=\"noopener noreferrer\">Jenkins</a>) <strong>branché</strong> sur <strong>Git</strong>, et les <strong>premiers playbooks Ansible</strong>.</p>"
        },
        {
          "title": "Automatisation et industrialisation (Go, JavaScript, React)",
          "html": true,
          "body": "<p>Sur les volets <strong>automatisation</strong> et <strong>industrialisation</strong>, j’ai réalisé des <strong>développements</strong> en <strong>Go</strong>, en <strong>JavaScript</strong> et avec le framework <strong>React</strong> : <a href=\"https://react.dev/\" target=\"_blank\" rel=\"noopener noreferrer\">React</a>.</p>"
        },
        {
          "title": "Supervision et alertes sur les journaux (Nagios, Centreon, Prometheus / Grafana, Graylog, Elastic)",
          "html": true,
          "body": "<p>Le socle de <strong>supervision</strong> était d’abord <strong>Nagios</strong>. Nous avons ensuite <strong>migré vers Centreon</strong>, puis, plus tard, vers une stack <strong>Prometheus</strong> et <strong>Grafana</strong> — en complément de <strong>Centreon</strong> (cohabitation et périmètres selon les besoins). Nous avons aussi exploré les <strong>alertes basées sur les logs</strong> avec <strong>Graylog</strong> : <a href=\"https://graylog.org/\" target=\"_blank\" rel=\"noopener noreferrer\">Graylog</a> — gestion centralisée des journaux et corrélation pour l’exploitation.</p><p>La création de <strong>tableaux de bord</strong> avec <strong>Grafana</strong> a permis de <strong>compléter</strong> les tableaux de bord <strong>techniques</strong> par un tableau de bord <strong>technico-fonctionnel</strong> de <strong>production</strong>.</p><p>À l’<strong>INPI</strong>, nous avons aussi utilisé l’écosystème <strong>Elastic</strong> autour d’<strong>Elasticsearch</strong> pour <strong>centraliser les logs applicatifs</strong>, avec <strong>Logstash</strong> (pipelines) et les <strong>modules Filebeat</strong> pour la collecte : <a href=\"https://www.elastic.co/elastic-stack\" target=\"_blank\" rel=\"noopener noreferrer\">Elastic Stack</a>.</p>"
        },
        {
          "title": "Agents et métrologie Java — Tomcat, JMX",
          "html": true,
          "body": "<p>Au niveau des <strong>agents</strong> et de l’exposition des métriques applicatives : une grande partie du parc était en <strong>Java</strong> servie par <strong>Apache Tomcat</strong> (dont <strong>Tomcat 4</strong> sur une partie du périmètre à l’époque). Nous avons utilisé le <strong>protocole JMX</strong> (<em>Java Management Extensions</em>) pour superviser et instrumenter les JVM et les composants serveur : <a href=\"https://docs.oracle.com/javase/tutorial/jmx/\" target=\"_blank\" rel=\"noopener noreferrer\">Oracle — tutoriel JMX</a>.</p>"
        },
        {
          "title": "Proactivité — jobs de vérification Selenium (production)",
          "html": true,
          "body": "<p>Pour <strong>renforcer la proactivité</strong> sur la <strong>résolution d’incidents</strong>, nous avons mis en place des <strong>jobs de vérification</strong> avec <strong>Selenium</strong> : <a href=\"https://www.selenium.dev/\" target=\"_blank\" rel=\"noopener noreferrer\">Selenium</a>, afin de <strong>tester automatiquement les services en production</strong> (parcours critiques / contrôles de bout en bout).</p>"
        },
        {
          "title": "Sécurité — Cyberwatch",
          "html": true,
          "body": "<p><strong>À l’INPI</strong>, <strong>dans le cadre du CODIR informatique</strong>, <strong>j’ai lancé le projet d’installation de <a href=\"https://www.cyberwatch.com/\" target=\"_blank\" rel=\"noopener noreferrer\">Cyberwatch</a></strong> pour <strong>améliorer la sécurité des installations Linux</strong> : gestion des vulnérabilités et contrôle de conformité sur le système d’information. L’établissement a été <strong>parmi les premiers</strong> à déployer la plateforme.</p><p>J’ai <strong>accompagné</strong> ce déploiement pour la <strong>conformité</strong> vis-à-vis des <strong>référentiels de sécurité</strong> (cartographie des exigences, preuves et suivi des écarts).</p>"
        },
        {
          "title": "Infrastructure, salles informatiques et PRI / PRA (VMware Site Recovery)",
          "html": true,
          "body": "<p>Au niveau de l’<strong>infrastructure</strong>, nous avons <strong>migré de salles informatiques à trois reprises</strong> pour <strong>toute la production</strong>.</p><p>Après ces chantiers, la <strong>sécurité et la continuité d’exploitation</strong> se sont largement appuyées sur la <strong>virtualisation VMware</strong>, en particulier sur la capacité à déplacer ou répliquer les <strong>machines virtuelles</strong> d’un <strong>datacenter à un autre</strong> via <strong>VMware Site Recovery Manager</strong> : <a href=\"https://www.vmware.com/products/site-recovery-manager.html\" target=\"_blank\" rel=\"noopener noreferrer\">VMware — Site Recovery Manager</a> (PRA / réplication inter-sites).</p><p><strong>C’est moi qui ai mis en place</strong> le dispositif de <strong>plan de reprise informatique</strong> (<strong>PRI</strong>) et le volet <strong>PRA</strong> associé, avec <strong>VMware Site Recovery Manager</strong> : <strong>mise à jour du tableau de production</strong> (inventaire et criticité), définition de l’<strong>ordre d’importance</strong> des systèmes pour les bascules, et arbitrage sur ce qui devait être <strong>intégré pleinement au PRA</strong> (réplication, orchestration avec Site Recovery) ou <strong>laissé hors périmètre</strong>.</p>"
        },
        {
          "title": "SAN — hôtes physiques et accès (iSCSI, Fibre Channel, NFS)",
          "html": true,
          "body": "<p>À l’<strong>INPI</strong>, j’ai dû <strong>piloter le lien</strong> entre les <strong>hôtes physiques</strong> et le <strong>SAN</strong>. Plusieurs technologies ont été mises en œuvre : <strong>iSCSI</strong> sur <strong>câble Ethernet</strong>, <strong>Fibre Channel</strong>, et <strong>NFS</strong> pour les usages adaptés au partage de fichiers sur le réseau.</p><p>J’ai aussi eu l’occasion d’exploiter des <strong>SAN HP</strong>, notamment des baies <strong>HP 3PAR</strong> : <a href=\"https://www.hpe.com/fr/fr/storage/3par.html\" target=\"_blank\" rel=\"noopener noreferrer\">HPE 3PAR</a>. Pour le <strong>plan de reprise informatique</strong> (<strong>PRI</strong>) avec <strong>VMware Site Recovery Manager</strong>, il était indispensable que le <strong>stockage</strong> soit <strong>compatible</strong> avec la réplication et l’orchestration inter-sites VMware.</p>"
        },
        {
          "body": "MCO de larges parcs Linux (+500 VMs en phase mature) : CentOS, Red Hat, SUSE ; supervision : évolution Nagios → Centreon → Prometheus/Grafana (avec Centreon en complément) ; alerting logs (Graylog, Elasticsearch / Logstash / Filebeat) ; intégration Apache, Tomcat, PHP, MySQL/Galera, MaxDB, Oracle ; Dollar Universe ; automatisation (bash, Python, Go, Java, PHP, Selenium, AutoIt, Node, React) ; stockage NFS, SAN HP 3PAR, Ceph, NetApp, Samba ; support niveau 2."
        },
        {
          "title": "Projets",
          "body": "Virtualisation VMware vSphere 5.5, PRA (VMware Site Recovery Manager, réplication inter-datacenters), évolution stockage (Ceph, Cassandra, S3), Puppet et Ansible, réflexion cloud / conteneurs / OpenStack, trois migrations de salles informatiques pour la production."
        },
        {
          "title": "Synthèse du périmètre — Linux, mise en production, scripts",
          "html": true,
          "body": "<p>Mon travail à l’<strong>INPI</strong> m’a permis d’intervenir sur un <strong>large périmètre</strong> : <strong>installation</strong> et <strong>maintenance</strong> des <strong>machines physiques</strong> ; <strong>hébergement</strong> via la <strong>virtualisation</strong> ; <strong>infrastructure de stockage</strong> ; puis <strong>installation</strong> et <strong>MCO</strong> des <strong>services en production</strong> — complété par les <strong>choix et évolutions</strong> du socle <strong>Linux</strong>, les <strong>mises en production</strong>, les <strong>retours arrière</strong> et les <strong>scripts d’exploitation</strong> pour le run (dans un SI où Unix et autres environnements coexistaient encore).</p><p>Sur la <strong>chronologie</strong>, nous avions déjà <strong>réussi l’ensemble</strong> de l’<strong>automatisation</strong> et de la <strong>normalisation</strong> du périmètre <strong>avant</strong> l’arrivée d’<strong>Ansible</strong> et de <strong>Puppet</strong>, qui sont venus ensuite <strong>compléter</strong> le dispositif.</p><p>Mon expérience à l’<strong>INPI</strong> m’a permis de consolider une <strong>expérience validée et profonde</strong> de la <strong>production informatique</strong> sur des <strong>environnements critiques</strong>. J’y ai porté une attention particulière aux <strong>bonnes pratiques</strong> pour <strong>conduire les mises en production</strong> : préparation poussée et <strong>plans de retour arrière</strong> systématiques.</p>"
        },
        {
          "title": "Contexte (chronologie)",
          "body": "Agence publique, DSI ~40 agents, +500 postes Windows. Production applicative Java/PHP, Apache, MySQL ; administration SUSE, Red Hat ; +20 hôtes ESX (HP DL560) ; Dollar Universe, scripts Bash/Python ; 3 baies SAN HP 3PAR (~180 To) ; deux salles (production et développement). Assistance aux projets technico-fonctionnels, migration vers VMware, PRA, normalisation de l'infrastructure."
        }
      ]
    },
    {
      "sortOrder": 6,
      "period": "2007 — 2010",
      "location": "Saint-Cloud",
      "role": "Consultant support & intégrateur senior",
      "organization": "Groupe Sungard — Global Portfolio 3 / Asset Management (Neoxam)",
      "highlights": [
        {
          "tag": "Global Portfolio 3 (GP3)",
          "title": "Quasi-monopole de l’asset management en France",
          "body": "Produit phare côtoyant notamment : Société Générale, Crédit Agricole, réseau Banque Populaire, Caisse des dépôts, State Street, Allianz, MMA, CNP Assurances, en complément d’acteurs déjà largement déployés sur GP3 (CACEIS, Natixis, Covéa, CM-CIC, etc.) — en France et à l’international. Une exposition rare aux exigences des acteurs financiers."
        },
        {
          "tag": "OpenVMS · runtime Unix",
          "title": "Portage d’un héritage VMS vers Unix",
          "body": "GP3 reposait historiquement sur OpenVMS ; pour la vente sur Unix, un runtime spécifique permettait d’héberger code et écrans VMS sur HP-UX, Solaris, AIX, Linux. Très peu d’ingés ont travaillé sur ce type de migration aujourd’hui disparu."
        },
        {
          "tag": "Bamboo · SVN",
          "title": "Intégration continue avant l’ère Git",
          "body": "L’une des premières équipes à industrialiser l’intégration continue avec Atlassian Bamboo, sur du code versionné en Subversion, avec qualification fine sur Red Hat, AIX et Solaris. Un savoir-faire CI antérieur à la généralisation Jenkins/Git."
        },
        {
          "tag": "Méthode d’analyse d’incidents",
          "title": "Diagnostics complexes en environnement critique",
          "body": "Traitement d’incidents difficiles à localiser : épuisement de file descriptors, modification du flux HTTP par un proxy réseau ajouté en silence — sans accès direct à la production. Une vraie école d’expert support."
        }
      ],
      "sections": [
        {
          "html": true,
          "body": "<p>Après l’expérience à l’UCAD, mission chez Sungard (une partie de l’offre GP3 existe aujourd’hui sous la marque Neoxam) : produit phare <strong>Global Portfolio 3</strong> (GP3), solution de gestion d’actifs (asset management) pour banques et assureurs. Part très importante du marché : en France, la quasi-totalité des banques et assureurs actifs en asset management utilisaient la solution ; clients aussi à l’étranger (États-Unis, Allemagne, perspective internationale incluant la Chine à l’époque). Société d’environ 500 salariés, déploiements Unix (HP, AIX, Solaris, Linux…).</p><p>Mon travail chez <strong>Sungard</strong> m’a appris à intervenir sur des <strong>environnements critiques</strong> dans un <strong>contexte à forte pression</strong> (exigence des acteurs financiers, délais serrés, enjeux de production).</p>"
        },
        {
          "title": "Références clients (exemples)",
          "body": "Parmi les clients ou périmètres côtoyés chez Sungard, notamment : Société Générale, Crédit Agricole, Banque Populaire, Caisse des dépôts, State Street, Allianz, MMA, CNP Assurances, ainsi que CACEIS, Natixis, Covéa, CM-CIC (Crédit Mutuel / CIC) et d’autres grands comptes asset management — liste non exhaustive, selon missions et filiales."
        },
        {
          "title": "Projets transverses, filiales & messagerie (JMS)",
          "body": "Référent sur les projets transverses : Sungard était un groupe possédant plusieurs filiales, dont une SSII — Décalog (services / intégration). Ces projets mobilisaient plusieurs entités pour faire circuler des informations entre logiciels métiers, en s’appuyant notamment sur des bus de messagerie et des mécanismes de type JMS (Java Message Service)."
        },
        {
          "title": "International & mobilité",
          "body": "Collaboration avec des correspondants allemands et déplacement professionnel en Allemagne — premier déplacement à l’étranger dans ce cadre. La société ambitionnait aussi de se développer sur des marchés internationaux, en particulier la Chine. Aux États-Unis, périmètres incluant notamment State Street (banque / services financiers)."
        },
        {
          "title": "Produit : héritage VMS, portage Unix, Java & Tomcat",
          "html": true,
          "body": "<p>La base historique reposait sur <strong>OpenVMS</strong>. Pour poursuivre la vente sur Unix, l’éditeur avait mis en place un <strong>runtime</strong> / socle d’exécution permettant d’héberger code et composants issus du monde VMS sur Unix. Développement surtout sous <strong>Linux</strong>, puis compilation et livraison vers les plateformes clients <strong>HP-UX</strong>, <strong>Solaris</strong>, <strong>AIX</strong>. Les services étaient exposés via <strong>Apache Tomcat</strong> ; une couche <strong>Java</strong> reprenait les anciens écrans, frames et masques « verts » VMS pour une interface Java. Pile effective : <strong>Java</strong>, <strong>Python</strong>, avec prolongement du patrimoine <strong>VMS</strong>.</p>"
        },
        {
          "title": "Intégration, support applicatif & Atlassian",
          "html": true,
          "body": "<p>Première expérience structurante en intégration logicielle et support applicatif : montée en compétence sur la résolution d’incidents applicatifs en environnement client critique. Avant Jira, le suivi des anomalies et demandes s’appuyait sur <a href=\"https://mantisbt.org/\" target=\"_blank\" rel=\"noopener noreferrer\">MantisBT</a> (bug tracker open source). Ensuite, passage à la suite Atlassian en premières versions — Jira, Confluence et Bamboo — pour piloter le cycle de vie du produit, la documentation et les recettes.</p>"
        },
        {
          "title": "SVN, Bamboo & qualification plateformes",
          "body": "À l’époque, Git n’était pas encore l’outil de référence dans nos chaînes — le source était versionné avec Subversion (SVN). L’équipe était parmi les premières à industrialiser de l’intégration continue via Bamboo, en particulier pour enchaîner la recette qualité. Les builds étaient qualifiés sur des plateformes très précises — Red Hat Enterprise Linux, IBM AIX, Oracle Solaris — avec des versions majeures et mineures du système strictement cadrées."
        },
        {
          "title": "Performance applicative",
          "body": "Périmètre personnel sur les sujets de performance du logiciel : lorsque le client constatait des lenteurs ou que « le logiciel était trop lent », j’étais chargé du diagnostic et du traitement de ces dossiers. J’avais défini une méthode d’analyse structurée pour investiguer (reproduction, mesures, identification des goulots d’étranglement, pistes de correction côté applicatif et plateforme)."
        },
        {
          "title": "Diagnostics difficiles — file descriptors, proxy HTTP (réseau)",
          "html": true,
          "body": "<p>Chez <strong>Sungard</strong>, il a fallu traiter des problèmes <strong>difficiles à détecter et à localiser</strong> — par exemple des incidents liés aux <strong>file descriptors</strong> sur des <strong>composants fortement sollicités</strong>, ou une <strong>modification du flux HTTP</strong> par un <strong>proxy</strong> ajouté par une <strong>équipe réseau</strong> dans un <strong>environnement critique</strong>, avec peu d’indices applicatifs visibles immédiatement.</p>"
        },
        {
          "title": "Outillage d’analyse & automatisation",
          "body": "Pour outiller les analyses (performance et autres investigations), scripts en Python et en shell ; développement de tableaux de bord avec Django. Automatisation de traitements sur documents en VBA (Visual Basic for Applications), puis passage à VB.NET pour fiabiliser et faire évoluer ces chaînes."
        },
        {
          "title": "Support & contraintes d’exploitation",
          "html": true,
          "body": "<p>Poste très exigeant : équipe support sous forte pression, sans accès systématique à la production — il fallait donc cerner un problème au mieux à partir d’informations partielles pour orienter et dépanner les équipes d’exploitation. Rythme soutenu. Les intégrations et livraisons vers la production restaient particulièrement délicates.</p><p>Nous avons dû <strong>mettre en place des méthodes d’analyse d’incidents</strong> : <strong>communication</strong> avec le <strong>client</strong>, <strong>analyse des journaux</strong>, <strong>vérifications minutieuses</strong> — nous sommes ainsi devenus de véritables <strong>experts support</strong>.</p>"
        },
        {
          "title": "Missions",
          "body": "Intégration des composants sur Unix ; support et TMA auprès des banques et assurances ; outils de support (VB .NET, Python) ; participation aux projets inter-filiales et aux nouvelles versions."
        }
      ]
    },
    {
      "sortOrder": 7,
      "period": "2006 — 2007",
      "location": "Paris",
      "role": "Ingénieur informatique",
      "organization": "UCAD — Union centrale des arts décoratifs (musée)",
      "highlights": [
        {
          "tag": "LTSP · PXE · diskless",
          "title": "Postes légers — Linux Terminal Server (LTSP)",
          "body": "Usage du projet LTSP (Linux Terminal Server Project, ltsp.org) pour des clients légers netbootés depuis une image modèle sur le serveur — complété par PXE, profils par adresse MAC, postes sans disque local et montages NFS depuis l’infrastructure centrale. Idéal pour recycler du matériel faiblement doté en simples terminaux."
        },
        {
          "tag": "DD-WRT · Linksys WRT54G",
          "title": "Firmware libre sur routeur Wi-Fi",
          "body": "Remplacement du firmware constructeur des Linksys WRT54G par DD-WRT, projet libre culte de la communauté réseau — pour gagner en capacités d’exploitation et simplifier la maintenance Wi-Fi du musée."
        },
        {
          "tag": "Compilation noyau Linux",
          "title": "Maîtriser le système de bout en bout",
          "body": "Itérations de compilation du noyau pour faire fonctionner Linux sur du matériel « bout de course » : pilotes spécifiques, allègement (CPU, RAM, disque). Une compétence devenue exceptionnellement rare aujourd’hui."
        },
        {
          "tag": "GLPI · OCS Inventory",
          "title": "Plugin custom pour inventaire complet",
          "body": "Aux débuts de GLPI et OCS Inventory, développement d’un plugin pour alimenter GLPI à partir des remontées OCS — précurseur sur l’ITSM open source bien avant qu’il ne devienne un standard."
        }
      ],
      "sections": [
        {
          "body": "Institution muséale, +300 salariés. Parc mixte : postes de travail Windows et postes Linux ; serveurs Linux (production Debian, etc.) et stack Windows/Novell. Pas encore d’Active Directory : l’institution reposait sur Novell, dont l’annuaire (NDS / eDirectory) centralisait utilisateurs et ressources — l’équivalent fonctionnel antérieur à l’écosystème AD dans ce type d’infrastructure. MCO serveurs Windows et Novell, Solaris ; support bureautique niveau 1 et production niveau 2."
        },
        {
          "title": "Contexte — recyclage Windows → Linux",
          "html": true,
          "body": "<p>Pour <strong>revenir en arrière</strong> à l’époque où j’étais à l’<strong>UCAD</strong>, l’un des points les plus <strong>remarquables</strong> était le <strong>recyclage</strong> des anciennes machines <strong>abandonnées</strong> ou jugées <strong>obsolètes sous Windows</strong> : les nouvelles générations de Windows <strong>exigent toujours plus</strong> de puissance, alors que des installations sous <strong>Linux</strong> permettaient de <strong>réutiliser le matériel existant</strong> et de prolonger le service <strong>à moindre frais</strong>.</p><p>Expérience marquante dans l’ensemble du mandat : remettre à niveau un parc longtemps délaissé avec très peu de moyens ; les alternatives <strong>open source</strong> ont aussi permis de remplacer des logiciels propriétaires à coût de licence quasi nul, tout en évitant de mettre au rebut du matériel encore exploitable.</p>"
        },
        {
          "title": "Site distant & portables recyclés",
          "body": "Avec des budgets serrés, il fallait optimiser tout le parc et recycler au maximum. Les portables étaient encore très chers ; peu de collaborateurs en avaient un — le standard restait la tour sous le bureau. Pour équiper un site distant et permettre aux équipes de réaliser des inventaires dans les réserves du musée, nous avons récupéré d’anciens ordinateurs portables, à peine assez puissants pour faire tourner Linux avec une stack graphique légère (X11), puis le client Citrix pour accéder aux applications métier en mode bureau distant. L’association Linux + Citrix permettait de donner au personnel une expérience de poste de travail exploitable avec très peu de ressources locales."
        },
        {
          "title": "Debian, noyau & pilotes (matériel recyclé)",
          "html": true,
          "body": "<p>Pour <strong>arriver à ce résultat</strong> (fait tourner des machines « bout de course » sous Linux), il a fallu <strong>maîtriser l’ensemble des composantes</strong> du système Linux et, au premier chef, la <strong>compilation du noyau</strong> : <strong>itérations</strong> successives — compiler <strong>encore et encore</strong> jusqu’à obtenir une installation <strong>suffisante</strong> (stable et utilisable) sur le matériel cible.</p><p>Un <strong>effort considérable</strong> est aussi allé à la <strong>compatibilité matérielle</strong> : le support n’était pas encore homogène comme aujourd’hui, peu de pilotes vraiment génériques dans les noyaux standards ; traque de pilotes adaptés, <strong>recompilation</strong> pour du matériel très spécifique, et recompilation pour <strong>alléger</strong> le noyau (RAM, CPU, disque) en retirant les modules inutiles. Base essentiellement <strong>Debian</strong>.</p><p>À l’époque, je m’étais beaucoup appuyé sur la <strong>documentation</strong> et la <strong>formation</strong> qu’<strong>Alexis Delattre</strong> mettait <strong>librement</strong> à disposition sur Internet : <a href=\"https://linux.bouzzi.com/fichiers/FormationLinux.pdf\" target=\"_blank\" rel=\"noopener noreferrer\">Formation Linux (PDF) — linux.bouzzi.com</a>.</p>"
        },
        {
          "title": "Affichage graphique — interfaces et configurations optimisées",
          "html": true,
          "body": "<p>À l’<strong>UCAD</strong>, j’ai aussi dû <strong>étudier</strong> les <strong>interfaces graphiques</strong> — ou du moins <strong>toute la chaîne de composants</strong> nécessaire à l’<strong>affichage graphique</strong> sous Linux — puis <strong>choisir</strong> et <strong>configurer</strong> les combinaisons les plus <strong>optimisées</strong> possibles pour qu’elles restent <strong>tenables sur du matériel peu puissant</strong> (parc recyclé), tout en restant compatibles avec l’usage bureautique.</p>"
        },
        {
          "title": "Contrôle et bureau à distance (VNC, RDP, NX Server)",
          "html": true,
          "body": "<p>J’ai aussi dû <strong>étudier</strong> les solutions de <strong>contrôle à distance</strong> et de <strong>bureau à distance</strong> : <strong>VNC</strong>, <strong>RDP</strong> (Remote Desktop Protocol) et <strong>NX Server</strong> / <a href=\"https://www.nomachine.com/\" target=\"_blank\" rel=\"noopener noreferrer\">NoMachine (NX)</a> — pour l’assistance, l’accès aux postes distants et l’exploitation d’un parc <strong>Windows / Linux</strong> hétérogène.</p>"
        },
        {
          "title": "Compilation depuis les sources (Apache, SSL, modules)",
          "body": "Il n’était pas rare de devoir compiler nous-mêmes des logiciels plutôt que de nous limiter aux paquets fournis : pour plusieurs briques, le packaging n’était pas encore assez abouti. C’était souvent le cas pour les serveurs Apache, les bibliothèques SSL/TLS et les différents modules Apache associés (mod_ssl, etc.)."
        },
        {
          "title": "Proxy Squid et miroir local de paquets (Apache)",
          "html": true,
          "body": "<p>À l’<strong>UCAD</strong>, j’avais installé un <strong>serveur proxy Squid</strong> : <a href=\"http://www.squid-cache.org/\" target=\"_blank\" rel=\"noopener noreferrer\">Squid</a> — pour sécuriser et fluidifier les accès Internet lors des <strong>installations de logiciels</strong>. Nous utilisions en parallèle un <strong>miroir local</strong> des <strong>paquets</strong> d’installation, exposé sous <strong>Apache</strong> (<a href=\"https://httpd.apache.org/\" target=\"_blank\" rel=\"noopener noreferrer\">HTTP Server</a>), afin de limiter la bande passante sortante et d’accélérer les déploiements sur le parc.</p>"
        },
        {
          "title": "Sauvegardes",
          "html": true,
          "body": "<p>La sauvegarde sur <strong>bande</strong> était assurée par <a href=\"https://www.bacula.org/\" target=\"_blank\" rel=\"noopener noreferrer\">Bacula</a> (pools, jobs, lecteurs…). La sauvegarde sur <strong>disque</strong> reposait sur <a href=\"https://backuppc.github.io/backuppc/\" target=\"_blank\" rel=\"noopener noreferrer\">BackupPC</a> — solution libre de sauvegardes incrémentelles vers stockage disque, complémentaire à la partie magnétique.</p>"
        },
        {
          "title": "Messagerie",
          "html": true,
          "body": "<p>Le socle messagerie : <strong>Postfix</strong> (MTA) avec accès <strong>IMAP</strong> pour les clients lourds, et <strong>webmail</strong> via <a href=\"https://www.squirrelmail.org/\" target=\"_blank\" rel=\"noopener noreferrer\">SquirrelMail</a> pour l’accès dans le navigateur.</p>"
        },
        {
          "title": "Périmètre réseau (Linux & iptables)",
          "body": "Il n’y avait pas encore d’appliance pare-feu dédiée : une machine Linux tenait lieu de pare-feu ; la configuration passait par iptables pour filtrer et piloter l’ensemble du trafic réseau du musée."
        },
        {
          "title": "DNS (BIND)",
          "html": true,
          "body": "<p>Le service DNS était assuré par <strong>BIND</strong> (<a href=\"https://www.isc.org/bind/\" target=\"_blank\" rel=\"noopener noreferrer\">Berkeley Internet Name Domain</a>), tel que maintenu par l’ISC.</p>"
        },
        {
          "title": "Wi-Fi : Linksys WRT54G & DD-WRT",
          "html": true,
          "body": "<p>Pour l’accès sans fil, utilisation de routeurs <a href=\"https://fr.wikipedia.org/wiki/WRT54G\" target=\"_blank\" rel=\"noopener noreferrer\">Linksys WRT54G</a>. Pour maximiser la capacité d’exploitation et simplifier la maintenance, le firmware constructeur a été remplacé par le projet libre <a href=\"https://fr.wikipedia.org/wiki/DD-WRT\" target=\"_blank\" rel=\"noopener noreferrer\">DD-WRT</a>.</p>"
        },
        {
          "title": "Sécurité, recyclage : LTSP, PXE & postes diskless",
          "html": true,
          "body": "<p>Pour les <strong>postes légers</strong>, je m’étais notamment appuyé sur <strong>LTSP</strong> — <a href=\"https://ltsp.org/\" target=\"_blank\" rel=\"noopener noreferrer\">Linux Terminal Server Project</a> — qui permet de faire démarrer les clients sur le LAN depuis une <strong>installation modèle</strong> sur le serveur (image/chroot), avec iPXE, DHCP/TFTP et root en squashfs/NFS : entretenir des dizaines de stations diskless comme un seul poste.</p><p>J’ai aussi <strong>étudié et mis en place</strong> le <strong>boot à distance</strong> via <strong>PXE</strong> et des déploiements <strong>diskless</strong> (sans disque dur local) : on <strong>manquait souvent de disques</strong> sur le matériel récupéré, et ce modèle permettait de n’avoir côté poste que de <strong>simples terminaux</strong> — système et données servis depuis l’infrastructure centrale.</p><p>Chaîne PXE opérationnelle (menu de boot, profils par <strong>adresse MAC</strong>, redéploiement à distance) pour <strong>sécuriser la remise en service</strong> du parc et prolonger le <strong>recyclage</strong> ; montages d’arborescences via <strong>NFS</strong> pour les postes diskless.</p>"
        },
        {
          "title": "Matériel, vidéo et kiosques",
          "html": true,
          "body": "<p>Le parc n’était pas très puissant : les machines les plus récentes étaient des <strong>Intel Pentium 4</strong>, à peine suffisantes pour la lecture vidéo. On travaillait surtout en <strong>MPEG-1</strong> et <strong>MPEG-2</strong> ; le H.264 / MP4 n’était pas encore la norme sur ce type de poste.</p><p><a href=\"http://www.videolan.org/\" target=\"_blank\" rel=\"noopener noreferrer\">VideoLAN</a> existait déjà, mais n’était pas le plus léger sur ce matériel. Le lecteur le plus frugal et optimisé pour nos usages était <a href=\"http://www.mplayerhq.hu/design7/news.html\" target=\"_blank\" rel=\"noopener noreferrer\">MPlayer</a>.</p><p>Dans les salles du musée, <strong>kiosques</strong> sur mesure : postes <strong>Linux</strong> lançant un navigateur (affichage plein écran), avec verrouillage des <strong>touches de fonction</strong> et des raccourcis pour empêcher l’utilisateur de sortir du parcours prévu. Postes dédiés à la lecture vidéo et autres dédiés à l’affichage de sites <strong>intranet</strong>.</p>"
        },
        {
          "title": "Gestion des collections (Mobidoc)",
          "body": "Pour la gestion des œuvres et du fonds muséal, le logiciel métier était Micro Musée, édité par la société Mobidoc ; à l’époque, aucun équivalent open source ne permettait de couvrir le besoin de façon satisfaisante."
        },
        {
          "title": "Déploiement & migrations",
          "html": true,
          "body": "<p>Les déploiements couvraient le poste Windows (réinstallation massive sous délais serrés) et la partie Linux du parc (postes et serveurs). Pour Windows, l’habitude était l’image disque avec <strong>Symantec Ghost</strong> et des masters sur l’infrastructure Novell — peu souple. Nous avons expérimenté <a href=\"https://unattended.sourceforge.net/\" target=\"_blank\" rel=\"noopener noreferrer\">Unattended</a> pour des installations automatisées et paramétrables, en complément des méthodes rigides par clone.</p><p>Première expérience marquante en <strong>automatisation</strong> : les chaînes Unattended reposaient sur de nombreux scripts mélangeant <strong>shell</strong>, <strong>Perl</strong> et <a href=\"https://www.autoitscript.com/site/\" target=\"_blank\" rel=\"noopener noreferrer\">AutoIt</a> — langage dédié au pilotage de l’interface Windows (fenêtres, frappes clavier, mouvements de souris) pour fiabiliser les installations, en parallèle de la préparation de <strong>paquets MSI</strong> et de déploiements silencieux.</p><p>Côté bureautique et fichiers : migration vers Samba pour le partage (Windows XP / NT4 / 2000), cohabitant avec l’annuaire Novell ; rationalisation des lecteurs CD.</p><p>Les débuts de <strong>GLPI</strong> et de l’<strong>OCS Inventory</strong> (serveur) sur le site : réalisation d’un <strong>plugin</strong> pour alimenter GLPI à partir des remontées OCS, ce qui a permis d’obtenir un <strong>inventaire complet</strong> et exploitable de tout le parc.</p><p>À l’époque, peu d’institutions avaient encore généralisé un <strong>système de tickets</strong> pour les incidents ; il a été décidé d’adopter <a href=\"https://www.request-tracker.fr/\" target=\"_blank\" rel=\"noopener noreferrer\">Request Tracker (RT)</a>, logiciel libre de gestion d’incidents et de suivi d’actions.</p>"
        },
        {
          "title": "Documentation",
          "html": true,
          "body": "<p>La documentation technique et procédurale a été rédigée en <strong>LaTeX</strong> (<a href=\"https://www.latex-project.org/\" target=\"_blank\" rel=\"noopener noreferrer\">LaTeX Project</a>), pour des livrables structurés, révisables et export PDF.</p>"
        }
      ]
    },
    {
      "sortOrder": 1.5,
      "period": "Ponctuel (2024 — 2025)",
      "location": "France",
      "role": "Missions d’appui",
      "organization": "Enedis, Fayat IT",
      "highlights": [
        {
          "tag": "Linux temps réel",
          "title": "Banc d’essai pour Enedis",
          "body": "Conception d’un banc d’essai pour vérifier le chaînage entre Linux et une application temps réel — sujet pointu chez l’opérateur du réseau électrique français."
        },
        {
          "tag": "Migration Linux → Windows",
          "title": "Réversibilité applicative chez Fayat IT",
          "body": "Intervention rare : faire migrer un logiciel d’un environnement Linux vers Windows — l’inverse du mouvement habituel. Demande une compréhension fine des deux mondes."
        }
      ],
      "sections": [
        {
          "title": "Enedis — janv. 2025",
          "html": true,
          "body": "<p>Conception d’un <strong>banc d’essai</strong> pour des <strong>logiciels temps réel</strong> : vérification du <strong>chaînage</strong> entre <strong>Linux</strong> et l’<strong>application temps réel</strong>.</p>"
        },
        {
          "title": "Fayat IT — janv. 2024",
          "html": true,
          "body": "<p>Intervention sur la <strong>migration d’un logiciel</strong> de l’environnement <strong>Linux</strong> vers <strong>Windows</strong>.</p>"
        }
      ]
    },
    {
      "sortOrder": 1.55,
      "period": "Depuis 2005",
      "location": "France",
      "role": "Assistance informatique (société familiale)",
      "organization": "RYC — aide aux entreprises",
      "highlights": [
        {
          "tag": "n8n · Claude API",
          "title": "Agents IA pour le traitement documentaire",
          "body": "Mise en place d’agents IA orchestrés via n8n et appels d’API Claude (Anthropic) pour le tri, la reconnaissance et l’exploitation des factures et pièces jointes — bien au-delà de la simple bureautique chez un comptable."
        },
        {
          "tag": "Ollama · Mistral",
          "title": "Inférence LLM locale en TPE",
          "body": "Première mise en production d’inférence locale de deux modèles via Ollama, sur la base des LLM Mistral. Très peu de TPE françaises ont basculé sur de l’IA souveraine on-premise."
        },
        {
          "tag": "Sage Coala · Samba",
          "title": "20 ans de continuité d’infrastructure",
          "body": "Maintenance ininterrompue depuis 2005 d’un parc Windows clients + serveurs Linux + partages Samba pour le logiciel comptable Coala. Une preuve concrète de stabilité long-terme."
        }
      ],
      "sections": [
        {
          "html": true,
          "body": "<p>Depuis <strong>2005</strong>, accompagnement de <strong>RYC</strong>, structure d’<strong>aide aux entreprises</strong> (conseils <strong>administratifs</strong>, <strong>précomptabilité</strong> notamment avec <strong>Sage Coala</strong>).</p><p>Appui <strong>informatique</strong> et <strong>bureautique</strong> : <strong>postes de travail Windows</strong> côté clients ; <strong>serveurs Linux</strong> pour l’infrastructure, avec <strong>partage de dossiers via Samba</strong> — le <strong>logiciel Coala</strong> tournant sur les <strong>postes Windows</strong>.</p>"
        },
        {
          "title": "Automatisation des flux comptables",
          "html": true,
          "body": "<p>Depuis environ <strong>cinq ans</strong>, forte montée en <strong>automatisation</strong> : <strong>extraction automatique</strong> des <strong>relevés bancaires</strong> et <strong>intégration semi-automatique</strong> dans le logiciel comptable jusqu’à la <strong>saisie des écritures</strong> comptables.</p><p>Très récemment : <strong>extraction automatique des factures</strong> et des <strong>pièces jointes</strong> pour <strong>générer les écritures comptables</strong>, en s’appuyant aussi sur le <strong>rapprochement bancaire</strong>.</p>"
        },
        {
          "title": "IA, agents et orchestration (très récent)",
          "html": true,
          "body": "<p>L’arrivée de l’<strong>IA</strong> a ouvert de <strong>nouvelles possibilités</strong> : conception d’<strong>agents IA</strong>, utilisation de <a href=\"https://n8n.io/\" target=\"_blank\" rel=\"noopener noreferrer\">n8n</a> pour le <strong>tri et le traitement</strong> des documents, appels d’<strong>API</strong> — notamment <a href=\"https://www.anthropic.com/claude\" target=\"_blank\" rel=\"noopener noreferrer\">Claude</a> (Anthropic) — pour la <strong>reconnaissance</strong> et l’<strong>exploitation</strong> des documents, en prolongement des automatisations existantes.</p><p>Première expérience d’<strong>inférence locale</strong> de <strong>deux modèles</strong> via <a href=\"https://ollama.com/\" target=\"_blank\" rel=\"noopener noreferrer\">Ollama</a> (exécution sur poste / serveur), sur la base des LLM <strong>Mistral</strong>.</p>"
        }
      ]
    },
    {
      "sortOrder": 8,
      "period": "Pendant le cursus EPSI",
      "location": "Paris",
      "role": "Job étudiant — support informatique",
      "organization": "DGC — centre de formation (même groupe que l’EPSI)",
      "highlights": [
        {
          "tag": "Norton Ghost · multicast",
          "title": "Re-imagerie de salle entière",
          "body": "Création d’images Ghost déployées en multicast pour re-imager l’ensemble des postes étudiants (Windows NT 4 puis 2000) en une opération — pratique avancée d’administration de parc à l’époque."
        }
      ],
      "sections": [
        {
          "title": "Support et parc étudiants",
          "html": true,
          "body": "<p>Pendant les <strong>études à l’EPSI</strong>, job étudiant au <strong>DGC</strong>, centre de formation du <strong>même groupe</strong> que l’école.</p><p><strong>Support informatique</strong> et <strong>gestion du parc</strong> des postes dédiés aux <strong>étudiants</strong> : <strong>Windows NT 4</strong>, puis <strong>Windows 2000</strong>. Création d’<strong>images</strong> avec <strong>Ghost</strong> (Symantec / Norton Ghost) et <strong>déploiement en multicast</strong> pour re-imager régulièrement les machines ; <strong>gestion des profils Windows</strong> (nombreux incidents à traiter) ; <strong>droits</strong> et <strong>accès</strong> pour les comptes étudiants ; <strong>installation des antivirus</strong>. Prise en charge aussi de <strong>logiciels de formation</strong> / <strong>e-learning</strong> déployés sur le site.</p><p>L’occasion aussi de mettre en place <strong>Linux</strong> sur du matériel <strong>recyclé</strong> pour offrir des <strong>postes supplémentaires</strong> au service des usages du site.</p>"
        }
      ]
    }
  ]
}