CONFIDENTIEL — ROYAL CANIN / MARS PETCARE

SOS Animal

Documentation complète — Admin Back-Office v5.0

Architecture technique, modules fonctionnels, base de données, API, workflows, services externes et guide d'utilisation du back-office d'administration SOS Animal.

40
Tables D1
70+
Endpoints API
300K+
Parcours diagnostiques
21 827
Vétérinaires
39
Pays RC
22
Modules
97
Animaux adoptables
30
Fiches races
80
Refuges partenaires
6
Services externes
5
Cron jobs
Version 5.0 — 28 mars 2026
Auteur : Emmanuel Klein · emmanuel.klein@me.com
URLs : sos-toutou.pages.dev · sos-toutou-api.sos-toutou-ek.workers.dev
GitHub : mrkleinemmanuel24-hub/SOS-TOUTOU

Table des matières

  1. Hiérarchie des rôles (6 niveaux)
  2. Modules Admin — Sidebar
    1. Comptes (Dir. pays, Dir. régionaux, Distributeurs, Admin)
    2. Clients App (Particuliers, Entreprises)
    3. Données (Vétérinaires 21 827)
    4. Promos & Événements (Promotions ciblées, Salons & Foires)
    5. Soumissions (Workflow SLA 48h)
    6. Alertes (Push, Veille IA Santé)
    7. Analytics (4 graphiques, 7 onglets, Actions)
  3. Base de données D1 (40 tables)
  4. API — 70+ Endpoints
  5. Services externes (6)
  6. Cron jobs (5 handlers)
  7. Flux de données (4 flux)
  8. Applications & Déploiement
  9. Détail Promotions ciblées
  10. Détail Salons & Foires
  11. Import universel (8 formats)
  12. Module Adoption NOUVEAU
  13. Module Races — Encyclopédie NOUVEAU
  14. Module Nutrition NOUVEAU
  15. Module Carnet de Santé NOUVEAU
  16. Module Communauté NOUVEAU
  17. Module Ensemble — Solidarité NOUVEAU
  18. Module Services & Carte NOUVEAU
  19. Module Profil Animal + QR Code NOUVEAU
  20. UGC — Contenu Utilisateur NOUVEAU
  21. Recherche Intelligente NOUVEAU
  22. Architecture SPA NOUVEAU

1. Hiérarchie des rôles

Le back-office supporte 6 niveaux de permissions, du Superadmin au Distributeur :

RôleNiveauPortéeDroits clés
SUPERADMIN5MondialAccès total, override, création de tous les comptes
RC HQ3MondialVue tous pays, gestion distributeurs, analytics globales, informé des promos
RC LEGAL3MondialValidation juridique des soumissions, cadres légaux
COUNTRY ADMIN21 paysValide les promos (étape 2), gère directeurs régionaux, vue pays uniquement
DIR. RÉGIONAL21 régionValide les promos (étape 1), gère distributeurs de sa zone
COUNTRY EDITOR11 paysCrée du contenu, soumet pour validation
DISTRIBUTEUR01 magasinCrée des promos (soumises à validation), gère son profil

Workflow d'approbation des promotions

Distributeur crée promo PENDING Dir. Régional valide COUNTRY_REVIEW Dir. Pays valide ACTIVE RC HQ informé

Chaque étape est tracée dans promo_approvals (audit trail). Le rejet est possible à tout niveau avec motif obligatoire.

3. Base de données — Cloudflare D1

SQLite serverless — 40 tables réparties en 11 domaines :

