Bibliothèque / SDK
gatsbyjs/gatsby avatar
gatsbyjs/gatsby

Gatsby : un framework React pour le rendu statique et dynamique

Gatsby est un framework React qui importe les données de Markdown, CMS headless ou API dans une couche GraphQL unifiée pour générer des sites statiques rapides.

55 941 étoiles10 117 forksJavaScriptMIT

En bref

De quoi s’agit-il ?
Ce que le README dit sur la couche de données, les modes de rendu, les fonctionnalités de performance et le parcours d'hébergement de Gatsby.
À qui s’adresse-t-il ?
Le README décrit Gatsby comme un framework React qui combine rendu statique et dynamique, abstrait les sources de données derrière GraphQL et automatise plusieurs mécanismes de performance. Le README ne fournit pas de benchmarks, de garanties de sécurité ni de liste d'hôtes pris en charge au-delà de Netlify ; ce sont des questions de vérification ouvertes.
Puis-je l’utiliser commercialement ?
Oui. MIT est une licence permissive : vous pouvez utiliser, modifier et vendre un logiciel qui en dépend, à condition de conserver les mentions de droit d’auteur et de licence.
Est-il encore maintenu ?
Oui. Le dépôt a reçu de nouveaux commits au cours des dernières 24 heures.
En quel langage est-il écrit ?
Principalement JavaScript, d’après les statistiques de langage de GitHub.

Ces réponses reposent sur les données GitHub du projet (dernière synchronisation le 15 septembre 2026) et sur notre analyse. Elles ne constituent pas un avis juridique.

ANALYSE OPEN SOURCE APPROFONDIE

Un framework React pour des sites qui se comportent comme des applications

Gatsby est un framework gratuit et open source basé sur React. Le README le décrit comme combinant le contrôle et l'évolutivité des sites rendus dynamiquement avec la vitesse de la génération de sites statiques. Il s'adresse aux développeurs professionnels qui ont besoin de sites Web maintenables, riches en contenu et très performants. Le dépôt est un monorepo géré avec Lerna, ce qui signifie que plusieurs paquets vivent dans une même base de code et sont publiés séparément sur npm. Le README souligne que les sites Gatsby sont des applications React entièrement fonctionnelles, pas seulement des pages statiques, et peuvent donc prendre en charge des blogs, du commerce électronique et des tableaux de bord utilisateur. Il liste également le chargement de données, les options de rendu, les performances intégrées, une pile moderne et un hébergement à faible coût comme capacités clés. La page d'accueil du projet est gatsbyjs.com et la branche par défaut est master.

Gatsby assemble des sites à partir de données locales ou distantes et produit des fichiers statiques déployables. Son modèle mêle pages React, GraphQL, plugins et étapes de build ; cette combinaison convient aux contenus qui changent moins souvent que le code d’un service.

Des données de n'importe quelle source, interrogées via une couche GraphQL unifiée

Le traitement des données de Gatsby est construit autour de plugins de source. Vous pouvez extraire du contenu de fichiers Markdown, de CMS headless tels que Contentful ou WordPress, et d'API REST ou GraphQL. Une fois chargées, toutes les données sont exposées via l'interface GraphQL unifiée de Gatsby, de sorte que les composants interrogent la même interface quelle que soit la source. Cela découple la source de contenu de la couche de rendu et donne aux équipes un flux de travail cohérent même lorsque les backends diffèrent. Le README dit explicitement "Charger des données de n'importe où" et souligne l'utilisation de plugins de source pour charger les données, puis le développement avec l'interface GraphQL de Gatsby. Il indique également : "Utilisez des plugins de source pour charger vos données, puis développez avec l'interface GraphQL unifiée de Gatsby." C'est un différenciateur clé : la source de données ne dicte pas le modèle d'interrogation.

La validation doit suivre les commandes et fichiers du dépôt : lancer npm install, puis npm run build et les tests documentés. Observez les erreurs de GraphQL, le dossier public et le comportement d’un plugin avant de comparer le résultat au site attendu.

Options de rendu par page : SSG, DSG et SSR

