Quelles informations l’agent doit-il demander en un appel pour une landing page ?
Le nom et l’objectif de la marque, une direction esthétique, trois arguments de vente et l’action attendue des visiteurs.
Quelle opacité doit avoir l’overlay de bruit SVG des presets ?
0,05.
Quels rayons doivent avoir les conteneurs des presets ?
De 2 à 3 rem.
Quelles micro-interactions les presets doivent-ils définir ?
Des micro-interactions pour les boutons et les liens.
Quels éléments composent la structure prescrite d’une landing page ?
Une navbar flottante, un hero plein écran, trois cartes Fonctionnalités interactives, une section Philosophie, trois cartes Protocole, une section Adhésion ou Tarification et un pied de page.
Quelles informations l’agent doit-il demander en un seul appel pour créer un CV en ligne ?
Le nom et le titre professionnel, la direction esthétique, un parcours résumé en deux ou trois phrases, trois expériences principales et cinq compétences clés.
Quelles sections composent la structure d’un CV en ligne ?
Une navbar, un hero, À propos, Expérience, Compétences, Formation, Contact et un pied de page.
Quelles étapes ouvrent un audit de sécurité du code ?
Lire la base de code, modéliser l’architecture et repérer les points d’entrée et les flux de données.
Quels types de secrets recherche-t-on dans le code source ?
Les clés API, tokens, mots de passe, chaînes de connexion et URL de webhook.
Quels motifs indiquent des secrets codés en dur ?
sk_live_, sk_test_, sk-, pk_live_, Bearer, eyJ, ghp_, gho_, github_pat_, xoxb-, xoxp- et AKIA.
Quels fichiers le fichier .gitignore doit-il exclure ?
.env, .env.local, .env.production et .env*.local.
Quels préfixes publics les secrets réservés au serveur doivent-ils éviter ?
NEXT_PUBLIC_, VITE_ et REACT_APP_.
Que vérifie l’audit pour chaque table du schéma public, y compris celles créées par migration ou dans l’éditeur SQL ?
L’activation de la sécurité au niveau des lignes (RLS).
Quelle clause les policies INSERT et UPDATE doivent-elles inclure ?
Une clause WITH CHECK.
Quelle fonction les policies RLS doivent-elles utiliser pour établir l’identité ?
auth.uid().
Où la clé service_role doit-elle être utilisée, et sous quelle condition ?
Uniquement côté serveur, si son usage est réellement nécessaire.
Que vérifie l’audit concernant le middleware d’authentification ?
Il existe, s’exécute sur les routes protégées et son matcher couvre tous les chemins nécessaires.
Comment le refus par défaut protège-t-il les routes ?
Il utilise une liste blanche de routes publiques.
Sur quelle liste repose la protection par exception ?
Une liste noire de routes protégées.
Pourquoi le refus par défaut est-il plus sûr pour les nouvelles routes ?
Les nouvelles routes sont automatiquement protégées.
Quelle méthode Supabase authentifie un utilisateur pour les opérations sensibles côté serveur ?
supabase.auth.getUser().
Où stocker les jetons de session pour empêcher leur accès par le JavaScript de la page ?
Dans des cookies httpOnly.
Que doit vérifier une route API avant de traiter des données utilisateur ?
L’authentification.
Que doivent valider côté serveur toutes les routes API et actions serveur ?
Leurs entrées à l’aide d’une bibliothèque de validation par schéma.
De quelle source doit provenir l’identité utilisée pour une opération d’écriture ?
De la session authentifiée ou du JWT.
Quelle source d’identité est interdite pour les opérations d’écriture ?
Un champ `userId` fourni dans le corps de la requête.
Que faut-il faire au contenu utilisateur rendu en HTML pour prévenir les attaques XSS ?
Le nettoyer.
Quel fichier de verrouillage doit être commité pour éviter les changements silencieux de versions ?
Un lockfile, tel que package-lock.json.
Quel risque le commit d’un lockfile réduit-il lors de l’exécution de npm install ?
La récupération silencieuse de versions différentes, potentiellement compromises.
Pourquoi limiter le débit des routes API appelant des services externes payants ?
Pour prévenir les dépenses causées par le spam d’un endpoint.
Contre quelles attaques limiter le débit des endpoints de connexion, d’inscription, de réinitialisation et d’OTP ?
Contre la force brute et le bourrage d’identifiants.
Où la limitation de débit doit-elle être appliquée ?
Côté serveur, avec un stockage fiable comme Redis ou Upstash.
Où faut-il valider le type et la taille des fichiers téléversés ?
Côté serveur.
Quel attribut d’un fichier téléversé faut-il vérifier plutôt que sa seule extension ?
Son type MIME.
Pourquoi l’extension d’un fichier téléversé ne suffit-elle pas à identifier son type ?
L’utilisateur peut la modifier.
Comment adapter les contrôles d’accès aux fichiers téléversés ?
Selon leur usage.
Quelle politique d’accès convient aux photos de profil téléversées ?
Une politique adaptée aux fichiers publics.
Quelle politique d’accès convient aux documents téléversés ?
Une politique adaptée aux fichiers privés.
Quels indicateurs le tableau de bord du SaaS de facturation doit-il afficher ?
Le nombre total de factures, le montant facturé, le montant payé et le montant en attente.
Quelles informations la création d’une facture doit-elle permettre de saisir ?
Le client, les dates d’émission et d’échéance, et les lignes avec description, quantité et prix unitaire.
Quels calculs et choix le SaaS doit-il proposer pour une facture ?
Une TVA de 18 %, des montants en FCFA arrondis à l’entier, et l’enregistrement comme brouillon ou l’envoi.
Quels sont les quatre presets de landing page ?
Tech Organique, Luxe de Minuit, Signal Brutaliste et Clinique Vapor.
Que définit chacun des presets de landing page ?
Une identité, une palette, des typographies, une ambiance d’image et un modèle de titre hero.
Quelle stack technique est exigée pour la landing page ?
React 19, Tailwind CSS v3.4.17, GSAP 3 avec ScrollTrigger et Lucide React.
Quels sont les quatre presets de CV en ligne ?
Architecte Minimal, Nocturne Prestige, Signal Brut et Aura Digitale.
Quels éléments chaque preset de CV en ligne associe-t-il ?
Une identité, une palette, des typographies, une ambiance d’image et un modèle de hero.
Comment le bouton « Télécharger CV » doit-il déclencher le téléchargement ?
Par un lien <a download> que l’utilisateur peut remplacer par son véritable fichier PDF.
Quels éléments l’audit examine-t-il pour détecter des fuites de secrets côté client ?
Les console.log, console.error et composants de frontière d’erreur susceptibles d’exposer des secrets.
Pourquoi l’audit vérifie-t-il l’activation des source maps en production ?
Elles peuvent révéler le code source original et des secrets intégrés au client.
Que doit faire l’application lorsque des variables d’environnement requises manquent ?
Elle doit échouer rapidement.
Quelles requêtes l’audit recherche-t-il pour détecter les risques d’injection SQL ?
Les requêtes brutes construites par concaténation ou template literals plutôt que par paramètres, y compris via .rpc(), pg ou postgres.js.
Pourquoi faut-il examiner les fonctions de base de données SECURITY DEFINER ?
Elles s’exécutent avec les privilèges de leur créateur, ce qui peut exposer des données ou contourner le RLS.
Que fait la route /auth/callback avec les codes d’authentification ?
Elle les échange contre des sessions.
Quel paramètre OAuth protège contre les attaques CSRF ?
Le paramètre state.
Quelle précaution OAuth concerne les URL de callback ?
Les valider.
Quelles propriétés doivent avoir les jetons de réinitialisation de mot de passe ?
Ils doivent expirer et être à usage unique.
Comment transmettre les jetons de réinitialisation de mot de passe ?
De manière sécurisée.
Quelles méthodes HTTP doivent servir aux opérations qui modifient l’état ?
POST, PUT, PATCH ou DELETE.
Pourquoi les opérations qui modifient l’état ne doivent-elles pas utiliser GET ?
Des images, le préchargement de liens ou des extensions peuvent déclencher GET sans intention de l’utilisateur.
Quels détails internes les erreurs renvoyées au client ne doivent-elles pas révéler ?
Les traces de pile, erreurs SQL, chemins de fichiers ou noms de variables d’environnement.
Que doit vérifier une application avant de traiter un événement webhook ?
La signature du webhook.
Quelle commande exécute un audit des dépendances avec npm ?
npm audit.
Comment les vulnérabilités détectées par l’audit doivent-elles être rapportées ?
Par niveau de sévérité.
Quels indices doivent inciter à examiner un package installé ?
Des téléchargements anormalement peu nombreux, une publication récente ou un nom ressemblant peu à ceux des packages connus.
Quels packages obsolètes faut-il repérer en priorité ?
Ceux qui ont des CVE connues ou relèvent de l’authentification, de la cryptographie ou des frameworks.
Quels packages de package.json faut-il repérer comme inutilisés ?
Ceux qui ne sont importés nulle part dans le code.
Pourquoi faut-il repérer les dépendances inutilisées dans package.json ?
Elles constituent une surface d’attaque inutile.
Quels domaines les routes API réservées au frontend doivent-elles autoriser par CORS ?
Uniquement les domaines de l’application.
Avec quelles origines CORS peut-on activer Access-Control-Allow-Credentials ?
Avec des origines CORS spécifiques, jamais avec une origine joker.
Que faut-il empêcher les fichiers téléversés de faire sur le serveur ?
S’y exécuter.
Où ne faut-il pas placer les répertoires des fichiers téléversés ?
Dans le chemin exécutable de la racine web.
Quelles informations le SaaS doit-il permettre de gérer pour les clients et l’entreprise ?
Pour les clients : nom, e-mail, téléphone et adresse ; pour l’entreprise : nom, adresse et logo.
Quels statuts une facture peut-elle avoir dans le SaaS ?
Brouillon, envoyée, payée ou en retard.
Quelles offres et quels tarifs la landing page d’iziFacture doit-elle présenter ?
Gratuit : 5 factures par mois et 1 utilisateur ; Pro illimitée : 5 000 FCFA par mois ; Business multi-utilisateurs : 15 000 FCFA par mois.
Quel plan la landing page d’iziFacture doit-elle mettre en avant ?
Le plan Pro.
Quelles étapes suivent la création des fonctionnalités principales dans le parcours de développement du SaaS ?
Rendre les routes interactives avec des données locales, ajouter Supabase et les tests, ajouter l’authentification, créer une landing page, puis contrôler le parcours de bout en bout avant le déploiement et retester.
Dans quelle devise les montants de l’application SaaS doivent-ils être affichés ?
En FCFA.
Quel format de date l’application SaaS doit-elle utiliser ?
Jour/mois/année.
Comment l’interface SaaS doit-elle s’adapter aux ordinateurs et aux mobiles ?
Elle affiche une barre latérale sur ordinateur et un menu hamburger sur mobile.
Quels outils la page de factures du SaaS doit-elle proposer pour trouver une facture ?
Des filtres par statut et une recherche par nom de client.
Que doit permettre l’ouverture d’une facture dans l’application SaaS ?
Consulter son détail.
Quelles modifications le détail d’une facture doit-il permettre dans l’application SaaS ?
Changer son statut, la modifier ou la supprimer après confirmation.
Quelle policy une table protégée par RLS doit-elle avoir pour autoriser les lectures souhaitées ?
Une policy SELECT.
Que doivent vérifier les audits des buckets Supabase Storage ?
Qu’ils disposent de policies RLS, car ils sont privés par défaut.
Teste tes connaissances avec un QCM de 35 questions sur Sécurité et conception du SaaS.
1. Un client demande une landing page pour sa marque. Que doit faire l’agent avant de la construire ?
2. Une équipe prépare un preset de landing page et doit vérifier ses règles visuelles fixes. Quelle configuration respecte ces exigences ?
Révisez le cours complet dans la fiche de révision de Sécurité et conception du SaaS.
Voir la fiche →Importe ton cours et l'IA génère des flashcards en 30 secondes.
Générateur de flashcards