PATCH v1.0.1 //

-> Amélioration de la mise en relation des TYPES DE TRAINS PAR CODE DE CIRCULATION (BETA)
This commit is contained in:
AdminGit committed 2026-10-07 01:10:54 +02:00
1 parent d7d4f9cecf
commit c30a0e9002
32 files changed
+2042 -532

No files matched your search

+61
View File
@@ -0,0 +1,61 @@
# Plan d'implémentation : Correction de l'affichage des types de trains (TER Régionaux)
## Problématique analysée
Les données brutes issues des flux GTFS de la SNCF indiquent souvent simplement le type commercial générique `"TER"`, sans préciser la marque régionale (Mobigo, liO, Rémi, Hauts-de-France, etc.).
Actuellement, l'application tente de déduire ces marques via un patch "en dur" dans `src/utils/trainLogoHelper.js` pour Mobigo (`startsWith('89')` ou `startsWith('84')`).
Ce patch est **erroné** :
1. La série `84xxxx` englobe les trains des Hauts-de-France (ex: `841xxx`, `844947` sur Dunkerque/Valenciennes). C'est ce qui cause l'affichage "MOBIGO" en erreur sur l'Image 1.
2. L'Image 2 montre des trains d'Occitanie (876406) affichés comme "Rémi" et des confusions entre tranches. L'absence d'identification stricte basée sur un référentiel fiable entraîne des conflits.
## Contraintes respectées
- **Pas de variables locales / géographiques** : Suppression totale ou non-utilisation des listes de villes associées à des régions (ex: `detectRegionByRouteScore` qui associe 'Dunkerque' à HDF).
- **Utilisation du numéro de circulation de manière fiable** : Nous nous basons **strictement** sur le référentiel d'EspaceRails fourni pour l'immatriculation des TER.
## Actions prévues (Implémentation)
### 1. Refonte du fallback régional dans `trainLogoHelper.js`
Nous allons remplacer la condition codée en dur (et fausse) pour "MOBIGO" par un utilitaire de classification exhaustif basé fidèlement sur les données d'EspaceRails. Cette fonction sera appelée si le train est identifié comme un `TER` générique.
### 2. Plan de numérotation déterministe (Le "Dictionnaire" EspaceRails)
La fonction extraira le numéro (ex: `844947` => préfixe `844`) et appliquera le tableau de correspondance suivant, construit à partir de votre source :
* **Grand Est (Fluo)**
* *Alsace* : 830 à 832, 160
* *Lorraine* : 833 à 837, 161
* *Champagne-Ardenne* : 838 à 840, 162
* **Hauts-de-France**
* *Nord-Pas-de-Calais* : 841 à 846, 163 à 164
* *Picardie* : 847 à 849, 164
* **Normandie (Nomad)**
* *Haute-Normandie* : 850 à 851, 165
* *Basse-Normandie* : 852 à 853, 165
* **Bretagne (BreizhGo)** : 854 à 856, 166
* **Pays de la Loire (Aléop)** : 857 à 859, 166 à 167
* **Centre-Val de Loire (Rémi)** : 860 à 862, 167 à 168
* **Nouvelle-Aquitaine**
* *Poitou-Charentes* : 863 à 864, 168
* *Aquitaine* : 865 à 867, 169
* *Limousin* : 868 à 869, 170
* **Occitanie (liO)**
* *Midi-Pyrénées* : 870 à 872, 171
* *Languedoc-Roussillon* : 876 à 878, 173
* **Auvergne-Rhône-Alpes**
* *Auvergne* : 873 à 875, 172
* *Rhône-Alpes* : 882 à 890, 175 à 179
* **Provence-Alpes-Côte d'Azur (ZOU)** : 879 à 881, 173 à 174
* **Bourgogne-Franche-Comté (Mobigo)**
* *Bourgogne* : 891 à 893, 177 à 178
* *Franche-Comté* : 894 à 895, 178
*(Ce référentiel montre bien que "841" est en Hauts-de-France (NPDC), ce qui corrige l'Img 1, et que "876" est bien Languedoc-Roussillon (liO), ce qui corrige l'Img 2).*
### 3. Application dans `getTrainLogoAndMeta`
Si l'opérateur brut du GTFS est un terme générique (comme `"TER"`), la fonction :
1. Extraira le numéro à 5 ou 6 chiffres.
2. Analysera les 3 premiers chiffres (ex: `844`).
3. Consultera le dictionnaire déterministe EspaceRails.
4. Remplacera le `typeLabel` et associera le bon logo via `logoLookup`.
> Cela garantit la fiabilité demandée, supprime l'usage de variables locales "villes", et solutionne définitivement les bugs d'affichage des Images 1 et 2 en s'appuyant sur les préfixes documentés.
Validez-vous l'intégration de cette logique dans `src/utils/trainLogoHelper.js` ?