Soliguide

🚀 Développer avec Astro

Astro a été retenu au terme d'un comparatif de huit candidats, qu'il termine en tête. La raison tient en une phrase : il produit du HTML complet par défaut, et n'ajoute du JavaScript que là où on le demande. C'est exactement le contraire de ce qu'on a aujourd'hui.

Cette page rassemble ce qu'il faut avoir en tête en écrivant du code. Les règles de qualité, elles, sont dans nos règles.

🧭 Les six principes

Chacun découle directement de nos objectifs. Aucun n'est une préférence de style.

⌨️ Au quotidien

Quatre réflexes qui évitent l'essentiel des erreurs qu'on peut faire avec ce genre d'outil.

RéflexePourquoi
🚫 Pas de fenêtre ni de document pendant la fabricationLe code qui assemble une page tourne sur un serveur, où le navigateur n'existe pas. Y appeler `window` ou `document` ne plante qu'une fois en ligne. Le linter refuse ces usages dans les composants.
👀 Vérifier une page en coupant le JavaScriptAvant de considérer une page comme finie : désactiver JavaScript dans le navigateur et la relire. Si une information a disparu, elle était dans un îlot alors qu'elle devrait être dans le HTML.
🧩 Un îlot sert à interagir, jamais à afficherUn filtre, une carte, un formulaire : oui. Une liste de résultats, un horaire, une adresse : non. Si le lecteur doit pouvoir le lire, ça vient du serveur.
📄 Une page = un fichier, une adresseAstro construit les adresses à partir de l'arborescence des fichiers. C'est une contrainte utile : on trouve toujours la page qu'on cherche, et il n'y a qu'un endroit possible où la créer.

⚠️ Le piège à connaître

Changer d'outil ne suffit pas. Passer à Astro règle la question du HTML complet, et c'est déjà beaucoup. Mais les données structurées, l'attribution de la source, le fichier qui autorise les robots, les plans du site et la qualité de ce qu'on écrit pèsent au moins autant dans le résultat final.

Autrement dit : on peut très bien faire un site Astro qui ne remonte pas mieux que l'actuel. L'outil enlève l'obstacle principal, il ne fait pas le travail à notre place. 🙂