fbpx
/ English
SQLite

SQLite pour vos projets PHP

Introduction

Lorsqu’on parle de développement Web, on sous-entends souvent des projets à configuration LAMP et de-facto une base de données traditionnelle, probablement avec un serveur de données MySQL. Bien qu’une base de données MySQL offre de nombreux avantages, mon expérience m’a révélée qu’en début de projet, une alternative n’est que très occasionnellement considérée. L’omniprésence du moteur de base de données sur les serveurs Web en fait un choix très simple. Voulant faire simple, on écarte des solutions alternatives comme NoSQL ou SQLite. Dans le cadre de cet article, nous discuterons spécifiquement de SQLite, ses particularités, ses avantages et quelques cas dans lesquels sont usage est pertinent ou souhaitable.

Compatibilité

La première différence apparente entre MySQL et SQLite, c’est que cette dernière ne fonctionne pas sous le paradigme de serveur/clients. Les bases de données SQLite sont intégrées à l’application. Dans le cas d’une application PHP, cette intégration se fait via l’extension appropriée[1, 2] qui fait les manipulations directement sur le fichier de la base de données. Il va sans dire que cette simplicité de fonctionnement se traduit directement en une très grande rapidité d’exécution. Puisque SQLite est open source et très flexible, il est d’ores et déjà disponible sur toutes les plateformes pour une variété de langages de programmation. Au moment d’écrire ces lignes, il est le moteur de base de données le plus utilisé au monde. Cette grande accessibilité couplée à la grande compatibilité du moteur en fait un candidat de choix pour les projets polymorphes où plusieurs processus ou logiciels doivent interfacer avec une même base de données. C’est aussi simple que de rendre un fichier accessible aux processus ou logiciels concernés et de faire usage de la librairie appropriée. Notez bien que SQLite, de par sa nature plus minimaliste et spartiate, implémente la majeure partie de la révision SQL-92. La majeure partie des opérations usuelles et complexe de SQL devraient être fonctionnelles, mais certaines incompatibilités mineures sont à prévoir. En cas de doute, référez-vous à la documentation offerte en ligne.

Plusieurs frameworks PHP offrent la possibilité d’utiliser SQLite comme moteur de base de données :

Usage

Quelques lignes directrices concernant « quand » utiliser SQLite dans vos projets Web…

  • Si votre base de données ne requiert pas d’être hébergée séparément de l’application.
  • Si votre projet/site internet est destiné à avoir un trafic faible ou moyen (~200 000 visites par jour ou moins).

Comment créer une base de données?

La première chose à faire, si ce n’est déjà fait, est de télécharger et installer une version de SQLite compatible avec votre environnement de développement. SQLite est disponible pour Android, Linux, Mac OS X, Windows et plus.

Une fois le logiciel téléchargé et installé vous vous verrez équipé d’un petit logiciel accessible en ligne de commande. Dans le terminal, vous pour l’exécuter en lançant la commande « sqlite » (ou « sqlite3 » si vous possédez la version la plus récente.

SQLite

De là, vous avez accès à une panoplie de commandes dont vous trouvez la liste en exécutant la commande « .help ». Si vous désirez créer ou ouvrir une base de données existante, vous pouvez utiliser la commande « .open » suivi du nom de fichier. Par exemple, la commande « .open test.db » ouvrira un fichier de base de données intitulé « test.db » dans le dossier racine de l’utilisateur en cours. Si le fichier n’existe pas, il sera créé. À partir de là, vous pourrez utiliser des commandes SQLite ou des requêtes SQL afin de créer la structure de votre base de données et d’y entrer des données.

Et une interface graphique?

Plusieurs d’entre-nous sont plus à l’aise et plus efficace avec une interface graphique. Surtout lorsque ceci à trait à la gestion de base de données. Étant donné la large disponibilité du format, plusieurs interfaces sont disponibles afin de nous faciliter la vie. En voici un bref éventail :

Conclusion

SQLite est un moteur de base de données plein de promesses et de possibilités qui sont étrangères à MySQL et les autres moteurs de base de données utilisant la logique serveur/client. Je vous recommande fortement de faire des essais et d’expérimenter avec le format car il m’est évident que par sa simple nature pourrait propulser vos projets dans une toute nouvelle dimension de créativité et d’efficacité.

*Pour une liste exhaustive des cas de figure et d’usage concernant où utiliser SQLite, je vous invite à vous référer à la documentation qui suit.

Auteur de l'article

David Barbier

Shaman programmeur
David est un passionné qui ne perd pas une minute. À peine sont DEC d’informatique en poche, obtenu avec brio en 2004, il commence sa carrière de programmeur web et PHP. Toujours à l’affût de nouveautés technologiques, il ne cesse d’apprendre et d’engranger de nouvelles compétences afin de proposer ce qui se fait de mieux à nos clients. Rien n’arrête David. Plus le défi à relever est important, plus il y prend de plaisir. Son enthousiasme permanent est un stimulant contagieux pour le reste de l’équipe!

À découvrir sur notre blogue

2017-01-05

CakePHP, ajouter l’affichage d’un message Flash

Gilles Duquerroy / Flexocodeur

Pour la suite de notre tutoriel précédent, on va maintenant afficher un message flash si l’ajout d’utilisateur a bien réussi.

Lire la suite
2017-06-06

Introduction à la balise template

David Barbier / Shaman programmeur

La balise template remplit un besoin similaire aux moteurs de templatings existants, sans pleinement réaliser les fonctionnalités de ses prédécesseurs.

Lire la suite
2016-11-22

Marier SVG & Javascript

David Barbier / Shaman programmeur

SVG (Scalable Vector Graphics / Graphiques vectoriels redimensionnables) est une spécification du W3C qui date déjà de 2001.

Lire la suite
2018-05-01

Les bases de la chaîne de commande de votre projet Web

David Barbier / Shaman programmeur

Dans le domaine du Web, chaque projet est un travail d’équipe. Bien évidemment, je parle ici spécifiquement de l’équipe de production.

Lire la suite

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *

This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.