Skip to content
ruben.moderno
2025/Architecture, développement & infra

Energia Natural

Site institutionnel dynamique pour une entreprise de formation et services énergétiques. Exigences lourdes : back-office complet, login sans mot de passe, analytics maison, RGPD par conception — le tout à coût zéro.

AstroCloudflare D1TypeScriptSSRCustom CMS
Voir le site
Energia Natural
Résultats
100/100
Lighthouse sur toutes les métriques
0€
coût d'exploitation par mois
< 1 min
pour publier, sans code
18
pages, 16 générées depuis la base de données
Le défi

Le défi

  • Le client devait gérer messages, événements, projets, services, paramètres, utilisateurs et historique — tout depuis l'admin.
  • 16 pages de service devaient être générées depuis la base de données, pas statiques.
  • Login sans mot de passe (l'équipe ne peut pas gérer des credentials).
  • Analytics sans cookies — RGPD par conception, pas par consentement.
  • Budget opérationnel : zéro. Tout sur tiers gratuits.
L'approche

L'approche

Astro 5 en SSR hybride sur Cloudflare Pages + D1 + R2. Magic links avec tokens à usage unique et allowlist en D1 — pas de mot de passe, pas de friction. Analytics maison en ~150 lignes écrivant directement en D1, sans cookies, sans outil tiers. Toute la stack vit sur les tiers gratuits de Cloudflare et Resend.

Ce que j'ai construit

Ce que j'ai construit

Back-office complet

8 modules : messages, événements, projets, services, paramètres, utilisateurs, analytics, historique.

Pages dynamiques

16 pages de service générées en SSR depuis D1.

Auth sans mot de passe

Magic links via Resend, tokens à usage unique, allowlist D1.

Analytics sans cookies

~150 lignes, RGPD par conception, dashboard maison.

Email du domaine

@energianatural.pt via Cloudflare Email Routing, tier gratuit.

Anti-spam

Turnstile + honeypot + rate-limit par email sur le formulaire.

Ce que j'ai appris

Ce que j'ai appris

Cloudflare D1 suffit pour 90 % des sites

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

Le CMS sur mesure a pris plus de temps que prévu

J'ai sous-estimé l'effort d'un back-office à 8 modules. La prochaine fois je facture plus ou j'utilise Payload CMS pour les modules génériques et je n'écris 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.

Magic links battent les mots de passe

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

Prochaines étapes

Prochaines étapes

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