PetPal : j'ai transformé ma concentration en compagnon Pokémon (et je te l'offre)

Il y a des projets qu'on construit pour les autres, et d'autres qu'on construit d'abord pour soi. PetPal fait partie de la seconde catégorie : un petit Pokémon en pixel art qui vit dans un coin de mon écran et me motive à bosser. Et comme l'idée me rendait service, j'ai décidé d'en faire un vrai petit produit, fini et soigné — puis de l'offrir gratuitement, code source ouvert.
Voici l'histoire de ce side project : pourquoi je l'ai créé, comment il fonctionne, ce qu'il y a sous le capot, et comment l'essayer chez toi.

L'étincelle : et si la concentration devenait un jeu ?
Comme tout le monde, je connais bien la procrastination. La page blanche, l'onglet de trop, les vingt minutes qui s'évaporent. J'avais déjà mes outils — pomodoro, listes de tâches — mais ils me semblaient froids, un peu austères. Rien qui me donne envie de m'y remettre.
Un soir, l'idée est venue, simple et un peu enfantine : et si rester concentré me rapportait quelque chose de mignon ? Un compagnon qui veille sur moi, qui grandit quand je travaille, qui me lance un petit mot d'encouragement quand je m'y remets. Pas une appli de productivité de plus — un copain de bureau.
J'ai choisi un Tiplouf, ce petit pingouin Pokémon attachant, parce qu'il a exactement l'énergie que je voulais : sérieux mais adorable. Le concept était posé.
Le concept : un Pokémon qui vit vraiment sur ton écran
PetPal n'est pas une fenêtre classique. C'est une petite fenêtre transparente, sans bordure, toujours au premier plan. Ton compagnon flotte là où tu le déposes, déplaçable à la souris. Il ne te coupe pas dans ton travail : il est là, discret, dans un coin.
Quelques interactions simples suffisent à le rendre vivant :
- Clique-le : il te lance un petit encouragement.
- Double-clique : tu peux discuter avec lui.
- Clic droit : tu accèdes à tout (pomodoro, tâches, stats, réglages).
- Quand tu n'en as plus besoin, il se range sagement dans la zone de notification de Windows.
Il a aussi trois états d'animation — position de base, dodo, et action — pour qu'il ait sa propre petite vie même quand tu ne le regardes pas.
La concentration transformée en aventure
C'est là que PetPal devient utile, pas juste sympa. Toute la productivité est pensée comme une progression de jeu.
Le pomodoro, en duo
Le minuteur pomodoro rythme tes sessions de travail et de pause. La différence : ton compagnon réagit. Il change d'humeur, te dit quand foncer et quand souffler. Tu ne suis plus un timer abstrait, tu travailles avec quelqu'un.
L'évolution par le temps de focus
Le cœur du concept. Plus tu cumules d'heures de concentration, plus ton Pokémon évolue :
- Tiplouf — le point de départ, ton compagnon des premières heures.
- Prinplup — il évolue vers ~10 heures de focus cumulé.
- Pingoléon — la forme finale, vers ~40 heures.
Chaque heure de travail compte vraiment et se voit. C'est bête, mais voir son compagnon grandir grâce à ses efforts est étonnamment motivant. (Et les seuils sont modifiables, pour ceux qui veulent ajuster la courbe.)
Le journal de tâches et les bulles
Un journal de tâches avec cases à cocher persistantes garde le cap sans te sortir de ton flow. Et tout au long de la journée, des bulles d'encouragement contextuelles — et parfois spontanées — viennent te remotiver.
Le fun jusque dans les détails
Un side project, c'est aussi l'occasion de se faire plaisir sur les détails qui ne servent à rien mais qui font tout.
- Pixel art 100% personnalisable : tu peux déposer tes propres sprites pour chaque stade d'évolution. Tant que tu n'as rien mis, des placeholders sont générés automatiquement, donc l'app marche tout de suite.
- Une IA locale optionnelle : en branchant Ollama, un petit modèle tourne en fond pour générer des encouragements et discuter de tes projets. Et s'il est éteint, PetPal bascule automatiquement sur des messages scriptés — il fonctionne donc 100% hors-ligne si tu veux. Aucune donnée ne part dans le cloud.
Sous le capot : un side project pensé comme un produit
J'aurais pu m'arrêter à un script qui marche sur ma machine. Mais l'exercice qui m'intéressait, c'était de le finir comme un vrai produit.
- Application de bureau en Python + PySide6 (Qt) pour la fenêtre transparente, déplaçable et toujours au premier plan.
- Sprites animés via Pillow, persistance des données en JSON (focus cumulé, pomodoros, tâches, évolution, série de jours).
- Client Ollama pour l'IA locale, avec repli silencieux sur des messages scriptés.
- Packaging en exe autonome via PyInstaller : un seul fichier
PetPal.exe, aucun Python à installer pour l'utilisateur final. - Lancement au démarrage de Windows en un clic, et un installeur optionnel (Inno Setup).
Un détail dont je suis particulièrement content : les données de l'utilisateur vivent en dehors de l'exe, dans le dossier AppData. Conséquence directe : mettre à jour PetPal, c'est simplement remplacer le fichier .exe. Ta progression et tes sprites perso ne sont jamais touchés. C'est le genre de détail invisible qui fait la différence entre un script et un produit.
Pourquoi je l'offre
Parce que c'est exactement le type de projet qui mérite d'être partagé. Il est petit, joyeux, utile, et il ne demande rien en retour. Le code est open-source : si tu veux jeter un œil à la mécanique, l'améliorer ou le décliner avec ton propre Pokémon, fais-toi plaisir.
C'est ma petite contribution pour rendre la concentration un peu plus douce.
Comment l'essayer
Le plus simple, sur Windows : télécharge PetPal.exe, lance-le en double-cliquant, et c'est parti. Le compagnon apparaît en bas à droite de ton écran.
Si tu préfères lancer le projet depuis les sources :
python -m pip install -r requirements.txt
python main.py
Et pour activer l'IA locale, il suffit d'installer Ollama et de récupérer un petit modèle :
ollama pull qwen2.5:3b
Tout le projet, le code et les instructions détaillées sont sur le dépôt GitHub. Tu peux aussi retrouver une présentation complète sur la page du projet.
En conclusion
PetPal, c'est un rappel pour moi-même : un side project n'a pas besoin d'être ambitieux pour être satisfaisant. Il faut juste qu'il résolve un vrai (petit) problème, et qu'il le fasse avec soin et avec le sourire.
Maintenant, un petit pingouin veille sur ma productivité. Et si tu veux, il peut veiller sur la tienne aussi. 🐧