Exercices de Code

Pratique Python, IA Engineering et bien plus avec des exercices interactifs et des tests automatiques.

Tous niveaux Debutant Intermediaire Avance
Tous les sujets Les Bases Python (71) Structures de données (40) Fonctions & Modules (106) POO (53) Architecture & Patterns (57) Algorithmes (47) Concepts Web & Django (50) IA & Data Science (22) Prompt Engineering (15) Projets guidés (81) Django Avancé (18) AI Engineering (19) Machine Learning (30) Entraîner son LLM (15) Computer Vision (18)

Suivre un parcours

Python Fondamental 3 sections
Developpeur Python 6 sections
Algorithmes & Entretiens 3 sections
Web & Django 4 sections
IA & Machine Learning 4 sections
IA Generative & RAG 5 sections
Automatisation & Scripts 5 sections
Neurosciences & IA 5 sections
Vision par Ordinateur 4 sections
Voir tous les exercices
Intermédiaire 🧠 Fondamentaux Architecture & Patterns GRATUIT

Pattern Singleton

Le Singleton est un design pattern qui garantit qu'une classe n'a qu'une seule instance dans tout le programme. C'est comme le president d'un pays : …

20 XP 0 réussites
Résoudre →
singleton pattern classmethod
Intermédiaire 🧠 Fondamentaux Architecture & Patterns

Pattern Factory

La Factory (usine) est un pattern qui centralise la création d'objets. Au lieu de créer directement tes objets avec Cercle(5) ou Rectangle(3, 4), tu passes …

20 XP 0 réussites
Résoudre →
factory pattern staticmethod
Avancé 🧠 Fondamentaux Architecture & Patterns

Pattern Observer

L'Observer (ou publish/subscribe) est un pattern ou un objet (le Sujet) maintient une liste d'abonnes (les Observateurs) et les previent automatiquement quand quelque chose se …

30 XP 0 réussites
Résoudre →
observer pattern événements
Avancé 🧠 Fondamentaux Architecture & Patterns

Pattern Strategy

Le pattern Strategy permet de changer d'algorithme a la volee, comme quand tu changes de vitesse en voiture. Le moteur tourne toujours, mais la vitesse …

30 XP 0 réussites
Résoudre →
strategy pattern algorithme
Avancé 🧠 Fondamentaux Architecture & Patterns

Pattern Decorator (wrapper)

Le pattern Decorator (a ne pas confondre avec les decorateurs Python avec @) est un pattern GoF qui permet d'enrichir un objet en l'enveloppant dans …

30 XP 0 réussites
Résoudre →
decorator-pattern wrapper composition
Intermédiaire 🧠 Fondamentaux Architecture & Patterns GRATUIT

SRP : Responsabilité unique

Le premier principe SOLID est le Single Responsibility Principle (SRP) : une classe ne doit avoir qu'une seule raison de changer. Autrement dit, elle ne …

20 XP 0 réussites
Résoudre →
SOLID SRP responsabilité-unique
Avancé 🧠 Fondamentaux Architecture & Patterns

OCP : Ouvert/Fermé

Le principe Open/Closed dit qu'un code doit etre ouvert a l'extension mais ferme a la modification. En clair : tu peux ajouter de nouveaux comportements …

30 XP 0 réussites
Résoudre →
SOLID OCP polymorphisme
Avancé 🧠 Fondamentaux Architecture & Patterns

DIP : Inversion des dépendances

Le dernier principe SOLID est l'inversion des dependances (DIP) : les modules de haut niveau ne doivent pas dependre des modules de bas niveau. Les …

30 XP 0 réussites
Résoudre →
SOLID DIP injection-dépendances
Intermédiaire 🧠 Fondamentaux Architecture & Patterns

Context Manager avec __enter__/__exit__

Un context manager, c'est un objet qui sait se preparer et se nettoyer tout seul. Quand tu ecris with open('fichier.txt') as f, le fichier s'ouvre …

20 XP 0 réussites
Résoudre →
context-manager __enter__ __exit__
Intermédiaire 🧠 Fondamentaux Architecture & Patterns

Callable avec __call__

En Python, tout objet qui definit la méthode __call__ peut etre appele comme une fonction. On dit qu'il est callable. C'est comme un distributeur automatique …

20 XP 0 réussites
Résoudre →
__call__ callable foncteur
Débutant 🧠 Fondamentaux Architecture & Patterns GRATUIT

Explorer le dictionnaire d'un objet

En Python, chaque objet possede un dictionnaire interne appele __dict__ qui contient tous ses attributs d'instance. C'est comme un carnet ou Python note tout ce …

10 XP 0 réussites
Résoudre →
__dict__ introspection debutant
Intermédiaire 🧠 Fondamentaux Architecture & Patterns

Le piege du paramètre mutable par défaut

C'est probablement le piege le plus celebre de Python. Quand tu donnes une valeur par défaut mutable (comme une liste) a un paramètre de fonction, …

20 XP 0 réussites
Résoudre →
mutable-default piege intermediaire
Intermédiaire 🧠 Fondamentaux Architecture & Patterns

Ajouter une méthode a une classe (monkey patching)

Le monkey patching, c'est modifier une classe ou un module apres sa création, en lui ajoutant ou remplacant des méthodes ou des attributs. Le terme …

20 XP 0 réussites
Résoudre →
monkey-patching classe méthode
Intermédiaire 🧠 Fondamentaux Architecture & Patterns

Intercepter les attributs manquants avec __gétattr__

Quand tu accedes a un attribut d'un objet (par exemple obj.nom), Python suit un processus precis. Il cherche d'abord dans l'instance, puis dans la classe, …

20 XP 0 réussites
Résoudre →
gétattr attribut classe-speciale
Intermédiaire 🧠 Fondamentaux Architecture & Patterns

Créer un context manager

Un context manager, c'est un objet qui definit un contexte d'execution. Tu l'utilises avec le mot-cle with. L'exemple le plus courant est l'ouverture de fichier …

20 XP 0 réussites
Résoudre →
context-manager with intermediaire