DomaineTablesDétail
Admin7admin_users, submissions, submission_comments, submission_files, published_content, admin_audit_log, vet_import_jobs
Analytics3user_sessions (1 500), symptom_events, analytics_daily
Notifications3push_subscriptions (20), notifications, ai_health_alerts (12)
Distributeurs7distributors (44), distributor_promotions (14), promo_documents, promo_approvals, country_directors (10), legal_frameworks, admin_notifications
Gestion3regional_directors (25), vets (21 827), events (13)
Dispatch2dispatches, dispatch_vets
Lois8lois_codes, lois_titres, lois_chapitres, lois_articles, lois_articles_historique, lois_liens, lois_textes_consolides, lois_fts (FTS5)
SOS Parents9parents_users, parents_ado_profiles, parents_relationships, parents_pars_scores, parents_exercise_completions, parents_journal_entries, parents_messages, parents_badges, parents_challenge_completions
SOS Droit1+diagnoses_rupture + 6 modules juridiques
Adoption3animals (97), shelters (80), breeders (26)
Races1breed_profiles (30 fiches : 20 chiens + 10 chats)
Profil Animal2pet_profiles, pet_health_records
Scalabilité : D1 supporte des millions de lignes. Les index sont en place sur toutes les colonnes de filtrage (country_code, species, module_id, status, date).

4. API — 70+ Endpoints

Cloudflare Workers (ES Module), routage dans worker.js. Modules : admin-routes.js, distributor-routes.mjs, notifications-routes.mjs, analytics-routes.mjs.

Authentification & Utilisateurs

MéthodeEndpointDescription
POST/api/admin/auth/loginConnexion admin (PBKDF2-SHA256)
GET/api/admin/auth/meUtilisateur courant
POST/api/admin/bootstrapPremier compte superadmin
CRUD/api/admin/usersGestion des comptes admin

Distributeurs & Promotions

MéthodeEndpointDescription
GET/api/distributors/nearby?lat=&lng=&radius=50Promos à proximité (public, Haversine)
POST/api/distributors/registerInscription distributeur (self-service)
CRUD/api/distributors/admin/distributorsGestion distributeurs (filtrage pays)
CRUD/api/distributors/admin/distributors/:id/promotionsPromos par distributeur
POST/api/distributors/admin/promotions/:id/regional-approveValidation dir. régional → COUNTRY_REVIEW
POST/api/distributors/admin/promotions/:id/approveValidation dir. pays → ACTIVE
POST/api/distributors/admin/promotions/:id/rejectRejet (tout niveau, motif)
GET/api/distributors/admin/stats?country=FRKPIs distributeurs par pays

Analytics

MéthodeEndpointDescription
POST/api/trackLog session utilisateur (public, consent RGPD)
GET/api/admin/analytics/overview?days=30KPIs globaux (sessions, espèces, urgences, modules)
GET/api/admin/analytics/trends?days=90&country=FRCourbe temporelle filtrable
GET/api/admin/analytics/breeds?species=dogTop races × pathologies
GET/api/admin/analytics/countriesRépartition mondiale
GET/api/admin/analytics/symptomsSymptômes émergents + tendances %

Notifications & Veille IA

MéthodeEndpointDescription
POST/api/notifications/subscribeEnregistrer device token (public)
GET/api/notifications/active?country=FRAlertes actives (public)
POST/api/notifications/admin/sendEnvoyer notification push
POST/api/notifications/admin/ai-scanDéclencher scan IA santé
GET/api/notifications/admin/ai-alertsAlertes IA non examinées

Événements, Import, Gestion

MéthodeEndpointDescription
GET/POST/api/admin/eventsSalons & Foires (CRUD)
POST/api/admin/events/:id/pushPush + QR code pour événement
POST/api/admin/import/parse-previewPreview import multi-format
POST/api/admin/import/runExécuter import
CRUD/api/admin/country-directorsDirecteurs pays
CRUD/api/admin/regional-directorsDirecteurs régionaux
GET/api/admin/vets/list?country=&page=Liste vétérinaires paginée

5. Services externes

ServiceUsageClé env
Claude AI (Anthropic)Veille santé quotidienne — scan WOAH/ANSES/DGAL/EFSA → ai_health_alertsANTHROPIC_API_KEY
GPT-4o Vision (OpenAI)Analyse photos : peau, selles, yeux, plaies + extraction vocale TwilioOPENAI_API_KEY
ResendEmails : SLA escalade, invitations distributeurs, rappels 48h, alertes IARESEND_API_KEY
TwilioSVI vocal 09 39 24 26 16 (chien/chat → description → GPT → deep link SMS)TWILIO_ACCOUNT_SID + AUTH_TOKEN
Nominatim (OSM)Géocodage auto des adresses distributeurs, rayon Haversine 50kmGratuit
QR Server APIGénération QR codes de réduction pour salons & foiresGratuit (api.qrserver.com)

