
2012 : Je suis développeur depuis longtemps, j’ai commencé en autodidacte à 12 ans, ça fait donc plus de la moitié de ma vie que je code et je travaille comme formateur. Un matin, je tombe sur un article qui explique que Python est le langage qui monte, celui qu’il faut suivre de près. Et comme mon métier, c’est justement d’enseigner le code, je me dis que je ferais bien de m’y mettre sérieusement pour rester à la page et peut-être, un jour, proposer des formations Python (spoiler : je n’en donnerai finalement jamais). Sauf que je bosse sur plusieurs machines différentes, et franchement, installer Python et reconfigurer mon environnement à chaque changement d’ordi, à 28 ans, j’ai passé l’âge. Alors je me dis : « Et si je faisais un éditeur Python qui tourne directement dans le navigateur, avec mes scripts sauvegardés dans le cloud ? »

Absurde ? C’est pourtant exactement ce que j’ai fait. Et sans le savoir, cet outil personnel allait finir sur les Chromebooks de plus de 2 200 écoles, collèges, lycées et universités à travers le monde, dont le MIT et Stanford, avec un pic à 43 000 utilisateurs par mois.
Aujourd’hui, treize ans plus tard, Python Editor vit ses dernières heures sur GitHub Pages, en mode archive. il ne m’a jamais rendu riche, loin de là. Mais soyons honnêtes : c’est probablement le projet dont je suis le plus fier, et c’est surtout celui qui m’a le plus appris. Voici son histoire.
On est au printemps 2013. Je m’attaque à Python avec les réflexes d’un dev qui a déjà des années de PHP, JavaScript, C et HTML/CSS derrière lui. Je veux juste aller à l’essentiel : ouvrir un fichier, taper trois lignes, lancer, voir le résultat, recommencer. Rien de tout ça ne devrait demander une installation d’une heure à chaque nouvelle machine.
Je cherche une solution en ligne. Et là… le désert. PythonAnywhere existe depuis 2011, mais c’est pensé pour héberger des sites, pas pour tester vite fait un petit script. CodeSkulptor (Rice University, 2012) est réservé aux élèves d’un cours Coursera. Trinket vient tout juste d’être fondé, personne n’en parle encore. Repl.it (qu’on appelle aujourd’hui Replit) tel qu’on le connaît n’existera qu’en 2016. Google Colab ? Il faudra attendre fin 2017 pour qu’il soit rendu public.
En 2013, il n’y a tout simplement pas d’éditeur Python dans le navigateur, gratuit, grand public, prêt à l’emploi. Et encore moins un qui sauvegarde automatiquement les scripts dans le cloud.
Je décide donc de le construire moi-même, en m’appuyant sur deux briques JavaScript qui étaient, à l’époque, les meilleurs candidats pour ce genre d’exercice :
J’assemble les deux, je bricole une interface qui fonctionne aussi hors ligne (grâce à une fonctionnalité du HTML5 de l’époque), je connecte le tout à Google Drive, et voilà : une première version voit le jour. Elle est brute, sans numéro, juste « Python Editor ». Quand je décide rapidement de la refondre, je fais démarrer la numérotation officielle à v2, parce que la v1 existait mais n’avait jamais porté de nom propre. C’est un détail, mais ça explique pourquoi la plus vieille version référencée dans mes captures d’écran, c’est déjà une « v2 ».
Je mets le tout en ligne sur un petit sous-domaine maison : editor.codnex.net, hébergé sur un mutualisé OVH à quelques euros par mois que je déplacerais plus tard sur python.codnex.net
Pourquoi le mettre en ligne ? Parce que je me dis très naïvement : « Si cet outil m’est utile à moi, il peut peut-être l’être pour quelques autres personnes. » Rien de plus ambitieux que ça. Pas de business plan, pas de roadmap, pas de stratégie de lancement. Juste une page mise en ligne au cas où.
Trois choses vont changer la donne, sans que je les anticipe.
Premier déclic : l’intégration Google Drive. L’idée, au départ, est égoïste : je veux que mes scripts me suivent d’un ordi à l’autre, sans clé USB, sans email à moi-même. Alors je déclare mon application comme « compatible » avec les fichiers .py dans la console Google réservée aux développeurs. En gros, je coche une case qui dit : « mon outil sait ouvrir les fichiers Python ». Je pensais juste rendre un petit service.
Sauf que Google, lui, fait son boulot. Quand un utilisateur met un .py sur son Drive, Drive lui recommande mon app pour l’ouvrir. Je ne savais pas qu’on pouvait toucher un tel jackpot en cochant trois cases. Du jour au lendemain, des gens du monde entier arrivent sur mon site sans même savoir qu’il s’appelle Python Editor. Ils cliquent sur « Ouvrir avec » dans leur Drive, et c’est moi qui m’ouvre.
Deuxième déclic : les Chromebooks. Là, j’ai une chance historique phénoménale. Entre 2013 et 2018, Chrome OS est un système radicalement verrouillé : pas de terminal, pas d’installation, pas moyen d’avoir Python en local sans débloquer l’appareil (ce que les services informatiques des écoles interdisent systématiquement). Une solution permettant enfin d’installer un vrai Python sur Chromebook ne sera annoncée qu’à la conférence Google I/O 2018, et encore faudra-t-il que l’administrateur l’active, ce que la majorité des écoles refusent.
Pendant ce temps-là, le parc des Chromebook explose : 35 % des appareils mobiles achetés par les écoles américaines K-12 au T3 2014, 51 % en 2015, 60 % en 2018 (source : Futuresource Consulting). Google activait environ 30 000 Chromebooks par jour scolaire en 2015.
Au total, 40 millions d’élèves et de profs utilisent un Chromebook dans le monde en 2020.
Et tout ce monde-là doit apprendre Python. Parce qu’au même moment, les programmes scolaires basculent : le Royaume-Uni rend la programmation obligatoire dès 5 ans en septembre 2014 avec Python comme langage principal au secondaire. Les USA lancent l’AP Computer Science Principles en 2016. La France impose Python 3 dans ses programmes de SNT (2de) et NSI (1re) à la rentrée 2019.
Résultat : des millions de profs et d’élèves se retrouvent avec un Chromebook dans les mains, un programme Python à faire tourner, et aucune solution installée. Ils tapent « Python editor online » dans Google. Et beaucoup tombent sur mon outil.
Troisième déclic : Python Editor est distribué sur le Chrome Web Store et le Firefox Marketplace, ce qui renforce la visibilité naturelle. Je soigne l’affichage sur mobile et tablette, ça tourne aussi sur Firefox OS. Je ne sais pas encore à quel point ce triple pari (Google Drive + Chromebook + gratuit) va me porter et non me rapporter 😉
Voici le truc : pendant les premiers mois, je ne regardais même pas les statistiques de mon site. Je sortais des mises à jour quand j’en avais l’envie, j’ajoutais des fonctionnalités selon mes propres besoins, et je considérais Python Editor comme un projet secondaire sympa, sans plus. Je n’avais aucune idée de ce qui se passait dans les coulisses.
Jusqu’au jour où OVH, mon hébergeur, m’envoie un mail automatique : « votre quota de bande passante mensuelle est dépassé ». On est le 10 du mois. Le 10. Mon petit mutualisé bas de gamme vient de servir autant de fichiers en une semaine et demie qu’il est censé en servir sur trente jours. Dans le même temps, ma boîte mail commence à recevoir des demandes d’aide d’inconnus à travers le monde, des profs surtout. Je découvre qu’il y a un vrai monde derrière l’URL.
C’est seulement là que je me connecte à Google Analytics. Et là, je regarde les stats avec le même étonnement qu’un type qui aurait mis une bouteille à la mer et la retrouverait encadrée au Louvre.

