12 questions pour valider Bases de données & POO : PDO et requêtes préparées, POO, namespaces et Composer, sécurité XSS/CSRF/hachage.
Répondez à tout, puis cliquez sur Corriger : score et explications s'affichent.
3.1 · Rappel
1. Une requête préparée PDO, c'est d'abord…
Code et données séparés : la base traite les valeurs comme données pures.
3.1 · Application
2. Riad cherche un client par email saisi. Il écrit…
Marqueur nommé + execute() : aucune concaténation, pas d'injection.
3.1 · Arbitrage
3. Un collègue concatène l'entrée « juste pour tester ». Arbitrage correct ?
Le code de test finit en production ; l'injection naît d'une concaténation.
3.2 · Rappel
4. L'encapsulation recommande…
L'objet protège son état : l'invalide est refusé à la source.
3.2 · Application
5. Riad crée un admin spécialisé depuis Utilisateur. Il écrit…
Extends = réutiliser et spécialiser (relation « est un »).
3.2 · Application
6. Riad veut un contrat Notifiable pour plusieurs classes. Il écrit…
L'interface contracte : les classes s'engagent, le code se découple.
3.3 · Rappel
7. Les namespaces servent d'abord à…
Deux User coexistent dans des espaces différents (use pour importer).
3.3 · Application
8. Riad installe une bibliothèque d'envoi via Composer. Il écrit…
Composer installe, résout et génère l'autoloader PSR-4.
3.3 · Arbitrage
9. Faut-il versionner vendor/ dans Git ? Arbitrage correct ?
Vendor/ est régénérable ; le lock garantit la reproductibilité.
3.4 · Rappel
10. Contre le XSS à l'affichage, le réflexe est…
Échappé, le script injecté devient du texte inoffensif.
3.4 · Application
11. Riad stocke un mot de passe à l'inscription. Il écrit…
Haché au stockage, vérifié par password_verify() : jamais en clair.
3.4 · Arbitrage
12. Avant mise en ligne, la boutique affiche des pseudos bruts et n'a aucun jeton CSRF. Arbitrage correct ?
XSS et CSRF se ferment avant l'ouverture : chaque sortie a sa parade.
Et après ?
Score ≥ 80 % : passez au Niveau 4 — MVC, Laravel/Symfony et API REST (construire sur des bases saines et sûres).
Score 50-79 % : reprenez les sections ratées (préparées en 3.1, encapsulation en 3.2, PSR-4/Composer en 3.3, quatuor sécu en 3.4) puis refaites le test.
Score < 50 % : relisez le niveau 2 (formulaires, sessions, inclusions) puis rejouez chaque défi 48h dans l'ordre.