WikiTok vs WikiRoom ou l’IA vs l’Humain
Science sans conscience n’est que ruine de l’âme.
L’application Web WikiTok développée grâce à l’IA a fait le buzz en février 2025, comparons-là à notre application WikiRoom développée sans IA.
Suite à ce buzz, nous avons développé l’application WikiRoom fonctionnellement équivalente mais sans utiliser d’IA afin de démontrer qu’un développeur expérimenté fait toujours beaucoup mieux qu’un développeur moyen utilisant une IA.
WikiTok
En février 2025, suite a une idée lancée sur X, le développeur Isaac GEMAL a développé l’application WikiTok en utilisant une IA générative (Claude d’après le développeur).
L’application propose sur une page des articles de Wikipédia avec un scroll infini façon TikTok pour passer d’un article à un autre. Un article est représenté en plein écran par une image de fond, les premières lignes de l’article et un lien pour accéder à l’article complet sur Wikipédia.
La liste des articles est complètement aléatoire, il n’y a pas d’algorithme qui enferme dans une bulle, c’est là qu’est la très bonne idée de cette application.
Les autres fonctionnalités sont la possibilité de gérer une liste d’articles favoris, de partager le lien d’un article et de changer la langue du Wikipédia utilisé.
WikiTok a très vite fait le tour d’Internet avec des articles sur Ars Technica, Business Insider et même le Washington Post et son code source est disponible sur GitHub (ce qui a donné très rapidement des clones).
Techniquement, l’application utilise l’API de Wikipédia pour obtenir une liste aléatoire d’articles et comme cette API peut être utilisée sans contrainte de CORS (merci à Wikipédia), l’application n’a pas besoin de backend, c’est le navigateur qui fait directement l’appel à l’API.
L’application est une PWA, elle peut donc être installée sur mobile ou ordinateur de bureau.
Pour le reste, c’est React 18 et Tailwind CSS qui sont utilisés pour coder l’application. Est-ce un choix du développeur ou le résultat proposé par l’IA ? En tout cas c’est là que le bât blesse dans cette application comme nous le verrons plus loin.
WikiRoom
Nous avons hésité un moment avant de développer WikiRoom, premièrement à cause du scroll infini qui n’est pas une bonne pratique en terme d’éco-conception et deuxièmement par le fait de développer une application entièrement générée par JavaScript, ce qui n’est là non plus, pas une bonne chose si on veut être un minimum éco-responsable.
Nous l’avons néanmoins fait car il est nécessaire de montrer qu’il y a mieux à faire aujourd’hui pour développer une application Web que d’utiliser des bibliothèques ou des frameworks beaucoup trop gros et énergivores.
WikiRoom reprend complètement le fonctionnement de WikiTok avec les mêmes fonctionnalités et même plus, avec par exemple l’importation de favoris ou le support du sens de l’écriture (pour l’arabe notamment) et sans certains bugs comme la suppression d’un favori qui ne supprime pas le coeur rouge d’un article à l’écran dans WikiTok.
Techniquement, nous avons juste utilisé notre module open source Room comme moteur de rendu avec une CSS adaptée. Contrairement à WikiTok, un Web Worker est utilisé pour paralléliser les requêtes à l’API Wikipédia (et son filtrage) afin de ne pas nuire à la fluidité de l’interface.
Grâce à Room, l’application a été développée sans processus de build (juste un processus de minification JS/CSS/HTML au déploiement) sur un ordinateur vieux de plus de 5 ans et sans utilisation d’aucune IA !
Le code JavaScript est développé en modules ECMAScript natifs et utilise une carte d’importation (plus d‘informations dans un article précédent).
WikiRoom est aussi une PWA qui peut être installée sur mobile ou ordinateur et fonctionne sans backend.
Le code source de WikiRoom est disponible sur notre Github.
Comparaison
Le tableau suivant présente les quantités de JavaScript et de CSS utilisés par chacune des applications (après transfert) et permet de se rendre compte du problème de l’utilisation de bibliothèques ou frameworks comme React ou Tailwind CSS pour développer une application Web.
Application | JavaScript (ko) | CSS (ko) |
---|---|---|
WikiTok | 170 | 32 |
WikiRoom | 14 | 7 |
Oui vous ne rêvez pas, WikiTok utilise 12 fois plus de JavaScript et 4 fois plus de CSS que WikiRoom pour faire exactement la même chose !
En plus d’avoir consommé sûrement pas mal d’énergie et d’eau pour produire WikiTok (les builds et l’IA c’est tout sauf neutre sur le plan environnemental), quand vous l’utilisez ce n’est pas mieux, votre terminal doit interpréter beaucoup plus de JavaScript et de CSS que réellement nécessaire.
En plus de React et son DOM Virtuel qui est une catastrophe en terme de consommation CPU, il y a là aussi Tailwind dont l’utilisation implique d’ajouter systématiquement plein de classes aux éléments HTML qui représentent un article alors qu’avec une CSS bien faite, une classe suffit pour définir le style d’un article et des éléments le constituant.
Pour finir, nous avons testé WikiTok sur un iPhone 7 Plus de 2016 (oui, il y en a encore qui fonctionne et même très bien 😀) bloqué à iOS version 15.8.3 et Safari 15 et bien malgré ses 32 ko de CSS, WikiTok fonctionne très mal : les textes des articles sont bien souvent illisibles, l’icône du bouton de partage est invisible, les boîtes de dialogues n’ont pas de fond, etc.
Et ces problèmes n’existent pas avec WikiRoom, donc si vous n’avez pas le mobile dernier cri, passez votre chemin si vous voulez utiliser WikiTok !
Conclusion
L’utilisation de l’IA générative pour le développement de logiciels est vantée par les vendeurs d’IA comme étant l’avenir et beaucoup achètent cette idée allant même jusqu’à prétendre que demain il n’y aura plus besoin de développeurs.
La réalité est tout autre, si l’IA peut aider à automatiser des tâches ou trouver de la documentation, elle n’est pas capable de créativité comme un humain et ne peut pas remplacer son expérience acquise.
Nous verrons sûrement d’autres applications comme WikiTok dans les temps à venir, développées par des script kiddies qui finalement n’apprennent rien avec l’IA car comme pour tous les métiers, c’est en forgeant qu’on devient forgeron.
Mais laissons les faire, c’est en fait une opportunité énorme pour les développeurs expérimentés, car au final ce sont eux qui seront appelés quand tout le monde remettra les pieds sur terre !