1 points par GN⁺ 4 일 전 | 1 commentaires | Partager sur WhatsApp
  • Les projets personnels qui traînent depuis longtemps se prêtent bien aux essais d’outils d’assistance au code, car l’objectif est moins d’apprendre du neuf que de finir l’implémentation
  • Le shim exposant YouTube Music via l’API OpenSubsonic a été réimplémenté pour permettre à différents clients Subsonic de s’y connecter de la même manière
  • Après avoir d’abord fixé une structure minimale et des conventions d’implémentation, le travail a avancé par courtes itérations, en combinant génération de stubs à partir du schéma OpenAPI et tests de connexion avec de vrais clients
  • La première implémentation, conforme au schéma seulement en apparence, a immédiatement cassé en conditions réelles, puis a été améliorée jusqu’à permettre la recherche et la lecture, à force de vérifier les logs de requêtes et d’ajouter des tests unitaires
  • Quand il ne s’agit pas d’un projet d’apprentissage ambitieux, mais d’un projet qu’on aimerait simplement voir exister, les outils d’assistance au code peuvent grandement aider à transformer une tâche repoussée en service réellement utilisable

Contexte du projet et approche

  • Un projet personnel abandonné depuis longtemps puis repris s’est révélé bien adapté pour tester des outils d’assistance au code basés sur l’IA
    • Le projet relancé était un shim reliant YouTube Music et l’API OpenSubsonic
    • OpenSubsonic servait de contrat d’API permettant de dissocier clients et serveurs de streaming musical
    • Le serveur utilisé était Navidrome, le client desktop Feishin, et sur Android Symfonium
  • Le shim expose YouTube Music selon l’API OpenSubsonic afin de permettre la connexion depuis n’importe quel client
    • ytmusicapi servait à récupérer les métadonnées, et yt-dlp était invoqué de façon programmatique pour le streaming
    • Le streaming de base a été connecté assez facilement, mais il restait une longue traîne de travail pour implémenter tous les endpoints conformément au standard
  • Ce projet se prêtait bien aux outils d’assistance au code, car il reposait moins sur un problème nouveau ou original que sur une implémentation fidèle d’un schéma clair
    • L’expérience a été menée comme une réimplémentation complète depuis zéro avec Claude Code et Opus 4.6

Mise en place initiale

  • Le point de départ était un projet minimal à la structure volontairement contrainte
    • Un projet uv a été créé, avec fastapi, pydantic, ytmusicapi et yt-dlp ajoutés comme dépendances
    • main.py a été remplacé par un fichier principal d’exemple FastAPI et le schéma OpenAPI d’OpenSubsonic a été placé dans le dossier
    • Le README contenait brièvement le rôle du serveur, les bibliothèques utilisées, les URL de documentation et l’emplacement de openapi.json
    • Un fichier TODO vide a été ajouté, puis CLAUDE.md a été généré via /init
  • CLAUDE.md regroupait séparément les conventions d’implémentation afin de réduire les consignes répétitives
    • Des annotations de type et des docstrings étaient exigées pour les arguments et valeurs de retour des méthodes
    • La modélisation des données suivait les conventions de Pydantic V2
    • Les docstrings devaient utiliser le style Google avec sections args et returns
    • Les tests suivaient un style pytest moderne avec fonctions de haut niveau, assert et fixtures
  • Ce point de départ a été regroupé dans un git repository

