Files
2026-08-25 01:26:30 +02:00

101 lines
4.5 KiB
Markdown

# 🚆 Ferrovia Panel - Administration Régionale
Bienvenue sur le **Ferrovia Panel**, l'interface d'administration centralisée dédiée à la gestion des exploitations ferroviaires régionales. Cette application React permet de piloter l'intégralité du système d'information voyageurs, des plans de transport, et de la communication interne.
---
## 🛠️ Technologies Utilisées
- **Frontend** : React 19 (Create React App)
- **UI Kit** : SNCF Web Components (WCS)
- **Backend / Base de données** : Supabase (PostgreSQL, Auth, RPC)
- **Déploiement ciblé** : Vercel / Netlify
---
## 🚀 Installation & Démarrage
### 1. Prérequis
- **Node.js** (version 18 ou supérieure recommandée)
- **NPM** (ou Yarn)
- Une instance **Supabase** active avec la base de données Ferrovia configurée.
### 2. Cloner et installer
```bash
git clone <votre-depot-ferrovia-panel>
cd ferrovia-panel
npm install
```
### 3. Configuration de l'environnement
Créez un fichier `.env.local` à la racine du projet et renseignez vos clés d'API Supabase :
```env
REACT_APP_SUPABASE_URL=https://votre-projet.supabase.co
REACT_APP_SUPABASE_ANON_KEY=votre_cle_anonyme_publique
```
> **Note :** Si vous utilisez le mode de développement local de test (Mock Login), définissez `REACT_APP_ENABLE_MOCK_LOGIN=true`.
### 4. Démarrage en environnement de développement
```bash
npm start
```
L'application sera accessible sur [http://localhost:3000](http://localhost:3000).
---
## 📦 Déploiement en Production
Le projet a été nettoyé et optimisé pour le déploiement. Pour générer les fichiers statiques de production :
```bash
npm run build
```
Le dossier `build/` généré peut être déployé sur n'importe quel hébergeur statique (Vercel, Netlify, serveurs Nginx, etc.).
---
## 🗺️ Tour d'horizon des Fonctionnalités
Le panel est structuré autour de grands modules accessibles via la barre de navigation latérale et le menu régional, soumis à un contrôle d'accès (RBAC) précis :
### 🚉 1. Exploitation & Transport
- **Gestion des Gares** : Création, modification, détails des services (guichets, PMR), et gestion des correspondances intermodales (bus, tram, etc.).
- **Quais & Voies** : Paramétrage des règles de voies, et attribution en temps réel des quais d'arrivée/départ.
- **Matériel Roulant** : Catalogue des types de trains (TER, TGV, etc.) et composition dynamique des rames (voitures, motrices).
- **Horaires & Circulations** :
- Édition des plans de transport.
- Gestion calendaire complexe (Jours de circulation, jours fériés, périodes personnalisées).
- Gestion des substitutions de matériel.
- Importation GTFS (module expérimental).
### ⚠️ 2. Perturbations & Travaux
- **Centre des Perturbations** : Déclaration d'incidents, gestion des modifications de parcours et des retards.
- **Gestion des Travaux** : Programmation des fenêtres de travaux de maintenance avec recalcul automatique de l'impact sur les circulations et attributions de cars de substitution.
### 📢 3. Information Voyageurs & CMS
- **Info Trafic** : Diffusion d'alertes en temps réel sur les canaux voyageurs.
- **Actualités & Événements** : Rédaction d'articles et mise en avant de manifestations régionales.
- **Menu Régional & Pages** : Éditeur de contenu dynamique permettant de personnaliser des pages vitrines par région.
### 🔊 4. SIV (Annonces Sonores)
- **Banque de mots** : Gestion et stockage des fichiers audios pré-enregistrés.
- **Templates d'Annonces** : Création de séquences sonores dynamiques.
- **Génération & Diffusion** : Paramétrage des annonces enregistrées (synthèse vocale ou assemblages) et déclenchement ciblé en gare.
### 💶 5. Commercial
- **Tarification** : Gestion des grilles tarifaires régionales (prix plancher, prix par kilomètre, âge maximum).
### 💬 6. Collaboration Interne
- **Messagerie** : Chat interne permettant aux agents de communiquer en temps réel.
- **Notifications** : Centre d'alertes système pour suivre les opérations asynchrones.
### ⚙️ 7. Administration
- **Gestion des Utilisateurs** : Création de profils (administrateurs, agents, etc.), gestion des accès par module.
- **Paramètres** : Configuration globale de la plateforme ferroviaire.
---
## 🔒 Sécurité
- Toute communication backend est opérée via le client Supabase.
- Les identifiants de session expirés sont gérés (`credentials: 'omit'`).
- RLS (Row Level Security) est implémenté en base de données pour protéger l'intégrité des opérations (les droits d'accès sont définis dans le schéma PostgreSQL de Ferrovia).