Volt à vous est une application web de partage de bornes de recharge électriques, bâtie sur Java 21 / Spring Boot 3.5, Angular 20 et MySQL : recherche géolocalisée (Apple MapKit JS), réservation, génération de reçus PDF et pipelines CI/CD GitHub Actions avec déploiement Docker sur VPS. Ce projet a été réalisé dans le cadre de ma formation Concepteur Développeur d'Applications. Il constitue le projet de fin d'études présenté pour l'obtention du titre professionnel.
Face à l'essor de la mobilité électrique et à la sous-utilisation des bornes domestiques, Volt à vous met en relation propriétaires de bornes et conducteurs de véhicules électriques. Côté front, Angular 20 avec composants standalone, Signals et Tailwind CSS 4 offrent une SPA réactive et accessible ; côté back, Spring Boot 3.5 (Java 21), Spring Security et Spring Data JPA exposent une API REST documentée via Swagger UI.
La recherche de bornes repose sur le calcul géospatial Haversine côté serveur et la cartographie Apple MapKit JS côté client. Le parcours complet couvre la réservation de créneaux, la confirmation par le propriétaire, le paiement simulé, la génération automatique de reçus PDF (OpenHTMLtoPDF), l'export Excel (Apache POI) et les notifications e-mail transactionnelles (Thymeleaf + SMTP).
L'authentification JWT (RSA-256) avec refresh tokens, le hachage BCrypt et la conformité OWASP protègent l'ensemble des endpoints. Deux pipelines GitHub Actions distincts (front et back) orchestrent tests unitaires, build et déploiement automatique sur un VPS : le backend est conteneurisé via Docker Compose avec healthcheck et rollback automatique, tandis que le frontend est servi en fichiers statiques derrière Nginx.
Tests Lighthouse > 90 % (Performance 94 %, Accessibilité 93 %), tests JUnit/Mockito côté back, Jasmine/Karma côté front, et client API auto-généré par ng-openapi-gen assurant la cohérence des contrats — le projet applique les pratiques DevSecOps de bout en bout.