Flux d’implémentation du MVP

  • La méthode de travail reposait sur un mode planification et de courtes itérations
    • La tâche suivante était formulée dans un prompt, puis le plan initial était revu pour identifier oublis ou problèmes
    • En cas d’écart, des liens vers des ressources pertinentes étaient ajoutés, ou bien un outil de recherche était utilisé pour trouver une approche plus idiomatique s’il existait plusieurs options
    • Après chaque tâche, "Accept and clear context" était utilisé pour vider le contexte avant de recommencer
  • La première implémentation s’est concentrée sur la création de stubs pour les nouveaux endpoints JSON à partir du schéma OpenAPI
    • Les anciens endpoints XML et les nouveaux endpoints JSON coexistaient, mais le périmètre a été limité à la nouvelle version
    • Après l’implémentation, une étape de validation vérifiait de nouveau que toutes les méthodes correspondaient bien
    • Malgré la présence du schéma, des erreurs sont apparues au premier essai, dont la plupart ont été détectées au deuxième contrôle
  • Après les gros changements, /init était relancé afin de mettre à jour CLAUDE.md en fonction du nouvel état du projet
  • L’étape suivante a consisté à définir et raccorder un minimum fonctionnel avec recherche et streaming
    • L’objectif minimal était de permettre à un client Subsonic de rechercher et lire des morceaux
    • La recherche utilisait ytmusicapi, et le streaming yt-dlp

Problèmes révélés en conditions réelles et ajustements

  • Une implémentation qui semblait convaincante en surface a été obtenue rapidement, mais elle s’effondrait immédiatement lors d’une connexion réelle à Feishin
    • Le client a été testé directement, puis les logs de requêtes serveur ont été transmis à Claude Code pour corriger par itérations
    • Certains écarts de détail n’apparaissaient pas dans le schéma seul ; par exemple, il fallait supprimer le suffixe .view des endpoints
  • À chaque erreur, de nouveaux tests unitaires étaient ajoutés pour éviter les régressions
  • Après seulement quelques itérations, l’audio a réellement commencé à se lire dans Feishin
    • Le problème principal venait du fait que les endpoints stub ne renvoyaient rien du tout
    • La plupart des endpoints ont dû être modifiés pour renvoyer une réponse structurellement valide, même vide
  • Cela dit, ce niveau de MVP ne différait pas beaucoup de l’ancien POC, et l’utilisabilité réelle dépendait encore du long travail de finition à venir

Longue traîne de travail et extension à l’ensemble des fonctionnalités

  • D’après la documentation OpenSubsonic, l’API comptait environ 80 endpoints répartis en 15 catégories
  • Le périmètre nécessaire au MVP était relativement réduit
    • getLicense, getUser, getGenres, getMusicDirectories renvoyaient des collections vides mais valides
    • getSong était traité en pass-through, en renvoyant simplement l’ID des paramètres de requête avec des valeurs par défaut complétées
    • search3 était implémenté via un simple appel à ytmusicapi
    • stream extrayait une URL au format "bestaudio" à partir d’un appel yt-dlp enveloppé dans asyncio.to_thread
    • getCoverArt récupérait l’URL de l’image de couverture via yt-dlp
  • Du travail supplémentaire a été nécessaire pour prendre en charge l’ensemble des fonctionnalités d’un client Subsonic
    • Un simple cache mémoire a été ajouté aux appels ytmusicapi pour éviter les limitations d’usage
    • sqlite a été utilisé pour stocker les métadonnées musicales, et tous les endpoints de la catégorie browsing ont été implémentés
    • getTopSongs a aussi été géré en interrogeant la liste des top songs
  • Pendant le streaming, les morceaux étaient enregistrés sur disque pour éviter les retéléchargements
    • Si le client coupait la connexion à l’endpoint de stream avant la fin du téléchargement, un traitement supplémentaire était nécessaire pour nettoyer les fichiers incomplets
  • Tout cela aurait pu être fait à la main à l’origine, mais ne l’avait jamais été ; et faute de plan de déploiement, des aspects plus difficiles comme l’authentification ont encore été laissés de côté
  • Au final, un service fonctionnel auquel des clients Subsonic pouvaient se connecter a été construit sur de courtes soirées, sous le nom de Sub-standard

