IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)

Vous êtes nouveau sur Developpez.com ? Créez votre compte ou connectez-vous afin de pouvoir participer !

Vous devez avoir un compte Developpez.com et être connecté pour pouvoir participer aux discussions.

Vous n'avez pas encore de compte Developpez.com ? Créez-en un en quelques instants, c'est entièrement gratuit !

Si vous disposez déjà d'un compte et qu'il est bien activé, connectez-vous à l'aide du formulaire ci-dessous.

Identifiez-vous
Identifiant
Mot de passe
Mot de passe oublié ?
Créer un compte

L'inscription est gratuite et ne vous prendra que quelques instants !

Je m'inscris !

Support officiel de SQLite pour WordPress : un nouveau module permettant de tester l'implémentation de SQLite,
Introduit par Ari Stathopoulos

Le , par Bruno

165PARTAGES

5  0 
Dans une publication datant du 11 septembre, Ari Stathopoulos, développeur WordPress, et qui se présente également comme un évangéliste du développement durable, plaide pour un support officiel de SQLite dans WordPress. Dans un appel à l'action, Stathopoulos écrit : « Faisons-en sorte que WordPress supporte officiellement SQLite ». Plus tôt, cette semaine, il introduit un module permettant de tester l'implémentation de SQLite dans WordPress.

Il s'agit d'un travail continu en cours, mais il fonctionnerait suffisamment bien pour être inclus en tant que module expérimental. « Les problèmes ne concernent pas tant l'implémentation de SQLite elle-même que l'activation/désactivation du module et l'expérience globale de l'utilisateur au cours de ce processus », écrit Stathopoulos.

À la base, WordPress est le moyen le plus simple et le plus populaire de créer votre propre site Web ou blog. En fait, WordPress alimente plus de 43,3 % de tous les sites Web sur Internet. Oui, plus d'un site Web sur quatre que vous visitez est probablement alimenté par WordPress. D'un point de vue un peu plus technique, WordPress est un système de gestion de contenu open source sous licence GPLv2, ce qui signifie que tout le monde peut utiliser ou modifier le logiciel WordPress gratuitement. Un système de gestion de contenu est essentiellement un outil qui permet de gérer facilement les aspects importants de votre site Web, comme le contenu, sans avoir besoin de s'y connaître en programmation.


Le résultat final est que WordPress rend la création d'un site web accessible à tous, même aux personnes qui ne sont pas des développeurs. Le succès de WordPress s'explique en partie par le fait qu'il est extensible, accrochable et qu'il peut être utilisé et modifié pour accomplir presque toutes les tâches sur le Web. Cependant, un aspect de WordPress n'a jamais changé, malgré l'augmentation des cas d'utilisation et de la popularité de WordPress : la base de données.

« WordPress nécessite l'installation de MySQL/MariaDB sur un site. 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, ce qui dépasse le cadre de cette proposition », écrit Stathopoulos.
SQLite est un moteur de base de données relationnelle léger accessible par le langage SQL.

Contrairement aux serveurs de bases de données traditionnels, comme MySQL ou PostgreSQL, sa particularité est de ne pas reproduire le schéma habituel client-serveur, mais d'être directement intégrée aux programmes. Selon l'équipe de développement de SQLite, le SGBD est probablement l'un des cinq modules logiciels les plus déployés, toutes descriptions confondues. Étant donné que SQLite est largement utilisé dans tous les smartphones et qu'il y a plus de 4,0 milliards de smartphones en service, chacun contenant des centaines de fichiers de base de données SQLite, il est probable qu'il y ait plus d'un trillion de bases de données SQLite en service. Cette présentation de SQLite est-elle suffisante pour plaider en faveur d’un support officiel de SQLite dans WordPress ?


Idéalement, WordPress permettrait de choisir le type de base de données lors de l'installation. Cela pourrait être fait à l'aide d'un guide d'installation, ou d'une simple constante dans wp-config.php. 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 des systèmes de gestion de contenu (content management system ou CMS en anglais); 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 (Object-Relational Mapping ) qui permettent d'utiliser plusieurs types de bases de données.

