---
title: "Plateforme Collaborative de Gestion de Projets"
description: "Application web full-stack de gestion de projets d'équipe avec authentification JWT, contrôle d'accès par rôles, tableaux de bord temps réel et pipeline CI/CD complet - 30 555 lignes de code, 12 user stories, 7 tables en base."
locale: "fr"
canonical: "https://portfolio.josedacosta.info/fr/realisations/plateforme-gestion-projets-collaboratif"
source: "https://portfolio.josedacosta.info/fr/realisations/plateforme-gestion-projets-collaboratif.md"
html_source: "https://portfolio.josedacosta.info/fr/realisations/plateforme-gestion-projets-collaboratif"
author: "José DA COSTA"
date: "2025"
type: "achievement"
slug: "plateforme-gestion-projets-collaboratif"
tags: ["Java 17", "Spring Boot 3.4", "Angular 20", "TypeScript 5.9", "PostgreSQL 15", "Docker", "GitHub Actions", "JWT", "Spring Security", "Swagger/OpenAPI"]
generated_at: "2026-04-23T15:45:28.988Z"
---

# Plateforme Collaborative de Gestion de Projets

Application web full-stack de gestion de projets d'équipe avec authentification JWT, contrôle d'accès par rôles, tableaux de bord temps réel et pipeline CI/CD complet - 30 555 lignes de code, 12 user stories, 7 tables en base.

**Date:** Septembre 2025  
**Duration:** ~2 semaines  
**Role:** Chef de Projet & Directeur Technique  
**Technologies:** Java 17, Spring Boot 3.4, Angular 20, TypeScript 5.9, PostgreSQL 15, Docker, GitHub Actions, JWT, Spring Security, Swagger/OpenAPI

### Key Metrics

- Lignes de Code: **-** - Java, TypeScript, HTML, SCSS, SQL
- User Stories: **-** - Toutes implementees
- Endpoints API: **-** - Endpoints REST (CRUD)
- Tables en BDD: **-** - PostgreSQL avec triggers et index

## Présentation

_Définition et périmètre du projet_

### Domain

Gestion de projet, collaboration d'équipe - comparable à des outils comme Jira, Trello ou Asana, adapte à un contexte professionnel et pedagogique.

### Target Users

Équipes de développement (B2B), chefs de projet et Product Owners pour le suivi d'avancement, observateurs (clients, stakeholders) en lecture seule.

**Content:** La **Plateforme Collaborative de Gestion de Projets** est une application web full-stack conçue pour la planification, le suivi et la collaboration d'équipes sur des projets. La plateforme permet de créer des projets, d'inviter des membres avec des rôles differencies, de gérer des tâches avec priorités et statuts, et de suivre l'avancement via des tableaux de bord.

Développée dans le cadre d'une **étude de cas pour le Bloc 3** du titre RNCP Niveau 7 "Expert en Ingenierie du Logiciel" delivré par le **Groupe ESIEA INTECH**, le projet couvre trois compétences clés : Développement (C.10), Automatisation (C.12) et Industrialisation (C.13).

L'application implémenté un **système d'authentification complet** avec tokens JWT, un **modèle de permissions par rôles** (Administrateur, Membre, Observateur), des **notifications email** via MailHog, et un **audit trail complet** tracant chaque modification sur les tâches grace à des triggers en base de données.

**Domain:** Domaine

**Target Users:** Utilisateurs Cibles

**Functional Scope:** Périmètre Fonctionnel

**Scope Auth:** Authentification JWT (inscription, connexion)

**Scope Projects:** Gestion de Projets (CRUD, statuts)

**Scope Members:** Invitation de Membres par Email (tokens)

**Scope Roles:** Permissions par Rôles (Admin, Membre, Observateur)

**Scope Tasks:** Gestion de Tâches (priorité, statut, assignation)

**Scope Dashboard:** Tableau de Bord avec Vues par Statut

**Scope Notifications:** Notifications Email à l'Assignation

**Scope Audit:** Audit Trail Complet (historique des tâches)

**Scope Search:** Recherche Globale Multi-Entites

## Objectifs, Contexte, Enjeux et Risques

_Vision stratégique et contraintes_

### Context

Le projet a été développé dans le cadre de la certification RNCP Niveau 7, avec des **technologies imposees** : Angular (frontend), Spring Boot + Java (backend), PostgreSQL ou MySQL (BDD), Docker, Git et CI/CD.

