Flashcards : Sécurité et conception du SaaS (84 cartes)

Toutes les cartes

1Question

Quelles informations l’agent doit-il demander en un appel pour une landing page ?

Réponse

Le nom et l’objectif de la marque, une direction esthétique, trois arguments de vente et l’action attendue des visiteurs.

2Question

Quelle opacité doit avoir l’overlay de bruit SVG des presets ?

Réponse

0,05.

3Question

Quels rayons doivent avoir les conteneurs des presets ?

Réponse

De 2 à 3 rem.

4Question

Quelles micro-interactions les presets doivent-ils définir ?

Réponse

Des micro-interactions pour les boutons et les liens.

5Question

Quels éléments composent la structure prescrite d’une landing page ?

Réponse

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.

6Question

Quelles informations l’agent doit-il demander en un seul appel pour créer un CV en ligne ?

Réponse

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.

7Question

Quelles sections composent la structure d’un CV en ligne ?

Réponse

Une navbar, un hero, À propos, Expérience, Compétences, Formation, Contact et un pied de page.

8Question

Quelles étapes ouvrent un audit de sécurité du code ?

Réponse

Lire la base de code, modéliser l’architecture et repérer les points d’entrée et les flux de données.

9Question

Quels types de secrets recherche-t-on dans le code source ?

Réponse

Les clés API, tokens, mots de passe, chaînes de connexion et URL de webhook.

10Question

Quels motifs indiquent des secrets codés en dur ?

Réponse

sk_live_, sk_test_, sk-, pk_live_, Bearer, eyJ, ghp_, gho_, github_pat_, xoxb-, xoxp- et AKIA.

11Question

Quels fichiers le fichier .gitignore doit-il exclure ?

Réponse

.env, .env.local, .env.production et .env*.local.

12Question

Quels préfixes publics les secrets réservés au serveur doivent-ils éviter ?

Réponse

NEXT_PUBLIC_, VITE_ et REACT_APP_.

13Question

Que vérifie l’audit pour chaque table du schéma public, y compris celles créées par migration ou dans l’éditeur SQL ?

Réponse

L’activation de la sécurité au niveau des lignes (RLS).

14Question

Quelle clause les policies INSERT et UPDATE doivent-elles inclure ?

Réponse

Une clause WITH CHECK.

15Question

Quelle fonction les policies RLS doivent-elles utiliser pour établir l’identité ?

Réponse

auth.uid().

16Question

Où la clé service_role doit-elle être utilisée, et sous quelle condition ?

Réponse

Uniquement côté serveur, si son usage est réellement nécessaire.

17Question

Que vérifie l’audit concernant le middleware d’authentification ?

Réponse

Il existe, s’exécute sur les routes protégées et son matcher couvre tous les chemins nécessaires.

18Question

Comment le refus par défaut protège-t-il les routes ?

Réponse

Il utilise une liste blanche de routes publiques.

19Question

Sur quelle liste repose la protection par exception ?

Réponse

Une liste noire de routes protégées.

20Question

Pourquoi le refus par défaut est-il plus sûr pour les nouvelles routes ?

Réponse

Les nouvelles routes sont automatiquement protégées.

21Question

Quelle méthode Supabase authentifie un utilisateur pour les opérations sensibles côté serveur ?

Réponse

supabase.auth.getUser().

22Question

Où stocker les jetons de session pour empêcher leur accès par le JavaScript de la page ?

Réponse

Dans des cookies httpOnly.

23Question

Que doit vérifier une route API avant de traiter des données utilisateur ?

Réponse

L’authentification.

24Question

Que doivent valider côté serveur toutes les routes API et actions serveur ?

Réponse

Leurs entrées à l’aide d’une bibliothèque de validation par schéma.

25Question

De quelle source doit provenir l’identité utilisée pour une opération d’écriture ?

Réponse

De la session authentifiée ou du JWT.

26Question

Quelle source d’identité est interdite pour les opérations d’écriture ?

Réponse

Un champ `userId` fourni dans le corps de la requête.

27Question

Que faut-il faire au contenu utilisateur rendu en HTML pour prévenir les attaques XSS ?

Réponse

Le nettoyer.

28Question

Quel fichier de verrouillage doit être commité pour éviter les changements silencieux de versions ?

Réponse

Un lockfile, tel que package-lock.json.

29Question

Quel risque le commit d’un lockfile réduit-il lors de l’exécution de npm install ?

Réponse

La récupération silencieuse de versions différentes, potentiellement compromises.

30Question

