Étude de solution · démo opérationnelle

Des sources + un prompt.
Un microsite en ligne en quelques minutes.

Publier des microsites statiques sécurisés, gouvernés et reproductibles — transformer une recherche, une démonstration ou un livrable interactif en expérience consultable au rythme du client.

Cette page en est la preuve : elle a été générée et déployée par l'agent, via le pipeline qu'elle décrit.

Le pipeline

Aucune étape manuelle entre le dépôt des sources et l'URL finale. L'opérateur dépose, prompte, relit.

1

Déposer

Sources en vrac dans projects/<site>/intent/ : brief, documents, images, exports — tout format.

2

Prompter

« Déploie <site> ». L'agent lit l'intent, applique les guidelines communes et la direction artistique.

3

Build

SPA vanilla HTML/CSS/JS, navigable sans backend, autoportante : zéro CDN, zéro télémétrie. Choix tracés dans doc/.

4

Déployer

Connecteur scripté et idempotent → hébergement statique, domaine personnalisé, HTTPS. Retrait tout aussi scripté.

déploiement réel — 3 oct. 2026
$ common/deploy/cloudflare-pages.sh deploy microsite-factory projects/microsite-factory/site
→ Création du projet Pages 'fwd-microsite-factory'
→ Upload (wrangler pages deploy)
✨ Success! Uploaded 3 files (1.3 sec)
✨ Deployment complete!
→ Domaine custom microsite-factory.ps-fr-demo.com
→ CNAME → fwd-microsite-factory.pages.dev (proxied)
HTTP 200 — https://microsite-factory.ps-fr-demo.com/

L'architecture

Un dépôt unique : des standards communs, un dossier par microsite, des connecteurs d'hébergement interchangeables.

fast-website-deploy/
├── common/
│   ├── guidelines/   # structure imposée, qualité, autoportance
│   ├── da/           # direction artistique (défaut ou par projet)
│   ├── credentials/  # secrets — jamais versionnés
│   └── deploy/       # les connecteurs ↓
└── projects/
    └── <site>/
        ├── intent/   # ce qu'on dépose
        ├── site/     # ce qui est déployé
        ├── doc/      # choix tracés par l'agent
        └── project.yml

Cloudflare Pages actif

Hébergement statique natif : upload direct, CDN mondial, HTTPS et domaine custom automatiques. 0 € , 0 docker, 0 serveur.

Docker on-premise prêt

nginx mutualisé derrière un tunnel sortant — même interface deploy / delete, pour un hébergement maîtrisé en interne.

Azure Static Web Apps étudié

Le staticwebapp.config.json de l'arbo cible est son format natif ; auth Entra ID intégrée — chemin naturel pour du PS interne.

AWS S3 + CloudFront étudié

Bucket privé + OAC, même interface de connecteur.

Vos critères de succès

Lecture honnête : ce que la démo couvre aujourd'hui, et le chemin pour le reste.

CritèreÉtatComment
Structure statique / sites✅ Arborescence imposée par les guidelines : index.html, css/, js/, assets/
SPA vanilla sans backend, toujours disponible✅ Autoportance vérifiée au build (zéro CDN, zéro appel sortant)
0..N microsites✅ 1 dossier = 1 site = 1 projet d'hébergement isolé
Domaine personnalisé✅ <site>.ps-fr-demo.com posé automatiquement (DNS + certificat)
Accès isolé par microsite⚠️ partiel PIN distinct par site (barrière de confidentialité). L'isolation gouvernée = Cloudflare Access ou Entra ID, voir ci-dessous
Anonyme refusé / interne PS / externe ciblé / révocation⚠️ partiel Aujourd'hui : PIN (rotation = révocation). Demain : policies par utilisateur et par site
CI reproductible (déploiement / suppression)✅ Connecteurs scriptés, idempotents — branchables tels quels dans GitHub Actions

Gouvernance des accès : la trajectoire

Aujourd'hui — PIN par microsite

Overlay côté client, PIN distinct par site, rotation à la demande. Suffisant pour de la confidentialité légère (démo client, livrable en cours) ; ce n'est pas de l'authentification.

Cible — identité par utilisateur

Cloudflare Access (gratuit ≤ 50 utilisateurs) : policy par hostname, OTP email ou SSO Entra ID. Anonyme refusé, interne PS autorisé, externes ciblés par email, révocation immédiate, aucun droit implicite entre site A et site B. Alternative Azure SWA : rôles et invitations Entra natifs.

Réversibilité démontrable

Le retrait est un script, pas un ticket : cloudflare-pages.sh delete <site> détache le domaine, supprime le DNS et le projet avec tous ses déploiements. Propriétaire, date et statut de chaque site sont versionnés dans project.yml.

La preuve

2microsites en ligne, générés par l'agent
~2 mindu prompt à l'URL (hors rédaction du contenu)
0 €hébergement statique illimité (plan gratuit)
100 %scripté : déploiement, domaine, retrait

Ce site : microsite-factory.ps-fr-demo.com · Smoke test : hello.ps-fr-demo.com
Prochaine étape proposée : brancher vos premiers contenus réels et, si le besoin gouvernance se confirme, activer Cloudflare Access sur un site pilote.