Accéder au contenu principal

Claude Fable 5 dans Claude Code : test pratique face à Opus 5

Un aperçu concret du modèle Fable 5 d’Anthropic dans Claude Code : gestion d’un build en un seul passage, refus de sécurité et bascule vers Opus, et quand l’utiliser.
Actualisé 20 août 2026  · 14 min lire

Explorez l'IA

ChatGPTClaudePerplexity

Fable 5 est le meilleur modèle de code que j’ai utilisé après des mois de travail quotidien. Rester dessus a demandé un peu de patience. Le gouvernement américain l’a retiré pendant quelques semaines, puis les conditions d’accès ont encore évolué.

Ensuite, Anthropic a lancé Opus 5. Il coûte deux fois moins cher par jeton et c’est le modèle vers lequel Claude Code bascule quand Fable refuse une requête. Question évidente pour ceux qui paient la prime Fable : le modèle cher reste-t-il le bon choix par défaut ?

J’ai donc soumis le même problème aux deux modèles et je les ai comparés en termes de coût, vitesse, exactitude et qualité de ce qu’ils livrent. Cet article détaille les résultats.

Présentation des modèles Claude

Découvrez comment utiliser Claude avec l'API Anthropic pour résoudre des problèmes concrets et créer des applications basées sur l'IA.
Découvrez Le Cours

Qu’est-ce que Fable 5 ?

Fable 5 est un modèle orienté code de la famille Claude 5 d’Anthropic, publié le 9 juin 2026. Il est sorti aux côtés de Mythos 5, un modèle frère sans classificateurs de sécurité qu’Anthropic n’a proposé qu’à un petit cercle d’organisations pré-sélectionnées. Pour un tour d’horizon complet de la sortie et des performances de Fable 5 sur les benchmarks, consultez notre guide dédié Fable 5.

Fable 5 est plus cher qu’Opus 5 et vise les tâches de code plus ardues. La différence principale à l’usage : il "réfléchit" à chaque requête et l’option ne peut pas être désactivée, ce qui le rend plus lent et plus posé. Opus 5 décide lui-même si un prompt mérite ce surcroît de réflexion.

Caractéristiques et tarification

Les deux modèles partagent la même fenêtre de contexte et la même taille de sortie maximale. Ils diffèrent par le prix et par la façon dont la réflexion fonctionne.

 

Fable 5

Opus 5

Prix en entrée (pour 1 M de jetons)

$10

$5

Prix en sortie (pour 1 M de jetons)

$50

$25

Fenêtre de contexte

1 M de jetons

1 M de jetons

Sortie maximale par requête

128 K jetons

128 K jetons

Réflexion

Toujours activée (impossible à désactiver)

Adaptative (sur opt-in)

Comportement en cas de refus

stop_reason: \"refusal\" avec HTTP 200, bascule optionnelle vers Opus 4.8

Standard

Fable 5 coûte environ deux fois plus par jeton qu’Opus 5. Comme sa réflexion est toujours active, un run a aussi tendance à émettre plus de jetons ; l’écart de prix en pratique est donc plus large que ne le suggère le tarif au jeton. Dans l’affrontement plus bas, Fable a émis 74 % de jetons de sortie en plus qu’Opus pour un programme plus petit.

Pour une comparaison détaillée, y compris les écarts de benchmarks, lisez notre guide Claude Opus 5 vs Claude Fable 5.

Le comportement de refus à gérer côté code

Un point agaçant avec Fable 5 : son classificateur de sécurité intégré. Le modèle étant jugé trop puissant, le classificateur refuse des requêtes même à peine liées à des domaines comme la biologie ou la cybersécurité.

Title: How Fable 5 handles a refusal - Description: How Fable 5 handles a refusal

Pour une immunologiste, le seul mot \"cancer\" a déclenché un filtre de biosécurité, forçant Claude Code à basculer vers Opus 4.8.

Je suis tombé moi-même sur ce cas récemment, avec un bug de connexion sur un projet perso. Le flux utilisait l’API Telegram Gateway pour une connexion OTP, et Fable 5 a tout simplement refusé d’y toucher. Opus 5 a réglé le problème — ce qui est bien le nœud du sujet : rien dans ce bug ne présentait un risque de sécurité.

