L'équipe de performance de WordPress a intégré un nouveau module SQLite expérimental qui devrait être inclus dans la prochaine version 1.8.0 de l' extension Performance Lab. (Cette extension regroupe plusieurs modules d'amélioration des performances que l'équipe souhaite intégrer au cœur de WordPress.) Ce nouveau module permet aux utilisateurs les plus aventureux de tester la nouvelle implémentation SQLite, sachant que l'expérience utilisateur restera perfectible.
SQLite est un moteur de base de données. C'est un logiciel qui permet aux utilisateurs d'interagir avec une base de données relationnelle. Dans SQLite, une base de données est stockée dans un seul fichier, une fonctionnalité qui la distingue des autres moteurs de base de données. Ce fait permet une grande accessibilité : copier une base de données n'est pas plus compliqué que copier le fichier qui stocke les données, partager une base de données peut signifier envoyer une pièce jointe à un e-mail.
Dans une proposition intitulée « Faisons en sorte que WordPress prenne officiellement en charge SQLite » , Ari Stathopoulos, contributeur senior sponsorisé par Yoast, soutient que les sites moins complexes (sites et blogs de petite et moyenne taille) ne bénéficient pas nécessairement de l'obligation d'utiliser la base de données MySQL standard de WordPress :
Au bas du parc d'utilisateurs WordPress, il y a de petits sites simples. Ceux-ci sont nombreux et se composent de tous les blogs, pages d'entreprises et sites qui n'ont pas des milliers d'utilisateurs ou des milliers de publications, etc. Ces sites Web n'ont pas toujours besoin des subtilités d'une base de données MySQL/MariaDB. L'exigence d'un serveur MySQL dédié augmente les coûts d'hébergement et la complexité de l'installation. Sur les serveurs bas de gamme, cela réduit également les performances car la même "boîte" doit prendre en charge à la fois un serveur PHP et un serveur MySQL/MariaDB.
Dans un monde idéal, les utilisateurs pourraient sélectionner le type de base de données lors de l'installation. Stathopoulos a déclaré que cela nécessiterait que WordPress ait une couche d'abstraction de base de données, que d'autres plates-formes comme Drupal ont depuis plus de 10 ans.
Construire une couche d'abstraction de base de données pour WordPress serait une tâche colossale, même si elle pourrait être une tâche que nous devrons peut-être entreprendre à un moment donné dans le futur pour assurer l'évolution et la longévité continues du projet.
il a dit.
Alternativement, Stathopoulos considère SQLite comme un « ajustement parfait » et a cité les avantages de son utilisation pour les sites Web plus petits :
- C'est la base de données la plus utilisée au monde
- Il est multiplateforme et peut être exécuté sur n'importe quel appareil
- Il est inclus par défaut dans toutes les installations PHP (sauf si explicitement désactivé)
- Les exigences minimales de WordPress seraient un simple serveur PHP, sans avoir besoin d'un serveur de base de données séparé.
- La prise en charge de SQLite permet de réduire les coûts d'hébergement, la consommation d'énergie et les coûts de performances sur les serveurs bas de gamme.
Ce nouveau module d'intégration SQLite repose sur l' extension wp-db-sqlite , un module complémentaire du pilote de base de données SQLite également utilisé par le projet WordPress Sandbox, WASM ne prenant pas en charge MySQL. L'extension wp-db-sqlite était elle-même basée sur le travail initial de Kojima Toshiyasu concernant son extension SQLite Integration, vieille de huit ans et désormais indisponible au téléchargement sur WordPress.org. Selon Stathopoulos, ces solutions ont évolué au fil des ans, ont été rigoureusement testées et ont démontré leur fiabilité, bien qu'elles restent peu connues des utilisateurs.
Matt Mullenweg a exprimé son soutien à la proposition, ce qui laisse entrevoir de bonnes chances que son intégration au cœur du système soit un jour envisagée. La plupart des participants à la discussion ont approuvé l'idée, tout en soulignant certains inconvénients potentiels, notamment une prise en charge moins performante de fonctionnalités telles que l'édition et la recherche multi-auteurs.
MySQL est et devrait continuer d'être la solution par défaut, car si vous aspirez à être la prochaine grande entreprise, MySQL peut mieux évoluer. Si, par contre, vous voulez juste un blog, un site d'entreprise avec votre page à propos et un formulaire de contact pour avoir une présence en ligne, ou tout type de petit site (ce qui est probablement la plupart des sites sur WordPress), alors SQLite est tout ce dont vous avez besoin. dont vous aurez besoin et qui fonctionneront beaucoup mieux.
dit Stathopoulos.
Certains participants à la discussion ont également exprimé leur irritation face au code de déontologie religieux controversé que SQLite impose à ses contributeurs. Stathopoulos estime que cela ne pose aucun problème, car le projet est open source et la technologie est largement utilisée.
« Sa popularité en dit long sur ses capacités et ses domaines d’application », a-t-il déclaré en réponse aux critiques concernant l’idée d’associer WordPress à un projet dont le code de déontologie est discutable.
Si vous utilisez WordPress depuis ses débuts, vous avez sans doute constaté sa complexification au fil des ans. L'idée d'une version allégée de WordPress refait surface régulièrement, mais les fonctionnalités spécifiques de la plateforme semblent avoir joué un rôle majeur dans sa présence sur 43 % du web (selon W3Techs ). Andrew Wilder, fondateur de NerdPress, a suggéré qu'une implémentation SQLite pourrait bénéficier d'une appellation comme « WordPress Lite ».
En lisant les commentaires et les problèmes potentiels ci-dessus, si cela devait aller de l'avant, peut-être que la façon de l'implémenter d'une manière qui a du sens pour les utilisateurs serait de le marquer simultanément comme 'WordPress Lite' Donc, si un site utilise SQLite, il peut y avoir des fonctionnalités qu'ils ne sont tout simplement plus disponibles (comme plusieurs auteurs ou peut-être que des plugins qui ont certaines exigences de base de données ne peuvent pas être installés).
dit Wilder.
Les personnes intéressées à tester le nouveau module d'intégration SQLite devraient pouvoir le tester la semaine prochaine. Felix Arntz, contributeur à l'équipe de performance sponsorisée par Google, a fourni quelques notes de test lors de la réunion d'équipe d'hier :
Pour l'implémentation de SQLite, outre le bon fonctionnement de la seule base de données SQLite, un autre aspect crucial à tester est l'expérience utilisateur à l'activation du module. Vous obtiendrez une toute nouvelle base de données, mais nous avons ajouté une logique pour rendre la transition aussi simple que possible : dans une configuration WordPress typique, vous ne devriez pas avoir besoin de réinstaller WordPress vous-même lorsque vous activez le
module, et vous ne devriez même pas avoir besoin de vous reconnecter. Fondamentalement, le PR a la logique d'installer WordPress automatiquement dans la nouvelle base de données, en utilisant les mêmes données de configuration de base qui se trouvent dans la base de données régulière.
Notez qu'il ne s'agit pas du tout d'une migration. C'est juste l'installation que vous obtiendrez ; aucun contenu ne sera migré.
La version 1.8.0 du plug-in Performance Lab est attendue le lundi 19 décembre et inclura le nouveau module.