La DSI d’Enedis adopte une forge logicielle centralisée

Les applications d'Enedis sont essentiellement développées par sa DSI ©Benjamin Bechet

Enedis, la puissante filiale d’EDF en charge de la distribution de l’électricité en France, s’est doté d’une plateforme afin de centraliser les développements logiciels pour sa DSI et ses directions régionales. Enedis a fait appel à la société de services Ippon afin de bâtir cette solution complète de « Platform Engineering », baptisée Placide. Placide est une forge logicielle centralisée, basée sur GitLab, facilitant la mutualisation des ressources.

Un système d’information complexe chez Enedis

Les métiers d’Enedis sont spécifiques. L’entreprise gère 35,5 millions de compteurs Linky, 37,5 millions de clients et réalise un chiffre d’affaires de 15,2 milliards d’euros. L’entreprise emploie 40 000 salariés. Afin d’assurer ses missions, Enedis a mis en place un système d’information complexe basé sur un ensemble d’applications essentiellement développées par sa DSI.


Enedis gère un parc de 35,5 millions compteurs Linky



Placide est conçu pour servir la DSI d’Enedis et ses directions régionales

Placide est conçu pour servir l’ensemble de la Direction des Systèmes d’Information et des directions régionales. Elle a l’objectif de devenir la plateforme unique de CI-CD pour la DSI à long terme. Le CI-CD signifie Continuous Integration (intégration continue) et Continuous Distribution (distribution continue).


Le CI-CD sert à automatiser les tâches de développement logiciel et de mises en service. Ce processus comprend les phases de développement, de test (tests d’intégration, tests unitaires, tests de régression) et de déploiement, ainsi que la mise en place de l’orchestration des conteneurs.

Les applications d’Enedis sont multiples pour ses métiers (Photo Jean-Michel Nossant)

L’objectif est d’industrialiser les projets

Placide est une plateforme collaborative de gestion de code avec des outils DevOps. Elle délivre aussi des modèles prédéfinis pour les pipelines d’intégration et de déploiement du logiciel afin d’industrialiser les projets. Des modèles sont créés et maintenus par l’équipe Placide et par d’autres contributeurs au sein de la DSI, en suivant une approche Inner Source.

La plateforme Placide repose sur un socle GitLab Community comme base

La plateforme Placide repose sur un socle GitLab Community comme base. Elle est hébergée sur l’infrastructure HADOCK (Hébergement d’Applications DOCker sur Kubernetes onPremise), ainsi que sur le service AWS EKS. Elle est entièrement gérée « As Code » à l’aide des technologies Terraform , Ansible et Helm pour le déploiement.  L’approche utilisée est agile. Elle combine Scrum et Kanban afin d’assurer une gestion efficace du projet et encourager l’amélioration continue. 

Point clé, la maintenabilité et l’évolutivité de la solution sont primordiales. Des processus et des pratiques ont donc été mis en place pour garantir que la plateforme reste évolutive et maintenable à long terme. Les outils CI-CD courants sont des plateformes telles que Jenkins, GitLab, CircleCI, Travis CI ou Azure DevOps. Ils sont utilisés par les équipes de développement de logiciels pour automatiser les processus de construction, de test et de déploiement. Chez Enedis, c’est une base GitLab qui a été retenue.

500 projets sont en cours et doivent être suivis (Photo Joseph Melin)

Diverses plateformes et des équipes de maturité différente

Début 2021, Ippon décrit une situation dans laquelle la DSI d’Enedis devait gérer diverses plateformes CI-CD, permettant l’intégration et le déploiement de nouveaux développements applicatifs, et des équipes présentant des niveaux de maturité différents dans l’utilisation de ces plateformes.

La diversité initiale des solutions rendait difficile le suivi des 500 projets concernés

Les différentes équipes produits chez Enedis avaient développé leurs propres plateformes CI-CD spécifiques à leurs besoins, entraînant ainsi une gestion et une maintenance complexes. Cette diversité de solutions, avec des niveaux de maturité inégaux, rendait difficile le suivi des 500 projets concernés. Enedis a alors lancé un appel d’offre afin de créer une nouvelle plateforme centralisée pour reprendre le contrôle de la démarche.

Le projet Placide s’inscrite dans la démarche globale SRE (Site Reliability Engineering) portée par Enedis. SRE est l’ingénierie de la fiabilité des sites. C’est une approche d’ingénierie logicielle pour l’exploitation informatique. Les équipes de SRE utilisent des logiciels pour gérer des systèmes, résoudre des problèmes et automatiser des tâches liées à l’exploitation.

Des applications développées pour être sur site et dans le Cloud

La nouvelle plateforme devait gérer à la fois les applications « OnPremise » et « OnCloud », sur site et dans le Cloud. Elle devait encourager la réutilisation et éviter le redéveloppement systématique. Elle devait faciliter l’intégration de 500 projets sur la plateforme et en rendant les équipes produits plus autonomes.

1 260 utilisateurs actifs participent à l’écosystème de la plateforme Placide

Lors de ce projet, 2 658 référentiels de code ont été migrés ; 1 260 utilisateurs actifs participent à l’écosystème de la plateforme et 30 semaines de temps de build ont été cumulées sur les 30 derniers jours. Pour ce projet, les sociétés de services numériques Ippon et Klanik se sont associées. Elles ont mis en commun leur vision partagée du DevOps et du SRE. 

La phase de réponse a duré 18 mois et a servi à co-construire, avec Enedis, la future plateforme Placide. Le projet a démarré avec la conception et la mise en place d’un premier MVP (Minimum Viable Product) en octobre 2022. Placide est une plateforme conçue pour être résiliente et capable de passer à l’échelle (scalable), à l’état de l’art et qui est déployée sur le Cloud et sur site.

Une communauté active de 350 contributeurs

Placide draine une communauté d’experts DevOps qui partage des intégrations sur l’ensemble de l’écosystème Enedis, des bonnes pratiques pour délivrer de la valeur à leurs clients. La plateforme a engendré une communauté active avec 350 contributeurs qui échangent régulièrement depuis 9 mois.

La plateforme Placide centralise les fonctions de build et de déploiement

La plateforme Placide centralise les fonctions de build et de déploiement. Cela permet de mutualiser le code via des pipelines. La plateforme  regroupe et expose de manière unifiée les services de CI-CD disponibles, tels que les couloirs de mise en production, la qualimétrie et l’analyse statique de vulnérabilités.

Un processus d’accostage structuré a été mis en place, permettant aux projets de s’intégrer et d’être accompagnés sur la plateforme. En moyenne, les projets deviennent autonomes dès la semaine suivant leur accostage. Le processus d’accostage a été uniformisé pour les applications OnPremise et OnCloud. Une suite de gabarits CI/CD et des exemples de projets prêts à l’emploi sont fournis pour accélérer le time-to-market.


Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *