Site web

Créer un site moderne sans JavaScript : animations CSS pilotées par le scroll, View Transitions et container queries

Construit sur votre serveur d'hébergement un site multipage qui ne charge aucun script, avec le mouvement via animation-timeline, les transitions de page via View Transitions et des cartes responsives via les container queries. Chaque fonctionnalité est protégée par @supports et par la préférence de mouvement réduit : les navigateurs qui ne les prennent pas en charge affichent quand même une page

Quand l'utiliser

Quand vous voulez créer sur votre serveur d'hébergement un site d'entreprise multipage rapide, avec animations et transitions modernes sans aucun JavaScript, et qui dépasse 95 points sur Lighthouse.

Ce que vous obtenez

Un site multipage en ligne avec balisage SEO, AEO et GEO, plus un tableau des scores par page, les contrôles qualité validés et la liste des corrections appliquées.

Modifie-t-il quelque chose dans mon compte ?

Seulement avec votre accord. L'assistant montre d'abord un aperçu de chaque modification et attend votre feu vert.

Fonctionne avec

SEO Intelligence, Search Console

À compléter avant l'envoi

[nom du serveur][nom de l'entreprise][ce que fait l'entreprise, pour qui][ville, quartier][liste][e-mail][téléphone][numéro WhatsApp][adresse][domaine][[NAV]
Sur mon serveur d'hébergement Opus Growth [nom du serveur], construis un site multipage pour [nom de l'entreprise] qui ne charge aucun JavaScript et gère le mouvement et les transitions de page avec les fonctionnalités CSS natives du navigateur. Activité : [ce que fait l'entreprise, pour qui], ville : [ville, quartier]. Services ou produits : [liste]. Réalisations : [pour chacune : nom, matériau ou périmètre, durée, problème résolu, lien de l'image]. Contact : [e-mail], [téléphone], [numéro WhatsApp], [adresse]. Domaine : [domaine]. Pages : accueil (hero, réalisations récentes, méthode de travail, FAQ), réalisations (/isler/), à propos (/hakkimizda/), contact (/iletisim/, sans formulaire), confidentialité (/gizlilik/) et 404.html. Style : éditorial et naturel. Une serif d'affichage (par exemple Zodiak) avec une police de texte sobre (par exemple Switzer), un fond ton lin, un seul accent foncé, beaucoup d'espace. Garde l'audace pour les cartes de réalisations. Règles CSS modernes (amélioration progressive ; dans un navigateur sans prise en charge, la page doit être statique mais complète) : 1. Ne charge aucun fichier JavaScript ; ni GSAP, ni Lenis, ni Swiper. Le menu mobile fonctionne avec `<details>`. 2. Transitions de page (View Transitions entre pages de même origine) : écris `@media (prefers-reduced-motion: no-preference) { @view-transition { navigation: auto; } }` et garde une durée d'environ 0,35 s. Donne à la barre supérieure view-transition-name: site-header. Donne à l'image d'une carte de réalisation sur l'accueil et à la même image sur la page des réalisations le même view-transition-name unique, afin que l'image s'agrandisse jusqu'à sa place sur la nouvelle page. N'utilise chaque nom qu'une seule fois par page. 3. Animations pilotées par le scroll : une ligne de progression en haut qui grandit avec scaleX sur `animation-timeline: scroll(root)` (display:none par défaut, visible uniquement si la fonctionnalité est prise en charge) ; sur les cartes et les titres de section, `animation-timeline: view()` avec `animation-range: entry 0% entry 70%` en utilisant uniquement translateY ; sur l'image du hero, un léger zoom et décalage tant qu'elle est dans la vue. N'utilise pas opacity : des éléments estompés qui attendent sous l'écran échouent au contrôle de contraste de Lighthouse. Place toutes ces règles dans `@supports (animation-timeline: scroll())` et `prefers-reduced-motion: no-preference`. 4. Container queries : fais de la carte de réalisation un composant avec `container-type: inline-size`. Avec `@container (min-width: 34rem)`, l'image est au-dessus dans un conteneur étroit et à côté du texte dans un conteneur large. La même carte est étroite dans une grille de trois colonnes sur l'accueil et large dans une colonne unique sur la page des réalisations. Le cœur de Tailwind 3 n'a pas de classes de container queries ; écris ces règles en CSS pur dans app.css. 5. Le niveau de titre de la carte doit correspondre à la page où elle se trouve : sur la page des réalisations, place un h2 entre le h1 et les titres h3 des cartes. Quand cet h2 manquait dans la démo, Accessibility tombait à 98 sur heading-order. 6. Sur la page des réalisations, la première image de carte qui entre dans le premier écran n'est pas en lazy et reçoit fetchpriority="high". Mise en place et pièges connus (chacun a fait baisser un score lors des mesures de la démo, ne les saute pas) : 1. Si un site est déjà en ligne sur le serveur, dis-le-moi d'abord, car l'installation écrase index.html et le dossier assets. Prévisualise scaffold_site avec confirm=false et appelle-le avec confirm=true après mon accord. Ensuite, lis site_design_guide et site_seo_guide. Avant d'écrire du code, mets la direction de design (typographie, couleur, grille, élément signature, langage de mouvement et bibliothèques qui ne seront PAS chargées) dans un court ART.md hors d'assets et montre-le-moi. 2. Compile Tailwind au lieu de le charger depuis le CDN. Installe-le avec site_run_command et background=true : `npm i -D tailwindcss@3`, puis enchaine avec site_command_status. Les chemins content de `tailwind.config.js` doivent couvrir tous les fichiers HTML, les gabarits et tout fichier JS qui écrit des noms de classes. `_src/tw.css` contient la ligne `@import "../assets/app.css";` et les trois lignes `@tailwind` ; compile-le en un seul fichier avec `npx tailwindcss -c tailwind.config.js -i _src/tw.css -o assets/site.css --minify`. Supprime le script cdn.tailwindcss.com et le tailwind.config en ligne de chaque page, et ne lie que `/assets/site.css`. Recompile après chaque modification du HTML. 3. Héberge les polices toi-même. Lis le CSS des familles Fontshare choisies, télécharge le fichier woff2 de chaque graisse dans `assets/fonts/` avec site_fetch, et écris les règles @font-face avec `font-display: swap` dans `assets/app.css` ; design-check y cherche une police personnalisée. Vérifie le nom font-family dans le CSS téléchargé, car Fontshare peut renvoyer une autre famille quand une graisse n'existe pas. Précharge la police du titre du premier écran et la police de texte sur chaque page avec `<link rel="preload" as="font" type="font/woff2" crossorigin>` ; dans la démo, cela a supprimé le décalage de mise en page causé par l'échange de police (CLS 0,024 à 0). La plupart des polices Fontshare n'ont pas de glyphe ₺, écris donc "TL" pour les prix. 4. Fais du menu et du pied de page du HTML statique. Ne charge pas chrome.js ni site.config.js sur les pages. Écris un petit `chrome-stamp.mjs` qui lit la liste de navigation dans site.config.js et estampille `_src/header.tpl` et `_src/footer.tpl` entre les marqueurs `<!-- nav:start --><!-- nav:end -->` et `<!-- footer:start --><!-- footer:end -->` de chaque page, en ajoutant aria-current="page" au lien courant. Ne donne pas d'extension .html aux gabarits et utilise des espaces réservés comme `[[NAV]]` à la place de `{{...}}`, sinon design-check et seo-check les lisent comme des pages inachevées. Construis le menu mobile sans JS avec `<details>`. Garde le nom de l'entreprise, l'adresse et le téléphone dans le pied de page en texte simple. 5. Convertis les images pendant le téléchargement avec site_fetch : écris la même photo dans des fichiers séparés avec resize="480x", "800x" et "1200x", image_format="webp", quality=65. Donne à chaque `<img>` srcset, sizes, width et height. L'image principale du premier écran reçoit fetchpriority="high" et n'est jamais en lazy ; les autres reçoivent loading="lazy" decoding="async". Si l'image principale remplit l'écran du téléphone, sers sur mobile un recadrage plus large et plus léger avec `<picture>` (dans la démo, le hero mobile est passé de 89 Ko à 43 Ko). 6. Crée un favicon PNG de 48 px à partir du logo avec site_fetch et ajoute `<link rel="icon">` à chaque page. Sans lui, le navigateur journalise une erreur 404 et Best Practices tombe à 96. 7. Règles du validateur HTML : commence chaque document par un `<!DOCTYPE html>` en majuscules (les fichiers de départ du kit l'écrivent en minuscules), utilise `&nbsp;` pour les espaces du texte visible des liens tel:, n'utilise jamais d'attribut style="", et donne à chaque bouton type="button". SEO, AEO et GEO : 1. Utilise des URL de répertoire avec une barre oblique finale (/isler/, /hakkimizda/, /iletisim/, /gizlilik/). Remplis le bloc seo de site.config.js et exécute `node seo-stamp.mjs`. Écris le schema propre à chaque page (accueil WebPage et FAQPage ; réalisations CollectionPage avec un CreativeWork par pièce sous hasPart (avec material si connu) ; à propos AboutPage ; contact ContactPage ; BreadcrumbList sur les pages internes. Le sous-type LocalBusiness le plus précis dans site.config.js) dans des blocs `<script type="application/ld+json">` séparés et relie-le au graphe de base avec @id. N'enfouis pas BreadcrumbList dans un @graph ; donne-lui son propre bloc, car c'est la seule façon pour seo-check de le voir. 2. Titres de 48 à 60 caractères (seo-check signale comme erreur tout ce qui dépasse 65), descriptions de 145 à 158 caractères, un seul h1 par page. Chaque page doit avoir au moins 150 mots de contenu principal ; les pages contact et confidentialité ont tendance à rester en dessous. 3. Le premier paragraphe de chaque page répond directement à la question de la page. Écris une FAQ propre à la page avec `<details>` et balise-la en FAQPage. Affiche l'organisation éditrice et une date de « Dernière mise à jour » avec `<time>`. 4. Dans robots.txt, écris ta décision avec sa raison pour GPTBot, OAI-SearchBot, ChatGPT-User, ClaudeBot, Claude-User, Claude-SearchBot, PerplexityBot, Perplexity-User, Google-Extended, Applebot-Extended, Bingbot et CCBot, et indique le sitemap. sitemap.xml porte de vraies dates lastmod. llms.txt contient un résumé exact du site en deux phrases et la liste des pages clés. 5. N'invente rien : pas d'avis, de notes, de récompenses, de nombre de clients, de certificats, d'horaires, de coordonnées ni de prix, sauf si je les fournis. Laisse les champs inconnus hors du schema. Contrôles (dans l'ordre ; ne dis pas que c'est terminé tant qu'ils ne passent pas tous) : 1. Avec site_run_command, exécute `node chrome-stamp.mjs`, la compilation Tailwind, `node seo-stamp.mjs`, `node seo-check.mjs` (0 erreur, 0 avertissement), `node design-check.mjs` (0 erreur ; justifie tout avertissement restant) et `npx html-validate "**/*.html"` (0 erreur). 2. Visualise chaque page avec site_preview, view="mobile" et view="desktop". site_preview capture la page avec le mouvement désactivé (reduced-motion) ; donc si du contenu manque sur cette image, l'état sans mouvement est cassé. Dans les captures pleine page, les images lazy plus bas peuvent apparaitre vides ; ce n'est pas une erreur, mais vérifie leurs chemins. 3. Lance core_web_vitals pour chaque page avec strategy="mobile" et strategy="desktop". Critères : sur mobile, Performance d'au moins 95 et Accessibility, Best Practices et SEO à 100 ; sur desktop, les quatre scores d'au moins 95. Sur une page qui échoue, utilise resources=true pour trouver le fichier qui la ralentit, corrige-le et mesure à nouveau. Lance ensuite seo_audit sur la page d'accueil avec strategy="mobile" et runs=2. La liste des requêtes réseau ne doit contenir aucun hôte autre que ton propre domaine. 4. Aucun défilement horizontal aux largeurs de 360, 390, 768 et 1440 px, zones tactiles d'au moins 44 px, aucune erreur de console. Vérification de la prise en charge : site_preview capture avec le mouvement désactivé, il ne peut donc pas montrer les transitions. Explique-moi comment vérifier dans Chrome que l'image s'agrandit jusqu'à sa place quand je clique sur une réalisation depuis l'accueil, que la ligne du haut se remplit pendant que je fais défiler, que la carte change de disposition quand je réduis et élargis la fenêtre, et que la page s'ouvre complète dans un navigateur sans ces fonctionnalités. Après la publication : prévisualise la règle `/assets/* Cache-Control: public, max-age=31536000, immutable` avec site_headers et applique-la après mon accord ; à partir de là, renomme les fichiers CSS ou JS quand ils changent (site-v2.css, etc.). Soumets sitemap.xml avec gsc_submit_sitemap et inspecte la page d'accueil avec gsc_url_inspect. Termine par un tableau de scores par page (page, quatre scores mobile, quatre scores desktop, LCP, CLS), les résultats des contrôles et la liste des corrections appliquées.

Exemple de résultat

Un exemple du résultat de ce prompt. Sa structure provient de la sortie réelle des outils ; les chiffres et les noms sont fictifs.

Exemple de résultat (sur un atelier de démonstration fictif, pas sur des données clients réelles ; les scores sont les vraies mesures de la démo)

Le prompt a été appliqué à « Ardıç Mobilya Atölyesi », un atelier fictif d'Eskişehir qui fabrique des meubles sur mesure en bois massif : fond lin, un seul accent vert genévrier, polices Zodiak et Switzer. Le site ne charge aucun fichier JavaScript. Dans Chromium, la ligne de progression du défilement fonctionnait avec une ScrollTimeline, et les animations des cartes et des images avec des ViewTimelines ; la carte de réalisation utilisait une seule colonne de 344 px sur la page d'accueil et passait à deux colonnes sur la page des réalisations ; un clic sur une carte de l'accueil faisait glisser l'image jusqu'à son emplacement sur la page des réalisations grace aux View Transitions.

PageMobile (P/A/BP/SEO)LCP mobileDesktop (P/A/BP/SEO)CLS
Accueil99/100/100/1001,96 s100/100/100/1000
Réalisations100/100/100/1001,73 s100/100/100/1000
Atelier100/100/100/1001,5 s100/100/100/1000
Contact100/100/100/1001,5 s100/100/100/1000
Confidentialité100/100/100/1001,51 s100/100/100/1000

Contrôles : seo-check 0/0, design-check 0/0, html-validate 0, aucun débordement à 4 largeurs, aucun contenu masqué avec JS désactivé ou en mode de mouvement réduit, aucune requête réseau externe.

Corrections appliquées :
1. Sur la page des réalisations, des cartes avec un h3 placé directement après le h1 faisaient tomber l'Accessibilité à 98 ; l'ajout d'un h2 entre les deux a rétabli le 100.
2. L'opacité a été exclue de l'animation au défilement, car la même approche avait échoué au contrôle de contraste dans la démo de campagne.
3. Trois pages comptaient moins de 150 mots ; du contenu propre à chaque page a été ajouté.

Un site d'exemple créé avec ce prompt

Éditorial et naturel, zéro JavaScript : transition de page avec @view-transition, mouvement basé sur transform grace à animation-timeline scroll() et view(), carte métier avec container query

Créé pour une marque fictive en suivant ce prompt à la lettre. Les scores ont été mesurés avec Lighthouse sur chaque page.

Scores Lighthouse (page la plus faible)
MobileOrdinateur
Performance99100
Accessibilité100100
Bonnes pratiques100100
SEO100100

Contrôles réussis

  • seo check: 0 hata 0 uyarı
  • design check: 0 hata 0 uyarı
  • html validate: 0 hata
  • overflow: 360/390/768/1440 taşma yok, konsol temiz, JS kapalıyken ve reduced-motion'da gizli içerik yok, dış ağ isteği yok, yüklenen JS dosyası yok
  • tailwind before after: Bu demoda ayrıca ölçülmedi; aynı kurulumla webb-gsap-urun demosunda CDN'li hal mobil 89, derlenmiş hal 99 ölçüldü
Captures d'écran
Créer un site moderne sans JavaScript : animations CSS pilotées par le scroll, View Transitions et container queries: Mobile
Mobile
Créer un site moderne sans JavaScript : animations CSS pilotées par le scroll, View Transitions et container queries: Ordinateur
Ordinateur

Mesuré le: 2026-10-11

Recherches associées

Ces prompts donnent le meilleur résultat quand votre assistant IA est connecté à vos comptes avec Opus Growth.

Connecter vos comptes gratuitement

Autres prompts

Site webModifie après votre accordDémo en direct

Créer un site d'expert éditorial avec rubrique de guides et schema auteur

Votre assistant construit le site d'un expert : une page d'accueil façon une de magazine, des guides longs et un profil d'auteur. Typographie à empattements, schema Article et Person, articles datés et sourcés : une publication que l'on lit et que les réponses d'IA peuvent citer.

Quand l'utiliserQuand vous êtes expert indépendant, consultant ou freelance et que votre site ressemble à une brochure qui ne prouve pas votre expertise et n'est pas cité par les moteurs de recherche et les réponses d'IA.

SEO Intelligence, Search Console
Site webModifie après votre accordDémo en direct

Créer un site d'entreprise familiale au look classique, aux standards modernes

Demandez à votre assistant de construire le site d'un producteur de troisième génération, dans l'esprit d'une vieille étiquette ou d'une enseigne, avec cadre et texture papier. Le look est ancien, la construction est moderne : mobile first, sans JavaScript, polices auto-hébergées, WebP, schémas Product et HowTo.