Dans quels cas cet usage est pertinent

  • Plutôt que de pousser systématiquement les outils d’assistance au code, des inquiétudes subsistaient aussi quant à une baisse de compétence liée à la dépendance
  • Les projets personnels se répartissaient globalement en deux catégories
    • Les stretch projects destinés à apprendre et progresser
    • Les projets qu’on aimerait simplement voir exister
  • Ce projet-ci appartenait à la seconde catégorie, et les outils d’assistance au code se sont bien prêtés à la matérialisation d’un souhait resté inachevé jusque-là
    • Cela a permis d’obtenir un projet qui, autrement, n’aurait probablement jamais été entamé, avec une sensation proche de celle de faire enfin diminuer une pile de livres jamais lus
  • Le critère important n’était pas tant de faire des projets de la seconde catégorie, mais de continuer en parallèle les projets d’apprentissage de la première catégorie

1 commentaires

 
GN⁺ 4 일 전
Réactions sur Hacker News
  • Les projets abandonnés que j’ai le plus souvent sont des jeux vidéo
    J’ai des dizaines de dossiers de projets interrompus, et maintenant je les reprends comme des expériences
    La semaine dernière, j’en ai relancé un avec Claude, et ça a vraiment bien collé, ça m’a même remis dans la bonne direction
    Comme je lui avais dit dès le départ que c’était un projet abandonné, il m’a poussé à finir d’abord la boucle de gameplay V0, puis à l’élargir à partir de là une fois le fun trouvé, ce qui m’a évité de laisser tomber
    Je lui donnais des idées de game design et il produisait du code fonctionnel, je lui donnais des articles sur des algorithmes procéduraux et il allait jusqu’à l’implémentation, il aidait aussi au brainstorming des objets, créait des assets graphiques, et allait même jusqu’à aider à construire le lore
    La combinaison Claude Code + Godot est vraiment amusante, et ça faisait longtemps que je ne m’étais pas autant amusé à utiliser un ordinateur

    • C’est la première fois que je vois quelqu’un parler d’un LLM en disant he plutôt que it
      Je ne critique pas, mais je trouve ça à la fois assez intéressant et légèrement inconfortable
    • Moi, c’est exactement l’inverse
      J’avais des dizaines de dossiers d’expériences, et pas mal d’entre eux deviennent maintenant de vrais projets
    • Ce qui est amusant en ce moment, c’est de reprendre des projets commencés il y a quelques mois ou un an en agent driven development, puis bloqués, pour les pousser plus loin avec Claude ou codex dans leurs versions récentes
      Certains tournent désormais, d’autres restent encore trop complexes pour ce qu’un agent peut gérer
      Mais malgré tout, créer des apps personnelles devient de plus en plus facile
      On va sans doute bientôt arriver à un niveau où l’on pourra dire : « Alexa, prends une photo de la nourriture dans mon frigo, collecte les informations nutritionnelles, synchronise-les avec mon app de sport, compare les ingrédients avec les objectifs de mon app santé, puis envoie-moi par e-mail de meilleurs ingrédients selon mon budget, ma région et mes contraintes alimentaires, le tout dans une app iPhone » et obtenir l’app en 15 minutes
    • Godot ne semble pas être un outil conçu pour bien fonctionner avec les LLM
      Par exemple, j’ai eu plusieurs fichiers tres incorrects, et laisser le LLM générer les ID me paraît aussi assez instable
    • Côté procédural, j’expérimente aussi avec un LLM intégré comme partie de la boucle procédurale
      L’idée est de superposer dessus une sorte de narration en direct
      Les modèles locaux sont encore lents et limités, mais c’est quand même assez intéressant de voir ce que ça peut produire
  • C’est vraiment excellent
    Il y a maintenant énormément de logiciels personnels
    Hier, j’ai créé un éditeur de texte natif complètement intégré à MediaWiki, avec auto-complétion des liens et aide à la saisie de la syntaxe
    Ce genre de logiciel n’a presque aucune valeur pour les autres, donc personne n’aurait de raison de le faire à part moi, et avant je ne le faisais pas non plus parce que ça prenait beaucoup trop de temps
    Mais quand on confie le code à un agent, le goulot d’étranglement n’est plus l’implémentation mais mon attention, et ça marche très bien de glisser ce genre de tâches personnelles dans les créneaux libres de mon cerveau
    J’ai vraiment l’impression que c’est une très bonne époque

    • Il y a quelques semaines, j’ai enfin terminé un mod de Quake 2 commencé en 1998
      L’IA m’a permis de dépasser le burn-out post-COVID et la pile de projets à moitié faits
      Aujourd’hui, j’ai aussi réparé un outil RDP lié au terminal, et je reprends un ticket ouvert sur OpenRA il y a 10 ans
      Le moteur est 10 fois plus rapide, et le pathfinding fonctionne désormais correctement dans la plupart des cas
    • C’est vraiment énorme
      J’ai environ 120 outils personnels, et c’est tout à fait vrai que le goulot d’étranglement est passé de l’implémentation au changement de contexte
      Du coup, maintenant je mets un fichier markdown à la racine de chaque projet, et à chaque arrêt j’y note l’état courant et l’étape suivante
      Comme ça, quand j’y reviens, je ne paie pas 20 minutes de coût de reconstruction mentale à me demander : « Où est-ce que j’en étais déjà ? »
      Comme de toute façon personne d’autre ne les utilise, je n’ai ni pression sur les edge cases ni sur la documentation, je règle précisément mon problème puis je passe au suivant
    • Je me demande combien de temps on a vécu sans IA
      Quand on voit l’explosion de productivité actuelle, il a sans doute déjà fallu pas mal de temps rien que pour accumuler autant de petits besoins en attente
    • J’ai aussi fait une app pour planifier une chasse au trésor de Pâques
      C’en est presque drôle tellement c’est niche
  • Je savais déjà coder, mais je manquais de temps, et l’IA a été un vrai game changer qui m’a enfin permis de publier des projets open source
    Je m’amuse maintenant à créer des apps GUI locales pour Linux que je n’avais jamais eu la motivation de faire auparavant

    • Sambervise: https://github.com/edward-murrell/sambervise
      Une app GUI Linux pour administrer à distance un Samba 4 Active Directory Domain Controller
    • Krbtray: https://github.com/edward-murrell/krbtray
      Une app GTK3 en barre système pour la gestion des tickets Kerberos, destinée aux environnements GTK utilisant Linux Mint / Cinnamon et GtkStatusIcon
    • Franchement, ça donne vraiment envie d’adhérer à l’IA pour coder
      Parce que ce sont exactement les genres d’apps que je cherchais et dont j’avais réellement besoin
    • Un autre changement important, c’est que le coût des gros refactorings a énormément baissé
      Grâce aux assistants de code, on peut maintenant tenter des changements structurels profonds, y compris dans la conception modulaire, avec beaucoup moins de temps qu’avant
      Évidemment, ce n’est pas sans contrepartie, et certains modèles produisent souvent du code qui ne répond pas aux standards de maintenabilité
      Ce n’est pas parce qu’on gagne du temps à l’écriture que le temps passé à corriger en boucle, nettoyer, et renforcer le system prompt ou les fichiers d’instructions disparaît
  • Je ne suis pas vraiment d’accord avec l’idée qu’à trop utiliser ces outils on risque de se déqualifier
    Je suis un millennial, et je fabrique des meubles avec des outils à main et de vieilles techniques d’assemblage du bois
    Je n’ai appris ça de personne directement, je me suis juste formé avec des ressources en ligne, et au final j’ai quand même pu apprendre ce dont j’avais besoin
    Si je n’ai pas peur de perdre cette compétence plus tard, c’est aussi parce que je pourrai toujours la réapprendre si nécessaire
    Les livres, les vidéos, les outils et le bois ne vont pas disparaître
    Utiliser l’IA ne crée pas un trou noir dans le cerveau sous prétexte qu’on tape moins souvent le code à la main
    Ce n’est pas comme Alzheimer, où l’information serait perdue pour toujours ; il faut juste un peu de temps pour se remettre dedans, puis ça revient vite
    Même les gens qui ont quitté le code pour du management pendant quelques années s’y remettent ensuite, juste un peu rouillés
    Surtout pour des projets perso, il n’y a même pas besoin de brûler des tokens Opus
    Un abonnement bon marché, quelque chose comme MiniMax, un conteneur en mode yolo, plus du contexte, des prompts, de la recherche web et un système de tickets type beads, suffisent
    Comme ce n’est pas urgent, on peut respecter l’enchaînement brainstorm → plan → implementation → testing, et à condition d’avoir de vrais moyens de test plutôt que seulement des mocks ou des unit tests, on peut finir le projet en économisant du temps et de l’argent

  • Il y a 12 ans, j’avais voulu faire une petite app qui montre, avec des barres, combien il me reste de journée, de semaine et de mois, et qui affiche aussi la météo sous forme de barres pour les températures min/max, la couverture nuageuse, etc.
    J’étais arrivé à quelque chose en texte et en ASCII, mais je n’avais pas réussi à créer une interface assez bonne pour avoir envie de l’utiliser chaque jour, et je n’avais jamais réussi à faire une vraie GUI graphique
    J’ai donc décrit à Claude Code l’interface graphique que je voulais et je l’ai laissé faire, et il a produit exactement l’app que j’avais en tête, tout en trouvant un bug dans un parseur de dates que j’ignorais
    Maintenant, je garde cette app affichée en permanence dans un coin de l’écran
    Ensuite, je compte faire une app iPhone qui coupe automatiquement l’alarme les matins où les enfants n’ont pas école
    Je ne connais absolument rien aux apps iPhone et je n’avais pas le temps de l’apprendre, donc auparavant je n’aurais même pas envisagé le projet
    Pour les apps personnelles, Claude Code est vraiment excellent, et comme la qualité du code n’est pas ultra importante, utiliser le résultat tel quel suffit largement

    • Claude Code est vraiment très adapté aux apps personnelles
      Le gestionnaire de presse-papiers que j’utilisais sur Mac depuis des années s’est mis à dysfonctionner après une mise à jour de l’OS, et les alternatives de l’App Store n’avaient pas les fonctions que je voulais
      Du coup, après avoir lu le billet de Simon Willison sur le vibe coding avec SwiftUI, je l’ai fait moi-même avec Claude Code
      Il a fallu quelques itérations, mais maintenant j’ai dans la barre de menu du Mac exactement les fonctions que je voulais, et même plus
      J’ai été particulièrement impressionné quand j’ai demandé à CC des idées de fonctionnalités supplémentaires et qu’il m’a proposé toute une longue liste d’options auxquelles je n’avais pas pensé, puis a implémenté directement celles que j’ai choisies
      Il y a deux jours, j’ai aussi eu envie d’un éditeur markdown dédié, semblable au nouveau composant d’édition markdown de LibreOffice, mais plus petit et plus léger
      J’ai donc fait le plan avec GPT 5.5 puis l’implémentation avec CC, et après seulement deux sessions de vibe coding, j’avais presque terminé une app Mac native légère qui ouvre et crée des fichiers, édite comme un traitement de texte et sauvegarde en markdown canonique
      Il manque encore les tableaux markdown, et je compte lui faire ajouter ça aujourd’hui
      https://simonwillison.net/2026/Mar/27/vibe-coding-swiftui/
      https://news.ycombinator.com/item?id=47298885
    • C’est exactement ça
      J’aime fabriquer des choses, mais parfois on a juste envie d’obtenir rapidement le résultat fini
      Quand on veut un petit outil personnel pour un besoin précis sans sacrifier tout un week-end, l’aide des LLM est vraiment précieuse, et la qualité du code n’est pas très importante
    • Il n’est peut-être même pas nécessaire de créer l’app soi-même
      Sur iPhone, l’app Shortcuts intégrée peut suffire
      On peut faire un shortcut qui coupe toutes les alarmes, puis le faire lire un signal comme le calendrier pour activer ou désactiver les alarmes à certaines dates ou heures, et l’exécuter selon un planning régulier
  • J’ai tendance à penser qu’un side project n’a en général pas beaucoup de valeur si on n’a pas vraiment envie de le faire
    Si le processus et l’expérience passent d’abord, c’est un loisir ; si le résultat passe d’abord, c’est du travail
    Si on fait beaucoup de side projects uniquement pour le résultat, on finit en fait par travailler pendant son temps libre, et je me demande alors si ce temps est vraiment libre
    La société moderne nous demande déjà bien trop de résultats, donc j’aimerais au moins préserver les side projects pour la santé mentale
    Cela dit, il peut y avoir des exceptions quand on poursuit un but auquel on croit pour un bien plus grand, et dans ce cas ce but peut enrichir le processus lui-même

    • J’ai beaucoup de loisirs, et la programmation n’est que l’un d’entre eux
      Il m’arrive d’avoir besoin de logiciels qui rendent mes autres loisirs plus agréables, sans pour autant vouloir retirer du temps au loisir X pour développer ce logiciel moi-même
      En plus, ce type de tâche n’est pas toujours le genre de code que j’ai envie de faire pour le plaisir
      Pour moi, c’est précisément là qu’était le sweet spot du code assisté par LLM, et j’ai effectivement créé plusieurs apps utilitaires pour mieux profiter de mes autres loisirs
      Ça reste du temps de loisir, mais ce loisir n’a pas besoin d’être le code
    • Si on code juste pour coder, oui, je peux comprendre
      Mais si on avait une envie à résoudre ou une ambition à réaliser, sans le temps ou la motivation nécessaires, je ne vois pas pourquoi il faudrait considérer cela comme du travail sur le temps libre
      Des projets qui dévoraient autrefois des week-ends ou des vacances peuvent maintenant être mis sur rails en 15 minutes, et c’est justement presque l’inverse du travail
    • Je partage ce point de vue, et je le trouve assez sain
      Ça fait plus de 30 ans que je programme, mais je me suis toujours contenté d’apps en ligne de commande, et ce n’est que récemment que j’ai appris Qt pour enfin ajouter une vraie interface desktop
      La courbe d’apprentissage était très raide, mais je l’ai maintenant en grande partie franchie
      Sauf qu’après avoir posté sur LinkedIn des captures de l’app en précisant que c’était un projet open source gratuit, j’ai reçu des centaines de commentaires de gens très LinkedIn qui n’allaient de toute façon pas m’embaucher
      Des réactions du genre « on voudrait l’intégrer à notre workflow » ou « vous n’êtes pas le premier à essayer ça », ce qui ne m’a pas du tout motivé ; j’avais plutôt l’impression de faire le boulot pour les autres ou de m’exposer à des critiques inutiles
      Le choc m’a fait lâcher pendant un mois environ, puis j’ai fini par comprendre que ce que j’aimais vraiment, c’était le processus lui-même : apprendre Qt et voir mes anciens programmes reprendre vie
      Depuis, je traite ça comme ma project car
      Je démonte, je refais, je remplace entièrement le modèle de données pour explorer les avantages et inconvénients d’autres conceptions, je crée moi-même les vues graphiques, et j’ajoute même la traduction dans d’autres langues
      Fonctionnellement, c’est terminé depuis longtemps, mais il existe déjà environ cinq versions à l’architecture interne complètement différente, et c’est justement ça qui est amusant
      Je m’en sers toute la journée au travail, et je n’en reparlerai plus jamais sur LinkedIn
  • J’avais déjà trois tentatives d’app de notes dans mon repo personnel, toutes bloquées dans l’écart entre l’idée et le temps libre disponible
    Mais grâce à Claude Code, j’ai fini en deux mois celle que je voulais vraiment
    Le processus de création en lui-même est le meilleur hobby que j’aie trouvé jusqu’ici, bien meilleur que les jeux ou le scrolling
    Quand une idée qu’on porte depuis des années finit enfin par sortir, il y a quelque chose de bien plus profond de soi dans cette app, et je pense qu’il y aura beaucoup plus de solo builders de ce genre à l’avenir

    • Mais qui va acheter ça ?, c’est une autre question
      Je ne cherche pas à rabaisser le fait de refaire d’anciens projets, mais le marché risque d’être saturé de projets extrêmement spécialisés
      Autrefois, il y avait une fiche de spécifications sur la boîte des logiciels ; maintenant, il faudrait peut-être une sorte de nouveau langage de modélisation pour expliquer l’usage prévu et le périmètre
  • Mon expérience a été presque exactement la même
    Un side project d’agrégation comparative était bloqué depuis plus d’un an à 20 % de complétion, et une fois par mois je l’ouvrais, je regardais la to-do list, puis je me fatiguais et refermais l’onglet
    Puis, en passant quelques week-ends avec Claude, j’ai réussi à franchir le mur du projet à moitié terminé
    Ce qui m’a frappé, ce n’était pas tant la vitesse brute que la disparition du coût de réentrée, ce moment où il fallait auparavant recharger pendant une heure tout mon vieux code dans ma tête avant de pouvoir faire quoi que ce soit
    Le hype excessif m’agace, mais la plupart des gens qui se moquent de ces outils n’ont probablement jamais testé à quel point ils sont utiles pour ce genre de tâches ennuyeuses

  • J’ai toujours eu plus d’idées que je ne pouvais en concrétiser, et certaines étaient vraiment bonnes
    Grâce aux outils d’IA, je peux maintenant en implémenter davantage sous une forme au moins à peu près fonctionnelle
    Ironiquement, la valeur de ce genre d’implémentations baisse rapidement
    Il y a quelques semaines, j’ai créé une petite bibliothèque de recherche qui tourne dans le navigateur et ne nécessite pas de serveur, avec la plupart des term/matching query et agrégations de style Elasticsearch, ainsi que de la recherche vectorielle ANN avec WebGPU
    C’était presque du genre « ajoutons la feature X » et c’était fait immédiatement, et je l’ai déjà utilisée sur de vrais sites web
    Ça ne passe pas à l’échelle, mais c’est excellent pour les blogs ou les sites de documentation, et le site de documentation est ici : https://querylight.tryformation.com/
    Le résultat fonctionne exactement comme je l’imaginais, et je pense pouvoir ajouter sans grand effort beaucoup de fonctions de niche d’Elasticsearch
    En revanche, l’accueil sur GitHub a été plutôt tiède
    Tout le monde semble maintenant trop occupé à fabriquer son propre truc avec l’IA pour vraiment s’enthousiasmer du travail des autres, et au fond je peux le comprendre
    Si on a besoin d’une bibliothèque de recherche, on peut soit la générer soi-même, soit laisser l’IA en choisir une suffisamment bonne
    En plus, sa création n’avait de toute façon pas demandé un effort colossal
    La valeur économique de ce genre de projet diminue très vite
    Malgré tout, j’aime créer, donc je continue, et je pense qu’il est aussi important d’apprendre cette courbe de maîtrise des outils
    Il y aura encore beaucoup à faire, mais les gens voudront payer moins tout en attendant des résultats corrects, et pour répondre à cette attente il faudra savoir manier les outils
    En fin de compte, quand le champ du possible s’élargit, le niveau d’ambition monte lui aussi, et penser que l’IA fera le travail à notre place donc qu’on n’aura plus rien à faire serait une erreur
    Moi aussi, ces derniers mois, j’ai travaillé pendant de très longues heures

  • Pendant des années, j’ai eu plusieurs idées de produit par semaine, qui finissaient toutes stockées dans Apple Notes
    Mais au cours du dernier mois, j’en ai transformé trois en vraies bêtas utilisables, et j’utilise maintenant les trois tous les jours