Tableau avec : type (SEPA/CB), details (last4, brand), pays,
par defaut, date ajout, Stripe ID.
Info : le moyen par defaut est utilise pour les prelevements auto.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Entity CustomerPaymentMethod:
- customer, stripePaymentMethodId, type (sepa_debit/card)
- last4, brand, country, isDefault
- getDisplayLabel() pour affichage
Sauvegarde automatique du moyen de paiement:
- Contrat SEPA setup: cree CustomerPaymentMethod type SEPA
- Contrat CB premier paiement: webhook sauvegarde la carte
- Retire le default des anciens moyens de paiement
Commande cron app:advert:auto-payment:
- S'execute uniquement le dernier jour du mois
- Trouve les avis envoyes (state=send) avec client ayant un
moyen de paiement par defaut
- Envoie un email d'annonce de prelevement au client
- Cree un PaymentIntent off_session avec le moyen de paiement
- Le webhook payment_intent.succeeded traite le paiement
Admin fiche client tab info:
- Affiche les moyens de paiement enregistres (type, last4, defaut)
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Apres signature du contrat, le webhook envoie un email avec lien
vers /process/contrat/{id}/setup-payment
Page setup-payment :
- Resume montant mensuel HT
- Choix CB (Stripe Checkout avec setup_future_usage) ou SEPA
- Formulaire IBAN Stripe Elements avec mandat SEPA
- Confirmation SEPA via endpoint POST /confirm
- Page succes apres paiement
Routes :
- /process/contrat/{id}/setup-payment : page choix CB/SEPA
- /process/contrat/{id}/setup-payment/confirm : confirmation SEPA
- /process/contrat/{id}/payment-success : page succes
Email contrat_setup_payment : lien vers la page de configuration,
detail montant, mention 1er paiement CB/SEPA obligatoire
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Webhook contrat form.completed :
- Extrait les valeurs DocuSeal (RaisonSociale, SIRET, Adresse, Email,
Telephone, Representant) remplies par le client
- Cherche un Customer existant par SIRET, puis par email
- Si existant : lie au contrat, met a jour SIRET si manquant
- Si inexistant : cree User (ROLE_CUSTOMER) + Customer avec toutes
les infos, lie au contrat
- Envoie l'email de bienvenue avec lien creation mot de passe
- Le contrat est automatiquement lie au Customer
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Page process contrat avec :
- Header avec reference et type
- Statut (signe/annule)
- Infos association (SIRET, RNA, president, contact)
- Infos client (raison sociale, email)
- Tableau services inclus avec total HT/mois
- Conditions importantes (paiement, impayes, avertissements)
- Liens utiles (page migration, tarifs, CGV)
- Bouton "Signer le contrat" (redirige vers DocuSeal)
- Contact
Controller ContratProcessController :
- /process/contrat/{id} : page de detail
- /process/contrat/{id}/sign : redirection vers DocuSeal
Email contrat_signature : lien vers /process/contrat/{id}
au lieu du lien DocuSeal direct
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Bloc entre le header et le preambule avec :
- Association, RNA, siege social, SIRET, Code APE
- President Shoko Cosplay - Serreau Jovann
- Email, telephone, site web
- Reference du document
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
- PDF: champs texte et signature client en role=Customer
- PDF: signature association en role=Company
- Controller: submitter client en role=Customer
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Bloc client avec champs DocuSeal que le client remplit lors de la signature :
- RaisonSociale, SIRET, Adresse, Email, Telephone, Representant
Meme presentation que le bloc association (lignes label/valeur avec separateurs)
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Partie "ET" du contrat : bloc encadre gris avec raison sociale
et email du client, meme style que le bloc dore de l'association.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Remplace le texte "representee par son/sa President(e)" par un bloc
encadre dore avec les informations legales completes :
- Forme juridique, SIRET, RNA
- Siege social
- President : Shoko Cosplay - Serreau Jovann
- Email, telephone
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Entite Contrat:
- Champ JSON services (service, quantity, priceHt)
- Catalogue SERVICE_CATALOG avec 11 services et prix
- getTotalHt() calcule le total
Controller:
- Formulaire accepte service_key[] et service_qty[] en repeater
- Associe les prix depuis le catalogue
Template index (modal creation):
- Repeater dynamique : select service + champ quantite + bouton X
- Bouton "+ Ajouter un service"
- JS avec nonce CSP
Template show:
- Tableau services inclus (service, quantite, prix unitaire, sous-total)
- Total HT en pied de tableau
PDF ContratMigrationSiteconseilPdf:
- Section "SERVICES INCLUS DANS LE CONTRAT" avec tableau
(service, qte, prix unitaire HT, sous-total HT)
- Total HT en bas
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
- Tab Contrats dans fiche client avec liste (reference, type, statut, date)
- Bouton "Generer PDF" si PDF absent (fallback)
- Renommage "Contrat de Migration" -> "Contrat de Service" partout
(PDF titre, entite label, template modal)
- Chargement contratsList dans ClientsController
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
- contact@e-cosplay.fr remplace par client@e-cosplay.fr dans 87 fichiers
(PDFs, templates, emails, controllers, DocuSeal submitters)
- monitor@e-cosplay.fr remplace par notification@e-cosplay.fr dans 4 fichiers
(webhooks DocuSeal, commandes DNS/NDD, controller echeancier)
- Ajout lien "En savoir plus sur notre association" vers www.e-cosplay.fr
sur la page migration SITECONSEIL
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Remplacement de l'ancien numero (06 79 34 88 02) par le nouveau
(07 66 95 70 06) dans 19 fichiers : PDFs, templates legaux, CGV, CGU,
mentions legales, contrats.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
- President & Membre fondateur: Serreau Jovann (Shoko Cosplay)
- Secretaire/Tresoriere & Membre fondatrice: Dufresne Aurelie (Marta Gator)
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
- Sites continuent d'utiliser le CMS Esy-Web
- Code source gere par E-Cosplay, par un membre fondateur
(ancien salarie de SITECONSEIL)
- Continuite technique totale garantie
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
- Contrats envoyes a compter du 2 mai 2026
- Delai de reponse jusqu'au 14 mai 2026
- Possibilite de signer avant en contactant contact@e-cosplay.fr
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
- Date limite 31 mai 2026 pour signer le contrat
- Pas de periode de transition supplementaire
- Services definitivement arretes a cette date sans contrat
- FAQ mise a jour en coherence
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Ajout section "Informations sur les paiements" avec 3 cartes :
- Stripe : CB et SEPA operes par Stripe (PCI DSS)
- SumUp Bank : compte bancaire en Irlande pour les virements
- Declaree aux Etats : Prefecture, INSEE, RNA, SIRET
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Etapes mises a jour (5 etapes):
1. Reception contrat par email depuis contrat@e-cosplay.fr
2. Signature electronique DocuSeal
3. Configuration mode de paiement (SEPA/CB/virement)
4. Creation espace client
5. Continuite des services
Verification 1er paiement (bloc rouge):
- Premier paiement obligatoirement par CB ou SEPA (pas de virement)
- Requis pour valider le moyen de paiement
- Paiements suivants : SEPA/CB/virement au choix
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
- Decisions avertissements/sanctions/resiliations restent privees
pour proteger la reputation du client
- AG Exceptionnelle possible avec seule mention "Discussion
resiliation service client" - aucune info nominative communiquee
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
- Entre 3eme avertissement et reunion bureau (24h), possibilite
d'envoyer un email a direction@e-cosplay.fr pour repousser a 72h
- Preuves et documents justificatifs obligatoires
- Frais de remise en service possibles, plafonnes a 300 EUR HT
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Ajout question FAQ "Puis-je devenir adherent ?" :
- Non, par principe de protection des clients et conflit d'interet
- Les clients avec services ne peuvent pas adherer
- Les membres ne sont pas des societes de developpement
(eviter concurrence et influence sur les decisions)
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
- Horaires ouverture: 10h-12h / 14h-17h du lundi au vendredi
- Hors horaires: pas de reponse ou facturation 35 EUR HT/h
(toute heure commencee est due)
- Exception: probleme technique verifie et verifiable = non facture
- Tout abus sanctionne sans limite (avertissement/resiliation)
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Ajout bloc dore expliquant le statut associatif :
- Association loi 1901 a but non lucratif
- Membres adherents de l'association
- Benevoles selon leur disponibilite et desir
- Revenus couvrent uniquement les couts d'infrastructure
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
- Tarif passe de 200 EUR a 100 EUR/mois HT (1200 EUR/an)
- Mention claire: hebergement uniquement, aucune maintenance,
aucune mise a jour, aucun support technique inclus
- La maintenance reste a la charge du client ou d'un prestataire externe
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
3 niveaux visuels (jaune/orange/rouge) :
- 1er avertissement : notification officielle
- 2eme avertissement : procedure de suspension preparee
- 3eme : resiliation immediate et definitive, non negociable
Decisions prises par le bureau et membres fondateurs a huis clos.
Contestation uniquement via direction@e-cosplay.fr.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Ajout carte rouge "Site hors CMS Esy-Web" dans la grille tarifaire
migration SITECONSEIL : 200 EUR/mois HT (2400 EUR/an) pour les sites
realises avec WordPress, Prestashop, etc. necessitant une machine dediee.
Tarif non negociable.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Page /legal/tarif:
- Section E-Flex: financement sans frais, 3 methodes (SEPA/CB/virement)
- Mention financement EsyFlex SITECONSEIL poursuivable sous validation
- Mention credit obligatoire
- Date de mise a jour dynamique
Page /move/from/siteconseil:
- Mention E-Flex existant chez SITECONSEIL (reprise sous validation)
- Lien vers grille tarifaire complete
- Section developpement sur-mesure: refus sauf si termine
(l'association n'a pas la capacite de gerer les devs sur-mesure)
- Suppression controller LegalTarifController doublon
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Ajout ligne orange "Modification des tarifs : les tarifs sont differents
de ceux de la SARL SITECONSEIL" dans la section "Ce qui change".
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Ajout section "Base legale" avec references juridiques :
- Article 1219 Code civil (exception d'inexecution)
- Article L.441-10 Code de commerce (suspension de plein droit)
- Liberte de suspension quelle que soit la situation de l'entreprise
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>