Briefing Session S39
PetSuite Documentation
 Briefing Session S39
Briefing S39
🔑 Chemins essentiels
App localehttp://localhost/app/
GitHub docshttps://github.com/nicolashermilly/Anim'Gest-docs
GitHub Pageshttps://nicolashermilly.github.io/Anim'Gest-docs/
Deploy…\anim_gest_frontend_nextjs\deploy
$apiFile…\api\src\custom-routes.ts
BDD MariaDB192.168.1.62:3307 / @lgorithme / anim_gest
Backup S38C:\Backup\anim_gest\20260321_fin_s38.sql ✅
⚙️ Règles critiques
$apiFile = "D:\...\api\src\custom-routes.ts"

# Avant tout build frontend
cd "D:\...\anim_gest_frontend_nextjs"
.\COPIER_TOUTES_PAGES_v2.ps1
cd deploy

# Rebuild API seule
docker compose build api --no-cache && docker compose up -d api

# Rebuild tout
docker compose build api frontend --no-cache && docker compose up -d api frontend && docker compose restart nginx

# Sauvegarde BDD début S39
& "C:\ProgramData\OptimBTP\MariaDB\bin\mysqldump.exe" -h 192.168.1.62 -P 3307 -u "@lgorithme" --password="@lgoritHme+2025+977_73300" --single-transaction --skip-lock-tables anim_gest > C:\Backup\anim_gest\20260322_debut_s39.sql
  • Toujours cd deploy avant docker compose
  • TOUTES les éditions PDF = Modal/Popup - jamais de navigation vers nouvelle page
  • Commentaires BDD FK : COMMENT 'Relation NomTable - description'
  • EDC supprimé → utiliser EC (Étude Comportementale) partout
🏆 État fin S38

✅ Module Élevage - complet S38

  • 14 routes API élevage opérationnelles : saillies, gestations, portées, naissances, poids, vaccins, réservations, déclarations, carnet PDF
  • 3 tables créées : elevage_chiot_poids, elevage_reservation, elevage_vaccination
  • Seeds démo : 2 portées, 10 chiots, poids J0→J60, vaccinations, 8 réservations
  • Page /app/elevage branchée API - 4 onglets : Portées / Suivi naissance / Réservations / Déclarations

✅ Signature Yousign - livré S38

  • 7 routes API créées, signature_evenement créée en BDD
  • Pages /app/signatures + /app/signatures/[id]
  • SignatureModal v2 avec contacts + TTS vocal
  • DocumentActions composant unique PDF/Email/Signature
  • Page /app/parametres/api-keys - 5 services (Yousign, Pennylane, SMTP, Stripe, SMS)
  • Test end-to-end réussi : SGN_ID créé, PDF généré via pdfkit, signataire Yousign OK

✅ Refonte charte S39

  • Page Élevage refonte complète sur charte CSS Variables (fini le thème dark hardcodé)
  • Remplacement global EDC → EC : 9 fichiers, 0 résiduel
  • Doc 41-composants-techniques.html publié sur GitHub Pages
  • Index docs mis à jour : 43 docs, Sprint S39
🚨 Priorité 1 - Carnet de naissance PDF (Modal)
✅ Route GET /elevage/carnet/:nai_id prête - génère HTML complet avec courbe poids SVG, filiation, identification, zones signature
  • Bouton 📄 Carnet de naissance dans onglet "Suivi naissance" → modal iframe
  • Pattern identique modal PDF des devis
🚨 Priorité 2 - Corrections API urgentes S39
RouteErreurFix
POST /reglements400 body parsingAjouter req.on('data')
POST /achats500 undefined paramsNull-safety champs optionnels
POST /seances500 NestJS conflitWorkaround /seances/custom
GET /factures/entrants404Créer route + page inbox PDP
POST /communaute/moderer/:id404 → 500Route individuelle + null-safety
🚨 Priorité 3 - DocumentActions sur tous les écrans

Le composant DocumentActions (PDF/Email/Signature) doit être intégré sur :

  • /app/factures/[id] + onglets RFE + litige
  • /app/achats/[id] + onglets Règlements / Avoirs / Retours / SEPA
  • /app/achats/[id]/avoir - formulaire avoir + bon de retour
  • /app/factures/entrants - inbox factures reçues PDP
🚨 Priorité 4 - Module Élevage améliorations S39
  • Onglet Saillies dans /app/elevage - formulaire + liste (routes ✅)
  • Onglet Gestations - suivi échographies + terme (routes ✅)
  • Page /app/elevage/portees/[id] - vue détaillée avec tous les chiots
  • Sidebar : section "Élevage" avec liens Portées / Réservations / Déclarations
📊 État routes API (fin S38)
RouteMéthodeStatut
/parametres/modulesGET/POST✅ 200
/factures/:id/pdfGET✅ 200
/signaturesGET✅ 200 S38
/signatures/:id/sendPOST✅ 200 S38
/devis/:id/signatureGET/POST✅ 200 S38
/elevage/porteesGET/POST✅ 200 S38
/elevage/carnet/:nai_idGET✅ 200 S38
/param-pdpGET/POST✅ 200
/reglementsPOST❌ 400 body parsing
/achatsPOST❌ 500 undefined params
/seancesPOST❌ 500 NestJS conflit
/factures/entrantsGET❌ 404 à créer
/communaute/moderer/:idPOST⚠️ 500 undefined
/vocal/**❌ Non implémenté
🗺️ Roadmap S39 → S41
SprintObjectif principalStatut
S39Corrections API urgentes, DocumentActions tous écrans, élevage améliorations, charte EC🔄 En cours
S40Split custom-routes.ts, composants StatusBadge/TabBar, assistant vocal MCP📋 Planifié
S41Adaptation écrans par métier, vidéos démo, préparation commerciale📋 Planifié