Créer une base de données pour un site web
Dans la poursuite de mon premier article sur le processus de création de mon blog, j'ai décidé de vous présenter une partie du back-end de mon site : la base de données. Cela fait un peu peur aux premiers abords je vous l'accorde mais ne vous inquiétez pas, vous aller comprendre rapidement. Mon but à travers ces articles sur la programmation sont là pour à la fois vous apprendre et me permettre de mettre à plat ce que j'ai compris et surtout, démontrer que c'est à la portée de tout le monde.
Les bases de données sont utilisées pour stocker des données et les structurer. Il faut savoir que la plupart de nos sites utilisent des systèmes de gestion de base de données (SGBD). Il existe plusieurs SGBD, par exemple SQLite et PostgreSQL que j'ai utilisés (et c'est gratuit!). Ces systèmes permettent de gérer cette base de données, la créer, la supprimer, la récupérer ou encore la modifier. Il définit le schéma de données et la structure qui permet le stockage de données et de sécuriser celles-ci.
On peut le voir comme plusieurs tables qui contiennent et mémorisent chacune des informations spécifiques. Ces tables sont liées entre elles et se complètent. Dans mon cas, chaque article est décomposé par une date, un titre, un contenu, une image, une catégorie et éventuellement un ou plusieurs commentaires.
Le modèle client/serveur
Ce modèle se base sur deux applications :
- Le logiciel client : il s'agit d'un serveur local qui se trouve sur des postes de travail
- Le logiciel serveur : il s'agit d'un serveur distant qui se trouve à un seul endroit géré par l'administrateur de la base de donnée qui détermine les règles d'accès aux données et leur manipulation
Ils sont reliés entre eux par des procédés et protocoles. Pour retrouver les informations, des requêtes (= des instructions comme cliquer sur un bouton) sont transmises par le client au serveur, qui y répond. Ces requêtes peuvent être la création, la suppression ou la modification d'une donnée. Il est également possible de créer soi-même sa propre base de données.
Comment j'ai construit ma base de données ?
Pour mon site web j'utilise PostgreSQL, un système de gestion de bases de données relationnelle et objet (soit qui gère un ensemble de données complexes avec une architecture orientée objet). Les informations se trouvent sous la forme d'objets. PostgresSQL peut stocker un grand nombre de données, ce qui est intéressant pour un site web.
Visuellement, ça donne ça :
Schéma d'organisation de ma base de données
Comme vous le visualisez, ma base de donnée est divisée en plusieurs objets :
- Les posts
- Les commentaires
- Les utilisateurs
- Les catégories
- Les 'likes' (bientôt disponibles !)
- Les photos (ne concerne que les dessins et peintures)
- Les références projets
- Les favoris (sur le menu slider en page d'accueil)
Chacun de ces objets contiennent des informations qui sont stockées sous forme de données.
Réaliser ces types de schémas est important pour déterminer les données que l'on souhaite garder en mémoire pour éventuellement les afficher. Certaines de ces données ne sont accessibles que dans la surface administrateur, seul l'administrateur du site (en l'occurrence moi) peut les voir.
Ce schéma permet donc de déterminer les données, et comment les objets sont liés entre eux (voir les flèches - les pointillés signifient que ce n'est pas obligatoire). Par exemple, un post peut avoir plusieurs commentaires ou zéro, mais un commentaire ne peut avoir plusieurs utilisateurs. Un utilisateur peut ne pas avoir écrit de commentaires (même si c'est pas cool de sa part !). Par contre, un post ou une photo doit obligatoirement appartenir à une catégorie. La pointe de la flèche détermine si la relation peut être multiple ou non.
Cela contribue à organiser son site, déterminer des règles. Les posts et les photos auront l'option 'like', mais les photos n'auront pas l'option commentaire.
Voilà, maintenant je pense que vous comprenez comment fonctionne une base de données, et à quel point il est important de l'organiser. Tout cela semble logique, mais finalement lorsque l'on débute il y a tant de choses à savoir que tout devient un peu compliqué ! Il faut aller étape par étape et tout s'éclaire au fur et à mesure :)
Cosmo
* À écouter : Tough Times at the Day Bar - Cheap Teeth *
Commentaires
Aucun commentaires pour le moment...
Connectez-vous pour poster un commentaire.