14 points par baeba 3 시간 전 | 2 commentaires | Partager sur WhatsApp

Sommaire

Cet article revient sur les enseignements clés tirés de 45 livres techniques lus au cours des deux dernières années, ainsi que sur leur influence dans la construction d’une façon de penser d’ingénieur logiciel, en particulier pour mieux comprendre l’ère de l’IA et les processus de développement efficaces.

Présentation du podcast et rétrospective des deux ans

Présentation de Book Overflow

  • Il s’agit d’un podcast sur les livres techniques destiné aux ingénieurs logiciels, dont l’objectif est de développer ses compétences en lisant chaque semaine les meilleurs ouvrages du domaine.

Épisode spécial 2e anniversaire

  • Pour célébrer les deux ans du podcast, les animateurs reviennent sur tous les livres lus au cours de cette période et partagent, pour chacun, l’unique enseignement le plus marquant, celui qui continue de les influencer aujourd’hui.

  • Au-delà du simple souvenir du contenu des livres, l’accent est mis sur l’impact qu’ils ont eu dans la formation de leur manière de penser en tant qu’ingénieurs logiciels.

Les changements survenus ces deux dernières années

  • Les animateurs du podcast, Carter et Nathan, ont traversé d’importants changements personnels au cours des deux dernières années.

    • Nathan a déménagé dans un autre pays, tous deux ont terminé leurs études supérieures, et Nathan attend en plus la naissance de son enfant.

    • Leur vie professionnelle a elle aussi changé. Nathan est passé au conseil à plein temps, et Carter a quitté la Big Tech pour rejoindre une startup.

  • S’ils ont pu continuer le podcast malgré ces bouleversements personnels, c’est grâce au soutien et à l’intérêt de leurs auditeurs, qu’ils remercient chaleureusement.

Enseignements clés des principaux livres techniques

The Practice of Programming (Brian Kernighan, Rob Pike)

  • Enseignement clé : le livre porte la philosophie de programmation qui a servi de base au langage Go ; certains passages ont vieilli, mais les idées fondamentales restent pleinement valables.

    • En tant que programmeur Go et admirateur de Rob Pike, l’animateur dit garder ce livre en mémoire comme une source d’idées essentielles sur ce qu’est une bonne programmation.

    • Il est aussi mentionné que certains éléments, comme le parseur CSV, sont désormais datés.

A Philosophy of Software Design (John Ousterhout)

  • Enseignement clé : le concept de « Design It Twice » souligne qu’au lieu de chercher une conception parfaite dès le départ, on obtient de meilleurs résultats en construisant le système, en apprenant au fil du processus, puis en l’améliorant.

    • À l’ère de l’IA, l’utilisation des LLM réduit l’effort nécessaire pour concevoir deux fois, ce qui rend le travail de conception encore plus efficace.

    • Bien que publié en 2018, ce livre continue d’exercer une forte influence et a été cité dans de nombreux autres ouvrages.

  • Autres observations

    • Il propose des idées fortes sur l’encapsulation de la complexité, le design d’interface et la gestion des erreurs.

    • Une interview avec l’auteur, John Ousterhout, a aussi permis d’entendre son point de vue et ses critiques sur le TDD.

Refactoring: Improving the Design of Existing Code (Martin Fowler)

  • Enseignement clé : le refactoring peut être interrompu à tout moment ; comme il consiste à améliorer la conception sans changer la sortie du code, il peut avancer régulièrement par petites étapes.

    • On confond souvent refactoring et réécriture complète du code, alors que la définition de Fowler est beaucoup plus restreinte.
  • Cas d’application concret

    • Un véritable refactoring a récemment été appliqué lors d’un travail d’optimisation des performances de roborobato.com, en améliorant l’usage de Next.js et React.

    • La structure du code a été réorganisée sans changement de fonctionnalité ni d’interface utilisateur, puis découpée en cinq commits pour faciliter la revue et l’intégration.

What Is ChatGPT Doing and Why Does It Work? (Stephen Wolfram)

  • Enseignement clé : ce livre aide à comprendre le fonctionnement des LLM, notamment le mécanisme de prédiction du token suivant et la notion de température (temperature).

    • Il explique que l’aléa inhérent aux LLM est justement ce qui fait leur puissance.
  • Valeur du livre

    • Il propose une analyse bien structurée qui rend des sujets complexes faciles à comprendre.

    • Il fournit le vocabulaire et le cadre conceptuel de base pour mieux comprendre les LLM, des connaissances qui restent essentielles.

