Terminé

CRM sur Mesure pour l'Opéra Orchestre National de Montpellier

2025
Web Application
CRM sur Mesure pour l'Opéra Orchestre National de Montpellier

À propos du projet

CRM sur Mesure pour l'Opéra Orchestre National de Montpellier

Projet développé en équipe durant notre deuxième année à Epitech Montpellier dans le cadre d'un module libre. Sélectionnés en février par l'Opéra Orchestre national de Montpellier parmi plusieurs candidatures, nous avons développé une solution CRM complète pour remplacer leur système de gestion de candidatures basé sur Google Form.

Le besoin client :

L'Opéra de Montpellier gérait les candidatures aux événements culturels via Google Form, un système peu adapté pour le volume de demandes reçu, sans gestion des comptes utilisateurs, sans traçabilité des structures, et sans outils de sélection équitable face aux nombreuses demandes.

Notre approche collaborative :

  • Réunions régulières : Points d'étape fréquents avec les équipes de l'Opéra tout au long du projet
  • Développement itératif : Ajustements techniques continus selon les retours terrain
  • Co-construction : Implication active du client dans les décisions fonctionnelles
  • Développement en parallèle des cours : Gestion rigoureuse du temps et des priorités

Solution développée :

Côté utilisateurs (grand public) :

  • Formulaire intelligent : Système de candidature avec pré-remplissage automatique des informations utilisateur
  • Accessibilité multi-canal : Candidature via lien direct ou depuis la page d'un spectacle sur le site de l'Opéra
  • Gestion des comptes : Système de profils utilisateurs liés à des établissements/structures
  • Historique : Suivi des candidatures soumises

Côté administration (équipes de l'Opéra) :

  • Dashboard global : Vue d'ensemble des candidatures avec statistiques en temps réel
  • Gestion des utilisateurs : Administration des comptes et structures associées
  • Statistiques par événement : Analyse détaillée par spectacle/événement
  • Algorithme de sélection intelligent : Système de tri équitable par critères pondérés pour traiter équitablement le volume important de demandes
  • Export de données : Génération de rapports pour analyse

État du projet :

Le projet est en phase finale de développement. Avec la fin de notre année scolaire, notre implication active touche à sa fin, mais toute l'infrastructure est prête pour un déploiement complet à la rentrée si l'Opéra le souhaite. Nous serions ravis de poursuivre cette aventure avec eux pour finaliser le lancement en production.

Impact :

  • Simplification drastique du processus de candidature pour le public
  • Gain de temps considérable pour les équipes administratives de l'Opéra
  • Équité renforcée grâce à l'algorithme de sélection
  • Traçabilité complète des candidatures et statistiques exploitables

Expérience humaine :

Au-delà de l'aspect technique, ce projet nous a permis de collaborer avec un acteur culturel majeur, de nous adapter à des besoins réels en environnement professionnel, et surtout de donner du sens à notre travail en contribuant à la vie culturelle montpelliéraine. Une expérience enrichissante, professionnalisante, et profondément humaine.

Technologies & Outils

Next.js 14
TypeScript
React
React Query
Tailwind CSS
Node.js
Express
MongoDB
JWT
REST API
WordPress API
Vercel
Git

Détails Techniques

CRM sur Mesure pour l'Opéra Orchestre National de Montpellier

Contexte technique :

Développement full-stack d'une plateforme CRM en équipe durant la deuxième année à Epitech Montpellier, dans le cadre d'un module libre. Projet réalisé en parallèle des cours avec suivi client régulier et méthodologie agile. Architecture moderne serverless avec séparation frontend/backend et intégration WordPress.

Architecture Frontend :

  • Framework : Next.js 14 avec App Router pour routing côté serveur et optimisation SEO
  • Langage : TypeScript pour type-safety complète à travers l'application
  • Gestion d'état : React Query pour cache intelligent et synchronisation des états serveur
  • UI/UX :
    • Tailwind CSS pour styling utility-first
    • Architecture de composants réutilisables basée sur shadcn/ui
    • Design system cohérent et accessible
  • Optimisations :
    • Server-Side Rendering (SSR) pour performances et SEO
    • Image optimization native Next.js

Architecture Backend :

  • API : REST API custom développée en Node.js avec Express
  • Base de données : MongoDB avec Mongoose ODM pour gestion des schémas
  • Authentification et Sécurité :
    • JWT (JSON Web Tokens) avec système de refresh tokens
    • RBAC (Role-Based Access Control) multi-niveaux (admin, établissement, utilisateur)
    • Hashage bcrypt pour mots de passe
    • Rate limiting pour protection contre les abus

Fonctionnalités Métier Principales :

  • Système de candidatures :
    • Formulaires dynamiques avec pré-remplissage automatique
    • Validation côté client et serveur
    • Upload de documents avec stockage sécurisé
    • Gestion des états de candidature (en attente, acceptée, refusée)
  • Gestion multi-entités :
    • Utilisateurs liés à des établissements/structures
    • Hiérarchie de permissions (admin > établissement > utilisateur)
    • Dashboard personnalisé selon le rôle
  • Algorithme de sélection :
    • Système de critères pondérés configurables
    • Scoring automatique des candidatures
    • Tri équitable basé sur critères multiples
    • Export des résultats pour validation manuelle
  • Statistiques et Analytics :
    • Dashboard avec KPIs en temps réel
    • Statistiques globales et par événement
    • Graphiques interactifs (Chart.js / Recharts)
    • Export CSV/Excel pour rapports

Intégration WordPress :

  • API REST WordPress : Utilisation de l'API native WP avec endpoints personnalisés
  • Synchronisation temps réel :
    • Récupération automatique des événements/spectacles depuis WordPress
    • Affichage des candidatures directement sur les pages spectacles
    • Webhooks pour synchronisation bidirectionnelle
  • Authentification unifiée : Single Sign-On (SSO) entre CRM et site WordPress

Infrastructure et Déploiement :

  • Frontend : Vercel pour déploiement serverless Next.js
    • CI/CD automatique sur push Git
    • Variables d'environnement sécurisées
    • Preview deployments pour chaque PR
    • Edge functions pour performances globales
  • Backend : API hébergée séparément (Render/Railway/VPS)
    • Auto-scaling selon la charge
    • Monitoring et logs centralisés
  • Base de données : MongoDB Atlas (cloud DBaaS)
    • Réplication automatique et backups
    • Indexation optimisée pour requêtes fréquentes
    • Monitoring des performances

Méthodologie et Collaboration :

  • Gestion de projet : Agile/Scrum avec sprints hebdomadaires
  • Versioning : Git avec workflow feature branches et code reviews
  • Communication client : Réunions régulières avec l'Opéra pour ajustements
  • Documentation : README complet, documentation API (Swagger/Postman)
  • Tests : Tests unitaires et d'intégration pour fonctionnalités critiques

Défis techniques relevés :

  • Intégration transparente avec l'écosystème WordPress existant
  • Conception d'un algorithme de sélection équitable et configurable
  • Gestion de la hiérarchie complexe utilisateurs/établissements
  • Optimisation des performances pour gestion de volumes importants de candidatures
  • Coordination d'équipe en parallèle des cours académiques

État actuel :

Plateforme fonctionnelle prête pour déploiement en production. Infrastructure complète (frontend, backend, BDD) opérationnelle avec possibilité de finalisation à la rentrée selon les besoins de l'Opéra.

Ce projet démontre notre capacité à travailler en équipe sur un projet client réel, à s'adapter aux besoins métier spécifiques du secteur culturel, et à livrer une solution professionnelle complète en parallèle d'une charge académique soutenue.