Maison >Tutoriel CMS >WordPresse >7 raisons d'utiliser un générateur de sites statique
Les générateurs de sites Web statiques (SSG) sont devenus de plus en plus populaires au cours de la dernière décennie. Cet article explore comment le processus de génération adapté aux développeurs, le déploiement plus facile, les performances améliorées et une meilleure sécurité peuvent bénéficier à votre site Web. Tout d'abord, clarifions le sens du mot "Générateur de sites Web statique" ...
Points clés
Qu'est-ce qu'un site Web statique?
Rappelant le premier site Web que vous avez construit. La plupart des développeurs commencent par créer une série de pages contenues dans un seul fichier HTML. Chaque page appelle des ressources telles que les images, le CSS et un code JavaScript. Vous pouvez démarrer ces fichiers directement à partir du système de fichiers sans avoir besoin d'un serveur Web. Tout était simple à ce moment-là. Mais à mesure que le site Web devient plus grand et plus complexe, des difficultés suivent. Considérez la navigation: elle peut être similaire dans chaque fichier, mais l'ajout d'une nouvelle page nécessite une mise à jour de toutes les autres pages. Même les références au CSS et aux images peuvent devenir maladroites à mesure que la structure du dossier évolue. Vous avez peut-être considéré des options comme l'inclusion côté serveur ou PHP, mais l'option plus simple peut être le système de gestion de contenu (CMS)…
Qu'est-ce qu'un système de gestion de contenu?
CMS fournit généralement un panneau de commande administratif. Ces panneaux permettent aux auteurs d'écrire du contenu stocké dans la base de données backend. Lorsqu'un visiteur demande une URL, le CMS: 1. Déterminez quelle page est nécessaire; 2. Demandez le contenu correspondant à la base de données; modèle; 5. Format La page HTML est renvoyée au navigateur du visiteur.
Cela se fait presque instantanément. Un modèle peut contenir du code qui génère des menus en fonction de la hiérarchie de navigation. Tout s'est bien passé, avec plus de 4 personnes sur 10 choisissant de gérer leur site Web en utilisant le CMS WordPress open source basé sur PHP / MySQL. Malheureusement, CMS apporte une série de problèmes différents: - Vous devez vous conformer au fonctionnement du CMS. L'ajout de texte ou de composants personnalisés peut être lourd; - le serveur a plus de charge de travail et les performances peuvent être affectées; Une mise à niveau logicielle ou une défaillance de la base de données peut entraîner la baisse de votre site Web.
Qu'est-ce qu'un générateur de sites Web statique?
SSG est un compromis entre un site Web statique qui utilise manuellement et un CMS complet, tout en conservant les avantages des deux. Essentiellement, vous pouvez utiliser des concepts de type CMS tels que des modèles pour générer des sites Web basés sur des pages HTML statiques. Le contenu peut être extrait d'une base de données, d'un fichier Markdown, d'une API ou de tout emplacement de stockage pratique. La génération de sites peut être effectuée sur votre machine de développement, votre serveur de mise en scène ou construite à l'aide de services lors de la poussée des modifications dans un référentiel de code. Les fichiers HTML générés et autres ressources sont ensuite déployés sur le serveur Web en temps réel. Le terme "statique" ne signifie pas "inchangé". SSG construit la page une fois, tandis que CMS construit la page à chaque fois qu'il est demandé. Le résultat final est le même, et l'utilisateur ne connaîtra jamais la différence. Le concept connexe est CMS "sans tête" ou "découplé". Ces systèmes utilisent des interfaces telles que WordPress pour gérer la gestion du contenu, mais permettent à d'autres systèmes d'accéder aux données via l'API REST ou l'API GraphQL. Par conséquent, les SSG tels que Eleventy peuvent créer des sites Web statiques à l'aide du contenu de la page WordPress extrait des serveurs internes. Le fichier HTML généré peut être téléchargé sur un serveur Web, mais les installations WordPress ne nécessitent jamais d'accès public depuis l'extérieur de l'organisation. Le terme JAMSTACK (JavaScript, API et Tagging) est également utilisé dans des aspects liés aux sites statiques. Il fait référence à la montée en puissance des cadres, des fonctions sans serveur et des outils connexes qui génèrent des fichiers statiques mais permettent la création d'une interactivité plus complexe. Les générateurs de sites Web statiques populaires incluent Jekyll, Eleventy, Gatsby, Hugo et Metalsmith. SSG est disponible dans la plupart des langues (voir Staticgen pour plus d'informations). Des cadres tels que Next.js rendront la page statiquement si possible, mais permettra également aux développeurs d'exécuter du code côté serveur si nécessaire. Voyons les avantages de l'utilisation de SSG ...
1. CMS limite généralement vos options car elles sont liées à une base de données avec des champs spécifiques. Si vous souhaitez ajouter un widget Twitter à certaines pages, vous avez généralement besoin d'un plugin, d'un shortcode ou d'une fonction de personnalisation. Dans un site statique, les widgets peuvent simplement insérer des fichiers directement ou utiliser des pièces / fragments. Les limites sont rares car vous n'êtes pas soumis à des restrictions imposées par CMS.
2.
La plupart des applications CMS fournissent des systèmes de mise en cache intégrés ou des plug-in pour s'assurer que les pages sont générées et réutilisées autant que possible. Cela fonctionne, bien que les frais généraux de gestion, de vérification et de régénération de pages mises en cache demeure. Les sites statiques peuvent créer des pages préalables qui n'ont jamais besoin d'expirer. Les fichiers peuvent également être réduits avant le déploiement pour garantir une charge minimale et peuvent être facilement déployés via le Global Content Distribution Network (CDN). Les sites statiques fonctionnent toujours mieux que les versions pilotées par CMS à l'aide de modèles de type modèle.
3.L'installation WordPress typique nécessite: - des systèmes d'exploitation applicables, tels que Ubuntu ou CentOS; - des serveurs Web, tels que Apache ou Nginx; - PHP avec des extensions connexes et une configuration de serveur Web; - MySQL; - Applications WordPress; - Tous les plugins nécessaires ;
Ces dépendances doivent être installées et gérées. WordPress nécessite moins d'effort que certaines autres applications, mais une seule mise à jour peut toujours entraîner une confusion. Les générateurs de sites Web statiques peuvent nécessiter autant de dépendances, mais ils peuvent fonctionner sur le PC du développeur et ne seront pas déployés sur un serveur de production. SSG génère des fichiers HTML clients et des ressources connexes qui peuvent être hébergées sur n'importe quel serveur Web. Pas besoin d'installer, de gérer ou de maintenir quoi que ce soit d'autre.
4. CMS est complexe, avec de nombreuses pièces mobiles et points de défaillance. Après avoir exécuté votre site WordPress pendant un certain temps, vous rencontrerez presque certainement le terrible
"Impossible d'établir une connexion de la base de données"Erreur. Des problèmes de CMS inattendus peuvent résulter de surtensions de trafic soudaines qui peuvent surcharger des serveurs, des bases de données de crash ou limiter les connexions actives. C'est moins de travail pour fournir des sites statiques. Dans de nombreux cas, le serveur n'a besoin que de retourner des fichiers plats, de sorte que la mise à l'échelle en fonction des besoins de trafic devient simple. Il est toujours possible d'écraser le serveur Web ou de surcharger l'API, mais cela nécessite beaucoup de demandes simultanées.
5.Il existe de nombreuses raisons pour lesquelles quelqu'un pourrait vouloir attaquer votre site Web. Le détournement de la circulation, la publicité malveillante, les liens, l'usurpation d'authenticité et l'hébergement de logiciels malveillants permettent aux utilisateurs non autorisés de recevoir de l'argent et / ou des éloges. CMS ouvre de nombreux vecteurs d'attaque. La chose la plus évidente est l'écran de connexion: il n'est aussi sécurisé que le mot de passe utilisateur le plus faible. Notez que toute page exécutant le code côté serveur fournit également des vulnérabilités potentielles, comme le spam via votre formulaire de contact. Il n'est peut-être pas évident que quelqu'un a eu accès; le pire coupable veut rester caché. Les sites statiques peuvent nécessiter peu de fonctionnalités côté serveur. Certains risques existent toujours, mais ils sont rarement aussi problématiques qu'auparavant: - quelqu'un peut accéder au serveur via SSH ou FTP et affronter la page ou télécharger des fichiers. Cependant, il est généralement facile de vérifier les modifications (probablement en utilisant le statut GIT), d'effacer le site entier, puis de le régénérer à nouveau; Code - par exemple le programme de messagerie de formulaire. De bonnes pratiques de sécurité, COR et CSP vous aideront.
6.
Vous pouvez passer des semaines à construire un thème CMS attrayant pour les clients qui détruiront leur site Web dans les minutes suivant le transfert! L'utilisation de CMS n'est pas nécessairement facile et fournit une puissance considérable pour les éditeurs de contenu. Vous pouvez verrouiller les autorisations comme l'installation du plugin, mais cela n'empêche pas quelqu'un de changer les polices, d'introduire des couleurs contradictoires, d'ajouter des photos inférieures ou des dispositions de rupture. Les sites statiques peuvent être limités ou flexibles en fonction de votre choix. Si vous utilisez Markdown ou des fichiers plats similaires, l'éditeur est peu susceptible de faire des erreurs ou de nuire au style de page. Certaines personnes manqueront le panneau de gestion du contenu CMS, mais vous pouvez: 1. Utilisez leur CMS existant et nettoyez les données avant de les générer;
7. Les données de base de données sont volatiles. CMS permet aux utilisateurs d'ajouter, de supprimer ou de modifier du contenu à tout moment. L'essuyage tout le site ne prend que quelques clics. Vous pouvez sauvegarder la base de données, mais même si vous le faites régulièrement, vous pouvez toujours perdre des données. Les sites statiques sont généralement plus sûrs. Le contenu peut être stocké dans: - Fichiers plats: il peut ensuite être versé à l'aide de systèmes GIT ou similaires. L'ancien contenu sera conservé et les modifications peuvent être rapidement annulées;
Les testssont également devenus plus faciles, car le site peut être généré et prévisualisé n'importe où - même sur le PC du client. Avec plus d'efforts, vous pouvez implémenter des systèmes de déploiement pour créer votre site à distance et mettre à jour votre serveur en direct après avoir poussé un nouveau contenu au référentiel, en révision et en approbation. Donc, dans le monde du site statique, tout est beau. Ouais? Veuillez lire mon article de suivi "7 raisons de ne pas utiliser un générateur de sites Web statique". Pour une démonstration pratique de la construction d'un site en utilisant le générateur de sites Web statique, voir: comment créer un site statique avec Metalsmith;
FAQ pour les générateurs de sites Web statiques (FAQ)
Quels sont les principaux avantages de l'utilisation de générateurs de sites Web statiques?
Le générateur de sites Web statique offre plusieurs avantages. Premièrement, ils assurent une sécurité améliorée car ils ne nécessitent pas de base de données, réduisant ainsi le risque d'attaques. Deuxièmement, ils offrent des performances améliorées. Étant donné que les sites sont prédéfinis, ils se chargent plus rapidement, offrant une meilleure expérience utilisateur. Troisièmement, ils sont rentables. L'hébergement d'un site statique est généralement moins cher qu'un site dynamique. Enfin, ils fournissent un contrôle de versioning pour le contenu, vous permettant de suivre les modifications et de restaurer les versions précédentes si nécessaire.Le générateur de sites Web statique améliore les performances du site Web en pré-constructions toutes les pages du site Web. Cela signifie que lorsqu'un utilisateur demande une page, le service peut être fourni immédiatement sans traitement côté serveur. Cela réduit considérablement le temps de chargement du site Web, offrant ainsi une expérience utilisateur plus rapide et plus fluide.
Oui, vous pouvez utiliser des générateurs de sites Web statiques pour de grands sites Web. Cependant, à mesure que la taille du site augmente, les temps de construction peuvent augmenter. En effet, le générateur doit prédéterminer chaque page. Pourtant, les avantages de la performance l'emportent souvent sur les temps de construction plus longs, en particulier dans les sites où le contenu ne change pas fréquemment.
Les sites statiques sont généralement plus sûrs que les sites dynamiques. En effet, ils ne dépendent pas du traitement de la base de données ou du côté serveur, qui sont des cibles communes pour les attaques. Cependant, comme pour tout site Web, les sites statiques ne sont pas à l'abri de tous les types d'attaques, il est donc important de suivre les meilleures pratiques pour la sécurité du Web.
Pour utiliser un générateur de sites Web statique, vous avez généralement besoin d'une certaine connaissance de HTML, CSS et JavaScript. Certains générateurs ont également besoin de connaître les langages de programmation spécifiques, tels que Ruby ou Python. De plus, vous devrez peut-être vous familiariser avec l'utilisation de systèmes de contrôle de ligne de commande et de version, tels que GIT.
Oui, vous pouvez utiliser des générateurs de sites Web statiques avec CMS sans tête. Cela vous permet de gérer le contenu dans CMS, puis de créer votre site à l'aide du générateur. Cela peut être une combinaison puissante qui offre les avantages du CMS ainsi que les avantages des performances et de la sécurité des sites statiques.
La sélection du bon générateur de sites Web statique dépend de vos besoins et compétences spécifiques. Considérez des facteurs tels que la langue qu'il est construite, le système de modèle qu'il utilise, sa vitesse de construction, son support communautaire et sa compatibilité avec d'autres outils que vous utilisez.
Oui, vous pouvez utiliser des générateurs de sites Web statiques pour le commerce électronique. Cependant, comme les sites statiques n'ont pas de backend intégré, vous devez utiliser des services tiers pour gérer des aspects tels que la fonctionnalité de CART et le traitement des paiements.
Certains générateurs de sites Web statiques populaires incluent Jekyll, Hugo, Next.js, Gatsby et Hexo. Chacun a ses propres avantages et inconvénients, il est donc important de choisir le générateur qui convient le mieux à vos besoins.
Bien que les générateurs de sites Web statiques soient les mieux adaptés au contenu statique, ils peuvent gérer le contenu dynamique à l'aide de services tiers. Par exemple, vous pouvez utiliser l'API pour extraire des données dynamiques, ou utiliser des services comme Disqus pour des commentaires ou utiliser des services comme FormSpree pour les formulaires.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!