Sessions : Mémoire côté serveur
Une session permet de stocker des informations sur un utilisateur pendant qu'il navigue sur votre site.
Les données sont stockées sur le serveur, pas sur l'ordinateur du visiteur.
Fonctionnement :
1. L'utilisateur visite le site
2. PHP génère un ID de session unique
3. Cet ID est envoyé au navigateur (cookie PHPSESSID)
4. Les données sont stockées sur le serveur
Exemple concret : Quand vous vous connectez sur un site, votre nom d'utilisateur est stocké en session. Vous restez connecté sur toutes les pages jusqu'à la déconnexion.
Démarrer une session
Page 1 : Stocker des données
Page 2 : Lire les données
Cookies : Mémoire côté client
Un cookie est un petit fichier texte stocké sur l'ordinateur du visiteur.
| Critère | Sessions | Cookies |
|---|---|---|
| Stockage | Sur le serveur | Sur l'ordinateur du visiteur |
| Sécurité | Plus sécurisé | Moins sécurisé |
| Taille | Illimitée | 4 Ko max |
| Durée de vie | Jusqu'à fermeture navigateur | Jusqu'à expiration définie |
| Utilisation | Données sensibles | Préférences |
Objectifs de ce cours :
✅ Comprendre la différence entre sessions et cookies
✅ Utiliser session_start() et $_SESSION
✅ Créer et lire des cookies avec setcookie() et $_COOKIE
✅ Gérer un panier d'achat simple
✅ Savoir quand utiliser sessions vs cookies
Points clés à retenir :
• Les sessions stockent les données sur le serveur (sécurisé)
• Les cookies stockent les données chez le client (moins sécurisé)
• session_start() doit être appelé avant tout HTML
• setcookie() doit aussi être appelé avant tout HTML
• Les cookies sont disponibles au prochain chargement de page
• Utiliser sessions pour données sensibles, cookies pour préférences
• Toujours utiliser htmlspecialchars() sur les données affichées
• Pour supprimer un cookie, définir une date d'expiration passée
Analogie de Froggie :
Sessions = Ma mémoire à court terme : Je me souviens de toi tant que tu es dans ma mare (site web). Stocké dans mon cerveau (serveur) - personne ne peut y accéder !
Cookies = Ma mémoire à long terme : Je te donne un petit nénuphar (cookie) que tu gardes chez toi. Quand tu reviens, tu me le montres : "Ah oui, je me souviens de toi !"
Exercice pratique :
1. Créez deux fichiers : page1.php et page2.php
2. Dans page1.php, utilisez session_start() et stockez votre nom en session
3. Dans page2.php, utilisez session_start() et affichez le nom stocké
4. Créez un cookie pour sauvegarder une préférence de thème
5. Testez la persistance des données entre les pages
