Skip to content
Rúben Modernoruben.moderno
Energia Natural
2026/Architecture, développement & infra

Energia Natural

Micael travaille la terre — agriculture intuitive, écologie profonde, régénération du paysage méditerranéen. Il ne pouvait pas dépendre de moi pour changer un prix ; ça allait à l'encontre de tout ce qu'il pratique. Je lui ai construit un site qu'il gère entièrement seul, du premier texte au dernier prix.

AstroCloudflare D1TypeScriptSSRCustom CMS
Voir le site
Energia Natural
Résultats
100/100
Lighthouse sur toutes les métriques
8 modules
de back-office, gérés par lui seul
< 1 min
pour publier, sans code
18
pages, 16 générées depuis la base de données
Le défi

Rien ne pouvait dépendre de moi

  • Son métier, c'est l'autonomie — dépendre d'un développeur pour changer un prix n'avait aucun sens.
  • Il devait gérer messages, événements, projets, services, paramètres, utilisateurs et historique — tout seul, depuis l'admin.
  • 16 pages de service devaient venir de la base de données, pas de fichiers statiques que moi seul savais éditer.
  • Login sans mot de passe — une petite équipe n'a pas le temps de gérer des identifiants perdus.
  • L'analytics devait exister, mais sans cookies — RGPD par conception, pas par bandeau de consentement.
L'approche

Un site qu'il cultive lui-même

Astro 5 en SSR hybride sur Cloudflare Pages et D1, avec un admin construit sur mesure pour son activité — pas de CMS générique forcé à s'adapter. Les magic links avec tokens à usage unique et allowlist en D1 sortent le mot de passe de l'équation. Un analytics maison, écrit par moi en ~150 lignes, écrit directement en D1, sans cookies ni outil tiers. Résultat : Micael se connecte, change ce qu'il faut, se déconnecte — sans m'attendre.

Ce que j'ai construit

Back-office à 8 modules, tout à lui

Back-office complet

8 modules — messages, événements, projets, services, paramètres, utilisateurs, analytics, historique — gérés par lui, de bout en bout.

Pages dynamiques

16 pages de service naissent de la base de données : il change le texte, la page se met à jour seule.

Auth sans mot de passe

Magic links via Resend, tokens à usage unique, allowlist D1 — aucun mot de passe à oublier.

Analytics sans cookies

~150 lignes écrites de zéro, RGPD par conception, tableau de bord rien qu'à lui.

Email du domaine

@energianatural.pt via Cloudflare Email Routing.

Anti-spam

Turnstile + honeypot + rate-limit par email, sans intervention manuelle.

Ce que j'ai appris

Construire pour qui ne veut pas d'intermédiaire

Cloudflare D1 suffit pour presque tout

J'avais commencé nerveux avec SQLite distribué — sans raison. Pour les sites institutionnels jusqu'à quelques milliers d'utilisateurs, D1 dépasse largement les besoins, et l'intégration avec Cloudflare Pages est triviale.

Un CMS sur mesure prend plus de temps qu'il n'y paraît

J'ai sous-estimé l'effort d'un back-office à 8 modules. La prochaine fois, soit je facture plus cher, soit j'utilise Payload CMS pour les modules génériques et je n'écris de zéro que le spécifique client.

Lighthouse 100/100/100/100, c'est excessif mais ça vend

Atteindre 100 dans chaque catégorie a coûté ~2 jours de plus. Pour l'utilisateur final, 90+ suffisait. Mais le screenshot d'un Lighthouse parfait est un argument de vente direct pour le prochain client.

Les magic links battent les mots de passe

Il n'a jamais demandé "mot de passe oublié" parce qu'il n'y en a aucun à oublier. Pour les petites équipes (jusqu'à ~20 utilisateurs), je le recommande systématiquement.

Prochaines étapes

Paiements des inscriptions et SMS

Phase suivante : intégrer les paiements pour les inscriptions aux formations et étendre les notifications au SMS en plus de l'email. J'attends du feedback d'usage réel avant de continuer.

Besoin d'une plateforme sur mesure ?

Je peux concevoir et construire une stack complète pour ton entreprise — back-office inclus.

Parlons-en