Skip to content

BaptFr/ConsoNum

Repository files navigation



Mesurez. Comprenez. Réduisez.
L'application d'évaluation de l'empreinte numérique responsable.

Le ProjetÉquipe & KanbanStack TechniqueArchitecture

Docker


MySQL | MariaDB | PHP | Symfony |


JavaScript | React.js


🌐 Accès à l'application


​​ Production disponible :


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.

🌳 Le Projet

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)

📅 Équipe & Gestion de Projet


  • 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

🛠 Stack Technique

Le projet repose sur une architecture moderne séparant le Backend (API) du Frontend (SPA).

Backend (API REST)

L'API est le cœur logique de l'application.

  • Langage : PHP 8.2
  • Framework : Symfony 7.3 (Structure robuste et modulaire).
  • Sécurité : LexikJWTAuthenticationBundle pour 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 Validator pour assurer l'intégrité des données reçues.

Frontend (Interface)

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.

Base de Données & Outils

  • SGBD : MariaDB.
  • Gestion SQL : DBeaver (pour la modélisation et la vérification des données).
  • Test API : Postman (Tests d'intégration).

DevOps & Infrastructure

  • Conteneurisation : Docker & Docker Compose.
    • Conteneur php (FPM)
    • Conteneur nginx (Serveur Web)
    • Conteneur mariadb (Base de données)
    • Conteneur Next.js (Frontend)

Services externes

  • 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)

📐 Architecture & Concepts

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).

1. Le Modèle (Entity & Repository)

Nous utilisons Doctrine en "Code First". Les classes PHP (Entités) définissent la structure de la base de données.

2. Le Contrôleur

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'EntityManager ou au PasswordHasher.


🚀 Déploiement

Environnements

​🔩​ CI/CD

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

📚​ Pages légales

  • Conditions Générales de Vente (CGV)
  • Conditions Générales d'Utilisation (CGU)
  • Mentions Légales
  • Politique de Confidentialité (RGPD)

📧​ Contact

Pour toute question : contact@consonum.fr

About

No description, website, or topics provided.

Resources

Contributing

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors