Aller au contenu
← Tous les articles

Open3CL : une librairie qui évolue avec la méthode 3CL

Florent Perinel
Open3CLDPE3CLOpen sourceQualité logicielle

Dans un précédent billet, nous présentions Open3CL, le moteur de calcul DPE open source que nous contribuons à faire vivre chez Red Froggy. Un moteur réglementaire pose une question que l’on retrouve rarement de façon aussi nette dans d’autres projets : comment faire évoluer un logiciel au rythme d’une réglementation qui change elle-même régulièrement ?

La méthode 3CL n’est pas figée. Elle fait l’objet de révisions successives, chacune pouvant modifier des formules, des coefficients ou des règles de gestion. Un moteur qui ne suivrait pas ces évolutions deviendrait rapidement faux. Voici comment nous abordons ce défi.

Un versioning calqué sur les révisions de la méthode

Le principe directeur est simple : chaque version du moteur est associée à une révision de la méthode 3CL. Ce couplage explicite entre version logicielle et version réglementaire change tout. Il permet à n’importe quel utilisateur de savoir, sans ambiguïté, quelle révision de la méthode un calcul applique.

Pour que cela reste lisible, deux outils sont indispensables :

  • Un changelog clair, qui trace ce qui change à chaque version et pourquoi.
  • Une roadmap publique, qui annonce les chantiers à venir.

À chaque publication d’une révision de la méthode, une feuille de route est mise en œuvre pour réaliser les modifications au plus vite, et ainsi rester toujours à jour. C’est une course de fond : l’objectif n’est pas seulement d’être juste aujourd’hui, mais de le rester demain.

Les corpus de tests, boussole de l’évolution

Faire évoluer un moteur de calcul sans filet, c’est prendre le risque d’introduire une régression invisible à chaque modification. Pour l’éviter, la démarche s’appuie sur des corpus de DPE réels : des dizaines de milliers de diagnostics rejoués automatiquement et comparés aux résultats attendus.

Ces corpus jouent un double rôle :

  • Mesurer le taux de conformité global du moteur, version après version, avec un seuil de tolérance défini.
  • Localiser précisément les écarts, pour prioriser les corrections là où elles ont le plus d’impact.

Les corpus se sont enrichis au fil du temps : maisons individuelles, appartements avec chauffage individuel, immeubles collectifs. Plus la couverture est large et représentative, plus la confiance dans le moteur est solide. C’est cette démarche qui transforme une intuition — « le calcul semble correct » — en une preuve mesurable.

Les chantiers en cours

Faire vivre Open3CL, c’est aussi investir dans sa structure interne et dans sa couverture fonctionnelle. Plusieurs chantiers structurants avancent en parallèle :

  • Une refonte technique pour organiser le code au plus près de la structure de la méthode (un découpage par article), afin de viser une couverture de tests complète et de faciliter l’audit comme la maintenance.
  • La fiabilisation des DPE collectifs, en particulier la génération des appartements à partir des données d’immeuble — un sujet complexe où la qualité fait toute la différence.
  • Un travail de fond sur la conformité, objectif de long terme pour rapprocher toujours davantage le moteur du résultat réglementaire attendu.

Ce que ce projet nous apprend

Open3CL illustre une conviction que nous portons sur tous nos projets : la qualité d’un logiciel ne se décrète pas, elle se maintient. Un versioning discipliné, un changelog honnête, une roadmap tenue et une base de tests exigeante ne sont pas des contraintes bureaucratiques — ce sont les conditions de la pérennité.

C’est d’autant plus vrai pour un commun open source, soutenu par l’association Open3CL et des entreprises contributrices comme Red Froggy ou Kardino, et ouvert à tous : la confiance se construit dans la transparence et se vérifie dans les chiffres.

Le projet est disponible sur GitHub. Les contributions sont les bienvenues.

Un projet en tête ?

Discutons de vos enjeux techniques — la première conversation est toujours gratuite.

Faisons connaissance