MIGRATION VERS GITEA

This commit is contained in:
mathis committed 2026-08-25 01:23:13 +02:00
commit 5f9d991c15
333 files changed
+108514

No files matched your search

+159
View File
@@ -0,0 +1,159 @@
# Fonctionnalité de Gestion des Perturbations
## Vue d'ensemble
Cette fonctionnalité permet de créer, modifier et supprimer des perturbations affectant les horaires de trains. Elle comprend :
- Une page principale listant les perturbations groupées par horaire dans un accordion
- Une page de création de perturbation en 2 étapes
- Une page de modification de perturbation existante
- Un aperçu visuel du parcours avec la perturbation appliquée
## Structure des fichiers
### Base de données
- `supabase_perturbations_tables.sql` : Schéma des tables pour les perturbations
- Table `perturbations` : Stocke les perturbations principales
- Table `perturbations_modifications_parcours` : Détails des modifications de parcours
### API
- `src/api/perturbations.js` : Fonctions pour interagir avec Supabase
- `getAllPerturbations()` : Récupère toutes les perturbations
- `getPerturbationsGroupedByHoraire()` : Groupe les perturbations par horaire
- `getPerturbationById(id)` : Récupère une perturbation spécifique
- `createPerturbation(payload, modificationsParcours)` : Crée une nouvelle perturbation
- `updatePerturbation(id, payload, modificationsParcours)` : Met à jour une perturbation
- `deletePerturbation(id)` : Supprime une perturbation (soft delete)
- `getPerturbationsByHoraire(horaireId)` : Récupère les perturbations d'un horaire
### Pages
- `src/pages/perturbations/Perturbations.js` : Page principale avec la liste des perturbations
- `src/pages/perturbations/CreerPerturbation.js` : Page de création en 2 étapes
- `src/pages/perturbations/ModifierPerturbation.js` : Page de modification
- `src/pages/perturbations/Perturbations.css` : Styles pour toutes les pages
### Navigation
- Ajout de l'item "Perturbations" dans `src/components/nav-panel/NavPanel.js`
- Routes ajoutées dans `src/pages/router/PanelRouter.js` :
- `/perturbations` : Liste des perturbations
- `/perturbations/creer` : Création d'une perturbation
- `/perturbations/modifier/:id` : Modification d'une perturbation
## Types de perturbations
1. **Retard** : Le train circule avec un retard (en minutes)
2. **Suppression** : Le train ne circule pas
3. **Modification de parcours** : Le parcours du train est modifié
## Causes disponibles
- Incident technique
- Accident de personne
- Conditions météorologiques
- Travaux
- Mouvement social
- Intervention police
- Affluence
- Malveillance
- Autre
## Processus de création d'une perturbation
### Étape 1 : Sélection de l'horaire
1. Rechercher un horaire par numéro de train, gare ou ligne
2. Sélectionner l'horaire à perturber
3. Visualiser les détails de l'horaire
4. Cliquer sur "Suivant"
### Étape 2 : Définition de la perturbation
1. Choisir le type de perturbation (retard, suppression, modification)
2. Renseigner les détails selon le type :
- **Retard** : Durée en minutes
- **Suppression/Modification** : Train de substitution (optionnel)
3. Indiquer la cause de la perturbation
4. Définir la période de validité
5. Ajouter des notes internes (optionnel)
6. Visualiser l'aperçu du parcours dans le panneau de droite
7. Cliquer sur "Créer la perturbation"
## Fonctionnalités de la page principale
- **Recherche** : Filtrer les perturbations par numéro de train, gare ou ligne
- **Accordion** : Perturbations groupées par horaire
- **Actions** :
- Modifier une perturbation
- Supprimer une perturbation
- **Badges de couleur** :
- 🟡 Orange : Retard
- 🔴 Rouge : Suppression
- 🔵 Bleu : Modification de parcours
## Aperçu du parcours
L'aperçu du parcours affiche :
- Toutes les gares du trajet
- Les horaires d'arrivée et de départ
- L'application de la perturbation :
- Retard : Ajout du retard aux horaires (+XX')
- Suppression : Message "Ce train sera supprimé"
- Modification : Gares supprimées/ajoutées/modifiées avec badges de couleur
## Installation de la base de données
Exécutez le script SQL dans Supabase :
```bash
# Dans le SQL Editor de Supabase
supabase_perturbations_tables.sql
```
Ce script créera :
- La table `perturbations`
- La table `perturbations_modifications_parcours`
- Les index pour améliorer les performances
- Les triggers pour la mise à jour automatique de `updated_at`
## Composants WCS SNCF utilisés
- `wcs-button` : Boutons d'action
- `wcs-input` : Champs de saisie
- `wcs-select` : Sélecteurs déroulants
- `wcs-textarea` : Zones de texte
- `wcs-checkbox` : Cases à cocher
- `wcs-radio` : Boutons radio
- `wcs-badge` : Badges de statut et type
- `wcs-accordion` : Accordéon pour grouper les perturbations
- `wcs-card` : Cartes pour afficher les détails
- `wcs-message` : Messages d'information/erreur
- `wcs-spinner` : Indicateurs de chargement
- `wcs-mat-icon` : Icônes Material Design
## Améliorations futures possibles
1. **Modifications de parcours détaillées** :
- Interface pour ajouter/supprimer des gares du parcours
- Modification des horaires gare par gare
2. **Notifications** :
- Envoi de notifications aux utilisateurs concernés
- Intégration avec un système de messagerie
3. **Historique** :
- Suivi des modifications des perturbations
- Archivage des perturbations passées
4. **Statistiques** :
- Tableau de bord des perturbations
- Analyses par cause, type, ligne, etc.
5. **Import/Export** :
- Import de perturbations depuis un fichier CSV
- Export des perturbations pour reporting
6. **Récurrence** :
- Perturbations récurrentes (ex: travaux tous les week-ends)
- Modèles de perturbations réutilisables
## Support
Pour toute question ou problème, consultez la documentation du projet ou contactez l'équipe de développement.