L'approche recommandee par la formation était un **développement par fonctionnalité** (feature-driven), de bout en bout (front + back). Le projet s'inscrit dans un scénario fictif ou le développeur est employe chez **Code Solutions**, une entreprise de développement logiciel. Le CEO (John D.) confie le projet PMT, les user stories viennent de Nicolas (Product Owner) et les guidelines techniques de Mariana (Tech Lead).

### Stake Validation

Validation des compétences C.10, C.12 et C.13 du bloc de certification

### Stake Full Stack

Demonstration de la maîtrise complete, de la conception BDD au déploiement Docker Hub

### Stake Quality

Couverture de tests, architecture en couches, documentation API (Swagger)

- Développer une application fonctionnelle implémentant les 12 user stories du cahier des charges
- Atteindre une couverture de tests >= 60% en instructions et branches, frontend et backend
- Dockeriser l'ensemble de l'application (frontend, backend, base de données)
- Mettre en place un pipeline CI/CD automatisant les tests et le déploiement des docs Docker
- Documenter le processus de déploiement dans un README complet

**Objectives:** Objectifs

**Context:** Contexte

**Stakes:** Enjeux

**Stake Validation:** Validation des Compétences

**Stake Full Stack:** Maîtrise Full-Stack

**Stake Quality:** Qualité Logicielle

**Risks:** Risques Identifies

**Risk1 Title:** Intégration Angular + Spring Boot

**Risk1 Desc:** Probabilite moyenne, impact eleve. Mitigation par architecture en couches, DTOs et configuration CORS.

**Risk2 Title:** Couverture de Tests Insuffisante

**Risk2 Desc:** Probabilite moyenne, impact eleve. Mitigation par JaCoCo (backend) et Karma/Jest (frontend) avec seuils configures.

**Risk3 Title:** Configuration Docker Complexe

**Risk3 Desc:** Probabilite faible, impact moyen. Mitigation par Docker Compose avec healthchecks et multi-stage builds.

## Les Étapes - Ce que J'ai Fait

_Phases chronologiques et contributions personnelles_

- Phase 1 - Conception
- Phase 2 - Développement
- Phase 3 - Tests
- Phase 4 - Industrialisation

**Phase1 Period:** 12-21 sept. 2025

**Phase2 Period:** 15-24 sept. 2025

**Phase3 Period:** 20-24 sept. 2025

**Phase4 Period:** 22-24 sept. 2025

## Les Acteurs - Les Interactions

_Structure d'équipe et dynamique de collaboration_

### Role Jose

Chef de Projet & Directeur Technique - Spécifications, décisions architecturales, design UI/UX, assurance qualité, tests manuels

### Role A I

Outil de Développement - Génération de code, tests, configuration DevOps, documentation, corrections de bugs

### Role P O

Product Owner - Fournit les 12 user stories (scénario pedagogique)

### Role T L

Tech Lead - Fournit les guidelines techniques (scénario pedagogique)

**Content:** Le projet a été réalisé par **José DA COSTA** en tant que chef de projet et directeur technique, avec l'assistance de **Claude Code** (IA Anthropic) comme outil de développement.

Le développement a suivi une approche itérative de **prompt-driven development** avec environ 220 cycles instruction-génération-validation-correction. José a fourni les spécifications, les décisions architecturales, les choix UI/UX, et a réalisé l'assurance qualité par des tests manuels dans le navigateur. Claude Code a pris en charge la génération de code, l'écriture des tests, la configuration DevOps et la documentation.

Le fichier `PROMPTS.md` (3 516 lignes, ~220 instructions distinctes) retrace l'historique complet de cette collaboration, couvrant toutes les phases de la conception au déploiement.

**Team:** Composition de l'Équipe

**Role Jose:** José DA COSTA

**Role A I:** Claude Code (IA)

**Role P O:** Nicolas (fictif)

**Role T L:** Mariana (fictif)

## Les Résultats

_Résultats mesurables et valeur livree_

### For Me

Ce projet a renforcé mes compétences en développement full-stack sur la stack Java/Angular. C'était ma première expérience combinant Spring Security avec JWT dans un contexte proche de la production, et l'implémentation de triggers BDD pour l'audit trail automatique est un pattern que j'applique désormais dans d'autres projets.

