💡 Comment s'en servir : pour chaque question,
entraînez-vous à répondre à voix haute en 1 à 2 minutes, en vous
appuyant sur un exemple concret de votre projet (« dans mon
application, j'ai fait… parce que… »). Le jury cherche à vérifier
que vous comprenez vos choix, pas que vous connaissez la
théorie.
🎨 Bloc 1 — Front-end
Environnement de travail & outils 8 questions
- Quels outils composent votre environnement de développement, et pourquoi ces choix ?
- Comment avez-vous versionné votre code ? Décrivez votre workflow Git (branches, commits, pull requests). Attendez-vous à « montrez-moi un commit / expliquez ce message ».
- À quoi sert un fichier
.gitignore? Qu'y avez-vous mis ? - Qu'est-ce qu'un gestionnaire de paquets (npm, composer…) ? Différence entre dépendances et dépendances de développement ?
- À quoi sert un outil de build / bundler (Vite, Webpack) ? Que se passe-t-il exactement quand vous lancez le build ?
- Comment déboguez-vous un problème d'affichage ? Quels outils du navigateur utilisez-vous ?
- Qu'est-ce qu'un linter ? Qu'apporte-t-il à votre projet ?
- Comment gérez-vous les variables sensibles (clés d'API) dans votre environnement ?
Maquettage & UX/UI 7 questions
- Quel outil de maquettage avez-vous utilisé ? Montrez-nous une maquette et l'écran final correspondant.
- Différence entre un wireframe, une maquette et un prototype ?
- Qu'est-ce qu'un zoning et une charte graphique ? Comment avez-vous défini vos couleurs et typographies ?
- Comment avez-vous pris en compte l'expérience utilisateur (parcours, ergonomie) ?
- Qu'est-ce que le mobile-first ? L'avez-vous appliqué ?
- Comment avez-vous intégré l'accessibilité (RGAA) dès la maquette ? (contrastes, tailles, ordre de lecture)
- Qu'est-ce qu'un design system ou une bibliothèque de composants ? En avez-vous utilisé un ?
Interfaces statiques (HTML / CSS) 8 questions
- Qu'est-ce que le HTML sémantique ? Citez des balises sémantiques et leur rôle.
- Différence entre un élément block et inline ?
- Expliquez le modèle de boîte (box model) en CSS.
- Flexbox ou Grid : quand utiliser l'un plutôt que l'autre ?
- Comment rendez-vous un site responsive ? Qu'est-ce qu'une media query ?
- Qu'est-ce que la spécificité CSS ? Comment se résout un conflit de règles ?
- Comment garantissez-vous l'accessibilité au clavier et pour les lecteurs d'écran (attributs ARIA, focus,
alt) ? - Comment testez-vous le rendu sur différents navigateurs ?
Interfaces dynamiques (JavaScript) 9 questions
- Qu'est-ce que le DOM ? Comment le manipulez-vous en JavaScript ?
- Qu'est-ce qu'un event listener ? Donnez un exemple tiré de votre projet.
- Comment communiquez-vous avec le serveur côté client (
fetch, AJAX) ? Que renvoie une API ? - Qu'est-ce qu'une promesse (Promise) ? À quoi servent
async/await? - Comment gérez-vous les erreurs d'un appel réseau côté client ?
- Pourquoi valider les données côté client et côté serveur ?
- Si vous avez utilisé un framework (React, Vue, Angular) : pourquoi ce choix ? Qu'est-ce qu'un composant ? Comment gérez-vous l'état ?
- Qu'est-ce qu'une faille XSS ? Comment vous en protégez-vous côté front ?
- Comment optimisez-vous les performances front (images, lazy loading, minification) ?
⚙️ Bloc 2 — Back-end
Base de données relationnelle 9 questions
- Présentez le modèle de données de votre application (MCD / MLD). Montrez le schéma.
- Qu'est-ce que la normalisation ? Que sont les 1re, 2e et 3e formes normales ?
- Différence entre clé primaire et clé étrangère ?
- Quels types de relations existe-t-il (1-1, 1-N, N-N) ? Comment implémente-t-on un N-N ?
- Qu'est-ce qu'un index ? Quand et pourquoi en créer un ?
- Comment garantissez-vous l'intégrité des données (contraintes, types) ?
- Comment sécurisez-vous l'accès à la base (droits utilisateurs, mots de passe) ?
- Où et comment sont stockés les mots de passe des utilisateurs ? Réponse attendue : jamais en clair — hachage + sel (bcrypt, Argon2).
- Comment sauvegardez-vous vos données ?
Accès aux données (SQL & NoSQL) 8 questions
- Écrivez / expliquez une requête SQL de votre projet avec une jointure.
- Différence entre
INNER JOINetLEFT JOIN? - Qu'est-ce qu'une injection SQL ? Comment l'empêchez-vous ? Réponse attendue : requêtes préparées / paramétrées.
- Qu'est-ce qu'un ORM (ou ODM) ? Quels avantages et inconvénients ?
- Différence entre une base SQL et une base NoSQL ? Quand choisir l'une ou l'autre ?
- Qu'est-ce qu'une transaction ? Que signifie ACID ?
- Comment paginez-vous ou filtrez-vous de grandes quantités de données ?
- Comment validez-vous et nettoyez-vous les données avant insertion ?
Composants métier côté serveur 9 questions
- Quelle architecture avez-vous adoptée côté serveur (MVC, couches) ? Expliquez le rôle de chaque partie.
- Qu'est-ce qu'une API REST ? Citez les verbes HTTP et leur usage.
- Que signifient les codes de statut HTTP (200, 201, 400, 401, 403, 404, 500) ?
- Comment fonctionne votre système d'authentification ? (session, JWT)
- Différence entre authentification et autorisation ? Comment gérez-vous les rôles ?
- Qu'est-ce que le OWASP Top 10 ? Citez des failles et vos protections (CSRF, XSS, injection…).
- Comment gérez-vous les erreurs et les logs côté serveur ?
- Qu'est-ce que le CORS ? Pourquoi peut-il poser problème ?
- Où placez-vous la logique métier, et pourquoi pas dans le front ?
Déploiement & documentation 7 questions
- Où et comment votre application est-elle déployée ? Décrivez les étapes.
- Différence entre les environnements de développement, de test et de production ?
- Comment gérez-vous la configuration selon l'environnement (variables d'environnement) ?
- Qu'est-ce que Docker / la conteneurisation ? (si utilisé) Quel intérêt ?
- Qu'est-ce que l'intégration et le déploiement continus (CI/CD) ?
- Comment assurez-vous que le passage en production ne casse rien ?
- Comment un autre développeur peut-il installer et lancer votre projet ? (README, doc technique)
🛡️ Compétences transversales
Sécurité (fil rouge du titre) 7 questions
- Citez trois mesures de sécurité concrètes mises en place dans votre application.
- Comment protégez-vous les mots de passe et les données personnelles ?
- HTTP vs HTTPS : quelle différence, et pourquoi HTTPS ?
- Qu'est-ce qu'une faille CSRF ? Comment la contrer ?
- Comment gérez-vous les permissions pour éviter qu'un utilisateur accède aux données d'un autre ?
- Comment restez-vous informé·e des nouvelles vulnérabilités (veille sécurité) ?
- Que faites-vous en cas d'incident de sécurité en production ?
RGPD, accessibilité (RGAA) & éco-conception 7 questions
- Quelles obligations RGPD s'appliquent à votre application ? (consentement, mentions légales, droit à l'oubli)
- Quelles données personnelles collectez-vous, et pourquoi ?
- Qu'est-ce que le RGAA ? Citez des critères d'accessibilité respectés.
- Comment un utilisateur non-voyant navigue-t-il sur votre site ?
- Comment vérifiez-vous les contrastes de couleurs ?
- Qu'est-ce que l'éco-conception web ? Qu'avez-vous mis en place ?
- Pourquoi l'information ne doit-elle jamais reposer uniquement sur la couleur ?
Veille technologique & anglais (B1) 6 questions
- Comment organisez-vous votre veille technologique ? Quelles sources ?
- Citez une technologie ou bonne pratique découverte récemment en veille.
- Can you describe your project in English ? Le questionnaire pro comporte une doc technique en anglais + réponses courtes en anglais.
- What technologies did you use, and why ?
- What was the biggest challenge in your project, and how did you solve it ?
- Comment lisez-vous une documentation technique rédigée en anglais ?
🎤 Soutenance & entretien final
Présentation du projet & posture professionnelle 10 questions
- Présentez votre projet en 2 minutes : contexte, objectif, votre rôle.
- Pourquoi ces choix techniques ? Quelles alternatives aviez-vous envisagées ?
- Quelle a été la plus grande difficulté ? Comment l'avez-vous résolue ?
- De quelle réalisation êtes-vous le·la plus fier·ère ?
- Si vous deviez recommencer, que feriez-vous différemment ?
- Comment avez-vous testé votre application ? (tests, recette)
- Comment avez-vous organisé votre travail et géré votre temps ?
- Comment réagissez-vous face à un bug bloquant que vous ne comprenez pas ?
- Quelles fonctionnalités ajouteriez-vous pour faire évoluer le projet ?
- Pourquoi le métier de développeur·euse web ? Quel est votre projet professionnel ?
📌 À retenir : le jury évalue votre
maîtrise réelle des compétences des deux blocs. Une
réponse honnête « je ne l'ai pas mis en place, mais voici comment
j'aurais fait » vaut mieux qu'un terme technique mal maîtrisé.
Appuyez-vous toujours sur des exemples de votre projet.