Des guides pratiques et perennes pour les developpeurs. Chacun s’appuie sur de vraies commandes et des exemples concrets, et dit clairement quand ne pas utiliser l’outil traite.
Tout est ci-dessous, du plus recent au plus ancien.
Des guides pratiques et perennes pour les developpeurs. Chacun s’appuie sur de vraies commandes et des exemples concrets, et dit clairement quand ne pas utiliser l’outil traite.
Tout est ci-dessous, du plus recent au plus ancien.
Votre frontend tourne sur http://localhost:5173, votre API sur http://localhost:4000, et l’appel fetch qui fonctionnait sans problème dans Postman échoue dans le navigateur avec un mur de texte rouge : Access to fetch at 'http://localhost:4000/api/users' from origin 'http://localhost:5173' has been blocked by CORS policy: No 'Access-Control-Allow-Origin' header is present on the requested resource. Votre serveur a très bien pu traiter cette requête et renvoyer un 200. Le navigateur, lui, a refusé de transmettre la réponse à votre JavaScript. ...
Vous ouvrez une fonction pour corriger un bug d’une ligne et quarante minutes plus tard, vous êtes encore en train de suivre quelle branche définit quelle variable. Trois tâches sans rapport entre elles sont soudées dans un seul bloc, et aucune n’a de nom. Vous tirez un fil et vous ne pouvez pas dire lesquels des autres bougent. C’est ça, le spaghetti code, et le nom n’a rien à voir avec l’indentation ou le style de nommage. Il décrit le flux de contrôle : l’exécution saute entre les conditions comme un brin de pâtes qui croise tous les autres dans le bol, et suivre un seul chemin jusqu’au bout signifie garder quatre niveaux de if en tête à la fois. ...
Comment atteindre une base de données qui n’écoute que sur localhost ? Une instance Postgres sur un serveur distant est liée à 127.0.0.1 volontairement. Rien sur le réseau ne peut l’atteindre, seuls les processus qui tournent sur cette même machine le peuvent. Votre ordinateur portable n’est pas cette machine, donc psql -h remote-server -p 5432 échoue avant même d’arriver à l’authentification. Ouvrir le port au monde entier annulerait la raison même pour laquelle il a été lié au loopback. ...
Ce qui différencie un agent CLI de code d’un autre Demandez à un agent CLI de code de corriger un test qui échoue, et il ne répondra pas par une suggestion. Il lit la sortie du test, ouvre le fichier, modifie une ligne, relance le test, et revient vers vous une fois qu’il passe. Cette boucle, c’est le produit, pas la fenêtre de chat. Le modèle à l’intérieur de la boucle capte la majeure partie de l’attention, et c’est aussi la partie qui change le plus vite : les éditeurs en changent tous les quelques mois, et plusieurs agents vous laissent choisir. Ce qui reste en place, c’est le harnais qui entoure le modèle — quels outils il peut atteindre, comment il gère le contexte, ce qu’il peut exécuter sans demander, et où ces commandes s’exécutent. Deux agents qui tournent avec le même modèle peuvent se comporter très différemment à cause de ça. Le harnais, c’est ce que vous choisissez réellement. ...
Déboguer un bug qui n’apparaît que sur une machine sans Visual Studio Un bug se reproduit sur le serveur de test et pas sur votre ordinateur portable. Le serveur de test n’a pas Visual Studio, et installer un IDE complet dessus pour poser un seul breakpoint n’est pas envisageable. Le débogage à distance est fait pour ce cas. Un petit programme autonome tourne sur la machine cible, votre Visual Studio local s’y connecte par le réseau, et vous obtenez des breakpoints et l’inspection de variables sur un process qui ne tourne nulle part près de votre bureau. ...
Pourquoi personne en dehors de votre réseau ne peut atteindre localhost Un fournisseur de webhook a besoin d’une URL où faire un POST, et votre serveur tourne sur localhost:3000. Ou un collègue veut cliquer sur la branche que vous testez, ou votre téléphone doit atteindre le serveur de dev pour vérifier une mise en page. Le serveur tourne. Rien en dehors de votre réseau ne peut le joindre. La redirection de port sur votre routeur fonctionnerait, mais elle expose l’IP de votre domicile et demande des droits d’administration que vous n’avez pas toujours. Cloudflare Tunnel prend l’autre direction. cloudflared, un petit daemon que vous lancez à côté de votre serveur, ouvre une connexion sortante vers l’edge de Cloudflare, et Cloudflare renvoie le trafic à travers elle. Vous n’ouvrez aucun port entrant et vous n’avez besoin d’aucune IP publique. ...
Un workflow qui exécute npm ci à chaque push télécharge depuis le registre les mêmes centaines de paquets à chaque fois, même quand le lockfile n’a pas changé depuis une semaine. Sur un projet avec un arbre de dépendances réel, ce sont une ou deux minutes perdues avant même que le premier test démarre, et vous les payez de nouveau à chaque push et à chaque pull request. actions/cache conserve ces téléchargements d’une exécution à l’autre et vous les restitue quand rien de pertinent n’a changé. ...
Pourquoi tant d’appels LLM sont en réalité de la classification Une grande partie du trafic LLM en production renvoie un seul mot. Escalader ce ticket ou non. Spam ou pas spam. Lequel des six handlers traite cet événement. Pour obtenir ce mot, vous envoyez le prompt entier à un modèle généraliste, vous attendez qu’il décode une réponse token par token, et vous parsez un objet JSON dans le résultat. Vous payez le prix et la latence de la génération de texte, et ce qui revient est une décision qui tient dans un enum. ...
La suite de tests est au vert depuis trois semaines. Aujourd’hui, npm test échoue sur une assertion qui n’a rien à voir avec ce que vous venez de modifier, et git log v1.4.0..HEAD affiche 340 commits de quatre personnes depuis la dernière release dont quelqu’un était sûr qu’elle fonctionnait. Lire chaque diff vous coûte une journée entière. Faire des checkouts de commits au hasard va plus vite, mais ce n’est toujours pas un plan. ...
Ce que le DNS fait vraiment à chaque requête Chaque requête vers example.com commence par une recherche qui n’a rien à voir avec votre application : il faut d’abord transformer ce nom en adresse IP avant qu’un seul paquet TCP ne quitte la machine. Cette traduction, c’est le DNS, le Domain Name System, et elle intervient à chaque requête, que le client soit un navigateur, curl, ou un service backend qui en appelle un autre par son hostname. ...