Retour à la leçonMission
Mission : faire passer la CI d'une pull request bloquée par mypy
Comprendre la nature purement statique du typage Python, corriger une erreur mypy, puis concevoir une interface avec Protocol plutôt qu'un héritage rigide.
Contexte
Une pull request est bloquée en CI par mypy avec l'erreur Argument 1 to "calculer_total" has incompatible type "str"; expected "int", alors que le code s'exécute parfaitement en local sans lever aucune erreur, y compris avec des valeurs de mauvais type passées manuellement.
Tu dois expliquer ce paradoxe apparent, corriger l'appel fautif, puis concevoir une fonction générique qui accepte n'importe quel objet "dessinable" sans imposer d'héritage.