Le projet Ticketing est un système complet de réservation de billets d'avion développé à des fins éducatives. Il démontre trois approches différentes du développement web Java :
- Sprint Framework - Framework web MVC fait maison
- Application WildFly - Application Jakarta EE utilisant Sprint
- Application Spring Boot - Extension moderne avec Spring Boot
Ticketing/
├── 📁 bdd/ # Scripts de base de données PostgreSQL
│ ├── script.sql # Script de création et données de test
│ └── test.sql # Données de test supplémentaires
├── 📁 sprint/ # Framework web fait maison
│ ├── src/ # Code source du framework
│ ├── lib/ # Dépendances
│ ├── script.bat # Script de compilation
│ └── README.md # Documentation Sprint
├── 📁 wildfly/ # Application WildFly
│ ├── src/ # Code source Java
│ ├── web/ # Pages JSP et configuration
│ ├── lib/ # Bibliothèques (sprint.jar)
│ └── deploy.bat # Script de déploiement
├── 📁 springboot/ # Application Spring Boot
│ ├── src/ # Code source Spring Boot
│ ├── pom.xml # Configuration Maven
│ └── mvnw # Maven Wrapper
├── 📖 MODE_EMPLOI_TICKETING.md # Guide complet du projet
├── 📖 MODE_EMPLOI_SPRINT.md # Documentation détaillée Sprint
└── 📖 README.md # Ce fichier
✈️ Gestion des vols (création, modification, recherche)- 🎫 Réservations avec différents types de sièges
- 👥 Gestion des utilisateurs (admin/client)
- 🏙️ Gestion des villes et aéroports
- 📸 Upload de photos pour les réservations
- 💰 Système de promotions et réductions
- 🎯 Contrôleur frontal avec routing automatique
- 📝 Annotations pour mapping d'URLs (@Url, @Get, @Post)
- 🔐 Authentification et autorisation (@Auth)
- 📋 Gestion de formulaires avec validation
- 📤 Upload de fichiers
- 🌐 Support API REST avec JSON
- 🛡️ Validation avancée (@Required, @Email, @Min, @Max)
- ☕ Java 21+
- 🐘 PostgreSQL
- 🔥 WildFly (pour l'app Jakarta EE)
- 📦 Maven (pour Spring Boot)
- Cloner le projet
git clone <url-du-projet>
cd Ticketing
- Configurer la base de données
psql -U postgres -f bdd/script.sql
- Compiler le framework Sprint
cd sprint
script.bat
- Tester l'application Spring Boot
cd springboot
./mvnw spring-boot:run
📚 MODE_EMPLOI_TICKETING.md - Guide complet du projet
- Architecture détaillée
- Configuration de la base de données
- Déploiement des applications
- Guide de développement pour étudiants
📚 MODE_EMPLOI_SPRINT.md - Documentation du framework Sprint
- Fonctionnalités détaillées
- Exemples d'utilisation
- Guide des annotations
- Bonnes pratiques
- Jakarta Servlets
- Annotations Java
- Reflection API
- Gson (JSON)
- Jakarta EE
- JSP/JSTL
- Framework Sprint
- PostgreSQL JDBC
- Spring Boot 3.4.4
- Spring Security
- Spring Data JPA
- Thymeleaf
- PostgreSQL
Ce projet permet d'apprendre :
-
Concepts fondamentaux
- Architecture MVC
- Pattern Front Controller
- Injection de dépendances
- Gestion des sessions
-
Développement web Java
- Servlets et JSP
- Annotations personnalisées
- Validation de formulaires
- Upload de fichiers
-
Frameworks modernes
- Comparaison framework maison vs Spring
- Migration d'applications
- Bonnes pratiques
-
Base de données
- Modélisation relationnelle
- Requêtes SQL complexes
- Vues et contraintes
Ce projet est conçu pour l'apprentissage. Les étudiants peuvent :
- 🔧 Étendre le framework Sprint
- 🎨 Améliorer l'interface utilisateur
- 📊 Ajouter des fonctionnalités de reporting
- 🧪 Écrire des tests unitaires
- 📱 Créer une version mobile
Pour toute question ou problème :
- Consulter la documentation complète
- Vérifier les logs d'erreur
- Tester avec les données de base fournies
- Contacter l'équipe pédagogique
Projet éducatif - Libre d'utilisation pour l'apprentissage
Développé pour l'apprentissage du développement web Java 🎓