Aller au contenu
Mohamed TRIKI
Retour aux stages et projets

Sfax El Mezyena — Plateforme de gestion associative

  • Développement web
  • En cours

Plateforme MERN pour une association tunisienne : site public et espace d’administration (projets, RH, formations, finances, logistique) avec 10 rôles RBAC.

Aperçu

Sfax El Mezyena est une association tunisienne qui gérait ses membres, ses projets, ses formations et ses finances avec des outils dispersés. J’ai conçu et développé une plateforme qui réunit un site vitrine public et un espace d’administration couvrant tout le cycle de vie de l’association.

Le contrôle d’accès est la colonne vertébrale de la plateforme : 10 rôles hiérarchiques, des adjoints (VP, SG adjoint) et des droits contextuels (responsable de groupe, d’activité ou de formation, organisateur de réunion). Une matrice rôle × module se modifie en direct depuis l’interface et l’API l’applique.

Ce que j’en retiens : j’ai conçu un système de permissions dynamique et rétrocompatible — les droits par défaut s’appliquent tant que personne ne modifie la matrice — et modélisé des données polymorphes, comme les présences et évaluations qui peuvent être liées à un projet, une activité ou une formation. J’ai mené un projet métier complet, du recueil des besoins jusqu’au déploiement.

Chiffres clés

rôles RBAC hiérarchiques
10
rôles RBAC hiérarchiques
onglets par fiche projet
19
onglets par fiche projet
tests d’API automatisés
172
tests d’API automatisés
langues (dont RTL)
3
langues (dont RTL)

Technologies

Problème

L’association gérait ses membres, ses projets, ses formations et ses finances avec des outils dispersés, sans lieu unique pour coordonner ses équipes et suivre son activité.

Solution

Une plateforme full-stack MERN. Frontend : React 19, React Router 7, Vite, Tailwind CSS, Bootstrap et Recharts. Backend : Node.js, Express, MongoDB/Mongoose et une API REST. Documents : PDFKit, Docxtemplater (modèles Word), ExcelJS, conversion via LibreOffice et QR codes. Sécurité : JWT avec cookies, bcrypt, Helmet, CORS, rate-limiting, express-validator et mongo-sanitize. Déploiement : Docker, docker-compose et Nginx.

Ma contribution

Conception et développement de toute la plateforme : architecture RBAC et matrice de permissions, modules métier, génération de documents (PDF, Word, Excel), sécurité, tests automatisés et déploiement conteneurisé.

Résultats

Le projet est couvert par 27 suites et 172 tests d’API automatisés (Jest, Supertest), ainsi que par des tests de bout en bout avec Playwright.

Fonctionnalités

  • Contrôle d’accès avancé : 10 rôles hiérarchiques, adjoints, droits contextuels et matrice de permissions rôle × module (lecture-écriture, lecture seule ou aucun accès) modifiable en direct
  • Gestion de projets : fiche projet complète de 19 onglets (activités, équipes, comités, suivi, budget, documents…)
  • Ressources humaines : présences et évaluations rattachées aux projets, et un espace personnel « Mon espace » pour chaque membre
  • Formations : formateurs, sessions et évaluations des participants
  • Finances : adhésions, cotisations avec paiements multiples, facturation et reçus PDF avec QR code vérifiable en ligne
  • Logistique : inventaire du matériel et demandes de matériel
  • Communication : notifications, invitations (accepter, refuser ou justifier), diffusion avec accusés de lecture et emails automatiques
  • Tableaux de bord avec statistiques et graphiques (Recharts), carte interactive, et site public multilingue (FR/AR/EN, arabe en RTL)