Construire une couche d'abstraction de base de données pour WordPress serait une tâche colossale bien que selon Stathopoulos, ce serait une tâche que, à un moment donné dans le futur, nous devrons peut-être entreprendre pour assurer l'évolution continue et la longévité du projet. En guise de solution intermédiaire, Stathopoulos propose de mettre en œuvre une solution pour les sites et blogs de petite et moyenne taille. « Ces sites n'ont pas nécessairement besoin d'une base de données MySQL à part entière », estime-t-il. Pour lui, SQLite semble être la solution idéale :

  • c'est la base de données la plus utilisée dans le monde (déjà dit) ;
  • elle est multiplateforme et peut fonctionner sur n'importe quel appareil ;
  • Elle est incluse par défaut dans toutes les installations PHP (sauf si elle est explicitement désactivée).

SQLite s'efforce d'être flexible en ce qui concerne les types de données du contenu qu'il stocke. Par exemple, si une colonne de la table a pour type INTEGER, SQLite essaie de convertir tout ce qui est inséré dans cette colonne en un nombre entier. Ainsi, une tentative d'insertion de la chaîne 123 se traduit par l'insertion d'un nombre entier 123. Mais si le contenu ne peut pas être converti sans perte en un nombre entier, par exemple si l'entrée est 'xyz', alors la chaîne originale est insérée à la place.

SQLite est probablement plus utilisé que tous les autres moteurs de base de données réunis. Des milliards et des milliards de copies de SQLite existent dans la nature. SQLite est présent dans :

  • tous les navigateurs web Firefox, Chrome et Safari ;
  • la plupart des téléviseurs et des décodeurs câble ;
  • la plupart des systèmes multimédias automobiles ;
  • d'innombrables millions d'autres applications ;
  • toutes les instances de Skype ;
  • chaque instance d'iTunes ;
  • chaque appareil Android ;
  • tous les clients Dropbox ;
  • PHP et Python ;
  • chaque Mac.

Certains développeurs apprécient la liberté qu'offrent les règles de typage flexibles de SQLite et utilisent cette liberté à leur avantage.
De l’avis de Stathopoulos, la configuration minimale requise pour WordPress serait un simple serveur PHP, sans besoin d'un serveur de base de données distinct. La prise en charge de SQLite permettrait de réduire les coûts d'hébergement, de diminuer la consommation d'énergie et de réduire les coûts de performance sur les serveurs bas de gamme.

Implémentation de SQLite dans WordPress Core

L'utilisation de SQLite dans WordPress est, à ce stade, simple ; il existe des implémentations qui existent et évoluent depuis plus de 8 ans. Elles ont été testées de manière approfondie et il a été prouvé qu'elles fonctionnent de manière transparente. Ces implémentations sont des fichiers wp-content/db.php que les utilisateurs...
La fin de cet article est réservée aux abonnés. Soutenez le Club Developpez.com en prenant un abonnement pour que nous puissions continuer à vous proposer des publications.

Une erreur dans cette actualité ? Signalez-nous-la !

Avatar de smarties
Expert confirmé https://www.developpez.com
Le 17/12/2022 à 14:20
C'est une bonne idée car les petits sites sans les commentaires n'ont pas besoin d'accès concurrents en écriture.
La migration de MySQL vers SQLite semble possible mais l'inverse n'est pas dit explicitement.
Pour les sauvegarde de BDD c'est aussi hyper simple avec SQLite
2  0 
Avatar de floyer
Membre éclairé https://www.developpez.com
Le 18/12/2022 à 20:35
Effectivement, une base de données SQLite se sauvegarde très simplement : une simple copie de fichiers. (toutefois, si on sauve le fichier pendant une transaction, cela posera problème).

Avec Mariadb, on a mariabackup qui sauvegarde les fichiers et rejoue les transactions en cours, donc pas de problème de fichier corrompu même pendant une transaction. mysqldump fonctionne assez facilement aussi (mais la restauration et longue pour des grosses bases). Par contre, à la restauration, il faut recréer une base vide (create database ...), les droits associés (grant ...). Bref, tout n'est pas si simple.
0  0