Accueil
Écrit le 07-07-2023
par Damien Brebion
Astro se présente comme un framework web qui a été initialisé en avril 2022 avec sa version 1.0. Il se distingue par sa volonté de se hisser au sommet parmi les frameworks du marché en mettant l’accent sur sa rapidité, tout en adoptant une approche “zero-JS”. Cette particularité implique qu’il opère sans recourir au langage JavaScript, tel que le feraient React ou Angular, pour assurer son fonctionnement optimal.
Astro is the all-in-one web framework designed for speed. Pull your content from anywhere and deploy everywhere, all powered by your favorite UI components and libraries.
Une fois que le framework est installé, vous pouvez entamer le développement de vos pages web au format .astro
. Ce format est spécifique à ce framework et vous permet d’écrire du code en Typescript (Astro), en Javascript (classique ou non), en HTML et en CSS. Lorsque votre site est généré, vos pages .astro
exécutent d’abord le code en Typescript (Astro), puis génèrent vos pages HTML. Selon votre choix d’utiliser ou non la génération dynamique, il est possible d’obtenir une seule page ou plusieurs pages, comme expliqué dans la documentation de la Génération Dynamique. Les balises de styles et de script sont automatiquement incluses dans vos pages par la suite.
Vous pouvez en savoir plus sur pourquoi vous devriez choisir Astro via leur documentation.
Astro a su me convaincre tant par sa facilité de prise en main que par sa documentation exhaustive et ses bibliothèques externes. Ce qui m’a particulièrement plu est la simplicité avec laquelle on peut créer des pages à partir de fichiers JSON ou Markdown, grâce à la fonctionnalité de la Content Collection.
Cette caractéristique d’Astro permet de récupérer aisément une liste de données ou de contenu, facilitant ainsi la génération de pages basées sur ce contenu. Il est intéressant de noter que cette page spécifique a été générée à partir d’un fichier Markdown. Cette caractéristique témoigne de la flexibilité d’Astro, qui permet d’exploiter divers formats de contenu pour créer des pages web.
Malgré sa nature “zero-JS”, Astro offre également la possibilité d’utiliser des Islands. Une Island peut être considérée comme un composant externe à Astro, réalisé en React, Angular, VueJS ou autre, et peut être intégrée aisément à votre site web.
Au cours de mon utilisation d’Astro, j’ai relevé deux problèmes majeurs. Tout d’abord, la communauté qui le soutient semble être relativement réduite. Lorsque j’ai rencontré des problèmes lors de la réalisation de mon site, j’ai eu du mal à trouver une assistance appropriée, voire aucune aide du tout.
Ensuite, le système de traduction (I18N) présente encore des lacunes. Bien qu’une bibliothèque soit utilisée pour permettre le multilinguisme, celle-ci est limitée par Astro. Certaines fonctions sont même appelées avant la récupération de la langue souhaitée, ce qui peut entraîner des pages avec du contenu en anglais et d’autres parties en français.
Astro présente un potentiel considérable, et je suis d’avis qu’il peut facilement s’affirmer comme un framework majeur pour la création de sites axés sur le contenu, tels que des boutiques en ligne, des blogs ou des portfolios. Son vaste catalogue de modèles gratuits et payants constitue un atout considérable, offrant aux utilisateurs la possibilité de s’exercer et d’observer comment ces modèles ont été élaborés.
De plus, comme vous pouvez le constater, ce site charge les pages avec une rapidité impressionnante, ce qui met en évidence la puissance d’Astro. Cela démontre son aptitude à fournir une expérience utilisateur fluide et réactive.