6. Cron jobs

Schedule : 0 9 * * * (tous les jours à 9h UTC)

#HandlerDescription
1handleDailyHealthScanClaude scanne WOAH/ANSES/DGAL → ai_health_alerts + email superadmins
2handlePromoWorkflowRemindersPromos PENDING > 48h → email dir. pays + admin_notifications
3handleAdminSLASoumissions : T-24h legal, T+12h HQ, T+24h superadmin (escalade)
4handleScheduledFollow-up J+10 dispatch vets — "Comment va votre animal ?"
5handleSuiviCronDaily check-in, weekly vet report (lundi), J+30 final + désactivation

7. Flux de données

Flux 1 : Utilisateur App → Analytics → Actions

User App POST /api/track user_sessions Analytics 4 graphiques Actions auto Push ciblé

Données collectées : espèce, race, âge, module, symptômes, urgence, device, pays, temps passé.

Flux 2 : Veille IA → Alerte → Push géolocalisé

WOAH/ANSES Claude AI scan ai_health_alerts Admin review Push → users géoloc

12 alertes réelles injectées : DNC 113 foyers, IAHP 60+ foyers, PSA Catalogne, fièvre aphteuse DE/HU/SK...

Flux 3 : Promo ciblée → 3 niveaux → App

Distributeur légal + visuel + ciblage PENDING Dir. Régional COUNTRY_REVIEW Dir. Pays ACTIVE Push ciblé race Carousel App 50km

Ciblage : target_species + target_breeds + target_modules + target_age_min/max + radius_km.

Flux 4 : Salon → QR code → Push → Réduction stand

Événement créé QR généré auto Push géoloc 100km User reçoit notif + QR Montre QR au stand Réduction appliquée

8. Applications & Déploiement

ApplicationBundle IDContenu
App Diagnosticcom.sosanimal.app22 modules chien/chat (300 000+ parcours), alertes bandeau, promos carousel, onboarding géoloc/notifs, adoption, races, nutrition, carnet, communauté, solidarité, services/carte, profil QR, UGC, recherche
App Admincom.sosanimal.adminBack-office complet, 6 groupes nav, dashboard exécutif, analytics 4 graphiques, import 8 formats, salons QR
App Agricole5 modules élevage : Bovins (31 symptômes, 7 maladies régl.), Équins, Volailles, Porcins, Ovins

Infrastructure

ServiceUsage
Cloudflare WorkersAPI REST + 5 cron jobs
Cloudflare PagesSite statique (admin + diagnostic + agricole)
Cloudflare D1SQLite serverless — 40 tables
Cloudflare R2Stockage fichiers (soumissions, uploads)
Capacitor iOS2 apps natives (WebView)
GitHubmrkleinemmanuel24-hub/SOS-TOUTOU

9. Détail — Promotions ciblées

14 promotions réalistes avec ciblage intelligent race × module × âge :

