Lecteur de documentation

methodologie fonctionnement site

Fichier source: architecture/methodologie-fonctionnement-site.md

Markdown rendu Markdown

Méthodologie de fonctionnement du site

Ce document décrit comment CleanMyMap fonctionne d'un point de vue technique et opérationnel. Il sert de fiche de lecture rapide pour comprendre l'architecture, les services connectés et le chemin réel d'une requête utilisateur.

Périmètre

Le site repose sur Next.js 15 avec App Router, TypeScript et Tailwind CSS 4.

Le dépôt est organisé comme un monorepo centré sur apps/web, avec :

La séparation attendue est simple :

Schéma d'ensemble

          
mermaid
flowchart TD U[Utilisateur] --> N[Navigation web] N --> W[Next.js 15 / App Router] W --> C[Composants UI] W --> A[API Routes] A --> S[(Supabase)] A --> R[Resend] W --> P[PostHog] W --> E[Sentry] G[GitHub] --> V[Vercel] Cx[Codex] --> G V --> W D[LWS / Domaine] --> V

Architecture applicative

Le front et le back vivent dans la même application Next.js, mais avec des responsabilités séparées :

La carte Leaflet suit une règle stricte :

Données et backend

Supabase

Supabase est la base de données et la couche backend principale.

Il sert à :

La règle du projet reste la même :

Clerk

Clerk gère l'authentification et les sessions.

Le site s'appuie sur Clerk pour :

Services externes

GitHub et Vercel

GitHub est le dépôt source. Vercel est la plateforme de déploiement.

Le flux standard est le suivant :

Codex

Codex est l'outil utilisé pour modifier le code, créer des fichiers, corriger les bugs et vérifier les changements dans le dépôt.

Il n'exécute pas le site en production. Son rôle est d'assister la production du code et de la documentation.

PostHog

PostHog sert à l'analytics produit.

Il permet de suivre :

Sentry

Sentry sert à remonter les erreurs techniques et les régressions observées en production.

Il est utilisé pour :

Resend

Resend gère les mails transactionnels et notifications sortantes.

Il intervient pour :

Nom de domaine LWS

Le nom de domaine du site est géré chez LWS et sert de point d'entrée public.

Dans la logique du projet, ce poste est un coût fixe à suivre, au même titre que l'hébergement et les autres dépendances d'infrastructure.

Quotas gratuits de référence

Cette section sert de base pour l'onglet Plans et quotas.

Règle de lecture:

Vérification web effectuée le 4 juin 2026 à partir des sources officielles ci-dessous.

ServicePlanQuotas gratuits publiésStatut quota tabSource officielle
VercelHobby100 GB de Fast Data Transfer; 1 000 000 de function invocations; 100 GB-hours de function duration; 6 000 minutes de build; 1 000 images source; 50 000 web analytics events; 100 déploiements/jourutilisablevercel.com/docs/accounts/plans
SupabaseFree50 000 MAU; 500 MB de base; 5 GB d'egress; 1 GB de stockage fichiers; 500 000 invocations Edge Functions; 200 connexions Realtime; 100 messages/s; upload max 50 MButilisablesupabase.com/pricing
ClerkHobby50 000 MRU par app; 3 seats dashboard; 5 impersonations; sessions fixes de 7 jours; 2 500 créations et 100 000 vérifications pour les API keys M2Mutilisableclerk.com/pricing
ResendFree3 000 emails/mois; 100 emails/jour; 1 domaine; 10 000 automation runs; 30 jours de rétentionutilisableresend.com/pricing
PostHogFree tier1 000 000 events/mois en product analytics; 5 000 recordings/mois en session replay; 1 000 000 requests/mois en feature flags; 1 000 000 rows/mois en managed warehouseutilisableposthog.com
SentryDeveloper / free5 GB de logs/mois sont inclus sur tous les plans; quota exact d'erreurs publics non stabilisé -> NApartielsentry.io/changelog/logs-are-generally-available
Upstash RedisFree256 MB de données; 10 GB de bandwidth; 500 000 commands/moisutilisableupstash.com/pricing/redis
Upstash QStashFree1 000 messages/jour; 50 GB de bandwidth mensuelle; 1 MB max par message; 10 queues; 10 active schedules; 3 retries; 7 jours de délai maxutilisableupstash.com/docs/qstash/overall/pricing
PineconeStarter1 projet par organisation; 5 indexes serverless par projet; 2 GB de stockage serverless par projet; 1 000 000 read units/mois; 2 000 000 write units/mois; 1 seule région cloud (us-east-1)utilisabledocs.pinecone.io/docs/limits

Services hors périmètre gratuit documenté:

Pour le pilotage interne, les services NA doivent rester visibles comme "non documentés" plutôt que remplacés par une moyenne.

IA de développement et ACV

Les modèles utilisés pour coder le site ne doivent pas être mélangés avec les services web de quotas.

Si CleanMyMap n'appelle pas directement un modèle GPT en production, alors ce poste doit rester dans l'onglet Impact carbone / ACV et hors de l'onglet Plans et quotas.

Références de badge à afficher dans l'ACV:

Règle de pilotage:

Chaîne de fonctionnement

Lorsqu'un utilisateur agit sur le site :

Points de contrôle

Cette méthodologie doit rester alignée avec les règles du dépôt :

Documents liés