Leçon 1 / 8
Leçon 01 · Partie 1 — Bases de données

Introduction aux bases de données

Pourquoi une base de données ?

PHP peut générer des pages dynamiques. Mais il a un problème : tout disparaît à chaque requête. Formulaire soumis ? Données perdues. Liste de produits ? Écrites en dur dans le code.

Une base de données résout ce problème. Elle permet de stocker et retrouver des données de façon permanente. Les données survivent aux rechargements de page et aux redémarrages du serveur.

C'est quoi une base de données relationnelle ?

Il existe plusieurs types de bases de données. En PHP, on utilise surtout les bases relationnelles. Les données sont organisées en tables. Pense à un tableau Excel : même idée.

💡

Imagine une table utilisateurs :

+----+------------+-------------------+-----+
| id | nom        | email             | age |
+----+------------+-------------------+-----+
|  1 | Alice      | alice@ex.com      | 28  |
|  2 | Bob        | bob@ex.com        | 34  |
|  3 | Camille    | camille@ex.com    | 22  |
+----+------------+-------------------+-----+

Chaque ligne = un enregistrement. Par exemple, un utilisateur. Chaque colonne = une propriété. Par exemple, le nom. MySQL stocke tout ça. On interroge avec SQL.

SQL : le langage des bases de données

SQL est le langage pour parler à une base de données. Tu décris ce que tu veux. MySQL s'occupe du reste.

-- Récupérer tous les utilisateurs
SELECT * FROM utilisateurs;

-- Récupérer seulement ceux de plus de 25 ans
SELECT nom, email FROM utilisateurs WHERE age > 25;

-- Ajouter un utilisateur
INSERT INTO utilisateurs (nom, email, age)
VALUES ('David', 'david@ex.com', 31);

MySQL vs les autres

🐬

MySQL

Le plus utilisé avec PHP. Gratuit, rapide, bien documenté. Utilisé par Facebook, Twitter (à l'origine), Wikipedia.

mysql.com
🐘

PostgreSQL

Plus puissant que MySQL, plus strict. Préféré pour les applications complexes. Très utilisé avec Python/Django.

postgresql.org
💾

SQLite

Base de données dans un seul fichier. Parfait pour les petits projets, applications mobiles. Pas besoin de serveur.

sqlite.org
🍃

MongoDB

Non-relationnel (NoSQL). Stocke des documents JSON. Populaire avec Node.js. Pas de tables ni de SQL.

mongodb.com

Comment installer MySQL

Utilise XAMPP (Windows/Mac/Linux) ou MAMP (Mac). Ces outils installent Apache, MySQL et PHP en un clic. Tout ce qu'il faut pour coder en local.

Avec XAMPP :

  1. Télécharge XAMPP sur apachefriends.org
  2. Lance l'installateur, installe tout par défaut
  3. Ouvre le panneau de contrôle XAMPP, démarre Apache et MySQL
  4. Ouvre phpMyAdmin dans ton navigateur : http://localhost/phpmyadmin

phpMyAdmin : l'interface graphique de MySQL

phpMyAdmin est une interface web pour gérer MySQL. Pas besoin de taper des commandes. Tu peux :

  • Créer des bases de données et des tables
  • Voir et modifier les données directement
  • Exécuter des requêtes SQL
  • Importer/exporter des données

Outil parfait pour débuter. On s'en sert dans les prochaines leçons.

La relation PHP ↔ MySQL

// Schéma de fonctionnement

Navigateur
     requête HTTP
PHP (serveur)
     requête SQL
MySQL (base de données)
     résultat
PHP construit la page HTML
     réponse HTML
Navigateur affiche la page

PHP est au milieu. Il reçoit la demande du navigateur. Il interroge MySQL. Il construit le HTML avec les données. Puis renvoie au navigateur.

// À retenir
  • Base de données = système de stockage permanent et organisé
  • Données organisées en tables (comme un tableau Excel)
  • SQL = langage pour interroger et modifier les données
  • MySQL = BDD relationnelle la plus utilisée avec PHP
  • XAMPP = installer Apache + MySQL + PHP en local en un clic
  • phpMyAdmin = interface graphique pour gérer MySQL