Gatsby prend en charge trois options de rendu : la génération de sites statiques (SSG), la génération statique différée (DSG) et le rendu côté serveur (SSR). Le choix se fait par page, pas par projet. Ce contrôle granulaire vous permet de conserver la vitesse de la génération statique pour la plupart des pages tout en optant pour le rendu dynamique là où c'est nécessaire, sans traiter l'ensemble du site comme un seul mode. Le README appelle ces options "options de rendu alternatives" et dit qu'elles existent "par page", permettant d'optimiser les performances et la productivité sans sacrifier l'une pour l'autre. Il renvoie à la documentation conceptuelle sur gatsbyjs.com/docs/conceptual/rendering-options/. C'est plus flexible qu'un choix binaire statique ou dynamique.

Travail de performance intégré

Le README dit que la performance est intégrée. Gatsby automatise le fractionnement du code, l'optimisation des images, l'inlining des styles critiques, le chargement paresseux et la prélecture des ressources. L'affirmation est que cela se produit par défaut, sans réglage manuel. Le README ne fournit pas de chiffres de référence ni de scores d'audit ; il décrit ces mécanismes comme faisant partie du comportement prévu du framework. Il dit "Réussissez vos audits de performance par défaut" mais ne cite pas de résultats spécifiques. Cette phrase est une affirmation du projet, pas une garantie mesurée. Les mécanismes listés sont concrets : fractionnement du code, optimisation des images, inlining des styles critiques, chargement paresseux et prélecture. Le README ajoute "et plus" après la prélecture, mais n'énumère pas ce que c'est.

Hébergement et parcours de démarrage rapide

Les sites Gatsby ne nécessitent pas de serveurs, ils peuvent donc être entièrement hébergés sur un CDN, ce qui maintient les coûts bas. Le README mentionne Netlify comme exemple de service où de nombreux sites Gatsby peuvent être hébergés gratuitement. Le flux de démarrage rapide comprend un lien pour déployer un site sur Netlify, après quoi vous obtenez trois résultats : un site fonctionnel sur Netlify, un nouveau dépôt lié à ce site, et des reconstructions et redéploiements automatiques lorsque vous poussez des modifications vers votre nouveau dépôt. Le parcours de développement local utilise npm init gatsby pour initialiser un projet, puis npm run develop dans le nouveau répertoire. Le site s'exécute sur http://localhost:8000, et la modification de src/pages/index.js déclenche une mise à jour en temps réel du navigateur. Le README ne liste pas d'autres fournisseurs d'hébergement en dehors de Netlify.

Structure du projet, documentation et licence

Le dépôt est un monorepo géré avec Lerna, avec plusieurs paquets dans le répertoire packages. Le README fournit des liens vers des guides de migration pour passer de v2 à v3, de v3 à v4 et de v4 à v5, ainsi que vers les notes de version et la documentation sur le support des versions. Il pointe également vers un tutoriel et un site de documentation, et recommande à la plupart des développeurs de commencer par le tutoriel approfondi. Les directives de contribution, un code de conduite et un document "comment contribuer" sont liés. Le projet est publié sous la licence MIT. La licence accorde le droit d'utiliser, copier, modifier, fusionner, publier, distribuer, sous-licencier et vendre des copies, et indique que le logiciel est fourni "tel quel" sans garantie d'aucune sorte. Le texte de la licence ne traite pas du support, de la sécurité ou de l'état de préparation à la production ; ceux-ci ne sont pas couverts par la licence.

Conclusion éditoriale

Le README décrit Gatsby comme un framework React qui combine rendu statique et dynamique, abstrait les sources de données derrière GraphQL et automatise plusieurs mécanismes de performance. Le README ne fournit pas de benchmarks, de garanties de sécurité ni de liste d'hôtes pris en charge au-delà de Netlify ; ce sont des questions de vérification ouvertes. La validation doit suivre les commandes et fichiers du dépôt : lancer npm install, puis npm run build et les tests documentés. Observez les erreurs de GraphQL, le dossier public et le comportement d’un plugin avant de comparer le résultat au site attendu.

Sources officielles

  1. Official documentation
  2. Official README
  3. Project repository
  4. Release notes
Notes de la communauté

Notes de la communauté