# Eco-Mobil

# Présentation du projet Eco-Mobil

## Contexte du projet

Eco-Mobil est une filiale créée par un acteur mondial de la location de véhicules pour proposer une offre de « mobilité verte » sur la région Auvergne-Rhône-Alpes, axe Annecy–Grenoble–Valence. Après un déploiement initial couronné de succès (4 agences opérationnelles et un atelier central à Meylan), l’ambition est d’étendre l’activité sur l’axe Saint-Étienne–Bourg-en-Bresse et de déménager la direction à Bron, avec un nouveau site plus vaste intégrant bureaux, entrepôt et ateliers .

---

## Objectifs

1. **Offrir un service de location multimodal** (vélos, VTT, trottinettes, gyropodes, hoverboards, skateboards) en combinant :
    
    
    - Un **site web unique** pour la réservation publique.
    - Une **application mobile client** pour le suivi des réservations.
2. **Gérer l’intégralité du cycle de vie des véhicules** :
    
    
    - Location (réservation, paiement, emargement, restitution).
    - Maintenance (flux agence ↔ atelier, suivi des interventions).
3. **Fournir un outil de pilotage décisionnel** pour la direction : indicateurs de fréquentation, d’usage par type de véhicule, et de chiffre d’affaires consolidé ou par agence.
4. **Concevoir et déployer l’infrastructure** pour héberger les applications (« clé en main » interne), en assurant sécurité, évolutivité et haute disponibilité (≥ 95 %) .

---

## Périmètre fonctionnel

- **Site web de réservation**
    
    
    - Création de compte (email + mot de passe fort ANSSI).
    - Sélection d’agence, de type et nombre de véhicules, date/heure et durée (1 h à N jours).
    - Gestion de l’empreinte CB via prestataire externe.
    - Notification email avec numéro de réservation.
    - Module d’annulation par numéro de réservation.
- **Application mobile client (iOS/Android)**
    
    
    - Connexion par email + numéro de réservation.
    - Affichage détaillé de la réservation et bouton « incident » (panne, vol, sinistre).
    - Pré-notion d’évolution hors périmètre initial (gestion des incidents).
- **Logiciel Atelier**
    
    
    - Flux logistique agences ↔ atelier (sortie/entrée maintenance).
    - Qualification et suivi des interventions (réparation sur place ou constructeur, assignation technicien, états d’avancement).
    - Gestion des anomalies (véhicule manquant, volé/détruit).
- **Application de pilotage direction**
    
    
    - Vues quantitatives et financières par agence et consolidées :
        
        
        - Nombre de locations (valeur, % par durée).
        - Répartition par type de véhicule.
        - Chiffre d’affaires global et par type.
        - Taux de « sortie location » par parc pour anticiper la maintenance.

---

## Architecture du Système d’Information

1. **Front-end Web** : site de réservation en responsive design.
2. **Back-end unifié** (API REST) pour gérer :
    
    
    - Authentification/Sessions.
    - Gestion des réservations et disponibilités.
    - Suivi des interventions atelier.
    - Tableau de bord direction.
3. **Base de données centrale** (PostgreSQL), répliquée entre sites pour résilience.
4. **Mobile Application** : client léger communiquant avec l’API pour suivi de réservation et signalement d’incident.
5. **Infrastructure** :
    
    
    - Hébergement interne (VMs / conteneurs) sur deux sites (Bron &amp; Meylan), interconnectés en VPN.
    - Supervision et sauvegardes automatisées.
    - Plan de reprise d’activité et sécurité renforcée (firewall, IDS/IPS, chiffrement).

---

## Technologies et outils

- **Langages** : Typescript + React pour le backend et framework NextJS pour le front.
- **BDD** : PostgreSQL; Redis pour cache.
- **Infrastructure** : Ferme de serveur de Gab et Nahia.
- **Sécurité** : conformité ANSSI pour mots de passe, chiffrement TLS.

---

## Équipe et organisation

- **Côté SLAM**, développement full-stack :
    
    
    - 3 développeurs polyvalents (Web &amp; Mobile).
- **Pas de sous-groupes** : chaque membre contribue sur l’ensemble des périmètres (réservation, atelier, pilotage).
- **Méthode** : Agile Scrum, sprints de 5 semaines, revue et démo en fin de sprint.

---


Vous pouvez retrouver le cahier des charges [ici](https://archive.qoyri.fr/attachments/7).

Le code source du projet est disponible sur GitHub :  
[https://github.com/qoyri/v0-eco-mobile](https://github.com/qoyri/v0-eco-mobile)

Le site du projet Eco Mobil est accessible à l’adresse suivante :  
[https://eco.qoyri.fr](https://eco.qoyri.fr)

<details id="bkmrk-user%3A-admin%40example."><summary></summary>

user: <admin@example.com>

mdp: password123

</details>(Hébergé sur la ferme de serveurs, sur la VM du groupe de Nahia et Gabriel.)

---

Découvrez [ici](https://archive.qoyri.fr/books/frp-fast-reverse-proxy/page/frp-fast-reverse-proxy) la technologie que nous avons utilisée pour mettre en place le système d’accès externe au site.

Pour la partie création de l'application mobile nous avons utiliser [CapacitorJS](https://capacitorjs.com/) pour exporter et compiler notre site web en version application mobile. Vous pouvez retrouver le tutoriel [ici](https://archive.qoyri.fr/books/capacitorjs/page/passer-un-projet-nextjs-en-application-mobile-avec-capacitor) et retrouver l'APK de l'application téléchargeable [ici](https://archive.qoyri.fr/attachments/8).