Fundamentals of Software Architecture (Mark Richards, Neal Ford)

  • Enseignement clé : le livre insiste sur l’importance de savoir vendre une vision d’architecture à des parties prenantes techniques comme non techniques, en en faisant un élément fondamental du rôle d’architecte.

    • Il faut communiquer en permanence et prouver sa valeur ; une attitude du type « les choses se feront comme je l’ai dit » n’est pas souhaitable.
  • Principes complémentaires

    • Il ne faut pas rester dans une tour d’ivoire, mais rester au contact du code et de l’équipe, expérimenter soi-même le design, garder quelques longueurs d’avance et anticiper les problèmes potentiels.

    • Le rôle des ADR (Architectural Design Document) est mis en avant : il est important de documenter les décisions et de faire évoluer cette trace dans le temps.

    • Consigner et partager les décisions est indispensable pour éviter le « phénomène Groundhog Day ».

The Clean Coder (Robert C. Martin, "Uncle Bob")

  • Enseignement clé : le livre explore ce que signifie le véritable professionnalisme, en particulier à travers les positions radicales d’Uncle Bob sur les délais et les estimations.

    • Dans la culture de l’ingénierie, on confond souvent estimations et dates butoirs, alors qu’un comportement professionnel exige de bien les distinguer.
  • Caractéristiques du livre

    • Il contient de nombreuses histoires et permet de mieux connaître la personnalité d’Uncle Bob.

    • Le livre est bien écrit, se lit facilement et convient bien à une lecture cover to cover.

Working Effectively with Legacy Code (Michael Feathers)

  • Enseignement clé : un code difficile à modifier ou qui inspire de la crainte est un code mal conçu ; il est possible de rendre n’importe quel code plus facile à faire évoluer.

    • Le legacy code est défini comme un code sans couverture de tests ou dont on ne comprend pas bien le fonctionnement.

    • Le livre donne des repères pour savoir comment démarrer quand on n’est pas sur un projet greenfield ou qu’on n’a qu’un contrôle limité sur la codebase.

  • Valeur du livre

    • Chaque section étant relativement indépendante, l’ouvrage est très pratique comme référence ; il est plus efficace d’y piocher selon les besoins que de le lire cover to cover.

Web Scalability for Startup Engineers (Artur Ejsmont)

  • Enseignement clé : au début d’une startup, il est plus important d’aller vite que de viser une optimisation excessive ou une très haute disponibilité, et il faut investir au bon moment.

    • Une startup en phase initiale ne devrait pas chercher à atteindre d’emblée une tolérance aux pannes parfaite ou une haute disponibilité quand elle a encore peu de clients.
  • Limites liées à l’époque et recommandations

    • Les sujets abordés dans le livre correspondaient surtout à des enjeux importants dans les années 2010 ; aujourd’hui, une grande partie a été prise en charge par les entreprises de SaaS et de PaaS.

    • Une nouvelle édition gagnerait à être mise à jour comme un manuel destiné aux primo-fondateurs ou aux responsables techniques.

Recoding America (Jennifer Pahlka)

  • Enseignement clé : le livre montre à quel point le logiciel public peut être inefficace, tout en démontrant qu’il est tout à fait possible de produire des logiciels gouvernementaux de bonne qualité.

    • Les logiciels publics sont souvent évalués sur la validation de check-lists, ce qui fait que leur fonctionnement réel passe au second plan.

    • Il souligne l’importance, dans le développement de logiciels publics, de principes clés de l’agilité comme la « collaboration étroite avec le client » et la « livraison continue de logiciels fonctionnels ».

Building Evolutionary Architectures (Neal Ford, Rebecca Parsons, Patrick K. Kua, Pramod Sadalage)

  • Enseignement clé : à travers le concept de « fitness functions », le livre propose une manière d’évaluer objectivement si un système fonctionne comme prévu et de construire une architecture évolutive.

    • Les fitness functions sont essentielles pour suivre l’évolution d’un système et vérifier que les choix de conception produisent bien les effets attendus.

    • Il faut constituer les équipes et concevoir les systèmes en tenant compte de l’impact de la structure organisationnelle sur l’architecture logicielle, comme l’illustre la loi de Conway.

