MIGRATION VERS GITEA
This commit is contained in:
commit
5f9d991c15
333 files changed
+108514
No files matched your search
@@ -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.
|
||||
Reference in new issue
Block a user