WordPress est un système de gestion de contenu (CMS) permettant d'héberger et de créer des sites Web. Il est le CMS le plus utilisé au monde. WordPress contient une architecture de plug-ins et un système de modèles, de sorte que vous pouvez personnaliser n'importe quel site Web pour l'adapter à votre entreprise, votre blogue, votre portfolio ou votre boutique en ligne. Selon le billet de blogue de Stathopoulos, le succès de WordPress s'explique en partie par le fait qu'il est extensible et qu'il peut être utilisé et modifié pour accomplir presque toutes les tâches sur le Web. Cependant, il y a un aspect de WordPress qui n'a jamais changé.
MySQL n'est pas adapté à certains cas d'utilisation de WordPress
Malgré l'augmentation des cas d'utilisation et de la popularité de WordPress, la base de données est restée la même. Le CMS nécessite l'installation de MySQL/MariaDB sur un site. Mais MySQL n'est sans doute optimal que pour certains scénarios : les sites de taille moyenne. Les grands sites mettent généralement en œuvre des piles de bases de données personnalisées en fonction de leurs besoins spécifiques. À l'extrémité inférieure du spectre, on trouve les sites simples et de petite taille. Ils sont nombreux et comprennent tous les blogues, les pages d'entreprise et les sites qui n'ont pas des milliers d'utilisateurs ou des milliers de messages, etc.
L'équipe estime que ces sites n'ont pas toujours besoin de la complexité d'une base de données MySQL/MariaDB. La nécessité d'un serveur MySQL dédié augmente leur coût d'hébergement et la complexité de l'installation. Sur les serveurs bas de gamme, les performances sont également réduites puisque la même "boîte" doit accueillir à la fois un serveur PHP et un serveur MySQL/MariaDB. « Idéalement, WordPress nous permettrait de choisir le type de base de données lors de l'installation. Cela pourrait se faire à l'aide d'un guide d'installation, ou d'une simple constante dans wp-config.php », a écrit Stathopoulos dans son billet e blogue.
Pour ce faire, WordPress devrait disposer d'une couche d'abstraction de base de données. Il ne s'agit pas d'une idée innovante ou radicale dans l'espace CMS ; Drupal dispose d'une couche d'abstraction de base de données solide depuis plus d'une décennie. Laravel, Symfony et d'autres incluent également des ORM qui permettent d'utiliser plusieurs types de bases de données. Toutefois, l'équipe pense que construire une couche d'abstraction de base de données pour WordPress serait une tâche colossale - même si à un moment donné dans le futur, elle devra peut-être l'entreprendre pour assurer l'évolution continue et la longévité du projet.
Implémentation de SQLite dans WordPress Core
En attendant, l'équipe a pensé à une solution intermédiaire : SQLite. Stathopoulos estime que l'utilisation de SQLite dans WordPress est, à ce stade, simple. Il existe des implémentations qui existent et évoluent depuis plus de 8 ans. Ces dernières ont été testées de manière approfondie et fonctionneraient de manière transparente. Elles sont des fichiers wp-content/db.php que les utilisateurs peuvent ajouter à leur installation. Cependant, la plupart des gens ne les connaissent pas. Ils ne savent pas qu'ils ont la possibilité d'acheter un hébergement moins cher sans-mysql et d'installer WordPress en utilisant une base de données SQLite.
Mais selon Stathopoulos, ils ne devraient pas non plus avoir à le savoir. Après tout, ils veulent juste un simple site d'entreprise ou un blogue. WordPress envisage donc de supporter officiellement SQLite en incluant l'une des implémentations SQLite existantes dans WordPress Core. « Nous devrions nous assurer qu'elle est correctement testée et prise en charge, et en outre, sensibiliser et exposer l'option aux utilisateurs », a écrit Stathopoulos. Pourquoi cela devrait-il être dans Core et non dans un plug-in ? Stathopoulos explique que choisir un type de base de données est quelque chose qui devrait se faire lors de la première installation d'un site.
Ce n'est pas quelque chose qui devrait être fait après coup, car cela nécessiterait de migrer les données d'une base de données à une autre, ce qui peut souvent être complexe. WordPress inclut l'implémentation de MySQL dans le noyau, donc l'équipe estime que si elle doit supporter SQLite, alors cette implémentation devrait cohabiter avec l'implémentation de MySQL. La migration des données peut (et devrait) se faire dans un plug-in afin de faciliter les migrations pour les sites existants s'ils le souhaitent, mais le moteur de base de données lui-même appartient au noyau.
Quels seraient les avantages de la prise en charge de SQLite ?
Selon Stathopoulos, le support officiel de SQLite dans WordPress pourrait avoir de nombreux avantages. En voici quelques-uns :
- des performances accrues sur les serveurs et les environnements bas de gamme ;
- potentiel de croissance de WordPress sur des marchés où il n'a pas accès en raison des exigences du système ;
- potentiel de croissance sur le marché de l'hébergement en utilisant des "scénarios" d'installation ;
- réduction de la consommation d'énergie - durabilité accrue pour le projet WordPress ;
- poursuite de la mission de WordPress visant à "démocratiser l'édition" pour tous ;
- plus facile de contribuer à WordPress - télécharger les fichiers et exécuter le serveur PHP intégré sans autre configuration requise ;
- suite de tests automatisés plus facile à utiliser ;
- les sites peuvent être "portables" et autonomes.
La prise en charge officielle de SQLite par WordPress a été discutée au WordCamp Europe 2022 en juin de cette année, et le projet semble avoir été lancé au WordCamp US 2022 le week-end dernier.
Source : Billet de blogue
Et vous ?
Quel est votre avis sur le sujet ?
Que pensez-vous de la décision de WordPress de prendre en charge SQLite ?
Quels seraient les avantages pour les utilisateurs et les développeurs ?
Voir aussi
La vulnérabilité d'un plug-in WordPress a ouvert un million de sites à une prise de contrôle à distance, cette faille permet à toute personne non identifiée d'accéder aux informations sensibles
WordPress envisage de traiter FLoC de Google comme un problème de sécurité et pourrait le désactiver automatiquement des sites Web, le CMS rappelle qu'il alimente environ 41 % du Web
Les sites WordPress seraient piratés dans les secondes qui suivent l'émission des certificats TLS, les cybercriminels utilisent abusivement le protocole Certificate Transparency proposé par Google
Des milliers de sites Web utilisent un plug-in WordPress bogué qui permet une prise de contrôle complète d'un site, toutes les versions seraient concernées et il n'y a pas de correctif
Des portes dérobées ont été trouvées dans plus de 90 thèmes et plugins WordPress, affectant plus de 360 000 sites actifs, suite à une attaque massive de la chaîne d'approvisionnement