Looks Good to Me (Adrian Bergeron)

  • Enseignement clé : même si les conseils précis du livre ne lui reviennent plus, il lui a rappelé une nouvelle fois l’importance des pull requests (PR).

  • La récente migration menée dans l’entreprise m’a fait réfléchir au manque de rigueur dans la revue des PR, et m’a donné le sentiment qu’il fallait rouvrir ce livre.

  • Valeur du livre

    • Il offre de bonnes lignes directrices pour définir les contrats sociaux et les standards au sein d’une équipe.

    • Les livres techniques sont utiles à revisiter quand le besoin se fait sentir et pour faire mûrir des idées.

Slow Productivity (Cal Newport)

  • Enseignement clé : avec son message « travailler moins et se concentrer sur ce qui compte », le livre met en garde contre la pseudo-productivité et insiste sur la nécessité de se concentrer sur les activités à forte valeur.

    • Ce livre illustre la manière de penser approfondie de Cal Newport : il a réduit les activités superflues pour se concentrer sur des tâches importantes, comme l’animation de son podcast.

    • Plus une carrière progresse, plus il faut se concentrer sur les activités ayant le plus fort effet de levier et la plus grande valeur, et la pseudo-productivité y fait obstacle.

The Unicorn Project (Gene Kim)

  • Enseignement clé : le livre explique l’importance des processus DevOps du point de vue de l’ingénierie logicielle et souligne qu’il faut résoudre les problèmes fondamentaux pour accélérer le développement.

    • Un système dépendant d’un release manager est inefficace ; les processus automatisés devraient permettre à n’importe qui de gérer une release.
  • Structure et influence du livre

    • Contrairement à son précédent ouvrage, The Phoenix Project, il présente DevOps sous l’angle du software engineering, ce qui le rend applicable à un plus grand nombre de développeurs.

    • Son format de fable rend les contenus techniques plus accessibles et a lancé une tendance mêlant récit et livres techniques.

Tidy First (Kent Beck)

  • Enseignement clé : le livre met en avant l’« optionalité » de la structure du code, autrement dit la valeur de la flexibilité et de l’extensibilité, qui génère des bénéfices potentiels futurs à la manière de la valeur temps.

    • Comme il est difficile de prévoir les fonctionnalités qui seront nécessaires plus tard lorsqu’on écrit du code pour la première fois, il est important de l’écrire de façon à pouvoir le faire évoluer facilement.
  • Caractéristiques et valeur du livre

    • C’est un livre court et concis, mais riche en profondeur, qui redonne le plaisir du développement logiciel.

    • Appliquer au logiciel des idées venues d’autres secteurs, comme le trading d’options, est le signe d’un développement mature.

Unix: A History and a Memoir

  • Enseignement clé : ce livre m’a permis de comprendre le fonctionnement et l’importance de l’un des briques fondamentales d’Unix : les pipes.

    • Grâce à la philosophie Unix, où chaque programme prend une entrée et renvoie une sortie, l’opérateur pipe permet de chaîner facilement les sorties entre programmes.
  • Le rôle de Doug McIlroy

    • Doug McIlroy a joué un rôle majeur dans l’unification des idées d’Unix à travers les pipes, et a contribué à façonner la philosophie Unix.

The Twelve-Factor App

  • Enseignement clé : le livre présente 12 principes pour construire des applications cloud native, mais souligne aussi qu’une mauvaise application de ces principes peut au contraire accroître la complexité.

    • Ces principes ont été formulés à l’époque d’Heroku, et à la lecture des principes de base, on ne peut qu’acquiescer.

    • Comme lorsqu’on applique une technologie particulière telle que Kubernetes sans bien la comprendre, ces principes peuvent eux aussi être mal utilisés.

The Agile Manifesto

  • Enseignement clé : l’agile est une réaction au modèle en cascade, avec pour objectif de livrer rapidement un logiciel fonctionnel et d’intégrer vite les retours clients.

    • Le cœur de l’agile consiste à collaborer étroitement avec les clients et les parties prenantes pour améliorer le logiciel de manière itérative.
  • Application moderne et critiques

    • L’essence de l’agile est familière à beaucoup de développeurs, mais sans effort conscient, il est facile d’en perdre le sens.

    • Tellement ancré dans le développement logiciel moderne qu’il pousse moins à apprendre du neuf qu’à revisiter les pratiques existantes.

    • Très efficace en réaction au modèle en cascade, il souligne qu’en raison de la complexité du logiciel, il est plus important de livrer régulièrement quelque chose de précieux en petites unités que de faire des plans à long terme.