Sur la période mai 2014 – avril 2015, je totalise 87 100 sessions, 69 014 utilisateurs uniques, 150 967 pages vues, avec un taux de rebond de seulement 34,61 % et 78,76 % de nouvelles sessions. Pour un petit projet perso, c’est totalement démentiel.
La ventilation géographique me fait rêver encore aujourd’hui. 34,85 % des utilisateurs aux USA, 12,45 % au Royaume-Uni, 5,88 % en France, 4,99 % au Canada, 3,20 % en Inde, 2,78 % au Brésil, 2,54 % en Espagne, 1,95 % en Colombie, 1,69 % en Russie, 1,64 % en Australie. Les langues principales : anglais américain (58,82 %), anglais britannique (10,03 %), français (7,34 %), espagnol (4,75 %), portugais brésilien (2,15 %), russe, chinois, allemand.
Un gamin de Bogota, une prof de Manchester, un étudiant de Moscou et une classe de Caroline du Nord utilisent le même petit éditeur. Codé seul. Dans mon coin. Le soir et le week-end.
Ce qui m’a le plus marqué, c’est de voir les mentions apparaître toutes seules sur le web. Je n’ai jamais fait de growth hacking, jamais payé un seul euro de pub outbound, jamais contacté un seul journaliste, car la visibilité n’était pas mon ambition.
En novembre 2016, le blog Undeadbobop publie un article « How to: Python ChromeOS » qui compare les IDE Python pour Chromebook. On y lit noir sur blanc : « There is also Python Editor 5.1.5 online here: python.codnex.net ». En décembre 2016, un autre blog publie un tutoriel « How To Create a Python File With a Chromebook » qui explique pas à pas comment utiliser mon éditeur pour écrire et exporter un .py depuis un Chromebook. J’apprends leur existence des années plus tard, en cherchant mon nom par curiosité pour faire cet article.








