scheme_clean.sql pour initialiser les tables, types, fonctions et commentaires.
🚆 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
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 :
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
npm start
L'application sera accessible sur 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 :
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).