Pour un internaute moyen, visionner du contenu Web est simple. Vous ouvrez un navigateur, tapez une URL, et voilà! La page apparaît. Mais à l'autre extrémité, il y a un logiciel qui travaille dur pour servir cette page pour vous. Et un grand nombre de ces serveurs exploitent des systèmes de gestion de contenu afin de créer et de servir votre contenu favori.
Que se passe-t-il réellement lorsque vous "ouvrez" une page d'un CMS? Regardons les différentes parties des systèmes qui apportent du contenu à votre écran.
Le début de la toile
Améliorations de l'hébergement Web
La fin des années 1990 - lorsque le Web a commencé à prendre de l'ampleur - comportait de nombreux éléments permettant aux utilisateurs d' accéder facilement à leur contenu Web favori. Les choses avaient progressé de la récupération des pages Web directement à partir de serveurs d'hébergement à un système plus sophistiqué:
- Accès plus facile à l'enregistrement du système de noms de domaine via des entités privées, ce qui a permis d'associer les étiquettes arbitraires que nous connaissons maintenant en tant que noms de domaine aux adresses IP. Cela a permis aux utilisateurs de trouver facilement leurs sites préférés.
- Le protocole HyperText Transfer Protocol (HTTP) a fourni une méthode standard pour l'envoi d'informations sur Internet. Cela a permis aux individus et aux organisations de rendre leur contenu disponible en HTML, donc tout le monde pouvait le lire avec un navigateur compatible.
- Des serveurs Web sont apparus, dont le but est d'attendre les demandes de pages Web et de renvoyer la page. Cela a permis aux administrateurs d'étendre et de sécuriser leurs environnements d'hébergement.
Pendant ce temps, les navigateurs devenaient disponibles gratuitement, les fournisseurs de services Internet comme AOL offraient un accès commuté illimité et les utilisateurs migraient de la communauté fermée (comme les systèmes BBS) vers un contenu Web ouvert. Mais malgré la demande d'information, une partie de l'écosystème a encore souffert.
Lacunes dans la création Web
Le processus de création de tous ces premiers sites Web était toujours centré sur les pages d'artisanat en HTML. Cela a souvent entraîné un style en ligne et beaucoup de codage très personnalisé, en particulier pour les sites «dynamiques» de l'époque (par exemple, le commerce électronique fait dans des langages comme Perl). En outre, le processus de publication d' un site Web nécessite encore une connaissance technique des transferts FTP et de l'hébergement Web.
Ensuite, plus de contenu généré par l'utilisateur a commencé à apparaître sous la forme de sites «profil» comme Yahoo et MySpace. Les services de blogs tels que Blogger et LiveJournal ont poussé les choses un peu plus loin, tandis que les "éditeurs de pages web" de bureau permettaient de créer une page (de mauvaise apparence) sans aucune balise. Ceux-ci ont inspiré les systèmes de gestion de contenu à usage général d'aujourd'hui, qui permettent aux utilisateurs de facilement:
- Créez de nouvelles pages avec un formatage riche.
- Organisez les pages dans une hiérarchie de site.
- Gérer les médias sur des pages, telles que des images.
- Permettre aux autres utilisateurs d'interagir avec le site, jusqu'à et y compris la création de leurs propres pages.
Dans les sections suivantes, nous verrons précisément comment un CMS rend ces tâches si simples.
Composants d'un CMS
Il existe aujourd'hui plusieurs dizaines d'applications CMS, mais la plupart d'entre elles ont en commun:
- Ils sont construits dans un langage de programmation / script particulier. Contrairement au langage HTML, qui est uniquement un balisage, un langage de programmation permet aux pages Web d'effectuer des opérations telles que déterminer qui tente de les utiliser ou extraire des résultats en fonction d'une recherche.
- Ils utilisent une base de données Alors qu'est-ce qu'une base de données, de toute façon? [MakeUseOf explique] Alors, qu'est-ce qu'une base de données? [MakeUseOf explique] Pour un programmeur ou un passionné de technologie, le concept d'une base de données est quelque chose qui peut vraiment être pris pour acquis. Cependant, pour de nombreuses personnes, le concept d'une base de données elle-même est un peu étranger .... Lire la suite pour stocker le contenu des pages, les listes d'utilisateurs / mots de passe, ou les entrées des formulaires.
- Ils utilisent un serveur Web Comment configurer un serveur Web Apache en 3 étapes faciles Comment configurer un serveur Web Apache en 3 étapes faciles Quelle que soit la raison, vous pouvez à un moment donné d'obtenir un serveur Web. Si vous voulez vous donner un accès à distance à certaines pages ou services, vous voulez obtenir une communauté ... Lire la suite. Il va exécuter les fichiers de la page (et leur programmation) et retourner le code HTML résultant au navigateur du visiteur.
Nous verrons chacune de ces choses ci-dessous.
Langages de programmation CMS
Une des principales distinctions entre les différents CMS est le langage de programmation qu'ils supportent. Langage de programmation à apprendre - Programmation Web Quel langage de programmation à apprendre - Programmation Web Aujourd'hui, nous allons jeter un coup d'œil aux différents langages de programmation Web qui alimentent Internet. C'est la quatrième partie d'une série de programmation pour débutants. Dans la partie 1, nous avons appris la base de ... Lire la suite. Les langages de programmation sont utilisés pour rendre le site "dynamique", c'est-à-dire exécuter des calculs ou d'autres logiques. Ces opérations peuvent être aussi simples que l'affichage de l'année en cours dans le copyright du pied de page pour ajouter et afficher des rapports numériques.
Il y a au moins un CMS pour tous les principaux langages de programmation Web, y compris:
- PHP: WordPress, Drupal, Joomla
- ASP.NET: DotNetNuke (DNN CMS), Umbraco
- Python: Django, Plone
- Java: Alfresco, Magnolia
De ces langages (et autres), PHP Apprendre à construire avec PHP: un cours intensif Apprendre à construire avec PHP: un cours intensif PHP est la langue utilisée par Facebook et Wikipedia pour répondre à des milliards de requêtes quotidiennes; le langage de facto utilisé pour enseigner la programmation Web des gens. C'est magnifiquement simple, mais brillamment puissant. Read More s'est imposé comme le précurseur de la création de systèmes de gestion de contenu pour plusieurs raisons. D'abord, c'est l'open source, ce qui ne pouvait pas être dit de toutes les langues au départ. En conséquence, il s'agissait d'une langue incluse gratuitement dans de nombreux plans d'hébergement bon marché où résident les sites plus petits. En outre, c'est un langage facile à utiliser pour la plupart des mesures, permettant aux nouveaux utilisateurs de pirater leurs propres fonctionnalités sur leurs sites. Enfin, le serveur web Apache a intégré PHP dès le début. La configuration du premier serveur Web au monde a donc été rapide et facile.
Alors que d'autres langages ont progressé contre PHP (.NET est maintenant open source). GNU Débutant pour Microsoft: Qu'est-ce qu'un .NET Framework Open Source signifie pour le reste de nous? Un GNU Commençant par Microsoft: ce qu'est un .NET Framework Open Source Pour le reste d'entre nous, Microsoft vient de publier une partie importante de son code sous une licence open source permissive.Ce mouvement rompt avec des années de tradition.Mais pourquoi et qu'est-ce que cela signifie pour vous? Read More, par exemple), ce sera un peu temps jusqu'à ce qu'ils capturent une part de marché importante de WordPress.
Bases de données CMS
Le langage de programmation d'un SGC donné prend également en compte la ou les bases de données qu'il supporte ou qu'il requiert. PHP a un excellent support pour MySQL Un tutoriel MySQL pas à pas pour les blogueurs Wordpress auto-hébergés Un tutoriel MySQL pas à pas pour les bloggeurs Wordpress auto-hébergés Si vous êtes un blogueur, les chances sont que vous utilisez WordPress. Il y a deux façons dont vous pouvez utiliser WordPress, idéal pour ceux qui ont un certain savoir-faire technique et ceux sans. Le premier est de ... Lire la suite, bien que les CMS qui l'utilisent puissent souvent être utilisés avec PostgreSQL ou SQLite Learn SQL Ou créer une base de données simple avec SQLite Database Browser Apprendre SQL ou créer une base de données simple avec SQLite Database Browser vous avez besoin d'une base de données, mais vous ne pouvez pas vraiment vous permettre Microsoft Access, et vous ne pouvez certainement pas vous permettre d'installer et d'utiliser un serveur Oracle à la maison. Que votre objectif soit ... Lire la suite aussi bien. De même, DNN CMS prend en charge Microsoft SQL Server, tandis qu'Alfresco prend en charge les bases de données d'entreprise et Java telles qu'Oracle et db2. À la fin de la journée, la base de données que vous utilisez pour un CMS peut également être pilotée par tout ce que votre environnement d'hébergement fournit. Un compte d'hébergement pour votre blog mettra certainement à votre disposition MySQL, alors que votre entreprise n'utilisera rien d'autre qu'Oracle.
Une base de données stocke la majeure partie du contenu pour la plupart des CMS, à l'exception des fichiers de l'application (modèles de page, modules complémentaires, etc.), des médias (images et vidéos) et de certaines configurations. Mais le texte sur une page donnée, ainsi que les chemins vers les fichiers multimédias et l'URL où il vit, sont souvent stockés dans des tables DB.
Serveur Web CMS
Enfin, un CMS est une application web et nécessite donc un serveur web. Grâce à l'utilisation de divers modules, Apache peut prendre en charge les quatre langues mentionnées ci-dessus et plus encore. Les nouveaux serveurs web gagnent en popularité Le meilleur logiciel serveur Web Linux (& Alternatives Apache) Le meilleur logiciel serveur Web Linux (& Alternatives Apache) En savoir plus, comme nginx et lighttpd, prennent également en charge différents ensembles de langues via des modules complémentaires.
Le serveur Web exécutera les fichiers du site. Ces types de fichiers (.PHP, .JSP, etc.) sont généralement des annotations HTML. 17 Exemples de code HTML simple Vous pouvez apprendre en 10 minutes 17 Exemples de code HTML simple Vous pouvez apprendre en 10 minutes Si vous connaissez les 17 balises HTML suivantes ( et les quelques-uns qui vont avec), vous serez en mesure de créer une page Web de base à partir de zéro ou de modifier le code créé par une application comme ... Lire la suite avec le code du langage de programmation mélangé., il exécute tout code programmatique rencontré à l'aide de son module / add-on pour ce langage. Une fois le traitement de la page terminé, le code de programmation aura été remplacé par un contenu convivial pour les navigateurs.
Si vous regardez de plus près, vous pouvez voir que le code aide réellement à construire la page en "obtenant" l'en-tête et le modèle de page. Pour compliquer les choses, un fichier peut appeler un ou plusieurs autres fichiers pour obtenir de l'aide. Lorsque nous examinons certaines demandes réelles d'un CMS dans les sections ci-dessous, gardez à l'esprit que l'exécution d'un "fichier PHP" peut impliquer l'exécution de plusieurs.
Un CMS en action
La façon la plus simple de décrire un CMS est de prendre quelques exemples d'opérations et de suivre les étapes pour chacune. Comme l'illustration précédente, ces processus commencent par une demande de page, et se terminent avec le serveur web renvoyant du code HTML (et CSS / Javascript) au navigateur. Mais il y a quelques étapes entre lesquelles nous allons explorer ci-dessous, en supposant un CMS basé sur PHP.
Demander une page
L'interaction la plus élémentaire avec un CMS est un utilisateur régulier qui demande une de ses pages. Par exemple, prenez cet article 7 raisons de faucher votre CMS et considérez un générateur de site statique 7 raisons de faucher votre CMS et envisager un générateur de site statique Pendant de nombreuses années, la publication d'un site Web était difficile pour de nombreux utilisateurs. Les CMS comme WordPress ont changé cela, mais ils peuvent encore être déroutants. Une autre alternative est un générateur de site statique. En savoir plus sur MakeUseOf. Il a une URL, mais il n'y a pas de fichier réel dans un répertoire à cet emplacement. Lorsque le navigateur du lecteur demande une URL, le serveur Web exécute l'un des fichiers PHP du CMS, tel qu'un fichier index.php .
La page PHP traite la requête en interrogeant la base de données pour la page CMS avec l'URL correspondante dans ses métadonnées (là encore, il n'y a pas de fichier réel à l'emplacement de l'URL). Il lit ensuite le contenu de la page (texte et graphiques ordinaires ainsi que les widgets) et les métadonnées (titre, modèle utilisé, etc.) de la base de données et renvoie le code HTML de la page à afficher par le navigateur. En bref, il utilise l'URL pour sélectionner quel enregistrement de page dans la base de données à utiliser.
Se connecter
De la même manière, un utilisateur qui veut se connecter au site (par exemple pour afficher une page «membres uniquement»). Pour créer un site Web réservé aux membres en utilisant Wordpress Comment créer un site Web réservé aux membres en utilisant Wordpress pour fournir des informations d'identification. Lorsqu'ils tentent de visiter la page en question, la base de données contiendra des autorisations indiquant que la page nécessite une connexion.
En entrant un nom d'utilisateur et un mot de passe sur une page comme login.php, la base de données interroge le mot de passe du nom d'utilisateur fourni, fait la comparaison pour s'assurer qu'ils correspondent et renvoie l'utilisateur à sa page demandée.
Mise à jour d'une page
La mise à jour d'une page dans un CMS nécessite généralement d'accéder à son écran d'administration, de modifier le contenu de la page et de la réenregistrer / la rééditer. Par exemple, WordPress contient la page wp-admin / post.php . Il va d'abord vérifier si l'utilisateur est connecté, et si c'est le cas, si l'utilisateur est un administrateur. Ensuite, il va interroger la base de données pour le contenu représentant la page que l'utilisateur veut modifier, en remplissant les contrôles d'édition tels que les zones de texte et les sélecteurs d'image.
L'utilisateur peut interagir avec ces commandes (par exemple en changeant de texte ou en remplaçant des images d'en-tête), en cliquant sur un bouton "Enregistrer" ou "Publier" une fois terminé. À ce stade, l'écran d'administration prendra les nouvelles valeurs remplies et les mettra à jour dans la base de données.
Les SGC rendent la création Web accessible
Bien qu'en interne ce soient des applications complexes, en surface, des CMS comme WordPress facilitent la création sur le web pour les utilisateurs non-techniques. Quelqu'un qui veut poster un blog simple peut s'inscrire pour un compte d'hébergement bon marché, cliquez sur quelques boutons, et avoir un CMS prêt à aller dans quelques minutes Comment installer WordPress sur un serveur virtuel pour Free Utilisation de Cloud9 Comment installer WordPress sur un serveur virtuel pour Free à l'aide de Cloud9 Installez Wordpress dans un environnement virtuel en utilisant l'espace serveur Cloud9. Aucun codage requis. Pas besoin de télécharger un logiciel. Vous allez bricoler avec une installation WordPress en quelques minutes. Lire la suite . Pour quelques dollars de plus, la société d'hébergement peut même gérer les mises à jour et la maintenance de celui-ci.
Hébergez-vous un site Web ou un blog sur un CMS particulier? Avoir un système de gestion de contenu facilite-t-il votre travail? Ou préférez-vous simplement télécharger du code HTML sur votre compte d'hébergement comme à l'époque? Faites-nous savoir dans les commentaires si vous êtes un dévot CMS ou wrangler HTML old-school.