Cas 08 · Engineering excellence

Structurer les pratiques de développement

En parallèle du produit, j'ai contribué à faire évoluer nos pratiques pour améliorer la qualité du code, la fiabilité des livraisons et la sécurité de la plateforme.

Dépôt privé .internal · issue documentant une rotation de secret, avec étapes de vérification et traçabilité d'audit
Dépôt privé de gouvernance : chaque rotation de secret est documentée dans une issue, avec étapes de vérification et traçabilité pour l'audit

Les enjeux

Il fallait harmoniser les pratiques et automatiser davantage de contrôles, sans ajouter une couche de processus difficile à appliquer au quotidien. Il fallait aussi mieux tracer les changements et les décisions pour répondre aux exigences de sécurité et d'audit.

Ce qu'on a fait

Nous avons intégré la qualité et la sécurité directement dans le flux de développement. Les workflows GitHub Actions vérifient les dépendances, la qualité du code, les tests fonctionnels et les contrôles de sécurité avant chaque fusion. Nous avons également migré progressivement les tests de Cypress vers Playwright.

Les contrôles de sécurité portent notamment sur l'analyse du code et des dépendances, la détection de secrets et le suivi des vulnérabilités. Nous nous sommes appuyés sur CodeQL et Dependabot pour en automatiser une partie. Sur le front-end, OWASP ZAP analyse également l'application en fonctionnement afin de détecter des vulnérabilités qui ne ressortent pas de l'analyse statique. Nous avons enfin renforcé les workflows d'intégration continue en limitant leurs permissions et en maîtrisant les versions des actions utilisées.

La gouvernance s'appuie sur deux dépôts. Un dépôt .github public centralise les templates partagés pour les pull requests et les issues. Un dépôt privé rassemble les procédures et les éléments nécessaires à la traçabilité des audits. Les pull requests sont classées selon leur niveau de risque, de 🟢 à 🔴, afin d'adapter le niveau de contrôle au changement proposé.

Une documentation dédiée au front-end complète ce dispositif. Elle présente les règles de contribution, les bibliothèques et les outils utilisés, les conventions communes, ainsi que les choix techniques importants et les raisons qui les motivent. Elle permet à chacun de comprendre le cadre du projet et de contribuer sans dépendre uniquement des échanges oraux.

Les incidents, les retours arrière et les rotations de secrets sont documentés dans le dépôt privé. Drata sert de référentiel central pour le suivi de la conformité et des éléments de preuve. L'ensemble s'inscrit dans les pratiques liées au cycle de développement logiciel, à la gestion des changements et à l'évaluation TPN, fondée sur les bonnes pratiques de sécurité des contenus de la MPA.

Mon rôle

J'ai contribué à structurer ce chantier côté front-end et sur les pratiques partagées : workflows de développement, automatisation des contrôles, migration vers Playwright, sécurité applicative, gouvernance des dépôts et traçabilité des audits.

J'ai également participé à la documentation des pratiques front-end et accompagné leur adoption par l'équipe, à travers les échanges du quotidien et les revues de code. L'objectif était de rendre les contrôles plus automatiques, les livraisons plus fiables et les procédures simples à comprendre et à appliquer.

Ce que cela a permis

Les contrôles sont devenus plus systématiques, les livraisons plus reproductibles et les changements mieux tracés. L'équipe dispose de pratiques communes qui s'intègrent au travail quotidien tout en répondant aux besoins de sécurité, d'audit et de conformité.

Ce travail a également contribué à la montée en maturité de l'équipe et à la préparation de l'évaluation TPN de l'entreprise.