Briefing Session S38
PetSuite Documentation
 Briefing Session S38
Briefing S38
🔑 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 S37C:\Backup\anim_gest\20260321_fin_s37.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
& "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_s38.sql
  • Toujours cd deploy avant docker compose
  • Injections Python → [System.IO.File]::WriteAllText(...) avec New-Object System.Text.UTF8Encoding $false
  • TOUTES les éditions PDF = Modal/Popup - jamais de navigation vers nouvelle page
  • Commentaires BDD FK : COMMENT 'Relation NomTable - description'
🏆 État fin S37

✅ Infrastructure & API

  • custom-routes.ts : 88 748 chars - toutes les routes S37 opérationnelles
  • Modules dynamiques POST /parametres/modules → 4 modules OK
  • Routes S37 : /achats/:id/reglements, /achats/:id/avoirs, /achats/:id/retours, /achats/:id/sepa, /factures/:id/rfe, /factures/:id/litiges, /param-pdp, /tva, /utilisateurs

✅ BDD (tables créées S37)

  • achat_reglement, achat_avoir, achat_retour, facture_rfe_evenement, facture_litige, param_pdp, param_yousign, signature_demande, tables vocales

✅ Pages frontend créées S37

  • /app/factures/rfe, /app/parametres/pdp, /app/achats/[id]/reglements, /app/programmes, /app/questionnaires
🚨 Priorité 1 - Signature électronique Yousign

Routes à créer (7)

GET  /signatures            - liste toutes signatures
GET  /signatures/:id        - détail + événements
POST /signatures/init       - upload PDF + créer signataire Yousign
POST /signatures/:id/send   - activer/envoyer
POST /signatures/:id/cancel - annuler
GET  /devis/:id/signature   - signature liée à un devis
POST /devis/:id/signature   - initier signature depuis devis
POST /signatures/webhook    - callback Yousign (vérif HMAC)

Pages à créer

  • /app/signatures - liste + statuts + liens signature
  • Bouton 🖊️ Envoyer à la signature dans /app/devis/[id]
🚨 Priorité 2 - Corrections API urgentes
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/:id404Route individuelle manquante
📊 État routes API (fin S37)
RouteMéthodeStatut
/parametres/modulesGET/POST✅ 200
/factures/:id/pdfGET✅ 200
/factures/:id/rfeGET/POST✅ 200 S37
/achats/:id/reglementsGET/POST✅ 200 S37
/elevage/alertesGET✅ 200
/reglementsPOST❌ 400 body parsing
/achatsPOST❌ 500 undefined params
/seancesPOST❌ 500 NestJS conflit
/factures/entrantsGET❌ 404 à créer
/signatures/**❌ Non implémenté
/communaute/moderer/:idPOST❌ 404 manquant
/vocal/**❌ Non implémenté
🎬 Vidéos de démonstration
  • Vidéo 1 - Tour complet (8 min) : Paramètres → Client+2contacts+2chiens → EC → Devis → Signature → Facture → Règlement → FEC → Stats → CRM → PDF
  • Comportementaliste - EC + programmes + CAC + facturation
  • Toiletteur - Planning salon + forfaits + abonnements
  • Pet-sitter - Visites + gardes + rapports + promenades
  • Éleveur - Saillies + gestations + portées + LOF + cessions
  • Éducateur - Cours collectifs/individuels + bilans + progression