L'approche prompt-driven development avec ~220 iterations m'a appris a formuler des spécifications techniques précises et a valider systématiquement le code généré par IA - un workflow qui a significativement augmente ma productivité sur les projets suivants.

### For Company

Le projet démontré la maîtrise complète du cycle de vie logiciel, de la conception de base de données au déploiement Docker Hub. Les données de seed realistes (20 utilisateurs, 28 projets, 120+ tâches couvrant tous les statuts et priorités) permettent une démonstration live convaincante.

La documentation complète (README, 12 rapports de conformité par user story, Swagger auto-généré, Makefile avec 25+ commandes) etablit un standard professionnel pour la qualité des livrables.

- Mode sombre avec persistance localStorage
- Recherche globale multi-entites
- Panel d'administration (utilisateurs, parametrès)
- Gestion du profil utilisateur
- Rapports et vues analytiques
- Dialog de confirmation réutilisable
- Multiples profils Spring (dev, local, docker, prod)

**All Completed:** Les 12 user stories implementees

**For Me:** Pour Moi

**For Company:** Pour l'Organisation

## Les Lendemains du Projet

_Évolution post-livraison et statut actuel_

**Content:** **Juste après la livraison**, le projet a été soumis comme étude de cas pour le Bloc 3 de la certification RNCP Niveau 7. Le livrable complet inclut le code source, les images Docker sur Docker Hub, 12 rapports de conformité détaillés et une documentation complete.

**Statut actuel** : Le projet est archive comme étude de cas terminee. Le code source resté disponible sur GitHub, et les images Docker peuvent toujours être recuperees depuis Docker Hub. Le domaine de production (`pmt.codesolutions.com`) n'a jamais été configuré car il faisait partie du scénario fictif.

**Impact durable** : Plusieurs patterns architecturaux de ce projet ont été reutilisés dans des travaux ultérieurs - notamment l'approche par triggers pour l'audit trail, le flux d'authentification JWT, et la stratégie de build Docker multi-stage. Le pattern Makefile avec 25+ commandes organisees est devenu un modèle pour les projets suivants.

## Mon Regard Critique

_Rétrospective honnete et leçons apprises_

- Complétude fonctionnelle : les 12 user stories intégralement implementees, plus 7 fonctionnalités bonus
- Architecture solide : séparation claire des responsabilites (Controller/Service/Repository), gestion centralisee des exceptions, intercepteurs HTTP
- Base de données bien conçue : audit trail automatique via triggers, index partiels pour la performance, contraintes CHECK pour l'intégrité
- Industrialisation complète : Docker Compose dev et prod, multi-stage builds, Makefile complet, pipeline CI/CD
- Données de seed realistes : 20 utilisateurs, 28 projets avec tous les statuts, 120+ tâches - démonstration convaincante
- Historique Git minimaliste : seulement 3 commits, tous le même jour. Un historique plus granulaire avec feature branches et commits atomiques aurait mieux démontré la maîtrise Git.
- Tests E2E non implementes : le pipeline CI/CD prévoit des tests Playwright, mais ils sont desactives avec des commandes echo de remplacement.
- Checks de couverture desactives en CI : les seuils JaCoCo et Karma existent en configuration mais sont contournes dans le pipeline.
- Pas de linting configuré : le script lint du frontend renvoie un placeholder. Pas d'ESLint ni de Prettier.
- Déploiement production non opérationnel : le job de déploiement est desactive. Aucun hébergement réel configure.
- Adopter une stratégie Git mature avec feature branches, PRs et conventional commits pour mieux démontrer la compétence C.12
- Appliquer le TDD pour garantir naturellement la couverture et démontrer une approche plus rigoureuse
- Déployer sur une plateforme gratuite (Railway, Fly.io, Render) pour rendre la compétence C.13 plus convaincante
- Ajouter du monitoring et de l'observabilité (Sentry ou similaire) pour renforcer l'aspect production-ready
- L'industrialisation est un investissement initial qui rapporte : le temps passe sur Docker, Makefile et CI/CD se rembourse rapidement en fiabilité et reproductibilite.
- Les triggers SQL pour l'audit trail sont puissants : la journalisation automatique via triggers PostgreSQL est une approche élégante indépendante du code applicatif.
- L'architecture en couches facilité les tests : la séparation nette Controller/Service/Repository permet de tester chaque couche independamment.
- Les données de seed realistes sont essentielles : des données de démonstration riches rendent la présentation d'un projet beaucoup plus convaincante.
