// Landing, middle sections
const Roles = ({ onChoose, persona }) => (
Chacun joue un rôle dans le passage de l'imagination à l'action.>} sub="L'écosystème EVAD relie ceux qui coordonnent un lieu, ceux qui contribuent par leurs mains, et ceux qui financent contre des preuves d'impact mesurables.">
)}
);
const REGEN_STEPS = [
{ L: 'R', name: 'Rêver', title: 'Rêver le monde de demain', subtitle: 'avec Luanti', color: '#018262', desc: 'Prototyper des lieux solarpunk dans un jeu en ligne collaboratif. Inventer, construire, tester des scénarios, l\'imagination est la première brique.' },
{ L: 'E', name: 'Explorer', title: 'Explorer les solutions', subtitle: 'avec la Bibliothèque', color: '#3a6e8c', desc: 'Puiser dans la bibliothèque commune et open source de fiches low-tech, permaculture, gouvernance, autonomie… afin d\'adapter les techniques éprouvées à son lieu.' },
{ L: 'G', name: 'Générer', title: 'Générer les fiches et tableaux de bord', subtitle: 'fiches & cockpits', color: '#c8732a', desc: 'Chaque profil génère sa fiche de présentation et son tableau de bord. La mesure est outillée, transparente, exportable.' },
{ L: 'E', name: 'Entreprendre',title: 'Entreprendre les quêtes', subtitle: 'mise en ligne · financement', color: '#016b52', desc: 'Mettre les quêtes en ligne, mobiliser sa communauté, sécuriser le financement, documenter les preuves, créditer les graines.' },
{ L: 'N', name: 'Nourrir', title: "Nourrir l'écosystème", subtitle: "retours d'expérience", color: '#7a6ea8', desc: 'Récolter les apprentissages, affiner les fiches, améliorer les outils. Les retours remontent dans les communs et nourrissent le parcours suivant.' },
];
const ROLE_ROWS = [
{
id: 'pilote', emoji: '🏡', name: "Pilote d'impact", short: 'Pilote', color: '#018262', tint: '#dcefe7',
cells: [
'Modélise son lieu en voxel, teste des aménagements avant les travaux réels.',
'Consulte les fiches solutions, choisit les modules adaptés à sa biorégion.',
'Génère la fiche d\'impact de son lieu, configure ses indicateurs et son cockpit.',
'Met les quêtes en ligne, anime la communauté, sécurise le financement, valide les preuves.',
'Partage les apprentissages, ajuste sa stratégie, contribue aux communs.',
],
},
{
id: 'batisseur', emoji: '🌿', name: "Bâtisseur d'impact", short: 'Bâtisseur', color: '#c8732a', tint: '#fce8d8',
cells: [
'Co-construit dans Luanti, explore des designs solarpunk avec la communauté.',
'Apprend la permaculture, le biomimétisme, les techniques low-tech.',
'Crée son tableau de bord personnel : graines, quêtes, coopétiteurs, biorégions.',
'Accomplit les quêtes, documente les preuves, encaisse ses graines.',
'Rédige des retours, vote au Conseil régénératif, propose des améliorations.',
],
},
{
id: 'semeur', emoji: '🌾', name: "Semeur d'impact", short: 'Semeur', color: '#3a6e8c', tint: '#e0eef6',
cells: [
"Visualise les projets à financer en immersion 3D avant d'engager des fonds.",
'Étudie les solutions éprouvées pour cibler des investissements à fort impact.',
'Construit son rapport de portefeuille, agrège les preuves de ses dons et fonds.',
"Abonde les pots, finance les modules, suit l'allocation en temps réel.",
'Diffuse les preuves, fait essaimer les bonnes pratiques entre lieux soutenus.',
],
},
];
const ParcoursMatrix = () => (
Le même parcours pour les trois rôles. Personne ne capte la valeur seul : elle circule, elle nourrit le lieu, elle revient, et l'écosystème apprend.
);
const RegenWheel = () => {
const R = 140;
const cx = 200, cy = 200;
// 5 evenly distributed positions starting at top
const pts = REGEN_STEPS.map((_, i) => {
const a = -Math.PI / 2 + (i / 5) * Math.PI * 2;
return { x: cx + Math.cos(a) * R, y: cy + Math.sin(a) * R, a };
});
return (
);
};
const Cycle = ({ role, onChoose }) => {
const activeRow = role && ROLE_ROWS.find(r => r.id === role);
return (
La Boucle REGEN, {activeRow ? <>vécue en {activeRow.name}.> : 'une boucle partagée.'}>}
sub={activeRow ? (
<>Voici les cinq étapes telles que vous, {activeRow.name}, les traversez. La même boucle nourrit aussi les autres profils, la valeur circule.>
) : (
<>REGEN est la boucle partagée par les Pilotes, les Bâtisseurs et les Semeurs. Cinq étapes pour passer de l'imagination à la régénération.>
)}>
{activeRow ? activeRow.emoji : '⟲'}
{activeRow
? <>Vue adaptée à votre profil {activeRow.name}. La boucle reste la même, vos actions changent. Vous êtes libre d'y entrer à n'importe quelle étape, selon là où vous en êtes.>
: <>Une même boucle pour les trois profils : la valeur circule entre eux et nourrit l'écosystème. Pas besoin de commencer au début : on entre dans la boucle à l'étape qui nous correspond.>}
Inventaire mare : 14 espèces recensées, +3 vs. 2025.
);
const DevaSection = () => (
Deva accompagne, vous prenez les décisions.>}>
Deva est l'esprit régénératif de l'écosystème. Il suggère des quêtes adaptées à votre lieu, repère les preuves manquantes, propose des solutions issues de la bibliothèque.