WordPress geekiness un goût acquis et il s’améliore avec chaque nouvelle chose que vous apprenez. Nous utilisons tous WordPress depuis un certain temps maintenant – c’est l’une des raisons pour lesquelles vous êtes ici chez Themelocal, en train de lire cet article ! Comme vous, je suis moi aussi tombé sur ce bel artisanat et j’ai été fasciné par sa beauté. WordPress nous donne non seulement la possibilité de publier des sites Web dynamiques et visuellement attrayants en quelques minutes, mais également de l’utiliser comme solution de gestion de contenu multidimensionnelle (CMS).
En passant, je voudrais mentionner que cet article est destiné à un débutant WordPress. La plupart d’entre vous savent peut-être de quoi je parle. Alors n’hésitez pas à le lire rapidement et à partager votre point de vue dans la section commentaires. Merci!
Pour revenir sur la bonne voie, jetons un coup d’œil à ce que nous pouvons faire avec WordPress :
- Site Web du magazine – TIME, GigaOM, TechCrunch, utilisent tous WordPress.com VIP
- Hébergez plusieurs sites Web sous un même toit – EduBlogs (WordPress MultiSite)
- Créer un forum (BuddyPress)
- Portefeuille en ligne
- Héberger un portail emploi
- Boutique de commerce électronique (Woocommerce, Exchange, EDD, Cart66, etc.)
- Blog photo ou portfolio de photographies
- Site pour un groupe, un restaurant et bien plus encore
La liste continue. Cet article sert de précurseur à notre prochaine série de publications – Le guide définitif de la mise en cache WordPress. Avant de comprendre la mise en cache de WordPress, nous devons comprendre comment WordPress fonctionne en interne. Pas seulement modifier et supprimer des publications et des commentaires, mais comment quelques milliers de lignes de code s’entrelacent et produisent de magnifiques sites Web dynamiques.
Fonctionnement interne de WordPress
Nous savons tous comment travailler avec WordPress. Tout commence par la connexion à votre tableau de bord administrateur WordPress – directement à partir de votre-site/wp-login.php, suivi de la publication, de la modification ou du téléchargement de nouveau contenu, de l’installation de plugins, de thèmes, de sauvegardes, etc.
Mais avez-vous pensé à la façon dont tout cela fonctionne? Les sites Web fonctionnent en HTML (qui signifie Hyper Text Markup Language). Vérifiez votre barre d’adresse – vous trouverez toujours http://sitename.tld. Les autres protocoles incluent https, ftp, ssh, etc.
Il est donc entendu que le but ultime de WordPress est de générer des pages HTML – de manière dynamique. Le terme clé à comprendre ici est « dynamiquement ». Les termes « page HTML », « page Web » et « page Web » sont tous synonymes. Au niveau très basique, WordPress utilise PHP et une base de données SQL pour stocker toutes ses données. Nous n’avons pas à nous préoccuper beaucoup de PHP et des autres langages de script utilisés par WordPress, car il s’agit d’un guide pour débutant et ce sont des sujets avancés.
Ainsi, nous avons deux entités. L’un est le « code PHP » qui constitue le noyau WordPress et la « base de données » qui constitue la mémoire de WordPress. Chaque installation WordPress a une base de données. Ni plus ni moins. Chaque information que vous avez saisie et que vous ferez à l’avenir est stockée dans la base de données WordPress. Les exemples comprennent:
- Les informations de l’utilisateur comme le mot de passe (crypté avec MD5), l’adresse e-mail, etc.
- Tous les articles, pages, balises, catégories et la relation entre eux
- Types de publication personnalisés
- Publier les révisions, les brouillons et les options mises à la corbeille
- Commentaires – à la fois approuvés et non approuvés et spam
- Options de thème et données de plugin
Qu’en est-il des images, documents et autres fichiers téléchargés ? Sont-ils eux aussi stockés dans la base de données WordPress ? Nan. Ils sont stockés dans un dossier appelé « wp_content ». Plus à ce sujet suit.
La structure des dossiers WordPress
Depuis WordPress 3.6.1, il y a trois dossiers principaux dans chaque installation WordPress.
Le dossier de base
C’est le répertoire d’installation de WordPress et tout (à part la base de données WordPress qui existe ici). Nous l’appellerons le « répertoire racine ». Dans le cas de personnes exécutant WordPress sur des serveurs d’hébergement partagé alimentés par cPanel, le répertoire racine est très probablement le contenu du répertoire « public_html », si vous exécutez WordPress dans votre domaine de base (c’est-à-dire site.com et non site.com/ dossier).
Le répertoire racine de WordPress contient exactement trois dossiers : wp_content, wp_includes et wp_admin ainsi qu’un tas d’autres fichiers PHP, le plus important étant « wp_config.php ». En modifiant ce fichier, nous pouvons ajouter un tas d’options de personnalisation WordPress de base qui ne sont pas facilement disponibles dans le tableau de bord de l’administrateur WordPress. Par exemple, nous pouvons désactiver les révisions de publication, définir le nom du site utilisé par WordPress (utile pour les changements de domaine), activer le mode maintenance, etc. Le fichier wp-config.php est un fichier très important et ne doit pas être falsifié. Il contient des informations cruciales telles que les identifiants d’accès à votre base de données WordPress. Si quelqu’un peut accéder à votre base de données, il/elle a un contrôle total sur votre site.
wp_includes
Ce dossier contient tous les autres fichiers et classes PHP requis pour les opérations principales de WordPress. Encore une fois, vous ne voulez modifier aucun fichier dans ce répertoire.
wp_admin
Ce dossier contient les différents fichiers du tableau de bord WordPress. Vous savez que toutes les fonctions administratives ou liées à WordPress, telles que la rédaction de publications, la modération de commentaires, l’installation de plugins et de thèmes se font via le tableau de bord WordPress. Seuls les utilisateurs enregistrés sont autorisés à accéder ici et l’accès est à nouveau limité en fonction du rôle de l’utilisateur. Un administrateur permet un accès complet suivi de l’Editeur, puis du Contributeur et enfin de l’Abonné. Le tableau de bord WordPress est généralement accessible sous http://wpexplorer.com/wp-admin.
wp_content
Le dossier wp_content contient toutes les données téléchargées par l’utilisateur et est à nouveau divisé en trois sous-dossiers :
- thèmes
- plug-ins
- téléchargements
Le répertoire « thèmes » contient tous les thèmes qui sont installés sur votre site WordPress. Chaque fichier wordpress.zip que vous téléchargez à partir de WordPress.org a 2 thèmes installés – pour WordPress 3.6.1, ce sont Twenty Twelve et Twenty Thirteen. Vous pouvez installer autant de thèmes que vous le souhaitez, mais ne pouvez activer qu’un thème à la fois (bien qu’il existe des plugins qui vous permettent d’en activer plus). De plus, le répertoire « thèmes » ne peut jamais être vide, car WordPress a besoin d’au moins un thème pour travailler !
De même, les « plugins » servent à stocker tous les plugins installés sur votre site WordPress. Contrairement au répertoire « thèmes », ce répertoire peut être vide car vous pouvez parfaitement exécuter un site WordPress sans utiliser de plugins. Vous êtes libre d’activer autant de plugins que vous le souhaitez, mais c’est une bonne pratique de n’installer que ceux qui sont nécessaires. Consultez l’article de Kyla sur les différents plugins WordPress disponibles aujourd’hui.
Toutes les images (et autres fichiers multimédias) que vous avez téléchargées depuis le lancement de votre site, ainsi que tous les futurs téléchargements, seront stockés dans le répertoire « téléchargements », classés par année, mois et jour. Ce dossier peut être considéré comme la base de données de toutes les données non textuelles – images, PDF, vidéos, MP3, etc. C’est pourquoi il est recommandé de restreindre l’accès public à ces dossiers. Ceci peut être réalisé en modifiant le fichier .htaccess, présent dans le répertoire wp_content. Par conséquent, lors d’une sauvegarde ; copier uniquement le dossier d’installation de WordPress ne fait pas l’affaire. Vous devez copier à la fois la base de données et l’intégralité du contenu de votre répertoire d’installation WordPress !
L’anatomie d’une requête WordPress
Ou comme j’aime l’appeler,
Que se passe-t-il lorsque quelqu’un consulte votre blog ?
Lorsque quelqu’un visite votre site Web propulsé par WordPress, WordPress génère dynamiquement un code HTML (combiné avec CSS et JS) et le sert au visiteur. Vous ne verrez pas l’extension .html après l’URL (comme vous l’avez peut-être vu sur certains anciens sites Web) car ce contenu est généré dynamiquement. Les points suivants sont une généralisation des actions qui ont lieu en cas de demande de page Web :
- Le navigateur du visiteur demande une page Web
- Le noyau de WordPress (peut être considéré comme le cerveau de WordPress) appelle les scripts PHP requis en commençant par index.php
- Le noyau WP communique alors avec sa base de données et récupère les données (articles/pages etc.)
- Il combine ensuite les données récupérées, les données des plugins actuellement actifs et le thème actuellement actif et génère le code HTML « à la volée » ou « dynamiquement »
- Il sert ensuite ce code HTML généré dynamiquement au navigateur du visiteur
De même, lorsqu’un article est publié ou enregistré, ou qu’un commentaire est soumis, ou qu’une recherche est effectuée, le noyau WordPress effectue les opérations internes requises et les enregistre dans sa base de données pour une utilisation future et il en informe également l’administrateur WordPress. Vous (l’administrateur) les voyez comme un nouveau commentaire en attente de modération, ou un nombre « x » de commentaires dans votre file d’attente de spam, etc.
Maintenant, répéter toutes ces étapes chaque fois que quelqu’un demande une page Web (publication, page, page d’archive, n’importe quoi) est un travail qui prend du temps et des ressources. C’est bien quand 10 personnes visitent votre site. Mais augmentez cela de 100, 1000 ou d’un million, alors le vrai problème commence. Seuls les superordinateurs seraient capables de gérer autant d’opérations simultanées. Et la plupart des sites WordPress sont hébergés sur des serveurs d’hébergement Web partagés, qui ont peut-être 1/1000e de la puissance des supercalculateurs.
Donc que faisons-nous maintenant? Entrez dans la mise en cache WordPress. Nous ne le couvrirons pas ici, alors restez à l’écoute pour la prochaine partie de la série – une introduction à la mise en cache WordPress.