LSPA Academy est une plateforme complète de gestion des formations et évaluations pour l'école de pilotage LSPA. Le système permet la gestion des candidats, sessions de formation, quiz d'évaluation et entretiens individuels.
- Système de rôles : Candidat, Instructeur, Superviseur, Directeur
- Authentification sécurisée avec NextAuth.js
- Pages protégées selon les permissions
- Inscription avec codes d'invitation
- Profils utilisateurs détaillés
- Gestion des rôles et permissions
- Création et planification des sessions de formation
- Inscription des candidats
- Suivi des progressions
- Création de quiz avec questions personnalisées
- Assignation de quiz aux sessions
- Scores et évaluations automatiques
- Seuils de réussite configurables
- Interface complète d'entretien individuel
- Questions techniques prédéfinies
- Mises en situation aléatoires (3 parmi 7+)
- Évaluation et notation détaillée
- Comptes-rendus complets
- Prise en charge et désassignation des entretiens
- Vue d'ensemble des statistiques
- Gestion centralisée de tous les modules
- Interface moderne avec animations fluides
- Next.js 15 - Framework React avec App Router
- TypeScript - Typage statique
- CSS-in-JS - Styling moderne avec animations
- React Hooks - Gestion d'état moderne
- Next.js API Routes - API REST intégrée
- Prisma - ORM moderne pour base de données
- SQLite - Base de données légère pour développement
- NextAuth.js - Authentification sécurisée
- NextAuth.js - Sessions sécurisées
- bcryptjs - Hashage des mots de passe
- CSRF Protection - Protection contre les attaques CSRF
- Node.js 18+
- npm ou yarn
- Git
- Cloner le repository
git clone https://github.com/votre-username/lspa-academy.git
cd lspa-academy- Installer les dépendances
npm install- Configurer l'environnement
cp .env.example .env.local- Initialiser la base de données
npx prisma generate
npx prisma db push
npm run seed- Lancer le serveur de développement
npm run devL'application sera accessible sur http://localhost:3000
Créez un fichier .env.local avec :
# Base de données
DATABASE_URL="file:./dev.db"
# NextAuth.js
NEXTAUTH_SECRET="votre-secret-nextauth-ici"
NEXTAUTH_URL="http://localhost:3000"Après l'installation et le seed :
- Admin :
administrateur.lspa/admin123 - Code d'inscription :
LSPA2025
- Connexion administrateur → Dashboard
- Création de session → Module Sessions
- Ajout de candidats → Codes d'inscription
- Configuration quiz → Module Quiz & Questions
- Gestion entretiens → Détails de session
- Suivi progression → Dashboard & rapports
Design moderne avec :
- Glass morphism effects - Effets de transparence avancés
- Animations fluides - Transitions CSS optimisées
- Design responsive - Compatible mobile et desktop
- Thème cohérent - Palette de couleurs professionnelle
# Développement
npm run dev # Serveur de développement
npm run build # Build de production
npm run start # Serveur de production
# Base de données
npm run seed # Données d'initialisation
npx prisma studio # Interface graphique DB
npx prisma generate # Générer le client Prisma
npx prisma db push # Appliquer le schema
# Qualité du code
npm run lint # ESLint
npm run type-check # Vérification TypeScriptlspa-academy/
├── src/
│ ├── app/ # Pages Next.js (App Router)
│ │ ├── admin/ # Pages d'administration
│ │ ├── candidate/ # Interface candidat
│ │ ├── api/ # Routes API
│ │ └── auth/ # Pages d'authentification
│ ├── components/ # Composants réutilisables
│ ├── lib/ # Configuration (auth, prisma)
│ ├── utils/ # Fonctions utilitaires
│ └── types/ # Types TypeScript
├── prisma/ # Schema et migrations
├── public/ # Assets statiques
├── scripts/ # Scripts d'initialisation
└── docs/ # Documentation
- Login/Register avec codes d'invitation
- Gestion des sessions utilisateur
- Protection des routes par rôle
- Création et planification
- Inscription des candidats
- Suivi des statuts
- Éditeur de questions
- Assignation aux sessions
- Correction automatique
- Questions techniques
- Mises en situation
- Évaluation détaillée
- Comptes-rendus
- Statistiques en temps réel
- Gestion centralisée
- Exports et rapports
- Fork le projet
- Créer une branche feature (
git checkout -b feature/AmazingFeature) - Commit les changements (
git commit -m 'Add some AmazingFeature') - Push la branche (
git push origin feature/AmazingFeature) - Ouvrir une Pull Request
Ce projet est sous licence privée - voir le fichier LICENSE pour plus de détails.
Pour toute question ou support :
- 📧 Email : support@lspa-academy.com
- 📱 Téléphone : +33 1 23 45 67 89
Développé avec ❤️ pour LSPA Academy