The Software Engineer's Guidebook (Jorge Orozco)

  • Enseignement clé : à mesure que sa carrière avance, il faut se concentrer sur les tâches à fort effet de levier et piloter activement son parcours professionnel.

    • Le livre souligne l’importance du manager et des sponsors : le manager vous soutient pour une promotion, et vous devez de votre côté vous efforcer de répondre à ses attentes.
  • Caractéristiques du livre

    • À l’image de la newsletter The Pragmatic Engineer, il fournit des conseils concrets sur la gestion de carrière.

    • Il propose un cadre pour comprendre des trajectoires professionnelles complexes et se mettre activement en avant.

Hypermedia Systems (Carson Gross, et al.)

  • Enseignement clé : des technologies comme HTMX montrent qu’il est possible de construire des applications web suffisamment dynamiques avec du server-side rendering, tout en réduisant le besoin d’un client JavaScript complexe.

    • En tirant parti des atouts du système hypermédia, l’idée originelle du web, on peut implémenter beaucoup de fonctionnalités côté serveur, indépendamment de la technologie backend, dès lors que les spécifications sont bonnes.
  • Avantages et limites de HTMX

    • Le code écrit avec HTMX est simple, donc facile à maintenir, et a davantage de chances de durer plus longtemps que les frameworks récents.

    • HTMX n’est peut-être pas l’avenir du développement web, mais ces avis contraires aident à porter de meilleurs jugements en tant qu’ingénieur.

Team Topologies (Matthew Skelton, Manuel Pais)

  • Enseignement clé : les équipes doivent être organisées de manière à minimiser les interdépendances nécessitant de la coordination, et leur structure influence directement l’architecture logicielle.

    • Team Topologies met l’accent sur la réduction de la coordination entre équipes pour optimiser le flux.

    • Comme la structure des équipes détermine celle du logiciel, il faut être prudent dans leur organisation.

Ace the System Design Interview (Alex Xu)

  • Enseignement clé : lors d’un entretien de system design, il est important d’utiliser des « back-of-the-napkin math » pour estimer l’échelle et les exigences de performance.

    • En mémorisant des ordres de grandeur courants, comme le temps ou la taille des données, puis en les utilisant pour préciser les exigences d’un système, on peut concevoir sur la base d’éléments concrets plutôt qu’au doigt mouillé.

    • Par exemple, s’il faut traiter un certain nombre de tweets par heure, connaître le nombre d’octets par tweet et la longueur des tweets permet de calculer l’espace de stockage et le débit nécessaires.

  • Comment l’utiliser en entretien

    • En raisonnant à voix haute avec l’intervieweur et en partageant les étapes du calcul, on peut obtenir du feedback et améliorer la conception.

    • Il est important non pas de simplement énumérer les technologies à la mode, mais d’expliquer pourquoi une technologie donnée a été choisie.

The Good News Factory (Kent Beck)

  • Enseignement clé : pour qu’une équipe logicielle devienne une « usine à bonnes nouvelles » diffusant continuellement de « bonnes nouvelles », il est indispensable de construire du code propre et des systèmes extensibles.

    • Si une équipe ne montre pas régulièrement des résultats positifs, un récit négatif peut se construire à l’extérieur.
  • Caractéristiques du livre

    • Livre court et concis, sous forme de rapport, qui transmet efficacement son message central.

Thinking in Systems (Donella Meadows)

  • Enseignement clé : le concept de « stocks and flows » aide à comprendre la nature dynamique des systèmes et fournit un cadre utile pour analyser des systèmes complexes.

    • De la même manière qu’il est important de comprendre la différence entre le PIB (flux) et la capitalisation boursière (stock), il faut distinguer l’état actuel d’un système de son taux de variation.
  • Valeur du livre

    • Abstrait, mais riche en enseignements de haut niveau pour la pensée stratégique et la pensée systémique.

Grokking Concurrency (Karol Bobrov)

  • Enseignement clé : il est important de « right-size » le modèle de concurrence ; le découper trop finement comme le rendre trop large présente des inconvénients.

    • Le livre explique comment comprendre les unités de travail qu’il est possible de paralléliser ou d’exécuter concurremment, puis comment ajuster le système en conséquence.