PaysDistributeurPromoCiblageStatut
FRTruffautBouledogue Digestif -25%🐶 Bouledogue FR · Digestif · >2 ansACTIVE
FRTruffautMaine Coon Kitten 2+1🐱 Maine Coon · <4 ansACTIVE
FRAnimalisDermacomfort Medium NEW🐶 Dermatologie · >1 anACTIVE
FRJardilandCavalier Cardio -20%🐶 Cavalier KC · Cardiologie · >3 ansPENDING
FRMaxiZooUrinary Care Chat -15%🐱 Urologie · >2 ansPENDING
DEFressnapf MünchenDackel Gelenk -30%🐶 Dackel · Locomoteur · >3 ansACTIVE
DEFutterhaus BerlinBulldogge Respiratory NEW🐶 Fr. Bulldogge · RespiratoireCOUNTRY_REVIEW
GBPets at Home London3 for 2 Breed Range🐶 Multi-races (Lab, Cocker, GSD, FB)ACTIVE
GBPets at Home ManchesterSenior Joints -25%🐶 Locomoteur · >7 ansPENDING
ESKiwoko MadridGalgo Sport -20%🐶 Galgo · Locomoteur/DigestifACTIVE
ESTiendanimal BarcelonaSterilised 37 NEW🐱 Digestif/Urologie · >1 anCOUNTRY_REVIEW
ITArcaplanet MilanoPastore Tedesco -20%🐶 Pastore · Locomoteur/DigestifACTIVE
ITIsola dei Tesori RomaPersiano Occhi NEW🐱 Persiano · Ophtalmo/DermatoPENDING

10. Détail — Salons & Foires 2026

DateÉvénementLieuTypeQR RéductionStatut
3-4 janSalon du ChiotPort-Marly FRSalon-15% Starter KitPAST
7-8 févSalon du ChiotAntibes FRSalon-10% toute gammePAST
28 fév-1 marSalon du ChiotÉvreux FRSalon-20% 1er achatPAST
5-8 marCrufts 2026Birmingham GBExpositionFree sample packPAST
13-15 marParis Animal ShowPorte de Versailles FRSalon-25% sur le standACTIVE
11-12 avrTIERWELTRostock DEFoire-20% am StandUPCOMING
2-3 maiCACIB ValenceValence FRExposition-15% race spécifiqueUPCOMING
8-10 maiDogs & FunMagdeburg DEFoire-10% alle ProdukteUPCOMING
12-15 maiInterzooNuremberg DEFoire proPro pass -30%UPCOMING
17-18 maiSalon du ChiotToulouse FRSalon-20% Puppy/KittenUPCOMING
4-6 septWorld Dog ShowGöteborg SEExpositionVIP pass RCUPCOMING
5-6 septNationale ÉlevageDijon FRExposition-15% gamme éleveurUPCOMING
21-22 novSalon du ChatAutun FRSalon-20% RC FelineUPCOMING

Sources : Société Centrale Canine, FCI, The Kennel Club, NürnbergMesse, Paris Animal Show, LOOF.

11. Import universel — 8 formats

FormatExtensionsUsage typiqueConversion
CSV.csvSAP, Excel, Oracle — auto-détection , ou ;Natif (parseCSV)
Excel.xlsx .xlsBureautique universelleSheetJS (client-side)
TSV.tsv .txtMySQL, SAP exports tabulésTab → CSV
JSON.jsonAPI REST, Salesforce, MongoDBJSON.parse → CSV
XML.xmlSAP IDoc, Oracle XML dumpsDOMParser → CSV
SQL INSERT.sqlDumps MySQL, PostgreSQL, OracleRegex extraction → CSV
vCard.vcfOutlook, iPhone, LDAP contactsLine parser → CSV
dBase/FoxPro.dbfLegacy ERP, SIGSheetJS DBF → CSV

Détection d'encodage : Windows-1252 automatique pour les exports SAP avec accents français.

Mapping automatique : Synonymes FR/EN/DE par cible (raison_sociale → name, code_postal → zip, etc.)

Cibles d'import : Directeurs pays, Directeurs régionaux, Distributeurs (chacun avec ses champs spécifiques).

12. Module Adoption NOUVEAU

Plateforme d'adoption intégrée avec données scrapées de 3 sources majeures et quiz de compatibilité.

97
Animaux adoptables
80
Refuges partenaires
26
Éleveurs référencés
3
Sources de données
10
Témoignages

Sources de données

SourceTypeDonnées
Seconde ChanceRefugeAnimaux + fiches contact refuges
PaawPlateforme adoptionAnimaux + refuges partenaires
Animaux.frAnnuaireAnimaux + annonces
Chiens de FranceÉleveurs26 éleveurs référencés

Quiz de compatibilité

