50 libellés de maquette sur 56 ressortent vides d'un million de fiches ACV
Un banc d'essai public a passé les libellés de matériaux de sept maquettes IFC réelles à deux bases ACV européennes : 50 requêtes sur 56 revenaient sans aucun résultat tant que le libellé partait de la maquette tel quel. Aucune base française n'y figure, et notre rejeu du module de nettoyage sur 18 libellés francophones réels ne déclenche aucune des 47 correspondances de synonymes du dépôt.
Par Steve Deguilly · Publié le
Le RSEE, le récapitulatif énergie-environnement d’un dossier RE2020, se monte en fin d’études. Il commence par une liste : celle des matériaux sortis de la maquette. Chaque ligne doit trouver sa fiche de données environnementales avant que le calcul démarre. Sur un banc d’essai public de 56 libellés tirés de maquettes réelles, 50 requêtes sur 56 revenaient vides d’une base d’environ un million de fiches, tant que le libellé partait de la maquette tel quel.
Le banc d’essai, llm-lca-material-match, est publié sur GitHub, et sa dernière ligne date les mesures de février 2026. Il compte 56 cas de matériaux tirés de sept maquettes IFC, le format dans lequel une maquette est livrée. Les maquettes viennent de Revit, ArchiCAD et Tekla. Les 56 cas sont passés à deux bases européennes, la suisse KBOB et l’allemande ÖKOBAUDAT. Aucune base française n’est testée, ni INIES ni la moindre FDES, et seul le mécanisme se transpose.
Deux scores, un seul compte
Le score dit « acceptable » vérifie seulement que le premier résultat tombe dans une famille admise, un béton rangé parmi les bétons. Le score « strict » vérifie que c’est la bonne entrée. C’est la valeur d’une fiche précise qui part dans le calcul, donc c’est le strict qui compte. Sur KBOB, il donne 10 cas sur 56 sans modèle de langage, 18 avec. Pour ÖKOBAUDAT, aucun score strict n’est publié.
« Ortbeton - bewehrt », zéro fiche
La recherche par nom d’ÖKOBAUDAT fonctionne en ET : un libellé de deux mots ne remonte que les fiches dont le nom contient les deux. « Ortbeton - bewehrt », béton coulé en place armé, revient donc vide. Le cas se répète 50 fois sur 56. Il reste 4 cas acceptables. Le dépôt corrige ça en extrayant du libellé un seul mot-clé allemand, et les requêtes vides tombent à zéro. Le geste tient dans un dictionnaire de 122 entrées, propre à la base allemande.
Dix-huit libellés français au test
Le module de préparation porte deux dictionnaires, un par base. Celui de la base suisse a 47 synonymes et aucune clé française. Celui de la base allemande a 122 entrées, dont cinq clés françaises : béton, acier, bois, isolation, verre. Ce module est du Python sans modèle, sans clé d’API et sans appel réseau. Il se rejoue en local. Nous l’avons passé sur 18 libellés tirés de deux maquettes IFC réelles en français : un export Revit 2017 et un export ArchiCAD, pris dans le corpus de test public du moteur web-ifc.
Sur les 18 libellés, le dictionnaire de synonymes ne s’est déclenché aucune fois. Un accent suffit à le montrer. « Beton coule sur place » déclenche, parce que « beton » est la clé néerlandaise du dictionnaire. « Béton coulé sur place » ne déclenche rien. Même mot, un accent.
Le nettoyage n’a rien abîmé : zéro libellé dégradé sur 18. Il a aussi peu retiré. Dix libellés sur 18 en sortent avec leur préfixe de projet intact, parce que la règle de retrait est une liste fermée, calée sur les sept maquettes du banc d’essai. 00_SGP_Béton Coulé sur place devient 00 SGP Béton Coulé sur place : les tirets bas passent en espaces, le bruit reste.
Onze libellés sur 18 ressortent de la couche allemande avec un vrai terme. Les onze passent par une seule des cinq clés françaises, béton. Les sept autres tombent sur un repli qui garde le mot le plus long : Maçonnerie, Métal, Repère, Divers, Stratifié, Etanchéité. Pour la ligne Finition int - Carrelage DragonGrey 30x60 CASALGRANDE, le mot retenu est Casalgrande, la marque du carreleur. Le dépôt le sait : sa quatrième recommandation demande l’ajout du français et de l’italien.
Un préfixe de projet que le nettoyage ne retire pas voyage jusqu’à la requête, où un seul mot reste pour la porter. Schéma de la rédaction, d’après notre rejeu du module de prétraitement au commit du 14 février 2026.
Le travail long, avant le calcul
L’ingénieur environnement, ou le thermicien qui monte le RSEE d’un dossier RE2020, reçoit cette liste et la rattache ligne à ligne : son poste coûteux est là, et il se dégrade au rythme du bruit dans les libellés. Le référent BIM, lui, tient la convention de nommage dans le gabarit de production, chez celui qui livre le fichier. Il agit en amont de la liste, sur ce qui y entrera.
Le gain, avant le modèle
Nettoyer le libellé avant toute recherche fait passer la base suisse de 16 à 28 cas acceptables sur 56, soit 21 points. Sur la base allemande, le nettoyage seul ne monte qu’à 10 cas sur 56 et laisse 45 requêtes vides. Ce qui change tout, c’est l’extraction d’un mot-clé allemand, puis la fusion de plusieurs termes de repli : de 4 cas sur 56 en requête brute à 49, soit 81 points, et les requêtes vides passent de 50 à zéro. Aucun de ces deux gains ne demande d’appel de modèle.
Confier au modèle de langage le choix de la fiche coûte plus qu’il ne rapporte. La correspondance exacte monte de 10 à 18 cas sur 56, huit cas gagnés, pour environ 0,03 dollar par requête et 1,6 fois plus de temps. Le détail par famille est publié, et il est inégal. Sur les 16 cas de béton, le prétraitement seul en range 10 dans la bonne catégorie, le reclassement 15. Sur les 5 cas de plâtre, le prétraitement en range 2, le reclassement aucun. Sur les 2 cas de membrane d’étanchéité, les deux étages donnent le même résultat. On branche donc ce second étage sur le béton, et on le laisse hors du plâtre.
INIES reste à tester
Ces chiffres sont suisses et allemands, et aucun ne porte sur la base française. Ce qui se transporte, c’est le mécanisme : le bruit d’outil dans les libellés, la recherche en ET qui renvoie zéro, le score qui s’effondre sur un mot commun à vingt fiches. Deux réserves sur le banc d’essai lui-même. Son auteur a fixé seul quels préfixes étaient acceptables, sans relecture par des pairs. Et son point de départ, 16 cas acceptables sur 56, applique la règle de score d’un travail universitaire de 2024 à un modèle plus récent : le dépôt mesure une réimplémentation, il n’établit pas un état de l’art.
La licence se lit avant de brancher quoi que ce soit. Le code est sous AGPL-3.0, texte joint au dépôt. Son article 13 vise le cas où l’on modifie le programme et où des tiers s’en servent à distance : il faut alors leur donner le code source de la version modifiée. Un usage interne de bureau d’études reste en dehors. Le cas visé commence quand une version modifiée passe derrière une interface web ouverte à des tiers. Ceci est une lecture de la clause, pas un conseil juridique.
Trois décomptes sur votre liste
Moins d’une minute pour dix-huit lignes, chronomètre en main : c’est ce qu’ont pris les trois décomptes qui suivent. La liste des matériaux s’exporte depuis n’importe quelle visionneuse IFC. On y compte trois choses. Combien de libellés portent un préfixe ou un suffixe d’outil ou de projet. Combien portent un identifiant numérique. Combien ne nomment aucune matière.
Les sept maquettes du banc d’essai donnent 76 libellés bruts pour 56 cas exploitables. La maquette de génie civil que nous avons ouverte en donne 13, dont 10 portent un préfixe de projet ; la maquette ArchiCAD en donne 5, dont un qui ne nomme aucune matière.
Si plus de la moitié des libellés sont touchés, le gain est d’abord dans la convention de nommage, et elle se règle chez celui qui livre le fichier. En dessous, la liste est assez propre pour juger les outils sur leur vrai terrain, la fiche exacte. Dans les deux cas, l’ingénieur environnement arrive au rendez-vous éditeur en sachant ce qu’il achète. Ce décompte ne dépend de personne.
Lire aussi
Sources
- Dépôt public llm-lca-material-match, README : banc d'essai de 56 cas sur 7 maquettes IFC, résultats KBOB et ÖKOBAUDAT, mention « Benchmark run: February 2026 » (commit du 14 février 2026, figé le 4 septembre 2026)
- Module ifc_matching/preprocessing.py du même dépôt, rejoué ligne à ligne : 47 correspondances de synonymes sans aucune clé française, 122 mots-clés vers l'allemand dont cinq clés françaises, retrait des préfixes d'outil (même commit)
- Texte de la GNU Affero General Public License v3, article 13 « Remote Network Interaction », joint au dépôt dans son fichier LICENSE au même commit (consulté le 4 septembre 2026)
- Corpus de test public du moteur web-ifc, dont les deux maquettes IFC francophones utilisées pour notre rejeu, un export Revit 2017 en version française et un export ArchiCAD (consulté le 4 septembre 2026)
Voyez ce que ça donne sur vos cas.
L’outil qui traite cette tâche est sur le site. Regardez ce qu’il donne sur vos propres documents.
Tester le pré-contrôle RE2020Ou parlons de votre cas : 30 minutes, gratuites →
À lire ensuite