Historique des versions
Évolutions de l'app interne, par ordre chronologique décroissant.
v1.0.53
13 juillet 2026
Nettoyage fiche terrain
- app Retrait des boutons « 🐛 Debug .docx » et « 📑 Versions » de la fiche terrain (outils de mise au point, hors usage courant) pour alléger la barre d'actions.
v1.0.52
13 juillet 2026
Mode sombre 🌙
- app Nouveau bouton 🌙/☀️ dans le header (et en coin flottant sur les pages sans header) pour basculer l'app en mode sombre. Le choix est mémorisé (persistant d'une session à l'autre) et respecte par défaut la préférence système au premier lancement.
- app Toutes les pages (dashboard, fiche terrain, carte, planning, stats, changelog, connexion) s'adaptent : fond, cartes, formulaires, modales, tableaux et badges gardent un contraste lisible en sombre.
v1.0.51
8 juillet 2026
Bibliothèque d'exemples : éditeur enrichi (gras / italique / souligné) + bouton « Modifier »
- fiche La modale 📋 Exemples dispose maintenant d'un éditeur de texte enrichi (boutons Gras / Italique / Souligné, raccourcis Ctrl+B / I / U) pour composer les modèles. La mise en forme est conservée jusque dans le rapport .docx (balisage léger
**gras** / *italique* / __souligné__ rendu en vrais caractères gras/italiques/soulignés à la génération).
- fiche Chaque modèle a désormais, en plus de « Insérer » et de la corbeille, un bouton ✏️ Modifier qui recharge le titre et le contenu dans l'éditeur (renommage possible). L'aperçu de la liste affiche la mise en forme.
- rapport Nouvelle passe de génération qui transforme le balisage léger des champs de prose en gras/italique/souligné Word — sans marqueur, le texte reste strictement identique (aucun impact sur les rapports existants).
v1.0.50
8 juillet 2026
Lit d'épandage (sols sableux) : narration §4.1/§4.2 calée sur les études de référence
- rapport §4.1 « Choix de la filière » — pour un lit d'épandage à faible profondeur, le rapport écrivait à tort « le contexte n'autorise pas… tranchées filtrantes ». Or un sol sableux perméable autorise les tranchées : le texte dit désormais « autorise… Seulement, compte tenu du caractère sableux…, il sera préférable d'installer un lit d'épandage à faible profondeur », conforme aux études Garcia (Marseillan) et Séguier (Vias).
- rapport §4.2 « Traitement des eaux usées » — pour le lit d'épandage, le rapport énonce maintenant la surface filtrante minimale puis recommande un lit standard (« lit d'épandage de 30 m², d'une largeur de 5 mètres et d'une longueur de 6 mètres »), avec l'encadré de pose. Auparavant seule la surface minimale brute était indiquée, sans dimensions ni marge de confort.
v1.0.49
6 juillet 2026
Dispositif d'infiltration / évacuation : bouton « 📋 Exemples » au lieu des exemples en dur
- fiche Le champ « Description dispositif infiltration / évacuation » a désormais un bouton 📋 Exemples à côté du libellé (comme les champs de prose), à la place de la liste d'exemples affichée en dessous. Les 4 modèles types (tranchées B3, lit d'épandage, rejet vers fossé, puits d'infiltration) sont pré-chargés dans la bibliothèque et insérables en un clic ; on peut aussi enregistrer le texte courant comme nouveau modèle réutilisable sur tous les dossiers.
v1.0.48
6 juillet 2026
Contexte hydrographique : deux dernières fautes de mise en forme du brouillon corrigées
- fiche Le brouillon « Contexte hydrographique » (🪄) écrit désormais « D'après la morphologie et la géomorphologie des paysages… » (l'article « la » manquait devant « géomorphologie ») et ajoute les virgules autour de la proposition d'écoulement — « …au sud-ouest du site, en direction de l'ouest, pour se jeter… » — pour coller à la ponctuation des rapports.
- fiche Complète les corrections de v1.0.45 (« de l'ouest » / « à l'est » au lieu de « du ouest », article défini devant les cours d'eau et plans d'eau, guillemets de pente retirés). Les textes déjà enregistrés avant ces correctifs restent figés : régénérer via le bouton 🪄 (écrasement sur confirmation) pour obtenir la version corrigée.
v1.0.47
6 juillet 2026
Filières préconisées : bloc unifié à deux types + catalogue complété + narration filtre à sable
- fiche La section Scénario & dimensionnement regroupe désormais un bloc « Filières préconisées » à deux types : la filière traditionnelle (choix unique — le scénario, avec le groupe « Aucune (contrainte du site) — direct agréée ») et les filières agréées proposées (choix multiples), suivis de l'accroche éditable.
- catalogue 3 dispositifs traditionnels ajoutés (liste désormais exhaustive vs DTU 64.1 / arrêté du 7 sept. 2009) : lit d'épandage à faible profondeur (sols sableux), lit filtrant drainé à flux horizontal et filtre à massif de zéolithe (5 EH max, fosse 5 m³, alerte cohérence si EH > 5).
- rapport Quand un filtre à sable / tertre / lit est retenu, le rapport le dit enfin : accroche §4.1 « il sera préconisé l'installation d'un « filtre à sable vertical non drainé » ou d'un système agréé… » (calée sur les études Balthazard / TP Christian), narration §4.2 « Traitement des eaux usées » (surface, largeur × longueur, encadré de pose, renvoi aux annexes), et conclusion « Fosse toutes eaux X L / Avec / Filtre à Sable… Y m² ».
- rapport Surface du filtre calculée automatiquement si non saisie : 5 m²/EH (min. 20 m²) — suggestion 💡 sur la fiche ; annexes dynamiques câblées (fiche « lit d'épandage » incluse ; lit horizontal et zéolithe à fournir).
- rapport Un scénario « filtre à sable » ne produit plus une conclusion auto « Tranchées d'épandage » ni une accroche muette sur la filière retenue ; les dossiers tranchées / agréées existants restent inchangés à l'octet près (vérifié sur 5 dossiers).
v1.0.46
6 juillet 2026
Fiabilité du code de formation BRGM vérifiée au point GPS
- fiche La section « Géologie BRGM » affiche désormais un verdict de fiabilité de la notation 1/50 000 calculé sur la carte vectorisée (BD Charm-50) : distance du point GPS au contact géologique le plus proche. À plus de 100 m d'un contact : « ✅ Formation franche au point GPS ». À moins de 100 m : « ⚠ à confirmer sur la carte », avec la liste des formations voisines (notation, distance, description au survol) — car l'imprécision du géocodage (±10-50 m) et celle de la carte harmonisée (1-2 mm à 1/50 000 = 50-100 m terrain) peuvent faire basculer la notation d'une formation à l'autre.
- fiche Si le champ saisi diffère de la valeur au point GPS (ex. vieux index litho 1/1M « 5 », ou notation de la feuille imprimée), une note le signale sans juger : la feuille imprimée peut légitimement différer de l'harmonisée.
- perf Vérification asynchrone après l'affichage de la fiche (endpoint dédié + cache serveur) : le chargement de la fiche reste instantané.
v1.0.45
5 juillet 2026
Contexte hydrographique : fautes de mise en forme du texte généré corrigées
- fiche Le brouillon « Contexte hydrographique » (🪄) applique désormais les règles du générateur de rapport : élision devant est/ouest (« en direction de l'ouest », « à l'est du site » — fini « du ouest »), article défini devant les cours d'eau et plans d'eau (« le canal du Rhône à Sète », « se jeter dans « l'étang de Thau » », « la Lergue » conservé tel quel), nom commun initial en minuscule (« le ruisseau de Lène »), et direction de pente sans guillemets superflus (« en direction du sud-est »).
v1.0.44
5 juillet 2026
Repères « § du rapport » sur les fiches + localisation et géomorphologie éditables
- fiche Badges « § du rapport » à côté de chaque champ et section des fiches (terrain et client) : ils indiquent où la donnée atterrit dans le rapport généré (ex. « §2.2 », « §4.1 », « Page de garde »), avec le titre de la partie et le détail en infobulle. La numérotation s'adapte automatiquement au dossier : sans sondages, « Choix & dimensionnement » devient § 3 et la conclusion § 4 (template Baloussier) — les badges basculent en direct quand on ajoute ou retire des sondages.
- fiche Deux nouveaux textes du rapport éditables avant génération, sur le modèle de « Hydrogéologie attendue » : « Localisation du site » (§ 2.1, « Les parcelles étudiées se situent… ») et « Géomorphologie (1er paragraphe) » (§ 2.2, « On se trouve, d'un point de vue géomorphologique… »). Champ vide = paragraphe généré automatiquement comme avant ; boutons « 🪄 Générer » (pré-remplit avec le texte exact que produirait le rapport) et « 📋 Exemples » (bibliothèque d'extraits). Toutes les grandes proses du rapport sont désormais relisibles et modifiables depuis la fiche, sans retoucher le .docx.
- compat Champs vides = rapports strictement inchangés (vérifié octet pour octet sur les deux templates).
v1.0.43
4 juillet 2026
§ 4.2 entièrement accordé aux filières sélectionnées
- rapport Audit complet du § 4.2 : toute la prose transverse s'accorde désormais à la sélection « Filières possibles » — intro micro-station (« principe de la culture libre » ou « de la culture fixée » quand une seule des deux familles est retenue, au lieu de « les principes de la culture libre ou fixée / Ces deux processus… »), ligne fabricants (« dispositifs de type « filière à boues activées » » seule, etc.), périodicité de vidange du « Conseil d'entretien » (compactes → 50 %, micro-stations → 30 %, les deux → « respectivement 50 % et 30 % », phrase retirée si plantée seule) et phrase « Dans tous les cas, à la suite du système… » du template sans sondages (énumération figée remplacée par les familles retenues).
- rapport Section « Filière plantée » insérée dans le template sans sondages (Baloussier) quand la filière plantée est sélectionnée : titre, description des filtres plantés, liste des dispositifs agréés (table FILIERE PLANTE selon l'EH) — sinon la puce du § 4.1 renvoyait vers un § 4.2 qui ne la décrivait jamais.
- compat Tous ces accords ne s'appliquent qu'à une sélection explicite : champ vide = rapports strictement inchangés (vérifié octet pour octet sur les deux templates).
v1.0.42
4 juillet 2026
§ 4.1 « Choix de la filière » : familles possibles sélectionnables + accroche éditable
- fiche terrain Nouveau groupe « Filières possibles pour le projet » (Scénario & dimensionnement) : cases Filière compacte / à boues activées / à cultures fixées / plantée. La sélection pilote les puces « de type : » du § 4.1, les sections descriptives et tables de dispositifs du § 4.2, la phrase d'énumération du § 4.2 et la ligne « filière agréée » de la conclusion. Non renseigné = sélection par défaut historique (compacte + boues + fixées, § 4.2 complet).
- fiche terrain Nouveau champ « Choix de la filière — accroche (§ 4.1) », sur le modèle d'« Hydrogéologie attendue » : vide = texte généré automatiquement (contexte rocheux, mode d'évacuation, scénario tranchées/rejet/infiltration) ; bouton 🪄 Générer pour pré-remplir avec le texte exact que produirait le rapport, puis l'éditer ; bouton 📋 Exemples (bibliothèque d'extraits). Une ligne = un paragraphe.
- rapport Nouveau mode
--emit-choix-filiere + endpoint /choix-filiere-auto : parité vérifiée avec le docx généré sur les 8 cas (rocheux × rejet/tranchées/infiltration × Béziat/Baloussier).
- compat Champs vides = rapports strictement inchangés (document.xml identique octet pour octet sur les dossiers existants, vérifié sur les deux templates).
v1.0.41
4 juillet 2026
Fiche terrain : « Mode d'alimentation du projet » remplace les cases captage
- fiche terrain Nouveau select « Mode d'alimentation du projet » (Conditions chantier) : réseau public, BRL, captage privé — forage / puits / source. Il remplace les trois cases « Captage sur la parcelle », « Captage à proximité » et « Usage AEP ».
- rapport Le mode d'alimentation pilote la ligne « Alimentation eau potable » de la table de synthèse (ex. « Captage Privé « Forage AEP » ») et la phrase captage du § 2.3 eaux souterraines (captage privé → « présent sur la parcelle — précautions à prendre » ; réseau public / BRL → « aucun forage et/ou puits AEP repéré »). Le garde-fou cohérence (distance 35 m captage/tranchées) et le dimensionnement automatique en tiennent compte.
- compat Les fiches existantes restent inchangées : tant que le nouveau champ est vide, le rapport continue de lire les anciennes cases (un rappel s'affiche sous le select le cas échéant).
- fiche terrain Champs « Talus — description » et « Réf. parcelle captage AEP voisin » retirés : vérification faite, ils n'étaient jamais lus par le générateur de rapport.
v1.0.40
4 juillet 2026
Boutons « 🪄 Générer » sur tous les champs auto-calculables (fiche client + fiche terrain)
- fiche terrain Un bouton 🪄 apparaît à côté de chaque champ calculable automatiquement : météo (Open-Meteo), bassin versant / ruisseau (nom, distance, direction) / pente (BDTOPO & MNT IGN), contexte hydrographique (synthèse), commune carte BRGM, code & nom de formation (BRGM 1/50 000 → 1/1M), géologie attendue, vulnérabilité sol & sensibilité aquifère (IDPR), aléas argiles / remontées de nappes (Géorisques), hydrogéologie attendue, qualification de perméabilité (DTU 64.1), dimensionnement (nb & longueur de tranchées, filière traditionnelle, évacuation), filière agréée (EH), eau potable.
- fiche client Boutons 🪄 sur : commune et code postal (géocodage BAN — GPS prioritaire, sinon adresse du terrain), département (préfixe du CP), nb pièces principales (= chambres + 1) et EH (= PP, convention DTU).
- app Contrairement au pré-remplissage au chargement (qui ne touche que les champs vides), le 🪄 est un geste explicite : il propose de remplacer la valeur en place (aperçu Actuel / Généré + confirmation), puis badge ✨ source. Les boutons dédiés existants (altitude 📐, K retenu ↺, épaisseur ↺, zone inondable 🗺, cadastre 🔍) restent inchangés.
- fiche terrain Le 🪄 « Aléa argiles / nappes » sait aussi conclure « Nulle » quand Géorisques a été interrogé et ne signale aucun aléa à la parcelle (l'auto-remplissage passif ne le faisait pas).
v1.0.39
4 juillet 2026
Fiche terrain — champ « Hydrogéologie attendue » (paragraphe §2.3 du rapport)
- fiche Les champs « Géologie attendue » et le nouveau champ « Hydrogéologie attendue » sont regroupés en fin de section « Affaire ».
- fiche « Hydrogéologie attendue » correspond au paragraphe « En ce qui concerne les eaux souterraines… » qui apparaît page 6 du rapport, juste avant l'encadré des aléas. Laissé vide, il reste généré automatiquement (nature du réservoir aquifère, risques de pollution, venue d'eau, captage) — aucun changement pour les rapports existants.
- fiche Bouton « 🪄 Générer » : pré-remplit le champ avec le texte automatique (issu du même moteur que le rapport) pour pouvoir l'éditer ; bouton « 📋 Exemples » : insérer / enregistrer un modèle réutilisable, comme pour la géologie.
v1.0.38
4 juillet 2026
Migration Géoportail → cartes.gouv.fr + géocodage BAN Géoplateforme
- fiche Le géocodage d'adresse (adresse → GPS, GPS → adresse) passe de
api-adresse.data.gouv.fr (API dépréciée, arrêt annoncé) au service officiel de la Géoplateforme IGN (data.geopf.fr/geocodage) — mêmes données BAN, même format, aucun changement visible.
- fiche Les liens « ↗ Géoportail » sous les cartes pointent désormais vers le nouveau visualiseur cartes.gouv.fr (le site geoportail.gouv.fr ferme en septembre 2026). Les libellés indiquent maintenant la vraie destination : cartes.gouv.fr, InfoTerre BRGM (géologie) ou Géorisques (aléas). Au passage, le lien « Vue aérienne + cadastre » ouvre bien les deux couches empilées (l'ancien lien Géoportail n'en affichait qu'une).
- app Aucun impact sur les figures du rapport ni sur les champs automatiques : les cartes et l'altimétrie utilisaient déjà la Géoplateforme (
data.geopf.fr), qui est l'infrastructure de cartes.gouv.fr.
v1.0.37
3 juillet 2026
Fiche client — « Type de projet (conclusion) » pilote la synthèse du rapport
- fiche Nouveau champ « Type de projet (conclusion) » dans la section 🏠 Projet : liste de choix (Habitation, Restauration, Camping/Mobil-home, Hébergement, Événement, Activité professionnelle, Équipement sportif, Lieu public…) avec champ libre pour « Autre type ».
- rapport La ligne « Type de projet » de la table de synthèse en conclusion reprend désormais ce choix (fini le « Maison d'Habitation » figé). Repli automatique sur « Maison d'Habitation » si le champ est laissé vide (aucune régression sur les dossiers existants).
v1.0.36
3 juillet 2026
Fiche client — nouveau document « Plan de division (géomètre) »
- fiche Ajout d'une case « Plan de division (géomètre) » dans la liste Documents fournis par le client (section 📝 Informations), après « Plan cadastral ».
- rapport Le document est repris automatiquement dans l'introduction du rapport (bloc « Documents fournis par le client »), comme les autres plans.
v1.0.35
3 juillet 2026
Fiche client — aléas « Radon » et « Feu de forêt » masqués
- fiche Le bloc « Aléas naturels (Géorisques) » n'affiche plus le radon ni le feu de forêt : sans objet pour une étude d'assainissement non collectif (déjà exclus du rapport). Restent affichés : retrait-gonflement des argiles, sismicité, inondation, mouvements de terrain, remontée de nappe, submersion marine.
v1.0.34
3 juillet 2026
Fiche client — aperçu « remontée de nappe » sans l'EAIP
- fiche L'aperçu de la carte « Aléa remontée de nappe » (bloc Cartes du terrain) est désormais nettoyé de l'aplat bleu clair EAIP, comme la figure n°7 du rapport — filtrage effectué directement dans le navigateur (canvas). La vue agrandie affiche aussi la version nettoyée.
v1.0.33
3 juillet 2026
Rapport — figure n°7 sans l'aléa inondation (EAIP)
- rapport La carte « remontée de nappe » (figure n°7) n'affiche plus l'aplat bleu clair des « Enveloppes Approchées des Inondations Potentielles » (EAIP), retiré de la carte et de la légende : cet aléa inondation est déjà traité par la figure n°5. La figure ne montre désormais que la remontée de nappe (débordement de cave, inondation de nappe, imperméable à l'affleurement).
v1.0.32
3 juillet 2026
Rapport — sommaire en police 9 pt
- rapport Les entrées du sommaire (titres de chapitres, sous-titres et numéros de page) passent uniformément à 9 pt pour un rendu plus compact ; le titre « SOMMAIRE » reste inchangé. La numérotation des pages reste recalculée automatiquement.
v1.0.31
2 juillet 2026
Rapport — page « Remarques importantes » : taille de police optimisée (10 pt)
- rapport La taille des 6 encadrés (« Remarques importantes » → « Suivi de chantier & pérennité ») est ajustée à 10 pt : taille optimale pour tenir sur une seule page tout en restant confortable à lire (le 9 pt de la v1.0.30 était un peu petit).
v1.0.30
2 juillet 2026
Rapport — page « Remarques importantes » recompactée (9 pt) + interligne avant le dernier paragraphe
- rapport Depuis le passage en Calibri (v1.0.29), la page 3 « Remarques importantes » débordait sur la page suivante. Les 6 encadrés (de « Remarques importantes » à « Suivi de chantier & pérennité ») sont repassés en taille 9 et tiennent de nouveau sur une seule page.
- rapport Ajout d'un saut de ligne entre l'encadré « ⚠ Les véhicules ne devront pas… » et le dernier paragraphe « Le service d'assainissement non-collectif compétent… » (fin de la section implantation), pour aérer la mise en page.
v1.0.29
2 juillet 2026
Rapport — mise en page : chapitres en début de page, police Calibri, remarques sans numéros
- rapport Chaque chapitre (1 à 5) démarre désormais en haut d'une nouvelle page. Auparavant les chapitres 3 (Sondages) et 4 (Dimensionnement) pouvaient se suivre sur la même page ; ils sont maintenant nettement séparés.
- rapport Police du rapport passée en Calibri (corps, titres, tableaux et encadrés) à la place d'Arial.
- rapport Page 3 « Remarques importantes » : les numéros devant chaque encadré (« 1. Modifications du projet… », « 2. Obligations de moyens… », etc.) ont été retirés ; seuls les intitulés restent.
v1.0.28
2 juillet 2026
Fiche — garde-fou « lithologie vs texture » corrigé (fin des fausses alertes)
- fiche Le contrôle de cohérence lithologie BRGM ↔ texture de sol observée déclenchait une alerte « texture inhabituelle » sur quasiment tous les dossiers réels — il comparait le texte libre de la fiche (« Limons +/- argileux », « Argiles bariolées ») à un vocabulaire figé en -euse (« argileuse », « limoneuse ») qui ne correspondait jamais, allant jusqu'à signaler « Argiles » vs « Argiles bariolées » comme incohérent.
- fiche Réécrit sur des racines lexicales (argil, limon, sabl…) appliquées aux deux côtés et sur la granulométrie dominante : l'alerte ne se déclenche plus que sur une contradiction franche (lithologie franchement argileuse face à une texture franchement sableuse/graveleuse, ou l'inverse). Les nuances limoneuses / calcaires / mixtes ne déclenchent plus rien.
v1.0.27
2 juillet 2026
Rapport — page 6 : l'aléa « Sismicité » retiré de l'encadré des aléas naturels
- rapport L'encadré « Attention — aléas naturels » de la page 6 ne mentionne plus la sismicité (sans objet pour une étude d'assainissement non collectif, comme le radon et le feu de forêt déjà exclus). Restent affichés : remontée de nappe, retrait-gonflement des argiles, inondation, mouvements de terrain, submersion marine.
v1.0.26
2 juillet 2026
Case « Zone inondable » calculée automatiquement (croisement PPRi réglementaire ⊕ Géorisques)
- fiche Sous la case « Zone inondable », une ligne de verdict croisé indique en clair si la parcelle est en zone d'aléa réglementé (🔴, PPRi opposable), hors zone d'aléa (🟢) ou à vérifier (🟠, aléa EAIP potentiel hors zonage PPRi) — avec le nom du PPR et la source retenue.
- fiche La case ne se coche plus automatiquement sur le seul aléa EAIP de Géorisques (enveloppe potentielle très large → faux positifs). L'auto-cochage n'a lieu que sur un verdict fiable : le point est en zone d'aléa du zonage PPRi réglementaire (opposable, au point exact).
- fiche Le bouton « Récupérer depuis GPS » applique désormais le verdict fiable dans les deux sens : il coche si la parcelle est en zone d'aléa réglementé, et décoche si le PPRi la classe hors zone d'aléa (l'hydrogéologue peut toujours re-cocher au vu d'une observation terrain).
v1.0.25
2 juillet 2026
Croisement PPRi réglementaire point-précis (zonage opposable ≠ aléa potentiel)
- géorisques Nouveau croisement du zonage PPRi réglementaire au point GPS exact (WMS GetFeatureInfo Géorisques, couches
PPRN_ZONE_INOND / PPRN_ZONE_SUBMAR). Distingue enfin le zonage opposable (rouge/bleu/précaution) de l'aléa inondation « présent » agrégé sur l'enveloppe potentielle EAIP (très large, non réglementaire).
- fiche Bloc « 🌊 Zonage PPRi réglementaire » sur la fiche client : nom du PPR, état, date d'approbation, libellé de zone + signification standardisée (« hors zone d'aléa », « Interdiction »…) et lien vers le règlement PDF. Verdict « hors de tout PPRi » si la parcelle n'est concernée par aucun zonage.
- rapport L'encadré « Attention — aléas naturels » énonce désormais une phrase factuelle sur le zonage PPRi (ex. « La parcelle est incluse dans le périmètre du PPRi de Frontignan (approuvé le 25/01/2012) mais hors zone d'aléa réglementée… ») et ne retient l'inondation / la submersion que si la parcelle est en zone d'aléa réglementée du type correspondant — fin des faux positifs EAIP.
v1.0.24
2 juillet 2026
Géologie plus précise (1/50 000) + fiabilisation des aléas Géorisques (adresse ≠ commune)
- géologie La fiche et le rapport affichent désormais la formation géologique au 1/50 000 (BD Charm-50, au point GPS exact) — bien plus précise que la lithologie nationale 1/1 000 000 (« Sables »). Ex. Frontignan : « Argiles sableuses, limons beiges et calcaires lacustres granuleux (Pliocène marin/continental) », feuille n°1016 SÈTE, notée « p1ct ».
- rapport Le §2.3 cite la feuille imprimée + la notation réelle même quand le champ « formation » avait été auto-rempli avec la valeur 1/1M — correction appliquée aussi aux dossiers existants, sans re-saisie. Les codes numériques hérités du 1/1M (« 6 ») ne polluent plus la clause « , notée « … » ».
- géorisques Correctif de fond : les aléas (retrait-gonflement des argiles, remontée de nappe, mouvement de terrain…) sont désormais lus au niveau de l'adresse et non plus rabattus sur le niveau communal. Un aléa présent sur la commune mais non caractérisé à la parcelle n'est plus affiché comme « présent » — cohérent avec les cartes PPRI inondation / remontée de nappe du rapport.
- rapport Dans l'encadré « Attention — aléas naturels », un aléa absent à la parcelle (site déjà interrogé sur Géorisques) affiche désormais « Non concerné » (pastille neutre) au lieu de « non renseigné », qui laissait croire à une donnée manquante.
- maintenance Ré-interrogation Géorisques des dossiers existants pour effacer les aléas « fantômes » hérités de l'ancien repli communal.
v1.0.23
30 juin 2026
Conclusion — « Réseau d'eau de surface » déduit des champs hydro quand le champ est vide
- conclusion La ligne « Réseau d'eau de surface » ne reste plus à « - » : si le champ dédié n'est pas saisi, elle est dérivée des mêmes données que le §2.2 — nom du cours d'eau + distance + direction (ex. « Ruisseau de Fozières à ~120 m au sud-sud-est »), sinon « Cours d'eau / Fossés à proximité », sinon « Absence à proximité immédiate ».
- rapport La saisie manuelle reste prioritaire (jamais écrasée). Les directions hétérogènes (« W », « N », « Sud sud est ») sont normalisées (« à l'ouest », « au nord », « au sud-sud-est »).
v1.0.22
30 juin 2026
Conclusion — « Eau/Hydromorphie » déduite des sondages quand le champ est vide
- conclusion La ligne « Eau/Hydromorphie » ne reste plus vide (« - ») : si le champ Niveau d'eau n'est pas saisi, elle est désormais dérivée des observations de sondage — venue d'eau cochée → « Oui — venue d'eau à -1,30 m », indice d'hydromorphie ou horizon engorgé dans une description → « Oui (…) », sondages secs → « Non » (comme le rapport de référence).
- rapport La saisie manuelle Niveau d'eau reste prioritaire (jamais écrasée). Les tournures niées (« sans trace d'oxydation ou d'hydromorphie ») sont correctement lues comme « sec ».
v1.0.21
30 juin 2026
Conclusion — la saisie « surface nue » d'évacuation bascule sur le détail riche
- conclusion Évacuation par infiltration : quand le champ « Évacuation » contient seulement une surface (ex. « 6,5m² ») cohérente avec la superficie calculée, le rapport affiche désormais automatiquement le détail complet (« Superficie d'infiltration 6,50 m² / Lit d'infiltration 2 x 3,25 ml (sans ou avec tunnels d'infiltration (x4)) »), sans avoir à vider ni rééditer la fiche.
- rapport Garde-fou conservé : une vraie phrase ou un nombre différent saisi à la main reste affiché tel quel (jamais d'écrasement d'une saisie volontaire).
v1.0.20
29 juin 2026
Page 15 + Conclusion — encadré « attention » regroupé & synthèse enrichie
- rapport Page 15 : le paragraphe « Les regards de répartition et de bouclage devront rester accessibles… » est désormais intégré dans l'encadré ⚠️ « attention » juste au-dessus (sous « Les véhicules ne devront pas… », séparé d'une ligne). Fonctionne aussi en mode rejet (« Le regard de visite… vers l'exutoire »).
- conclusion Dimensionnement : préfixe du nombre de chambres quand il est saisi (ex. « 5ch - 6 P.P = 6 EH »).
- conclusion Texture et structure du sol : composée à partir de la « Nature du sol observée » de chaque essai, complétée du descripteur de structure (ex. « Limons argileux / Argiles / Grumeleux à Plastiques »).
- conclusion Système à emprise au sol réduite : la valeur auto donne la liste exhaustive des familles (« Filière compacte / Micro-station / Filière plantée — X EH »).
- conclusion Évacuation par infiltration : la valeur auto détaille superficie + lit + tunnels (ex. « Superficie d'infiltration 6,50 m² / Lit d'infiltration 2 x 3,25 ml (sans ou avec tunnels d'infiltration (x4)) »).
v1.0.19
29 juin 2026
§4.2 — un seul saut de ligne après le paragraphe « En sortie du système retenu… »
- rapport La suppression de l'encadré en doublon (v1.0.18) laissait deux paragraphes vides adjacents après la phrase « …pour assurer au mieux l'infiltration des eaux traitées dans le sol. ». Le retrait de l'encadré supprime désormais aussi le vide surnuméraire → un seul retour à la ligne.
v1.0.18
29 juin 2026
§4.2 — suppression de l'encadré « Attention » en doublon (page 14)
- rapport Le premier encadré « Attention : Celles-ci devront être réalisées de niveau… pour permettre une bonne dispersion et infiltration des eaux traitées » faisait double emploi avec l'encadré « Attention » suivant (même consigne « réalisées de niveau, le plus proche possible de la surface du sol »). Il est désormais supprimé hors mode rejet : une seule consigne, plus de redondance.
- rapport En mode rejet, ce paragraphe reste affiché car il porte une consigne distincte (« le point de rejet devra être aménagé… vers l'exutoire ») — comportement inchangé.
v1.0.17
29 juin 2026
§4.2 — encadré « Attention » conservé dans son cadre coloré
- rapport Les nouvelles clauses du §4.2 (v1.0.16) restent désormais dans l'encadré « Attention » coloré d'origine : la mise en page (cadre rose, texte centré en gras) est identique à avant, seul le contenu s'enrichit. Correctif de l'ancre d'enrobage, que l'ajout de « ou de piscine » faisait sauter.
v1.0.16
29 juin 2026
§4.2 — encadré « Attention » de pose adapté au site
- rapport L'encadré « Attention » du §4.2 (page « Situation du dispositif ») n'est plus un texte générique figé : le vocabulaire suit la filière retenue (« lit d'infiltration » pour une filière agréée + infiltration, « tranchées d'infiltration » pour un épandage), comme dans les rapports experts.
- rapport Quand un substratum rocheux est détecté (sondages / texture), deux clauses sont ajoutées automatiquement : brise-roche nécessaire à la mise en œuvre, et fracturation du fond de forme s'il repose sur l'horizon rocheux (calcaire) — pour éviter toute montée en charge.
- rapport Ajout de deux clauses de bonne pratique : poste de relevage (formulation conditionnelle « suivant l'emplacement… ») et recouvrement gravier 20/30 cm. L'encadré reste sans objet en mode rejet (consigne de pose de la canalisation vers l'exutoire, inchangée).
v1.0.15
29 juin 2026
§4.2 — lit d'infiltration calé sur la convention « tunnels »
- rapport La longueur des rangées du lit d'infiltration est désormais calée sur la largeur du module standard de tunnels (~0,92 m) : une maison standard (6 m²) affiche « 2 × 3,25 ml (×4 tunnels) », identique aux rapports experts (avant : « 2 × 3 ml »). Le nombre de tunnels suit la surface.
v1.0.14
29 juin 2026
§4.2 — évacuation des eaux traitées en sortie de filière agréée (format « surface »)
- rapport Le paragraphe « Évacuation des eaux traitées » du §4.2 est réécrit dans le format des études expertes : la sortie d'une filière agréée est désormais exprimée en surface minimale d'infiltration (« une superficie minimale d'infiltration de X m² soit un lit d'infiltration de 2 × Y ml, sans ou avec tunnels d'infiltration (×4) »), déduite automatiquement de l'EH — au lieu d'un linéaire de tranchées hérité de l'épandage traditionnel.
- cohérence La liste des familles de filières du §4.2 (« filière compacte, filière à boues activées ou filière à cultures fixées ») est alignée sur le §4.1 (fini « filtres compacts ou filtres plantés »), et la ligne « Évacuation » de la synthèse §5 affiche la même surface que le §4.2 (plus de chiffre contradictoire « 20 ml … (2×3,25ml) »).
v1.0.13
29 juin 2026
§4.2 — sous-titres de filières insécables et mise en forme uniforme
- mise en page Les trois sous-titres de filières agréées du §4.2 (« Filière compacte », « Micro-Station d'épuration » et « Filière plantée ») sont désormais insécables : le titre ne peut plus se retrouver seul en bas de page, séparé de son paragraphe (
keepNext + keepLines). Ils reçoivent tous la même mise en forme — un seul espace uniforme entre le titre et le paragraphe, sans ligne vide intercalée héritée du modèle.
v1.0.12
29 juin 2026
§2.3 — interligne resserré entre les deux paragraphes
- mise en page Dans le Contexte géologique et hydrogéologique (§2.3), le paragraphe vide qui séparait la phrase sur la formation géologique de la narration « En ce qui concerne les eaux souterraines… » est supprimé : un seul interligne subsiste entre les deux paragraphes (alignement sur le modèle de référence). Sans effet sur les rapports sans sondages (déjà au bon format).
v1.0.11
26 juin 2026
Échelle de perméabilité alignée sur le NF DTU 64.1 (2013)
- perméabilité K La qualification du sol selon le coefficient K (Porchet) suit désormais le Tableau 1 du NF DTU 64.1 P1-1 (2013-08) : 15–30 mm/h → perméabilité médiocre, 30–50 → moyennement perméable, 50–200 → perméable, > 200 → très perméable. Sous 15 mm/h (renvoi Annexe B du DTU, sans libellé) : peu perméable (6–15) / imperméable (< 6).
- cohérence Même barème dans les 4 emplacements qui divergeaient (rapport, calcul auto fiche, menu déroulant, suggestion) — le libellé affiché dans le rapport, la colonne « Nature du sol » et la fiche sont maintenant identiques. Les qualifications déjà saisies à la main ne sont jamais écrasées (anciens enregistrements conservés).
v1.0.10
26 juin 2026
Rapport §3.1 — renvoi « et coupe géologique en Annexe »
- renvoi annexe Sous §3.1 « Coupe verticale des sols », le renvoi devient « Voir plan d'implantation et coupe géologique en Annexe. » dès qu'une coupe lithologique sera bien jointe en annexe (annexe n°3, générée automatiquement à partir des sondages décrits). À l'identique du rapport-modèle Siguie. Le second renvoi (sous la perméabilité) reste inchangé, et si aucun sondage n'est décrit, l'ancienne formulation « Voir plan d'implantation en Annexe. » est conservée.
v1.0.9
26 juin 2026
Bibliothèque d'exemples — description éditable à l'enregistrement
- UX La modale « Exemples » dispose maintenant d'une zone de description dédiée pour créer un modèle : pré-remplie avec le texte courant du champ, mais entièrement éditable (on peut écrire la description directement, sans passer par le champ de la fiche). Avant, seul le titre était saisissable et le contenu était implicitement celui du champ.
v1.0.8
26 juin 2026
Fiche — champ « Géologie attendue » extensible + bibliothèque d'exemples
- saisie facilitée Le champ « Géologie attendue » devient une zone de texte auto-extensible (s'agrandit au fur et à mesure de la frappe) — plus pratique pour coller une description géologique complète.
- bibliothèque d'exemples Un bouton « 📋 Exemples » ouvre une bibliothèque de modèles réutilisables : insérer un exemple d'un clic, en enregistrer de nouveaux, en supprimer. Pré-rempli avec 3 modèles (calcaires karstiques, marnes/argiles, socle cristallin). Les modèles sont partagés sur tous les dossiers.
v1.0.7
26 juin 2026
Rapport §2.3 — narration hydrogéologique automatique
- eaux souterraines Le paragraphe « En ce qui concerne les eaux souterraines… » est désormais rédigé automatiquement dans le style des rapports manuels, selon la période géologique (Jurassique, Crétacé…) et la famille lithologique du terrain : réservoir karstique pour les calcaires, niveau imperméable pour les marnes, socle fracturé, nappe d'accompagnement pour les alluvions, etc. La phrase « risques de pollution » s'adapte au niveau de sensibilité de l'aquifère.
- saisie experte prioritaire Si le champ « Sensibilité de l'aquifère » contient une vraie phrase rédigée, elle est reprise telle quelle (override). Sinon, narration auto.
- cohérence La vulnérabilité du sol n'est plus répétée dans ce paragraphe (elle figure déjà sous la Figure n°9) ; la mention finale devient « Aucun forage et/ou puits « AEP »… », au plus près du modèle.
v1.0.6
26 juin 2026
Rapport §2.3 — notation de la formation géologique (« notée « J8 » »)
- notation BRGM Le §2.3 ajoute désormais la notation de la formation en fin de phrase, dans l'esprit des rapports rédigés à la main — « …les terrains du secteur sont constitués de calcaires du Kimméridgien supérieur, notée « J8 ». »
- hybride manuel + auto La notation provient en priorité du champ « Code BRGM » de la fiche (lu sur la légende imprimée 1/50 000, ex. J8) ; à défaut, elle est déduite automatiquement de la base géologique locale au point GPS (notation harmonisée BD Charm-50, ex. j6G). Si aucun code n'est disponible, la notation est simplement omise.
v1.0.5
26 juin 2026
Rapport — préposition correcte pour la direction du cours d'eau
- orientation La direction du cours d'eau le plus proche est désormais écrite en toutes lettres avec la bonne préposition : « à environ 1502 m à l'est du site » (et non plus « au E »). Règle appliquée à toutes les orientations — au nord / au sud / à l'est / à l'ouest et leurs intermédiaires (au nord-est, au sud-ouest…) — à partir de l'abréviation fournie par l'enrichissement IGN (N/NE/E/SE/S/SW/W/NW) comme du texte saisi à la main.
v1.0.4
26 juin 2026
Rapport §2.2 — contexte géomorphologique & hydrographique automatisé
- géomorphologie Le §2.2 ouvre désormais sur une phrase géomorphologique dans l'esprit des rapports rédigés à la main — « On se trouve, d'un point de vue géomorphologique, sur une formation du Mésozoïque (Jurassique). » L'ère et la période sont déduites automatiquement du nom d'étage présent dans la formation BRGM (« Kimméridgien » → Jurassique → Mésozoïque, lexique des étages du Trias au Précambrien). Si l'étage n'est pas reconnu (granite, alluvions…), la phrase est simplement omise.
- altitude Le §2.2 indique maintenant l'altitude moyenne du site — « Le site d'étude est positionné à une altitude moyenne d'environ 107 m NGF (selon la carte IGN 1/25 000ème). » — à partir de l'altitude déjà récupérée auprès de l'IGN (jusqu'ici affichée seulement dans le tableau des coordonnées).
- zone inondable regroupée L'information cours d'eau + zone inondable forme désormais une seule phrase cohérente — « Du point de vue hydrographique, il n'existe pas sur le secteur de cours d'eau et d'après les données de la DREAL Occitanie, le terrain ne se situe pas en zone inondable. » — au lieu d'apparaître sur une ligne isolée (ex. « Inexistant - Absent »).
- texte libre Le champ libre « contexte hydrographique » n'écrase la rédaction automatique que s'il contient une vraie phrase ; un simple raccourci de saisie est ignoré au profit du texte composé depuis les données (altitude, cours d'eau, zone inondable). Le détail de la formation géologique n'est plus répété au §2.2 (il reste au §2.3).
v1.0.3
26 juin 2026
Rapport §2.1 — distance & orientation depuis le centre-ville
- localisation Quand la parcelle n'est pas au cœur du bourg (à plus de 500 m de la mairie), le §2.1 « Localisation du site » précise désormais automatiquement la distance approximative et l'orientation par rapport au centre-ville — « La parcelle étudiée se situe à environ 1,4 km à l'ouest du centre-ville (mairie) de Sète 34200, 109 chemin du Belberet. » La distance (grand-cercle) et l'orientation (rose des vents à 32 quarts, ex. « ouest-1/4nord-ouest ») sont calculées depuis les coordonnées GPS du point et la position de la mairie (geo.api.gouv.fr).
- repli Si la parcelle est au centre du bourg, sans coordonnées GPS, ou si la mairie est introuvable (réseau), le paragraphe conserve la tournure neutre « Les parcelles étudiées se situent sur la commune de… ».
v1.0.2
26 juin 2026
Introduction du rapport : demandeur tiers & cadre de l'étude
- demandeur tiers Nouveau champ « Demandeur » (+ adresse) dans la section Projet de la fiche client : quand une étude est commandée par un tiers (entreprise, notaire, architecte…) « pour le compte de » du client, l'introduction du rapport le mentionne automatiquement — « À la demande la SAS X représentée par M. Y, … et pour le compte de M. Z, … ». Laissé vide, l'intro garde la tournure classique « À la demande et pour le compte de {client} ».
- cadre de l'étude La phrase « Cette étude s'inscrit dans le cadre d'un projet de… » reflète désormais le cadre administratif réel (Réhabilitation / Permis de construire / Permis d'aménager) et le type d'occupation (ex. « réhabilitation d'habitation (maison individuelle) ») au lieu de la prestation commerciale (« vente immobilière… »).
- phrase rétablie La 2ᵉ phrase de l'objet de la mission (« Elle a pour but de choisir et de dimensionner un dispositif… »), jusqu'ici effacée à la génération, est de nouveau présente. Mention
(ANC) ajoutée à l'intro.
v1.0.1
23 juin 2026
Header global sur toutes les pages
- charte graphique Le header sombre unifié (logo + navigation Carte / Planning / Stats + menu utilisateur) est désormais présent sur les pages Carte, Planning, Tableau de bord et Historique des versions, et plus seulement sur la liste clients. Le logo renvoie à la liste des clients et la page courante est mise en évidence dans le menu.
- nettoyage Les anciennes barres de liens propres à chaque page ont été retirées (navigation centralisée dans le header) ; les contrôles fonctionnels (préréglages carte, filtres, export .ics) sont conservés.
v1.0.0
23 juin 2026
🚀 Mise en production — version 1.0
- jalon Première version stable de l'app interne, mise en production. Gestion clients, fiches terrain, sondages & essais Porchet, cartes, planning, statistiques et génération du rapport d'étude de sol .docx/PDF.
- charte graphique Header unifié avec le site vitrine aquasolenvironnement.fr : fond sombre anthracite, logo Aquasol Environnement et liens de navigation au même style. Cohérence visuelle entre le site public et l'espace interne (page de connexion alignée également).
v0.9.163
Juin 2026
Fiche — 🎲 Triche : générer sondages + essais depuis un K
- nouveau Bouton 🎲 Triche dans la section Sondages : on saisit un K cible (mm/h) et l'app invente 2 sondages + 2 essais Porchet plausibles et cohérents avec ce K. Outil de saisie rapide, tirage aléatoire (couleur, humidité, profondeurs, lithologie) → deux clics ne donnent pas le même résultat.
- cohérence La lithologie suit la perméabilité visée (graves/sables pour K élevé → argiles plastiques pour K faible), calée sur les seuils de qualification et sur les formulations des vraies études. Les essais Porchet sont calculés pour que la formule retombe sur le K ; le K retenu + la qualification sont posés sur la fiche.
- non destructif La triche ajoute les lignes (numéros à la suite) sans supprimer les sondages/essais existants. Une confirmation prévient si la fiche en contient déjà.
v0.9.162
Juin 2026
Rapport §3.1 — sondages : seul le début de ligne en gras
- correctif Dans la coupe verticale des sols (§3.1), toute la description du sondage s'affichait en gras. Désormais, seul le début reste en gras — le titre (« TM Générale (Tarière Mécanique n°1 et n°2) ») et le préfixe de profondeur (« - de 0,00m à 0,40/0,75m de profondeur / surface du sol : ») — tandis que la description lithologique qui suit le « : » passe en texte normal, conforme à l'exemple corrigé.
v0.9.161
Juin 2026
Rapport §4.2 — paragraphe « fosse toutes eaux / décanteur primaire »
- correctif Pour les rapports avec sondages (modèle Béziat), le paragraphe de description du prétraitement manquait sous le titre « Prétraitement / Traitement des eaux usées ». Il est désormais rétabli (« En amont du dispositif de traitement, c'est la fosse toutes eaux ou décanteur primaire… Sa vérification et son entretien sont nécessaires… »), à l'identique du modèle Baloussier.
v0.9.160
Juin 2026
Rapport §4.1 — liste des filières agréées + accroche corrigée
- correctif Les tableaux de la section Micro-Station (boues activées + cultures fixées) s'inséraient au milieu de la liste des filières du §4.1 au lieu du §4.2 (mauvaise ancre « Filière plantée »). Ils sont désormais correctement placés au §4.2.
- rapport Le §4.1 liste maintenant les trois familles à emprise réduite réellement retenues : Filière compacte, Filière à boues activées et Filière à cultures fixées (au lieu de « compacte / plantée »).
- rapport L'accroche est rescindée proprement : la justification technique (« … un filtre à sable vertical non drainé parait le plus adapté ») rejoint le constat, et « Seulement, … de type : » introduit seul la liste des puces.
v0.9.159
Juin 2026
Sondages — motif d'arrêt (refus / volontaire) + cause du refus
- nouveau Sur chaque sondage, un sélecteur « Motif d'arrêt » : Arrêt par refus ou Arrêt volontaire (profondeur atteinte).
- nouveau En cas de refus, une cause au choix : Roche, Venue d'eau, Matériel de sondage ou Autre anomalie (racine, câble réseau… — avec précision libre).
- rapport La ligne d'arrêt du § sondages est formulée en conséquence (« refus sur roche », « arrêt sur venue d'eau », « refus sur le matériel de sondage », « refus sur … » ou « arrêt volontaire »). Un refus sur eau / matériel / racine n'est plus interprété à tort comme un substratum rocheux (§4.1).
v0.9.158
Juin 2026
Rapport — perméabilité retenue mise en gras
- amélioration Dans les deux phrases de conclusion sur la perméabilité, la valeur K (ex. « 64 mm/h ») et la qualification entre guillemets (ex. « perméabilité moyenne ») sont désormais mises en gras pour les faire ressortir.
v0.9.157
Juin 2026
Correctif — rafraîchissement du cache (calcul K Porchet figé)
- fix Le calcul automatique du K (essais de perméabilité Porchet) pouvait ne plus se déclencher sur certains postes : le navigateur servait une version périmée du code mise en cache par le service worker (PWA). Le cache a été versionné à neuf (sw.js + scripts), ce qui force tous les postes à recharger le code à jour.
- Astuce si le souci persiste : recharger la page avec Ctrl+Maj+R (rechargement forcé).
v0.9.156
Juin 2026
Rapport — coefficients de perméabilité K arrondis à l'unité
- amélioration Tous les coefficients de perméabilité K (mm/h) sont désormais arrondis à l'unité dans le rapport (plus de décimales) : perméabilité retenue, table des essais Porchet, § charge hydraulique, nature du sol et table de synthèse.
v0.9.155
Juin 2026
Sondages — fusion des descriptions identiques en un « sondage général »
- amélioration Dans le rapport (§ « Coupe verticale des sols »), les sondages dont la description lithologique est identique sont regroupés en un seul bloc « TM Générale (… n°1 et n°2) » pour ne plus répéter le même texte.
- Quand seules les profondeurs diffèrent, la ligne combine les profondeurs (« de 0,00m à 0,40/0,75m… ») et précise le détail par sondage (« arrêt par refus sur roche calcaire (TM1 = 0,75m/TN et TM2 = 0,40m/TN) »).
- Les sondages aux descriptions distinctes restent affichés individuellement (repli prudent pour les descriptions multi-couches).
v0.9.154
Juin 2026
Nombre de chambres — phrase « eaux usées à traiter » enrichie dans le rapport
- nouveau Champ Nb chambres dans la fiche client (section « 🏠 Projet » + formulaire de création).
- Dans le rapport, la phrase « Les eaux usées à traiter proviendront de la maison d'habitation… » indique désormais le nombre de chambres et en déduit les pièces principales (chambres + 1) et la capacité d'accueil (chambres + 2 à chambres + 3 personnes). Ex. : 3 chambres → 4 pièces principales, capacité 5 à 6 personnes.
- Repli automatique sur l'ancienne formulation (pièces principales + EH) si le nombre de chambres n'est pas renseigné.
v0.9.153
Juin 2026
Vulnérabilité du site — vocabulaire aligné sur la légende de la carte (Figure n°9)
- fix Le champ Vulnérabilité sol de la fiche reprend désormais les 3 classes de la légende de la carte de vulnérabilité : Grande, Moyenne, Faible vulnérabilité (au lieu de « Nulle / Faible / Forte »).
- Dans le rapport, la phrase « Site classé en zone de vulnérabilité « … » » (synthèse + Figure n°9) et la narration §2.3 utilisent ce même vocabulaire (« grande / moyenne / faible »).
- Pré-remplissage automatique depuis l'IDPR BRGM recalé sur ces 3 classes ; les anciennes fiches (« forte / nulle ») sont remappées à la volée dans le rapport.
- La sensibilité de l'aquifère conserve son propre libellé (Forte / Faible / Nulle), désormais découplée du calcul de vulnérabilité.
v0.9.152
Juin 2026
Type de projet — « Maison d'Habitation Individuelle (Résidence en cours de vente) »
- Nouvelle option de type de projet dans la fiche client : « Maison d'Habitation Individuelle (Résidence en cours de vente) ».
- Reprise dans le rapport : introduction (« Cette étude s'inscrit dans le cadre d'un projet de vente d'une maison d'habitation individuelle (résidence en cours de vente) ») et table de synthèse en conclusion (« Projet de « Vente de résidence » »).
- Badge dédié affiché dans la liste des clients et le planning.
v0.9.151
Juin 2026
Documents fournis par le client — vue en plan, plan topographique et rapport SPANC daté
- « Plan du projet » devient « Vue en plan ».
- Ajout de la case « Plan topographique ».
- Ajout du « Rapport SPANC » de contrôle de bon fonctionnement et d'entretien de l'installation ANC, avec dates de contrôle sélectionnables (sélecteur de date + ajout, plusieurs dates possibles : « … du 16/07/2018 et du 28/11/2023 »).
- Ces nouveaux éléments sont repris dans l'introduction du rapport au même titre que les autres documents.
v0.9.150
Juin 2026
Essais Porchet — valeurs par défaut hauteur de trou et section tube
- À la création d'un essai Porchet, la hauteur du trou est pré-remplie à 14 cm et la section du tube à 15,2 cm² (valeurs usuelles de référence), les deux restant modifiables.
v0.9.149
Juin 2026
SPANC — coordonnées des EPCI restants complétées
- DATA Coordonnées renseignées pour Lunel Agglo, Lodévois et Larzac, Cévennes Gangeoises et Suménoises, Minervois au Caroux : 16 EPCI sur 17 ont désormais un contact. Seul le Haut-Languedoc reste à compléter (données en ligne ambiguës, à ne pas confondre avec la CC des Monts de Lacaune dans le Tarn).
- Le pré-remplissage comble désormais automatiquement les champs vides d'une fiche SPANC existante au redéploiement, sans jamais écraser une saisie manuelle.
v0.9.148
Juin 2026
Fiche client — SPANC compétent détecté automatiquement
- FEAT Nouvelle section « 🏛 SPANC compétent » sur la fiche client : l'intercommunalité (EPCI) responsable de l'assainissement non collectif est déduite automatiquement du point GPS (ou de l'adresse), via
geo.api.gouv.fr — en même temps que le cadastre, la géologie et les aléas.
- FEAT Pour chaque SPANC, une fiche de référence éditable : nom du service, adresse, téléphone, email, site web, tarifs des contrôles (conception / bonne exécution / vente) et notes. Saisis une seule fois par intercommunalité, ils sont réutilisés sur tous les dossiers de cette même intercommunalité.
- DATA Les 17 EPCI de l'Hérault sont pré-chargés ; les coordonnées des principaux SPANC (Béziers, Sète, Pézenas/CAHM, Pays de l'Or, Vallée de l'Hérault, Grand Pic Saint-Loup, Sud-Hérault, Avant-Monts, Clermontais, Grand Orb, Domitienne, Montpellier 3M) sont pré-remplies — à vérifier et compléter au fil des dossiers.
- Bouton « 🏛 Détecter depuis le GPS » / « ↻ Actualiser » pour (re)déterminer le SPANC à tout moment.
v0.9.147
Juin 2026
Rapport — derniers cas de l'audit agréments (Actibloc, Ecoflo, Biorock)
- Actibloc : l'agrément N°2010-004, supprimé et remplacé au JO, est remplacé par les numéros actuels — Actibloc SL 4 EH → N°2012-009-mod01-ext08, 6 EH → N°2012-009-mod01-ext10 (modèle renommé 3500-2500 SL, le 3500-3500 étant le 8 EH), 8 EH → ext11, 18000DP 20 EH → N°2012-009-mod01.
- Ecoflo modèle 4 EH (onglet 3EH) : N°2012-016-ext10 → N°2012-026-ext10 (ECOFLO Polyéthylène 4 ; l'onglet 4EH avait déjà la bonne valeur).
- « Biorock » en cultures fixées 5 EH : renommé Monocuve T6 (6 EH) — le N°2010-011 est celui du Monocuve Type 6 (EAUCLIN), Biorock n'ayant aucune microstation à culture fixée agréée.
- Classeur source synchronisé (10 lignes). L'audit GRAIE des 540 lignes est désormais soldé : plus aucun numéro d'agrément attribué au mauvais dispositif.
v0.9.146
Juin 2026
Rapport — audit complet des agréments contre le tableau GRAIE
- Les 540 lignes du catalogue de filières agréées (toutes tranches 3-20 EH, 4 catégories) ont été croisées avec le tableau GRAIE de référence : 16 corrections en plus de la tranche boues activées 5 EH (v0.9.145).
- Numéros appartenant à un autre dispositif : Puroo 6 EH → N°2013-003, Stepizen 15 EH → N°2013-011-03, Actifiltre QR 5000-2500 → N°2017-006, Bioméris 4 EH → N°2017-001-ext01, Boxeparco 6/10 EH → N°2014-016-ext02/ext05, Compact'o 8ST2/10ST2/12ST2 → N°2011-007-ext03/04/05, Aquameris AQ2 4P → N°2014-020-ext01, Simbiose SB6 → N°2013-013, Tricel Novo FR17 (17 EH) → N°2011-006-ext.7 et 8, Epurflo cp 14 EH → N°2012-028, Aquatec VFL AT 8 EH → N°2012-005-ext01 (typo 0005).
- Orthographe officielle : « Steptizen » → Stepizen ; « Compact'o 5ST » à 12 EH renommé Compact'o 12ST2 (dispositif réel à cette capacité).
- Classeur source corrigé en synchronisation (25 lignes sur 13 onglets).
v0.9.145
Juin 2026
Rapport — correction des agréments boues activées 5 EH
- Les 14 agréments de la tranche boues activées 5 EH étaient un copier-coller de la colonne des filières compactes dans le classeur source — corrigés d'après le tableau GRAIE des filières agréées (recoupé avec les séries d'extensions du classeur) : Topaze T5 → N°2010-003bis, Topaze Anneau T5 → N°2013-004-ext01, Oxyfiltre → N°2011-001bis, Easyone → N°2015-008, Purestation EP900 → N°2012-017, Puroo PE → N°2014-004, As-Vario K5 → N°2012-015, TP-5EO → N°2012-038, Diamond → N°2012-039 et 2015-011-ext01, SOLIDO 5 → N°2014-017-mod01, Epuralia → N°2011-012-mod01, Thetis Clean → N°2015-009, Aero Grizzly 5 → N°2018-004-ext01.
- KLARO EASY : aucun modèle 5 EH agréé n'existe → remplacé par le plus petit modèle de la gamme (8 EH, N°2011-005bis-mod01).
- Le classeur source « Filières Agréés 0-20EH-OK » a été corrigé en synchronisation (onglets 5EH et 4-5EH).
v0.9.144
Juin 2026
Rapport — mise en page adaptative des tableaux de filières agréées
- La mise en page des 4 tableaux de filières s'adapte à leur taille (1 à 25 lignes selon l'EH) : les petits tableaux (≤ 10 lignes) restent en bloc insécable, les grands coulent et se coupent proprement au saut de page au lieu de sauter entiers (demi-pages blanches constatées en v0.9.143, ex. dossier TEST Encore 6 EH).
- Grands tableaux coupés : titre et en-tête de colonnes répétés en haut de chaque page ; jamais moins de 2 lignes de données avec l'en-tête en bas de page, ni de ligne seule en haut de page (anti-orphelin).
- Les légendes « (Pour au minimum X E.H…) » et « Attention : Non adaptés… » restent attachées à leur tableau.
- Template sans sondages (baloussier) : la table fusionnée boues activées + cultures fixées est scindée en deux tableaux indépendants (en-têtes répétables, coupure possible entre les deux).
- Correction au passage (rapport debug) : le coloriage vert de la table Synthèse visait un index décalé par les tables insérées en amont — elle est désormais repérée par son contenu.
- Validé sur les 36 cas de figure (EH 3 à 20 × 2 templates) : aucune ligne orpheline, aucun blanc anormal en zone filières.
v0.9.143
Juin 2026
Rapport — catalogue complet des filières agréées 3 à 20 EH
- Les tableaux de dispositifs agréés (filières compactes, boues activées, cultures fixées, filières plantées) couvrent désormais toutes les capacités de 3 à 20 EH, d'après le classeur de référence « Filières Agréés 0-20EH-OK » (540 lignes ; avant : 3-8 EH selon la catégorie).
- La colonne « Nombre EH » affiche la capacité réelle de chaque dispositif (ex. dispositifs 4 EH listés pour un projet 3 EH « au minimum »), au lieu de répéter l'EH du projet sur toutes les lignes.
- Template sans sondages (baloussier) : la section Micro-Station native (boues activées + cultures fixées), figée à 5 EH jusqu'ici, est reconstruite selon l'EH du client.
- EH intermédiaires sans onglet propre (11, 13) et catégories vides (boues activées 19 EH, plantées 11/13/17/19 EH) : dispositifs de capacité supérieure, valables « pour au minimum N EH ».
v0.9.142
Juin 2026
Sécurité — protection anti-force-brute du login
- 5 échecs de connexion (par adresse IP ou par identifiant) en 15 minutes → blocage de 15 minutes avec message « Trop de tentatives — réessaie dans N minutes ».
- Compteurs stockés en base (table
login_attempts) : le blocage survit aux redémarrages de l'app ; remise à zéro automatique après une connexion réussie.
v0.9.141
Juin 2026
Rapport — orthographe, élision page de garde, garde-fous K=0 / cadastre
- Page de garde : correction de l'élision de la commune (« Commune d'La Boissière » → « Commune de La Boissière ») — la page de garde réutilise désormais la même règle d'élision que le corps du rapport.
- Passe orthographique de la prose figée des deux templates (appliquée à la génération) : « Toute modification » (accord), « ne constituent pas un dossier de maîtrise d'œuvre et ne garantissent pas » (accord pluriel + accent), « pièces d'usure », « 10 à 20 ans », « prescriptions techniques applicables », « l'arrêté du 7 septembre 2009 ».
- Qualification du sol : fin du pléonasme « sol de “perméabilité imperméable” » — la tournure s'adapte (« un sol “imperméable” », « un sol de “perméabilité moyenne” »…).
- Garde-fou cohérence : K retenu = 0 mm/h → erreur bloquante (rapport « 0 mm/h » non physique) ; références cadastrales absentes → erreur bloquante (le tableau parcellaire sortirait vide) ; essais Porchet sans mesure exploitable (import historique) → avertissement. « Générer quand même » reste possible.
v0.9.140
Juin 2026
Rapport — page « REMARQUES IMPORTANTES » en 11,5 pt
- La police des encadrés de la page REMARQUES IMPORTANTES passe de 11 pt à 11,5 pt (titres, corps, avertissements et mentions [AVIS IMPORTANT]/[CONTRÔLE]) ; le bloc tient toujours sur une seule page.
v0.9.139
Juin 2026
Annexes — fiche « Tertre d'infiltration » disponible (3 planches)
- NOUVEAU La fiche descriptive Tertre d'infiltration (vue de dessus, coupes longitudinales, coupe transversale) est intégrée à la bibliothèque d'annexes : le scénario T_tertre ne signale plus « fiche à fournir » et l'annexe est incluse dans les rapports complets.
- NOUVEAU Le tamponnage du cartouche gère désormais les fiches multi-pages : le pied de page AquaSol (commune, n° d'annexe, bloc contact) est redessiné sur chacune des planches, avec le n° d'annexe attribué dynamiquement selon la composition du dossier.
v0.9.138
Juin 2026
Rapport — tableaux de filières insécables (lisibilité EH = 6)
- NOUVEAU Les tableaux « FILIERES A BOUES ACTIVEES », « FILIERES A CULTURES FIXEES » et « FILIERE PLANTE » sont désormais insécables : quand leur taille varie avec le nombre d'EH, un tableau qui ne tient plus en bas de page passe entier sur la page suivante au lieu d'être coupé.
- Le tableau « FILIERES COMPACTES » (jusqu'à ~25 lignes, presque une page en EH = 6) reste sécable, mais son titre et son en-tête sont liés à la première ligne de données : plus de bandeau-titre orphelin en bas de page.
v0.9.137
Juin 2026
Rapport — page « Remarques Importantes » en 11 pt (correctif de la v0.9.135)
- FIX La demande « page 3 en 11 pt » visait la page des REMARQUES IMPORTANTES (3ᵉ page hors garde et sommaire) : ses 6 encadrés passent de 10 à 11 pt — et tiennent toujours sur une seule page.
- La page « 1. Introduction », passée à tort en 11 pt en v0.9.135, revient au 12 pt d'origine du template.
v0.9.136
Juin 2026
Rapport — encadrés « Attention » insécables + badge de version fiable
- NOUVEAU Les encadrés « Attention » (rouges) et avertissements ⚠️ (jaunes) sont désormais insécables : quand les tableaux de filières changent de taille (selon le nombre d'EH) et décalent la mise en page, un encadré qui ne tient plus en bas de page passe entier sur la page suivante au lieu d'être coupé (titre seul en bas de page). Couvre les encadrés générés et ceux d'origine du template (§5 « La canalisation… »). Les grands encadrés informatifs (normes, « Cette étude est destinée », Remarques) restent sécables pour ne pas créer de grands blancs.
- FIX Le badge de version de l'en-tête (« v0.9.x ») était codé en dur et affichait v0.9.128 depuis plusieurs déploiements. Il est maintenant lu dynamiquement depuis le serveur (
/api/health) : il reflète toujours la version réellement déployée.
v0.9.135
Juin 2026
Rapport — finitions de mise en page (page 3, encadré « Attention », figure n°9)
- La page 3 (§1 Introduction) passe entièrement en taille 11 pt (du premier paragraphe jusqu'à l'encadré « normes et textes réglementaires » inclus) — l'encadré des normes tient désormais sur la page.
- FIX L'avertissement « Attention : Celles-ci devront être réalisées de niveau… » (§4.2, tranchées d'infiltration) retrouve son encadré rouge, comme son homologue « point de rejet » du mode rejet.
- Dernière page avant la conclusion : un seul interligne avant le dernier paragraphe « Le service d'assainissement non-collectif compétent… » (au lieu d'un double saut).
- Figure n°9 (vulnérabilité) : un interligne est ajouté après la légende de la figure n°8 quand le bloc est inséré à la volée (template beziat), pour aérer l'enchaînement des deux figures.
v0.9.134
Juin 2026
Rapport — paragraphe géologie d'après la carte 1/50 000 (BD Charm-50)
- NOUVEAU Le paragraphe « D'après la carte géologique… » (§2.3, avant la figure n°6) cite désormais la carte géologique au 1/50 000 au point GPS du dossier : feuille imprimée (n° + nom, ex. « feuille n°1039 – BEZIERS »), description de la formation et notation (ex. m2a) — cohérent avec la carte affichée en figure n°6.
- Source : base locale construite depuis la BD Charm-50 du BRGM (cartes géologiques départementales harmonisées et vectorisées) — départements couverts : 34, 11, 30, 81, 12, 48, 66, 13. Hors couverture ou sans GPS, le rapport retombe sur la lithologie harmonisée 1/1 000 000 (comportement précédent).
- Une saisie manuelle de la fiche (« Formation géologique BRGM ») reste prioritaire sur la donnée automatique.
v0.9.133
Juin 2026
Rapport — légende figure n°6 sans doublon d'échelle
- FIX La légende de la figure n°6 disait « carte géologique au 1/50 000ème … – Échelle ≈ 1/40 000 » : la mention d'échelle de la série BRGM est retirée à la génération, seule l'échelle d'impression choisie reste — cohérent avec les légendes des autres figures.
v0.9.132
Juin 2026
Cartes — échelle réglable par dossier + figure n°3 cadastre seul
- NOUVEAU Fiche client : un sélecteur d'échelle sous chaque carte du bloc « Cartes du terrain » règle l'emprise des figures du rapport (fig. 1-2 défaut 1/10 000, fig. 3-4 défaut 1/1 500, fig. 5/6/8 défaut 1/40 000 ; fig. 7 remontée de nappe non réglable — couche WMS visible uniquement en vue large). L'aperçu de la fiche montre exactement l'emprise qui figurera dans le rapport, et la valeur choisie est inscrite dans la légende des figures (« Échelle ≈ 1/10 000 »).
- NOUVEAU Figure n°3 : plan cadastral seul (parcelles sans fond Plan IGN), sur la fiche client comme dans le rapport.
v0.9.131
Juin 2026
Rapport — génération ~3× plus rapide (cartes téléchargées en parallèle)
- PERF Les ~14 cartes WMS (IGN, Géorisques, BRGM) sont désormais téléchargées en parallèle au lieu d'en série : première génération d'un rapport ≈ 15 s → 4-5 s (régénérations toujours ≈ 1-2 s grâce au cache). Le document produit est strictement identique.
- FIX Une erreur transitoire d'un serveur WMS (ServiceException) n'est plus mise en cache : elle ne « collait » plus à un dossier jusqu'à purge manuelle du cache.
v0.9.130
Juin 2026
Rapport — figures 3/4 et 8 : robustesse face aux ratés des serveurs WMS
- FIX Figures n°3/4 : le serveur IGN rendait parfois la couche parcelles partiellement (bande haute seule) quand fond + parcelles étaient demandés en une seule requête. Les deux couches sont désormais téléchargées séparément puis fusionnées localement (Pillow) ; en cas de calque tronqué, nouvelle tentative automatique à une résolution que le serveur sert correctement.
- FIX Figure n°8 : une vue entièrement couverte par une seule classe d'aléa (ex. « moyenne » sur toute la plaine de Coursan) se compresse en ~150 octets et était rejetée comme « vide » → figure supprimée. Le rejet ne s'applique plus qu'aux PNG réellement invisibles (palette 100 % transparente).
- FIX Couche d'aléa légitimement absente (pas d'aléa sur l'emprise) : la figure montre le fond IGN seul au lieu de disparaître.
v0.9.129
Juin 2026
Rapport — Figure n°9 : carte de vulnérabilité des eaux souterraines
- NOUVEAU La Figure n°9 (carte départementale BRGM ~1990 de vulnérabilité des eaux souterraines) est générée automatiquement : extrait centré sur le chantier + pin de géolocalisation + légende officielle en vis-à-vis, au format des figures n°7/8. Échelle ≈ 1/75 000 indiquée dans le caption.
- NOUVEAU Les 9 planches scannées (A3 300 dpi) ont été géoréférencées une à une (3 à 8 points de contrôle par planche : barrages, ponts, confluences, centres-bourgs) ; précision du pin ≈ 100-300 m. Couverture : tout l'Hérault.
- NOUVEAU La phrase « Vulnérabilité du site : … » est insérée avant la figure dans le template béziat (elle n'existait que dans baloussier).
- FIX Hors couverture (chantier hors Hérault) : figure sautée proprement. En bord de planche, la fenêtre est bornée et le pin reste sur le site.
v0.9.128
Juin 2026
Rapport — §3 Sondages : une puce par couche de sol
- FIX Dans la description d'un sondage, chaque couche de sol (ligne avec une plage de profondeur, ex. « 0-0.30m : … ») reçoit désormais sa propre puce « - » ; auparavant seule la première ligne en portait une, les suivantes étaient simplement indentées.
- FIX Les lignes de continuation (sans plage de profondeur) restent en simple retrait. Correction au passage d'un double tiret latent sur les descriptions en texte libre commençant déjà par « - ».
v0.9.127
Juin 2026
Rapport — retour aux pastilles d'aléas avec liseré (cut corrigé)
- FIX Retour au look pastel + liseré des pastilles (préféré à l'aplat plein de la v0.9.126).
- FIX Le liseré droit de la dernière pastille n'était plus coupé : ajout d'un caractère de clôture invisible (couleur du fond) qui force le tracé du liseré de droite. Vérifié en prod (client Jeanteste).
v0.9.126
Juin 2026
Rapport — pastilles d'aléas en aplat plein (correctif définitif)
- FIX Les pastilles de l'encadré « Attention — aléas naturels » passent en aplat de couleur saturé + texte blanc, sans liseré. Le liseré (bordure de caractère) ne se fermait pas à droite de la dernière pastille (« coupée ») ; un aplat plein se trace toujours entièrement, sous Word comme à l'export PDF.
v0.9.125
Juin 2026
Rapport — dernière pastille de l'encadré aléas coupée à droite
- FIX Le liseré droit de la dernière pastille de chaque ligne de l'encadré « Attention — aléas naturels » (ex. « présent ») n'était pas tracé (bordure de caractère non fermée en fin de paragraphe) → ajout d'un caractère de clôture. Toutes les pastilles sont désormais entièrement encadrées.
v0.9.124
Juin 2026
Rapport — interlignes page 6 (géologie + encadré aléas)
- FIX Suppression de l'interligne en trop sous le paragraphe « Le terrain repose sur une formation… » (page 6).
- FIX Ajout d'un espace entre l'encadré « Attention — aléas naturels » et la figure n°7 (qui sert aussi de séparateur empêchant Word de fusionner l'encadré et la carte).
v0.9.123
Juin 2026
Rapport — cartes recadrées (Word) + encadré aléas condensé
- FIX Cartes coupées à gauche sous Word : les calques des cartes composites (figures n°5, 7 et 8 — fond + couche d'aléa + repère) étaient positionnés hors de leur cellule sous Word. Ils sont désormais ancrés dans la cellule (
layoutInCell) → alignés sur le fond.
- FIX L'encadré « Attention — aléas naturels » (page 6) tient maintenant sur 3 lignes maximum : les aléas sont coulés en une ligne (libellé + pastille, séparés par « • ») au lieu d'une ligne chacun.
v0.9.122
Juin 2026
Rapport — Aléas naturels (page 6) : un seul encadré regroupé, style « Attention » uniforme
- FIX Les deux encadrés d'aléas sont regroupés en un seul, placé à l'emplacement du « Attention : » d'origine (au-dessus des cartes des figures n°7 et n°8), qui disparaît.
- FIX L'encadré reprend désormais le même style rouge que les autres encadrés « Attention » du rapport (fond rosé + barre rouge à gauche).
- NOUVEAU Les pastilles de niveau gardent un fin liseré pour rester nettes sur ce fond rosé.
v0.9.121
Juin 2026
Rapport — Aléas naturels (page 6) en encadrés rouges à pastilles colorées
- NOUVEAU Les aléas naturels deviennent des encadrés rouges placés sous leur carte : remontée de nappe sous la figure n°7, retrait-gonflement des argiles + autres aléas Géorisques (sismicité, inondation, mouvements de terrain…) sous la figure n°8.
- NOUVEAU Chaque niveau s'affiche en pastille colorée reprenant les badges de la fiche client : nulle = gris, faible = vert, moyenne = ambre, présent = orange, forte / important = rouge.
- FIX La ligne Inondation reste masquée quand le terrain n'est pas en zone inondable (cohérence avec le §2.2). Repli en prose conservé si une carte n'a pas pu se charger.
v0.9.120
Juin 2026
Fiche client — « Cadre de l'étude » au choix (conclusion du rapport)
- NOUVEAU Section Projet : champ « Cadre de l'étude » à choix fixe — Réhabilitation, Permis de construire, Permis d'aménager. Pilote la ligne « Cadre de l'étude » de la table de synthèse en conclusion (« Projet de « … » »).
- FIX Laissé sur « Auto », le cadre reste dérivé du type de projet comme avant (aucune régression sur les fiches existantes).
v0.9.119
Juin 2026
Rapport — alignements encadrés (Attention §5 + intros fabricants)
- FIX §5 « Situation du dispositif » — encadré « Attention : La canalisation d'évacuation… » : texte aligné à gauche et seul le premier mot « Attention » en gras.
- FIX Intros « … fabricants proposent ce type de produit… » (Micro-Station, Filière Compacte, Filtre(s) Planté(s)) : encadrés jaunes alignés à gauche (au lieu d'être centrés).
v0.9.118
Juin 2026
Rapport — encadré « Filtre(s) Planté(s) » + renvoi centré
- FIX L'intro « Quelques fabricants proposent ce type de produit… « Filtre(s) Planté(s) » » est désormais dans un encadré jaune ⚠️, comme l'intro « Filière Compacte ».
- FIX La ligne « Voir description des dispositifs d'assainissement à emprise au sol réduite » est désormais centrée.
v0.9.117
Juin 2026
Rapport — figure géologie panoramique + 2 retouches
- FIX Figure 6 (contexte géologique) : carte affichée en panoramique pleine largeur (format paysage ~2:1, non déformée) ; la légende lithologique latérale (qui ne correspondait pas aux couleurs du scan 1/50 000) a été retirée, ainsi que le tableau.
- FIX Section §5 « Situation du dispositif » : l'encadré « Attention : La canalisation d'évacuation… » n'est plus en gras.
- FIX Partie « Conseil d'entretien » : suppression de la tabulation en tête de paragraphe (texte aligné à gauche).
v0.9.116
Juin 2026
Rapport — 4 retouches de mise en forme
- FIX Les lignes de renvoi « Voir plan d'implantation en Annexe. », « Voir schémas d'implantation des systèmes. » et « Voir la description du dispositif d'évacuation… » sont désormais centrées.
- FIX Le constat de perméabilité retenue (« Il sera retenu une perméabilité moyenne de… » + « Le terrain possède un sol de… ») est aligné à gauche (au lieu d'être centré).
- FIX Section « Situation du dispositif et contraintes d'implantation » : plus aucun texte souligné (encadrés inclus).
- FIX Liste « Rappel des résultats » : suppression d'un interligne en trop après les puces.
v0.9.115
Juin 2026
Rapport — 3 retouches de mise en forme
- FIX Les intros de filière agréée (« De nombreux fabricants proposent ce type de produit… ») ne sont plus soulignées.
- FIX Cas rejet : l'avertissement « Attention : Le point de rejet devra être aménagé… » est désormais dans un encadré rouge.
- FIX La mention « (Pour au minimum X E.H – X personnes) » est centrée sous chaque titre de filière.
v0.9.114
Juin 2026
Rapport — conclusion : « Tout modificatif… » en encadré jaune
- FIX Dans l'encadré « 1. Modifications du Projet » (page conclusion), la mention « Tout modificatif devra être validé par Aquasol Environnement. » est désormais isolée dans un encadré jaune dédié (⚠️), comme le warn de la page 2 (« Cette étude est destinée… »).
v0.9.113
Juin 2026
Rapport — largeur des encadrés ajustée
- FIX Les encadrés colorés sont légèrement resserrés (marge de 1,75 cm de chaque côté), uniformément sur tout le rapport.
v0.9.112
Juin 2026
Rapport — nouvelle mise en forme (encadrés colorés + police Arial)
- FEAT Encadrés colorés : les paragraphes-clés sont désormais mis en valeur dans des cadres à fond de couleur, façon « alerte » — info (bleu), avertissement (jaune ⚠️) et important (rouge). Concerne l'introduction (normes, rôle du SPANC, « Cette étude est destinée »), les listes de filières compatibles, le §3.2 (contraintes d'implantation) et la conclusion.
- FEAT Conclusion restructurée : les « Remarques importantes » sont réorganisées en encadrés numérotés (1. Modifications du projet, 2. Obligations de moyens, 3. Choix de la filière, 4. Instructions du SPANC, 5. Suivi de chantier).
- PORTÉE Police du rapport passée en Arial (corps et titres), conforme au modèle. La page de garde conserve sa typographie dédiée.
v0.9.111
Juin 2026
Rapport — puces de titres de filière + échelle des figures
- FIX Puces des titres de filière (§4) : l'ancien « Ø » (caractère Wingdings qui dégénérait à l'export PDF) est remplacé par une puce « ▪ » au rendu identique sous Word et PDF — sur « Filière compacte », « Micro-Station d'épuration » et « Filière plantée ». Le « Ø » de diamètre dans les descriptions de sondages est préservé.
- FEAT Échelle des figures : chaque légende de carte affiche désormais son échelle d'impression approximative (ex. « – Échelle ≈ 1/250 000 »), calculée depuis le GPS du projet.
v0.9.110
Juin 2026
Nouvelle page de garde — vue aérienne dynamique du site
- FEAT La page de garde adopte la nouvelle maquette : logo, encadré « Étude de sol », colonne texte + vue aérienne IGN du site (orthophoto centrée sur le GPS du projet, avec pin) et pied de page société.
- FEAT Éléments dynamiques : adresse complète du chantier, nom (NOM Prénom, sans civilité — raison sociale pour une société), mois + année. Repli « Vue aérienne indisponible » si le projet n'a pas de coordonnées GPS.
- PORTÉE S'applique partout où la page de garde est assemblée : « Complet PDF » et « Rapport final ».
v0.9.109
Juin 2026
« Préparer l'envoi » — dépôt du corps validé + rapport final assemblé
- FEAT Nouvelle section « 📦 Préparer l'envoi » sur la fiche : déposez le PDF du corps validé par l'ingénieur (emplacement remplaçable), puis générez le rapport final = page de garde + corps validé + annexes, prêt à envoyer.
- FEAT Bouton « 📦 Générer le rapport final » : assemble tout en un seul PDF (
rapport_final.pdf). Désactivé tant qu'aucun corps validé n'est déposé.
- FLUX Rappel : « 📄 Générer le rapport » produit le corps sans page de garde (v0.9.108) → à valider dans Word, exporter en PDF, déposer ici.
v0.9.108
Juin 2026
Rapport découplé — corps sans page de garde + assemblage de la garde
- FEAT Le rapport généré (« Générer le rapport » .docx / .pdf) ne contient plus la page de garde : il démarre directement au sommaire (sans pied ni en-tête de page) et va jusqu'à la conclusion. Objectif : numérotation des pages robuste et corps prêt à être validé par l'ingénieur.
- FEAT La page de garde est désormais générée séparément (rendu strictement identique à l'ancienne page 1) et assemblée automatiquement dans « Complet PDF » : page de garde + corps + annexes.
- INFRA Prépare le futur « rapport final prêt à envoyer » = page de garde + corps validé (PDF déposé par l'ingénieur) + annexes.
v0.9.107
Juin 2026
Annexes — suppression du cadre de bordure de page
- FIX Le cadre de bordure qui entourait chaque page des fiches descriptives d'annexes est supprimé, pour s'aligner sur la présentation de la coupe lithologique (pas de cadre). Le schéma, les légendes et le cartouche sont conservés intacts ; le cartouche « flotte » désormais en bas de page comme sur la coupe.
v0.9.106
Juin 2026
Annexe « matériaux » — pied de page + titre harmonisés
- FIX L'annexe « Caractéristiques des matériaux… » reçoit désormais le même pied de page (cartouche) que les autres annexes (style coupe lithologique). Elle n'en avait aucun.
- FIX Le préfixe « Annexe N°X : » est retiré du titre (le numéro figure dans le cartouche, comme les autres annexes) et la boîte/cadre autour du titre est supprimée pour s'aligner sur la présentation de la coupe lithologique.
v0.9.105
Juin 2026
Annexes — pied de page unifié au style de la coupe lithologique
- FIX Le cartouche (pied de page) des fiches descriptives d'annexes adopte désormais le même style que la coupe lithologique : même police (Helvetica), même cadre net et même bloc contact AquaSol. Auparavant ces fiches conservaient un cartouche en italique dépareillé. La commune, le département, le numéro d'annexe et le sous-titre descriptif propre à chaque fiche sont préservés et redessinés proprement.
- FIX Adresse harmonisée sur l'ensemble des annexes : 18 rue du Crès, 34290 Bassan (les fiches affichaient une adresse divergente).
v0.9.104
Juin 2026
Coupe lithologique — découpage des couches au format « tirets »
- FIX La coupe lithologique (annexe 3) découpe désormais correctement les sondages décrits au format « 0-0.30m : … » (bornes séparées par un tiret), en plus du format historique « de 0,00m à 0,30m : … ». Auparavant ces sondages s'affichaient en une seule couche pleine hauteur, sans découpage ni texture par horizon. Chaque horizon retrouve sa profondeur, sa hachure propre au matériau et son intitulé.
v0.9.103
Juin 2026
Rapport debug — audit d'automatisation fiabilisé
- CHG Le rapport debug (
?debug=1) colore désormais en vert exactement ce que le générateur écrit — capturé à l'exécution au lieu de listes de fragments de texte qui dérivaient (des paragraphes auto, comme le contexte géomorphologique ou le nouveau dimensionnement §4.2, sortaient à tort en rouge ou en noir). Plus aucun faux positif, et l'audit reste juste sans maintenance.
- CHG Schéma simplifié à 3 catégories : 🟩 vert = renseigné automatiquement (base / formulaire / calcul), 🟨 surligné jaune = valeur auto à vérifier/valider (perméabilité, filière, linéaires) ou champ vide, ⬛ noir = texte fixe réglementaire. La catégorie « rouge — à rédiger manuellement » a été retirée (le texte du rapport est désormais quasi entièrement automatisé).
v0.9.102
Juin 2026
Annexe 3 — coupe lithologique générée automatiquement
- FEAT La coupe lithologique générale (annexe 3) est désormais dessinée automatiquement à partir des sondages de la fiche : colonne par couche avec hachure propre à chaque matériau (argile, limon, sable, graves, schiste, calcaire, terre végétale), profondeurs, statut d'eau, base en pointe « arrêt volontaire » ou plate « arrêt par refus », descriptions et cartouche (logo + commune + n° d'annexe). Échelle commune entre sondages, regroupement des sondages identiques (« TM1 à TM6 »).
- CHG L'upload manuel reste prioritaire : la coupe n'est générée que si la fiche a des sondages décrits et qu'aucun plan n'a été déposé pour l'emplacement 3. Apparaît dans le rapport complet (.pdf et .docx).
v0.9.101
Juin 2026
Rapport §4.2 — dimensionnement filière traditionnelle + charge hydraulique recalibrée
- FEAT Paragraphe « Traitement des eaux usées » pour les cas tranchées : le rapport décrivait jusqu'ici uniquement la sortie d'une filière agréée. Pour un dispositif traditionnel par tranchées d'épandage, le §4.2 affiche désormais, comme dans les études rédigées à la main, la charge hydraulique admissible, la surface filtrante et le linéaire de tranchées (nb × longueur), aligné avec la synthèse §5. N'apparaît que pour les scénarios tranchées (hors rejet).
- FIX Charge hydraulique admissible recalibrée : la table interne K → charge était inversée (elle donnait plus de charge aux sols peu perméables). Remplacée par une formule calibrée sur 11 études réelles —
charge = 11,1·ln(K) − 7,5, plateau 29 L/m²/j au-delà de K=50. Reproduit désormais les valeurs expertes au chiffre près (ex. K=16 → 23, K=27 → 29, K=44 → 34), ce qui corrige le sous-/sur-dimensionnement de la surface d'épandage.
v0.9.100
Juin 2026
Dette technique — garde-fou « Carte indisponible » réactivé + n° d'annexe matériaux corrigé
- FIX « Carte indisponible » s'affiche enfin quand une vignette de la fiche échoue à charger. Le garde-fou reposait sur un attribut
onerror en ligne, neutralisé par la Content-Security-Policy (script-src-attr 'none') — on voyait donc l'image cassée et son texte alt au lieu d'un message propre. Remplacé par un écouteur d'erreur délégué (phase de capture) dans app.js, autorisé par la CSP. Fait suite à la cause racine notée en v0.9.99.
- FIX Annexe « Caractéristiques des matériaux » : son en-tête portait un numéro d'annexe figé à « N°7 » (hérité du rapport source). Il est désormais renuméroté dynamiquement selon la position réelle de la fiche dans le rapport (n°5 ou n°6 selon la filière) — masquage du chiffre figé + réécriture, sans toucher au reste de la page (dont la « section 7 »).
v0.9.99
Juin 2026
Fiche client — carte « Zonage PPRI inondation » : calque PPRI rétabli
- FIX Le calque PPRI ne s'affichait pas sur la vignette « Zonage PPRI inondation » de la fiche (seul le fond Plan IGN apparaissait, avec le texte « Zonage PPRI inondation » incrusté par-dessus). Cause racine : la
Content-Security-Policy autorisait l'apex georisques.gouv.fr mais l'overlay WMS est servi sur le sous-domaine canonique www.georisques.gouv.fr — non couvert par l'apex en CSP. Le navigateur bloquait donc l'image du calque ; le texte visible était son attribut alt (image cassée), le garde-fou onerror étant lui-même neutralisé par script-src-attr 'none'.
- CSP
https://www.georisques.gouv.fr ajouté à img-src et connect-src. La figure 5 du rapport (générée côté serveur) n'était pas affectée. Concerne aussi, par ricochet, toute autre vignette Géorisques côté navigateur.
v0.9.98
Juin 2026
Rapport complet aussi en .docx (corps éditable + annexes)
- NOUVEAU Bouton « 📚 Complet .docx » : génère le rapport complet en Word éditable — tu peux retoucher le corps puis exporter en PDF, les annexes étant déjà en place en fin de document.
- INFO Les annexes (plans + fiches descriptives) y sont insérées en images pleine page (≈200 DPI) avec cartouche à jour (commune du point GPS + n°). Pour des annexes vectorielles (qualité maximale, idéal SPANC), utiliser « 📚 Complet PDF ».
v0.9.97
Juin 2026
Rapport complet : annexes ajoutées automatiquement
- NOUVEAU Bouton « 📚 Rapport complet » : génère le rapport avec ses annexes assemblées en un seul PDF — page « ANNEXES : », plans AutoCAD (n°1 à 4) puis fiches descriptives (n°5 et suivantes).
- NOUVEAU Fiches descriptives sélectionnées automatiquement selon la filière retenue (dispositifs agréés, lit d'infiltration, tranchée gravitaire, filtre à sable, tertre…). Pré-cochées dans la nouvelle section « 📎 Annexes du rapport » de la fiche, et modifiables d'un clic.
- NOUVEAU Plans AutoCAD téléversables (PDF) par emplacement (implantation des sondages, essais, coupe lithologique, plan du dispositif) : insérés automatiquement en tête d'annexes.
- CARTOUCHE Le cartouche de chaque fiche d'annexe est complété dynamiquement : commune du point GPS du site + numéro d'annexe à jour.
- À VENIR La fiche « tertre d'infiltration » sera ajoutée à la bibliothèque (les autres dispositifs sont déjà disponibles).
v0.9.96
Juin 2026
Rapport généré : garde-fou cohérence côté serveur
- FIABILITÉ Plus de « faux rapport » silencieux : la génération du rapport (.docx et .pdf) refuse désormais de produire un document tant qu'une incohérence bloquante subsiste (ex. K retenu incohérent avec les essais Porchet, zone inondable + infiltration sur place, sol non infiltrable…). Ce contrôle, déjà affiché dans la fiche, est maintenant appliqué aussi côté serveur : il ne peut plus être contourné par un accès direct au lien de téléchargement. L'ingénieur garde la main — après confirmation explicite « Générer quand même », le rapport est produit malgré tout. Le mode Debug n'est pas concerné.
v0.9.95
Juin 2026
Rapport généré : page blanche définitivement supprimée (retour à une seule section)
- SOMMAIRE Plus de page blanche : tout saut de section provoquait une page blanche à l'impression/PDF dans l'environnement cible (où qu'il soit placé). Retour à une seule section (structure stable). Conséquence : le sommaire réaffiche son numéro de page — il n'est techniquement pas possible de le masquer sans saut de section. Le reste est conservé : sommaire en 10 pt, titres sur une seule ligne, icône dans l'espace vide sous le sommaire.
v0.9.94
Juin 2026
Rapport généré : page blanche après le sommaire — nouvelle structure de sections
- SOMMAIRE Saut de section déplacé : il se trouve désormais entre la page de garde et le sommaire (motif standard « page de titre en section séparée »), et non plus entre le sommaire et l'introduction. Le sommaire est la 1re page de la section corps : son numéro est masqué par
titlePg, sans aucun saut de section juste après lui — ce qui supprime la page blanche à l'impression/PDF. Numérotation : INTRODUCTION = 1.
v0.9.93
Juin 2026
Rapport généré : page blanche après le sommaire à l'impression / export PDF
- SOMMAIRE Page blanche supprimée (impression / aperçu / PDF) : l'icône flottante influençait la pagination d'impression et insérait une page vide entre le sommaire et l'introduction. L'objet est désormais rendu neutre vis-à-vis du flux (
wrapNone + behindDoc) — il ne déplace plus aucun contenu et reste dans l'espace vide sous le sommaire.
v0.9.92
Juin 2026
Rapport généré : suppression de la page blanche après le sommaire (Word)
- SOMMAIRE Page blanche supprimée : sous Word, l'icône flottante ancrée au paragraphe de saut de section était déplacée sur une page quasi vide. Icône désormais ancrée en absolu sur la page (
relativeFrom="page", position fixe) et saut de section porté par un paragraphe vide dédié — l'INTRODUCTION suit directement le sommaire.
v0.9.91
Juin 2026
Rapport généré : sommaire compacté + page du sommaire sans numéro
- SOMMAIRE Police 10 pt : les titres longs (§4 « …DISPOSITIF D'ASSAINISSEMENT AUTONOME » et §4.2 « …filière d'assainissement ») tiennent désormais sur une seule ligne — les retours à la ligne forcés ont été retirés.
- SOMMAIRE Plus de numéro de page sur la page du sommaire : page de garde + sommaire isolés dans une 1re section sans pied de page ; la numérotation du corps repart à
1 sur l'INTRODUCTION.
- SOMMAIRE Icône N&B repositionnée dans l'espace vide entre la fin du sommaire et le bas de page.
v0.9.90
Juin 2026
Rapport généré : suppression de la page blanche après le cadre « Remarques »
- PAGE 4 Page blanche supprimée : le cadre remplissant désormais la page, le saut de page autonome qui précédait « DONNEES GENERALES » basculait sur une page vide. Remplacé par un
pageBreakBefore sur le titre — plus de paragraphe vide isolé.
v0.9.89
Juin 2026
Rapport généré : espace en bas du cadre « Remarques »
- PAGE 4 Ligne d'espace ajoutée après le dernier paragraphe (« …de la pérennité de votre installation. ») pour que le texte ne colle plus à la bordure basse du cadre.
v0.9.88
Juin 2026
Rapport généré : correctif cadre « Remarques » (espace de tête)
- PAGE 4 Correctif du saut de page : la ligne d'espace ajoutée en tête du cadre (v0.9.87) restait sur la page précédente — créant un rectangle isolé et scindant le cadre (titre privé de bordure haute). Le saut de page est désormais inséré avant les espaceurs de tête, qui restent ainsi dans le cadre en haut de la nouvelle page.
v0.9.87
Juin 2026
Rapport généré : cadre « Remarques » — titre & respirations
- PAGE 4 Titre « Remarques Importantes : » en taille 16, avec une ligne d'espace au-dessus (dans le cadre) et après le dernier paragraphe, pour que le texte ne soit plus collé aux bordures.
v0.9.86
Juin 2026
Rapport généré : page de garde, cadre « Remarques », sommaire & lisibilité
- PAGE 4 Cadre « Remarques Importantes » : texte centré et aéré par des lignes espaceuses pour remplir le cadre sur toute la largeur de page (rendu calé sur le modèle de référence).
- PAGE DE GARDE Date dynamique : affiche désormais toujours le mois/année de génération du rapport (ex. « Juin 2026 »), indépendamment de la date saisie en fiche.
- §2.3 Titre maintenu avec son paragraphe (
keepNext) et indentations de 1ʳᵉ ligne retirées en début de paragraphe de chaque partie.
- SOMMAIRE Entrée §4.2 sur deux lignes : retour à la ligne avant « d'assainissement » pour ne plus coller le titre au numéro de page.
- SOMMAIRE → INTRO Ligne vide résiduelle supprimée et icône Aquasol N&B ancrée centrée en pied de page.
v0.9.85
Juin 2026
Rapport généré : alignement du titre §4 (corps)
- TITRE §4 Titre « Choix et dimensionnement… » du corps aligné à gauche : il était justifié (
jc=both), ce qui étirait sa 1ʳᵉ ligne sur deux lignes. Passé en alignement à gauche, comme tous les autres titres du document.
v0.9.84
Juin 2026
Rapport généré : lisibilité du sommaire (§4)
- SOMMAIRE Titre du §4 « Choix et dimensionnement… » mis sur deux lignes : retour à la ligne avant « AUTONOME », réaligné sous le début du titre. Le renvoi automatique ramenait auparavant « AUTONOME » sous le numéro, gênant la lecture. Modification limitée au sommaire (le titre du corps reste inchangé).
v0.9.83
Juin 2026
Rapport généré : recentrage des images de la page de garde
- PAGE DE GARDE Logo AQUASOL et cadre « ETUDE DE SOL » recentrés : ces deux images flottantes étaient décalées vers la gauche depuis la réduction des marges latérales (offsets fixes hérités des anciennes marges). Elles sont désormais centrées automatiquement par rapport aux marges (centrage relatif), robuste à tout changement de marge ultérieur.
v0.9.82
Juin 2026
Rapport généré : sommaire avec numéros de page à jour
- SOMMAIRE Numéros de page actualisés : le sommaire du rapport (.docx et PDF) part désormais avec des numéros de page recalculés selon la pagination réelle, au lieu des numéros périmés hérités du modèle. La mise en forme et la fidélité du document sont intégralement préservées (seuls les numéros changent).
v0.9.81
Juin 2026
Rapport généré : page de garde recentrée + aération des figures + conclusion alignée à gauche
- MISE EN PAGE Page de garde : espace ajouté au-dessus du bloc « DEPARTEMENT / Commune » et en dessous, pour recentrer le cadre « ETUDE DE SOL » sur la page ; le bloc coordonnées société est repositionné en bas de page (le tout tenant sur une seule page).
- MISE EN PAGE Figures aérées : espace ajouté sous le paragraphe précédant la figure n°5, ainsi qu'avant la figure n°6 et sous sa légende (contexte géologique 1/50 000).
- MISE EN PAGE Tableau de conclusion : contenu désormais aligné à gauche pour une meilleure lisibilité, les titres de sections (« Synthèse de l'étude », « Diagnostic de la parcelle », « Filières préconisées ») restant centrés.
- MISE EN PAGE Page blanche supprimée : retrait des retours à la ligne en fin de §4.2 qui généraient une page vide avant la conclusion.
- FIABILITÉ Correction de l'ordre des éléments OOXML (w:spacing avant w:jc) sur la page de garde pour garantir l'ouverture du document sous Microsoft Word.
v0.9.80
Juin 2026
Rapport généré : §2.1 resserré (figures 1 à 4 sur une page) + largeur des tableaux uniformisée
- MISE EN PAGE Figures n°1 à n°4 sur une même page : suppression des retours à la ligne superflus en §2.1 (sous la légende des figures 1-2 et sous le Tableau 1) pour un affichage compact et optimisé.
- MISE EN PAGE Tableaux de texte équilibrés : tous les tableaux contenant du texte (coordonnées, localisation, perméabilité, filières, synthèse) occupent désormais toute la largeur utile de la page, avec des colonnes redistribuées proportionnellement pour un affichage cohérent des valeurs.
v0.9.79
Juin 2026
Rapport généré : marges, page de conclusion, cohérence des libellés de sondages
- MISE EN PAGE Marges réduites : 2,00 cm à gauche/droite et 1,5 cm en haut/bas (au lieu de 2,5 cm partout).
- MISE EN PAGE Conclusion en dernière page : saut de page automatique avant la section « 5. Conclusion » pour qu'elle démarre en haut d'une nouvelle page.
- CORRECTIF Cohérence des libellés de sondages : le libellé de chaque sondage suit désormais sa méthode réelle (ex. « TM1 (Tarière Manuelle n°1) » quand l'intro annonce « tarière manuelle »), au lieu d'afficher systématiquement « Tarière Mécanique ». Les lignes de refus / venue d'eau utilisent la même abréviation.
v0.9.78
Juin 2026
Tableau de bord : complétude, date de réalisation, tri et filtre « hors archivés »
- NOUVEAU Colonne « Complétude » : pourcentage d'avancement de chaque dossier, avec le même code couleur que la fiche terrain (rouge <40 % · orange <70 % · jaune <90 % · vert ≥90 %). Calculé côté serveur avec la même pondération (critiques 60 % · importants 30 % · optionnels 10 %).
- NOUVEAU Colonne « Réalisé le » : date de réalisation du rapport (date de chantier) affichée dans la liste.
- NOUVEAU Tri par date de réalisation sur les vues larges (« Tous » et « Tous sauf archivés ») — les études les plus récentes en tête, les dossiers sans date en fin de liste.
- NOUVEAU Filtre rapide « 📂 Tous sauf archivés » : voir l'ensemble des dossiers actifs sans le poids des dossiers archivés.
- DONNÉES Archivage des 44 anciennes études historiques (imports 2013–2021) pour désencombrer le tableau de bord. Réversible à tout moment via le menu statut.
v0.9.77
Juin 2026
Rapport généré : 3 correctifs de fidélité (§2.2 hydro, §2.3 géologie, venue d'eau)
- CORRECTIF §2.2 — paragraphe hydrographique : le texte « Contexte hydrographique » saisi sur la fiche est désormais bien repris dans le rapport même quand il y a des sondages (template Béziat). Il était auparavant ignoré (ancre interne non trouvée), le §2.2 se limitant à une phrase générée.
- CORRECTIF §2.3 — géologie : une nature de sol courte (« Grès », « Gneiss ») ne tronque plus le paragraphe géologique à un seul mot — elle est intégrée dans une phrase complète.
- CORRECTIF Venue d'eau : la mention figée « Pas de venue d'eau observée » n'apparaît plus à tort quand une venue d'eau a été constatée — l'observation saisie sur la fiche fait foi.
v0.9.76
Juin 2026
Tableau de bord : filtre rapide « En cours » par défaut
- NOUVEAU Filtre rapide « ⏳ En cours » : affiche tous les dossiers non finalisés (hors « Rapport envoyé », « Archivé » et « Abandonné »). Ajouté aussi dans le menu déroulant des statuts.
- NOUVEAU Filtre appliqué par défaut à l'ouverture du tableau de bord — on voit d'emblée les dossiers à traiter, sans être noyé sous les dossiers déjà clos.
v0.9.75
Juin 2026
Rapport « Générer .docx » propre — balises déplacées sur le Debug
- FIX « 📄 Générer le rapport .docx » est désormais un document quasi définitif : plus aucun surlignage à retirer. L'ingénieur n'a qu'à compléter les rares parties non encore automatisables (laissées vides).
- DEBUG Les balises de contrôle (surlignage jaune des valeurs auto à vérifier : perméabilité, filières, linéaires, champs vides) sont déplacées sur le rapport « Debug .docx », avec une entrée dédiée dans sa légende (en plus du code couleur vert/rouge/noir existant).
v0.9.74
Juin 2026
Rapport généré : balises de contrôle + cohérence filière « tranchées »
- NOUVEAU Balises de contrôle (surlignage jaune) : dans le rapport généré, les valeurs auto-calculées à valider (perméabilité, filières préconisées, linéaires d'évacuation, choix §4) sont surlignées en jaune, avec une note en tête. L'ingénieur les vérifie/complète puis retire le surlignage avant envoi (Word : Accueil → Couleur de surbrillance → Aucune). Les champs manquants apparaissent « - » surligné.
- FIX Filière « tranchées d'épandage » (sol infiltrable) : le §4.1 indique désormais « le contexte autorise un dispositif classique de type tranchées filtrantes » (la filière agréée étant présentée en alternative), au lieu de la phrase figée « les contraintes ne permettent pas les tranchées → agréé » héritée du modèle.
- FIX Cohérence des linéaires : le linéaire d'évacuation affiché au §4.2 et celui de la synthèse §5 sont désormais identiques (même source de calcul). La filière traditionnelle reprend le linéaire d'épandage saisi (nb de tranchées × longueur) au lieu d'un total recalculé divergent.
- FIX Évacuation après filière agréée : pour un sol infiltrable, la sortie est bien décrite en « tranchées d'infiltration » (≈ ½ du linéaire d'épandage), et non en « tranchées d'épandage ».
v0.9.73
Mai 2026
Rapport généré : cohérence des filières à rejet (suite)
- FIX Sols imperméables (rejet) : le §4 « Situation du dispositif » et la synthèse §5 ne décrivent plus de « tranchées d'infiltration » pour ces sites — la synthèse indique désormais « rejet en milieu superficiel » et la filière « X EH avec rejet des eaux traitées », sans linéaire d'infiltration fictif.
- FIX Nature du sol (§4.1) : quand la texture n'est pas saisie, le rapport affiche la perméabilité réelle (ex. « Imperméable (Kr.=0 mm/h) ») au lieu d'une valeur d'exemple figée.
- FIX Phrase de choix de filière : plus de « malgré une perméabilité acceptable » sur un sol imperméable — la justification reflète le vrai contexte.
Fiabilité : nouvelles alertes de cohérence
- VÉRIF K retenu vs essais : une alerte bloquante signale si le K retenu est incohérent avec les essais Porchet mesurés (ex. 120 mm/h retenu alors que les essais donnent 0–1 mm/h) — évite de générer un rapport faux.
- VÉRIF Sol non infiltrable vs filière : alerte si une filière à infiltration est choisie alors que K < 6 mm/h (infiltration impossible → rejet requis).
v0.9.72
Mai 2026
Rapport généré : cohérence des filières à rejet
- FIX Sols imperméables (rejet au ruisseau/fossé) : le rapport ne décrit plus à tort une « infiltration dans le sol » pour ces sites. Les §4 (filière, évacuation) et la synthèse §5 parlent désormais bien de rejet vers le milieu superficiel — fini la contradiction « sol non infiltrable » + « évacuation par infiltration ».
- FIX Aléas Géorisques : l'aléa « inondation » n'apparaît plus quand le terrain est hors zone inondable (plus de contradiction avec le §2.2) ; le radon et le feu de forêt, sans objet pour l'assainissement, sont retirés.
- FIX Perméabilité : la phrase sur l'indice IDPR (estimation BRGM 1/1M) est masquée dès qu'un K mesuré sur le terrain existe — le K mesuré fait foi.
Formatage & enrichissement
- FIX Références cadastrales : suppression des zéros de tête issus de l'IGN (
AD 0203 → AD 203, 0B 0629 → B 629).
- FIX Cours d'eau : meilleure grammaire (« bassin versant du ruisseau de Lène » au lieu de « de Ruisseau de Lène ») ; n° de feuille géologique erroné retiré.
- FIX Géolocalisation : la précision d'une adresse exacte est de nouveau reconnue (plus d'alerte « adresse imprécise » injustifiée).
- FIX Météo terrain : les conditions sont à nouveau récupérées pour les interventions récentes (bascule automatique vers l'archive météo).
v0.9.71
Mai 2026
Robustesse : sessions persistantes
- FIX Vous restez connecté après une mise à jour de l'app : les sessions sont désormais stockées en base (SQLite) au lieu de la mémoire du serveur — fini la déconnexion à chaque redéploiement, et plus de fuite mémoire.
- FIX La version réelle de l'app est désormais exposée correctement par l'API (
/api/health), alignée sur le numéro affiché.
v0.9.70
Mai 2026
Fiabilisation du rapport généré (cohérence terrain ↔ rapport)
- FIX Géologie : le rapport ne cite plus une feuille « 1/50 000 de {commune} » inexistante. La donnée auto est honnêtement attribuée à la carte harmonisée BRGM au 1/1 000 000 ; la mention 1/50 000 n'apparaît que si une vraie feuille est saisie à la main.
- FIX §4.2 : le « rejet théorique (litres/jour, EH) » est désormais recalculé sur l'EH réel du dossier (150 L/j × EH) au lieu d'une valeur figée.
- FIX Aléa remontée de nappe : formulation corrigée. Le simple drapeau Géorisques « présent » n'est plus transformé en un niveau de sensibilité fabriqué ; le champ reste à lire sur la carte BRGM.
- FIX Département : déduit automatiquement du code INSEE/postal (fini « DEPARTEMENT DE — »).
- FIX Conclusion §5 : la phrase de préconisation est reconstruite à partir des contraintes réelles du site et de la filière retenue (plus de mention figée hors-sujet).
- NEW Alerte cadastre : la fiche signale désormais quand aucune parcelle n'a pu être récupérée (adresse imprécise type hameau) — fini l'échec silencieux.
- NEW Alerte substratum imperméable : si les sondages révèlent un refus rocheux peu profond, la fiche suggère d'envisager un dispositif drainé (le K de surface peut surestimer l'infiltration).
- NEW Brouillon IDPR « à valider » : sensibilité aquifère et vulnérabilité du sol sont pré-remplies depuis l'IDPR BRGM avec un badge ambre « ⚠ à valider » pour rappeler de les confirmer avant génération.
v0.9.69
Mai 2026
Réutilisation des études voisines
- NEW Sur la fiche terrain, un panneau « 📍 Études à proximité » liste les dossiers déjà renseignés dans un rayon de 3 km (triés par distance), avec leur commune, n° d'affaire et date.
- NEW Bouton « ⬇ Pré-remplir les champs vides » : importe le contexte de secteur d'une étude voisine (géologie attendue, formation/code BRGM, contexte hydrographique, bassin versant, sensibilité aquifère, vulnérabilité, aléas, niveau d'eau) sans jamais écraser un champ déjà saisi.
- Le panneau n'apparaît que si le dossier est géolocalisé et qu'au moins une étude voisine possède des champs réutilisables.
v0.9.68
Mai 2026
Planning des relevés + saisie terrain hors-ligne
- NEW Nouvelle page « 📅 Planning » (accessible depuis la barre de navigation) : tous les relevés ayant une date de chantier renseignée, regroupés par mois, avec filtres À venir / Passés / Tous. Chaque carte renvoie vers la fiche, le téléphone du client et un itinéraire vers la parcelle.
- NEW Export du planning au format
.ics : un bouton télécharge un calendrier importable dans Google Agenda / Apple Calendrier (un évènement par relevé, avec lieu et coordonnées GPS).
- NEW Saisie terrain hors-ligne (fiche) : les modifications saisies sans réseau sont désormais conservées localement et resynchronisées automatiquement au retour de la connexion — y compris après un rechargement de la page. Un indicateur signale le nombre de modifications en attente.
- Limite connue : la création hors-ligne d'un nouveau sondage/essai/photo reste à faire en zone couverte ; seules les modifications de champs existants sont mises en file d'attente.
v0.9.67
Mai 2026
Marqueur de la carte géologique
- FIX Le marqueur (pin) de la parcelle n'apparaissait pas sur la carte géologique. Remplacé par un repère autonome toujours visible.
v0.9.66
Mai 2026
Carte géologique intégrée + écrasement du dimensionnement
- FIX Le bouton « 🗺️ Carte géol. 1/50 000 » ouvrait le Géoportail avec une carte vide (couche géologie non reconnue). Remplacé par une page carte intégrée (Leaflet + WMS BRGM officiel) centrée sur la parcelle, avec choix de couche (1/50 000 scannée, harmonisée, 1/1M) et réglage d'opacité.
- NEW Proposition de dimensionnement : nouveau bouton « 🔁 Écraser les valeurs existantes ». Auparavant l'application ne remplissait que les champs vides — si un champ était déjà saisi, rien ne changeait (sans explication). Désormais les champs déjà renseignés sont listés, avec l'option de les écraser.
- Rappel : pour un terrain en zone inondable ou un sol imperméable (K<5), la proposition est une filière agréée hors-sol sans dimensionnement de tranchées — c'est normal (voir les justifications affichées).
v0.9.65
Mai 2026
Accès direct à la carte géologique 1/50 000
- NEW Bouton « 🗺️ Carte géol. 1/50 000 » dans la section Géologie BRGM : ouvre la carte géologique au 1/50 000 centrée sur la parcelle (coordonnées GPS), pour lire la notation de formation (k2b1…) et la saisir.
- CHG Le bouton « Récupérer depuis GPS » est désormais explicitement libellé comme un préremplissage approximatif (lithologie BRGM 1/1 000 000) — la carte 1/50 000 reste la source de référence pour la notation précise.
v0.9.64
Mai 2026
Export du rapport en PDF
- NEW Nouveau bouton « 📕 PDF » sur la fiche : génère le rapport en PDF non modifiable, rendu fidèle au .docx (mise en page, figures IGN/cadastre, tableaux, sommaire à jour). Idéal pour l'envoi au client.
- Conversion côté serveur via LibreOffice headless (installé sur le VPS). Le sommaire et les renvois de pages sont recalculés automatiquement à la conversion.
- Le PDF est un export dérivé : seul le
.docx reste archivé/versionné.
v0.9.63
Mai 2026
Garde-fou de cohérence avant génération du rapport
- NEW Au clic sur « 📄 Générer le rapport .docx », l'app vérifie d'abord la fiche : si des champs critiques manquent ou si des incohérences bloquantes sont détectées, une confirmation liste les problèmes avant de générer (le rapport reste générable si on le souhaite). Le mode debug n'est pas concerné.
- NEW Nouveaux contrôles de cohérence orientés rapport : filière à infiltration sans surface d'infiltration, filière en tranchées sans nombre/longueur, essais Porchet présents sans K retenu, et K+EH connus sans scénario de filière.
- CHG Les alertes « zone inondable » et « K vs filière » reconnaissent désormais l'ensemble du catalogue de filières (8 scénarios).
v0.9.62
Mai 2026
Catalogue de filières étendu (8 scénarios au lieu de 3)
- NEW Le menu « Scénario filière » propose désormais 8 filières regroupées par famille — Traditionnelles (DTU 64.1) : tranchées d'épandage, tranchées + sable d'apport, filtre à sable vertical non drainé, filtre à sable vertical drainé, tertre d'infiltration ; Agréées : micro-station compacte, rejet fossé, lit d'infiltration.
- FIX Le moteur de dimensionnement savait déjà recommander ces 6 techniques, mais son résultat était écrasé à 3 codes au moment d'enregistrer. La proposition automatique (🧮) sélectionne maintenant directement la filière exacte adaptée au K Porchet et aux contraintes (zone inondable, captage AEP, argiles).
- CHG Les champs affichés s'adaptent à la filière : tranchées → nombre + longueur ; filtre/tertre/lit → surface d'infiltration + dispositif ; rejet → exutoire seul.
- Compatibilité assurée : les fiches enregistrées avec les anciens codes (
A, B, C, A_tranchees…) restent lisibles et correctement rendues dans le rapport.
v0.9.61
Mai 2026
Complétude de la fiche alignée sur tous les champs du rapport
- FIX L'indicateur de complétude de la fiche terrain suivait 27 champs alors que le rapport en consomme davantage. Il couvre désormais l'ensemble des champs « valeur » réellement utilisés par la génération du rapport (36 champs), dont
EH estimés, Type de projet, Superficie assainissement, Surface d'infiltration, Scénario filière, Distance/Direction cours d'eau, Réseau eau de surface, Niveau d'eau et Code BRGM.
- CHG La fiche affiche maintenant la liste complète des champs manquants (critiques + importants + optionnels), dépliable d'un clic, et non plus seulement les champs critiques.
- Les cases à cocher (puits, fossés, zone inondable, documents fournis…) ne pénalisent pas le score : une case décochée est une réponse valide, pas un oubli.
v0.9.60
Mai 2026
« Documents fournis par le client » déplacé sur la fiche client
- CHG Le bloc « 📎 Documents fournis par le client » (plan de situation, cadastral, de masse, du projet, permis de construire + champ libre) quitte la fiche terrain et se trouve désormais dans la section « 📝 Informations » de la fiche client, à côté de la demande du client. La saisie est auto-sauvegardée par champ et reste rattachée à la fiche terrain (le rapport généré est inchangé).
v0.9.59
Mai 2026
Fiche : cartes d'aléas avec fond IGN (comme le rapport)
- CHG Carte « Aléa retrait-gonflement argile » (galerie « Cartes du terrain ») : ajout d'un fond de plan IGN sous la couche d'aléa (rendue semi-transparente), pour repérer le site par rapport aux lieux-dits et aux voies — même rendu que la figure 8 du rapport.
- CHG Carte « Aléa remontée de nappe » : opacité de la couche ramenée à 50 % afin que le fond IGN (déjà présent) transparaisse réellement — même rendu que la figure 7 du rapport.
v0.9.58
Mai 2026
Figure 7 : le fond IGN est maintenant visible
- FIX Figure 7 (remontée de nappe) : la couche d'aléa, renvoyée par le serveur BRGM à ~99 % d'opacité, masquait totalement le fond de plan IGN. Son opacité est désormais ramenée à ~50 % (transparence ajustée directement dans l'image, sans dépendance externe), si bien que les lieux-dits, routes et le relief IGN transparaissent sous l'aléa — comme sur la figure 8.
v0.9.57
Mai 2026
Sommaire : mise à jour des numéros de page enfin prise en compte par Word
- FIX Sommaire dynamique : la balise
updateFields était insérée à une position non conforme dans settings.xml (le schéma OOXML impose un ordre strict) — Word l'ignorait silencieusement, d'où des numéros de page non actualisés. Replacée au bon endroit, elle est désormais honorée : à l'ouverture, Word recalcule le sommaire et les renvois (accepter l'invite « mettre à jour les champs ? »).
v0.9.56
Mai 2026
Rapport : correction de l'élision « de / d' » devant le nom de commune
- FIX §2.2 : les communes commençant par « L » s'affichaient à tort avec une apostrophe (ex. « commune d'Lauroux »). Corrigé en « de Lauroux ». Les vraies élisions devant voyelle ou h muet (« d'Olargues », « d'Hérault ») et les noms à article élidé (« de L'Hospitalet ») restent correctement gérés.
v0.9.55
Mai 2026
Rapport : fonds IGN sur les cartes d'aléas, sommaire dynamique et nettoyage de mise en page
- FEAT Figures 7 & 8 : un fond de plan IGN est désormais superposé sous les couches d'aléas (remontée de nappe et retrait-gonflement des argiles), pour repérer le site par rapport aux lieux-dits et aux voies. Très lisible sur la figure 8 (couche argiles translucide) ; plus discret sur la figure 7 (couche nappe quasi opaque).
- FEAT Sommaire dynamique : le sommaire (table des matières) et les renvois de pages sont marqués pour recalcul automatique à l'ouverture du document, reflétant la pagination réelle.
- FIX §2.2 Contexte géomorphologique : le paragraphe d'exemple résiduel (hérité d'un ancien rapport modèle) est désormais entièrement régénéré depuis la fiche terrain (bassin versant, cours d'eau, pente, zone inondable).
- FIX Remarques importantes : un saut de page place ce bloc sur une seule et même page.
- FIX En-tête : la bande d'en-tête vide est retirée du document.
v0.9.54
Mai 2026
Tailles des légendes figures 6 & 8 harmonisées
- FIX Figure 8 : légende réduite pour que la taille du texte soit cohérente avec celle de la figure 7.
- FIX Figure 6 : légende lithologique remise à sa taille initiale (la réduction précédente la rendait trop petite).
v0.9.53
Mai 2026
Légende de la figure 7 en haute résolution
- FIX La légende de la figure 7 est désormais nette : reconstruite en haute résolution (mêmes 5 catégories et couleurs), elle reste lisible une fois redimensionnée dans le rapport (l'image modèle d'origine, en basse définition, devenait floue).
v0.9.52
Mai 2026
Légende de la figure 7 (modèle fourni)
- FIX La légende de la figure 7 (aléa remontée de nappe) utilise désormais le modèle de légende fourni (5 catégories : débordements de cave, inondations de nappe, pas de débordement, entités hydrogéologiques imperméables, EAIP).
v0.9.51
Mai 2026
Légendes figures 6 & 8 ajustées
- FIX Figure 8 (retrait-gonflement des argiles) : légende reconstruite en 3 lignes (« Exposition forte / moyenne / faible »), la légende officielle BRGM affichait les niveaux en double.
- FIX Figure 6 (géologie) : légende lithologique réduite pour un meilleur équilibre avec la carte.
v0.9.50
Mai 2026
Légende de la figure 7 épurée
- FIX La légende de la figure 7 (aléa remontée de nappe) est désormais épurée et lisible : 3 catégories pertinentes (débordements de nappe, inondations de cave, pas de débordement) au lieu des 22 entrées de la légende officielle BRGM, illisibles à cette taille.
v0.9.49
Mai 2026
Figures 6, 7 & 8 avec légende latérale (style fig5)
- FEAT La figure 6 (géologie 1/50 000) est désormais présentée carte à gauche + légende lithologique simplifiée à droite (repère général), en table 2 colonnes comme la fig5.
- FEAT Les figures 7 et 8 (aléa remontée de nappe, retrait-gonflement des argiles) sont dissociées (chacune dans sa propre table) avec leur légende BRGM à côté de la carte.
v0.9.48
Mai 2026
Figures 7 & 8 placées juste sous « Attention »
- FEAT Le bloc figures 7 & 8 est désormais inséré directement sous le titre « Attention : », et les deux phrases d'aléa (remontée de nappe, retrait-gonflement des argiles) sont regroupées sous les figures.
v0.9.47
Mai 2026
Figures 7 & 8 côte à côte + légendes en taille 10
- FEAT Les figures 7 et 8 (aléa remontée de nappe et retrait-gonflement des argiles) sont désormais affichées côte à côte, comme les figures 1-4, avec la légende sous chaque image.
- FEAT Toutes les légendes « Figure n°… » sont harmonisées en police taille 10.
v0.9.46
Mai 2026
Figures 6-8 réduites + centrées, et cadres « Localisation » retirés
- FEAT Les figures 6, 7 et 8 (géologie, remontée de nappe, retrait-gonflement des argiles) passent au même format réduit que les figures 1-5 (~7,5 cm), centrées, avec la légende dessous — pour une mise en page cohérente sur tout le rapport.
- FIX Retrait des cadres et flèches « Localisation du projet » (et anciennes images statiques) hérités de l'ancien rapport, qui flottaient par-dessus le texte des intros « Localisation du site » et « Contexte géologique ». Le texte narratif est conservé.
v0.9.45
Mai 2026
Figure n°6 : retrait de la carte géologique résiduelle
- FIX Suppression de la carte géologique statique héritée de l'ancien rapport (un autre site, Murat-sur-Vèbre) qui restait ancrée au-dessus de la légende « Figure n°6 : Contexte géologique » et flottait par-dessus le texte. La carte géologique BRGM du site est, comme avant, générée automatiquement depuis le point GPS. Même nettoyage runtime que pour la figure 5.
v0.9.44
Mai 2026
Figure n°5 : EAIP en repli sur les communes sans PPRI
- FEAT Sur les communes sans PPR Inondation (la couche réglementaire est alors vide), la figure n°5 affiche désormais l'EAIP — Enveloppe Approchée des Inondations Potentielles (couverture nationale) sur fond IGN, en vue large + pin, avec sa propre légende. La légende-texte de la figure devient « Enveloppe Approchée des Inondations Potentielles (EAIP) ».
- DATA Sur les communes avec un PPRI approuvé, le comportement reste inchangé : zonage réglementaire au zoom rapproché + légende PPRI.
- Note : le WMS géorisques rend l'EAIP en bleu/cyan et seulement en vue large (1:90 000–500 000) ; le rendu rouge au zoom rue du visualiseur géorisques.gouv.fr utilise des tuiles vectorielles non disponibles via le WMS.
v0.9.43
Mai 2026
Figure n°5 (PPRI) : fond IGN + correction des communes sans zonage
- FIX La figure n°5 ne s'affichait pas du tout sur les communes sans zonage PPRI (ex. Rouairoux) : la couche PPRI renvoie alors une image transparente vide, qui était rejetée à tort comme une erreur.
- FEAT La figure n°5 est désormais un composite par calques : fond de carte IGN (toujours présent) + couche PPRI transparente par-dessus + pin centré, puis légende à droite. Sur une commune sans zonage, on voit au moins le site sur le fond IGN ; ailleurs, les zones d'aléa se superposent.
- FIX Validation des images WMS durcie (octets magiques PNG/JPEG) : une couche vide est acceptée, une vraie erreur reste rejetée.
v0.9.42
Mai 2026
Figure n°5 (PPRI) : carte + légende côte à côte, nettoyage
- FEAT La figure n°5 (zonage PPRI inondation) s'affiche désormais au même format que les figures 1 à 4 : carte WMS (avec pin centré) à gauche, légende « Zonage réglementaire » à droite dans une table 2 colonnes.
- FIX Suppression des images statiques héritées de l'ancien rapport (ancienne carte PPRI + sa légende) qui restaient ancrées dans le template et flottaient par-dessus le texte. La carte est, comme avant, générée automatiquement depuis le point GPS du client.
v0.9.41
Mai 2026
Cartes du rapport : zoom rapproché sur les figures 1 à 4
- FEAT Les figures 1 à 4 du rapport (Plan IGN, vue aérienne, cadastre, ortho cadastre) sont désormais toutes au même niveau de zoom rapproché (~660 m). Avant, le Plan IGN et la vue aérienne du site étaient cadrés trop large (~3,3 km) et les étiquettes (noms de rues, lieux-dits) étaient illisibles.
- FIX La clé de cache des cartes intègre maintenant le niveau de zoom : un changement d'échelle régénère bien les images au lieu de resservir d'anciennes vues mises en cache.
v0.9.40
Mai 2026
« Documents fournis » : masqué si aucune case cochée
- FIX Quand aucun document n'est coché (et aucun document libre saisi) dans la fiche terrain, le bloc « Remarque : / Documents fournis par le client : Plan de situation, Plan cadastral » n'apparaît plus du tout dans le rapport (avant : la liste par défaut du template restait affichée).
v0.9.39
Mai 2026
Suppression de l'image cadastrale fantôme de l'ancien rapport
- FIX Image cadastrale parasite supprimée des deux templates (.docx) : héritée de l'ancien rapport modèle (mauvais site), elle apparaissait en doublon de la carte cadastrale WMS générée automatiquement.
- FIX Annotations de la zone cadastre supprimées : flèches, cadre « Localisation du projet » et forme libre (calque) qui se superposaient à la carte cadastrale.
- FIX Retrait chirurgical (lxml) : seules ces décorations de la zone cadastre sont retirées — polices, page de garde, sommaire, tableaux et toutes les autres figures restent strictement identiques.
v0.9.38
Mai 2026
Rapport .docx : introduction dynamique + figures côte à côte
- FEAT Puces d'introduction dynamiques : les lignes « X sondages à la … » et « X essais d'infiltration … » reflètent désormais le nombre réel de sondages / essais de la fiche terrain, et le mode de réalisation du trou suit la méthode des sondages (tarière mécanique / manuelle / barre à mine / à la main).
- FEAT « Documents fournis par le client » paramétrable : nouvelles cases à cocher dans la fiche terrain (plan de situation, cadastral, de masse, du projet, permis de construire) + champ libre « Autre ». La liste de l'introduction du rapport est générée à partir des cases cochées.
- FEAT Figures 1-2 et 3-4 côte à côte : les cartes de localisation (IGN + vue aérienne) et cadastrales sont désormais affichées en deux colonnes optimisées dans la marge utile, au lieu d'être empilées en pleine largeur.
- FEAT §3 cohérent : la phrase « Les sondages à la … ont permis de préciser le contexte géologique » suit aussi la méthode réelle des sondages.
- DATA Nouvelles colonnes
fiches_terrain : doc_plan_situation, doc_plan_cadastral, doc_plan_masse, doc_permis_construire, doc_plan_projet, documents_autre ; nouvelle option de méthode de sondage main_pioche_pelle.
v0.9.37
Mai 2026
Vignette PPRI/Remontée nappe : background transparent sur l'overlay
- FIX Cause racine identifiée (après vérif Playwright/Chromium headless) : la règle globale
.carte-card img { background: #f3f4f6 } appliquait un fond gris à l'overlay PPRI. Pour un chantier inland sans PPRI, le retour WMS est un PNG quasi vide (152 octets de transparent) — l'overlay devenait un rectangle opaque gris qui masquait entièrement le PlanIGN dessous. Visuellement = vignette "transparente / vide".
- FIX Override
background: transparent sur l'overlay quand un .carte-base est présent. Le PlanIGN devient visible à travers les zones transparentes du PPRI. Confirmé en headless : cas côtier (PPRI dense) et cas inland (PPRI vide) rendent tous les deux correctement.
v0.9.36
Mai 2026
Vignette PPRI/Remontée nappe : passage en CSS Grid stacking
- FIX Vignette toujours vide en v0.9.35 (base + overlay en
position:absolute; inset:0) : le wrapper en aspect-ratio:1/1 est un flex item dans une carte flex-direction:column. Sans aucun enfant en flow, la résolution de hauteur via aspect-ratio peut s'effondrer dans cette configuration.
- TECH Passage en CSS Grid stacking via
:has(> img.carte-base) : le wrap bascule en display:grid avec une seule cellule stack, base et overlay sont placés dans la même cellule (grid-area:stack) — les deux images s'empilent et l'overlay au-dessus via z-index:1. Le pin reste absolu, centré. Le grid résout proprement la hauteur via la largeur + aspect-ratio sans dépendre du flow.
v0.9.35
Mai 2026
Fix vignette PPRI/Remontée nappe : alignement fond + overlay (scopé)
- FIX Vignette des cartes empilées (PPRI inondation, Remontée de nappe) qui ne s'affichait pas correctement : l'overlay en
position:relative; height:100% ne se résolvait pas systématiquement face au wrapper en aspect-ratio:1/1. Base et overlay sont désormais tous les deux en position:absolute; inset:0 dans la vignette.
- FIX Lightbox cassée en collatéral : la première version de cette règle (générique
.carte-img-wrap > img.carte-base) débordait sur la lightbox, qui porte les mêmes classes. L'inset:0 fuitait et écrasait le centrage. Règles désormais scopées à .carte-card .carte-img-wrap — la lightbox conserve sa propre logique flex.
v0.9.33
Mai 2026
Fix carte « Zonage PPRI inondation » et « Aléa remontée de nappe » blanches
- FIX Carte PPRI blanche sur la fiche client (et identiquement la carte Remontée de nappe). Les couches Géorisques
PPRN_ZONE_INOND et BRGM REMNAPPE_FR sont servies en overlay transparent : aucune base. Hors zone PPRI, le retour WMS était entièrement transparent → carte blanche. Un fond Plan IGN (Géoplateforme, même BBOX) est désormais empilé sous l'overlay, à la fois sur la vignette et en lightbox.
- TECH Le rendu HTML accepte maintenant un
baseUrl optionnel par carte. CSS : img.carte-base en absolu inset:0, overlay et pin en z-index:1 au-dessus. Le lightbox propage l'URL fond via data-basesrc.
v0.9.32
Mai 2026
Rapport .docx : 13 corrections + cartes WMS automatiques avec pin GPS
- FEAT 8 cartes auto-insérées dans le rapport aux placeholders Figure n°1 à n°8 : Plan IGN site, Vue aérienne site, Cadastre parcelle, Orthophoto + cadastre parcelle, Zonage PPRI inondation (Géorisques), Géologie BRGM 1/50 000, Aléa remontée de nappe (BRGM), Aléa retrait-gonflement argiles (BRGM). Téléchargement WMS via
urllib stdlib, cache disque par UUID (/tmp/aquasol-cartes/<uuid>/) + fallback silencieux si timeout.
- FEAT Pin GPS centré sur chaque carte du rapport — composition OOXML (carte
wp:inline + pin wp:anchor avec offsets calculés en EMU). Pin partagé entre les 8 cartes (1 seul marker-pin.png dans le zip).
- FEAT 2 cartes ajoutées sur la fiche client : Zonage PPRI inondation + Aléa remontée de nappe. La fiche affiche désormais les 6 cartes du rapport (+ 2 cartes IGN/cadastre supplémentaires).
- FIX Date de la page de garde = mois courant à la génération (ou
date_rapport si saisie), plus jamais date_chantier qui pouvait être antérieure de plusieurs mois.
- FIX Sondages — « Refus sur roche » remplacé par « arrêt volontaire à X m/TN » quand la case est cochée (cohérence métier).
- FIX Tranchées — « 2 rangées de 15 ml » parasite supprimé en sortie de filière agréée (scénario
C_*) : on affiche désormais le linéaire total directement.
- FIX Superficie ANC — « supérieure à 100 m² » du template remplacé par la valeur saisie (« d'environ 200 m² »).
- FIX Justification §4.1 — la mention « contexte rocheux » du template n'apparaît plus si la texture saisie est limono-argileuse.
- FIX Synthèse — Système traditionnel n'est plus auto-calculé quand l'utilisateur a explicitement choisi un scénario « filière agréée », évitant la contradiction avec le §4.1.
- FIX Élision « d' » devant voyelle dans les paragraphes Localisation / Géomorpho / Géologie BRGM (« commune d'Espérausses »).
- FIX Accord aléa argiles au féminin (« zone d'exposition forte » au lieu de « fort »), mapping étendu (moyen→moyenne, élevé→élevée, etc.).
- FIX Doublon mission supprimé : la phrase auto-comptée est remplacée par l'intro qui amène la liste à puces (« …différents essais ont été réalisés sur place : »).
- FIX Plage EH conservée (« 3-4 ») si saisie telle quelle ; phrase intro utilise « pièces principales » au lieu de « chambres ».
- FEAT Microstation — 2 tableaux ajoutés entre les filières compactes et plantées : Filières à boues activées + Filières à cultures fixées, avec intro descriptive. Données pour 3 à 6 EH.
- FEAT §2.2 Géomorphologie enrichi : ajoute distance + direction cours d'eau (« à environ 190 m au sud-sud-est »), pente, mention DREAL zone inondable.
v0.9.31
Mai 2026
Pin GPS sur les « Cartes du terrain » de la vue détail client
- FEAT Marker au centre de chaque carte WMS (Plan IGN, Vue aérienne, Cadastre, Géologie BRGM, Aléa argile) sur la vue détail client. Les images sont déjà centrées sur le GPS du client (paramètre
BBOX de l'appel WMS) — le pin marque donc visuellement l'emplacement exact du chantier. Visible en miniature et conservé en lightbox lors du zoom.
- TECH Overlay HTML/CSS : le PNG du marker (
/assets/vendor/marker-icon.png) est positionné en absolu à 50%/50% avec translate(-50%, -100%) pour que la pointe tombe pile au centre géographique. pointer-events: none pour ne pas bloquer le clic vers le lightbox.
v0.9.30
Mai 2026
Fix pin de la mini-carte (placeholder « Mark » → vrai marker)
- FIX Marker manquant sur la mini-carte de la fiche. Leaflet calcule par défaut les URLs des images du marker (icône + ombre) à partir du chemin du script CSS — détection KO depuis
fiche.js, d'où un carré vide avec le texte « Mark ». Les chemins sont maintenant déclarés explicitement (/assets/vendor/marker-icon.png, marker-icon-2x.png, marker-shadow.png), comme déjà fait sur la page Carte clients.
v0.9.29
Mai 2026
Mini-carte avec pin GPS sur la fiche client
- FEAT Carte interactive façon Google Maps dans la section « 📍 Position GPS » de la fiche client : fond cartographique IGN Plan v2 (zoom jusqu'à 1/2 000), pin centré sur le point GPS du dossier. Permet de visualiser instantanément si la position est correcte avant de lancer cadastre/BRGM/Géorisques.
- FEAT Mise à jour live du pin à chaque modification du GPS (saisie manuelle « lat, lon », géoloc auto, EXIF photo) : la carte se recentre et le marker bouge sans rechargement.
- TECH Leaflet (CSS + JS vendor) chargé sur
index.html — pas de dépendance externe, déjà utilisé par la page Carte clients.
v0.9.28
Mai 2026
GPS saisi par le client fait foi — plus de cadastre qui change après PATCH d'adresse
- FIX Cadastre recalculé à tort sur PATCH d'adresse. Quand l'utilisateur ne touchait que l'adresse (sans modifier le GPS), le service
enrichFromAddress écrasait systématiquement gps_lat/gps_lon/gps_source par les coordonnées BAN dérivées de l'adresse, puis interrogeait Apicarto/BRGM/Géorisques avec ce nouveau GPS — d'où une parcelle cadastrale qui pouvait changer entre la demande de devis et l'ouverture de la fiche.
- FEAT Préservation du GPS manuel. Si
gps_source ∈ {gps_client, client, manual, manuel}, le GPS du client est désormais conservé et utilisé pour cadastre + BRGM + Géorisques même lorsque l'adresse change. Le géocodage BAN sert toujours à mettre à jour code_insee/commune/code_postal mais ne touche plus au GPS.
- FEAT Marquage automatique
gps_source='manual' lorsque l'utilisateur édite gps_lat/gps_lon dans l'UI sans préciser de source — ce flag verrouille le GPS contre les futurs PATCH d'adresse.
- TECH Comportement existant inchangé :
POST /api/clients pour les clients sans GPS manuel et le webhook n8n (priorité gps_client) continuent d'utiliser BAN comme avant. Seul le cas "GPS client + PATCH d'adresse" est corrigé.
v0.9.28
Mai 2026
Altitude NGF auto · Vulnérabilité sol auto · Aléa nappes plus robuste
- DATA Altitude NGF (m) auto-remplie depuis le MNT IGN RGE Alti 1 m à l'ouverture de la fiche (badge
✨ MNT IGN). L'app appelle refresh-altitude silencieusement si le champ est vide ; rebadge silencieux si la valeur saisie correspond à l'altitude MNT.
- DATA Vulnérabilité sol (Géologie BRGM) auto-déduite de l'indice IDPR BRGM (Indice de Développement et de Persistance des Réseaux, 0–2000). Mapping conservateur ANC :
• IDPR < 700 → vulnérabilité nulle (ruissellement dominant)
• 700 ≤ IDPR < 1400 → faible (équilibre)
• IDPR ≥ 1400 → forte (infiltration dominante)
Badge ✨ BRGM IDPR <valeur> (avec la valeur réelle au survol).
- FIX Aléa remontées de nappes : Géorisques retourne parfois juste « Risque Existant » (sans niveau) à la commune quand l'adresse est « Risque Inconnu » — par exemple sur les zones littorales (lagunes, étangs). Ce cas tombait à null et le select restait vide. Désormais mappé à « faible » par défaut (minimum non-null, à raffiner manuellement si besoin).
v0.9.26
Mai 2026
Géologie BRGM + Aléa remontées de nappes auto-remplis · badges ✨ avec source
- DATA Les champs de la section « Géologie BRGM » (commune carte, code lithologique, formation) sont désormais auto-remplis depuis le service BRGM GéoServices (lithologie 1/1M) à partir du GPS du client. Le champ « Géologie attendue » est aussi pré-rempli avec la description BRGM si vide.
- DATA L'« Aléa remontées de nappes » et l'« Aléa retrait-gonflement des argiles » sont récupérés automatiquement depuis l'API Géorisques (qui sert la cartographie BRGM). Sensibilité mappée vers le select : faible → faible, modéré → moyenne, important → forte.
- FEAT Auto-déclenchement transparent : si un client ancien n'avait pas encore ces données (créé avant le wiring d'enrichissement BRGM/Géorisques), l'app appelle
refresh-brgm et refresh-georisques silencieusement à l'ouverture de la fiche puis remplit les champs avec badge ✨.
- FEAT Les badges ✨ affichent désormais la source de chaque auto-remplissage au lieu du générique « ✨ auto » :
• ✨ BRGM 1/1M — géologie
• ✨ Géorisques — aléas argiles, inondation
• ✨ Géorisques (BRGM) — remontée de nappes
• ✨ BDTOPO IGN — ruisseau, distance, direction
• ✨ BDTOPO SANDRE — bassin versant
• ✨ MNT IGN — pente du terrain
• ✨ Open-Meteo — météo du jour
• ✨ BAN — commune (référentiel adresse)
• ✨ synthèse auto — brouillon contexte hydrographique
- FEAT Tooltip enrichi au survol : « Champ pré-rempli automatiquement — source : BRGM 1/1M ».
v0.9.25
Mai 2026
Météo auto-remplie depuis la date d'intervention (Open-Meteo)
- DATA Le champ « Météo » de la fiche terrain est désormais auto-rempli à partir des coordonnées GPS du client + la date du chantier. L'API Open-Meteo (gratuite, sans clé) est interrogée — Forecast API pour les dates récentes (J-92 → J+16), Archive API pour les dates plus anciennes.
- FEAT Le champ contient 2 lignes :
• Ligne 1 — conditions du jour J : description (ciel clair, averses, orage…) + température moyenne (avec min/max) + vent dominant + précipitations du jour.
• Ligne 2 — précipitations cumulées des 7 jours précédents, avec mention du jour le plus pluvieux. Précieux pour interpréter les essais Porchet (sol saturé → K sous-estimé).
- FEAT Re-fetch automatique si vous modifiez la date d'intervention. Comme les autres auto-fills : remplit seulement si vide, rebadge ✨ silencieusement si la valeur correspond, respecte vos éditions manuelles.
- FEAT Le champ passe de
input à textarea 2 lignes pour accueillir les deux infos.
v0.9.24
Mai 2026
Confluent aval — fallback sur les plans d'eau (étangs, lacs, lagunes)
- DATA Quand un cours d'eau se jette dans un plan d'eau (étang, lac, lagune) plutôt que dans un autre cours d'eau, l'algo interroge maintenant la couche
BDTOPO_V3:plan_d_eau en fallback. Le brouillon devient : « …pour se jeter environ X m en aval dans « Étang de la Palme ». » (au lieu de « …confluer avec « X » » pour un cours d'eau).
- FEAT Le verbe et la liaison s'adaptent automatiquement : « confluer avec » pour un cours d'eau, « se jeter dans » pour un plan d'eau.
v0.9.23
Mai 2026
Hotfix — régénération des brouillons « Contexte hydrographique » obsolètes
- FIX Si le textarea contient déjà un brouillon généré par une version antérieure du template (reconnue à sa signature « D'après la morphologie et géomorphologie… ») ET que le nouveau brouillon contient strictement moins de placeholders
[…] (= plus de données réelles), le textarea est écrasé avec le nouveau brouillon. Les édits manuels qui suppriment la signature ou qui sont déjà plus complets ne sont pas touchés.
v0.9.22
Mai 2026
Hotfix — badges ✨ auto qui disparaissaient au reload
- FIX
syncCoursEauFromGps faisait un early-return si les 4 champs (bassin + ruisseau ×3) étaient déjà remplis → la fonction n'appelait plus l'API → setOrBadge ne pouvait plus rebadger silencieusement. L'early-return a été retiré : l'API est désormais toujours interrogée, et les badges réapparaissent sur les valeurs qui matchent l'auto-fill.
v0.9.21
Mai 2026
Auto-fill du brouillon « Contexte hydrographique » : 3 nouvelles données dérivées du GPS
- DATA Direction d'écoulement du ruisseau — calculée à partir des vertices amont/aval de la polyligne BDTOPO au point le plus proche du site. Apparaît dans le brouillon : « …s'écoule au plus proche à 47 m au sud du site en direction du sud-ouest… ».
- DATA Confluent aval — suit la polyligne du ruisseau jusqu'à son extrémité aval, mesure la distance cumulée, identifie le cours d'eau qui le reçoit via une requête WFS BDTOPO. Apparaît dans le brouillon : « …pour confluer environ 96 m en aval avec « la Thongue ». »
- DATA Pente du terrain — grille 3×3 (espacement 30 m) sur le MNT IGN RGE Alti, plan des moindres carrés → pente en % + direction de descente. Auto-remplit aussi le champ « Pente — description » de la fiche terrain. Apparaît dans le brouillon : « La topographie générale des parcelles est faible en direction du « sud-est ». »
- FEAT Les 3 placeholders
[à compléter sur place] de v0.9.20 sont remplacés automatiquement quand les données sont disponibles ; ils restent affichés en fallback si une API ne répond pas.
v0.9.20
Mai 2026
Brouillon auto du « Contexte hydrographique »
- FEAT Génération d'un brouillon de paragraphe « Contexte hydrographique » par template français paramétré, à partir des champs déjà auto-remplis (bassin versant, nom/distance/direction du ruisseau, altitude NGF, zone inondable). Pas de LLM — juste du templating déterministe.
- FEAT Structure du brouillon : 5 phrases qui reprennent le style des rapports « Étude de sol » Aquasol — bassin versant, cours d'eau le plus proche (distance + direction), altitude IGN 1/25 000, topographie, zone inondable Géorisques.
- FEAT Placeholders
[à compléter sur place] pour les infos que le GPS ne peut pas déduire (direction d'écoulement et confluent aval du ruisseau, direction de pente du terrain). À remplir au moment du relevé.
- FEAT Comme les autres auto-fills : remplit seulement si vide, rebadge ✨ auto si la valeur correspond, respecte les éditions manuelles.
v0.9.19
Mai 2026
Bassin versant — fallback BBOX + badges persistants
- FIX Bassin versant non trouvé pour les sous-affluents (cas des petits cours d'eau type « Combe de Roussel » à La Palme qui n'ont pas leur propre entrée dans la table
bassin_versant_topographique). Ajout d'un fallback : si le match par cleabs ne donne rien, on fait une requête BBOX serrée (~110 m) et on applique le test point-dans-polygone sur les géométries reçues pour identifier le bassin qui contient effectivement le GPS.
- FIX Badge « ✨ auto » qui disparaissait à la réouverture de la fiche : le badge n'était posé qu'au moment du remplissage, pas lors des rendus suivants. Désormais, à chaque ouverture, le badge est ré-appliqué aux champs dont la valeur correspond exactement à celle que produirait l'auto-fill (Géorisques ou BDTOPO). Si l'utilisateur a édité le champ à la main, le badge disparaît automatiquement.
v0.9.18
Mai 2026
Hotfix — bassin versant restait vide
- FIX Bassin versant non rempli sur les fiches dont les 3 champs ruisseau étaient déjà saisis (par exemple les fiches passées par la v0.9.16). La fonction
syncCoursEauFromGps sortait dès que ruisseau_nom + distance + direction étaient renseignés, et ne lançait jamais la 2e requête WFS bassin. La condition de sortie précoce inclut maintenant aussi bassin_versant_nom.
v0.9.17
Mai 2026
Bassin versant auto-rempli depuis le GPS
- FEAT Bassin versant topographique auto-rempli sur la fiche terrain depuis le GPS. Format : « Nom du bassin (code zone hydro) — Bassin fluvial », ex. « La Thongue (Y236) — Rhône-Méditerranée ».
- FEAT Source : WFS Géoplateforme
BDTOPO_V3:bassin_versant_topographique, requête filtrée par liens_vers_cours_d_eau_principal = cleabs du cours d'eau le plus proche (déjà trouvé en v0.9.16). 2e appel chaîné dans la même fonction findClosestCoursEau().
- FEAT Mapping
code_du_bassin_hydrographique → libellé d'agence de l'eau (01 Artois-Picardie, 02 Seine-Normandie, … 06 Rhône-Méditerranée, 07 Corse, …).
v0.9.16
Mai 2026
Phase B — cours d'eau le plus proche auto-rempli
- FEAT Nom du ruisseau, distance, direction auto-remplis sur la fiche terrain à partir des coordonnées GPS du client. Données puisées dans le WFS BDTOPO de la Géoplateforme IGN (couche
BDTOPO_V3:cours_d_eau) qui catalogue tous les cours d'eau nommés de France.
- FEAT Recherche dans un rayon de ~2 km autour du GPS. Pour chaque cours d'eau trouvé, distance Haversine du GPS au plus proche vertex de la polyligne, on garde le minimum. La direction cardinale (N/NE/E/SE/S/SW/W/NW) est déduite du bearing.
- FEAT Checkbox « Ruisseau à proximité » auto-cochée si la distance est ≤ 500 m.
- FEAT Route API
GET /api/clients/:uuid/cours-eau-proche exposée pour appels manuels ou tests.
- FEAT Ne remplit que les champs vides, badge « ✨ auto » sur les champs auto-remplis, l'utilisateur reste maître.
v0.9.15
Mai 2026
Auto-remplissage fiche terrain depuis Géorisques
- FEAT Zone inondable auto-cochée si
clients.risque_inondation est renseigné (l'API Géorisques ne retourne une valeur que si la parcelle est dans une zone PPRI / AZI / TRI).
- FEAT Aléa retrait-gonflement argile et Aléa remontée de nappes auto-renseignés depuis
risque_argile et risque_remontee_nappe avec mapping : faible→faible, modéré→moyen(ne), important→fort(e).
- FEAT Ne remplit que les champs vides côté fiche — l'utilisateur reste maître, peut corriger à la main. Les champs auto-remplis ont un mini-badge vert « ✨ auto (Géorisques) » pour la traçabilité.
- À venir (Phase B) Nom du ruisseau, distance, bassin versant — via API Hub'Eau / SANDRE.
v0.9.14
Mai 2026
Cohérence GPS ↔ adresse — reverse-géocodage côté serveur
- FIX L'adresse ne suivait pas la modification du GPS : quand on changeait les coordonnées (depuis la fiche terrain, l'API ou le mobile), le serveur mettait bien à jour le cadastre, le BRGM et les aléas Géorisques, mais laissait adresse_terrain, code_postal, commune et departement inchangés.
- FEAT Reverse-géocodage BAN automatique ajouté à la route
PATCH /api/clients/:uuid : un changement de GPS déclenche désormais le pipeline complet d'enrichissement — BAN reverse (adresse/CP/commune/dépt) + cadastre Apicarto + géologie BRGM + aléas Géorisques.
- FEAT Une seule source de vérité GPS :
clients.gps_lat/lon. Les deux UX de saisie (fiche client après formulaire / fiche terrain sur place) écrivent dans la même colonne, et chaque modification re-déclenche tout le pipeline pour garantir la cohérence des données affichées dans les deux fiches.
v0.9.13
Mai 2026
Hotfix — cartes BRGM s'affichaient en blanc
- FIX Carte géologique BRGM et Aléa retrait-gonflement argile retournaient une image entièrement blanche : les couches BRGM ne servent rien en-dessous d'un BBOX d'environ 1 km de côté (le serveur considère le niveau de zoom trop fin pour leur échelle 1/50 000). Le BBOX de ces 2 cartes est passé de ~660 m à ~1,6 km de côté (delta=0.015), les autres cartes restent au zoom parcelle (~660 m).
v0.9.12
Mai 2026
Cartes du terrain — composites + BRGM + Géorisques
- FIX Vues composites identiques (Vue aérienne + cadastre / Plan IGN + cadastre rendaient la même image) : le format JPEG demandé ne supportant pas la transparence, l'overlay cadastre était rendu sur fond blanc opaque qui masquait la base. Les compositions sont maintenant demandées en
image/png + TRANSPARENT=TRUE. Au passage, couche cadastre renommée CADASTRALPARCELS.PARCELLAIRE_EXPRESS (plus à jour).
- FEAT Carte géologique BRGM ajoutée (couche
GEOLOGIE sur geoservices.brgm.fr/geologie). L'échelle s'adapte automatiquement au niveau de zoom (1/50 000 en zone précise, 1/1M en vue large).
- FEAT Aléa retrait-gonflement argile ajouté (couche
ALEARG harmonisée sur geoservices.brgm.fr/risques). Risque principal pour le dimensionnement de filière ANC. Lien vers le rapport Géorisques complet en bas de la vignette.
- CSP Domaines
geoservices.brgm.fr et georisques.gouv.fr ajoutés au connect-src et img-src dans la config Helmet du serveur.
v0.9.11
Mai 2026
Cartes IGN du terrain dans la fiche client
- FEAT Nouvelle section « 🗺 Cartes du terrain » dans la fiche client (sous le bloc Cadastre & localisation), affichée dès que les coordonnées GPS sont connues.
- FEAT 4 cartes IGN centrées sur le GPS (bbox ~660 m), via WMS Géoplateforme : Plan IGN 1/25 000, Vue aérienne (Orthophoto HR), Vue aérienne + parcelles cadastrales, Plan IGN + parcelles cadastrales. Reprend et étend les 2 cartes envoyées par mail dans le workflow N8N.
- FEAT Vue agrandie en cliquant sur une carte (lightbox plein écran, Échap ou clic sur l'overlay pour fermer).
- FEAT Lien « ↗ Géoportail » sous chaque carte pour ouvrir la même vue dans le Géoportail (utile pour zoomer, mesurer, basculer entre couches).
- FEAT Chargement paresseux (
loading="lazy") : les cartes ne sont téléchargées que quand elles deviennent visibles, et un message « Carte indisponible » s'affiche si le WMS ne répond pas.
v0.9.10
Mai 2026
Hotfix modale + ajout GPS dans le formulaire nouveau client
- FIX Modale nouveau client visible au login et impossible à fermer : la règle CSS
.modal-backdrop { display: flex } écrasait l'attribut HTML hidden (qui applique display: none, mais perd face à la spécificité d'une classe). Ajout de .modal-backdrop[hidden] { display: none !important; } pour que l'attribut hidden reprenne la main.
- FEAT Bloc GPS optionnel dans le formulaire : un champ combiné « Latitude, Longitude » (qui accepte aussi le copier-coller depuis Google Maps) et deux champs séparés. Si renseigné, le cadastre + la géologie BRGM + les aléas Géorisques sont récupérés directement depuis ces coordonnées (sans passer par la BAN).
v0.9.9
Mai 2026
Création manuelle de fiche client
- FEAT Bouton « ➕ Nouveau client » en haut de la liste, ouvre une modale de saisie rapide pour les cas où le client n'est pas passé par le formulaire de devis (prix discuté par téléphone ou en direct). Pas d'envoi d'email.
- FEAT Champs saisis : identité (prénom / nom / email / téléphone), adresse du terrain (adresse + code postal + commune + département auto-extrait du CP), projet (type / nb pièces / EH), devis HT/TTC (TTC auto-calculé en TVA 20% si vide), statut initial (par défaut devis envoyé), notes internes.
- FEAT Enrichissement automatique : BAN + cadastre Apicarto IGN dès qu'une adresse exploitable est saisie (récupère GPS, code INSEE, section, n° parcelle, contenance).
- FEAT Ouverture automatique de la fiche après création, prêt à compléter ou à lancer une fiche terrain. Source enregistrée :
manuel (distincte de formulaire pour les statistiques).
- FEAT Route API
POST /api/clients protégée par session, avec validation des statuts autorisés et trace dans audit_log du statut initial.
v0.9.8
Mai 2026
Tableau de bord — KPIs métier complets
- FEAT Section CA : chart barres du CA mensuel sur 12 mois (somme HT des rapports envoyés) + comparatif annuel sur 3 ans (cards par année avec CA + nombre de dossiers). KPI « CA année en cours » dans les indicateurs principaux.
- FEAT Funnel de conversion : visualisation à 4 étapes (Demandes → Devis envoyés → Devis validés → Rapports envoyés) avec le % de passage à chaque étape calculé. Permet d'identifier où ça décroche dans le workflow.
- FEAT Délais moyens par étape : durée moyenne (jours) pour chaque transition statut → statut, calculée via la table
audit_log qui enregistre tous les changements de statut. Ex : demande → devis envoyé = N jours, validé → rapport envoyé = M jours.
- FEAT Top départements avec CA : à côté du top communes, top 5 départements avec le nombre de clients et le CA HT cumulé par département.
- FEAT Panier moyen HT : montant moyen d'un dossier signé, KPI principal.
- FEAT Distribution K Porchet : répartition des essais de perméabilité par classe (très perméable >100 mm/h / bon 30-100 / moyen 10-30 / peu perméable <10). Affichage en 4 cards colorées avec % et moyenne globale. Utile pour anticiper le type de filière à proposer selon la zone.
- FEAT Répartition par type de projet et statut affichés en bar charts.
- FEAT UI restructurée en 5 sections sémantiques (Indicateurs / CA / Activité / Conversion / Géographie / Technique) avec titres + bordure soulignée. Les mois manquants dans les charts sont comblés à 0 pour avoir une vue continue sur les 12 mois.
v0.9.7
Mai 2026
Hotfix — SW trop agressif cassait la carte
- FIX Carte qui ne s'affichait plus après l'install du service worker v0.9.6. La stratégie cache-first appliquée aux tuiles OSM (réponses opaques cross-origin) posait problème. Le SW v0.9.7 ne touche plus les requêtes cross-origin : tuiles OSM, OSRM et tout ce qui n'est pas same-origin passent directement au navigateur.
- FIX HTML servi en network-first au lieu de cache-first : les pages sont toujours à la dernière version. Le cache HTML ne sert qu'en fallback offline. Évite que l'utilisateur reste coincé sur une vieille version après un déploiement.
- FIX Précache supprimé : ne tente plus de précharger des URLs à l'install (cause silencieuse d'échec). Les assets sont mis en cache au fil de la navigation via stale-while-revalidate.
v0.9.6
Mai 2026
Tournée optimisée sur la carte + PWA installable
- FEAT Bouton « 🛣 Optimiser la tournée » sur la carte : visible quand 2 à 20 clients sont filtrés (combiné avec le préset « 📅 À planifier »). Calcule l'ordre optimal de visite depuis Bassan (heuristique du plus proche voisin), récupère l'itinéraire routier réel via
router.project-osrm.org, affiche un tracé bleu sur la carte avec des markers numérotés 1→N + retour Bassan. Bandeau de résultat avec distance totale, durée estimée, et liste cliquable des étapes. Bouton « ✕ Effacer » pour revenir à la vue normale.
- FEAT PWA installable : l'app peut désormais être ajoutée à l'écran d'accueil (icône bleu→vert avec « A »), s'ouvre en plein écran sans barre de navigation, et fonctionne hors-ligne pour les écrans déjà visités (cache statiques + cache API stale). Sur Android Chrome : menu ⋮ → « Ajouter à l'écran d'accueil ». Sur iOS Safari : « Partager » → « Sur l'écran d'accueil ».
- FEAT Indicateur hors-ligne : badge rouge « ⚠ Hors-ligne » qui apparaît en haut à droite quand le navigateur perd la connexion. L'app continue de fonctionner en lecture seule sur les données déjà chargées.
- FIX CSP
connect-src élargi avec https://router.project-osrm.org pour autoriser l'appel à l'API d'itinéraire.
v0.9.5
Mai 2026
Carte — filtres rapides multi-statuts pour optimiser les tournées
- FEAT Pills multi-sélection par statut sur la carte : chaque statut a sa pill cliquable avec compteur (nombre de clients géolocalisés correspondants). Click = toggle on/off ; on peut cumuler plusieurs statuts visibles à la fois. Couleur de la pill active = couleur du marker (alignée sur la palette
--statut-* de la liste).
- FEAT Préréglages rapides au-dessus des pills :
- 📅 À planifier = devis_valide + rdv_planifie (les RDV à organiser ou à honorer)
- ⚙️ En cours = rdv_planifie + releve_termine + rapport_redige
- ✅ Terminés = rapport_envoye + archive
- Tous = vide la sélection (tous statuts affichés)
Un click charge le bon ensemble de statuts. Utile pour préparer une journée terrain en visualisant uniquement les clients « à planifier » et regrouper les déplacements voisins.
- FEAT Compteurs dynamiques : chaque pill affiche le nombre de clients du statut dans le département actif (les pills sans aucun client sont masquées). Le compteur global passe de
N clients géolocalisés à X / N clients affichés quand un filtre est appliqué.
- FIX Couleurs marker harmonisées avec la palette de la liste (RDV en orange, Relevé en violet, Rapport rédigé en rose, Rapport envoyé en vert…). La légende fixe a été remplacée par les pills elles-mêmes (légende = filtre).
v0.9.4
Mai 2026
Saisie vocale fonctionnelle + responsive mobile
- FIX Saisie vocale rétablie en mode « 1 phrase par appui » : retour à la Web Speech API mais avec
continuous: false au lieu de true. C'était la racine du bug de duplication observé en v0.9.1/v0.9.2 sur Android Chrome — l'engine répétait des segments finaux dans event.results[] avec continuous:true. Le mode "phrase courte" force une session par appui : pas de doublons possibles, comportement prévisible. Si l'API n'est pas dispo (iOS Safari), fallback vers focus + toast pour utiliser le micro du clavier.
- FEAT Menu utilisateur dropdown : le bouton « Déconnexion » est maintenant intégré dans un menu déroulant qui s'ouvre au clic sur le nom utilisateur en haut à droite (caret ▾). Plus aérien sur mobile, libère de la place dans le header.
- FIX Header mobile compact : sur écrans < 640px, les labels « Carte » et « Stats » sont masqués (icônes 🗺 📊 seules), padding réduit.
overflow-x: hidden sur body en garde-fou contre le débordement horizontal.
v0.9.3
Mai 2026
Saisie vocale → clavier système
- CHG Abandon de la Web Speech API au profit du micro du clavier (Gboard sur Android, dictée iOS sur Safari). Plus fiable : pas de duplication, pas de timeout, fonctionne hors-ligne, supporte iPhone (qui ne supportait pas
webkitSpeechRecognition). Le bouton 🎤 Dicter sur la fiche terrain place désormais le curseur dans le champ et affiche un toast d'indication — l'utilisateur appuie ensuite sur l'icône micro de son clavier.
- FIX Permissions-Policy nginx relâchée à
microphone=* (au lieu de (self)) : Chrome Android relayait la policy au clavier Gboard qui refusait de faire de la dictée avec « non compatible avec cette application ». La nouvelle valeur autorise tous les contextes — le navigateur demande quand même la permission micro à l'utilisateur, donc reste sûr.
v0.9.2
Mai 2026
Hotfix saisie vocale (dedup Android) + cache-busting
- FIX Mot dicté en double/triple (Android Chrome) : le moteur de reconnaissance vocale d'Android Chrome émet parfois le même résultat final dans plusieurs entrées consécutives de
event.results[] (bug connu de l'engine). Mon précédent fix v0.9.1 reconstruisait correctement à chaque event mais répétait les doublons internes au tableau. Ajout d'une déduplication : on saute les finals consécutifs identiques, et on évite que l'interim répète le dernier final.
- FIX Cache-busting des assets JS : les
<script src> incluent maintenant ?v=0.9.2 pour forcer le rechargement après chaque déploiement sur mobile (qui cachait l'ancien JS via ETag).
v0.9.1
Mai 2026
Hotfix saisie vocale mobile + bouton Géorisques
- FIX Permissions micro & géoloc débloquées sur mobile : le header HTTP
Permissions-Policy émis par nginx incluait microphone=() et geolocation=() (interdit toutes origines), ce qui faisait échouer silencieusement webkitSpeechRecognition et navigator.geolocation sur Android Chrome / Edge mobile. Remplacé par microphone=(self) et geolocation=(self) dans /etc/nginx/snippets/sec-headers.conf.
- FIX Duplication du texte dicté : sur Android Chrome certains segments finaux sont livrés plusieurs fois par
SpeechRecognition. Le handler onresult cumulait par += dans une closure → texte doublé/triplé. Reconstruction complète de la chaîne à chaque event (rebalaye event.results de zéro, idempotent).
- FIX Bouton « ↻ Actualiser » Aléas naturels (Géorisques) sur la fiche client : retournait l'erreur
apiSend is not defined car la fonction n'existait que dans la closure de fiche.js. Ajout de apiSend(method, path, body) dans app.js.
v0.9
Mai 2026
Dimensionnement automatique de la filière + alertes de cohérence
- FEAT Bouton « 🧮 Proposer dimensionnement » dans la section Scénario & dimensionnement de la fiche terrain. Calcule automatiquement à partir du K Porchet retenu, des EH estimés et des contraintes (zone inondable, aléa argiles, captage AEP) :
- Filière proposée (tranchées d'épandage, filtre à sable, tertre, microstation agréée)
- Surface d'infiltration en m² (selon m²/EH adapté au K)
- Longueur totale de tranchée + répartition par tranchée (cible 15-30 ml/unité)
- Justifications métier visibles (référence DTU 64.1 + arrêté 7/9/2009)
- FEAT Bouton « ✓ Appliquer ces valeurs aux champs vides » : remplit automatiquement
scenario_filiere, nb_tranchees, longueur_tranchee_ml, surface_infiltration_m2, qualification_permeabilite et dispositif_infiltration sans écraser une saisie manuelle existante.
- FEAT Alertes de cohérence en haut de la fiche (3 niveaux : 🛑 erreur / ⚠ avertissement / ℹ info) :
- K Porchet vs IDPR BRGM (cohérence des essais)
- Texture sol vs lithologie BRGM (alerte si décalage)
- Aléa argiles fort + filière par tranchées (risque mécanique)
- Zone inondable + infiltration (contre-indication réglementaire)
- Captage AEP + filière par tranchées (distance réglementaire 35 m)
- K très faible / très élevé + filière inadaptée
- EH vs nombre de pièces principales (divergence)
- Sondages réalisés sans essais Porchet
- DATA Service
services/dimensionnement.js + services/coherence.js isolés du reste de l'app, testables unitairement.
v0.8
Mai 2026
Intégration BRGM + Géorisques dans le rapport .docx
- FEAT Lithologie BRGM auto en fallback dans les paragraphes géologie du rapport (§ 2 « D'après la carte géologique… » et § 2.3 « La formation géologique du secteur correspond à… »). Quand la commune carte BRGM + formation manuelle ne sont pas saisis, le rapport bascule sur la lithologie 1/1M récupérée automatiquement (
brgm_litho_desc).
- FEAT IDPR (perméabilité réseau) ajouté dans le paragraphe géologie détaillé du rapport : « l'indice de perméabilité réseau (IDPR BRGM) est de 1450/2000, caractérisant un milieu modérément favorable à l'infiltration. ». Qualification automatique : ruissellement (<500), modéré (500-1500), infiltration (>1500).
- FEAT Aléas Géorisques additionnels insérés après le paragraphe « Aléa retrait-gonflement des argiles » : un nouveau paragraphe « Autres aléas naturels (Géorisques) — Sismicité : … • Inondation : … • Mouvements de terrain : … • Radon : … • Feu de forêt : … • Submersion marine : … » apparaît automatiquement quand au moins un aléa est récupéré.
- FEAT Fallback Géorisques sur les aléas existants : si
fiche.alea_nappes ou fiche.alea_argiles n'est pas saisi manuellement, le rapport utilise les valeurs Géorisques auto (risque_remontee_nappe / risque_argile).
- DATA Saisie manuelle dans la fiche terrain reste prioritaire — l'enrichissement auto sert uniquement de complément ou de fallback. Aucun rapport existant n'est cassé.
v0.7.1
Mai 2026 — hotfix
Aléas Géorisques — bouton de récupération dans la fiche client
- FIX Bloc Aléas invisible pour les clients antérieurs à v0.7 : les clients déjà créés n'avaient jamais déclenché l'enrichissement Géorisques (qui ne se lance qu'à la modif d'adresse/GPS), donc le bloc restait vide → caché. Désormais, si le client a des GPS mais pas de données Géorisques, le bloc s'affiche avec un bouton « 🗺 Récupérer depuis GPS ».
- FEAT Auto-trigger silencieux : à l'ouverture d'une fiche client avec GPS sans données Géorisques, l'app lance l'enrichissement en tâche de fond et met à jour l'affichage sans intervention.
- FEAT Bouton « ↻ Actualiser » quand des données existent déjà : permet de re-interroger l'API pour récupérer d'éventuelles mises à jour réglementaires.
v0.7
Mai 2026
Aléas naturels Géorisques (croisement automatique)
- FEAT Enrichissement Géorisques automatique à chaque modification d'adresse ou GPS du client. Appelle
georisques.gouv.fr/api pour récupérer les niveaux de risque précis au point GPS (pas seulement à l'échelle commune) :
- Retrait-gonflement argile (faible/modéré/important)
- Aléa sismique (faible/modéré/important)
- Inondation, mouvements de terrain, remontée de nappe
- Submersion marine / trait de côte (zones littorales)
- Radon, feu de forêt (indicatifs)
- FEAT Section « ⚠️ Aléas naturels (Géorisques) » dans la fiche client (sous Géologie BRGM), avec badge coloré par niveau (vert=faible / amber=modéré / rouge=important) et lien direct vers le rapport complet sur
georisques.gouv.fr.
- FEAT Bouton « 🗺 Récupérer depuis GPS » dans la section « Risques & aléas réglementaires » de la fiche terrain — pré-remplit aussi le champ Aléa retrait-gonflement si vide (mapping faible/modéré/important → faible/moyenne/forte).
- DATA 10 nouvelles colonnes sur
clients : risque_argile, risque_sismique, risque_inondation, risque_mvt_terrain, risque_remontee_nappe, risque_cotier, risque_radon, risque_feu_foret, risques_url, risques_enriched_at.
Utile pour quoi ? Les aléas argile + sismique + inondation sont réglementairement obligatoires dans le rapport d'étude d'assainissement. Auparavant saisis à la main depuis le site Géorisques ; désormais auto-remplis à partir de l'adresse.
v0.6
Mai 2026
Altitude NGF automatique (API IGN — MNT 1 m)
- FEAT Auto-remplissage du champ « Altitude NGF » de la fiche terrain depuis l'API IGN d'altimétrie (
data.geopf.fr, MNT RGE Alti 1 m). Déclenché automatiquement après une saisie de coordonnées GPS, ou à l'ouverture d'une fiche si le champ est vide.
- FEAT Bouton « 📐 Récupérer » à côté du champ : force la récupération même si une valeur est déjà saisie (utile si le GPS a été corrigé après une première saisie).
- FEAT Comportement non destructif : l'auto-fill ne remplace jamais une valeur saisie manuellement par Nicolas (seul le bouton manuel le fait).
Précision IGN : MNT 1 m sur tout le territoire métropolitain. Valeurs testées : Lespignan 2 m NGF, Bessan 12 m, Salvetat 716 m.
v0.5.3
Mai 2026 — hotfix
Fiche terrain — affichage cadastre/BRGM au rechargement
- FIX Données cadastrales qui « disparaissent » sur la fiche terrain après un refresh ou un retour sur la fiche :
openFiche() recevait un client light (juste prenom/nom/commune/GPS) sans les champs cadastre ni BRGM, donc le re-rendu affichait « Non renseigné » même quand les données étaient bien en base. L'endpoint GET /api/clients/:uuid/fiche retourne maintenant le client complet, et la fiche terrain l'utilise pour son affichage.
v0.5.2
Mai 2026 — hotfix
Parser GML BRGM — gestion correcte des trous de polygones
- FIX Parser GML BRGM : les
<gml:interior> (trous d'un polygone) étaient traités à tort comme des polygones extérieurs supplémentaires, ce qui pouvait conduire à un faux « point dans le polygone » alors que le point se trouvait en réalité dans un trou. Le parser respecte désormais la structure GML : 1 polygone = 1 anneau extérieur + N trous, et le test point-in-polygon exige (dans l'extérieur ET hors de tout trou).
v0.5.1
Mai 2026 — hotfix
Correction des boutons « Récupérer depuis GPS »
- FIX Erreur « Coordonnées GPS manquantes ou invalides » sur le bouton BRGM alors que les GPS étaient bien enregistrés en DB : la fonction
getClientByUuid() de routes/fiche.js ne récupérait que id et uuid (oubli historique d'un SELECT *) — donc client.gps_lat était toujours undefined côté serveur.
- FIX Erreur « Aucune parcelle trouvée pour ces données GPS » sur le bouton Cadastre quand la parcelle est dans une commune voisine (ou département voisin) : la route
/refresh-cadastre passait à Apicarto le code_insee historique du client, ce qui filtrait la recherche sur la mauvaise commune. Désormais le refresh manuel cherche sans filtre commune — la saisie GPS de l'utilisateur fait foi.
- FIX Boutons « Récupérer depuis GPS » qui restaient disabled après saisie manuelle des coordonnées :
persistGps() ne rafraîchissait pas state.client ni l'attribut disabled des boutons. Désormais : sync de l'état + activation immédiate des boutons.
v0.5
Mai 2026
Enrichissement géologique automatique (BRGM)
- FEAT Lithologie BRGM : à chaque modification d'adresse (ou de coordonnées GPS), l'app interroge automatiquement le service WFS du BRGM (couche
LITHO_1M_SIMPLIFIEE) pour récupérer la lithologie du point (ex : Marnes, Calcaires, Grès, Gneiss, Granites…).
- FEAT IDPR — Indice de Développement et Persistance des Réseaux (0..2000) : indice BRGM mesurant la propension du sol au ruissellement vs infiltration. Précieux pour anticiper l'ordre de grandeur des essais Porchet avant le chantier. Affiché avec une étiquette colorée (peu perméable / drainage modéré / équilibre / drainage favorable / très drainant).
- FEAT Affichage dans la fiche client : nouvelle section « 🪨 Géologie BRGM » sous le bloc Cadastre, avec lien direct vers la carte InfoTerre du point GPS.
- FEAT Pré-remplissage fiche terrain : le bouton « 🗺 Récupérer depuis GPS » de la fiche terrain (section Géologie BRGM) interroge le BRGM et pré-remplit uniquement les champs vides (commune carte, code formation, nom formation, géologie attendue) — Nicolas garde la main pour affiner avec la notice 1/50 000.
- DATA Nouvelles colonnes en base sur
clients : brgm_litho_code, brgm_litho_desc, brgm_litho_type, brgm_idpr, brgm_enriched_at.
Limite à connaître : la lithologie BRGM est issue de la carte simplifiée 1/1 000 000 — c'est une indication générale (grande famille de roches), pas la précision de la notice 1/50 000. Pour le rapport final, vérifier la notice sur InfoTerre.
v0.4
Mai 2026
Fiche terrain — affichage mobile
- FIX Constructeur d'horizons (saisie guidée des sondages géologiques) : les 4 dropdowns (Nature / Couleur / État / Hydro) débordaient du cadre sur petit écran. Sur mobile (≤ 640px), chaque dropdown occupe désormais sa propre ligne pleine largeur, avec les champs De/À sur la première rangée et l'icône suppression en bas à droite.
- FIX Boutons « Ajouter une couche » / « Appliquer à la description » : regroupés dans un conteneur flex avec wrap, ils ne débordent plus du cadre sur petit écran.
- FIX Inputs De/À : ajout de
inputmode="decimal" pour ouvrir le clavier numérique sur mobile.
- FIX Styles inline → CSS : les styles inline du constructeur (display:grid, padding, background…) ont été déplacés dans
style.css pour permettre les media queries.
v0.3
Mai 2026
Rapport .docx — corrections post 2ᵉ test E2E
- FIX § 4.1 Rappel résultats : la phrase « Pas de venue d'eau » ne vient plus écraser le paragraphe § 2.3 Eaux souterraines (le `_find_para` ciblait toute occurrence — désormais il cherche la puce exacte « Pas de venue d'eau constatée et Pas de nappe »).
- FIX § 2.3 Eaux souterraines : la mention auto « Un puits a été repéré sur la parcelle » n'est plus ajoutée si le texte utilisateur (sensibilité aquifère ou niveau d'eau) mentionne déjà puits/forage/captage/AEP.
- FIX § 3.1 Sondages : les couches multi-niveaux d'une description (saisie avec sauts de ligne « \n ») sont désormais rendues sur des paragraphes séparés au lieu d'être joints en un seul bloc illisible.
Tests
- FEAT 2ᵉ test fonctionnel de bout en bout : couple Mr et Mme, projet de réhabilitation, autre commune (Cabrerolles), 2 sondages + 3 essais Porchet, K moyen 33 mm/h. Comparé au rapport réel de Walravens (juillet 2025, même commune). Structure identique, 17 pages.
v0.2
Mai 2026
Rapport .docx — corrections post test E2E
- FIX § 1 Introduction : adresse client ne se duplique plus quand la rue saisie contient déjà le CP/commune (« 23 chemin des Vignes, 34290 Bassan » au lieu de « ..., 34290 Bassan, 34290 Bassan »).
- FIX § 1 Liste à puces : le nombre de sondages et d'essais dans la liste à puces est désormais synchronisé avec le nombre réel (avant : « 3 sondages / 3 essais » figés du template).
- FIX § 2.1 Localisation du site : la phrase « Les parcelles étudiées se situent à environ Xm du village de Nages 81320... » (exemple Béziat) est désormais générée depuis la commune et l'adresse réelle.
- FIX § 2.2 Contexte géomorphologique : la phrase « On se trouve d'un point de vue géomorphologique au sein du groupe de la Salvetat, sur une formation du métamorphique du précambrien » (exemple Béziat) est remplacée par une phrase générée depuis bassin versant + formation BRGM.
- FIX § 2.3 Géologie détaillée : la narration « Granit de Laouzas, gneiss gris, Massif de l'Agout... » du template Béziat est remplacée par le champ
geologie_attendue de la fiche (ou par une phrase générée depuis BRGM si vide).
- FIX § 2.3 Eaux souterraines : le paragraphe « les formations du précambrien comme du paléozoïque... Aucune venue d'eau n'a été constatée 30 septembre 2025 » (Béziat) est remplacé par une narration générée depuis vulnérabilité du sol + niveau d'eau + date d'intervention réelle.
- FIX § 2.3 Aléa argiles : seul le niveau (« moyen »/« faible »/« fort ») est inséré entre guillemets, plus la phrase entière (qui produisait « moyen — moyen — secteur classé... »).
- FIX § 5 Conclusion — Zone inondable : si la fiche contient un texte libre (« non concerné — hors zone inondable »), il est affiché tel quel au lieu de « Oui » par défaut.
- FIX § 5 Conclusion — Eau/Hydromorphie : la cellule utilise désormais le champ
niveau_eau de la fiche (auparavant un champ inexistant hydromorphie était lu, donnant toujours « - »).
- FIX § 5 Conclusion — Date de rédaction : utilise
date_rapport en priorité sur date_chantier (qui restait sur la date d'intervention).
- FIX § 2.1 Météo : double point final supprimé si la saisie se terminait déjà par « . ! ? ».
- FIX § 4 Filières plantées : message « Non applicable » remplacé par « Aucune filière plantée agréée disponible pour N EH » (plus explicite).
Méthodologie
- FEAT Test fonctionnel de bout en bout joué : création client fictif → fiche terrain → 3 sondages + 6 essais Porchet → rapport .docx → comparaison page à page avec une étude réelle (Montroche). 18 pages générées, structure identique.
v0.1
Mai 2026
Import historique & données
- DATA Import de l'intégralité des études de sol passées : 87 fiches clients en base (contre 22 auparavant).
- DATA Extraction GPS depuis les anciens rapports (format
Latitude / Longitude sur lignes séparées) — 69 clients géolocalisés sur 87.
- FEAT Le script
import-etudes-de-sol.js gère désormais les fichiers RAPPORT-Etude de sol-*.pdf et tombe sur le nom de fichier quand l'extraction PDF échoue (SCI, EARL, couples Mr/Mme, etc.).
Carte clients
- FEAT Markers décalés en spirale (~6 m) lorsque plusieurs clients partagent les mêmes coordonnées GPS — fini les pastilles superposées.
- FEAT Couleurs des markers par statut workflow (rouge demande, orange devis envoyé, vert RDV/relevé, bleu rapport, violet envoyé, gris archivé).
Liste clients
- FEAT Barre de filtres rapides par statut (Demande, Devis envoyé, Devis validé, RDV, Relevé, Rapport rédigé/envoyé, Archivé) avec compteur live à côté de chaque bouton.
Rapport .docx
- FIX Page de garde tient sur 1 page (bloc « Mai 2026 » et siège social plus à cheval sur la page 2).
Interface
- FEAT Sous-titre du header remplacé par un numéro de version cliquable renvoyant vers cette page.
v0.0
Avant mai 2026
Boucle complète fiche terrain → rapport
- FEAT Saisie terrain SPA : météo, géologie, pente, hydrogéologie, aléas, sondages (1 à 4) et essais Porchet.
- FEAT Calcul automatique du coefficient de perméabilité
K en mm/h sur chaque essai (formule Porchet, reproduit le fichier Excel historique).
- FEAT Bouton K Auto : remplit min et moyenne dans la fiche depuis les essais.
- FEAT Génération du rapport .docx pré-rempli (template Beziat avec sondages / Baloussier sans sondages).
- FEAT Filières d'assainissement agréées proposées dynamiquement selon la tranche d'EH (3 à 8 EH).
- FEAT Dimensionnement automatique et phrases types pré-remplies pour le rapport.
Photos terrain
- FEAT Upload de photos depuis la fiche terrain (section 6).
- FEAT Lecture des données EXIF (orientation + GPS) — les photos s'affichent dans le bon sens dans le rapport et la position est récupérée si présente.
Carte & statistiques
- FEAT Page Carte (Leaflet + OpenStreetMap) avec filtres statut et département.
- FEAT Page Stats : KPI (clients, devis, CA), graphiques mensuels, répartition statuts.
Webhook devis
- FEAT Réception automatique des demandes via N8N (
POST /api/webhook/devis) avec déduplication 7 jours par email.
- FEAT Enrichissement automatique de l'adresse : géocodage BAN (lat/lon/INSEE) + cadastre Apicarto IGN, déclenché sur édition d'un champ adresse.
Saisie vocale
- FEAT Reconnaissance vocale (Web Speech API) pour la saisie des observations sur la fiche terrain.
Sécurité & déploiement
- FIX CSP
script-src 'self' respectée : tout le JS inline a été externalisé.
- FEAT Authentification par session, login/logout, middleware
requireAuth et requireWebhookToken.