Rework (Jason Fried, David Heinemeier Hansson)

  • Enseignement clé : on peut transformer le fait d’être petit et peu connu en avantage, pour itérer, se réinventer et construire le succès.

    • Les désavantages d’avant la notoriété peuvent au contraire devenir des opportunités d’innovation, et il faut les exploiter pour ne pas laisser passer les bénéfices du succès.
  • Caractéristiques et influence du livre

    • Livre logique et bien écrit, inspirant pour celles et ceux qui veulent construire en dehors du bootstrapping ou des conceptions dominantes de la réussite.
  • Le cas de réussite de Basecamp et 37signals montre que leur philosophie reste valable avec le temps.

In the Plex (Steven Levy)

  • Enseignements clés

    • La capacité des ingénieurs de Google à réinventer de façon originale des concepts complexes comme la théorie des enchères est le résultat qu’on obtient quand on recrute des personnes brillantes et qu’on leur fait confiance.

    • Le succès d’une startup n’étant jamais garanti, il faut faire des efforts constants et contribuer à l’avenir de l’entreprise.

  • Lien avec l’auteur

    • Steven Levy est un excellent auteur, et son autre livre, Crypto, mérite aussi la recommandation.

    • L’expérience de passer un entretien dans une entreprise dirigée aujourd’hui par l’une des personnes apparaissant dans le livre était particulièrement intéressante.

Thinking Like a Large Language Model (Mukund Sundararajan)

  • Enseignement clé : mes souvenirs précis de ce livre sont flous, mais il m’a aidé à comprendre la manière de penser des LLM.

The DevOps Handbook

  • Enseignements clés

    • Il fournit des conseils concrets sur la mise en œuvre réelle du DevOps — pipelines CI/CD, rollback automatique, observabilité renforcée, etc. — ce qui a nettement amélioré les capacités de l’équipe en ingénierie logicielle.

    • Lors du déploiement d’une nouvelle fonctionnalité, comme une « nouvelle fonction de recherche », il présente la technique du « shadow traffic », qui consiste à envoyer une partie du trafic réel vers la nouvelle API pour observer les résultats.

    • Il souligne l’importance de séparer déploiement et release, et montre comment les feature flags permettent de traiter rapidement les régressions pouvant survenir pendant une migration.

  • Auteurs et valeur du livre

    • Des auteurs reconnus comme Gene Kim, Jess Humble, Patrick Dubois, Nicole Forsgren et John Willis y ont contribué, et le livre complète bien Unicorn Project et The Phoenix Project.

Just for Fun: How Linus Torvalds Started an Accidental Revolution

  • Enseignement clé : Linus Torvalds a créé Linux en se concentrant sur ce qu’il trouvait amusant, et cela a fini par changer le monde.

    • Se concentrer sur ce qu’on aime vraiment est ce qui pousse à travailler le plus dur, et cela peut mener à un grand succès inattendu.
  • L’innovation du logiciel open source

    • Linus Torvalds a ouvert une voie non conventionnelle pour générer des revenus avec le logiciel open source tout en restant fidèle à ses principes, ce qui a profondément influencé l’exploitation des serveurs et la manière de faire des commits de code.

Made to Stick

  • Enseignement clé : les idées marquantes suivent certains schémas, et même sans être un génie créatif, on peut les utiliser pour transmettre efficacement ses idées.

    • Le message « concentre-toi sur ce qui t’amuse, et crois que c’est sur cela que tu travailleras le plus dur » a fortement influencé mes choix de carrière.

Staff Engineer (Will Larson)

  • Enseignement clé : au niveau Staff Engineer, il faut se concentrer sur les sujets les plus prioritaires et les plus impactants, et c’est un critère important tout au long d’une carrière.

    • Il n’existe pas de voie unique pour devenir Staff Engineer, et des personnes aux parcours variés résolvent des problèmes complexes.

Finite and Infinite Games (James P. Carse)

  • Enseignement clé : dans les « jeux finis », la victoire et la défaite sont clairement définies, alors que dans les « jeux infinis », le but est de continuer à jouer ; il est important de poursuivre des jeux infinis dans la vie.

    • En créant Linux, Linus Torvalds ne jouait pas le jeu fini consistant à produire le système d’exploitation le plus populaire, mais le jeu infini visant à créer le meilleur système possible et à bâtir une communauté.