Pourquoi limiter le débit des routes API appelant des services externes payants ?

Réponse

Pour prévenir les dépenses causées par le spam d’un endpoint.

31Question

Contre quelles attaques limiter le débit des endpoints de connexion, d’inscription, de réinitialisation et d’OTP ?

Réponse

Contre la force brute et le bourrage d’identifiants.

32Question

Où la limitation de débit doit-elle être appliquée ?

Réponse

Côté serveur, avec un stockage fiable comme Redis ou Upstash.

33Question

Où faut-il valider le type et la taille des fichiers téléversés ?

Réponse

Côté serveur.

34Question

Quel attribut d’un fichier téléversé faut-il vérifier plutôt que sa seule extension ?

Réponse

Son type MIME.

35Question

Pourquoi l’extension d’un fichier téléversé ne suffit-elle pas à identifier son type ?

Réponse

L’utilisateur peut la modifier.

36Question

Comment adapter les contrôles d’accès aux fichiers téléversés ?

Réponse

Selon leur usage.

37Question

Quelle politique d’accès convient aux photos de profil téléversées ?

Réponse

Une politique adaptée aux fichiers publics.

38Question

Quelle politique d’accès convient aux documents téléversés ?

Réponse

Une politique adaptée aux fichiers privés.

39Question

Quels indicateurs le tableau de bord du SaaS de facturation doit-il afficher ?

Réponse

Le nombre total de factures, le montant facturé, le montant payé et le montant en attente.

40Question

Quelles informations la création d’une facture doit-elle permettre de saisir ?

Réponse

Le client, les dates d’émission et d’échéance, et les lignes avec description, quantité et prix unitaire.

41Question

Quels calculs et choix le SaaS doit-il proposer pour une facture ?

Réponse

Une TVA de 18 %, des montants en FCFA arrondis à l’entier, et l’enregistrement comme brouillon ou l’envoi.

42Question

Quels sont les quatre presets de landing page ?

Réponse

Tech Organique, Luxe de Minuit, Signal Brutaliste et Clinique Vapor.

43Question

Que définit chacun des presets de landing page ?

Réponse

Une identité, une palette, des typographies, une ambiance d’image et un modèle de titre hero.

44Question

Quelle stack technique est exigée pour la landing page ?

Réponse

React 19, Tailwind CSS v3.4.17, GSAP 3 avec ScrollTrigger et Lucide React.

45Question

Quels sont les quatre presets de CV en ligne ?

Réponse

Architecte Minimal, Nocturne Prestige, Signal Brut et Aura Digitale.

46Question

Quels éléments chaque preset de CV en ligne associe-t-il ?

Réponse

Une identité, une palette, des typographies, une ambiance d’image et un modèle de hero.

47Question

Comment le bouton « Télécharger CV » doit-il déclencher le téléchargement ?

Réponse

Par un lien <a download> que l’utilisateur peut remplacer par son véritable fichier PDF.

48Question

Quels éléments l’audit examine-t-il pour détecter des fuites de secrets côté client ?

Réponse

Les console.log, console.error et composants de frontière d’erreur susceptibles d’exposer des secrets.

49Question

Pourquoi l’audit vérifie-t-il l’activation des source maps en production ?

Réponse

Elles peuvent révéler le code source original et des secrets intégrés au client.

50Question

Que doit faire l’application lorsque des variables d’environnement requises manquent ?

Réponse

Elle doit échouer rapidement.

51Question

Quelles requêtes l’audit recherche-t-il pour détecter les risques d’injection SQL ?

Réponse

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.

52Question

Pourquoi faut-il examiner les fonctions de base de données SECURITY DEFINER ?

Réponse

Elles s’exécutent avec les privilèges de leur créateur, ce qui peut exposer des données ou contourner le RLS.

53Question

Que fait la route /auth/callback avec les codes d’authentification ?

Réponse

Elle les échange contre des sessions.

54Question

Quel paramètre OAuth protège contre les attaques CSRF ?

Réponse

Le paramètre state.

55Question

Quelle précaution OAuth concerne les URL de callback ?

Réponse

Les valider.

56Question

Quelles propriétés doivent avoir les jetons de réinitialisation de mot de passe ?

Réponse

Ils doivent expirer et être à usage unique.

57Question

Comment transmettre les jetons de réinitialisation de mot de passe ?

Réponse

De manière sécurisée.

58Question

Quelles méthodes HTTP doivent servir aux opérations qui modifient l’état ?

Réponse

POST, PUT, PATCH ou DELETE.

