Intranet sur mesure Next.js pour une agence web
Sous contrat · Mediapilote● En ligne
Intranet sur mesure en Next.js pour l’agence Mediapilote : clients, projets, tickets et temps, devenu fournisseur d’identité OIDC des autres outils internes.
Contexte
Avant cet intranet sur mesure, Mediapilote suivait ses projets, ses tickets de support et ses temps sur une ancienne plateforme qui ne correspondait plus à l’activité de l’agence. Il fallait la remplacer par un outil unique pour les chefs de projet, les développeurs et le support, sans perdre l’historique.
En parallèle, l’agence s’est dotée d’autres outils internes : SEO, GEO, Google Business Profile, publicité, backlinks, génération d’images. Tous avaient besoin des mêmes clients, des mêmes comptes et des mêmes accès Google. L’intranet est devenu le socle que ces plateformes interrogent.
Challenge
Le premier enjeu était la reprise des données. Dans l’ancienne base, les « projets » correspondaient en réalité à des clients et les tâches à des projets, tandis que les contrats de support devaient devenir des tickets et non des projets.
Le second tenait à l’architecture. Une fois l’intranet devenu fournisseur d’identité et source de vérité pour plusieurs satellites, chaque évolution devait rester compatible avec eux. Il fallait aussi composer avec les limites de Cloudflare : taille des requêtes D1, durée maximale des Workflows, mémoire des Workers.
Approche
J’ai construit l’application en Next.js avec des Server Actions validées par Zod et Drizzle ORM, puis écrit un script d’import avec mode dry-run pour reprendre l’ancienne base. Quatre rôles encadrent les accès (admin, chef de projet, dev, support) et les modules se sont ajoutés au fil des besoins : saisie des temps, devis, newsletters et landing pages avec édition collaborative, maintenance d’une flotte de sites WordPress via une extension maison, assistants IA reliés au wiki.
Pour les autres plateformes, j’ai fait de l’intranet un fournisseur d’identité OpenID Connect et exposé une API partenaire documentée dans un portail Scalar, avec des accès de service limités à leur périmètre. Un coffre de jetons Google est partagé entre les outils, les scans IA longs sont découpés en passes reprenables pour tenir dans les limites des Workflows, et toute l’IA passe par AI Gateway vers OpenRouter.
(04) — Résultats
Chiffres clés- 940
- commits
- 4
- rôles d’accès
- OIDC
- fournisseur d’identité des outils internes
- 2026 →
- en production