5 questions Logement / Espace Temps disponible Expérience animaux Enfants / Famille Budget mensuel Matching score

Fiches animaux

Chaque fiche comprend : photo, nom, espèce, race, age, sexe, taille, description, refuge d'origine, et boutons d'action :

ActionFonctionnalité
Appelertel: direct vers le refuge
Emailmailto: pré-rempli avec nom de l'animal
SMSsms: pré-rempli
ItinéraireGoogle Maps / Apple Plans vers le refuge

Filtres de recherche

6 filtres combinables : espèce (chien/chat), race, âge, sexe, taille (petit/moyen/grand), source (Seconde Chance/Paaw/Animaux.fr).

Copyright : Les logos et crédits des partenaires (Seconde Chance, Paaw, Animaux.fr) sont affichés systématiquement sur chaque fiche et en bas de page.

13. Module Races — Encyclopédie NOUVEAU

Encyclopédie de 30 races avec fiches détaillées, images DALL-E et recommandations nutrition Royal Canin.

20
Races chiens
10
Races chats
30
Images DALL-E

Contenu de chaque fiche race

SectionContenuSource
DescriptionOrigine, histoire, morphologieFCI / LOOF / AKC
CaractèreTempérament, comportement, sociabilitéLittérature cynophile/féline
Prédispositions santéPathologies connues de la raceBSAVA Manual / Merck Vet Manual
Nutrition RCProduit Royal Canin recommandé par âgeCatalogue Royal Canin
BesoinsExercice, toilettage, espace minimumGuides vétérinaires
CompatibilitéScore sur 5 (enfants, appartement, sport...)Évaluation comportementale
AnecdoteFait historique ou culturel de la raceLittérature

Recherche et filtres

Filtrage par espèce (chien/chat) avec recherche textuelle. Chaque race est illustrée par une image DALL-E originale (style cartoon professionnel).

14. Module Nutrition NOUVEAU

Calculateur nutritionnel basé sur les formules vétérinaires standards avec recommandation produit Royal Canin.

Formule de calcul

RER (Resting Energy Requirement) = 70 x PV0.75 (kcal/jour)
PV = Poids Vif en kg. Référence : NRC 2006, FEDIAF 2021.

Facteurs d'ajustement

FacteurCoefficientDétail
Chien adulte actifx 1.6Activité modérée quotidienne
Chien sédentaire / stériliséx 1.2Risque surpoids (+30% animaux concernés)
Chiot en croissancex 2.0 — 3.0Selon âge et race
Chat adultex 1.2 — 1.4Indoor vs outdoor
Chat stériliséx 1.0Besoins réduits
Gestationx 1.6 — 2.0Dernier tiers
Lactationx 2.0 — 6.0Selon taille portée
Senior (>7 ans)x 1.0 — 1.2Métabolisme réduit

Recommandation Royal Canin

Basée sur la race, l'age et le profil de l'animal. Affiche le produit RC adapté avec la quantite en grammes par jour. Liens vers le catalogue officiel.

15. Module Carnet de Santé NOUVEAU

Carnet de santé numérique complet avec 6 onglets de suivi et graphique de poids.

6 onglets

OngletDonnéesFonctionnalités
VaccinsNom, date, rappel, vétérinaireAjout, modification, alertes rappel
TraitementsAntiparasitaires, médicaments, posologieHistorique complet, durée
ChirurgiesStérilisation, détartrage, interventionsDate, clinique, notes post-op
PoidsHistorique pesées avec datesGraphique Canvas natif (courbe temporelle)
AllergiesAlimentaires, médicamenteuses, contactSignalement visible dans tous les modules
VétérinaireCoordonnées du vétérinaire traitantLien avec base 21 827 vétos

Stockage et partage

Toutes les données sont persistées en localStorage sur l'appareil de l'utilisateur (pas de cloud, conformité RGPD par design).

Actions : Bouton Partager (envoi PDF au vétérinaire) + Bouton Imprimer (génération page A4 imprimable).

16. Module Communauté NOUVEAU

