Mesurez. Comprenez. Réduisez.
L'application d'évaluation de l'empreinte numérique responsable.
Le Projet • Équipe & Kanban • Stack Technique • Architecture •
Le numérique représente aujourd’hui 4 % des émissions mondiales de gaz à effet de serre, et ce chiffre pourrait doubler d’ici 2025. La notion de sobriété numérique est devenue centrale face aux enjeux climatiques : Green IT, éco-conception, labels “informatique verte” ou encore nouvelles obligations pour encourager des usages numériques plus responsables.
Dans ce contexte, nous souhaitons aider les utilisateurs à mieux comprendre et améliorer leurs pratiques numériques afin de les rendre plus sobres, plus responsables et moins énergivores.
ConsoNum est une application web basée sur un questionnaire interactif.
Elle permet à l’utilisateur:
- Inscription sécurisée avec confirmation par email
- Accès payant au questionnaire (1,99 € via Stripe)
- Évaluation personnalisée avec score de sobriété numérique
- Historique des résultats
- Authentification JWT sécurisée
- Gestion RGPD (demande d'accès et suppression des données)
- Initialisation : Rédactions des spécifications fonctionnelles, conception maquettes FIGMA
Voir le Cahier des charges fonctionnel
- Suivi : Gestion des tickets (To Do, In Progress, Review, Done) et suivi via compte rendu hebdomadaire
Voir tableau Kanban
- Versionning : Respect des conventions et bonnes pratiques (Nommages prefix de branches et commit, Pull Requests, Code Review).
Voir fichier CONTRIBUTING.md
Le projet repose sur une architecture moderne séparant le Backend (API) du Frontend (SPA).
L'API est le cœur logique de l'application.
- Langage : PHP 8.2
- Framework : Symfony 7.3 (Structure robuste et modulaire).
- Sécurité :
LexikJWTAuthenticationBundlepour une authentification sans état (Stateless) via Tokens JWT. - ORM : Doctrine pour l'abstraction de la base de données et la gestion des Entités.
- Validation :
Symfony Validatorpour assurer l'intégrité des données reçues.
L'interface utilisateur est construite pour être réactive et performante.
- Librairie : ReactJS 19 (React).
- Framework : Next.js 16.
- Langage : Typescript.
- Styling : TailwindCSS + @heroui/react.
- Communication : Fetch API / Axios pour consommer l'API Symfony.
- SGBD : MariaDB.
- Gestion SQL : DBeaver (pour la modélisation et la vérification des données).
- Test API : Postman (Tests d'intégration).
- Conteneurisation : Docker & Docker Compose.
- Conteneur
php(FPM) - Conteneur
nginx(Serveur Web) - Conteneur
mariadb(Base de données) - Conteneur Next.js (Frontend)
- Conteneur
- Paiement : Stripe
- Emails : Brevo API (confirmations d'inscription, notifications)
- Hébergement : DigitalOcean (serveurs dédiés)
- DNS : OVH
- Réception emails : ImprovMX (redirection contact@consonum.fr)
Le projet suit une architecture Headless (Frontend et Backend découplés pour un travail d'quipe, une évolution possible sur une appli mobile) et respecte le pattern MVC (Modèle-Vue-Contrôleur).
Nous utilisons Doctrine en "Code First". Les classes PHP (Entités) définissent la structure de la base de données.
Les contrôleurs Symfony interceptent les requêtes HTTP, appliquent la logique métier et la sécurité (Rôles), puis renvoient une réponse JSON standardisée.
- Sécurité : Utilisation des attributs PHP
#[IsGranted('ROLE_ADMIN')]directement sur les routes. - Services : Injection de dépendances (Dependency Injection) pour accéder à l'
EntityManagerou auPasswordHasher.
- Staging : https://staging.consonum.fr (branche
develop) - Production : https://consonum.fr (branche
main)
Workflow GitHub Actions pour le déploiement automatique :
- Tests automatisés (frontend + backend)
- Déploiement staging sur PR vers develop
- Déploiement production sur push vers main
- Conditions Générales de Vente (CGV)
- Conditions Générales d'Utilisation (CGU)
- Mentions Légales
- Politique de Confidentialité (RGPD)
Pour toute question : contact@consonum.fr