Quand l'utiliserQuand vous tenez une entreprise familiale ou une boutique et voulez un site au look d'étiquette ancienne et d'enseigne, qui reste rapide sur mobile et réussit les contrôles SEO et d'accessibilité.

SEO Intelligence, Search Console
Site webModifie après votre accordDémo en direct

Créer un site de cabinet juridique ou comptable, minimaliste suisse et rassurant

Demandez à votre assistant de construire un site de cabinet statique sur une grille stricte, avec une hiérarchie portée par une seule famille typographique. Il place les signaux de confiance qu'exige un domaine YMYL : profils des praticiens, note d'information datée et sourcée, formulations conformes aux règles de publicité professionnelle et schema Person.

Quand l'utiliserLorsque vous dirigez un cabinet d'avocats ou d'expertise comptable et qu'il vous faut un site crédible et rapide qui inspire confiance sans enfreindre les règles de publicité professionnelle.

SEO Intelligence, Search Console
Site webModifie après votre accordDémo en direct

Créer un site corporate multipage sans JavaScript et le livrer à 100

Demandez à votre assistant de construire un site statique, rapide et accessible pour une activité de type architecture, ingénierie ou conseil. Le menu et le pied de page sont en HTML statique, les polices et le CSS sont auto-hébergés, et chaque page est mesurée avant la livraison.

Quand l'utiliserQuand vous avez besoin d'un site d'entreprise multipage, rapide et accessible, pour un cabinet d'architecture, d'ingénierie ou de conseil, sans aucun JavaScript.

SEO Intelligence, Search Console