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.

Livré En cours Planifié
P5

P5 — Convertisseurs de formats

2026-T1 → T2 Livré

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

P1 — Hygiène

2026-T1 → T2 Livré

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

P2 — Couverture

2026-T2 Livré

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

P6 — Audit de conformité (15 ports)

2026-T2 Livré

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

P3 — Refactorisation

2026-T3 En cours

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

P7 — Propagation des formats binaires

2026-T3 En cours

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

P4 — Nouvelles fonctionnalités

2026-T4 → 2027-T1 Planifié

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)