Un site de ressources pédagogiques lié au cours TM112 de l’Open University britannique (introduction au computing) liste python.codnex.net parmi les ressources recommandées. Mon outil est référencé par le magazine micro:mag dans son numéro 6 en novembre 2019 (le magazine communautaire autour du micro:bit). En janvier 2020, quelqu’un le soumet sur Product Hunt.
Le MIT et Stanford dans les logs d’accès. Des établissements auxquels je n’aurais jamais pensé être lié, même dans mes rêves les plus fous. Des universités publiques allemandes, des collèges catholiques argentins, des lycées polonais, une université de Córdoba en Espagne dont un étudiant m’écrit pour me féliciter. J’ai même une liste de ces établissements que j’avais compilé en 2014 : https://docs.google.com/spreadsheets/d/1nO6rG9x0OWwKgRkMzPNA1zKyyceQ8TjsntgODPXBFCI/edit?usp=drive_link
Je garde encore les captures Analytics. Je les regarde parfois comme d’autres regardent leurs vieilles photos de vacances.
Il y a un moment précis où j’ai compris que l’outil m’avait échappé. Lors d’une soirée entre potes, un ami me parle de son collègue dev, « tu sais, il s’éclate avec Python grâce à un outil en ligne génial, je sais plus le nom ». Je lui demande à quoi ça ressemble. Il me décrit l’interface. Je souris. « C’est le mien. »
Silence poli autour de la table. Personne ne me croit vraiment. Je sors mon téléphone et je lui montre l’URL. Il faut que vous compreniez quelque chose : rien ne vous prépare à découvrir que votre projet perso est devenu un outil de travail pour des inconnus dans des pays que vous n’avez jamais visités. C’est vertigineux et excitant même temps.
Dans ma boîte mail, les messages s’accumulent. Des profs de Madrid qui me proposent de traduire l’interface en espagnol. Jason, un enseignant américain, qui me remercie parce que ses élèves adorent l’outil mais me demande poliment si je peux retirer les pubs parce que ça gêne en classe. Julio, étudiant en ingénierie informatique à l’université de Córdoba, qui me félicite et me demande si je peux ajouter la détection d’erreurs de syntaxe. David, prof britannique au Marden High School, qui galère avec un bug de connexion Google et avec qui j’échange sur l’outil en plus du service IT de l’école . Un utilisateur coréen sur Debian. Je deviens, malgré moi, le support technique gratuit de milliers de personnes à travers le monde, et tout cela bénévolement je le rappelle.
Pour ne pas me noyer, j’installe Disqus sur le site, un système de commentaires qui me permet de centraliser les retours, les demandes et les idées au même endroit. C’est devenu mon tableau de bord informel : je lis, je trie, je priorise les corrections et les évolutions. Sans ça, j’aurais vite abandonné, submergé par le volume.
Pendant que Python Editor tourne sur mon petit mutualisé OVH, le marché, lui, se professionnalise violemment.
Repl.it est incorporée en 2016, lève des millions de dollars, passe à 200 000 développeurs actifs par semaine en mars 2018, 6 millions d’utilisateurs en 2020. Google Colab est rendu public fin 2017 avec un argument massue pour la data science : des cartes graphiques puissantes offertes gratuitement. Trinket lève 425 000 $, devient le standard embarqué dans les manuels comme Python for Everybody du Dr. Chuck. PythonAnywhere est racheté plus tard par Anaconda en 2022.
Moi, pendant ce temps, je suis seul. Je bosse à côté, je vis ma vie. Python Editor reste ce projet que je maintiens le soir, dont je sors une v4 en 2014-2015 (avec une belle démo sur YouTube partagée jusqu’au Japon), puis une v5 en 2016, que j’accompagne d’un site compagnon pour partager des scripts Python et d’une extension Chrome qui permet d’extraire un script Python d’une page web et de l’importer directement dans l’éditeur. Des petites briques, posées les unes sur les autres, sans plan d’affaires, juste pour répondre à des besoins simples.
Soyons lucides : je me suis fait doubler par des startups qui avaient des équipes, des investisseurs, des designers et des community managers à plein temps. Moi, j’avais un mutualisé OVH, Disqus et des nuits courtes.
Parce que oui, à un moment, il faut parler gros sous.
Quand OVH m’a envoyé le fameux mail — « votre bande passante mensuelle est dépassée le 10 du mois », j’ai compris que mon petit projet gratuit allait me coûter cher. Un outil qui sert des fichiers volumineux à 43 000 personnes par mois, ça consomme énormément de bande passante et on est loin des formules actuelles abordables avec du trafic illimité, là il faut payer.
J’ai donc tout tenté pour monétiser, pas question que je perde de l’argent chaque mois sans essayer de gratter quelques Euros.
AdSense. Classique, raisonnable, moche. Carbonads en janvier 2016 (un régie pub sélective qui m’accepte facilement en voyant mes stats, des pubs plus sobres, orientées développeurs). Une extension Chrome payante à 1 €/mois pour masquer les pubs dans l’éditeur, dernier recours pour transformer une poignée d’utilisateurs en soutiens.
Résultat ? Quasi nul. Les utilisateurs de Python Editor sont à 90 % des élèves et des étudiants, majoritairement sur Chromebook d’établissement scolaire, avec des bloqueurs de pub installés par défaut ou des politiques informatiques qui filtrent la publicité. Ceux qui voient une pub ne cliquent pas. Ceux qui pourraient payer ne veulent pas payer, et franchement, à 14 ans pour faire ses devoirs d’informatique, c’est compréhensible.
En septembre 2015, un peu désespéré, j’envoie un mail à Korben (un blogueur tech français majeur que je suis depuis des années et que je respecte) pour demander des conseils sur la monétisation. Pas de réponse. Pas de rancune non plus : je sais qu’il reçoit 400 messages par jour, et mon sujet n’était ni sexy ni urgent.
La note moyenne de l’outil sur les stores tournait autour de 3,86/5 pour 291 notes et 116 avis écrits. Pas spectaculaire, mais pour un outil gratuit sans support dédié, plutôt honorable et la plupart des avis négatifs résulte du fait que je n’arrivais pas à répondre à tout le monde, donc cela a créé de la frustration.
Vers 2019-2020, après six ans à porter financièrement l’outil, je rends les armes et j’annonce que sans solution je vais devoir fermer l’outil.
Et la communauté est là et me fait des propositions dont une retient mon attention :