Réseau social intégré avec groupes par race et discussions thématiques.

30
Groupes par race
8
Groupes thématiques

Types de groupes

TypeExemplesContenu
Groupes raceLabrador, Berger Allemand, Maine Coon...1 groupe par race (30 races = 30 groupes)
ThématiquesNutrition, Santé, Éducation, Adoption, Sport canin, Senior, Chiot/Chaton, Voyage8 groupes transversaux

Fonctionnalités

Discussions réalistes avec réponses pré-générées. Les utilisateurs peuvent poster, répondre et liker (localStorage).

FonctionnalitéDescription
PostRédiger un message dans un groupe
ReplyRépondre à un message existant
LikeLiker un message (compteur visible)
Histoires d'adoptionTémoignages réels d'adoptants
Conseils experts RCContenu éditorial Royal Canin intégré aux discussions
ÉvénementsAnnonces de rencontres et sorties

17. Module Ensemble — Solidarité NOUVEAU

Module de solidarité animale avec partenaires, actions concrètes et compteurs solidaires.

4 partenaires intégrés

Contenu éditorial intégré (pas de liens sortants) pour chaque partenaire : présentation, mission, actions possibles.

5 façons d'aider

#ActionDescription
1Famille d'accueilAccueillir temporairement un animal en attente d'adoption
2Promenades bénévolesPromener les chiens des refuges partenaires
3Dons matérielCouvertures, jouets, gamelles — liste des besoins par refuge
4Dons financiersSoutien aux soins vétérinaires des refuges
5Partage & sensibilisationDiffusion des profils animaux adoptables

Contenu additionnel

Histoires d'adoption : Témoignages illustrés avec images races DALL-E.

Clubs & rencontres : Annuaire de clubs canins et félins avec événements.

Compteurs solidaires : Animations chiffrées (adoptions, dons, bénévoles) avec incrémentation visuelle.

18. Module Services & Carte NOUVEAU

Carte interactive des services animaliers à proximité basée sur la géolocalisation.

Architecture technique

navigator.geolocation Coordonnées GPS API /api/find-vets Base D1 (21 827) Haversine distance Résultats triés

6 catégories de services

CatégorieSourceDonnées
VétérinairesBase D1 SIRENE + OSM21 827 fiches, 1 351 emails, 3 321 téléphones
RefugesModule Adoption80 refuges avec contact
Parcs caninsDonnées communautairesEspaces verts et parcs à chiens
ToiletteursAnnuaires professionnelsSalons de toilettage à proximité
Lieux dog-friendlyDonnées communautairesRestaurants, hôtels, magasins acceptant les animaux
Transports animauxAnnuaires spécialisésTaxi animalier, transport vétérinaire

Fiches contact

Chaque fiche comprend : nom, adresse, distance, et 4 boutons d'action (Appeler, Email, SMS, Itinéraire).

Dédoublonnage automatique : Détection et fusion des doublons basée sur le nom normalisé + code postal.

19. Module Profil Animal + QR Code NOUVEAU

Fiche d'identité numérique complète de l'animal avec génération de QR code SVG.

Photo de l'animal

Upload via caméra ou fichier. Redimensionnement automatique à 400px (Canvas API). Stockage en localStorage (base64).

Identité complète

ChampTypeDétail
EspèceSélectionChien / Chat
RaceSélectionLiée aux 30 fiches races
Date de naissanceDateCalcul automatique de l'âge
SexeSélectionMâle / Femelle
StériliséOui/NonImpact sur calcul nutritionnel
PoidsNombre (kg)Lié au carnet de santé
CouleurTexteDescription robe

Identification officielle

ChampFormat
Puce électronique15 chiffres (norme ISO 11784/11785)
Tatouage3 lettres + 3 chiffres
I-CADNuméro fichier national d'identification

QR Code SVG

QR code généré en SVG natif (pas de dépendance externe). Encode les informations essentielles de l'animal. Impression sur page A4 dédiée.

Liens : Le profil est lié au Carnet de Santé (section 15) et au Module Nutrition (section 14) pour le pré-remplissage automatique.

