From fe6bd4a59eabf39d6fe2ed93e1975b2e09bfc6a8 Mon Sep 17 00:00:00 2001
From: Claude
Date: Sun, 30 Aug 2026 02:53:33 +0000
Subject: [PATCH] =?UTF-8?q?All=C3=A8ge=20le=20texte=20de=20la=20page=20Rej?=
=?UTF-8?q?oindre?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
Écrite pour désamorcer les objections d'un parent hésitant, la page les
énonçait toutes à voix haute. Quatre peurs en très gros caractères
— « Je n'ai pas le temps », « Je ne connais personne » — puis un empilement
de garanties : rien n'est engagé, ce n'est ni une adhésion ni une
inscription, il n'y a rien à payer, votre message n'est enregistré nulle
part. Un lecteur qui n'avait aucune de ces pensées les recevait toutes,
formulées à sa place. Le titre lui-même parlait de manque de temps en
double négation.
Le texte repart de ce qui donne envie plutôt que de ce qui retient. À la
place du mur d'objections, quatre moments d'une année d'école : le samedi
du montage, la buvette, le vide-grenier, le rangement à plusieurs. Des
scènes, pas des arguments — et rien à réfuter.
Les dénégations disparaissent partout. « Écrire n'engage à rien » devient
« Deux lignes suffisent ». « Il faut bien un premier message » devient
« Ça commence par un bonjour ». « Sans écrire à personne / Vous pouvez
aussi juste venir voir » devient « Les prochaines dates / Choisissez le
rendez-vous qui vous arrange ». La mention RGPD, registre juridique au
milieu d'une page qui parle de crêpes, sort : elle créait le soupçon
qu'elle voulait lever.
Une seule information pratique subsiste, en une phrase et sans appareil
de garanties : un lien dans l'e-mail de confirmation libère le créneau si
la semaine tourne autrement.
Le texte éditorial passe d'environ 900 à 414 mots. La mise en page, les
données affichées et les composants ne bougent pas.
Co-Authored-By: Claude Opus 5
Claude-Session: https://claude.ai/code/session_014SfQYBU4xXTeSEHKhHQXdD
---
src/app/rejoindre/page.tsx | 115 +++++++++++-------------
src/components/whatsapp-invite-card.tsx | 4 +-
2 files changed, 53 insertions(+), 66 deletions(-)
diff --git a/src/app/rejoindre/page.tsx b/src/app/rejoindre/page.tsx
index 218ea38..48d170b 100644
--- a/src/app/rejoindre/page.tsx
+++ b/src/app/rejoindre/page.tsx
@@ -41,7 +41,7 @@ export const dynamic = "force-dynamic";
export async function generateMetadata(): Promise {
const settings = await getAssociationSettings();
const title = `Rejoindre ${settings.associationName}`;
- const description = `Ce que fait ${settings.associationName} à ${settings.schoolName}, et comment y prendre part — sans engagement.`;
+ const description = `On monte les stands, on tient la buvette, on range en discutant : ce que fabriquent les parents de ${settings.schoolName} avec ${settings.associationName}.`;
return {
title,
description,
@@ -49,26 +49,26 @@ export async function generateMetadata(): Promise {
};
}
-const OBJECTIONS = [
+const MOMENTS = [
{
- phrase: "Je n’ai pas le temps.",
- reponse:
- "Personne n’en a. C’est pour ça que tout est découpé en créneaux courts, annoncés à l’avance. Deux heures un samedi matin, une fois dans l’année, c’est déjà un vrai coup de main — et personne ici ne tient le compte des heures des autres.",
+ titre: "Le samedi du montage",
+ texte:
+ "Le café, les tables à déplier, les guirlandes à accrocher. Une heure plus tard, la cour est méconnaissable.",
},
{
- phrase: "Je ne connais personne.",
- reponse:
- "C’est exactement ce que préparer quelque chose ensemble règle en une matinée. On installe à deux, on sert à trois, on range à plusieurs, et on repart en connaissant des visages. Les familles qui viennent d’arriver entrent souvent par là.",
+ titre: "Derrière la buvette",
+ texte:
+ "On sert les crêpes à la chaîne, on rend la monnaie de travers.",
},
{
- phrase: "Je ne saurais pas quoi faire.",
- reponse:
- "Il n’y a rien à savoir d’avance. Chaque créneau porte un intitulé, un horaire et le nombre de personnes attendues : vous choisissez celui qui vous va, et on vous montre en arrivant.",
+ titre: "Le vide-grenier",
+ texte:
+ "Des tables dans la cour, des cartons de jouets, des enfants qui négocient.",
},
{
- phrase: "Et si je dis oui, puis que je ne peux plus ?",
- reponse:
- "Ça arrive, et c’est prévu. L’e-mail de confirmation contient un lien qui retire votre inscription en un clic, sans avoir à vous justifier ni à prévenir qui que ce soit.",
+ titre: "Le rangement, à plusieurs",
+ texte:
+ "On plie les nappes, on empile les chaises, on finit les crêpes. C’est là qu’on discute le plus.",
},
];
@@ -78,7 +78,7 @@ const MISSIONS = [
numero: "01",
titre: "Les temps forts de l’année",
texte:
- "L’association monte les rendez-vous qui font l’année des enfants : ceux qu’on prépare des semaines à l’avance et dont ils parlent encore en juin.",
+ "Les rendez-vous qui font l’année des enfants, et dont ils parlent encore en juin.",
},
{
icon: Coins,
@@ -92,7 +92,7 @@ const MISSIONS = [
numero: "03",
titre: "La voix des parents",
texte:
- "L’association représente les familles auprès de la direction et fait remonter ce qui compte pour elles. Une voix collective porte plus loin qu’un mot dans un carnet.",
+ "L’association porte auprès de la direction ce qui compte pour les familles.",
},
{
icon: Users,
@@ -114,14 +114,13 @@ const ETAPES = [
},
{
titre: "Vous décidez",
- texte:
- "Rien n’est engagé tant que vous n’avez pas dit oui. Ce message n’est ni une adhésion ni une inscription, et il n’y a rien à payer sur cette page.",
+ texte: "Vous choisissez un créneau, et on se retrouve sur place.",
},
];
const AMORCES = [
- "Je peux venir donner un coup de main sur un événement, prévenez-moi.",
- "Je ne sais pas encore, j’aimerais surtout savoir ce qui se prépare.",
+ "Je peux donner un coup de main sur un événement, prévenez-moi.",
+ "Comptez sur moi au prochain rendez-vous.",
"J’aimerais m’impliquer davantage, comment ça marche ?",
];
@@ -219,15 +218,13 @@ export default async function RejoindrePage() {
{settings.associationName} · {settings.schoolName}
- On donne le temps qu’on a,{" "}
- pas celui qu’on n’a pas.
+ Venez monter les stands{" "}
+ avec nous.
{settings.associationName} réunit les parents d’élèves de{" "}
- {settings.schoolName}. On y prépare les rendez-vous de l’année
- et on cherche des mains pour les tenir. Deux heures une fois, ou
- davantage si l’envie vient : rien n’est obligatoire, et rien
- n’est décidé d’avance.
+ {settings.schoolName}. On monte les stands, on tient la buvette,
+ et on range en discutant.
@@ -305,9 +302,8 @@ export default async function RejoindrePage() {
Rien de publié en ce moment
- L’agenda se remplit d’une période à l’autre. Écrivez-nous :
- on vous préviendra du prochain rendez-vous plutôt que de
- vous laisser guetter la page.
+ Écrivez-nous : on vous fait signe dès que la prochaine
+ date est publiée.
@@ -440,12 +436,11 @@ export default async function RejoindrePage() {
- Rien de publié en ce moment
+ L’agenda fait une pause
- L’agenda se remplit d’une période à l’autre. Écrivez-nous : on
- vous préviendra du prochain rendez-vous plutôt que de vous
- laisser guetter la page.
+ L’agenda fait une pause. La prochaine date apparaîtra ici ;
+ écrivez-nous, on vous préviendra.
- On prend un créneau directement sur la page de l’événement :
- sans créer de compte, sans être adhérent, et sans passer par
- nous.
+ On prend son créneau sur la page du rendez-vous. Un lien
+ dans l’e-mail de confirmation le libère si la semaine tourne
+ autrement.
{events.length > 3 && (
- Où va votre coup de main
+ L’association, en bref
- Tout ce que fait l’association revient à l’école.
+ Quatre choses qui font l’année.
- Il faut bien un premier message.
+ Ça commence par un bonjour.
- Vous n’avez pas besoin de savoir ce que vous voulez faire, ni
- de vous engager à quoi que ce soit. Dites-nous simplement que
- vous êtes là.
+ Écrivez ce qui vous passe par la tête : ce qui vous attire,
+ un samedi où vous êtes libre, votre prénom.