Feuille de route
Phases de développement de l'hygiène aux nouvelles fonctionnalités. Instantané du 18/05/2026 — P1 + P2 + P5 + P6 livrés, P3 + P7 en cours.
P5 — Convertisseurs de formats
16/17 convertisseurs de formats bidirectionnels livrés sur les 6 ports historiques + 13 convertisseurs non-binaires propagés à 9 ports additionnels. GeoParquet reporté (dépend d'Apache Parquet).
- TSV — délègue au moteur CSV avec verrou tabulation
- YAML — analyseur interne sans dépendance, sous-ensemble bloc
- JSONC — suppression des commentaires + pipeline JSON
- JSON5 — analyseur lexical personnalisé pour le sur-ensemble JSON5 complet
- SOAP — encapsuleur XML avec suppression des espaces de noms
- GeoJSON — validation RFC 7946
- KML — analyseur XML interne avec regroupement de siblings
- GPX — encapsuleur de tableaux XML, analyse automatique des nombres
- LOG — regex configurable, émission par modèle
- Syslog — auto-détection RFC 5424 + RFC 3164
- NPY — interne sans dépendance (NEP-1 v1.0)
- FITS — interne sans dépendance (FITS 4.0 HDU principal)
- MAT v5 — interne sans dépendance (10 classes numériques)
- DTA v118 — interne sans dépendance (Stata 14)
- RData — interne sans dépendance (R RDS V2/V3 XDR)
- SHP — interne sans dépendance (ESRI Shapefile, 5 types)
- Triplet SHP (.shp + .shx + .dbf) propagé à 11 ports
- GeoParquet — reporté (dépend de Parquet)
P1 — Hygiène
4 bugs Sonar corrigés, points chauds de complexité cognitive résolus, littéraux de test dédupliqués. 0 bug ouvert, 0 critique, 0 bloqueur sur les 6 ports instrumentés.
- 4 bugs SonarQube corrigés (0 bug ouvert sur l'ensemble du projet)
- Principaux points chauds de complexité cognitive S3776 résolus
- Déduplication des littéraux de test sur les 6 ports historiques
- Suites de tests C / VB.NET / PHP / C# découpées par format
- 0 new_violations · 0 new_bugs · 0 new_blocker · 0 new_critical
P2 — Couverture
Nouvelle couverture SonarQube à 83,7 % (objectif ≥ 80 %). 6 ports Tier 1 instrumentés dont Java JaCoCo + PHP Clover.
- new_coverage : 49,9 % → 83,7 % (objectif ≥ 80 % atteint)
- Couverture projet : 53,7 % → 79,4 %
- JS, Python, Go, Rust, Java (JaCoCo), C#, PHP tous instrumentés
- Quality Gate : 3/4 conditions OK (seul reste le quirk hotspots-reviewed 0/0)
P6 — Audit de conformité (15 ports)
Audit de conformité à 5 agents clos (run #6, 18/05/2026). 15/15 ports verts à 100 %, 3 365 cas de test verts, 0 HARD-FAIL. 12 sites de concaténation en O(N²) éliminés en hot path.
- 9 ports additionnels propagés : PHP, R, Perl, VB.NET, Swift, C++, C, Delphi/FreePascal, Fortran
- Sérialiseur Serde natif sur Rust (contourne serde_json::to_value)
- Concaténations O(N²) éliminées sur R, Delphi, Fortran (12 sites)
- Route SOAP value→XML directe (sans round-trip TOON-string)
- 10 fixtures officielles RFC/OGC/spec ajoutées (géo + RFC + sci)
- Formats binaires (NPY/FITS/MAT/DTA/RData) propagés à PHP, Perl, VB.NET, C, C++
- Verdict global d'audit : FAIL → WARN (perfs périphériques résiduelles uniquement)
P3 — Refactorisation
Découpage modulaire des fichiers par port, projets de test extraits, suite de conformité partagée. Projets de test C# / C / PHP / VB.NET déjà découpés.
- Monolithes découpés sous 500 LOC par fichier
- csharp/Tests/ToonConverter.Tests.csproj extrait ✓
- Tests C / VB.NET / PHP découpés par format ✓
- Suite conformance/ partagée cross-ports
P7 — Propagation des formats binaires
Propager NPY / FITS / MAT v5 / DTA v118 / RData aux 4 ports additionnels restants (R, Delphi/FPC, Fortran, Swift). Résoudre la dette binaire résiduelle C++.
- Formats binaires sur R, Delphi/FPC, Fortran, Swift
- Résiduel C++ : DTA float = 0.0 + quoting endian MAT (4 tests)
- Extension de la couverture Sonar aux 9 ports Tier 2
P4 — Nouvelles fonctionnalités
Outil CLI autonome, format TOON binaire, mappeurs supplémentaires (Avro, Protobuf, Parquet — débloque GeoParquet).
- Convertisseur CLI autonome
- Format TOON binaire
- Mappeur Avro
- Mappeur Protobuf
- Mappeur Parquet (active GeoParquet)