Radical Candor (Kim Scott)

  • Enseignement clé : un feedback direct et honnête est au contraire une manière d’aider l’autre, et il faut éviter la « ruinous empathy ».

    • Donner un feedback direct vient d’une vraie préoccupation pour le bien-être de l’autre, et cela n’a rien à voir avec l’impolitesse.

    • Il est important de tenir compte des émotions de l’autre lorsqu’on donne du feedback, tout en transmettant clairement l’essentiel.

Mastering OpenTelemetry and Observability (Steve Flanders)

  • Enseignement clé : il faut éviter le vendor lock-in et utiliser OpenTelemetry, mais l’ère de l’IA m’a aussi amené à reconsidérer l’importance de cette dépendance aux fournisseurs.

    • La commodité d’outils comme DataDog peut rendre le vendor lock-in séduisant, mais il faut prendre en compte les risques comme les changements de prix ou les fusions-acquisitions.

Beyond Vibe Coding (Addy Osmani) & Advanced React (Nadia Makarevich)

  • Enseignements clés

    • Beyond Vibe Coding introduit le concept d’« IA augmentée » (augmented AI), dans lequel un ingénieur productif collabore avec un agent de code pour écrire du code.

    • Advanced React est utile comme référence.

The Tao of Programming (Jeffrey James)

  • Enseignement clé : construire un système d’exploitation ne demande que de la justesse technique, alors que modéliser le monde réel — par exemple un système de paie — est plus difficile, car cela implique des enjeux complexes comme les parties prenantes.

    • Cela peut ne pas être intuitif pour les programmeurs, et suggère que modéliser le monde réel en logiciel comporte une complexité intrinsèque.
  • Lien avec l’essai « Worse Is Better »

    • The Tao of Programming et « Worse Is Better » sont deux textes courts mais d’un type similaire, qui poussent à une réflexion profonde.

Mastering the Behavioral Interview (Austin McDonald)

  • Enseignement clé : on peut y apprendre à raconter son expérience lors d’entretiens techniques de style Silicon Valley en la faisant entrer dans des archétypes comme celui du « hacker solitaire ».

    • La capacité à bien raconter son histoire en entretien est extrêmement importante, et ce livre montre concrètement comment faire.

Designing Data-Intensive Applications (Martin Kleppmann)

  • Enseignement clé : le livre traite en profondeur des concepts fondamentaux des systèmes distribués, comme la fiabilité, la latence face au débit, ou la résilience face à une reprise rapide.

    • Il aborde aussi des sujets comme la confidentialité des données et l’exploitation de l’attention, ce qui amène à réfléchir davantage lorsqu’on construit des systèmes à forte demande.

Reflections on Trusting Trust (Ken Thompson) & Coding Machines (Lawrence Kesteloot)

  • Enseignement clé : à l’ère où l’IA génère du code, ces textes poussent à réfléchir en profondeur aux questions de confiance envers le code généré et aux intentions malveillantes potentielles (par exemple la stéganographie).

Frictionless (Nicole Forsgren, Abby Noda)

  • Enseignement clé : ce livre vise surtout les dirigeants de grandes entreprises et se concentre sur la mise en œuvre d’initiatives d’expérience développeur (DevEx), si bien qu’il n’a pas eu un grand impact à mon stade de carrière actuel.

    • Il contient d’excellents éléments sur le DevEx, mais il est peut-être plus pertinent pour des entreprises à partir du stade post-série C.

Project Hail Mary (Andy Weir)

  • Enseignement clé : l’avenir n’est pas quelque chose à craindre, mais un problème à résoudre, et le livre offre une vision optimiste du rôle de l’humanité et de la technologie.

    • Il transmet un message porteur d’espoir : même dans des situations difficiles, la concentration et l’innovation permettent d’accomplir des choses remarquables.

2 commentaires

 
laeyoung 4 분 전
  1. Les liens dans la table des matières renvoient récursivement vers cette page.
  2. Je ne sais pas si vous avez résumé tout le contenu à la main ou si vous avez repris un résumé généré par IA, mais comme YouTube propose une fonction Ask, il ne me semble pas nécessaire de résumer l’intégralité du contenu. En fait, ce qui m’intéressait le plus, c’était la raison pour laquelle vous avez partagé cela, et un résumé en trois lignes aurait largement suffi.
 
baeba 3 시간 전

Voici l'adresse du site.
https://bookoverflow.io/