20. UGC — Contenu Utilisateur NOUVEAU

Contenu généré par les utilisateurs intégré à la communauté et aux modules.

Fonctionnalités UGC

TypeDescriptionStockage
Posts communautéMessages dans les groupes race et thématiqueslocalStorage
LikesCompteur de likes sur chaque postlocalStorage
CommentairesRéponses aux posts et ficheslocalStorage
PartagesPartage de fiches animaux et racesWeb Share API

Vidéos YouTube intégrées

Vidéos éducatives et divertissantes intégrées via iframe YouTube :

SourceContenuCrédit
The Unique Pet ShowÉmissions animalièresYoann Latouche Group (YLG)
YLGContenus éducatifs animauxYoann Latouche Group (YLG)
Crédit obligatoire : "© Yoann Latouche Group — Avec l'aimable autorisation de YLG" affiché sous chaque vidéo intégrée.

21. Recherche Intelligente NOUVEAU

Moteur de recherche fuzzy intégré avec Fuse.js, accessible partout dans l'application.

Architecture technique

ComposantDétail
LibrairieFuse.js v7.0.0 (CDN, 6 KB gzippé)
Recherche fuzzyTolérance aux fautes de frappe (threshold 0.4)
NormalisationAccents français (NFD + RegExp diacritiques)
Raccourci clavierCmd+K (macOS) / Ctrl+K (Windows/Linux)

Index de recherche

5 types de données indexés avec résultats colorés par type :

TypeDonnées indexéesCouleur résultat
Races30 fiches races (nom, description, caractère)Bleu
Animaux97 animaux adoptables (nom, race, refuge)Vert
Refuges80 refuges (nom, ville, département)Orange
Éleveurs26 éleveurs (nom, races, localisation)Violet
Modules22 modules (nom, description, mots-clés)Rouge

Navigation directe : Cliquer sur un résultat navigue directement vers la page/fiche correspondante (hash routing).

22. Architecture SPA NOUVEAU

Single Page Application unifiée regroupant tous les modules dans un fichier unique.

Fichiers

FichierRôleTaille
app.htmlStructure HTML + templates des 12 vues1 fichier unique
app.cssStyles (responsive, mobile-first)1 fichier unique
app.jsLogique, routage, données, modules1 fichier unique

Routage hash-based

12 routes principales :

RouteModule
#accueilPage d'accueil avec dashboard
#adoptionModule Adoption (section 12)
#racesModule Races (section 13)
#nutritionModule Nutrition (section 14)
#carnetModule Carnet de Santé (section 15)
#communauteModule Communauté (section 16)
#ensembleModule Ensemble (section 17)
#servicesModule Services & Carte (section 18)
#profilModule Profil Animal (section 19)
#ugcUGC — Contenu Utilisateur (section 20)
#rechercheRecherche Intelligente (section 21)
#diagnostic9 modules pathologiques (Cardio, Respi, etc.)

Composants UI

ComposantDescription
Modal systemSystème de modales réutilisable (fiches, quiz, détails)
Menu hamburgerNavigation mobile (slide-in, 12 entrées)
Nav desktopBarre de navigation avec dropdowns catégorisés
BreadcrumbsFil d'Ariane contextuel (Accueil > Module > Détail)
Disclaimer juridiquerc-disclaimer.js — obligatoire, affiché au lancement (Code rural art. L.243-3)
OnboardingProfil animal demandé au premier lancement (espèce, race, âge)
Rappel juridique : Le disclaimer "SOS Animal est un outil d'orientation et ne remplace en aucun cas une consultation vétérinaire" est affiché OBLIGATOIREMENT au premier lancement et accessible à tout moment. Conformité Code rural et de la pêche maritime, art. L.243-3.

SOS Animal — Documentation Admin Back-Office v5.0 — 28 mars 2026

Confidentiel — Royal Canin / Mars Petcare

sos-toutou.pages.dev · github.com/mrkleinemmanuel24-hub/SOS-TOUTOU