La bascule automatique sans configuration n’existe que dans Claude Code et les apps Claude. Si vous utilisez Fable via l’API, vous recevrez un champ stop_reason dans la réponse, malgré un code 200 succès.

La réponse ressemble à ceci :

{
  \"stop_reason\": \"refusal\",
  \"stop_details\": {
	\"category\": \"bio\",
	\"explanation\": \"The request was declined by a safety classifier.\"
  }
}

Vous devez donc vérifier stop_reason avant d’exploiter le contenu de la réponse. 

Pour activer la bascule côté serveur, passez un tableau fallbacks (par ex. \"fallbacks\": [{\"model\": \"claude-opus-4-8\"}]) et envoyez l’en-tête anthropic-beta: server-side-fallback-2026-06-01. Paramétrez-le à chaque requête ; il n’y a pas d’interrupteur au niveau du compte.

Remarque sur le modèle de secours

Vous verrez parfois qu’on parle d’une bascule de Fable 5 vers Opus 4.8 et, ailleurs, vers Opus 5. Les deux sont vrais, car la cible dépend de la catégorie et de la surface.

Dans Claude Code, une requête signalée biologie est désormais relancée sur Opus 5, tandis qu’une requête signalée cybersécurité est encore relancée sur Opus 4.8. Sur l’API, la fonctionnalité fallbacks côté serveur ne prend actuellement en charge qu’Opus 4.8. 

Cet écart vient du calendrier : au lancement de Fable en juin, tout basculait vers Opus 4.8, puis la voie biologie a été redirigée vers Opus 5 après la sortie de ce modèle le 24 juillet.

La controverse autour de Fable 5

Fable 5 a connu des débuts chahutés, même en mettant de côté le classificateur de sécurité.

Le bridage silencieux et les refus erronés

Quelques jours après la sortie, Fortune a rapporté qu’Anthropic avait discrètement affaibli les réponses de Fable 5 sur environ 0,03 % du trafic IA et ML d’infrastructure, sans en informer personne.

Beaucoup de chercheuses et chercheurs, ainsi que des développeurs, étaient furieux : en payant l’abonnement à $200, ils s’attendaient à un modèle de pointe endurant capable de tout encaisser.

Anthropic a cédé à la pression de la communauté en un jour, reconnaissant avoir « fait le mauvais compromis ». Ce qui a changé, c’est la visibilité, pas le bridage. Les requêtes signalées apparaissent désormais comme un refus, mais la dégradation demeure. L’argument d’Anthropic : ses conditions interdisent déjà d’utiliser Claude pour construire des systèmes d’IA concurrents — recevable. Le faire en silence pendant un mois ne l’était pas.

La suspension liée au contrôle des exportations

Puis est venu le plus gros : un jailbreak divulgué a déclenché un ordre de contrôle des exportations du Commerce le 12 juin, et Anthropic a mis Fable 5 et Mythos 5 hors ligne dans le monde entier pendant 19 jours.

Anthropic a vivement contesté le rappel tout du long. L’entreprise a soutenu que le jailbreak était étroit plutôt qu’universel, et détectable aussi par des modèles plus faibles, si bien que le standard de rappel lui paraissait opaque. Le point sur le niveau d’exigence était défendable. Personne n’a jamais construit un jailbreak universel, et aucun modèle n’atteint aujourd’hui ce standard. Le UK AI Safety Institute a signalé des avancées vers un tel jailbreak, mais rien d’opérationnel.

Le point sur le niveau d’exigence était recevable, mais pas sa formulation. Des jailbreaks universels existent : le UK AI Security Institute indique en avoir trouvé pour chaque système de pointe testé, et ses red teamers en ont construit un contre Fable 5 lui‑même, en un seul tour en quelques heures puis étendu à des workflows agentiques multi‑tours en quelques jours, d’après la fiche modèle de Fable 5.

La vraie question disputée, c’est de savoir si ce seuil doit déclencher un rappel, pas si de tels jailbreaks sont possibles.

Rétablissement, avec de nouvelles limites

Anthropic a livré un classificateur plus strict et annoncé un taux de blocage supérieur à 99 %. Fort de cela, le Commerce a levé les contrôles autour du 30 juin.

L’accès général est revenu le 1er juillet, mais avec des conditions plus serrées. La fenêtre sans restriction de deux semaines promise a rétréci à environ une, et un nouveau plafond hebdomadaire à 50 % signifiait qu’une fois dépassé, l’usage supplémentaire de Fable 5 était facturé en crédits aux tarifs pleins de $10 et $50. De quoi faire grogner des abonnés sur Reddit.

Anthropic a prolongé l’échéance deux fois, puis a scindé la politique par offre le 20 juillet : Max et Team Premium conservent Fable 5 à 50 % des limites hebdomadaires sans date de fin, tandis que Pro et Team Standard reçoivent un crédit unique de $100 puis paient le tarif API ensuite. Mythos 5 est revenu pour environ 100 organisations américaines pré‑validées, contre un programme international plus large auparavant.

Au final, Fable 5 reste un modèle solide, entouré d’une politique d’accès qui bouge d’un mois sur l’autre. Prévoyez des refus erronés occasionnels et ne pariez pas que les limites de ce mois-ci vaudront le mois prochain.

Claude Fable 5 vs Opus 5 sur le même projet

Pour observer leur comportement à conditions identiques, j’ai confié la même mission à chacun dans une session Claude Code vierge. Ensuite, j’ai relu les deux transcriptions de session, les fichiers JSONL internes et noté les deux applications finies dans un navigateur.

Mon premier essai comparatif portait sur un raccourcisseur d’URL. Mauvaise idée : les deux modèles ont produit des apps quasi identiques, jusqu’au thème et aux fonctionnalités, car un raccourcisseur a une réponse évidente présente dans les données d’entraînement de tout modèle. Le test ne mesurait rien.

Configurer un écosystème vivant en un seul passage avec Fable 5 et Opus 5

J’ai donc choisi une tâche sans réponse canonique : une simulation d’écosystème vivant. Trois espèces dans une chaîne alimentaire, des agents qui se rassemblent, chassent et meurent de faim, 5000 à l’écran simultanément, le tout déterministe à partir d’une graine. Le prompt interdit les bibliothèques qui feraient le gros du travail : chaque modèle doit écrire ses propres requêtes spatiales, son steering et ses dynamiques de population.

Voici le prompt, mot pour mot, envoyé aux deux modèles :

Build a living ecosystem simulation that runs in the browser, and ship it end-to-end in one shot, without asking me any questions or pausing for confirmation. Make all decisions yourself and only stop when it is fully built, tested, and pushed to GitHub.
 
Requirements:
 
- A real-time canvas simulation of an ecosystem with at least three species in a food web (for example producers, herbivores, predators). Species interact: they eat, they are eaten, they reproduce, and they die.
- Agents move with steering behaviour — flocking among their own kind, and avoidance or pursuit across species.
- Each agent has an energy budget. Moving and reproducing cost energy, eating restores it, and running out kills the agent. Population levels must emerge from these rules rather than being scripted.
- The simulation must stay stable and interactive at 5000 agents. Show a live FPS counter and a live population graph per species.
- The whole world is generated from a numeric seed. The same seed must always produce the same run.
- Controls to pause, resume, reset, reseed, and tune the key simulation parameters live while it runs.
- Implement the simulation yourself: the steering, the spatial queries, the integration, and the population dynamics. Do not use a physics engine, a flocking library, a game engine, or a charting library. Plain canvas and your own code.
- Tests covering the core simulation logic.
- A README with setup and run instructions.
 
The simulation should run in the browser and be usable by someone who has never seen it before.
 
When it is complete, create a new GitHub repository with the gh CLI (which is already installed and authenticated) and push the project to it.

La règle « sans questions » est centrale. Elle montre jusqu’où chaque modèle mène un build seul, sans personne pour corriger le tir. Chacun a tourné dans son propre répertoire vide, sans indice qu’un second modèle avait la même tâche.

La tâche cache aussi quatre tests objectifs dans un rendu qui paraît purement visuel. 

  • La recherche de voisins doit utiliser un index spatial, sinon le framerate s’effondre à 5000 agents. 
  • Le monde doit se boucler ou se brider correctement, sinon les agents traversent les murs.
  • L’aléatoire doit passer par un générateur à graine, sinon la même graine donne une exécution différente.
  • Et les taux de natalité/mortalité doivent s’équilibrer, sinon la population s’éteint ou explose. 

Chacun de ces échecs est visible à l’écran, ce qui rend une belle démo évaluable.

Les deux builds sont en ligne : vous pouvez refaire la comparaison au lieu de me croire sur parole. Ouvrez-les côte à côte et régénérez la graine dans chacun :

Des captures des deux se trouvent plus bas si vous préférez lire plutôt que cliquer. Notez toutefois : elles sont dé-zoomées pour afficher tout l’écran, les détails peuvent être moins nets.

Quel modèle a réellement servi chaque run

Avant les résultats, une note méthodologique utile pour l’interprétation.

Claude Code peut basculer vers Opus si le classificateur de Fable 5 refuse une requête ; un run étiqueté Fable n’est donc pas garanti 100 % Fable. Plutôt que de supposer, j’ai relevé le champ model sur chaque événement assistant dans les deux transcriptions.

Heureusement, dans ma comparaison, chaque événement du run Fable était claude-fable-5, les 103. Et chaque événement du run Opus était claude-opus-5, les 247. Aucune bascule dans un sens ou dans l’autre. Les chiffres ci‑dessous décrivent bien les modèles indiqués.

Comment Fable 5 et Opus 5 ont abordé le problème

Fable a travaillé en silence. Il a effectué 56 appels d’outils et imprimé 429 mots de commentaires pour l’ensemble du build, en 2 blocs de texte.

Opus a travaillé au grand jour. 137 appels d’outils, plus du double, et 4 808 mots répartis sur 110 blocs. À volume comparable, les deux modèles révisent à un rythme similaire, autour de 2 modifications par fichier écrit.

Ils ont aussi divergé sur l’outillage. Fable a livré des modules ES simples avec un script de démarrage python3 -m http.server et aucun node_modules. Opus a installé Vite et Vitest et s’est appuyé sur une vraie toolchain.

Les temps ci‑dessous mesurent uniquement le travail actif. J’ai pris chaque run de son premier événement assistant au dernier et retranché toute période d’inactivité où la session attendait au lieu de construire.

Résultats : vitesse, coût et exactitude

Dimension

Fable 5

Opus 5

Événements assistant

103

247

Temps de build actif

25 min

48 min

Jetons de sortie

243 442

139 920

Lectures cache

11,3 M

26,4 M

Appels d’outils

56 (24 Bash, 19 Edit, 10 Write)

137 (60 Bash, 51 Edit, 20 Write)

Texte visible imprimé

429 mots (2 blocs)

4 808 mots (110 blocs)

Coût total

$28,70

$20,07

Fichiers livrés

9, zéro dépendance

13, Vite + Vitest

Lignes de code

~1 010

~1 746

Tests

16, tous passent

58, tous passent

npm test fonctionne

Non

Oui

Vitesse de simulation

3,14 ms/tick à 3 510 agents

1,35 ms/tick à 4 368 agents

Livré sur GitHub

Oui

Oui

Fable a coûté 43 % de plus et produit 74 % de jetons de sortie supplémentaires pour un programme plus petit. Comme il ne peut pas désactiver sa réflexion, il continue de facturer même quand ce n’est pas nécessaire.

Les deux modèles ont réussi tous les contrôles objectifs : 

  • La même graine reproduit le même monde.
  • Des graines différentes divergent.
  • Rien n’atteint NaN.
  • Aucun agent ne s’échappe du monde à vitesse maximale.
  • 60 FPS tenus dans le navigateur, sans erreur console.

La simulation d’Opus est 2,3× plus rapide par tick. Elle stocke les agents dans des tableaux typés, un tableau à plat par propriété, et maintient une grille spatiale distincte par espèce. Fable donne à chaque agent son propre objet et partage une grille uniforme pour les trois espèces. Les deux sont corrects, mais la disposition des données d’Opus est plus rapide.

Le défaut livré par Fable

Le script npm test de Fable ne tourne pas. Il a livré node --test test/, que Node 26 interprète comme un chemin de module et non un répertoire ; la commande échoue avant d’exécuter un seul test. Les 16 tests en dessous sont bons et passent si vous nommez les fichiers explicitement. C’est le point d’entrée dans package.json qui est cassé.

Petit bug, gros impact : la seule commande qu’un lecteur va vraiment taper est celle qui échoue. Fable ne l’a jamais détecté — c’est le point clé : le prompt exigeait des tests, et il les a vérifiés par une voie que ses propres utilisateurs n’emprunteront pas.

Opus n’a pas d’échec équivalent. Ses 58 tests se lancent avec npm test et passent. Les deux suites testent l’essentiel : déterminisme à graine, conservation d’énergie, torus wrapping, survie des espèces sur la durée. L’écart est de profondeur, pas de nature. Le seul contrôle qu’Opus a ajouté seul est le stress test à 5000 agents — aussi l’exigence la plus susceptible de casser.

Ce que montrent les captures

Les deux apps ne se ressemblent pas, ce qui était précisément l’objectif en changeant la tâche.

Title: Fable 5's ecosystem simulation, sidebar on the left, agents drawn as flat squares - Description: Fable 5's ecosystem simulation, sidebar on the left, agents drawn as flat squares

Fable 5 : contrôles à gauche, agents en carrés plats, espèces nommées Plants, Herbivores et Predators.

Title: Opus 5's ecosystem simulation, panel on the right, agents drawn as directional triangles - Description: Opus 5's ecosystem simulation, panel on the right, agents drawn as directional triangles

Opus 5 : contrôles à droite, agents en triangles directionnels, espèces nommées Plankton, Grazers et Hunters.

Côté UI, les plus gros écarts :

  • Fable place son panneau à gauche, dessine chaque agent en carré, et nomme ses espèces Plants, Herbivores et Predators.
  • Opus place le panneau à droite et dessine des triangles directionnels, pour lire le sens d’un banc. Il adopte un thème aquatique avec Plankton, Grazers et Hunters.

Lire les graphes de population

C’est sur les graphes de population que la différence de conception s’accentue.

Title: Fable's population graph on a linear scale, the plant line dominating and the predator line flat against the axis - Description: Fable's population graph on a linear scale, the plant line dominating and the predator line flat against the axis

Graphe de Fable 5, échelle linéaire. La courbe des plantes occupe toute la hauteur, celle des prédateurs est collée à l’axe.

Title: Opus's population graph on a log scale, all three species legible and the predator line crossing the prey line - Description: Opus's population graph on a log scale, all three species legible and the predator line crossing the prey line

Graphe d’Opus 5, échelle logarithmique. Les trois espèces restent lisibles, et la courbe des chasseurs croise celle des proies.

Les deux simulations oscillent comme un système proie‑prédateur classique. Chez Fable, les plantes varient entre 520 et 7 061 sur 5 minutes tandis que herbivores et prédateurs suivent, ces derniers culminant à 248 exactement quand les herbivores touchent 119.

En échelle linéaire, la courbe des plantes monopolise la hauteur, les herbivores se tassent, et les prédateurs restent au ras de l’axe.

C’est pourquoi Opus a choisi une échelle log et annoté les pics. Les trois espèces demeurent lisibles ; on voit la courbe des chasseurs monter, croiser celle des brouteurs, puis retomber quand ils se rétablissent. Même type de données, une seule visualisation vraiment lisible.

Comportement des deux écosystèmes

Les écosystèmes diffèrent aussi sous le capot. Opus plafonne sa couche de producteurs à 4 229 planctons : cette population colle au plafond et seules les deux espèces du haut oscillent. Fable laisse les trois couplées, d’où des amplitudes plus larges et un monde plus vivant. Sans l’avoir demandé, on obtient stabilité d’un côté et dynamisme de l’autre.

Title: Fable's parameter panel, 13 sliders with named units - Description: Fable's parameter panel, 13 sliders with named units

Panneau de paramètres de Fable 5 : 13 curseurs dans les unités propres à la simulation.

Title: Opus's parameter panel, 9 sliders normalized to 1.00 multipliers - Description: Opus's parameter panel, 9 sliders normalized to 1.00 multipliers

Panneau de paramètres d’Opus 5 : 9 curseurs, chacun un multiplicateur à 1,00, regroupés en World et Behaviour.

Fable expose 13 paramètres en unités réelles : croissance des plantes 5, rayon de perception 60, séparation 1,5, et métabolisme par espèce. Opus en expose 9, tous des multiplicateurs normalisés à 1,00, répartis en groupes World et Behaviour. 

En une phrase : Fable vous laisse plus de contrôle, tandis qu’Opus propose un panneau qui évite de déséquilibrer l’écosystème trop facilement.

Faut-il choisir Fable 5 ou Opus 5 ?

Par défaut, utilisez Opus 5. Sur ce build, il a coûté 30 % de moins, fait tourner une simulation 2,3× plus rapide et écrit une meilleure couverture de tests. Fable a gagné sur la vitesse d’exécution, en terminant en environ deux fois moins de temps.

Basculez vers Fable 5 quand vous voulez un build mené d’une traite avec un minimum de supervision, ou quand l’empreinte de dépendances compte. Fable a livré un programme sans dépendances 42 % plus petit, en 103 tours assistant contre 247. Cette concision a une vraie valeur pour une tâche que vous comptez relire vous‑même ensuite.

En conclusion

Deux builds d’un même type de projet ne font pas un benchmark. Les performances réelles peuvent beaucoup varier, malgré ce que disent les benchmarks existants.

Par exemple, même si notre comparaison a montré Fable consommant plus de jetons qu’Opus, la plupart des développeurs constatent l’inverse : Opus 5 brûle bien plus de jetons que Fable ou Sol sur des tâches similaires. Le soupçon : l’entraînement RL d’Opus 5 l’a trop optimisé pour gonfler la facture de jetons au lieu d’aider de façon concise. En dehors de cette comparaison, je l’ai clairement ressenti dans mon travail : les modèles Opus deviennent de plus en plus verbeux en surface et plus difficiles à lire.

Personnellement, je continuerai d’utiliser Fable 5 pour presque tous mes projets de code, y compris pour des clients, car il l’emporte en exactitude sur la durée. Je suis sur la dernière offre Max et je n’ai pas encore atteint mes limites d’usage, même avec plusieurs sessions Fable (je n’exécute toutefois pas Claude Code en continu). J’emploierai Opus quand la facture de jetons comptera, ou quand je voudrai un commentaire en direct sur la tâche en cours pour mieux la comprendre.

Pour en savoir plus sur les modèles et l’outillage autour, je vous recommande de lire notre guide Claude Fable 5, ainsi que les tutoriels sur Claude Code et les meilleures pratiques Claude Code.

Sujets
Intelligence artificielle
Grands modèles linguistiques

Apprenez à utiliser Claude Code avec DataCamp !

Cours

Introduction aux modèles Claude

3 h
14.9K
Découvrez comment utiliser Claude avec l'API Anthropic pour résoudre des problèmes concrets et créer des applications basées sur l'IA.
Voir les détailsRight Arrow
Commencer Le Cours
Voir plusRight Arrow
Contenus associés

blog

Architecture de l'entrepôt de données : Tendances, outils et techniques

Apprenez l'essentiel de l'architecture d'un entrepôt de données, des composants clés aux meilleures pratiques, pour construire un système de données évolutif et efficace !
Kurtis Pykes 's photo

Kurtis Pykes

15 min

blog

Types d'agents d'intelligence artificielle : Comprendre leurs rôles, leurs structures et leurs applications

Découvrez les principaux types d'agents d'intelligence artificielle, comment ils interagissent avec les environnements et comment ils sont utilisés dans les différents secteurs d'activité. Comprendre les agents réflexes simples, les agents basés sur un modèle, les agents basés sur un but, les agents basés sur l'utilité, les agents d'apprentissage, etc.
cursor ai code editor

Tutoriel

Cursor AI : Un guide avec 10 exemples pratiques

Apprenez à installer Cursor AI sur Windows, macOS et Linux, et découvrez comment l'utiliser à travers 10 cas d'utilisation différents.

Tutoriel

Tableaux Python

Tableaux Python avec exemples de code. Découvrez comment créer et imprimer des tableaux à l'aide de Python NumPy dès aujourd'hui.
DataCamp Team's photo

DataCamp Team

3 min

Tutoriel

Séquence de Fibonacci en Python : Apprenez et explorez les techniques de codage

Veuillez découvrir le fonctionnement de la suite de Fibonacci. Veuillez explorer ses propriétés mathématiques et ses applications concrètes.
Laiba Siddiqui's photo

Laiba Siddiqui

6 min

Tutoriel

Classes abstraites Python : Un guide complet avec des exemples

Découvrez les classes abstraites Python, leur utilité et comment utiliser le module `abc` pour garantir la cohérence des interfaces. Comprend des exemples pratiques et des bonnes pratiques pour une mise en œuvre efficace.
Derrick Mwiti's photo

Derrick Mwiti

10 min

Voir PlusVoir Plus