59Question

Pourquoi les opérations qui modifient l’état ne doivent-elles pas utiliser GET ?

Réponse

Des images, le préchargement de liens ou des extensions peuvent déclencher GET sans intention de l’utilisateur.

60Question

Quels détails internes les erreurs renvoyées au client ne doivent-elles pas révéler ?

Réponse

Les traces de pile, erreurs SQL, chemins de fichiers ou noms de variables d’environnement.

61Question

Que doit vérifier une application avant de traiter un événement webhook ?

Réponse

La signature du webhook.

62Question

Quelle commande exécute un audit des dépendances avec npm ?

Réponse

npm audit.

63Question

Comment les vulnérabilités détectées par l’audit doivent-elles être rapportées ?

Réponse

Par niveau de sévérité.

64Question

Quels indices doivent inciter à examiner un package installé ?

Réponse

Des téléchargements anormalement peu nombreux, une publication récente ou un nom ressemblant peu à ceux des packages connus.

65Question

Quels packages obsolètes faut-il repérer en priorité ?

Réponse

Ceux qui ont des CVE connues ou relèvent de l’authentification, de la cryptographie ou des frameworks.

66Question

Quels packages de package.json faut-il repérer comme inutilisés ?

Réponse

Ceux qui ne sont importés nulle part dans le code.

67Question

Pourquoi faut-il repérer les dépendances inutilisées dans package.json ?

Réponse

Elles constituent une surface d’attaque inutile.

68Question

Quels domaines les routes API réservées au frontend doivent-elles autoriser par CORS ?

Réponse

Uniquement les domaines de l’application.

69Question

Avec quelles origines CORS peut-on activer Access-Control-Allow-Credentials ?

Réponse

Avec des origines CORS spécifiques, jamais avec une origine joker.

70Question

Que faut-il empêcher les fichiers téléversés de faire sur le serveur ?

Réponse

S’y exécuter.

71Question

Où ne faut-il pas placer les répertoires des fichiers téléversés ?

Réponse

Dans le chemin exécutable de la racine web.

72Question

Quelles informations le SaaS doit-il permettre de gérer pour les clients et l’entreprise ?

Réponse

Pour les clients : nom, e-mail, téléphone et adresse ; pour l’entreprise : nom, adresse et logo.

73Question

Quels statuts une facture peut-elle avoir dans le SaaS ?

Réponse

Brouillon, envoyée, payée ou en retard.

74Question

Quelles offres et quels tarifs la landing page d’iziFacture doit-elle présenter ?

Réponse

Gratuit : 5 factures par mois et 1 utilisateur ; Pro illimitée : 5 000 FCFA par mois ; Business multi-utilisateurs : 15 000 FCFA par mois.

75Question

Quel plan la landing page d’iziFacture doit-elle mettre en avant ?

Réponse

Le plan Pro.

76Question

Quelles étapes suivent la création des fonctionnalités principales dans le parcours de développement du SaaS ?

Réponse

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.

77Question

Dans quelle devise les montants de l’application SaaS doivent-ils être affichés ?

Réponse

En FCFA.

78Question

Quel format de date l’application SaaS doit-elle utiliser ?

Réponse

Jour/mois/année.

79Question

Comment l’interface SaaS doit-elle s’adapter aux ordinateurs et aux mobiles ?

Réponse

Elle affiche une barre latérale sur ordinateur et un menu hamburger sur mobile.

80Question

Quels outils la page de factures du SaaS doit-elle proposer pour trouver une facture ?

Réponse

Des filtres par statut et une recherche par nom de client.

81Question

Que doit permettre l’ouverture d’une facture dans l’application SaaS ?

Réponse

Consulter son détail.

82Question

Quelles modifications le détail d’une facture doit-il permettre dans l’application SaaS ?

Réponse

Changer son statut, la modifier ou la supprimer après confirmation.

83Question

Quelle policy une table protégée par RLS doit-elle avoir pour autoriser les lectures souhaitées ?

Réponse

Une policy SELECT.

84Question

Que doivent vérifier les audits des buckets Supabase Storage ?

Réponse

Qu’ils disposent de policies RLS, car ils sont privés par défaut.

Teste-toi avec le QCM

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 ?

Faire le QCM →

Consultez la fiche

Révisez le cours complet dans la fiche de révision de Sécurité et conception du SaaS.

Voir la fiche →

Cours similaires

Crée tes propres flashcards

Importe ton cours et l'IA génère des flashcards en 30 secondes.

Générateur de flashcards