Je migre Python Editor sur GitHub Pages, hébergement gratuit, et je publie le code source sur mon repo nicoss01/python-editor-v5.
Je rédige un message sur la page d’accueil de mon repo qui ressemble à une lettre à la communauté : « This is not a goodbye », mais c’en est un, un peu.

Je place le projet en open source. J’invite la communauté à reprendre le flambeau. Personne ne le fait vraiment.
Ce qui est ironique, c’est que la migration GitHub Pages, censée sauver le projet, accélère son déclin. Sans mises à jour régulières, sans ajouts de fonctionnalités, sans communication, les utilisateurs partent un par un vers Repl.it, Colab, Trinket. Le référencement Google perd ses positions. Les profs qui m’avaient recommandé en 2017 trouvent d’autres outils plus polis. Les stats s’effondrent.
Paradoxal ? Pas du tout. C’est le destin logique d’un produit qu’on ne fait plus vivre.
Vous attendez peut-être une conclusion triste. Désolé, il n’y en aura pas.
Python Editor ne m’a pas rendu riche. Il ne m’a jamais nourri. Il ne m’a pas ouvert les portes d’une grosse levée de fonds. Mais soyons honnêtes : rares sont les projets qui m’ont autant appris.
Et surtout, je suis profondément fier d’avoir accompagné l’apprentissage du Python pour des milliers d’étudiants à travers le monde. Ça, c’est une récompense qu’aucun chèque n’aurait pu m’offrir. Savoir que des élèves de 2de à Toulouse, d’université à Mumbai, de lycée à São Paulo ont écrit leurs premières lignes de code sur un outil que j’ai assemblé le soir chez moi, c’est une forme de contribution discrète mais réelle à l’éducation mondiale.
Moi qui était formateur et qui voulait donner des formations au, j’ai finalement formé beaucoup plus de monde que je n’en aurais formé en salle de cours. Joli paradoxe.
Sur le produit : construire un outil qu’on utilise soi-même, c’est la meilleure garantie de trouver un vrai problème à solutionner. Mon besoin personnel de 2013 (coder Python sans installer Python) était exactement celui de millions de personnes en 2015, sans que je n’en sois conscient. Je n’ai pas fait d’étude de marché. J’avais juste la chance d’être mon propre utilisateur cible, et par chance, un utilisateur cible qui allait bientôt être rejoint par une génération entière.
Sur la distribution : une bonne intégration (Google Drive, Chrome Web Store, Firefox Marketplace) vaut dix campagnes marketing. Cocher trois cases dans les paramètres Google m’a amené plus de trafic qu’un an de publicité Google Ads n’aurait pu le faire. Le produit se diffuse tout seul quand il s’incruste dans les usages déjà existants des utilisateurs.
Sur les briques technologiques : savoir assembler intelligemment des briques existantes vaut souvent mieux que tout réinventer. Python Editor n’existe pas sans Skulpt, qui n’existe pas sans les années de travail de Scott Graham et Brad Miller. Il n’existe pas sans CodeMirror, donc sans Marijn Haverbeke. Mon mérite, c’est d’avoir vu l’opportunité de coller ces deux briques entre elles, d’y ajouter Google Drive, et d’en faire un produit utilisable. Rien d’héroïque. Juste de la curiosité, et quinze ans d’habitude à lire de la documentation.
Sur l’écoute des utilisateurs : installer Disqus a été une des meilleures décisions du projet. Ça m’a permis d’entendre les utilisateurs, de comprendre leurs usages réels, de corriger ce qui ne marchait pas et d’ajouter ce qui manquait vraiment. Sans ça, j’aurais continué à développer dans mon coin pour moi-même, sans voir où l’outil partait. Les meilleurs retours venaient toujours de profs qui décrivaient très précisément ce qui bloquait leurs classes.
Sur le marché : les cycles sont plus longs qu’on ne croit. En 2013, j’étais en avance. En 2018, j’étais dépassé. Être en avance de cinq ans ne protège pas quand des startups financées arrivent avec dix ingénieurs et du cash frais. L’innovation seule ne suffit pas : il faut itérer, lever, recruter, s’entourer ou disparaître. J’ai choisi (sans vraiment choisir) la dernière option.
Sur la monétisation : un outil gratuit pour écoliers sur Chromebook est économiquement un piège. Mon audience était massive, engagée, internationale… et totalement insolvable. Quand vos utilisateurs sont des mineurs avec bloqueur de pub ou des profs au budget serré, vous ne transformez pas. Point. Si je refaisais ce projet aujourd’hui, je partirais direct sur un modèle payant pour les écoles et les districts scolaires, pas pour les élèves.
Sur le fond : une idée perso, bien exécutée au bon moment, peut faire le tour du monde. Vraiment. Pas besoin d’être à San Francisco, d’avoir un MBA ou un pedigree HEC. Un dev français autodidacte, seul à la barre avec un mutualisé OVH, peut se retrouver dans les logs d’accès de Stanford et du MIT. Ça ne le rendra pas riche. Mais ça lui apprendra plus que dix ans de cours magistraux.
Aujourd’hui, Python Editor v5.8 tourne encore sur python.codnex.net. Vestige numérique, capsule temporelle, ou dernier refuge pour quelques profs nostalgiques, peu importe. Il est là, gratuit, open source, sauvegarde vers Google Drive cassée. Si vous êtes tombé dessus un jour en cours, sachez que son auteur se porte bien, qu’il a beaucoup appris, et qu’il ne regrette rien.
Ce n’est pas mon seul projet qui a eu de l’impact, je vous raconterais bientôt comment une idée sur un coup de tête m’a permis de passer dans une émission politique 😉