Informatique et tech
Les decks sont rangés par matière. Ouvrez-en un pour voir ses thèmes et quelques cartes, puis ajoutez-le à vos révisions.
580 decks · 16 matières
Développement web et mobile
72- Alternatives, contrastes et clavier
- Du croquis au prototype
- Flexbox
- Framework front : l'état
- Framework front : le routage
- Framework front : les composants
- Grid
- Interfaces et navigation sur mobile
- JavaScript : fonctions, tableaux et objets
- JavaScript : variables, types et égalité
- JavaScript avancé : classes, modules et syntaxe moderne
- JavaScript avancé : portée, fermetures et this
- JSON
- L'application monopage
- L'audit d'accessibilité
- L'autonomie
- L'ergonomie d'une application web
- L'injection SQL
- L'interface maître-détail
- La boucle d'événements et les écouteurs
- La cascade et l'héritage en CSS
- La liaison de données (databinding)
- La performance d'une application web
- La persistance des données d'une application
- La publication
- La robustesse
- La séparation de la vue et du modèle
- La structure d'un document HTML
- La typographie en CSS
- La validation des formulaires
- Le catalogue des composants graphiques
- Le cycle de vie d'un écran
- Le cycle requête-réponse
- Le DOM et les événements
- Le hachage des mots de passe
- Le modèle de boîte
- Le patron MVC côté serveur
- Le positionnement en CSS
- Le réseau et le hors-ligne
- Le stockage local sur mobile
- Le texte en HTML
- Le typage des saisies
- Les 10 heuristiques de Nielsen
- Les 4 principes des WCAG
- Les 8 critères de Bastien et Scapin
- Les balises sémantiques
- Les bibliothèques de visualisation
- Les capteurs du téléphone
- Les failles CSRF
- Les failles XSS
- Les formulaires HTML
- Les gabarits
- Les gestionnaires de disposition
- Les langages du web pour les données
- Les liens et les images en HTML
- Les listes et les tableaux en HTML
- Les lois de Fitts, de Hick et de la Gestalt
- Les media queries
- Les niveaux A, AA et AAA
- Les outils de développement web
- Les permissions
- Les personas
- Les requêtes asynchrones en JavaScript
- Les rôles ARIA
- Les routes et les contrôleurs
- Les scénarios d'usage
- Les sélecteurs CSS et la spécificité
- Les sessions et les cookies
- Les unités et les couleurs en CSS
- Natif, hybride ou multiplateforme
- Spécifier une interface
- Tester la conformité aux standards du W3C
Génie logiciel
71- Anatomie d'un test unitaire
- Architecture en couches et hexagonale
- Automatiser ses tests
- Bibliothèque ou framework
- Classes d'équivalence et valeurs limites
- Consommer un service web
- Couplage et cohésion
- Demande de fusion et revue
- Développer un service REST
- Documentation et formation des utilisateurs
- DRY, KISS, YAGNI
- Erreurs de compilation, d'exécution et de logique
- Exceptions vérifiées ou non vérifiées
- Exigences fonctionnelles et non fonctionnelles
- Git : branches et fusions
- Git : dépôt, index, commit
- Git : le dépôt distant
- Git : les commandes de base
- Git : rebase ou merge
- Git : résoudre un conflit
- L'accès aux données : DAO, ORM, annuaires
- L'architecture n-tiers
- L'impact environnemental et sociétal d'un projet
- L'injection de dépendances
- La couverture de code
- La démarche de remaniement
- La documentation du code
- La gestion des dépendances
- La pyramide des tests
- La rétroconception
- La spécification par l'exemple
- Le catalogue des remaniements
- Le débogage avancé
- Le développement dirigé par les comportements
- Le développement dirigé par les tests
- Le diagramme d'activités
- Le diagramme d'états-transitions
- Le diagramme de cas d'utilisation
- Le diagramme de séquence système
- Le fichier .gitignore
- Le modèle du domaine
- Le recueil des besoins
- Les acteurs d'un système
- Les assertions xUnit
- Les caractéristiques de qualité d'un logiciel
- Les critères de faisabilité
- Les doublures de test
- Les formats d'échange : JSON, XML, CSV, YAML
- Les niveaux de journalisation
- Les patrons d'architecture complexes
- Les patrons de comportement
- Les patrons de création
- Les patrons de structure
- Les principes SOLID
- Les scénarios d'un cas d'utilisation
- Les signes d'un code à reprendre
- Les stratégies de branches
- Les tests d'intégration
- Les tests d'interface
- Les tests d'utilisabilité
- Les tests de non-régression
- Les tests fonctionnels
- Les types de maintenance
- Lever, attraper et propager une exception
- Lire une trace de pile
- Modularité et paquets
- MVC, MVP, MVVM
- Points d'arrêt et pas à pas
- Récits utilisateur et critères d'acceptation
- Revue et walkthrough
- Tester un code hérité
Bases de données
70- ALTER et DROP
- Associations et cardinalités
- Clés primaires et étrangères
- Connexion et requêtes préparées
- CREATE TABLE et les types
- Datalog : récursivité et négation
- Entités, attributs, identifiants
- Fonctions et CASE
- Formulaires et états
- GRANT et REVOKE
- GROUP BY et HAVING
- INSERT, UPDATE, DELETE
- Interroger Cassandra avec CQL
- Interroger des objets : OQL et l'objet-relationnel
- Interroger MongoDB : find et agrégation
- Interroger un graphe avec Cypher
- Jeux de données et de tests
- L'atelier de génie logiciel
- L'internationalisation d'une base
- La base déductive : faits et règles
- La base objet : identité et navigation
- La clause WITH
- La dénormalisation
- La fédération de bases de données
- La forme normale de Boyce-Codd
- La jointure en algèbre relationnelle
- La persistance des objets
- La redondance des données
- Le mapping objet-relationnel (ORM)
- Le modèle conceptuel de données
- Le passage au modèle relationnel
- Le plan d'exécution
- Les 1re, 2e et 3e formes normales
- Les anomalies d'une table redondante
- Les bases clé-valeur
- Les bases mobiles et embarquées
- Les bases orientées colonnes
- Les bases orientées documents
- Les bases orientées graphes
- Les blocs procéduraux
- Les comptes d'une base : qui entre, et par où
- Les contraintes d'intégrité
- Les contraintes en SQL
- Les curseurs
- Les déclencheurs
- Les dépendances fonctionnelles
- Les espaces de données : où vivent les tables
- Les exceptions dans la base
- Les fonctions d'agrégat
- Les fonctions de fenêtrage
- Les index
- Les jointures externes
- Les jointures internes
- Les opérateurs ensemblistes en SQL
- Les sous-requêtes
- Les transactions ACID
- Les verrous
- Les vues
- Monter un cluster répliqué
- Niveaux d'isolation et anomalies
- NULL en SQL
- Optimiser une requête
- Procédures et fonctions stockées
- Produit cartésien et division
- Sauvegarder et restaurer une base
- SELECT et WHERE
- Sélection et projection
- Tri, DISTINCT, LIMIT
- Union, intersection, différence
- Utilisateurs et rôles
Réseaux
59- Active Directory
- Adresses IP, ports et NAT
- Analyser une capture de trames
- ARP
- Automatiser l'administration
- BGP
- Calculer des sous-réseaux
- Configurer un poste sur le réseau
- Configurer un routeur
- DHCP avancé
- DHCP et l'arrivée sur un réseau
- DNS avancé
- Ethernet, adresses MAC et trames
- FTP et SFTP
- HTTP
- HTTP/2, HTTP/3 et QUIC
- HTTPS et TLS
- ICMP
- Installer un service réseau
- Interroger un service depuis le client
- IP et le routage
- IPv4, masques et CIDR
- IPv6 : les adresses
- IPv6 sur le réseau
- L'annuaire LDAP
- L'architecture des services web
- L'e-mail : SMTP, IMAP, SPF, DKIM et DMARC
- L'en-tête IP
- L'encapsulation
- L'interopérabilité des services
- La commutation
- La qualité de service
- Le CDN
- Le DNS
- Le filtrage
- Le load balancer
- Le modèle client-serveur
- Le routage statique
- Le temps réel : WebSocket, SSE et polling
- Le trajet d'une requête web
- Le Wi-Fi
- Les commandes de diagnostic réseau
- Les équipements d'un réseau
- Les failles d'un réseau
- Les modèles OSI et TCP/IP
- Les partages de fichiers : NFS et SMB
- Les ports réseau à connaître
- Les supports de transmission
- Les VLAN
- Monter une messagerie : SMTP et IMAP
- MQTT et les objets connectés
- OSPF
- Proxy et reverse proxy
- RIP
- Samba
- TCP en détail : connexion et fiabilité
- TCP en détail : fenêtres et congestion
- TCP ou UDP
- UDP
Algorithmique
55- Analyser boucles et récurrences
- Assertions et préconditions
- Boucles : pour et tant que
- Calculer une complexité
- Chaînes de caractères
- Choisir une structure de données
- Collections statiques ou dynamiques
- Compter les opérations
- Conditions : si, sinon, sinon si
- Documentation
- Enregistrements
- Entrées et sorties à la console
- Files
- Fonctions, paramètres et portée
- Itératif contre récursif
- Jeux d'essais
- L'arbre binaire de recherche
- L'écoconception du code
- La notation O
- La revue de code, côté efficacité
- La table de hachage
- Lambdas et clôtures
- Le tas et la file de priorité
- Le tri fusion
- Le tri par tas
- Le tri rapide
- Lecture et écriture de fichiers
- Les arbres équilibrés
- Les classes de complexité
- Les conséquences d'une faille
- Les ensembles, structure de données
- Les métriques de code
- Les outils d'audit de code
- Meilleur, pire et moyen cas
- Mesurer un temps d'exécution
- Modularité
- Nommage
- Opérateurs et priorités
- Optimiser un programme
- Ordres de grandeur des algorithmes
- Parcours et accumulation
- Passage par valeur ou par référence
- Piles
- Profiler un programme
- Recherche dichotomique
- Recherche séquentielle
- Récursivité
- Tableau dynamique et liste chaînée
- Tableaux à deux dimensions
- Tableaux à une dimension
- Tri à bulles
- Tri par insertion
- Tri par sélection
- Types abstraits et encapsulation
- Variables, types et affectation
Systèmes d'exploitation
53- Bash : fonctions et tableaux
- Bash : guillemets et expansions
- Comptes et groupes
- Concevoir un protocole applicatif
- Créer et supprimer des utilisateurs
- fork, exec et wait
- L'arborescence Linux
- L'interblocage
- L'organisation d'un système de fichiers
- La mémoire partagée
- Lancer des tâches en parallèle
- Le démarrage d'un système
- Le remplacement de pages
- Le serveur concurrent
- Le système d'exploitation : rôle et familles
- Les algorithmes d'ordonnancement
- Les appels système sur les fichiers
- Les commandes de fichiers
- Les droits rwx et chmod
- Les étapes d'installation d'un système
- Les fichiers de configuration
- Les gestionnaires de paquets
- Les jokers du shell
- Les services systemd
- Les signaux Unix
- Les sockets
- Les threads
- Les tubes
- Les variables d'environnement
- Lire et filtrer du texte
- Mémoire virtuelle et pagination
- Monter un poste de développement
- Noyau, pilotes et espace utilisateur
- Partitions et montage
- Premier plan et arrière-plan
- Processus : états et PID
- Producteur-consommateur, lecteurs-rédacteurs, philosophes
- Programmer avec les signaux
- Propriétaire, groupe et umask
- Redirections et tubes
- Rendre un script robuste
- Scripts : les boucles
- Scripts : les codes de retour
- Scripts : tests et conditions
- Scripts : variables et arguments
- Section critique et mutex
- sed et awk
- Sémaphores et moniteurs
- sudo et root
- Surveiller et maîtriser les processus
- Tâches planifiées : cron et timers
- Types de fichiers, inodes et liens
- Verrous et accès concurrents aux fichiers
Programmation
39- Association, agrégation, composition
- Attributs et méthodes
- Classes abstraites
- Comparer et trier des objets
- Constructeurs
- Diagramme d'activités
- Diagramme de cas d'utilisation
- Diagramme de classes
- Diagramme de séquence
- Du diagramme au code
- Encapsulation et visibilité
- Généricité
- Héritage
- Interfaces
- Itérateurs
- L'algèbre pour l'imagerie
- L'image numérique et ses formats
- L'inversion de contrôle
- La 3D et le rendu
- La colorimétrie
- La géométrie analytique de l'image
- La production d'images
- Le framework client : rendu et réactivité
- Le framework serveur
- Le paradigme concurrent
- Le paradigme embarqué
- Le paradigme fonctionnel
- Le paradigme réparti
- Le son et la vidéo
- Les codes de statut HTTP
- Les styles d'API
- Les systèmes de particules
- Les transformations 2D
- Listes, ensembles, dictionnaires
- Pile et tas
- Polymorphisme, redéfinition, surcharge
- Ramasse-miettes
- Références, égalité, identité
- Statique contre instance
Science des données et IA
36- Administrer un schéma décisionnel
- Apprentissage supervisé, non supervisé et par renforcement
- Choisir une visualisation
- Collecte et formats des données massives
- Entraîner, évaluer, sur-apprendre
- Évaluer un modèle
- Explorer un jeu de données massif
- Extraction, transformation, chargement (ETL)
- Faits, mesures et dimensions
- Intégrer un modèle dans une application
- L'apprentissage supervisé : classer et prédire
- L'arbre de décision et la forêt aléatoire
- La fédération de bases
- La fouille répartie : MapReduce et Spark
- La recherche de motifs fréquents
- La réduction de dimensions : l'analyse en composantes principales
- Le clustering hiérarchique et par densité
- Le clustering par k-moyennes
- Le cube et les opérations OLAP
- Le nettoyage des données
- Le passage à l'échelle de l'apprentissage
- Le pré-calcul des agrégats
- Le reporting
- Le tableau de bord décisionnel
- Les familles d'IA : symbolique et apprentissage
- Les k plus proches voisins
- Les limites et les biais de l'IA
- Les mathématiques de l'apprentissage
- Les modèles de langage
- Les outils d'analyse : pandas et scikit-learn
- Les réseaux de neurones
- Les schémas en étoile et en flocon
- Migrer des données et vérifier la migration
- Modéliser les données pour l'apprentissage
- Transformer des données pour l'analyse
- Visualiser des données massives
Cloud
26- Cloner, sauvegarder, restaurer
- Conteneur contre machine virtuelle
- Docker : images et conteneurs
- Docker avancé : des images légères
- Docker avancé : durcir et tenir en vie un conteneur
- Docker Compose
- Écrire un Dockerfile
- Faire persister les données d'un conteneur
- Gérer les journaux
- IaaS, PaaS, SaaS
- Kubernetes : configuration et stockage
- Kubernetes : l'architecture d'un cluster
- Kubernetes : pods et Deployments
- Kubernetes : Services et Ingress
- La machine virtuelle : disques, images et instantanés
- Le réseau d'une machine virtuelle
- Les architectures virtualisées
- Les hyperviseurs
- Les modèles de déploiement
- Les réseaux virtuels
- Les types de virtualisation
- Nomad
- Orchestration : l'infrastructure décrite par le code
- Orchestration : la mise à l'échelle automatique
- Partitionner et isoler : namespaces et cgroups
- Superviser des ressources cloud
Architecture des ordinateurs
22- Additionneur et multiplexeur
- Allocation mémoire
- Architecture de von Neumann
- Arithmétique binaire et débordement
- ASCII, Unicode et UTF-8
- Assembleur et modes d'adressage
- Bases 2, 8 et 16
- Bit, octet, Ko et Kio
- Composants d'un PC
- Cycle chercher-décoder-exécuter
- Du source à l'exécutable
- Entiers et complément à deux
- Flottants IEEE 754
- Hiérarchie des mémoires
- Histoire de l'informatique
- Interfaces et périphériques
- Interruptions
- Microprocesseur et microcontrôleur
- Pile et appel de fonction
- Pointeurs
- Portes logiques
- Registres et jeu d'instructions
Cryptographie
19- AES
- Certificats et infrastructure à clés publiques
- DES
- Diffie-Hellman
- ElGamal
- Groupes cycliques et exponentiation modulaire
- La blockchain
- La cryptanalyse par fréquences
- La signature numérique
- Le calcul dans Z/nZ
- Le chiffre de César
- Le chiffre de Hill
- Le chiffre de Vigenère
- Le code de Hamming
- Les codes correcteurs
- Les codes détecteurs : parité et CRC
- Les fonctions de hachage
- Les modes opératoires
- RSA
Sécurité
19- Chiffrer les échanges
- Cloisonnement et filtrage
- Configurer un pare-feu
- EBIOS et Mehari
- L'analyse de risques : les notions
- L'antivirus
- L'authentification
- La DMZ
- La sécurité web
- La typologie des attaques
- Le déroulement d'une attaque
- Le pare-feu
- Les architectures sécurisées
- Les bonnes pratiques
- Les failles d'un système
- Les logiciels malveillants
- Les sauvegardes
- Les VPN : IPsec et WireGuard
- SSH : clés et tunnels
DevOps
14- Centraliser la supervision
- Intégration et livraison continues
- L'inspection continue
- L'intégration continue : le serveur et ses runners
- L'observabilité
- La disponibilité
- Le mirroring et les niveaux de RAID
- Les conteneurs dans la chaîne
- Les étapes d'un pipeline
- Les risques génériques
- Les stratégies de déploiement
- Livraison et déploiement continus
- Mise en situation : un serveur, puis une zone, tombe
- Plans de continuité et de reprise
Informatique théorique
10- Alphabets, mots, langages
- Automates cellulaires
- Automates finis déterministes
- Automates non déterministes et déterminisation
- Dérivations et arbres de dérivation
- Expressions régulières
- Grammaires et hiérarchie de Chomsky
- Les expressions régulières en pratique
- Minimisation d'un automate
- Modéliser un système par un automate
Informatique
9Données
6Les parcours
Des decks mis dans l'ordre où on les apprend, étape par étape, jusqu'à un badge.
- Écrire ses premiers programmes
- Programmer avec des objets
- Un code qui marche et qu'on peut reprendre
- Construire une page web
- Concevoir une interface que l'on comprend
- Ce qui se passe dans la machine
- Piloter un système d'exploitation
- Faire dialoguer des machines
- Modéliser et interroger une base de données
- Programmer efficacement
- Passer du besoin au cahier des charges
- Concevoir un logiciel qui tient dans le temps
- Prouver qu'une application fonctionne
- Développer une application web
- Aller au bout du web
- Développer pour le téléphone
- Programmer au plus près du système
- Comprendre comment un réseau achemine les données
- Faire parler une application avec sa base
- Bien structurer ses données, en tables ou autrement
- Protéger un secret
- Faire tourner plusieurs machines dans une seule
- Faire lire un langage à une machine
- Faire grandir un réseau
- Défendre un système et un réseau
- La cryptographie en service
- Des données pour décider
- Prédire la vitesse d'un programme
- Bâtir sur des frameworks
- Programmer l'image et le son
- Juger la qualité d'un logiciel
- Garder un logiciel en vie
- Stocker sans tables
- Orchestrer des conteneurs
- Livrer automatiquement
- Comprendre ce que fait une IA
- Automatiser un système par le script
- Installer les services d'une organisation
- Accélérer et répartir des services
- Attaquer pour mieux défendre
- Déployer dans le cloud
- Rester en service malgré la panne
- Présenter des indicateurs sur le web
- Administrer une base de données
- Alimenter et explorer un entrepôt
- Traiter des données massives
- Faire apprendre une machine