EPAC-RIS
Plateforme de gestion et de valorisation de la recherche universitaire
- EPAC, Service de la Recherche et de l'Innovation
- 2026
- Web
- Développement full-stack : API, espace membre, site public et mise en production

Aperçu
EPAC-RIS (Recherche · Innovation · Statistiques) centralise toute l'activité de recherche de l'École Polytechnique d'Abomey-Calavi. On y trouve les laboratoires et unités de recherche, les chercheurs, les publications, les mémoires et thèses, les projets, les brevets et innovations, les équipements et les événements.
Mon rôle
Développement full-stack : API, espace membre, site public et mise en production
Le défi
Les données de recherche de l'école étaient éparpillées entre les laboratoires, dans des fichiers Excel et des documents isolés. Il n'existait aucune vue d'ensemble fiable, et aucun circuit de validation. Il fallait une plateforme unique pour quatre profils aux droits différents : le Service de la Recherche, les directeurs de laboratoire, les responsables d'unité et les enseignants-chercheurs. La plateforme devait aussi reprendre l'existant sans ressaisie, éviter les doublons de publications et exposer publiquement des informations à jour sans divulguer de données personnelles.
La solution
J'ai conçu une API Laravel 12 unique, utilisée par deux fronts React et TypeScript : - Les droits : quatre rôles, un périmètre limité au laboratoire ou à l'unité, et un circuit de validation (en attente, validé, rejeté) pour les publications, mémoires et thèses. - L'import de l'existant : sept modèles Excel (ExcelJS) et un import de publications par lot depuis des PDF. pdf.js extrait le texte, puis l'API Crossref complète les métadonnées. - Les doublons : ils sont détectés par DOI ou par titre normalisé, à la fois dans l'API et dans l'interface. - Le pilotage : tableaux de bord Recharts et rapports aux couleurs de l'école, exportables en PDF (jsPDF), Word (docx) et Excel. - Le site public : React, Tailwind CSS 4 et shadcn/ui (Radix), données chargées avec TanStack Query, pages détaillées pour les laboratoires, les innovations et les équipements. - La sécurité : authentification par jetons Sanctum qui expirent après 7 jours, limitation du nombre de tentatives de connexion, CORS restreint, et champs filtrés sur les routes publiques.
Stack technique
- React 19
- Typescript
- Tailwind CSS
- Zustand
- Laravel 12
- Laravel Sanctum
- API REST
- API Crossref
Résultat
Pour la première fois, l'école dispose d'un référentiel unique de sa recherche. La plateforme référence aujourd'hui 282 publications scientifiques, 44 chercheurs, 27 unités de recherche et 4 laboratoires. Chaque laboratoire alimente lui-même ses données et le Service de la Recherche les valide. La plupart des publications ont été reprises par import Excel ou PDF, sans ressaisie, et les doublons ont été écartés automatiquement. Les rapports qui demandaient des jours de compilation sortent en un clic en PDF, Word ou Excel. Le site public présente ces chiffres en temps réel.