CESI ZEN
Le projet CESIZen est une application web et mobile destinée au grand public, visant à proposer des outils de gestion du stress et d’accompagnement à la santé mentale. L’application intègre des modules d’informations et des exercices de respiration.

Le projet CESIZen a été conçu pour répondre à une demande fictive du Ministère de la Santé et de la Prévention, dans un contexte de préoccupation croissante autour de la santé mentale.
Face à une société de plus en plus exposée au stress que ce soit dans la vie professionnelle, personnelle ou scolaire il devient essentiel de proposer des outils accessibles pour prévenir ses effets, pour mieux le comprendre et agir au quotidien.
L’application CESIZen répond à cet enjeu par une approche complète :
des exercices de respiration basés sur la cohérence cardiaque pour améliorer la régulation émotionnelle,
des articles thématiques permettant d’informer et de sensibiliser aux mécanismes du stress et aux bonnes pratiques.
Public cible
L’application CESIZen a été pensée pour accompagner toutes les générations dans la gestion du stress, des émotions et de la santé mentale au quotidien.
Enfants et adolescents : ils peuvent vivre de l’anxiété liée à l’école, aux changements de vie ou aux interactions sociales. Une première sensibilisation à la respiration et à l’introspection peut être bénéfique dès le plus jeune âge.
Adultes actifs : confrontés à des responsabilités professionnelles, familiales ou personnelles, ils ont besoin d’outils rapides et efficaces pour faire des pauses, prévenir le burn-out et rester sereins.
Seniors : avec l’âge, les risques liés à la santé mentale (dépression, isolement, perte de repères) augmentent. Une solution numérique accessible et rassurante peut apporter un vrai soutien.


Fonctionnalités détaillées
Espace “informations sur la Santé Mentale”
Une zone d’articles simples et accessibles pour mieux comprendre les mécanismes du stress, les troubles de la santé mentale et découvrir des conseils pratiques pour le bien-être. Les contenus sont régulièrement mis à jour afin de sensibiliser et informer sans jugement.
Espace “Exercices de Respiration”
Des exercices guidés, avec un accompagnement visuel et sonore, pour apprendre à mieux respirer, se recentrer et apaiser les émotions. Chaque exercice peut être adapté selon la durée ou le niveau de stress ressenti.
Espace “Comptes Utilisateurs”
Chaque utilisateur connecter dispose d’un compte personnel lui permettant d’accéder aux différentes fonctionnalités de l’application selon son rôle(Administrateur, modérateur, utilisateur, etc…).
Les différentes parties du projet
Vous retrouverez ici les différentes parties du projet de la phase de conception à la phase de déploiement:
La conception de l’application
Dans ce bloc, je vais vous présenter la conception de la partie gestion des utilisateurs.
Le tableau des fonctionnalités
Ci-dessous, on va retrouver les différentes fonctionnalités avec les utilisateurs qui sont impactés ainsi que la priorité de chaque fonctionnalité. La priorité va servir en cas de retard pour effectuer les fonctionnalités.

Les différentes règles
Vous retrouverez ci-dessous les différentes règles sur la gestion des utilisateurs.

Les cas d’utilisation
Ici, nous allons retrouver l’ensemble des cas d’utilisation de l’application pour la partie gestion des comptes utilisateurs.

Le choix des technologies
Nous avons étudié trois stacks et les avons comparé en fonction de différents critères.
La stack qui a été choisie est React avec Laravel et MySQL.

Model Logique de Données
Le modèle logique de données repose sur deux tables principales :
utilisateur : gestion des comptes, des rôles et des permissions.
article : gestion des contenus d’information.
Chaque article est caractérisé par :
sa thématique (catégorie de l’article),
son contexte d’application (relation),
son type de diffusion (public ou privé).
Les exercices de respiration sont gérés séparément et associés aux utilisateurs. Les rôles et permissions définissent les droits d’accès aux différentes fonctionnalités de l’application.

Le développement du projet
Vous retrouverez ci-dessous la partie développement du projet avec le dépôt GitHub ainsi que les tests.
GitHub du projet
Retrouvez ici les dépôts GitHub du projet CESIZen :
Front-end : interface web et mobile en charge de l’affichage et de l’interaction utilisateur.
Back-end : API REST et gestion des données (utilisateurs, exercices, article).
Front-end
Back-end
Les différents tests réalisés
Une partie des tests a été réalisée avec Postman, tandis que l’autre a été réalisée avec les tests embarqués de Laravel.


Déploiement de l’application
Pour déployer l’application, j’ai utilisé Exécution pipeline, ainsi que GitHub pour le pipeline automatisé.
Pipeline avec GitHub Action
Sur l’image ci-dessous, on peut constater le déclenchement du pipeline qui a déclenché les tests, les tests de sécurité, et enfin le déploiement suite à une modification du fichier de GitHub Action Workflow.

Étape 1: Lancement des tests.
Ci-dessous, nous pouvons voir les différentes parties de l’étape test.
On va avoir plusieurs étapes pour initialiser toute l’application. Une fois qu’on a lancé les migrations pour remplir la base de données, on va lancer les tests Laravel une fois validé, on passe à l’étape suivante.

Étape 2 : vérification de la sécurité
Ici, nous allons effectuer quelques tests de sécurité pour s’assurer qu’il n’y ait pas de mot de passe qui ait été inscrit en dur dans l’application ou de failles de sécurité liées aux non-mises à jour des dépendance.

Partie 3 : Déploiement sous Docker
A cette étape, GitHub va contacter le runner GitHub (Il fonctionne en continu sur le serveur de production), et va lui demander de mettre en production la nouvelle version qui va lui envoyer automatiquement l’application.



