<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: HappyToDev</title>
    <description>The latest articles on DEV Community by HappyToDev (@happytodev).</description>
    <link>https://dev.to/happytodev</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F471700%2F56696747-6ee2-47cb-b65d-ba87375678f9.png</url>
      <title>DEV Community: HappyToDev</title>
      <link>https://dev.to/happytodev</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/happytodev"/>
    <language>en</language>
    <item>
      <title>Jusqu'à 2,9 milliards de commits par mois : Keep Calm and Stay Focused — Quoi de neuf les devs? #188</title>
      <dc:creator>HappyToDev</dc:creator>
      <pubDate>Tue, 01 Sep 2026 11:28:01 +0000</pubDate>
      <link>https://dev.to/happytodev/jusqua-29-milliards-de-commits-par-mois-keep-calm-and-stay-focused-quoi-de-neuf-les-devs-188-4fma</link>
      <guid>https://dev.to/happytodev/jusqua-29-milliards-de-commits-par-mois-keep-calm-and-stay-focused-quoi-de-neuf-les-devs-188-4fma</guid>
      <description>&lt;p&gt;&lt;em&gt;Votre dose d'infos tech infusée par un dev pour les devs — Numéro du 01 septembre 2026&lt;/em&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  &lt;strong&gt;EDITO&lt;/strong&gt;
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;Hello chère développeuse, cher développeur, sysadmin, ops, sre, DevRel, sécu 👋&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;C'est la rentrée. Vous avez eu votre 4e jour de vacances ? Celui dont parle Cyril dans le dernier numéro de RudeOps, où le cerveau vide enfin son cache et où vous triez ce que vous aimez encore faire de ce que vous subissez.&lt;/p&gt;

&lt;p&gt;L'époque est dingue — et elle va le devenir encore plus. 2,9 milliards de commits par mois, des bots qui écrivent et lisent le web à votre place : difficile de ne pas se demander si l'IA va remplacer notre métier.&lt;/p&gt;

&lt;p&gt;J'ai un avis mitigé. &lt;/p&gt;

&lt;p&gt;Produire des lignes de code à la chaîne, oui, c'est d'une autre époque. En revanche, l'IA vous donne aujourd'hui une vision bien plus large, surtout si vous êtes indépendant ou en solo. Là où vous vous concentriez avant sur le code en oubliant la sécurité, le design ou le marketing, vous pouvez désormais tout adresser — à condition de prendre le temps de discuter avec vos agents, de soumettre vos idées, voire de les faire vous challenger. &lt;/p&gt;

&lt;p&gt;Vous irez plus vite, et vous livrerez du fonctionnel, mieux sécurisé, mieux testé et avec un meilleur design et une meilleure UX.&lt;/p&gt;

&lt;p&gt;Le revers de la médaille, vous la connaissez : les limites de ce qui était possible ont sauté, vous débordez d'idées et votre cerveau n'arrive plus à suivre. On appelle ça le brain fry. C'est le signal qu'il faut ralentir. &lt;/p&gt;

&lt;p&gt;La règle n'a pas changé : si vous croyez en votre projet, restez focus, ne cédez pas aux sirènes du shiny object, ne testez pas tout ce qui sort. L'IA peut vous y aider — ou vous desservir si vous la laissez nourrir toutes vos envies. &lt;/p&gt;

&lt;p&gt;En conclusion, pour cette rentrée, mon mantra serait donc : “Keep Calm and Stay Focused”.&lt;/p&gt;

&lt;p&gt;— Fred&lt;/p&gt;




&lt;h2&gt;
  
  
  &lt;strong&gt;L'invité de la semaine&lt;/strong&gt;
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2F1rlm7l5zuot8anb924bn.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2F1rlm7l5zuot8anb924bn.png" alt="Yorzian" width="400" height="403"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Cette semaine, je reçois &lt;strong&gt;Yves Rougy&lt;/strong&gt;, 54 ans, passionné d'informatique depuis le TO7 familial des années 1980. Formé en mathématiques puis en génie logiciel (Université de Franche-Comté), il a basculé du développement vers le système, l'administration et l'intégration OS — tuning et dépannage pointu compris — avant de devenir formateur indépendant depuis plus de 15 ans. &lt;/p&gt;

&lt;p&gt;Radioamateur (indicatif F1IVT), il explore les transmissions radio, le traitement du signal et les technologies spatiales, et depuis 2-3 ans les LLM auto-hébergés et la gouvernance des données. Vous le connaissez peut-être via son média &lt;strong&gt;Yorzian&lt;/strong&gt;, son labo Glass Box en live sur Twitch et YouTube où il documente veille et tests d'infra, ou ses benchmarks de modèles compressés sur &lt;a href="http://gguf-bench.com" rel="noopener noreferrer"&gt;gguf-bench.com&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;Voici ses conseils si vous débutez dans le métier :&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;C'est une question difficile dans les temps actuels. Je pense que dans le dev, d'ici quelques temps, l'écriture manuelle de code sera réservée au coté loisir, mais d'un point de vue professionnel, ce seront les IA qui feront ce travail. Celà dit, un bon dev ne fait pas seulement du code, c'est tout un travail de compréhension et d'architecture, de cycle de vie à penser, et d'évolutivité du projet.&lt;/p&gt;

&lt;p&gt;Lorsque les appareils photo numériques sont arrivés, on a annoncé la mort des photographes de mariage. Plein de photographes ont effectivement disparu, car leur seule valeur ajoutée était de savoir prendre une photo et d'avoir le matériel. L'appareil photo numérique bon marché a abaissé le seuil d'accès à ce métier. Pour autant, ceux qui ont su créer un style et une approche à eux, même avec du petit matériel, ont réussi à se différencier de celui qui ne fait qu'appuyer sur le bouton. Celui qui ne fait que appuyer sur un bouton en facturant la prestation s'est fait remplacé par les convives qui n'ont fait que appuyer sur un bouton de leur smartphone. Les autres sont toujours là.&lt;/p&gt;

&lt;p&gt;Pour le dev, on est au même niveau. Les IA permettent à beaucoup de personnes de se mettre à coder, sans forcément devoir faire des études ou des formations dans le domaine. Alors si votre vision du dev c'est juste écrire du code, vous êtes dans la même situation que les photographes qui ne faisaient que juste appuyer sur le bouton. Et pour ça il faut comprendre ce qu'on fait, et ne pas déléguer la compréhension à une IA.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Merci Yves pour cette super interview !&lt;/p&gt;




&lt;h2&gt;
  
  
  &lt;strong&gt;Auto promo ! 🚀&lt;/strong&gt;
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;Un grand merci à la trentaine qui me soutiennent déjà !&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Si cette newsletter vous apporte de la valeur, vous pouvez l'aider dès aujourd'hui avec &lt;strong&gt;un abonnement à seulement 9 €/an&lt;/strong&gt; (en gros c’est comme si vous payiez une place de ciné 😉).&lt;/p&gt;

&lt;p&gt;Ce tarif est verrouillé à vie pour ceux qui s'abonnent maintenant, même si le prix augmente plus tard.&lt;/p&gt;

&lt;p&gt;Abonnez-vous maintenant pour faire la meilleure affaire et me soutenir 👇 !&lt;/p&gt;

&lt;p&gt;&lt;a href="https://go.itanea.fr/qdnldsubscribe" rel="noopener noreferrer"&gt;Je vous soutiens pour 9€/an&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Merci d'avance 💜&lt;/p&gt;




&lt;h2&gt;
  
  
  &lt;strong&gt;Mes sponsors permanents&lt;/strong&gt;
&lt;/h2&gt;

&lt;p&gt;Un grand merci à mes sponsors qui soutiennent cette newsletter 💜&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2F42wadstryyt23bcb4za6.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2F42wadstryyt23bcb4za6.png" width="800" height="569"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Clever Cloud&lt;/strong&gt; — Entreprise française fondée en 2010, spécialisée dans le Platform as a Service (PaaS). Elle conçoit et opère des solutions d'automatisation pour l'hébergement, le déploiement et la gestion continue d'applications, de sites web et de bases de données.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://go.itanea.fr/yearlyspclevercloud" rel="noopener noreferrer"&gt;Découvrir Clever Cloud&lt;/a&gt;&lt;/p&gt;




&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2F2dh0geuttn6pkr1zmupy.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2F2dh0geuttn6pkr1zmupy.png" width="800" height="450"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;StackX&lt;/strong&gt; — Le bouclier technologique anti-stress 24/7 pour vos projets LAMP : quoiqu'il arrive, vous ne serez plus jamais seul.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Frais d'installation offerts avec le code HappyToDev (valeur 145€)&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://go.itanea.fr/scalarx" rel="noopener noreferrer"&gt;Découvrir StackX&lt;/a&gt;&lt;/p&gt;




&lt;p&gt;👉 Comme &lt;strong&gt;Clever Cloud et StackX&lt;/strong&gt;, affichez ici votre pub. Visibilité maximale pour votre entreprise garantie ! 🚀&lt;/p&gt;

&lt;p&gt;&lt;a href="https://go.itanea.fr/sponsorpermanent/?utm_source=nl" rel="noopener noreferrer"&gt;Se renseigner pour devenir sponsor&lt;/a&gt;&lt;/p&gt;







&lt;h2&gt;
  
  
  &lt;strong&gt;LE COIN DES LECTEURS&lt;/strong&gt;
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;&lt;em&gt;Dans cette rubrique, des articles intéressants bien sûr dans notre domaine… ou presque !&lt;/em&gt;&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fkgkwai3hn6u16n81lduz.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fkgkwai3hn6u16n81lduz.png" width="800" height="537"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  MCP Apps
&lt;/h3&gt;

&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;Note&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Eric Burel revient pour la rentrée avec un nouvel article passionnant sur l’IA. Aujourd’hui il nous explique le sujet de l’extension MCP Apps.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Développeurs web, développeuses web, vous n'êtes pas condamnés à passer les 30 prochaines années de votre carrière à regarder passivement Lovable cracher des applis SaaS à la vitesse de l'éclair pendant que vous jouez à la Game Boy, jetant de temps en temps un coup d'œil à l'écran pour vérifier que l'IA ne s'échappe pas de son bac-à-sable.&lt;/p&gt;

&lt;p&gt;Vous pouvez faire mieux que cela. Vous pouvez jouer un rôle moteur dans le monde de l'intelligence artificielle. Et pas besoin de connaître Python et LangChain pour cela ! C'est au contraire vos compétences en JavaScript, HTML et CSS qui vont être de plus en plus demandées par les entreprises qui veulent créer des systèmes IA.&lt;/p&gt;

&lt;p&gt;En effet, l'extension &lt;a href="https://modelcontextprotocol.io/extensions/apps/overview" rel="noopener noreferrer"&gt;MCP Apps&lt;/a&gt; enrichit le protocole MCP avec une nouvelle capacité : servir de véritables interfaces graphiques frontend dans une plateforme IA.&amp;nbsp;&lt;/p&gt;

&lt;p&gt;Grâce aux MCP Apps, un agent IA peut déclencher l'affichage de widgets en réponse aux demandes de l'utilisateur.&amp;nbsp;&lt;/p&gt;

&lt;p&gt;Ces micro-interfaces graphiques facilitent les interactions avec des services divers et variés, directement au sein d'une plateforme IA comme ChatGPT, Claude, Mistral ou même VS Code. Par exemple, générer un graphe de productivité de l'entreprise, visualiser vos tickets Jira en retard, ou encore afficher une liste de voyages recommandés si vous êtes déjà en burn-out au bout de deux jours de rentrée.&lt;/p&gt;

&lt;p&gt;Pour les développeurs frontend et les designers, créer des MCP Apps signifie maîtriser un nouvel environnement avec une expérience utilisateur très particulière. Pour les développeurs backend et agentiques, il s'agit de construire des services web mixant utilisation par l'humain et interactions avec l'IA.&amp;nbsp;&lt;/p&gt;

&lt;p&gt;Les frameworks open source &lt;a href="https://www.lbke.fr/formations/technologies/skybridge" rel="noopener noreferrer"&gt;Skybridge&lt;/a&gt; et &lt;a href="https://www.lbke.fr/formations/technologies/mcp-use" rel="noopener noreferrer"&gt;mcp-use&lt;/a&gt; fournissent tout ce qu'il faut pour démarrer avec les MCP Apps en utilisant React pour le frontend, et Node.js ou Python pour le backend. Il est aussi possible de s'en tenir à une implémentation en pur &lt;a href="https://apps.extensions.modelcontextprotocol.io/api/documents/Quickstart.html" rel="noopener noreferrer"&gt;HTML/CSS/JS&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;Passons à la démo. J'ai un cas d'usage qui va parler à tous les techos', un cas d'usage profondément disruptif et innovant...&amp;nbsp;&lt;/p&gt;

&lt;p&gt;Faire tourner Doom dans Claude.&lt;/p&gt;

&lt;p&gt;Si vous n'avez pas la ref, &lt;a href="https://en.wikipedia.org/wiki/It_runs_Doom" rel="noopener noreferrer"&gt;"It runs Doom"&lt;/a&gt; est un meme consistant à faire tourner ce célèbre jeu dans des environnements exotiques.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fflua3wi72pfo9tcwtbsp.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fflua3wi72pfo9tcwtbsp.png" alt="Doom exécuté dans un appareil photo Canon - source canitrundoom.org" width="530" height="394"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Alors concrètement, comment faire tourner Doom dans Claude avec les MCP Apps ?&amp;nbsp;&lt;/p&gt;

&lt;p&gt;Pas si simple, il m'a fallu quand même quelques itérations même en utilisant mcp-use. La version iframe n'a jamais fonctionné, car l'hôte MCP (c'est-à-dire la plateforme IA de l'utilisateur, ici Claude) intègre des limitations assez fortes sur l'iframe qui affiche le composant d'interface, pour que vous ne fassiez pas n'importe quoi. Comme faire tourner Doom, par exemple. &lt;a href="https://github.com/NielsLeenheer/cssDOOM" rel="noopener noreferrer"&gt;La version CSS de Doom&lt;/a&gt; (oui vous avez bien lu) s'affiche mais ne fonctionne pas et la taille de la fenêtre est difficile à corriger. &lt;a href="https://github.com/cloudflare/doom-wasm" rel="noopener noreferrer"&gt;La version WebAssembly&lt;/a&gt;, après une bonne phase de compilation assistée par l'IA, a fini par s'exécuter ! J'ai publié le code de ces essais &lt;a href="https://github.com/lbke/mcp-use-doom" rel="noopener noreferrer"&gt;sur GitHub&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fa25rrydiwlqlqjf1c3zr.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fa25rrydiwlqlqjf1c3zr.png" alt="Doom, mais dans Claude. Tada." width="550" height="533"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Les coordonnées de la souris restent incorrectes et le focus clavier semble impossible à obtenir, alors n'hésitez pas à apporter votre contribution au projet &lt;a href="https://github.com/lbke/mcp-use-doom/issues/2" rel="noopener noreferrer"&gt;via ce ticket&lt;/a&gt;.&amp;nbsp;&lt;/p&gt;

&lt;p&gt;Mais quand même : on a une interface WebAssembly complexe, qui peut être exécutée dans un plateforme IA grand public !&lt;/p&gt;

&lt;p&gt;Pour info, je ne suis malheureusement que le troisième à réussir cet exploit. ++&lt;a href="https://korben.info/doom-chatgpt-claude-mcp.html" rel="noopener noreferrer"&gt;Korben a documenté en avril une première démo fonctionnelle&lt;/a&gt;++ de Doom avec les MCP Apps par ++&lt;a href="https://chrisnager.com/blog/doom-runs-in-chatgpt-and-claude/" rel="noopener noreferrer"&gt;Chris Nager&lt;/a&gt;++. Avant cela, le développeur ++&lt;a href="https://github.com/gunnargrosch/doom-mcp" rel="noopener noreferrer"&gt;Gunnar Grosch a présenté une architecture encore plus dingue&lt;/a&gt;++, fondée non pas sur une MCP App mais sur le streaming d’images via MCP avec un jeu exécuté côté backend.&lt;/p&gt;

&lt;p&gt;Bref, avec les MCP Apps, les plateformes IA deviennent de véritables marketplaces, qui permettent aux développeurs de diffuser des applications web sur un nouveau canal. L'enjeu marketing est évident, mais pas que, les cas d'usages sont nombreux et encore très peu explorés à ce stade. Du boulot en perspective pour les devs web !&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Connaissiez vous MCP Apps&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Oui&lt;/li&gt;
&lt;li&gt;Non&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;a href="https://quoi-de-neuf-les-devs.happyto.dev/p/jusqu-a-2-9-milliards-de-commits-par-mois-keep-calm-and-stay-focused-quoi-de-neuf-les-devs-188#poll-p_qt8g" class="crayons-btn crayons-btn--primary" rel="noopener noreferrer"&gt;Vote on the original post&lt;/a&gt;
&lt;/p&gt;




&lt;h3&gt;
  
  
  X contraint Nitter et XCancel à suspendre leur service
&lt;/h3&gt;

&lt;p&gt;Coup dur pour l'open source : X Corp. a envoyé le 24 août une mise en demeure à Nitter et XCancel, les alternatives sans pub ni tracking à X. Le dépôt zedeus/nitter a été archivé le 25 août et le mainteneur consulte un avocat. Une illustration brutale de la fermeture des API et de notre dépendance à X pour la veille.&lt;/p&gt;

&lt;p&gt;» &lt;a href="https://next.ink/brief-article/x-contraint-nitter-et-xcancel-a-suspendre-leur-service-alternatif/" rel="noopener noreferrer"&gt;Lire l'article&lt;/a&gt;&lt;/p&gt;




&lt;h3&gt;
  
  
  Rust annonce ses premiers Maintainers in Residence
&lt;/h3&gt;

&lt;p&gt;Le Rust Project finance 6 mainteneurs à temps plein pendant 12 mois via le Rust Foundation Maintainers Fund (Google, AWS, OpenAI) : Rustup, std/compiler/Windows, Clippy, rustdoc, cargo... Une réponse au sous-effectif critique sur rustdoc, cargo et le compilateur.&lt;/p&gt;

&lt;p&gt;» &lt;a href="https://blog.rust-lang.org/2026/08/26/announcing-our-first-maintainers-in-residence/" rel="noopener noreferrer"&gt;Lire l'article&lt;/a&gt;&lt;/p&gt;




&lt;h3&gt;
  
  
  La plateforme Zéro Logement Vacant piratée : 149M de lignes exposées
&lt;/h3&gt;

&lt;p&gt;Après l'IRD (21/08), la plateforme d'État Zéro Logement Vacant (cadastre/DGFiP) est à son tour exposée : ~149M de lignes, ~48M de personnes, identités et adresses. Un nouvel épisode de la série noire estivale pour les SI publics.&lt;/p&gt;

&lt;p&gt;» &lt;a href="https://korben.info/la-plateforme-zero-logement-vacant-a-ete-piratee.html" rel="noopener noreferrer"&gt;Lire l'article&lt;/a&gt;&lt;/p&gt;




&lt;h3&gt;
  
  
  OpenAI et Anthropic dévalisent les stocks de Mac mini
&lt;/h3&gt;

&lt;p&gt;Selon The Information, OpenAI vide les stocks de Mac mini/Studio et Anthropic loue des Mac mini en masse via AWS pour de l'apprentissage par renforcement. Des grappes de Mac en salle serveur enchaînent des myriades de petites inférences grâce à la mémoire unifiée Apple Silicon, plus sobre que des GPU Nvidia. Les ventes Mac bondissent de 29% à ~10 Md$.&lt;/p&gt;

&lt;p&gt;» &lt;a href=""&gt;Lire l'article&lt;/a&gt;&lt;/p&gt;




&lt;h3&gt;
  
  
  C'est quoi un harnais en IA ?
&lt;/h3&gt;

&lt;p&gt;Gabriel de Docstring vous explique ce qu’est un harnais en IA.&lt;/p&gt;

&lt;p&gt;» &lt;a href="https://www.docstring.fr/blog/cest-quoi-un-harnais-en-ia/" rel="noopener noreferrer"&gt;Lire l’article&lt;/a&gt;&lt;/p&gt;




&lt;h2&gt;
  
  
  &lt;strong&gt;MINI-SPONSORS&lt;/strong&gt;
&lt;/h2&gt;

&lt;p&gt;Un grand merci à mes mini-sponsors pour leur soutien à cette newsletter :&lt;br&gt;&lt;br&gt;
&lt;strong&gt;LBKE d'Éric Burel&lt;/strong&gt;, &lt;strong&gt;Lavicon de DKP&lt;/strong&gt;, &lt;strong&gt;Plumber&lt;/strong&gt; et &lt;strong&gt;Writizzy&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fzz11cb9aqy063xfry76v.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fzz11cb9aqy063xfry76v.png" width="799" height="409"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Découvrez &lt;a href="https://go.itanea.fr/minisponsorlbke" rel="noopener noreferrer"&gt;la formation LangChain éligible CPF de LBKE&lt;/a&gt;&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;&lt;a href="https://go.itanea.fr/minisponsorlavicon" rel="noopener noreferrer"&gt;Lavicon&lt;/a&gt; : Générez vos icônes stylées et uniques. Coupon -20%&lt;/strong&gt; : &lt;strong&gt;HAPPY2DEV&lt;/strong&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;&lt;a href="https://go.itanea.fr/minisponsorplumber" rel="noopener noreferrer"&gt;Plumber-CLI&lt;/a&gt;&lt;/strong&gt; : Vérifiez si vos pipelines CI/CD GitLab sont percés (open source)&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;&lt;a href="https://go.itanea.fr/minisponsorwritizzy" rel="noopener noreferrer"&gt;Writizzy&lt;/a&gt;&lt;/strong&gt; : Lancez votre blog et votre newsletter en 5 minutes. -20% pour 3 mois &lt;strong&gt;HAPPY20&lt;/strong&gt;
&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Vous aussi devenez mini-sponsor et mettez en avant votre entreprise pendant 52 numéros (~1an) pour 397€ =&amp;gt; &lt;a href="mailto:happytodev@ik.me?subject=mini-sponsor"&gt;contactez moi&lt;/a&gt;&lt;/strong&gt;&lt;/li&gt;
&lt;/ul&gt;


&lt;h2&gt;
  
  
  &lt;strong&gt;LE TOUR DES RÉSEAUX&lt;/strong&gt;
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fmx8pxzoq8uw0uwksv60j.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fmx8pxzoq8uw0uwksv60j.png" width="800" height="533"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;&lt;em&gt;Dans cette rubrique, je vous présente les infos que j'ai trouvé intéressantes au cours de la semaine sur les différents réseaux sociaux.&lt;/em&gt;&lt;/strong&gt;&lt;/p&gt;
&lt;h3&gt;
  
  
  PostgreSQL for Everything
&lt;/h3&gt;


&lt;blockquote class="bluesky-embed"&gt;
&lt;p&gt;How the PostgreSQL Database can be used in many use cases: Full-Text Search JSON support, High Volume Time Series Data, Vector DB, Non-Persistent High Performance Caching, Graph DB #PostgreSQL www.raphaelbauer.com/posts/postgr...&lt;/p&gt;— &lt;a href="https://bsky.app/profile/did:plc:5lj4n3nkq7by6vmdxltlt2fy?ref_src=embed" rel="noopener noreferrer"&gt;Laurent Cheylus (@lcheylus.bsky.social)&lt;/a&gt; &lt;a href="https://bsky.app/profile/did:plc:5lj4n3nkq7by6vmdxltlt2fy/post/3mtsqhj72m527?ref_src=embed" rel="noopener noreferrer"&gt;2026-08-24T07:05:01.595Z&lt;/a&gt;
&lt;/blockquote&gt;


&lt;p&gt;Un panorama ultra-pratique qui vous rappelle pourquoi PostgreSQL reste le couteau suisse : recherche plein texte, JSON, séries temporelles à haut volume, vector DB, cache haute perf non persistant, voire graph DB.&lt;/p&gt;


&lt;h3&gt;
  
  
  Les Logiciels Libres de l'été, jour 64 : SciPy
&lt;/h3&gt;


&lt;blockquote class="bluesky-embed"&gt;
&lt;p&gt;🏖️🐻 Les Logiciels Libres de l'été, jour 71 :

Lightpanda : un navigateur headless Open Source développé entièrement en Zig&lt;/p&gt;— &lt;a href="https://bsky.app/profile/did:plc:oklkinuievllgvhrv2nia4gu?ref_src=embed" rel="noopener noreferrer"&gt;Bearstech (@bearstech.com)&lt;/a&gt; &lt;a href="https://bsky.app/profile/did:plc:oklkinuievllgvhrv2nia4gu/post/3mufn5xvhad2u?ref_src=embed" rel="noopener noreferrer"&gt;2026-08-31T19:26:25.000Z&lt;/a&gt;
&lt;/blockquote&gt;


&lt;p&gt;Le feuilleton estival de Bearstech continue avec SciPy, la bibliothèque de référence pour le calcul scientifique en Python — indispensable si vous touchez à la data, aux maths ou à l'ingénierie.&lt;/p&gt;


&lt;h3&gt;
  
  
  Surveillance implants in Chinese-made routers
&lt;/h3&gt;


&lt;blockquote class="bluesky-embed"&gt;
&lt;p&gt;www.tomshardware.com/tech-industr... *étonnant* *sapristi*&lt;/p&gt;— &lt;a href="https://bsky.app/profile/did:plc:m6kttxx5lbaw2dcilfezwxjj?ref_src=embed" rel="noopener noreferrer"&gt;Léαlinux 🐧 (@lea-linux.org)&lt;/a&gt; &lt;a href="https://bsky.app/profile/did:plc:m6kttxx5lbaw2dcilfezwxjj/post/3muatsk5l5s2i?ref_src=embed" rel="noopener noreferrer"&gt;2026-08-29T21:42:10.939Z&lt;/a&gt;
&lt;/blockquote&gt;



&lt;h3&gt;
  
  
  Rust — nouveau LSP léger rust-glancer
&lt;/h3&gt;


&lt;blockquote class="bluesky-embed"&gt;
&lt;p&gt;Hello World to rust-glancer, a new lightweight Rust LSP (Language Server) that trades incompleteness for performance and low memory usage #Rust rust-glancer.github.io/blog/hello-w...&lt;/p&gt;— &lt;a href="https://bsky.app/profile/did:plc:5lj4n3nkq7by6vmdxltlt2fy?ref_src=embed" rel="noopener noreferrer"&gt;Laurent Cheylus (@lcheylus.bsky.social)&lt;/a&gt; &lt;a href="https://bsky.app/profile/did:plc:5lj4n3nkq7by6vmdxltlt2fy/post/3mttyxyb7g42d?ref_src=embed" rel="noopener noreferrer"&gt;2026-08-24T19:10:05.368Z&lt;/a&gt;
&lt;/blockquote&gt;


&lt;p&gt;rust-glancer, un nouveau LSP Rust léger qui troque un peu d'exhaustivité contre des performances et une empreinte mémoire réduite — idéal si rust-analyzer vous semble trop gourmand.&lt;/p&gt;


&lt;h3&gt;
  
  
  Android de-Googled — base Plexus
&lt;/h3&gt;


&lt;blockquote class="bluesky-embed"&gt;
&lt;p&gt;App Compatibility on de-Googled Devices: a crowdsourced Database of Android Applications running without Google Play Services or with microG (open-source implementation of Google Play Services) #Android plexus.techlore.tech&lt;/p&gt;— &lt;a href="https://bsky.app/profile/did:plc:5lj4n3nkq7by6vmdxltlt2fy?ref_src=embed" rel="noopener noreferrer"&gt;Laurent Cheylus (@lcheylus.bsky.social)&lt;/a&gt; &lt;a href="https://bsky.app/profile/did:plc:5lj4n3nkq7by6vmdxltlt2fy/post/3mtvawfp3eh2i?ref_src=embed" rel="noopener noreferrer"&gt;2026-08-25T07:05:01.554Z&lt;/a&gt;
&lt;/blockquote&gt;


&lt;p&gt;Une base collaborative qui recense la compatibilité des apps Android sans Google Play Services ou avec microG — précieux si vous tentez le de-Googled sur vos devices de test.&lt;/p&gt;


&lt;h3&gt;
  
  
  Lightpanda : navigateur headless en Zig — jour 71
&lt;/h3&gt;


&lt;blockquote class="bluesky-embed"&gt;
&lt;p&gt;🏖️🐻 Les Logiciels Libres de l'été, jour 71 :

Lightpanda : un navigateur headless Open Source développé entièrement en Zig&lt;/p&gt;— &lt;a href="https://bsky.app/profile/did:plc:oklkinuievllgvhrv2nia4gu?ref_src=embed" rel="noopener noreferrer"&gt;Bearstech (@bearstech.com)&lt;/a&gt; &lt;a href="https://bsky.app/profile/did:plc:oklkinuievllgvhrv2nia4gu/post/3mufn5xvhad2u?ref_src=embed" rel="noopener noreferrer"&gt;2026-08-31T19:26:25.000Z&lt;/a&gt;
&lt;/blockquote&gt;


&lt;p&gt;Bearstech vous présente Lightpanda : un navigateur headless ultra-léger, codé en Zig. Idéal pour vos tests, votre scraping ou votre rendu côté serveur sans Chromium.&lt;/p&gt;


&lt;h3&gt;
  
  
  IA + interaction gestuelle
&lt;/h3&gt;

&lt;p&gt;&lt;iframe class="tweet-embed" id="tweet-2094469325096636499-494" src="https://platform.twitter.com/embed/Tweet.html?id=2094469325096636499"&gt;
&lt;/iframe&gt;

  // Detect dark theme
  var iframe = document.getElementById('tweet-2094469325096636499-494');
  if (document.body.className.includes('dark-theme')) {
    iframe.src = "https://platform.twitter.com/embed/Tweet.html?id=2094469325096636499&amp;amp;theme=dark"
  }



&lt;/p&gt;

&lt;p&gt;Kat présente un des ses projets sur la reconnaissance de mouvements et c’est assez bluffant. Ce que l’on voyait dans Minority Report comme de la pure science fiction est notre réalité aujourd’hui.&lt;/p&gt;




&lt;h2&gt;
  
  
  &lt;strong&gt;DEV PRATIQUE&lt;/strong&gt;
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fmtioepggjfhkko9uael6.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fmtioepggjfhkko9uael6.png" width="800" height="533"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;em&gt;Ressources concrètes pour tous les devs (web, DevOps, sécu, game, embarqué…)&lt;/em&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  📘 Web Dev
&lt;/h3&gt;

&lt;p&gt;&lt;strong&gt;Gitea for VS Code 1.0.0 — l'extension officielle&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Gitea sort enfin son extension officielle pour VS Code : clone, PR, issues et code review sans quitter l'éditeur, avec support self-hosted. Si vous hébergez votre forge, c'est le chaînon qui vous manquait.&lt;/p&gt;

&lt;p&gt;» &lt;a href="https://www.it-connect.fr/gitea-for-vs-code-1-0-0-extension-officielle/" rel="noopener noreferrer"&gt;Lire l'article&lt;/a&gt;&lt;/p&gt;




&lt;h3&gt;
  
  
  🛠️ DevOps
&lt;/h3&gt;

&lt;p&gt;&lt;strong&gt;GoAccess : analyser les logs de votre serveur web en temps réel&lt;/strong&gt; &lt;/p&gt;

&lt;p&gt;Le tutoriel de référence de la semaine : GoAccess transforme votre access.log (Apache, Nginx, Traefik, Caddy) en tableau de bord temps réel sans base de données. Le guide couvre l'install Debian/Ubuntu, l'analyse d'un access.log de 24 Go (99M requêtes) en 38 min, les formats Combined/VCOMBINED/Traefik JSON, la génération d'un rapport HTML et le déploiement Docker Compose avec Traefik (WebSocket temps réel sur /ws).&lt;/p&gt;

&lt;p&gt;» &lt;a href="https://www.it-connect.fr/goaccess-analyser-les-logs-de-votre-serveur-web-en-temps-reel/" rel="noopener noreferrer"&gt;Lire le tutoriel&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;NIS 2 : pourquoi la connexion Windows reste l'angle mort&lt;/strong&gt; &lt;/p&gt;

&lt;p&gt;NIS 2 oblige-t-il le MFA pour l'ouverture de session Windows ? Décryptage des exigences et approche non invasive via Specops Secure Access pour ajouter du MFA à l'AD sans réinventer votre infra.&lt;/p&gt;

&lt;p&gt;» &lt;a href="https://www.it-connect.fr/nis-2-pourquoi-la-connexion-a-windows-reste-langle-mort-de-vos-acces/" rel="noopener noreferrer"&gt;Lire l'article&lt;/a&gt;&lt;/p&gt;




&lt;h3&gt;
  
  
  🔒 Sécurité
&lt;/h3&gt;

&lt;p&gt;&lt;strong&gt;PaperCut NG/MF : deux failles exploitées et un correctif contourné&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Urgence : CVE-2026-81578 et CVE-2026-82078 sur PaperCut NG/MF sont exploitées, le premier correctif a été contourné. Un second correctif d'urgence est publié — à patcher sans attendre si vous gérez des MFP en entreprise.&lt;/p&gt;

&lt;p&gt;» &lt;a href="https://www.it-connect.fr/papercut-ng-mf-cve-2026-81578-82078-deuxieme-correctif-urgence/" rel="noopener noreferrer"&gt;Lire l'article&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Debian autorise l'IA générative, mais le contributeur reste responsable&lt;/strong&gt; &lt;/p&gt;

&lt;p&gt;Vote historique : Debian autorise officiellement les contributions assistées par IA générative, à condition que le contributeur reste entièrement responsable du code soumis. Un cadre qui fera jurisprudence pour vos projets open source.&lt;/p&gt;

&lt;p&gt;» &lt;a href="https://www.it-connect.fr/debian-vote-ia-generative-resolution-generale/" rel="noopener noreferrer"&gt;Lire l'article&lt;/a&gt;&lt;/p&gt;




&lt;h3&gt;
  
  
  🖥️ Électronique
&lt;/h3&gt;

&lt;p&gt;&lt;strong&gt;What's Mu Metal ?&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Hackaday explique les propriétés du mu-métal : alliage à très haute perméabilité magnétique pour le blindage des capteurs, tubes et transfos. Parfait si vous bricolez de l'électronique sensible ou du hardware embarqué.&lt;/p&gt;

&lt;p&gt;» &lt;a href=""&gt;Lire l'article&lt;/a&gt;&lt;/p&gt;




&lt;h2&gt;
  
  
  &lt;strong&gt;T'AS TON POPCORN ?&lt;/strong&gt;
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fjpo4zkn5pvnuauggffbs.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fjpo4zkn5pvnuauggffbs.png" width="800" height="537"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;&lt;em&gt;Dans cette section, je vous propose de bien vous caller dans votre siège gamer, votre canapé ou votre lit pour visionner quelques vidéos dénichées ici et là.&lt;/em&gt;&lt;/strong&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;strong&gt;The summer Math fell to the machines... — Fireship&lt;/strong&gt;
&lt;/h3&gt;

&lt;p&gt;  &lt;iframe src="https://www.youtube.com/embed/iuZPTE5qsJY" width="710" height="399"&gt;
  &lt;/iframe&gt;
&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;L'IA vient de résoudre plus de problèmes ouverts de maths en quelques semaines que l'humanité en 10 ans. Focus sur les modèles qui tombent les conjectures — et ce que ça change pour la recherche.&lt;/p&gt;
&lt;/blockquote&gt;




&lt;h3&gt;
  
  
  &lt;strong&gt;DeepSeek is back... and Silicon Valley is terrified — Fireship&lt;/strong&gt;
&lt;/h3&gt;

&lt;p&gt;  &lt;iframe src="https://www.youtube.com/embed/xBByvFrqmWU" width="710" height="399"&gt;
  &lt;/iframe&gt;
&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;OpenAI vient de mettre en pause son plus gros training run au moment où DeepSeek rejoue un coup. Vidéo de 6 min qui décrypte la panique côté Silicon Valley autour du retour de DeepSeek.&lt;/p&gt;
&lt;/blockquote&gt;




&lt;h3&gt;
  
  
  The most expensive software bug in history... — Fireship — 27 août 2026
&lt;/h3&gt;

&lt;p&gt;  &lt;iframe src="https://www.youtube.com/embed/UuqSy1jPSUw" width="710" height="399"&gt;
  &lt;/iframe&gt;
&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;Knight Capital a perdu 440M$ en 2012 à cause d'un feature flag mal déployé : Fireship raconte en 6 min le bug le plus cher de l'histoire, et ce que ça vous apprend sur le déploiement continu.&lt;/p&gt;
&lt;/blockquote&gt;




&lt;h3&gt;
  
  
  Mon premier jeu mobile en 10min avec Claude Fable — Graven — 28 août 2026
&lt;/h3&gt;

&lt;blockquote&gt;
&lt;p&gt;Graven code un jeu mobile en 10 minutes avec Claude Fable : du prompt au build, en short YouTube. Idéal si vous voulez voir un agent coder côté mobile sans prise de tête.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;» &lt;a href="https://www.youtube.com/shorts/_uJSPjHVg10" rel="noopener noreferrer"&gt;Voir la vidéo sur YouTube&lt;/a&gt;&lt;/p&gt;




&lt;h3&gt;
  
  
  Il a eu accès à Mythos, l'IA interdite au public — Underscore_
&lt;/h3&gt;

&lt;p&gt;  &lt;iframe src="https://www.youtube.com/embed/VdpqKwFXYls" width="710" height="399"&gt;
  &lt;/iframe&gt;
&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;Underscore_ et Sylvestre Ledru ont eu accès à Mythos, le modèle d'Anthropic jugé trop dangereux pour le public : hype ou vraie menace ? Une enquête à voir si vous vous interrogez sur la gouvernance IA.&lt;/p&gt;
&lt;/blockquote&gt;




&lt;h2&gt;
  
  
  &lt;strong&gt;METS TON CASQUE !&lt;/strong&gt;
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2F2pibhmc23r6dvc8uke25.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2F2pibhmc23r6dvc8uke25.png" width="800" height="537"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;&lt;em&gt;Dans cette rubrique, je vous propose des podcasts en anglais et en français sur notre monde de dev.&lt;/em&gt;&lt;/strong&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;strong&gt;Tronche de Tech #77 - Sylvain Hajri - Espion 2.0&lt;/strong&gt;
&lt;/h3&gt;

&lt;blockquote&gt;
&lt;p&gt;Sylvain Hajri, red teamer : télescope et smartphone sur toit d'en face, interception WeTransfer et mots de passe, crochetage, manipulation humaine et évasions face à la sécu d'entreprise. L'épisode le plus dangereux de la tech selon Mathieu Sanchez. 1h27, avec les références Little Black Book of Lockpicking, Petit traité de manipulation et LeHack. Si vous aimez le offsec, vous allez adorer.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;&lt;iframe src="https://open.spotify.com/embed/episode/16bTmn3x7zkMilBTQd9onO" width="100%" height="232px"&gt;
&lt;/iframe&gt;
&lt;/p&gt;




&lt;h3&gt;
  
  
  Double Slash —News Août 2026 — Cursor Origin, requêtes HTTP, Lerd et modèles IA open-weight
&lt;/h3&gt;

&lt;blockquote&gt;
&lt;p&gt;Nous évoquons WebMCP et Kitesurf que Cloudflare lance pour les agents IA, pnpm 12 réécrit en Rust, la méthode HTTP QUERY, Cursor qui passe à React et lance Origin, Mesa le filesystem versionné pour agents, Mistral et Hetzner côté IA souveraine, et quelques outils comme Xirp, Lerd, fx ou CodexBar.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;&lt;iframe src="https://open.spotify.com/embed/episode/1gczQ3JeMuUkDbThjZG1Qw" width="100%" height="232px"&gt;
&lt;/iframe&gt;
&lt;/p&gt;




&lt;h2&gt;
  
  
  &lt;strong&gt;LES SORTIES DE LA SEMAINE&lt;/strong&gt;
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fdfvhwpmi66mkg39t1zgx.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fdfvhwpmi66mkg39t1zgx.png" width="800" height="537"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;&lt;em&gt;Dans cette rubrique, je vous mets en avant les mises à jour de logiciel que nous sommes susceptibles d'utiliser dans notre quotidien de développeurs.&lt;/em&gt;&lt;/strong&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  PHP 8.5.10 et 8.4.25 — 27 août 2026
&lt;/h3&gt;

&lt;p&gt;Double release de maintenance le même jour :&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;PHP 8.5.10&lt;/strong&gt; : durcissement stack overflow sur tableaux/DOM profondément imbriqués (GH-22782, GH-23088, GH-23116), fixes JIT Opcache.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;PHP 8.4.25&lt;/strong&gt; : même hardenings + correctifs sécu (branche en security-only).&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;PHP 8.6.0 Beta 2&lt;/strong&gt; également disponible le 27/08 (à ne pas mettre en prod, Beta 3 prévue 10/09).&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;» &lt;a href="https://www.php.net/ChangeLog-8.php#8.5.10" rel="noopener noreferrer"&gt;Voir la release note 8.5.10&lt;/a&gt; · &lt;a href="https://www.php.net/ChangeLog-8.php#8.4.25" rel="noopener noreferrer"&gt;Voir la 8.4.25&lt;/a&gt;&lt;/p&gt;




&lt;h3&gt;
  
  
  Laravel 13.27.0 et 13.29.0 — 25 août 2026
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;13.27.0&lt;/strong&gt; : refreshForUpdate() Eloquent, whereBinary() Query Builder, facade Cloud, keepalive Postgres, fix loose comparaison in_array/contains.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;13.29.0&lt;/strong&gt; (25/08 20:58 UTC) : bump assets.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;12.68.0&lt;/strong&gt; : backport fix resource loading.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;» &lt;a href="https://github.com/laravel/framework/releases/tag/v13.27.0" rel="noopener noreferrer"&gt;Voir la release note 13.27.0&lt;/a&gt; · &lt;a href="https://github.com/laravel/framework/releases/tag/v13.29.0" rel="noopener noreferrer"&gt;Voir la 13.29.0&lt;/a&gt;&lt;/p&gt;




&lt;h3&gt;
  
  
  Node.js 24.20.0 LTS Krypton et 26.8.1 Current — 26 août 2026
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;24.20.0 LTS&lt;/strong&gt; : AsyncLocalStorage using scopes, buffer param end, permission.drop + --permission-audit, npm 11.19.0, NSS 3.125.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;26.8.1 Current&lt;/strong&gt; : out-of-band fix node --version qui reportait une alpha.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;26.8.0&lt;/strong&gt; : release Current du même jour.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;» &lt;a href="https://nodejs.org/en/blog/release/v24.20.0" rel="noopener noreferrer"&gt;Voir la release note 24.20.0&lt;/a&gt; · &lt;a href="https://nodejs.org/en/blog/release/v26.8.1" rel="noopener noreferrer"&gt;Voir la 26.8.1&lt;/a&gt;&lt;/p&gt;




&lt;h3&gt;
  
  
  Symfony 8.1.6 / 7.4.18 / 6.4.45 — 30 août 2026
&lt;/h3&gt;

&lt;p&gt;Triple patch sécu/bug : HttpClient rejette les decompression bombs et les proxies https en clair, HttpFoundation combine les trusted host patterns, Security bloque les login link malformés.&lt;/p&gt;

&lt;p&gt;» &lt;a href="https://github.com/symfony/symfony/releases/tag/v8.1.6" rel="noopener noreferrer"&gt;Voir la release note 8.1.6&lt;/a&gt;&lt;/p&gt;




&lt;h3&gt;
  
  
  Kubernetes 1.37.0 — 26 août 2026
&lt;/h3&gt;

&lt;p&gt;Version majeure stable (264 commits) : voir le CHANGELOG-1.37 complet.&lt;/p&gt;

&lt;p&gt;» &lt;a href="https://github.com/kubernetes/kubernetes/releases/tag/v1.37.0" rel="noopener noreferrer"&gt;Voir la release note&lt;/a&gt;&lt;/p&gt;




&lt;h3&gt;
  
  
  VS Code 1.135 — 26 août 2026
&lt;/h3&gt;

&lt;p&gt;Continue les sessions d'agents externes (Copilot/Claude) directement dans VS Code, second avis modèle /rubber-duck, fenêtre Agents en single-pane par défaut, suivi détaillé de l'usage par modèle.&lt;/p&gt;

&lt;p&gt;» &lt;a href="https://code.visualstudio.com/updates/v1_135" rel="noopener noreferrer"&gt;Voir la release note&lt;/a&gt;&lt;/p&gt;




&lt;h2&gt;
  
  
  &lt;strong&gt;L'invité de la semaine — L'interview intégrale&lt;/strong&gt;
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;Yves Rougy&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2F9iwlo9t5ytkomntsb7sf.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2F9iwlo9t5ytkomntsb7sf.png" alt="Yves Rougy aKa Yorzian" width="394" height="398"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;em&gt;Propos recueillis par HappyToDev&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;1. Peux-tu te présenter ?&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Salut !&lt;/p&gt;

&lt;p&gt;Je suis Yves Rougy, j’ai 54 ans, et je suis passionné du monde informatique au sens large, depuis le début des années 1980 et ma découverte du TO7 ramené à la maison le jour de sa sortie par mon père. Il m’a donné le virus technologique, car je trainais dans son atelier dans lequel il réparait téléviseurs, matériel HIFI, Magnétoscopes et compagnie.&lt;/p&gt;

&lt;p&gt;Après une vingtaine d’années passées à Paris pour le boulot, je me suis installé dans une petite maison en pleine campagne. Plus de place pour avoir du matériel, mais aussi moins de temps car il faut entretenir la maison !&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;2. Quelle est ta spécialité ? Quel est ton langage préféré ?&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;On va dire plutôt ma spécialité historique en fait, car j’explore pleins de choses en permanence.&lt;/p&gt;

&lt;p&gt;Bien que j’ai fait des études orientées développement (en génie logiciel), je me suis surtout focalisé sur la partie système, l’administration, l’intégration à l’OS, un peu de tuning ou de dépannage pointu aussi. Et depuis quelques années, je donne principalement des formations sur ces sujets. Donc je dirais que la vulgarisation et la pédagogie sont aussi deux aspects de ma spécialité.&lt;/p&gt;

&lt;p&gt;Mais comme je n’arrive pas à rester sur un seul sujet, je m’intéresse énormément aux transmissions radio, je suis d’ailleurs radioamateur avec l’indicatif F1IVT. Ça mélange du traitement du signal, de la fabrication d’antennes, des technologies spatiales…&lt;/p&gt;

&lt;p&gt;Et depuis 2 ou 3 ans, je m’intéresse de près aux technologies autour des LLM, en ayant en tête l’auto-hébergement de modèles, la gouvernance des données si je veux utiliser des expressions à la mode !!&lt;/p&gt;

&lt;p&gt;En ce qui concerne mon langage préféré, je n’en ai pas. Et d’ailleurs, j’ai toujours eu beaucoup de mal à faire des classements. Je manipule avec plaisir le shell Unix, mais je dirais que je fais un peu de Python quand j’ai besoin d’aller un peu plus loin. Mais c’est plus par praticité que par conviction. Sinon, j’ai un peu mis le nez dans le Go, et j’ai trouvé ça vraiment pas mal. Par contre, je n’ai pas fait de projet particulier avec, juste des bricolages, mais dans le principe, c’est vers lui que je me tournerais !&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;3. Es-tu un reconverti ? (as tu travaillé dans un autre domaine que l'IT précédemment)&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Non, c’est vraiment vers ça que je me suis naturellement dirigé dès le départ.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;4. Quelles études as-tu suivies ?&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;J’ai commencé par des études en maths, jusqu’en Licence, en prenant mon temps. Mais je ne pouvais pas aller en Maîtrise après, le service militaire était encore d’actualité, et je devais aller sous les drapeaux. Au retour, j’ai choisi de partir en informatique, en ayant conscience que si je voulais bosser dans le monde informatique, ça serait un plus d’avoir un diplôme reconnu. On n’est pas encore dans les années 2000 et l’informatique n’était pas aussi polyvalente qu’aujourd’hui. Dans mon université (Université de Franche Comté à Besançon) il y avait un nouveau cursus appelé IUP, et qui donnait un diplome d’ingénieur Maître et une Maîtrise. J’ai donc pu intégrer la seconde année directement, niveau licence.&lt;/p&gt;

&lt;p&gt;Mais ma carte de visite qui m’a ouvert des portes, c’est surtout ce que j’ai fait et partagé de mon coté, avant ces études, et pendant ces études. Je jouait avec Linux depuis 1994, et j’avais partagé des tutoriels et de la documentation avant. Par exemple j’avais fait un tutoriel sur la compilation du noyau (qui ne faisait que traduire et paraphraser l’aide la documentation officielle !) qui avait été publié sur linux-france à l’époque pré-2000.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;5. Comment as-tu démarré dans le monde pro ? Stage, alternance, emploi direct ?&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Déjà, j’ai un peu bossé tous les étés depuis l'âge de 17 ans, histoire de financer mes études au moins en partie. Mais dans le monde de l’informatique, une expérience très sympa, toujours pendant les études, a été de donner un coup de main à un copain qui avait monté une boite de vente PC et de logiciels. C’était sur la seconde moitié des années 1990, donc l’époque windows 95 et 98. J’ai monté des centaines de PC dans l’arrière boutique, et je me faisais payer en matériel.&lt;/p&gt;

&lt;p&gt;Mais tout à basculé quand j’ai fait mon stage pour la troisième année de l’IUP. Je suis allé bosser 6 mois dans une boite en Belgique. C’était la seconde moitié de l’année 1998. Tout était propice à ce que je fais aujourd’hui. L’objectif de mon stage était de surveiller que les mails internes de la boite (internationale) circulaient bien sur le réseau interne via les VPN et liaisons spécialisées, et pas en clair via Internet. Au rez de chaussée, il y avait Nicolas qui hébergeait un petit ISP local. Et il m’a fait essayer ma première Debian, Debian Hamm, la 2.0. J’ai été initié à Linux en entreprise (avec le serveur d’impression sur un Samba sous Linux caché derrière le Windows NT officiel qui n’était plus branché au réseau), à la compréhension du routage, des VPN, des protocoles comme le SMTP, à la souveraineté des données, et à rencontrer des gens d’une compétence folle !&lt;/p&gt;

&lt;p&gt;Et après le stage, la boite m’a proposé un poste à Paris, avant même la fin de mes études et l’obtention de mon diplôme. Mais malheureusement, la branche parisienne n’était pas du même niveau, et je n’y suis resté que 6 mois, avant d’aller dans une startup qui ne faisait que du Linux en 2000. Pareil, j’ai énormément appris là bas, il y avait une concentration de compétences incroyables. Entre Luc qui écrivait un driver webcam fonctionnel juste à partir des traces USB, Stelian qui était contributeur au noyau direct, Éric qui trouvait des bugs dans OpenSSL… De quoi être humble.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;6. Et maintenant tu en es où ?&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Ça fait maintenant plus de 15 ans que je suis à mon compte, et que je navigue entre les clients. Beaucoup de formations professionnelles, c’est à dire pour des gens qui viennent de 1 à 5 jours suivant les cas, pour se perfectionner dans un domaine. J’ai un peu bossé aussi avec des écoles aussi. Et je fais des interventions plus ponctuelles sur des missions de conseil, d’administration, de dépannage…&lt;/p&gt;

&lt;p&gt;À côté de ça, je crée du contenu sur les réseaux sociaux, et j’estime que c’est une partie de mon activité, vu que ça me rapporte un petit peu de sous (je ne pourrais clairement pas en vivre cependant).&lt;/p&gt;

&lt;p&gt;Ça me donne la liberté dont j’ai besoin, et surtout la satisfaction d’être responsable des succès et de mes échecs.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;7. Sur ton profil Linkedin, on peut lire que tu prolonges ton expertise Linux/Unix et radio avec le média Yorzian : un labo « Glass Box » sur Twitch et YouTube, où tu documentes ta veille et tes tests d'infrastructure en direct.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Peux-tu nous expliquer ce concept et pourquoi tu as choisi d'ouvrir ainsi ta veille et tes tests d'infrastructure au public ?&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;L’idée est toute simple. Depuis toujours je fais beaucoup de veille, j’expérimente beaucoup pour comprendre et apprendre. De façon très… irrégulière. Mon idée est alors double. Tout d’abord me dégager un moment pour justement faire de la veille avec un objectif (au lieu d’aller dans tous les sens), et de façon régulière. Et ensuite, comme j’aime partager mes connaissances ou mes “trouvailles”, ben pourquoi ne pas montrer ça publiquement ? Ça intéresse les gens, ça montre mon savoir faire, ça donne des idées en échangeant avec la communauté, ça fait du contenu de valeur et sur le temps. Et accessoirement, ça me fait une bonne carte de visite.&lt;/p&gt;

&lt;p&gt;La majeure partie de mes clients, je les trouve aussi avec le bouche à oreille, alors ça alimente également cet aspect là. Franchement j’ai trouvé plus d’avantages à tout partager que de garder ça pour moi. Et si je fais un truc qui ne fonctionne pas, c’est pas très grave, car c’est le quotidien de tout ingénieur en IT. Tout ne fonctionne pas du premier coup !&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Sur ton site perso, tu expliques que ton assistant IA tourne dans ton sous-sol, sur une GTX 1070 de 2017 et un Core i7 4790 de 2014. La configuration a été sportive. Qu’est-ce qui te pousse dans ce genre de défi ?&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;En fait, suivre un tutoriel dans lequel tout fonctionne du premier coup, je trouve que ce n’est pas très formateur. Alors je cherche comment je peux faire quelque-chose de fun, et qui m’en apprend plus. Dans ce cas, j’avais la machine qui était disponible, ma machine principale pour l’IA était occupé pour quelques semaines, donc j’avais un vrai besoin derrière.&lt;/p&gt;

&lt;p&gt;Et franchement c’est fun. Je ne pensais vraiment pas que ça tournerait comme ça. Mais déjà réussir à faire démarrer l’inférence, puis petit à petit chercher à comprendre les paramètres qui améliorent la vitesse, les compromis à trouver, je me suis vraiment amusé.&lt;/p&gt;

&lt;p&gt;Donc je dirais, ce genre de défi est fun, et en plus il permet de monter en compétences et en compréhension. Et c’est ce même genre d’approche qui fait que je suis en train de publier des benchmarks sur les IA auto-hébergés en fonction de leur “compression” sur &lt;a href="https://gguf-bench.com/" rel="noopener noreferrer"&gt;https://gguf-bench.com/&lt;/a&gt; Ça prend du temps, mais c’est super formateur et potentiellement utile à d’autres.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Sur ton site, tu te présentes aussi comme expert en radiocommunications, radioamateur F1IVT. C'est une double casquette rare — Linux et radio. Qu'est-ce qui t'a attiré vers la radio ? Quel conseil dans ce domaine aimerais-tu avoir si tu commençais aujourd’hui ?&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;La radio est moi est une vieille histoire ! Bien que j’aie grandi dans un univers composé de fers à souder, de résistances, de diodes, de transistors et petits circuits intégrés, je n’avais aucune compétence dans la compréhension de ce monde là.&lt;/p&gt;

&lt;p&gt;Durant les étés, je travaillais pour me payer mes études. Et cette année là, j’étais dans un village de vacances avec plusieurs postes, dont certains de nuit (barman et DJ, entre autre). Ce qui m’a permis de sympathiser avec le gardien de nuit. Et pendant une journée de repos, il m’a proposé de venir avec lui sur une des crêtes du coin (dans le Haut Jura). Sur sa voiture il avait une antenne magnétique et il avait un petit poste de CB. Et j’ai trouvé ça magique de voir qu’on pouvait faire des contacts à plusieurs centaines de kilomètres, comme ça, aussi simplement. À l’époque, Internet n’était pas vraiment présent dans les foyers.&lt;/p&gt;

&lt;p&gt;Alors, une fois la saison finie, je suis allé à la MJC de ma ville, pour voir si certains faisaient ce genre d’activité. Et un Radio Club Radioamateur était présent depuis peu. Je me suis donc inscrit, j’ai suivi les cours et j’ai passé ma licence radio. C’est donc allé beaucoup plus loin que de dire bonjour à un-e inconnu-e à quelques kilomètres. Là bas, j’ai pu voir qu’avec un seul Watt de puissance, une bonne antenne, un peu de savoir faire, on pouvait envoyer un signal et entendre le retour du signal sur un satellite qui se trouvait à 30 000 km de nous, au dessus de l’Alaska (le satellite AO-13 à l’époque). J’ai trouvé ça magique, et ça ne m’a pas quitté. Moi qui aime les défis techniques, j’étais servi !&lt;/p&gt;

&lt;p&gt;Quand j’ai exploré l’intersection entre le monde de la radio et l’informatique, que j’ai découvert les réseaux radio, le packet radio de l’époque, et la possibilité de se connecter de relais en relais jusqu’à atteindre des BBS radioamateurs, je me suis aussi rendu compte que la plupart des personnes utilisaient Linux pour faire tourner leur matériel. Linux que je commençais à découvrir dans mon coin. Et ce n’était pas surprenant, le monde des radioamateurs était rempli de geeks. On retrouve une culture hacker. “Tiens, j’ai ce vieux couvercle arrondi, si ça se trouve je peux en faire une antenne”. On sort le fer à souder et hop. C’est pas si loin du “tiens j’ai ce vieux gadget électronique. Est-ce que Doom pour tourner là dessus ?”.&lt;/p&gt;

&lt;p&gt;Pour résumer, ce qui m’a attiré dans ce monde là, c’est justement ça. L’absence de limites sur ce qu’il est possible de faire techniquement. Et que le monde des ondes est partout, car si tu utilise n’importe quel appareil sans fil, ben… ça passe par les ondes radio ! Je ne sais pas si je pourrais trouver un meilleur conseil que celui qu’on m’a donné à l’époque qui était d’expérimenter après ma licence, d’essayer pleins de trucs pour voir ce qui me plaisait le plus. Et si j’avais un conseil à donner à quelqu’un qui s’intéresse au domaine, c’est de retrouver une communauté. C’est important pour se motiver, pour échanger, pour essayer des trucs. C’est devenu un loisir beaucoup plus accessible qu’autrefois. Pour quelques dizaines d’euros, on peut commencer à faire des trucs cools. Et le deuxième conseil, c’est de passer la licence. Ça ouvre tellement de perspectives supplémentaires !&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;On peut voir que tu es basé à 20 minutes de Chartres. Qu'apprécies-tu dans cette région ?&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Le calme ! J’ai vécu plus de 20 ans à Paris après avoir quitté mon Jura natal, et après avoir passé de super années riches culturellement parlant, au niveau des rencontres, au niveau de tout ce qu’il y a à faire, je voulais retrouver un peu de calme, d’espace et de nature.&lt;/p&gt;

&lt;p&gt;Je ne connaissais pas la région il y a 5 ans, donc je la découvre encore, mais je suis au bord du Perche, et j’apprécie particulièrement le calme et le coté naturel du coin.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;8. Tu as d’autres passions ?&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;J’essaie de ne pas trop me disperser, mais je suis tombé dans le monde des montres mécaniques il y a une quinzaine d’années, et je me fais des périodes où je vais démonter et retaper une petite montre mécanique. Ça mériterait un peu plus de pratique et de temps, mais j’ai du faire des choix.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;9. Peut-on te voir dans des conf ou des meetups ? Sinon où peut on te suivre ?&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Je ne suis pas tellement dans les meetups et les confs, c’est un truc dans lequel je voudrais être plus présent. Mais je serai à opensource experience cette année, je pense que je retournerai aux RMLL et après, à voir !&lt;/p&gt;

&lt;p&gt;Par contre, on peut me suivre sur plusieurs réseaux sociaux. Bien que je ne poste plus des masses sur X/Twitter, j’y suis toujours sous @yrougy. Pour Bluesky, c’est @&lt;a href="http://yrougy.bsky.social" rel="noopener noreferrer"&gt;yrougy.bsky.social&lt;/a&gt; et pour Mastodon @&lt;a href="mailto:yrougy@piaille.fr"&gt;yrougy@piaille.fr&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;Mais là où je suis le plus présent, c’est sur Twitch (&lt;a href="https://twitch.tv/Yorzian" rel="noopener noreferrer"&gt;https://twitch.tv/Yorzian&lt;/a&gt; ) et Youtube (&lt;a href="https://youtube.com/@yrougy" rel="noopener noreferrer"&gt;https://youtube.com/@yrougy&lt;/a&gt; ) car je fais des lives deux fois par semaine en temps normal (hors vacances). Et j’ai bien sûr la panoplie Discord, Instagram et Tiktok. Mais je dirais que les lives et discord c’est le lien avec les gens de ma communauté.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;10. Est-ce que ton métier correspond finalement à tes attentes, tes rêves ?&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Ça a été un vrai choix de ma part. Je suis à mon compte, je ne gagne pas toujours beaucoup d’argent, mais ça me donne le luxe de faire ce qui me plait. Et tant que j’arrive à payer les factures, je n’échangerais ça pour rien au monde.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;11. Quels conseils donnerais-tu à celles et ceux qui débutent dans les métiers de l'IT et plus spécifiquement dans le dev ?&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;C’est une question difficile dans les temps actuels. Je pense que dans le dev, d’ici quelques temps, l’écriture manuelle de code sera réservée au coté loisir, mais d’un point de vue professionnel, ce seront les IA qui feront ce travail. Celà dit, un bon dev ne fait pas seulement du code, c’est tout un travail de compréhension et d’architecture, de cycle de vie à penser, et d’évolutivité du projet.&lt;/p&gt;

&lt;p&gt;Lorsque les appareils photo numériques sont arrivés, on a annoncé la mort des photographes de mariage. Plein de photographes ont effectivement disparu, car leur seule valeur ajoutée était de savoir prendre une photo et d’avoir le matériel. L’appareil photo numérique bon marché a abaissé le seuil d’accès à ce métier. Pour autant, ceux qui ont su créer un style et une approche à eux, même avec du petit matériel, ont réussi à se différencier de celui qui ne fait qu’appuyer sur le bouton. Celui qui ne fait que appuyer sur un bouton en facturant la prestation s’est fait remplacé par les convives qui n’ont fait que appuyer sur un bouton de leur smartphone. Les autres sont toujours là.&lt;/p&gt;

&lt;p&gt;Pour le dev, on est au même niveau. Les IA permettent à beaucoup de personnes de se mettre à coder, sans forcément devoir faire des études ou des formations dans le domaine. Alors si votre vision du dev c’est juste écrire du code, vous êtes dans la même situation que les photographes qui ne faisaient que juste appuyer sur le bouton. Et pour ça il faut comprendre ce qu’on fait, et ne pas déléguer la compréhension à une IA.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;12. IA&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Utilises-tu l'IA dans ton travail ?&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Oui, beaucoup, et même de plus en plus&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Lesquelles utilises tu ? et quelle est actuellement ta préférée ?&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;J’ai pris l’abonnement de base chez les 3 gros: ChatGPT, Gemini et Claude. Et mon préféré varie de semaine en semaine, en fonction des évolutions qu’ils apportent. Mais j’utilise aussi beaucoup des modèles en local, et particulièrement Qwen 3.6 35B que je trouve formidable. Je suis en ce moment en train de faire une série de benchmarks sur le 3.8 27B qui est vraiment bien, mais qui est un peu lent sur mon matériel.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Que lui confies-tu principalement comme tâches ?&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;C’est très varié. De la recherche web synthétisée, à de la programmation, de la synthèse de veille techno, de la demande d’explications techniques… c’est devenu un vrai assistant au quotidien.&lt;/p&gt;

&lt;p&gt;Je lui fait gérer aussi ma todolist en fonction de ce que je lui donne (mails, projets, etc)&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Comment vois-tu l'évolution de l’IA dans 5 ans ?&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Je pense qu’on se dirige vers une utilisation interne de l’IA de plus en plus massive. Les modèles exploitables sur du matériel interne deviennent réellement performants (Qwen 3.8 27B dont je parlais tout à l’heure est vraiment bluffant). Et je pense que ça va devenir un outil interne comme on a un NAS ou un accès Internet.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;13. Quels sont tes 3 outils les plus utilisés dans ton quotidien de dev ? (cela peut être ce que tu veux du moment que c’est relié à ton quotidien de dev : livre, site internet, mug, logiciel, etc.) ?&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Un clavier mécanique. Il commence à se faire vieux, mais j’ai du mal à le changer !&lt;/p&gt;

&lt;p&gt;Mon Homelab. Je fais tellement de manipulations dessus…&lt;/p&gt;

&lt;p&gt;Mon VPN pour accéder à mon homelab et à la maison depuis n’importe où&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Questions bonus&lt;/strong&gt; &lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Ton livre préféré :&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Le guide galactique de Douglas Adams. C’est pas mon préféré, car je déteste faire des classements, mais celui dont le nom est venu en tête en répondant à cette question.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Ton jeu vidéo préféré :&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Tomb Raider qui m’a fait passer des nuits blanches depuis le premier opus ! Je joue peu, mais lorsque le prochain sort, je vais forcément le faire. J’ai longtemps été un joueur de WoW, mais c’était y’a longtemps !  &lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Ton film ou ta série préféré(e) :&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Blade Runner de R. Scott&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Pour suivre Yves :&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;X/Twitter : &lt;a href="https://x.com/yrougy" rel="noopener noreferrer"&gt;https://x.com/yrougy&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;Bluesky : &lt;a href="https://bsky.app/profile/yrougy.bsky.social" rel="noopener noreferrer"&gt;https://bsky.app/profile/yrougy.bsky.social&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;Mastodon : &lt;a href="https://piaille.fr/@yrougy" rel="noopener noreferrer"&gt;https://piaille.fr/@yrougy&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;Twitch : &lt;a href="https://twitch.tv/Yorzian" rel="noopener noreferrer"&gt;https://twitch.tv/Yorzian&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;YouTube : &lt;a href="https://youtube.com/@yrougy" rel="noopener noreferrer"&gt;https://youtube.com/@yrougy&lt;/a&gt;
&lt;/li&gt;
&lt;/ul&gt;




&lt;h2&gt;
  
  
  &lt;strong&gt;LA CAISSE À OUTILS&lt;/strong&gt;
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2F7dxhelshmb3pgz6z4itp.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2F7dxhelshmb3pgz6z4itp.png" width="800" height="537"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;&lt;em&gt;Dans cette rubrique, je vous présente des outils qui peuvent vous aider dans votre quotidien de dev.&lt;/em&gt;&lt;/strong&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;strong&gt;Localdock — Every local project gets a real address&lt;/strong&gt;
&lt;/h3&gt;

&lt;p&gt;Alternative à ngrok pensée pour vous : exposez vos projets locaux via une vraie URL HTTPS sans rien installer côté client. Partage instantané, accès mobile inclus, paiement unique 9 $. Repéré en #1 Product Hunt le 25 août. Idéal pour partager une preview ou brancher un webhook à un client.&lt;/p&gt;

&lt;p&gt;» &lt;a href="https://localdock.dev/?ref=producthunt" rel="noopener noreferrer"&gt;Voir le projet&lt;/a&gt;&lt;/p&gt;




&lt;h3&gt;
  
  
  &lt;strong&gt;Bumply — update your dependencies and undo anything&lt;/strong&gt;
&lt;/h3&gt;

&lt;p&gt;Gestionnaire de mises à jour de dépendances avec rollback en un clic. Vous lancez bumply update, il snapshot et vous permet d'annuler n'importe quelle maj cassante. Très utile si vous en avez marre des npm update qui pètent la CI.&lt;/p&gt;

&lt;p&gt;» &lt;a href="https://www.producthunt.com/products/bumply" rel="noopener noreferrer"&gt;Voir le projet&lt;/a&gt;&lt;/p&gt;




&lt;h3&gt;
  
  
  &lt;strong&gt;Yatko — The download button Github forgot to add&lt;/strong&gt;
&lt;/h3&gt;

&lt;p&gt;Petit utilitaire qui ajoute le bouton manquant à GitHub : télécharger un seul dossier ou fichier d'un repo sans cloner tout le repo. En un clic, zip propre du sous-dossier. Gain de temps énorme quand vous voulez juste récupérer un exemple.&lt;/p&gt;

&lt;p&gt;» &lt;a href="https://www.producthunt.com/products/yatko" rel="noopener noreferrer"&gt;Voir le projet&lt;/a&gt;&lt;/p&gt;




&lt;h3&gt;
  
  
  &lt;strong&gt;pdf-inspector — inspection ultra-rapide de PDFs en Rust&lt;/strong&gt;
&lt;/h3&gt;

&lt;p&gt;Librairie Rust ultra-rapide pour inspecter, classifier et extraire du texte de PDFs, avec détection intelligente PDF scanné vs PDF texte. Pensée pour vos pipelines RAG / OCR. Repérée dans le GitHub trending de la semaine du 10 août — juste avant la fenêtre du 17 août, mais toujours d'actualité pour vos pipelines.&lt;/p&gt;

&lt;p&gt;» &lt;a href="https://github.com/firecrawl/pdf-inspector" rel="noopener noreferrer"&gt;Voir le projet&lt;/a&gt;&lt;/p&gt;




&lt;h3&gt;
  
  
  Archify — diagrammes système interactifs pour agents
&lt;/h3&gt;

&lt;p&gt;Skill Node.js pour Cursor, Claude Code, Codex CLI et OpenCode : &lt;code&gt;npx skills add tt-a1i/archify -g&lt;/code&gt; génère des diagrammes architecture/workflow/sequence/data flow en un HTML self-contained. Trending #1 GitHub le 28/08 (4 500 ★ en un jour).&lt;/p&gt;

&lt;p&gt;» &lt;a href="https://github.com/tt-a1i/archify" rel="noopener noreferrer"&gt;Voir le projet&lt;/a&gt;&lt;/p&gt;




&lt;h3&gt;
  
  
  oMLX — serveur LLM natif pour Mac
&lt;/h3&gt;

&lt;p&gt;Serveur LLM Swift natif (pas Electron) : menu bar, text/vision/OCR/embedding/reranker avec continuous batching et KV cache tiered RAM+SSD qui survit au reboot. APIs compatibles OpenAI/Anthropic pour Claude Code/Cursor. Product Hunt #13 le 30/08.&lt;/p&gt;

&lt;p&gt;» &lt;a href="https://www.producthunt.com/products/olostep" rel="noopener noreferrer"&gt;Voir le projet&lt;/a&gt;&lt;/p&gt;




&lt;h2&gt;
  
  
  &lt;strong&gt;CONFÉRENCES ET ÉVÉNEMENTS À VENIR&lt;/strong&gt;
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fwkjkn0x6hra7b5c5nc81.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fwkjkn0x6hra7b5c5nc81.png" width="800" height="537"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;&lt;em&gt;Dans cette rubrique, je vous présente les conférences et événements à venir dans les prochaines semaines&lt;/em&gt;&lt;/strong&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;strong&gt;API Platform Conference 2026 — 17-18 septembre 2026 — Lille (et en ligne)&lt;/strong&gt;
&lt;/h3&gt;

&lt;p&gt;L'événement phare de l'écosystème API Platform, organisé par &lt;a href="http://Les-Tilleuls.coop" rel="noopener noreferrer"&gt;Les-Tilleuls.coop&lt;/a&gt; à EuraTechnologies : talks en français et en anglais sur l'IA, la maturité de FrankenPHP et les enjeux de résilience. Invités de marque attendus.&lt;/p&gt;

&lt;p&gt;» &lt;a href="https://api-platform.com/conference/" rel="noopener noreferrer"&gt;En savoir plus&lt;/a&gt;&lt;/p&gt;




&lt;h3&gt;
  
  
  &lt;strong&gt;dotJS + dotAI — 18 septembre 2026 — Paris&lt;/strong&gt;
&lt;/h3&gt;

&lt;p&gt;Les célèbres conférences parisiennes dédiées à JavaScript (dotJS) et à l'IA (dotAI), avec des speakers internationaux de haut niveau. Si vous suivez le front, c'est le rendez-vous.&lt;/p&gt;

&lt;p&gt;» &lt;a href="https://www.dotjs.io/" rel="noopener noreferrer"&gt;En savoir plus&lt;/a&gt; · &lt;a href="https://www.dotai.io/" rel="noopener noreferrer"&gt;Voir dotAI&lt;/a&gt;&lt;/p&gt;




&lt;h3&gt;
  
  
  &lt;strong&gt;Volcamp — 1er-2 octobre 2026 — Clermont-Ferrand&lt;/strong&gt;
&lt;/h3&gt;

&lt;p&gt;La conférence tech au cœur des volcans d'Auvergne : deux jours de talks autour de Java, du cloud, de l'IA et du craft, organisés par Geek&amp;amp;Terroir au Hall 32. 8 tracks, 64 speakers attendus.&lt;/p&gt;

&lt;p&gt;» &lt;a href="https://www.volcamp.io/" rel="noopener noreferrer"&gt;En savoir plus&lt;/a&gt;&lt;/p&gt;




&lt;h3&gt;
  
  
  &lt;strong&gt;PyConFR 2026 — 29 octobre au 1er novembre 2026 — Bidart / Biarritz&lt;/strong&gt;
&lt;/h3&gt;

&lt;p&gt;17e édition, organisée par l'AFPy à l'ESTIA Izarbel. 4 jours gratuits et bénévoles : 2 jours de sprints + 2 jours de confs et workshops Python. 25% des talks en anglais. Inscription obligatoire.&lt;/p&gt;

&lt;p&gt;» &lt;a href="https://www.pycon.fr/2026" rel="noopener noreferrer"&gt;En savoir plus&lt;/a&gt;&lt;/p&gt;




&lt;h3&gt;
  
  
  &lt;strong&gt;Capitole du Libre — 14-15 novembre 2026 — Toulouse&lt;/strong&gt;
&lt;/h3&gt;

&lt;p&gt;L'événement du logiciel libre en Occitanie, gratuit sur inscription : 100+ conférences et ateliers, village associatif, install party et initiation au code, à l'ENSEEIHT.&lt;/p&gt;

&lt;p&gt;» &lt;a href="https://capitoledulibre.org/" rel="noopener noreferrer"&gt;En savoir plus&lt;/a&gt;&lt;/p&gt;




&lt;h3&gt;
  
  
  &lt;strong&gt;Open Source Experience — 9-10 décembre 2026 — Paris (Porte de Versailles)&lt;/strong&gt;
&lt;/h3&gt;

&lt;p&gt;Le salon européen de l'open source (6e édition), dédié à la souveraineté numérique, la résilience et l'innovation : 130 conférences et 90 exposants, co-localisé avec DevOps REX. LE rendez-vous de fin d'année si vous travaillez sur du libre.&lt;/p&gt;

&lt;p&gt;» &lt;a href="https://www.opensource-experience.com/" rel="noopener noreferrer"&gt;En savoir plus&lt;/a&gt;&lt;/p&gt;




&lt;h3&gt;
  
  
  &lt;strong&gt;Merci Aurélie&lt;/strong&gt;
&lt;/h3&gt;

&lt;p&gt;&lt;strong&gt;Je tiens à souligner ici le super travail d'Aurélie Vache&lt;/strong&gt; qui tient depuis plus de 7 ans un &lt;a href="https://github.com/scraly/developers-conferences-agenda" rel="noopener noreferrer"&gt;github&lt;/a&gt; qui donne toutes les informations pour les conférences à venir.&lt;/p&gt;

&lt;p&gt;Il y a même un site associé : &lt;a href="http://developers.events" rel="noopener noreferrer"&gt;developers.events&lt;/a&gt;&lt;/p&gt;




&lt;h2&gt;
  
  
  &lt;strong&gt;OFFRES D'EMPLOI&lt;/strong&gt;
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;&lt;em&gt;Des offres d'emploi pour les développeurs, sourcées sur LinkedIn Jobs et Welcome to the Jungle.&lt;/em&gt;&lt;/strong&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  1. Ingénieur Logiciel Node.js (F/H) — Thales — La Ciotat (83) — CDI
&lt;/h3&gt;

&lt;p&gt;Thales (80 000 collaborateurs, cybersécurité) cherche un·e ingénieur Node.js pour ses activités software embarqué/cloud. Offre repérée le 29/08 (avant-hier) sur Welcome to the Jungle. CDI, La Ciotat.&lt;/p&gt;

&lt;p&gt;» &lt;a href="https://www.welcometothejungle.com/fr/companies/thales/jobs/ingenieur-logiciel-node-js_f-h_la-ciotat" rel="noopener noreferrer"&gt;Voir l'offre sur Welcome to the Jungle&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  2. Développeur·se Full Stack — Stage de pré-embauche (6 mois) — Steamulo — Paris / Lyon
&lt;/h3&gt;

&lt;p&gt;Steamulo (Digital &amp;amp; IA Factory, 12 ans, 8,4M€ CA) propose un stage Full Stack de 6 mois à partir du 31 août 2026 — Agile, programmation fonctionnelle, web/mobile/IA sur mesure. 1,6K€/mois, Paris et Lyon. Repéré le 26/08.&lt;/p&gt;

&lt;p&gt;» &lt;a href="https://www.welcometothejungle.com/fr/companies/steamulo/jobs/developpeur-full-stack-stage-de-pre-embauche" rel="noopener noreferrer"&gt;Voir l'offre sur Welcome to the Jungle&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  3. Développeur Java / Salesforce F/H — Bpifrance — Maisons-Alfort (94)
&lt;/h3&gt;

&lt;p&gt;Banque publique (4 000 collaborateurs) cherche développeur Java/Salesforce. Stack : contrôle qualité, intégration technique, Agile. Expérience &amp;gt;5 ans, Bac+5, télétravail fréquent. CDI.&lt;/p&gt;

&lt;p&gt;» &lt;a href="https://www.welcometothejungle.com/fr/companies/bpi-france/jobs/developpeur-java-salesforce_f-h_maisons-alfort" rel="noopener noreferrer"&gt;Voir l'offre sur Welcome to the Jungle&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  4. Développeur·se Fullstack Java Angular — Shape It — Paris
&lt;/h3&gt;

&lt;p&gt;ESN verte et sociale engagée RSE, excellence technique. CDI. Stack Java/Angular.&lt;/p&gt;

&lt;p&gt;» &lt;a href="https://www.welcometothejungle.com/fr/companies/shape-it/jobs/developpeur-se-fullstack-java-angular_paris" rel="noopener noreferrer"&gt;Voir l'offre sur Welcome to the Jungle&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  5. Développeur·se front-end React.JS — fulll — Aix-en-Provence
&lt;/h3&gt;

&lt;p&gt;Éditeur SaaS pour experts-comptables (1 300 cabinets, 200 000 entreprises). L'équipe cherche un·e développeur·se front React.js pour faire évoluer une solution web moderne centrée sur l'expérience utilisateur. CDI, télétravail jusqu'à 3 j/semaine.&lt;/p&gt;

&lt;p&gt;» &lt;a href="https://fr.linkedin.com/jobs/view/d%C3%A9veloppeur%C2%B7se-front-end-react-js-at-fulll-4428016573" rel="noopener noreferrer"&gt;Voir l'offre sur LinkedIn&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  6. Ingénieur Agentique FullStack H/F — Figaro Classifieds — Paris
&lt;/h3&gt;

&lt;p&gt;Média et marketplace pour l'éducation, l'emploi et l'immobilier cherche ingénieur fullstack orienté agents IA. CDI, 50-55K €, télétravail fréquent.&lt;/p&gt;

&lt;p&gt;» &lt;a href="https://www.welcometothejungle.com/fr/companies/figaro-classifieds/jobs/ingenieur-agentique-fullstack-h-f_paris_FC_bawD5XW" rel="noopener noreferrer"&gt;Voir l'offre sur Welcome to the Jungle&lt;/a&gt;&lt;/p&gt;




&lt;h2&gt;
  
  
  &lt;strong&gt;LES DEMANDES DE STAGES, ALTERNANCES ET JOBS&lt;/strong&gt;
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fu5n7bcj1h93kc03ihgeb.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fu5n7bcj1h93kc03ihgeb.png" width="800" height="537"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Pas de nouvelles demandes cette semaine — la rubrique vous est ouverte !&lt;/p&gt;

&lt;p&gt;Si vous cherchez un stage, une alternance ou un emploi en informatique, n'hésitez pas à m'envoyer un message en privé avec un petit pitch (qui vous êtes, ce que vous cherchez, où), et je vous ferai une place ici.&lt;/p&gt;

&lt;h3&gt;
  
  
  Jean-Nicolas Defossé — recherche CDI ou une mission freelance en dev mobile —Liège ou full remote ou hybride
&lt;/h3&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fig2vdxivfp92l5yu7pb6.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fig2vdxivfp92l5yu7pb6.png" width="337" height="337"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Qui je suis, en quelques lignes&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Je fais des applications mobiles depuis treize ans. Et je ne m'en lasse pas. J'ai commencé comme beaucoup, content de voir mon code tourner sur un téléphone, puis j'en suis venu à concevoir et piloter des apps iOS et Android de bout en bout, du premier croquis griffonné jusqu'au jour où elles arrivent sur les stores. Plusieurs fois comme en mode solo, chez The Faktory et Cegid.&lt;br&gt;&lt;br&gt;
Ce que j'aime, c'est quand le logiciel rencontre le réel. Les produits connectés, surtout. Ces applis qui pilotent un objet, lisent des capteurs, continuent de tourner même quand le réseau vous lâche. Il y a là un côté un peu magique que je n'ai jamais perdu.&lt;br&gt;&lt;br&gt;
Je vis en région liégeoise en Belgique. Je travaille en full remote comme en hybride, et j'ai un faible pour les projets qui servent vraiment à quelque chose. Le reste du temps, on me trouve en forêt avec mes enfants ou un bouquin de SF/fantasy à la main.  &lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Ce que je sais faire (et ce qui m'occupe la tête)&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Côté iOS, je suis à la maison. Swift, SwiftUI, un long passé avec UIKit.&lt;br&gt;&lt;br&gt;
Côté Android, Kotlin et Jetpack Compose.&lt;br&gt;&lt;br&gt;
Cette double casquette change ma façon de penser un projet, parce que je vois tout de suite ce qui marchera partout et ce qui coincera d'un côté.&lt;br&gt;&lt;br&gt;
Je tiens beaucoup au code qui vieillit bien. Une architecture propre, du Clean, du MVVM, des tests, des choix qu'on ne regrette pas six mois plus tard.  &lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Un projet dont je garde un bon souvenir&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Si je devais en raconter un, ce serait IOStrip.&lt;/p&gt;

&lt;p&gt;L'idée : rendre une piscine intelligente grâce à un object connecté couplé à une app native couplé avec l’intelligence artificielle. Sur le papier, ça sonne simple. En vrai, beaucoup moins. Il a fallu faire parler l'app en Bluetooth avec un appareil physique, traiter les mesures des capteurs en direct, et garder le tout utilisable même sans connexion. Puis synchroniser dès que le réseau revient. C'est cette dernière partie qui m'a le plus amusé.&lt;/p&gt;

&lt;p&gt;Voilà le genre de casse-tête que j'adore. À la frontière du logiciel et du matériel, là où chaque détail technique doit finir par disparaître. Pour laisser à l'utilisateur quelque chose d'aussi simple que « ma piscine me dit ce dont elle a besoin ».   &lt;/p&gt;

&lt;p&gt;Une idée d'app quelque part dans un coin de votre tête ? C'est souvent comme ça que commencent les meilleurs projets. Racontez-la-moi.&lt;/p&gt;

&lt;p&gt;Vous pouvez contacter Jean-Nicolas via &lt;a href="https://www.linkedin.com/in/jeannicolasdefosse/" rel="noopener noreferrer"&gt;son profil LinkedIn&lt;/a&gt;&lt;/p&gt;


&lt;h2&gt;
  
  
  &lt;strong&gt;LES NEWSLETTERS QUE JE RECOMMANDE&lt;/strong&gt;
&lt;/h2&gt;
&lt;h3&gt;
  
  
  RudeOps #79 — La rentrée
&lt;/h3&gt;

&lt;p&gt;Cyril est de retour et il attaque par là où vous ne l'attendez pas : le 4e jour de vacances, celui où le cerveau vide enfin son cache et où vous triez ce que vous aimez encore faire de ce qui vous pèse. Sa pépite de la semaine vaut le détour même si vous ne touchez jamais au DNS : comment l'équipe Cloudflare a fait fondre son cache géant Big Pineapple de 953 à 420 octets par entrée en Rust, et récupéré 100 To de RAM au passage. Vous y trouverez aussi une belle réflexion sur les sauvetages héroïques qui masquent des failles, un lab interactif pour enfin comprendre les sondes Kubernetes sans copier-coller Stack Overflow, et quelques outils légers pour vos infra. Parfait pour attaquer septembre du bon pied.&lt;/p&gt;

&lt;p&gt;» &lt;a href="https://www.rudeops.com/newsletters/2026-08-31" rel="noopener noreferrer"&gt;Lire le numéro&lt;/a&gt;&lt;/p&gt;


&lt;h3&gt;
  
  
  &lt;strong&gt;Veille #71 de Camille Roux&lt;/strong&gt;
&lt;/h3&gt;

&lt;p&gt;Au sommaire, &lt;strong&gt;l'inférence privée à bas coût sur Mac Apple Silicon vérifiés&lt;/strong&gt; (Darkbloom : requêtes chiffrées, matériel vérifié, vous louez votre Mac dormant) et &lt;strong&gt;Claude Academy&lt;/strong&gt; (cours gratuits d'Anthropic pour maîtriser Claude/API/Code/MCP). &lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Crisp&lt;/strong&gt; alternative open source à BetterDisplay pour écrans externes et &lt;strong&gt;LetsSeal&lt;/strong&gt; sceller n'importe quel fichier en blockchain, vérifiable sans tiers. &lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Strix&lt;/strong&gt; (un agent de pentest agentique qui peut trouver et corriger les failles dans vos app, &lt;strong&gt;Needle&lt;/strong&gt; de l’IA pour les téléphones, wearables et objets connectés.  &lt;/p&gt;

&lt;p&gt;Et bien d’autres sujets encore.&lt;/p&gt;

&lt;p&gt;» &lt;a href="https://www.camilleroux.com/mac-inference-claude-academy-crisp-veille-71/" rel="noopener noreferrer"&gt;Lire la veille&lt;/a&gt;&lt;/p&gt;


&lt;h3&gt;
  
  
  &lt;strong&gt;La veille des Ours n°119&lt;/strong&gt;
&lt;/h3&gt;

&lt;p&gt;Dans ce numéro, &lt;strong&gt;Nvidia rachète Hugging Face pour 12,9 Md$&lt;/strong&gt; (séisme pour l'open source), &lt;strong&gt;Motorola 2027 supportera officiellement GrapheneOS&lt;/strong&gt; (7 ans de mises à jour) et &lt;strong&gt;DuckDB racheté par Amazon&lt;/strong&gt; via Duck Labs. &lt;/p&gt;

&lt;p&gt;L'article ours de la semaine décortique &lt;strong&gt;l'auto-hébergement GitLab : bonne ou mauvaise idée ?&lt;/strong&gt; &lt;/p&gt;

&lt;p&gt;» &lt;a href="https://fr.linkedin.com/pulse/la-veille-des-ours-n119-bearstech-khzje" rel="noopener noreferrer"&gt;Lire la veille&lt;/a&gt;&lt;/p&gt;


&lt;h2&gt;
  
  
  &lt;strong&gt;UN PEU D'HUMOUR !&lt;/strong&gt;
&lt;/h2&gt;
&lt;h3&gt;
  
  
  Amnesia
&lt;/h3&gt;

&lt;p&gt;&lt;strong&gt;Avez vous eu au moins une fois cette personne du marketing ou de la direction projet qui vous a fait le coup et n’a pas assumée ensuite ?&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Oui&lt;/li&gt;
&lt;li&gt;Non&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;a href="https://quoi-de-neuf-les-devs.happyto.dev/p/jusqu-a-2-9-milliards-de-commits-par-mois-keep-calm-and-stay-focused-quoi-de-neuf-les-devs-188#poll-p_agsu" class="crayons-btn crayons-btn--primary" rel="noopener noreferrer"&gt;Vote on the original post&lt;/a&gt;
&lt;/p&gt;

&lt;p&gt;&lt;iframe class="tweet-embed" id="tweet-2092647964984406049-766" src="https://platform.twitter.com/embed/Tweet.html?id=2092647964984406049"&gt;
&lt;/iframe&gt;

  // Detect dark theme
  var iframe = document.getElementById('tweet-2092647964984406049-766');
  if (document.body.className.includes('dark-theme')) {
    iframe.src = "https://platform.twitter.com/embed/Tweet.html?id=2092647964984406049&amp;amp;theme=dark"
  }



&lt;/p&gt;




&lt;h2&gt;
  
  
  &lt;strong&gt;#LaPetiteInfoDuJour - SkyNet&lt;/strong&gt;
&lt;/h2&gt;

&lt;p&gt;Comme chaque semaine, le rendez-vous des petites infos historiques et scientifiques d'Olivier Poncet. Cette semaine, place à une pionnière de la santé publique :&lt;/p&gt;


&lt;blockquote class="bluesky-embed"&gt;
&lt;p&gt;Il y a 29 ans, le 29 août 1997, eu lieu le jour du jugement. SkyNet deviendra conscient et lancera la guerre contre les humains #LaPetiteInfoDuJour&lt;/p&gt;— &lt;a href="https://bsky.app/profile/did:plc:4q4wdaknunskbt47bzsi2qbv?ref_src=embed" rel="noopener noreferrer"&gt;Olivier Poncet 🦝 (@ponceto91.bsky.social)&lt;/a&gt; &lt;a href="https://bsky.app/profile/did:plc:4q4wdaknunskbt47bzsi2qbv/post/3mu7tsx3lks26?ref_src=embed" rel="noopener noreferrer"&gt;2026-08-29T12:09:44.760Z&lt;/a&gt;
&lt;/blockquote&gt;





&lt;h2&gt;
  
  
  &lt;strong&gt;🤝 Comment soutenir cette newsletter ?&lt;/strong&gt;
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;Un immense merci aux personnes qui ont déjà sauté le pas 💜&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Si la newsletter vous apporte de la valeur, vous pouvez me soutenir dès aujourd'hui avec &lt;strong&gt;un abonnement annuel à seulement 9 €/an à vie&lt;/strong&gt;. Vous aurez alors accès à tous les contenus exclusifs (en cours de préparation).&lt;/p&gt;

&lt;p&gt;Offre exceptionnelle et limitée dans le temps → Plus vous attendez, plus le prix augmentera pour les futurs abonnés lors de l'ajout des contenus exclusifs.&lt;/p&gt;

&lt;p&gt;C'est le meilleur moment pour verrouiller ce tarif à vie.&lt;/p&gt;

&lt;p&gt;Merci d'avance 💜&lt;/p&gt;

&lt;p&gt;&lt;a href="https://go.itanea.fr/qdnldsubscribe" rel="noopener noreferrer"&gt;Je vous soutiens pour 9€/an&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Des alternatives pour me soutenir ?&lt;/strong&gt; Bien sûr !&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Votre prochaine commande Amazon avec &lt;strong&gt;&lt;a href="https://go.itanea.fr/amznl" rel="noopener noreferrer"&gt;mon lien d'affiliation&lt;/a&gt;&lt;/strong&gt;
&lt;/li&gt;
&lt;li&gt;Abonnez-vous à OpenCode Go pour 5€ et béneficiez de 5€ supplémentaires grâce à &lt;a href="https://go.itanea.fr/opencode" rel="noopener noreferrer"&gt;mon lien de parrainage&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;J'utilise Starlink à la maison et j'en suis plus que satisfait. Si cela vous tente &lt;a href="https://starlink.com/residential?referral=RC-5072169-18924-69&amp;amp;app_source=share" rel="noopener noreferrer"&gt;profitons chacun d'un mois gratuit&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;a href="http://fr.tuto.com/?aff=4Cx6BPp" rel="noopener noreferrer"&gt;Découvrez des milliers de tutos gratuits&lt;/a&gt; dans de nombreux domaine avec l'équipe géniale de Tuto&lt;/li&gt;
&lt;/ul&gt;




&lt;h2&gt;
  
  
  &lt;strong&gt;LE MOT DE LA FIN&lt;/strong&gt;
&lt;/h2&gt;

&lt;p&gt;Et voilà, c'est tout pour ce numéro 188 !&lt;/p&gt;

&lt;p&gt;Merci à Yves pour cette super interview, merci à vous pour votre fidélité, et rendez-vous lundi prochain pour un nouveau numéro.&lt;/p&gt;

&lt;p&gt;En attendant, prenez soin de vous !&lt;/p&gt;

&lt;p&gt;— Fred&lt;/p&gt;

</description>
    </item>
    <item>
      <title>Quoi de neuf les devs? #187 - Meta renoue avec les poids ouverts : l'IA s'installe chez vous, le fisc se fait pirater</title>
      <dc:creator>HappyToDev</dc:creator>
      <pubDate>Mon, 17 Aug 2026 16:01:45 +0000</pubDate>
      <link>https://dev.to/happytodev/quoi-de-neuf-les-devs-187-meta-renoue-avec-les-poids-ouverts-lia-sinstalle-chez-vous-le-j24</link>
      <guid>https://dev.to/happytodev/quoi-de-neuf-les-devs-187-meta-renoue-avec-les-poids-ouverts-lia-sinstalle-chez-vous-le-j24</guid>
      <description>&lt;p&gt;&lt;em&gt;Votre dose d'infos tech infusée par un dev pour les devs — Numéro du 17 août 2026&lt;/em&gt;&lt;/p&gt;




&lt;h2&gt;
  
  
  EDITO
&lt;/h2&gt;

&lt;h4&gt;
  
  
  &lt;strong&gt;Hello chère développeuse, cher développeur, sysadmin, ops, sre, DevRel, sécu 👋&lt;/strong&gt;
&lt;/h4&gt;

&lt;p&gt;C'était le retour de bâton le plus spectaculaire de la semaine passée : &lt;strong&gt;Meta renoue officiellement avec les poids ouverts&lt;/strong&gt;. Après le flop retentissant de Llama 4 et son virage vers un modèle propriétaire (Muse Spark, fermé depuis avril), le géant a publié le 10 août &lt;strong&gt;Muse Glimmer&lt;/strong&gt;, un modèle de &lt;strong&gt;30 milliards de paramètres distribué sous licence Apache 2.0&lt;/strong&gt;, disponible immédiatement sur Hugging Face. Signe des temps : c'était le sujet le plus débattu de lundi dernièr sur Hacker News, avec plus de 1 200 points de discussion, voire 1800 avec le post sur Mark Zuckerberg.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2F0ib1a6awy7wkm90w0iwy.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2F0ib1a6awy7wkm90w0iwy.png" alt="Capture de Hacker News du 10 août 2026." width="676" height="141"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;La promesse est alléchante : Glimmer est optimisé pour l'&lt;strong&gt;agentique en local&lt;/strong&gt; — des agents qui appellent des outils, codent, évaluent du code, exécutent des tâches longues — sans dépendre d'un cloud. Concrètement, la version quantifiée en 4 bits descend sous les 20 Go et tient dans une mémoire de &lt;strong&gt;24 à 32 Go&lt;/strong&gt; : Meta publie des benchs sur MacBook Pro M4/M5 Max et RTX 5090, avec un décodage spéculatif (draft model DFlash) qui accélère la génération de &lt;strong&gt;3,1x sur RTX 5090&lt;/strong&gt; (1,8x sur M5 Max). En pleine précision, comptez plutôt plus de 55 Go. Sur les benchmarks agentiques, Glimmer devance ses rivaux de catégorie (MCP Atlas : 75,5 contre 54,2 pour Gemma4 et 62,5 pour Qwen3.6). &lt;/p&gt;

&lt;p&gt;L'annonce s'inscrit dans une offensive commerciale plus large : le 6 août, Meta a ouvert en bêta son agent de programmation &lt;strong&gt;Muse Code&lt;/strong&gt; (installable en CLI sur macOS et Linux) et dévoilé &lt;strong&gt;Muse Spark 1.2&lt;/strong&gt; avec des prix cassés — &lt;strong&gt;1,25 $/million de tokens en entrée et 4,25 $ en sortie&lt;/strong&gt;, contre 2 $/10 $ pour Claude Sonnet 5 et 2,50 $/15 $ pour GPT-5.6 Terra. Un mode « contributeur » descend même à 0,10 $/0,20 $ et une option « zéro rétention de données » est proposée aux entreprises. Bref, Meta veut contrer OpenAI et Anthropic, mais surtout les modèles chinois au rapport qualité-prix agressif.&lt;/p&gt;

&lt;p&gt;Côté discours, Mark Zuckerberg a publié au même moment un long manifeste (« The Future Is For Everyone ») techno-libertarien : défense de la « superintelligence personnelle » contre une IA concentrée entre quelques mains, soutien appuyé à l'open source, critiques des freins réglementaires américains, et un fonds d'&lt;strong&gt;1 milliard de dollars&lt;/strong&gt; pour les communautés affectées par l'installation de datacenters. La presse n'a pas manqué de relever le contraste entre ce plaidoyer et la réalité de l'IA générative de Meta sur ses réseaux sociaux.&lt;/p&gt;

&lt;p&gt;Une semaine riche, qui pose une vraie question : et si l'IA agentique de qualité devenait enfin un logiciel que l'on peut installer chez soi ? Vous en pensez quoi, vous — vous vous y êtes mis à l'IA locale, ou vous restez sur le cloud ? Dites-le-moi en commentaire !&lt;/p&gt;

&lt;p&gt;Et pendant ce temps, le week-end du 10 août a été marqué par un sujet bien moins enthousiasmant : le &lt;strong&gt;piratage de la DGFiP&lt;/strong&gt;. Le fisc a confirmé avoir été la cible de deux cyberattaques, revendiquées par un pirate se présentant sous le pseudonyme « ZeroBytes », qui touchent au total &lt;strong&gt;678 000 usagers&lt;/strong&gt; — une première attaque via un VPN utilisé par les agents, une seconde sur le Serveur professionnel des données cadastrales (SPDC) en contournant la double authentification. L'Office anticybercriminalité a été saisi. Une piqûre de rappel : la MFA n'est une protection que si elle est correctement déployée, et le sujet a aussi relancé le débat sur les « white hats » de pacotille qui surfent sur l'événement. J'en parle plus en rubrique Le coin des lecteurs.&lt;/p&gt;

&lt;p&gt;— Fred&lt;/p&gt;

&lt;p&gt;Sources : &lt;a href="https://research.meta.ai/blog/introducing-muse-glimmer-open-agentic-model" rel="noopener noreferrer"&gt;Annonce officielle de Muse Glimmer (Meta AI Research)&lt;/a&gt; · &lt;a href="https://next.ink/250997/meta-revient-aux-poids-ouverts-avec-muse-glimmer-un-modele-ia-local/" rel="noopener noreferrer"&gt;Meta revient aux poids ouverts avec Muse Glimmer, un modèle IA local (Next.ink)&lt;/a&gt; · &lt;a href="https://next.ink/251856/piratage-du-fisc-678-000-usagers-touches-enquete-de-loffice-anticybercriminalite/" rel="noopener noreferrer"&gt;Piratage de la DGFiP : 678 000 usagers touchés (Next.ink)&lt;/a&gt;&lt;/p&gt;




&lt;h2&gt;
  
  
  L'invité de la semaine
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fgvum0aacknyer0pq2mf2.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fgvum0aacknyer0pq2mf2.png" alt="Photo de portrait d'Aymane" width="400" height="400"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Cette semaine, je reçois &lt;strong&gt;Aymane Atigui&lt;/strong&gt;, développeur Full Stack &amp;amp; DevOps de 24 ans, basé à Casablanca. Il conçoit des applications web et mobiles de bout en bout — du frontend (React, React Native, Next.js) jusqu'à l'infrastructure (AWS, Linux, Docker, CI/CD) — et travaille à distance avec des clients en France et à l'international, après deux ans passés au sein d'une société foodtech lyonnaise. Il est aussi le créateur de &lt;strong&gt;Piece UI&lt;/strong&gt;, une bibliothèque de composants React open source publiée sur npm, et il défend une conviction : l'IA ne remplacera pas les développeurs, elle transformera le métier. À côté du code, il est photographe et vidéaste — une sensibilité visuelle qu'il met au service de l'UX.&lt;/p&gt;

&lt;p&gt;Voici ses conseils si vous débutez dans le métier :&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;Construisez, ne vous contentez pas d'apprendre en boucle. Un projet réel, terminé et en ligne, vaut dix tutoriels. Rendez votre travail visible : GitHub, un portfolio, de l'open source. Et ne négligez pas la communication : savoir expliquer ce que vous faites compte presque autant que de savoir le faire.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Merci Aymane pour cette super interview !&lt;/p&gt;




&lt;h2&gt;
  
  
  &lt;strong&gt;Au menu cette semaine&lt;/strong&gt;
&lt;/h2&gt;

&lt;p&gt;Voici quelques uns des sujets que nous aborderons dans ce numéro :&lt;/p&gt;

&lt;p&gt;✅ &lt;strong&gt;Muse Glimmer : Meta renoue avec les poids ouverts&lt;/strong&gt; &lt;/p&gt;

&lt;p&gt;✅ &lt;strong&gt;Le piratage de la DGFiP : 678 000 usagers touchés&lt;/strong&gt; &lt;/p&gt;

&lt;p&gt;✅ &lt;strong&gt;Django 6.1&lt;/strong&gt; &lt;/p&gt;

&lt;p&gt;✅ &lt;strong&gt;Rust adopte une politique d'utilisation des LLM&lt;/strong&gt; &lt;/p&gt;

&lt;p&gt;✅ &lt;strong&gt;Le ver npm ChainDrop&lt;/strong&gt; &lt;/p&gt;




&lt;h2&gt;
  
  
  &lt;strong&gt;Auto promo !&lt;/strong&gt; 🚀
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;Un grand merci aux personnes qui me soutiennent déjà !&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Si cette newsletter vous apporte de la valeur, vous pouvez l'aider dès aujourd'hui avec &lt;strong&gt;un abonnement à seulement 9 €/an.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Ce tarif est verrouillé à vie pour ceux qui s'abonnent maintenant, même si le prix augmente plus tard.&lt;/p&gt;

&lt;p&gt;Soutenez “Quoi de neuf les devs?” et faite une bonne affaire au passage 👇 !&lt;/p&gt;

&lt;p&gt;&lt;a href="https://go.itanea.fr/qdnldsubscribe" rel="noopener noreferrer"&gt;J’apporte mon soutien pour 9€/an&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Merci d'avance 💜&lt;/p&gt;




&lt;h2&gt;
  
  
  Mes sponsors permanents
&lt;/h2&gt;

&lt;p&gt;Un grand merci à mes sponsors qui soutiennent cette newsletter 💜&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2F3zamli1mgzvvb4h1dtcw.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2F3zamli1mgzvvb4h1dtcw.png" width="800" height="569"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Clever Cloud&lt;/strong&gt; — Entreprise française fondée en 2010, spécialisée dans le Platform as a Service (PaaS). Elle conçoit et opère des solutions d'automatisation pour l'hébergement, le déploiement et la gestion continue d'applications, de sites web et de bases de données.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://go.itanea.fr/yearlyspclevercloud" rel="noopener noreferrer"&gt;Découvrir Clever Cloud&lt;/a&gt;&lt;/p&gt;




&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fntagt25p06xgr4dhg7t8.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fntagt25p06xgr4dhg7t8.png" width="800" height="450"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;StackX&lt;/strong&gt; — Le bouclier technologique anti-stress 24/7 pour vos projets LAMP : quoiqu'il arrive, vous ne serez plus jamais seul.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Frais d'installation offerts avec le code HappyToDev (valeur 145€)&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://go.itanea.fr/scalarx" rel="noopener noreferrer"&gt;Découvrir StackX&lt;/a&gt;&lt;/p&gt;




&lt;p&gt;👉 Comme &lt;strong&gt;Clever Cloud et StackX&lt;/strong&gt;, affichez ici votre pub. Visibilité maximale pour votre entreprise garantie ! 🚀&lt;/p&gt;

&lt;p&gt;&lt;a href="https://go.itanea.fr/sponsorpermanent/?utm_source=nl" rel="noopener noreferrer"&gt;Se renseigner pour devenir sponsor&lt;/a&gt;&lt;/p&gt;







&lt;h2&gt;
  
  
  LE COIN DES LECTEURS
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fhlg0c75z5ebn8zrkl7qq.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fhlg0c75z5ebn8zrkl7qq.png" width="800" height="537"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;&lt;em&gt;Dans cette rubrique, des articles intéressants bien sûr dans notre domaine… ou presque !&lt;/em&gt;&lt;/strong&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  Rust adopte une politique d'utilisation des LLM
&lt;/h3&gt;

&lt;p&gt;Cinq équipes du projet &lt;code&gt;rust-lang/rust&lt;/code&gt; adoptent une politique encadrant l'usage des LLM dans le dépôt : les PR générées par IA doivent être signalées, les relecteurs peuvent les clore sans justification, et le principe général est « utiliser les LLM pour analyser, pas pour créer ». Une formalisation publique de règles de modération jusqu'ici informelles, face à l'afflux de PR générées par machines.&lt;/p&gt;

&lt;p&gt;» &lt;a href="https://blog.rust-lang.org/inside-rust/2026/08/05/rust-langrust-is-adopting-an-llm-policy/" rel="noopener noreferrer"&gt;Lire l'article&lt;/a&gt;&lt;/p&gt;




&lt;h3&gt;
  
  
  Bloctel aurait été piraté : près de 3 millions de numéros concernés
&lt;/h3&gt;

&lt;p&gt;Le site FrenchBreaches a repéré un pirate revendiquant l'exfiltration de la liste officielle anti-démarchage, via une absence de 2FA sur un compte entreprise. Ironie du sort : le service a fermé officiellement le 11 août. À confirmer, mais la base a de la valeur pour les arnaqueurs par téléphone.&lt;/p&gt;

&lt;p&gt;» &lt;a href="https://www.frandroid.com/culture-tech/securite-applications/3205839_bloctel-aurait-ete-pirate-pres-de-3-millions-de-numeros-de-telephone-concernes" rel="noopener noreferrer"&gt;Lire l'article&lt;/a&gt;&lt;/p&gt;




&lt;h3&gt;
  
  
  L'IA détecte les failles plus vite que les humains ne peuvent les corriger
&lt;/h3&gt;

&lt;p&gt;Une analyse de ZDNet sur le décalage croissant entre détection (facilitée par l'IA) et correction : 570 correctifs au dernier Patch Tuesday de Microsoft, 432 CVE en deux jours sur le noyau Linux. L'article détaille pourquoi les correctifs générés par IA introduisent plus de vulnérabilités qu'ils n'en corrigent, et donne 3 conseils de triage pour les RSSI.&lt;/p&gt;

&lt;p&gt;» &lt;a href="https://www.zdnet.fr/actualites/lia-detecte-les-failles-plus-vite-que-les-humains-ne-peuvent-les-corriger-comment-les-rssi-doivent-sadapter-499316.htm" rel="noopener noreferrer"&gt;Lire l'article&lt;/a&gt;&lt;/p&gt;




&lt;h3&gt;
  
  
  Plus de 1 300 paquets contaminés dans NPM : Shai-Hulud « de retour » avec ChainDrop
&lt;/h3&gt;

&lt;p&gt;Un nouveau malware auto-répliquant, ChainDrop, a contaminé 868 paquets répartis sur 1 381 versions, dont des projets de cache très populaires (keyv, ~600 M de téléchargements/mois). Les attaquants ont poussé des fichiers malveillants directement sur les branches principales des dépôts, en signant via GitHub Actions, contournant ainsi les contrôles de provenance npm.&lt;/p&gt;

&lt;p&gt;» &lt;a href="https://next.ink/250346/plus-de-1-300-paquets-contamines-dans-npm-shai-hulud-de-retour-avec-chaindrop/" rel="noopener noreferrer"&gt;Lire l'article&lt;/a&gt;&lt;/p&gt;




&lt;h3&gt;
  
  
  54 des 55 failles de sécurité déposées par ce compte GitHub n'existaient pas
&lt;/h3&gt;

&lt;p&gt;JFrog a passé au crible 55 CVE déposées par un seul compte GitHub : 54 étaient entièrement fabriquées, dont six contre SQLite notées jusqu'à 9,8/10. Elles ont traversé NVD et CISA avant que MITRE ne rejette le lot le 1er août, illustrant l'engorgement de la chaîne de déclaration par des faux rapports (générés pour beaucoup par IA).&lt;/p&gt;

&lt;p&gt;» &lt;a href="https://korben.info/54-des-55-failles-de-securite-deposees-par-ce-compte-github-nexistaient-pas.html" rel="noopener noreferrer"&gt;Lire l'article&lt;/a&gt;&lt;/p&gt;




&lt;h3&gt;
  
  
  iCloud+ : le relais privé d'Apple laisse fuiter l'adresse IP des internautes
&lt;/h3&gt;

&lt;p&gt;Les chercheurs Tommy Mysk et Talal Haj Bakry montrent que certaines requêtes WebKit (passkeys, WebTransport/QUIC, DNS prefetching) échappent au proxy de Relais privé et exposent l'IP réelle. Le souci touche aussi Onion Browser sur iOS ; Apple a reproduit le problème et envisage un correctif pour l'automne 2026.&lt;/p&gt;

&lt;p&gt;» &lt;a href="https://next.ink/250373/icloud-le-relais-prive-dapple-laisse-fuiter-ladresse-ip-des-internautes/" rel="noopener noreferrer"&gt;Lire l'article&lt;/a&gt;&lt;/p&gt;




&lt;h3&gt;
  
  
  Microsoft Edge enterre à son tour Manifest V2
&lt;/h3&gt;

&lt;p&gt;Edge abandonne le format d'extensions Manifest V2, qui permettait aux bloqueurs de publicité de fonctionner pleinement. Une mauvaise nouvelle pour uBlock Origin et les extensions de protection, alors que Chrome avait déjà acté cette transition — avec des impacts concrets pour les navigateurs basés sur Chromium.&lt;/p&gt;

&lt;p&gt;» &lt;a href="https://next.ink/250894/microsoft-edge-enterre-a-son-tour-manifest-v2/" rel="noopener noreferrer"&gt;Lire l'article&lt;/a&gt;&lt;/p&gt;




&lt;h3&gt;
  
  
  J'ai arrêté de lancer plusieurs agents
&lt;/h3&gt;

&lt;p&gt;Fred raconte, avec une lucidité désarmante, pourquoi il a cessé de lancer plusieurs agents IA en parallèle. Le constat : quatre agents qui remontent tous leurs questions vers un seul humain transforment le temps gagné en confettis de trois minutes, et la contrainte saute de l'écriture (résolue par l'IA) vers la lecture et l'arbitrage. Une belle application de la théorie des contraintes à notre métier, avec en filigrane la loi de Little et la loi de Brooks.&lt;/p&gt;

&lt;p&gt;» &lt;a href="https://f2r.github.io/fr/arrete-plusieurs-agents.html" rel="noopener noreferrer"&gt;Lire l'article&lt;/a&gt;&lt;/p&gt;




&lt;h3&gt;
  
  
  Déléguer le clavier, pas la réflexion
&lt;/h3&gt;

&lt;p&gt;Romain Lanz, de la Fédération Internationale de Volleyball, détaille son workflow pour n'avoir « pratiquement pas écrit une ligne de code à la main depuis six mois » — sans pour autant faire du vibe coding. Au programme : vocabulaire du domaine (model, context, harness, tools, agents, sous-agents, skills, MCP), grilling pour challenger la solution avant d'écrire, PRD, issues et handoff. Une méthode complète pour garder la main sur la réflexion tout en déléguant la frappe.&lt;/p&gt;

&lt;p&gt;» &lt;a href="https://romainlanz.com/articles/deleguer-le-clavier-pas-la-reflexion" rel="noopener noreferrer"&gt;Lire l'article&lt;/a&gt;&lt;/p&gt;




&lt;h3&gt;
  
  
  Le piratage du fisc : 678 000 usagers touchés
&lt;/h3&gt;

&lt;p&gt;La DGFiP a confirmé avoir été la cible de deux cyberattaques revendiquées par un pirate se présentant sous le pseudonyme « ZeroBytes ». Au total, &lt;strong&gt;678 000 usagers&lt;/strong&gt; sont concernés : une première attaque fin juin via l'accès à un VPN utilisé par les agents, une seconde fin juillet sur le Serveur professionnel des données cadastrales (SPDC) en contournant la double authentification. L'Office anticybercriminalité a été saisi. Une attaque d'ampleur inédite contre l'administration fiscale, qui interroge le rôle de la MFA et des VPN dans les SI publics.&lt;/p&gt;

&lt;p&gt;» &lt;a href="https://next.ink/251856/piratage-du-fisc-678-000-usagers-touches-enquete-de-loffice-anticybercriminalite/" rel="noopener noreferrer"&gt;Lire l'article&lt;/a&gt;&lt;/p&gt;




&lt;h3&gt;
  
  
  Le Conseil constitutionnel censure le contrôle d'âge des internautes
&lt;/h3&gt;

&lt;p&gt;Le Conseil constitutionnel a censuré le dispositif de contrôle de l'âge des internautes, mineurs ou non, jugé contraire aux exigences constitutionnelles. Une décision qui enterre (provisoirement ?) la vérification généralisée de l'âge sur les réseaux sociaux et les sites pour adultes — et qui a beaucoup fait réagir la communauté tech.&lt;/p&gt;

&lt;p&gt;» &lt;a href="https://next.ink/251792/le-conseil-constitutionnel-censure-le-controle-de-lage-des-internautes-mineurs-ou-pas/" rel="noopener noreferrer"&gt;Lire l'article&lt;/a&gt;&lt;/p&gt;




&lt;h3&gt;
  
  
  ShieldBreak : un exploit qui transforme un compte limité en SYSTEM sur Windows
&lt;/h3&gt;

&lt;p&gt;ShieldBreak est un nouvel exploit ciblant l'antivirus livré avec Windows (Microsoft Defender). Il permet à un compte utilisateur limité de passer SYSTEM sur un Windows entièrement à jour, notamment via Windows Defender. Un cas d'école de chaînage de privilèges dans un composant que l'on croit protéger la machine.&lt;/p&gt;

&lt;p&gt;» &lt;a href="https://korben.info/shieldbreak-zero-day-defender-microsoft.html" rel="noopener noreferrer"&gt;Lire l'article&lt;/a&gt;&lt;/p&gt;




&lt;h3&gt;
  
  
  X open source son algorithme de classement (et laisse voir le « shadowban »)
&lt;/h3&gt;

&lt;p&gt;X a ouvert le code de son algorithme « For You » et pilote une page « Under the Hood » qui permet de télécharger les statistiques agrégées sur les labels affectant la visibilité de vos posts. Les utilisateurs peuvent désormais vérifier si leurs messages ont été « enterrés » par l'algorithme — un pas de transparence inédit pour la plateforme.&lt;/p&gt;

&lt;p&gt;» &lt;a href="https://techcrunch.com/2026/08/13/x-open-sources-its-ranking-algorithm-letting-users-see-if-theyve-been-shadowbanned/" rel="noopener noreferrer"&gt;Lire l'article&lt;/a&gt;&lt;/p&gt;




&lt;h2&gt;
  
  
  MINI-SPONSORS
&lt;/h2&gt;

&lt;p&gt;Un grand merci à mes mini-sponsors pour leur soutien à cette newsletter :&lt;br&gt;&lt;br&gt;
&lt;strong&gt;LBKE d'Éric Burel&lt;/strong&gt;, &lt;strong&gt;Lavicon de DKP&lt;/strong&gt;, &lt;strong&gt;Plumber&lt;/strong&gt; et &lt;strong&gt;Writizzy&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2F6w7togkk9rcxtuwgrifv.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2F6w7togkk9rcxtuwgrifv.png" width="799" height="409"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Découvrez &lt;a href="https://go.itanea.fr/minisponsorlbke" rel="noopener noreferrer"&gt;la formation LangChain éligible CPF de LBKE&lt;/a&gt;&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;&lt;a href="https://go.itanea.fr/minisponsorlavicon" rel="noopener noreferrer"&gt;Lavicon&lt;/a&gt; : Générez vos icônes stylées et uniques. Coupon -20%&lt;/strong&gt; : &lt;strong&gt;HAPPY2DEV&lt;/strong&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;&lt;a href="https://go.itanea.fr/minisponsorplumber" rel="noopener noreferrer"&gt;Plumber-CLI&lt;/a&gt;&lt;/strong&gt; : Vérifiez si vos pipelines CI/CD GitLab sont percés (open source)&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;&lt;a href="https://go.itanea.fr/minisponsorwritizzy" rel="noopener noreferrer"&gt;Writizzy&lt;/a&gt;&lt;/strong&gt; : Lancez votre blog et votre newsletter en 5 minutes. -20% pour 3 mois &lt;strong&gt;HAPPY20&lt;/strong&gt;
&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Vous aussi devenez mini-sponsor et mettez en avant votre entreprise pendant 52 numéros (~1an) pour 397€ =&amp;gt; &lt;a href="mailto:happytodev@ik.me?subject=mini-sponsor"&gt;contactez moi&lt;/a&gt;&lt;/strong&gt;&lt;/li&gt;
&lt;/ul&gt;


&lt;h2&gt;
  
  
  LE TOUR DES RÉSEAUX
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fttmdekhz3dl57cxibpmt.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fttmdekhz3dl57cxibpmt.png" width="800" height="533"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;&lt;em&gt;Dans cette rubrique, je vous présente les infos que j'ai trouvé intéressantes au cours de la semaine sur les différents réseaux sociaux.&lt;/em&gt;&lt;/strong&gt;&lt;/p&gt;
&lt;h3&gt;
  
  
  Alexandre Daubois — Un agent IA a porté Duke Nukem 3D sur iPhone
&lt;/h3&gt;

&lt;p&gt;&lt;iframe class="tweet-embed" id="tweet-2087071763037356052-340" src="https://platform.twitter.com/embed/Tweet.html?id=2087071763037356052"&gt;
&lt;/iframe&gt;

  // Detect dark theme
  var iframe = document.getElementById('tweet-2087071763037356052-340');
  if (document.body.className.includes('dark-theme')) {
    iframe.src = "https://platform.twitter.com/embed/Tweet.html?id=2087071763037356052&amp;amp;theme=dark"
  }



&lt;/p&gt;

&lt;p&gt;&amp;nbsp;&lt;/p&gt;

&lt;p&gt;&amp;nbsp;&lt;/p&gt;

&lt;p&gt;&amp;nbsp;&lt;/p&gt;

&lt;p&gt;La perle de la semaine : Alexandre Daubois (CTO de Les-Tilleuls.coop, core team Symfony et FrankenPHP) a fait porter Duke Nukem 3D sur iPhone par un agent IA. Le plus instructif n'est pas que ça marche, c'est que les tests écrits par l'agent validaient deux bugs « corrects » : la règle du jeu, c'est que la suite de tests hérite des angles morts de celui qui l'a écrite. Une belle démonstration de ce qu'il faut surveiller quand on revoit du code d'agent.&lt;/p&gt;




&lt;h3&gt;
  
  
  Anthropic va tatouer un watermark invisible sur les textes de Claude
&lt;/h3&gt;

&lt;p&gt;&lt;iframe class="tweet-embed" id="tweet-2086898041882030353-586" src="https://platform.twitter.com/embed/Tweet.html?id=2086898041882030353"&gt;
&lt;/iframe&gt;

  // Detect dark theme
  var iframe = document.getElementById('tweet-2086898041882030353-586');
  if (document.body.className.includes('dark-theme')) {
    iframe.src = "https://platform.twitter.com/embed/Tweet.html?id=2086898041882030353&amp;amp;theme=dark"
  }



&lt;/p&gt;

&lt;p&gt;Anthropic annonce que les nouveaux modèles Claude embarqueront des filigranes invisibles dans tout texte généré, et partout où Claude est proposé. Le watermark fait partie du texte lui-même (pas du métadonnées) et survit au copier-coller et à une partie des éditions. Il s'applique aux modèles lancés à partir du 2 août 2026, dans le cadre du code de l'EU AI Act signé par Anthropic — déploiement mondial. Google, OpenAI, Meta, Microsoft et Mistral ont tous signé le même code de pratique.&lt;/p&gt;




&lt;h3&gt;
  
  
  Quelle commande quand un serveur ralentit ?
&lt;/h3&gt;


&lt;blockquote class="bluesky-embed"&gt;
&lt;p&gt;Quelle est la première commande que vous saisissez lorsqu’un serveur ralentit ?&lt;/p&gt;— &lt;a href="https://bsky.app/profile/did:plc:oklkinuievllgvhrv2nia4gu?ref_src=embed" rel="noopener noreferrer"&gt;Bearstech (@bearstech.com)&lt;/a&gt; &lt;a href="https://bsky.app/profile/did:plc:oklkinuievllgvhrv2nia4gu/post/3msq452j2ay2h?ref_src=embed" rel="noopener noreferrer"&gt;2026-08-10T12:30:46.000Z&lt;/a&gt;
&lt;/blockquote&gt;


&lt;p&gt;&amp;nbsp;&lt;/p&gt;

&lt;p&gt;&amp;nbsp;&lt;/p&gt;

&lt;p&gt;&amp;nbsp;&lt;/p&gt;

&lt;p&gt;Bearstech lance le sondage qui va déclencher les débats de couloir (et de salle de crise) : quelle commande tapez-vous en premier quand un serveur ralentit ? Les réponses dans les commentaires valent leur pesant de doc technique, entre habitués du &lt;code&gt;top&lt;/code&gt;, du &lt;code&gt;htop&lt;/code&gt; et les amateurs de la toute première bouffée d'&lt;code&gt;uptime&lt;/code&gt;.&lt;/p&gt;




&lt;h3&gt;
  
  
  Un schéma de nommage unifié pour les Threat Actors
&lt;/h3&gt;


&lt;blockquote class="bluesky-embed"&gt;
&lt;p&gt;Google Threat Intelligence Group (GTIG) announces a new unified Naming Schema for tracking Threat Actors. This new Naming Taxonomy represents an Effort to standardize Tracking across Platforms and public Reporting. #Infosec #ThreatIntelligence cloud.google.com/blog/topics/...&lt;/p&gt;— &lt;a href="https://bsky.app/profile/did:plc:5lj4n3nkq7by6vmdxltlt2fy?ref_src=embed" rel="noopener noreferrer"&gt;Laurent Cheylus (@lcheylus.bsky.social)&lt;/a&gt; &lt;a href="https://bsky.app/profile/did:plc:5lj4n3nkq7by6vmdxltlt2fy/post/3mss2firnjg2y?ref_src=embed" rel="noopener noreferrer"&gt;2026-08-11T07:05:01.217Z&lt;/a&gt;
&lt;/blockquote&gt;


&lt;p&gt;&amp;nbsp;&lt;/p&gt;

&lt;p&gt;&amp;nbsp;&lt;/p&gt;

&lt;p&gt;&amp;nbsp;&lt;/p&gt;

&lt;p&gt;Google Threat Intelligence Group (GTIG) annonce un schéma unifié de nommage des acteurs de la menace, pour standardiser le suivi entre plateformes et publications publiques. Un pas bienvenu pour toutes les équipes qui s'arrachent les cheveux entre les dizaines d'aliases d'un même groupe.&lt;/p&gt;




&lt;h3&gt;
  
  
  Le futur des bibliothèques à l'heure des scanners d'IA
&lt;/h3&gt;


&lt;blockquote class="bluesky-embed"&gt;
&lt;p&gt;Le monde d'avant les scanners d'IA pour « nourrir » les LLMs n'était pas un monde où les livres trouvaient refuge - Un excellent texte d'Olivier Heckendorn qui pose la question sur le futur des bibliothèques (passez outre le titre polémique) #IA #Books olivierh.bearblog.dev/la-benne-ne-...&lt;/p&gt;— &lt;a href="https://bsky.app/profile/did:plc:5lj4n3nkq7by6vmdxltlt2fy?ref_src=embed" rel="noopener noreferrer"&gt;Laurent Cheylus (@lcheylus.bsky.social)&lt;/a&gt; &lt;a href="https://bsky.app/profile/did:plc:5lj4n3nkq7by6vmdxltlt2fy/post/3mspzlfk4rd2z?ref_src=embed" rel="noopener noreferrer"&gt;2026-08-10T11:45:05.842Z&lt;/a&gt;
&lt;/blockquote&gt;


&lt;p&gt;&amp;nbsp;&lt;/p&gt;

&lt;p&gt;&amp;nbsp;&lt;/p&gt;

&lt;p&gt;Laurent Cheylus relaie un excellent texte d'Olivier Heckendorn qui interroge le futur des bibliothèques à l'heure où les scanners de livres pour « nourrir » les LLM se multiplient. Un sujet bien plus nuancé que le titre polémique ne le laisse entendre.&lt;/p&gt;




&lt;h3&gt;
  
  
  Limplementeur — Le Reflection Pattern pour les agents IA
&lt;/h3&gt;

&lt;p&gt;&lt;iframe class="tweet-embed" id="tweet-2084962721506656299-439" src="https://platform.twitter.com/embed/Tweet.html?id=2084962721506656299"&gt;
&lt;/iframe&gt;

  // Detect dark theme
  var iframe = document.getElementById('tweet-2084962721506656299-439');
  if (document.body.className.includes('dark-theme')) {
    iframe.src = "https://platform.twitter.com/embed/Tweet.html?id=2084962721506656299&amp;amp;theme=dark"
  }



&lt;/p&gt;

&lt;p&gt;&amp;nbsp;&lt;/p&gt;

&lt;p&gt;&amp;nbsp;&lt;/p&gt;

&lt;p&gt;Nicolas Lescop (Limplementeur) explique le Reflection Pattern : faire auto-évaluer à un agent ses réponses avant de livrer un résultat, via un second rôle « critique » qui relève les failles et force une réécriture ciblée. Une bonne base pour celles et ceux qui construisent des agents un peu sérieux.&lt;/p&gt;




&lt;h3&gt;
  
  
  Bearstech — Le site parodique « FranceFuite »
&lt;/h3&gt;


&lt;blockquote class="bluesky-embed"&gt;
&lt;p&gt;Vous connaissez le site parodique FranceFuite .
Mention spéciale aux mentions légales…

👉 francefuites.com/ind...&lt;/p&gt;— &lt;a href="https://bsky.app/profile/did:plc:oklkinuievllgvhrv2nia4gu?ref_src=embed" rel="noopener noreferrer"&gt;Bearstech (@bearstech.com)&lt;/a&gt; &lt;a href="https://bsky.app/profile/did:plc:oklkinuievllgvhrv2nia4gu/post/3mt4izw4dhr2g?ref_src=embed" rel="noopener noreferrer"&gt;2026-08-15T10:53:36.000Z&lt;/a&gt;
&lt;/blockquote&gt;


&lt;p&gt;Sur fond de piratage de la DGFiP, Bearstech relaie avec humour le site parodique FranceFuite — dont les mentions légales valent à elles seules le détour. De quoi dédramatiser un week-end à suspense, sans nier le sérieux de l'affaire.&lt;/p&gt;


&lt;h3&gt;
  
  
  Olivier Poncet — Les faux « white hats » de l'affaire DGFIP
&lt;/h3&gt;


&lt;blockquote class="bluesky-embed"&gt;
&lt;p&gt;Ce que je trouve fantastique avec le piratage de la DGFIP, c'est le nombre de soi-disant « gentils hackerz white hat whatever » qui se mettent en avant sur les RS ou à la TV, mais PAS UN SEUL pour prouver leur compétence ou faire un vrai travail de white hat. Étonnant 😏&lt;/p&gt;— &lt;a href="https://bsky.app/profile/did:plc:4q4wdaknunskbt47bzsi2qbv?ref_src=embed" rel="noopener noreferrer"&gt;Olivier Poncet 🦝 (@ponceto91.bsky.social)&lt;/a&gt; &lt;a href="https://bsky.app/profile/did:plc:4q4wdaknunskbt47bzsi2qbv/post/3mt6xkl6mhc2m?ref_src=embed" rel="noopener noreferrer"&gt;2026-08-16T10:18:47.450Z&lt;/a&gt;
&lt;/blockquote&gt;


&lt;p&gt;Olivier Poncet égratigne, avec son humour habituel, tous ceux qui surfent sur le piratage du fisc en se présentant comme des « white hats » — sans qu'aucun ne démontre une vraie compétence ni ne fasse un réel travail de recherche de failles. Une punchline bien sentie.&lt;/p&gt;


&lt;h3&gt;
  
  
  Laurent Cheylus — Le documentaire « Einstein-Hawking, l'Univers dévoilé »
&lt;/h3&gt;


&lt;blockquote class="bluesky-embed"&gt;
&lt;p&gt;Einstein Hawking, l'Univers dévoilé - Excellent documentaire de la BBC en 2 parties, très pédagogique pour présenter leurs travaux sur la relativité, l'espace-temps et certains phénomènes comme les trous noirs #Physique #Video www.arte.tv/fr/videos/RC...&lt;/p&gt;— &lt;a href="https://bsky.app/profile/did:plc:5lj4n3nkq7by6vmdxltlt2fy?ref_src=embed" rel="noopener noreferrer"&gt;Laurent Cheylus (@lcheylus.bsky.social)&lt;/a&gt; &lt;a href="https://bsky.app/profile/did:plc:5lj4n3nkq7by6vmdxltlt2fy/post/3mt74ets7pz2k?ref_src=embed" rel="noopener noreferrer"&gt;2026-08-16T11:45:03.156Z&lt;/a&gt;
&lt;/blockquote&gt;


&lt;p&gt;Laurent Cheylus recommande le documentaire de la BBC « Einstein-Hawking, l'Univers dévoilé », disponible en deux parties sur ARTE : une introduction très pédagogique à la relativité, à l'espace-temps et aux trous noirs. Parfait pour une soirée d'été.&lt;/p&gt;


&lt;h3&gt;
  
  
  Bearstech — « Les Logiciels Libres de l'été », jour 54 : WinBoat
&lt;/h3&gt;


&lt;blockquote class="bluesky-embed"&gt;
&lt;p&gt;🏖️🐻 Les Logiciels Libres de l'été, jour 54 : 

WinBoat : une application en beta permettant de faire tourner des applications Windows sur Linux de façon quasi native via une VM dans un conteneur Docker&lt;/p&gt;— &lt;a href="https://bsky.app/profile/did:plc:oklkinuievllgvhrv2nia4gu?ref_src=embed" rel="noopener noreferrer"&gt;Bearstech (@bearstech.com)&lt;/a&gt; &lt;a href="https://bsky.app/profile/did:plc:oklkinuievllgvhrv2nia4gu/post/3msyeshj4ef23?ref_src=embed" rel="noopener noreferrer"&gt;2026-08-13T19:27:12.000Z&lt;/a&gt;
&lt;/blockquote&gt;


&lt;p&gt;Le feuilleton estival de Bearstech continue avec WinBoat, une application en bêta qui fait tourner des applications Windows sur Linux de façon quasi native, via une VM dans un conteneur Docker. Une piste intéressante pour les réfractaires au double boot.&lt;/p&gt;


&lt;h2&gt;
  
  
  DEV PRATIQUE
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fpdlpdfl9o17b5v22sfct.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fpdlpdfl9o17b5v22sfct.png" width="800" height="533"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;em&gt;Ressources concrètes pour tous les devs (web, DevOps, sécu, game, embarqué…)&lt;/em&gt;&lt;/p&gt;
&lt;h2&gt;
  
  
  📘 Web Dev
&lt;/h2&gt;
&lt;h3&gt;
  
  
  Official Laravel Zed Extension : LSP for PHP &amp;amp; Blade
&lt;/h3&gt;

&lt;p&gt;Laravel dispose désormais d'une extension officielle pour l'éditeur Zed, apportant un support LSP pour PHP et Blade. De quoi bénéficier d'autocomplétion, de navigation et d'erreurs en direct pour les projets Laravel, sans config maison.&lt;/p&gt;

&lt;p&gt;» &lt;a href="https://laravel-news.com/laravel-zed-extension" rel="noopener noreferrer"&gt;Lire l'article&lt;/a&gt;&lt;/p&gt;
&lt;h2&gt;
  
  
  🛠️ DevOps
&lt;/h2&gt;
&lt;h3&gt;
  
  
  Proxmox VE : enrôler les certificats Secure Boot Microsoft 2023 sur vos VMs
&lt;/h3&gt;

&lt;p&gt;Un tutoriel pas-à-pas pour faire disparaître l'avertissement Secure Boot sur les VM Proxmox : inscription des certificats UEFI Microsoft 2023 côté Proxmox VE puis côté Windows, en passant par le shell et la console de gestion.&lt;/p&gt;

&lt;p&gt;» &lt;a href="https://www.it-connect.fr/secure-boot-proxmox-certificats-uefi-2023/" rel="noopener noreferrer"&gt;Lire le tutoriel&lt;/a&gt;&lt;/p&gt;
&lt;h3&gt;
  
  
  Linux Fu : Heads Or Tails For VPN
&lt;/h3&gt;

&lt;p&gt;La chronique « Linux Fu » de Hackaday s'attaque au classique casse-tête du périphérique (ex. Raspberry Pi) derrière une box qui ne permet pas le port forwarding : des solutions concrètes pour monter un VPN et joindre sa machine à distance malgré le NAT.&lt;/p&gt;

&lt;p&gt;» &lt;a href="https://hackaday.com/2026/08/10/linux-fu-heads-or-tails-for-vpn/" rel="noopener noreferrer"&gt;Lire le tuto&lt;/a&gt;&lt;/p&gt;
&lt;h3&gt;
  
  
  Installer Proxmox VE en version Arm sur un Raspberry Pi
&lt;/h3&gt;

&lt;p&gt;Next.ink a réussi là où l'installeur officiel refuse d'aller : installer Proxmox VE en version Arm sur un Raspberry Pi. Un tutoriel pas-à-pas qui détaille les manipulations pour faire tourner l'hyperviseur de virtualisation sur la carte du petit framboisier.&lt;/p&gt;

&lt;p&gt;» &lt;a href="https://next.ink/251209/tuto-installer-proxmox-en-version-arm-sur-un-raspberry-pi/" rel="noopener noreferrer"&gt;Lire le tutoriel&lt;/a&gt;&lt;/p&gt;
&lt;h3&gt;
  
  
  Atuin : auto-héberger son historique shell
&lt;/h3&gt;

&lt;p&gt;Retour d'expérience sur Atuin, l'outil qui synchronise et chiffre l'historique de votre shell, avec auto-hébergement complet du serveur de sync. Recherche instantanée, stats d'usage et synchronisation multi-machines au programme.&lt;/p&gt;

&lt;p&gt;» &lt;a href="https://slash-root.fr/atuin-auto-heberger-historique-shell/" rel="noopener noreferrer"&gt;Lire l'article&lt;/a&gt;&lt;/p&gt;
&lt;h2&gt;
  
  
  🕹️ Game Dev
&lt;/h2&gt;
&lt;h3&gt;
  
  
  Running DOOM On A Cheap 104-in-One Handheld
&lt;/h3&gt;

&lt;p&gt;Aaron Christophel s'attaque à une console de jeux rétro bon marché « 104-en-un » et parvient à y faire tourner DOOM. L'article détaille comment identifier la plateforme (probablement une STM32/F1C200s-like), extraire le firmware et porter le jeu sur ce matériel très contraint.&lt;/p&gt;

&lt;p&gt;» &lt;a href="https://hackaday.com/2026/08/11/running-doom-on-a-cheap-104-in-one-handheld/" rel="noopener noreferrer"&gt;Lire l'article&lt;/a&gt;&lt;/p&gt;
&lt;h2&gt;
  
  
  🖥️ Électronique
&lt;/h2&gt;
&lt;h3&gt;
  
  
  Calculus-Free PID (Almost) In A Spreadsheet
&lt;/h3&gt;

&lt;p&gt;Une feuille de calcul interactive simule un contrôleur PID complet (Proportionnel, Intégral, Dérivé) avec un modèle de processus réglable. L'idéal pour comprendre en pratique l'erreur stationnaire, l'overshoot, l'anti-windup ou le derivative kick — sans calcul intégral, juste des cellules de tableur.&lt;/p&gt;

&lt;p&gt;» &lt;a href="https://hackaday.com/2026/08/06/calculus-free-pid-almost-in-a-spreadsheet/" rel="noopener noreferrer"&gt;Voir le tutoriel&lt;/a&gt;&lt;/p&gt;
&lt;h2&gt;
  
  
  🚘 Embarqué / IoT
&lt;/h2&gt;
&lt;h3&gt;
  
  
  Reproducible ESP32 Firmware Development with Docker and Docker Sandboxes
&lt;/h3&gt;

&lt;p&gt;Un workflow complet pour construire du firmware ESP32 dans des environnements Docker reproductibles, et utiliser les Docker Sandboxes pour du développement assisté par IA isolé et des tests matériels. Idéal pour la thématique embarqué, du build reproductible au déploiement.&lt;/p&gt;

&lt;p&gt;» &lt;a href=""&gt;Lire le tuto&lt;/a&gt;&lt;/p&gt;
&lt;h2&gt;
  
  
  🔒 Sécurité
&lt;/h2&gt;
&lt;h3&gt;
  
  
  Comment protéger vos serveurs contre les crawlers d'IA
&lt;/h3&gt;

&lt;p&gt;Un guide pratique de Bearstech pour protéger vos serveurs face aux robots d'indexation des IA : filtres, CDN, cache et optimisation pour éviter la saturation et les DoS provoqués par les crawlers. Un sujet devenu central en 2026.&lt;/p&gt;

&lt;p&gt;» &lt;a href="https://bearstech.com/societe/blog/comment-proteger-vos-serveurs-et-lutter-efficacement-contre-les-crawlers-dia" rel="noopener noreferrer"&gt;Lire le guide&lt;/a&gt;&lt;/p&gt;



&lt;blockquote&gt;
&lt;p&gt;Saviez vous que pour le prix d’une place de cinéma vous pouvez apporter votre soutien à cette newsletter pour un an ?&lt;/p&gt;

&lt;p&gt;::link-button{label="C'est décidé, je te soutiens pour un an !!" url="&lt;a href="https://quoi-de-neuf-les-devs.happyto.dev/subscribe%22" rel="noopener noreferrer"&gt;https://quoi-de-neuf-les-devs.happyto.dev/subscribe"&lt;/a&gt;}&lt;br&gt;
::&lt;/p&gt;

&lt;p&gt;&amp;nbsp;&lt;/p&gt;

&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;/blockquote&gt;


&lt;h2&gt;
  
  
  T'AS TON POPCORN ?
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2F235sfazocqr4i5miuy82.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2F235sfazocqr4i5miuy82.png" width="800" height="537"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;&lt;em&gt;Dans cette section, je vous propose de bien vous caller dans votre siège gamer, votre canapé ou votre lit pour visionner quelques vidéos dénichées ici et là.&lt;/em&gt;&lt;/strong&gt;&lt;/p&gt;
&lt;h3&gt;
  
  
  2 ans après, les devs n'ont pas disparu : du coup l'IA ça sert à rien ? — Devoxx France
&lt;/h3&gt;

&lt;blockquote&gt;
&lt;p&gt;Dans ce talk du Studio Devoxx France, Matthieu Vincent et Yann Gloriau (Sopra Steria) reviennent deux ans après les promesses de fin des devs sur ce que l'IA apporte vraiment au quotidien : code assisté vs halluciné, et comment l'intégrer sous contrainte de gouvernance sécurité. Un retour terre à terre, sans angélisme ni catastrophisme.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;  &lt;iframe src="https://www.youtube.com/embed/IJEmimNSmm4"&gt;
  &lt;/iframe&gt;
&lt;/p&gt;




&lt;h3&gt;
  
  
  The safest way to store Bitcoin was just hacked... — Fireship
&lt;/h3&gt;

&lt;blockquote&gt;
&lt;p&gt;Le mode de stockage Bitcoin réputé le plus sûr est devenu, en une semaine, le moins sûr. Fireship décortique l'affaire dans son format court habituel : synthétique, percutant, en anglais.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;  &lt;iframe src="https://www.youtube.com/embed/2X2V3xv_jik"&gt;
  &lt;/iframe&gt;
&lt;/p&gt;




&lt;h3&gt;
  
  
  am I becoming a real Game Dev? — ThePrimeagen
&lt;/h3&gt;

&lt;blockquote&gt;
&lt;p&gt;ThePrimeagen bascule sur le développement de jeux vidéo : ce que ça change de passer au game dev, en stream vidéo. De l'autodérision et du gameplay en direct, comme toujours. (Anglais.)&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;  &lt;iframe src="https://www.youtube.com/embed/tYQyh1tjSFc"&gt;
  &lt;/iframe&gt;
&lt;/p&gt;




&lt;h3&gt;
  
  
  Supercharge your PHP apps with Go-powered PHP extensions — Alexandre Daubois
&lt;/h3&gt;

&lt;blockquote&gt;
&lt;p&gt;Une conférence d'Alexandre Daubois (CTO de Les-Tilleuls.coop, core team Symfony et FrankenPHP) sur la façon de donner un coup de boost à vos applications PHP avec des extensions PHP propulsées par du code Go. La frontière entre les deux écosystèmes n'a jamais été aussi mince — et c'est une excellente nouvelle.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;&lt;iframe src="https://player.vimeo.com/video/1203714794" width="710" height="399"&gt;
&lt;/iframe&gt;
&lt;/p&gt;




&lt;h2&gt;
  
  
  METS TON CASQUE !
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fmc1i76fjw5ogaxxj2goz.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fmc1i76fjw5ogaxxj2goz.png" width="800" height="537"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;&lt;em&gt;Dans cette rubrique, je vous propose des podcasts en anglais et en français sur notre monde de dev.&lt;/em&gt;&lt;/strong&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  Comptoir IA — Deux milliardaires paient en secret pour nous faire sortir de la Matrice (10 août 2026)
&lt;/h3&gt;

&lt;p&gt;Nicolas Guyon reçoit Loïc Hecht, journaliste (GQ, Slate, Vice, Arte) et auteur de &lt;em&gt;La Simulation&lt;/em&gt; (Les Arènes). Point de départ : trois lignes du &lt;em&gt;New Yorker&lt;/em&gt; datant de 2016 — deux milliardaires de la Silicon Valley finançaient secrètement des scientifiques pour trouver un « glitch » dans le code de la réalité. Huit ans d'enquête au fil desquels il a interrogé des physiciens de la NASA, du MIT et de Berkeley pour explorer l'hypothèse, prise au sérieux, que nous vivrions dans une simulation.&lt;/p&gt;

&lt;p&gt;&lt;iframe src="https://open.spotify.com/embed/episode/5iQYHkaG1hkSuBb6uJTz9v" width="100%" height="232px"&gt;
&lt;/iframe&gt;
&lt;/p&gt;




&lt;h3&gt;
  
  
  Developer Experience — Houleymatou : de « comment on allume un ordinateur ? » à 1000 femmes accompagnées dans la tech (7 août 2026)
&lt;/h3&gt;

&lt;p&gt;Best-of de l'épisode avec Houleymatou Baldé : partie d'un village sans électricité en Guinée, arrivée en France à 19 ans avec pour première question « Monsieur, comment allume-t-on l'ordinateur ? », elle est aujourd'hui tech lead freelance et présidente de Yeeso, association qui accompagne près de 1 000 femmes vers la tech. Un parcours inspirant sur la reconversion et l'entrepreneuriat social.&lt;/p&gt;

&lt;p&gt;&lt;iframe src="https://open.spotify.com/embed/episode/2tc5fe7qFE1GDlW30ZfQSC" width="100%" height="232px"&gt;
&lt;/iframe&gt;
&lt;/p&gt;




&lt;h2&gt;
  
  
  LES SORTIES DE LA SEMAINE
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2F4wyvhwnn34w5hse5obmq.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2F4wyvhwnn34w5hse5obmq.png" width="800" height="537"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;&lt;em&gt;Dans cette rubrique, je vous mets en avant les mises à jour de logiciel que nous sommes susceptibles d'utiliser dans notre quotidien de développeurs.&lt;/em&gt;&lt;/strong&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  Django 6.1 — 5 août 2026
&lt;/h3&gt;

&lt;p&gt;La nouvelle version majeure du framework Python est sortie, avec trois gros morceaux :&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Model field fetch modes&lt;/strong&gt; : les modes de chargement à la demande des champs deviennent configurables — &lt;code&gt;FETCH_ONE&lt;/code&gt; (comportement actuel), &lt;code&gt;FETCH_PEERS&lt;/code&gt; (récupère le champ manquant pour toutes les instances du même QuerySet, façon &lt;code&gt;prefetch_related()&lt;/code&gt; à la demande, ce qui règle une bonne partie du problème N+1) et &lt;code&gt;FETCH_RAISE&lt;/code&gt; (lève une exception pour bloquer les requêtes involontaires).&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Suppression au niveau base de données&lt;/strong&gt; : &lt;code&gt;ForeignKey.on_delete&lt;/code&gt; gagne &lt;code&gt;DB_CASCADE&lt;/code&gt;, &lt;code&gt;DB_SET_NULL&lt;/code&gt; et &lt;code&gt;DB_SET_DEFAULT&lt;/code&gt;, qui délèguent la logique de suppression au SQL &lt;code&gt;ON DELETE&lt;/code&gt; sans charger les objets en mémoire (mais sans déclencher les signaux &lt;code&gt;pre_delete&lt;/code&gt;/&lt;code&gt;post_delete&lt;/code&gt;).
: configurer plusieurs backends email avec des options différentes, à l'image de &lt;code&gt;CACHES&lt;/code&gt;/&lt;code&gt;DATABASES&lt;/code&gt;. Il remplacera &lt;code&gt;EMAIL_BACKEND&lt;/code&gt; en Django 7.0.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Python 3.12-3.14 supportés ; fin du support PostgreSQL 14, MySQL &amp;lt; 8.4 et MariaDB &amp;lt; 10.11.&lt;/p&gt;

&lt;p&gt;» &lt;a href="https://docs.djangoproject.com/en/6.1/releases/6.1/" rel="noopener noreferrer"&gt;Voir la release note&lt;/a&gt;&lt;/p&gt;




&lt;h3&gt;
  
  
  Node.js 26.7.0 (Current) — 5 août 2026
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;crypto&lt;/strong&gt; : chargement des clés privées via les STORE loaders (API minimale), certificats racines mis à jour vers NSS 3.125.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;perfetto&lt;/strong&gt; : ajout d'un trace agent (trace events) pour profiler Node directement avec Perfetto.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;module&lt;/strong&gt; : &lt;code&gt;Symbol.dispose&lt;/code&gt; implémenté dans les &lt;code&gt;ModuleHooks&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;test_runner&lt;/strong&gt; : nouveau flag &lt;code&gt;--test-coverage-include-all&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;npm passe à &lt;strong&gt;11.19.0&lt;/strong&gt;, sqlite à 3.53.4 ; support du transfert des handles TCP sur Windows et des chemins &lt;code&gt;AF_UNIX&lt;/code&gt; dans &lt;code&gt;net.BoundSocket&lt;/code&gt;.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;» &lt;a href="https://nodejs.org/en/blog/release/v26.7.0" rel="noopener noreferrer"&gt;Voir la release note&lt;/a&gt;&lt;/p&gt;




&lt;h3&gt;
  
  
  Python 3.14.7 — 5 août 2026
&lt;/h3&gt;

&lt;p&gt;Septième maintenance release de la série 3.14, avec &lt;strong&gt;~499 correctifs&lt;/strong&gt;, améliorations de build et de documentation de &lt;strong&gt;86 contributeurs&lt;/strong&gt;.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Rappel des points forts de la série : &lt;strong&gt;free-threaded Python&lt;/strong&gt; officiellement supporté (PEP 779), annotations différées (PEP 649), &lt;strong&gt;t-strings&lt;/strong&gt; (PEP 750), module &lt;code&gt;compression.zstd&lt;/code&gt; (PEP 784).&lt;/li&gt;
&lt;li&gt;Les binaires officiels macOS/Windows embarquent un &lt;strong&gt;JIT expérimental&lt;/strong&gt;, et des binaires &lt;strong&gt;Android&lt;/strong&gt; officiels sont disponibles.&lt;/li&gt;
&lt;li&gt;Plus de signatures PGP : la vérification passe désormais par &lt;strong&gt;Sigstore&lt;/strong&gt; (PEP 761).&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;» &lt;a href="https://www.python.org/downloads/release/python-3147/" rel="noopener noreferrer"&gt;Voir la release note&lt;/a&gt;&lt;/p&gt;




&lt;h3&gt;
  
  
  Docker Engine 29.7.2 — 6 août 2026
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;Correction d'un &lt;strong&gt;panic de docker service create/update&lt;/strong&gt; quand la même variable d'environnement est passée plusieurs fois.&lt;/li&gt;
&lt;li&gt;Réparations de régressions introduites en 29.7.0 : rejet des images contenant des &lt;strong&gt;hardlinks absolus&lt;/strong&gt;, et échec des pulls/&lt;code&gt;docker cp&lt;/code&gt; sur les noyaux Linux plus anciens (application des permissions, nœuds de device).&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;BuildKit v0.32.2&lt;/strong&gt; et meilleure compatibilité &lt;strong&gt;nftables&lt;/strong&gt; (fin des chaînes de base par point-virgule).&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;» &lt;a href="https://github.com/moby/moby/releases/tag/docker-v29.7.2" rel="noopener noreferrer"&gt;Voir la release note&lt;/a&gt;&lt;/p&gt;




&lt;h3&gt;
  
  
  Laravel 13.25.0 — 11 août 2026
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;Nouveau &lt;strong&gt;« global pause switch » pour les queues&lt;/strong&gt; : mettre toutes les files en pause d'un coup (très utile en maintenance).&lt;/li&gt;
&lt;li&gt;Nouvel évènement &lt;strong&gt;UniqueJobSkipped&lt;/strong&gt; et support « &lt;strong&gt;fail on timeout&lt;/strong&gt; » pour les notifications.&lt;/li&gt;
&lt;li&gt;Helper de schéma &lt;strong&gt;foreignUlidFor()&lt;/strong&gt; et support &lt;strong&gt;HEIC&lt;/strong&gt; pour les dimensions d'images.&lt;/li&gt;
&lt;li&gt;La classe &lt;code&gt;Image&lt;/code&gt; devient &lt;strong&gt;Responsable&lt;/strong&gt; et gagne &lt;code&gt;Image::fromStream()&lt;/code&gt; et &lt;code&gt;Image::toFormat()&lt;/code&gt; publics.&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;artisan dev&lt;/code&gt; passe désormais par &lt;code&gt;@laravel/multiplex&lt;/code&gt;.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;» &lt;a href="https://github.com/laravel/framework/releases/tag/v13.25.0" rel="noopener noreferrer"&gt;Voir la release note&lt;/a&gt;&lt;/p&gt;




&lt;h3&gt;
  
  
  Python 3.12.14, 3.11.16 et 3.10.21 — 12 août 2026
&lt;/h3&gt;

&lt;p&gt;Correctifs de sécurité pour les trois branches de maintenance encore supportées en dehors de la 3.13/3.14. À appliquer en priorité sur les systèmes en production qui n'ont pas encore migré vers une version plus récente.&lt;/p&gt;

&lt;p&gt;» &lt;a href="https://blog.python.org/2026/08/python-31214-31116-31021/" rel="noopener noreferrer"&gt;Voir la release note&lt;/a&gt;&lt;/p&gt;




&lt;h3&gt;
  
  
  Docker VMM — Public Beta — 12 août 2026
&lt;/h3&gt;

&lt;p&gt;La VMM de Docker (nouveau runtime de virtualisation pour Mac et Windows) passe en &lt;strong&gt;bêta publique&lt;/strong&gt;, avec un focus sur la performance, la stabilité et la gouvernance. Le même jour, Docker publie aussi une nouvelle baseline de sécurité pour l'adoption d'agents en entreprise.&lt;/p&gt;

&lt;p&gt;» &lt;a href="https://www.docker.com/blog/docker-vmm-public-beta/" rel="noopener noreferrer"&gt;Voir l'annonce&lt;/a&gt;&lt;/p&gt;




&lt;h2&gt;
  
  
  L'invité de la semaine — L'interview intégrale
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;Aymane Atigui — Développeur Full Stack &amp;amp; DevOps, créateur de Piece UI&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fc3f9ihrgmhgn4k11hkhw.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fc3f9ihrgmhgn4k11hkhw.png" alt="CleanShot 2026 08 17 at 17 27 21" width="399" height="230"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;em&gt;Propos recueillis par HappyToDev&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;1. Peux-tu te présenter ?&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Je m'appelle Aymane Atigui, j'ai 24 ans et je suis développeur Full Stack &amp;amp; DevOps, basé à Casablanca. Je travaille sur des applications web et mobiles de bout en bout, du développement jusqu'à l'infrastructure, le déploiement et la mise en production. À côté du code, je suis aussi photographe et vidéaste, ce qui influence pas mal ma façon de concevoir les produits.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;2. Quelle est ta spécialité ? Quel est ton langage préféré ?&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Ma spécialité, c'est justement de ne pas m'enfermer dans une seule couche : je suis à l'aise du frontend (React, React Native, Next.js) jusqu'à l'infra (AWS, Linux, Docker, CI/CD). Mon langage préféré reste TypeScript. Mais ce que j'aime le plus, c'est la partie DevOps : automatiser un pipeline et voir une app passer du code à la production proprement.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;3. Es-tu un reconverti ? (as tu travaillé dans un autre domaine que l’IT précédemment)&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Non, l'informatique a toujours été ma voie depuis les études. En revanche, la photographie et la vidéo sont venues en parallèle, presque comme une deuxième compétence, et elles nourrissent vraiment mon travail de dev.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;4. Quelles études as-tu suivies ?&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Un BAC scientifique, puis un DUT en Génie Informatique et une Licence Professionnelle en Ingénierie des Systèmes d'Information et Réseaux à l'EST de Safi (Université Cadi Ayyad). Je cherche actuellement à poursuivre avec un master en cybersécurité.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;5. Comment as-tu démarré dans le monde pro ? Stage, alternance, emploi direct ?&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;J'ai commencé par un stage de fin d'études dans une agence à Casablanca, où j'ai construit une application web. Ensuite je suis passé en emploi, notamment deux ans dans une société foodtech lyonnaise. C'est là que j'ai vraiment pris de l'ampleur : j'ai créé des applications mobiles publiées sur les stores, et une plateforme de commande en ligne en marque blanche utilisée par des restaurants en France, Belgique, Suisse et au Maroc. J'ai aussi contribué à des fonctionnalités sur des systèmes utilisés par de grandes enseignes de fast-food comme Burger King, Gomu ou Burger's. Travailler sur des produits à ce niveau d'utilisation réelle, ça change tout.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;6. Et maintenant tu en es où ?&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Aujourd'hui je suis développeur Full Stack &amp;amp; DevOps : je fais tourner plusieurs applications en production et je gère toute la chaîne jusqu'à l'infrastructure. J'ai la chance de toucher à énormément de technologies, du mobile jusqu'au cloud, et l'IA m'aide à monter très vite en compétence sur des outils que je n'avais jamais utilisés.&amp;nbsp;&lt;/p&gt;

&lt;p&gt;Je suis d'ailleurs actuellement en recherche active d'un poste Full Stack ou DevOps, sur site ou en remote : si mon profil vous parle, n'hésitez pas à me contacter, mon CV et mes coordonnées sont juste ici : &lt;a href="http://atigui.com" rel="noopener noreferrer"&gt;atigui.com&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;7. Sur ton site perso, on peut lire que tu es développeur Full Stack &amp;amp; DevOps freelance, basé à Casablanca, et que tu travailles à distance avec des clients en France et à l'international, après deux ans passés au sein d'une société lyonnaise.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Qu'est-ce qui t'a amené à te lancer en freelance depuis le Maroc, avec des clients européens ?&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Le déclencheur, c'est mes deux ans avec la société lyonnaise : une équipe pleine d'énergie, des produits concrets, et j'ai réalisé que la distance n'était pas vraiment un obstacle. Franchement, la France n'est même pas si loin, 3 h d'avion depuis Casablanca, moins qu'un Paris-Marseille en voiture 😄. Le Maroc a un vrai vivier de talents, un fuseau horaire aligné avec l'Europe et le français en commun, donc la collaboration avec des équipes françaises est très naturelle.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Tu nous racontes ton parcours, les succès, les difficultés, et quels conseils donnerais-tu à celles et ceux qui aimeraient se lancer dans l'aventure ?&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Le plus grand succès, c'est de voir des produits que j'ai construits réellement utilisés : des applications mobiles publiées sur l'App Store et le Google Play, et des plateformes web utilisées par des restaurants dans plusieurs pays. La principale difficulté quand on travaille à distance avec l'étranger, c'est la confiance : il faut la gagner par la régularité et la qualité de livraison, pas par les promesses. Mon conseil : soignez votre présence en ligne, livrez des projets réels même petits, et communiquez de façon ultra-fiable. La compétence ouvre la porte, la fiabilité la garde ouverte.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Aujourd'hui tu es aussi le créateur de Piece UI, une bibliothèque de composants React open source publiée sur npm. Tu nous parles un peu de ce projet ? Le concept ? Pourquoi avoir choisi l'open source ?&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Piece UI est une bibliothèque de composants React : 17 composants accessibles et prêts pour la production, typés en TypeScript, stylés avec Tailwind, avec des animations Framer Motion, installables via npm ou en copier-coller. L'idée est née de la répétition : je reconstruisais les mêmes composants de projet en projet. L'open source s'est imposé naturellement : ça me force à un niveau de qualité et de documentation plus élevé, ça me rend utile à d'autres devs, et honnêtement c'est la meilleure carte de visite technique qui soit. Le code parle plus fort qu'un CV.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;On peut lire que ton parcours en photographie et en entrepreneuriat façonne ta manière de penser l'UX. Tu peux nous en dire un peu plus ?&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;J'ai toujours été passionné par la photographie et la vidéo, surtout après avoir dévoré les vidéos de Peter McKinnon et Casey Neistat sur YouTube pendant le confinement 😄. J'ai eu une année où je me suis vraiment concentré sur ce domaine : j'ai rencontré de grands talents et artistes, des réalisateurs comme Hassan Hajjaj et Nordin Lakhmari, et j'ai réalisé des vidéos, notamment pour des clubs, dont une partie est visible sur mon Instagram &lt;a class="mentioned-user" href="https://dev.to/aymane_atigui"&gt;@aymane_atigui&lt;/a&gt;. Cette sensibilité visuelle nourrit directement ma façon de penser l'UX : la composition, la lumière, ce qui attire l'œil, c'est exactement ce qui fait une bonne interface.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Sur ton blog, tu expliques notamment que l'IA ne va pas prendre le travail des développeurs mais le transformer. Tu peux développer ce point de vue ?&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;L'IA m'accompagne depuis le tout début. La première fois, c'était la première version sur l'OpenAI Playground, avec les 14 $ de crédit gratuit qu'ils offraient pour tester l'outil 😄. Depuis, j'ai utilisé énormément de LLM, et pour moi c'est une vraie transformation : ça rend tout plus rapide. Je le vois comme une couche d'abstraction de plus : on ne code plus en assembleur, on a empilé couche sur couche jusqu'aux frameworks qu'on utilise aujourd'hui, et l'IA est la couche suivante. Au lieu d'écrire le code ligne par ligne, je me vois davantage comme un architecte : je contrôle, je juge, je décide quelle direction prendre, avec l'exposition à bien plus de technologies et d'architectures qu'avant. Donc oui, un outil, pas un remplacement, même si pour la suite, personne ne sait vraiment ce qui nous attend 😄.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Tu habites Casablanca au Maroc, qu’apprécies tu dans cette ville ?&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Casablanca, c'est un peu le New York du Maroc, une ville qui ne dort jamais. Chaque quartier a son identité : Casa Finance City et ses tours modernes pour la finance, la Technopark où se concentrent les entreprises tech, Aïn Diab pour les plages et la vie nocturne, et l'ancienne médina qui garde l'histoire et l'architecture d'époque. C'est cette cohabitation entre le très ancien et le très moderne que j'aime : une ville qui travaille dur, qui bouge en permanence, et qui garde sa mémoire.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;8. Tu as d’autres passions ?&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;La photographie et la vidéo, clairement. Mais récemment je me suis aussi mis aux activités outdoor : le surf, et même le skydiving que je viens de faire pour la première fois 😄. J'aime aussi la randonnée et la course à pied. En gros, tout ce qui me fait sortir de l'écran et prendre l'air.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;9. Peut-on te voir dans des conf ou des meetups ? Sinon où peut on te suivre ?&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Pas encore dans des confs, mais c'est quelque chose que j'aimerais beaucoup faire, surtout les événements internationaux. Et si vous passez au Maroc, on a de belles occasions comme le GITEX Africa, avec plaisir pour se rencontrer, que ce soit pour échanger ou plus professionnellement. On peut me suivre sur LinkedIn (aymane-atigui), X (&lt;a class="mentioned-user" href="https://dev.to/aymane_atigui"&gt;@aymane_atigui&lt;/a&gt;) et sur mon site atigui.com.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;10. Est-ce que ton métier correspond finalement à tes attentes, tes rêves ?&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;En grande partie oui. Ce qui me plaît, c'est de construire des choses qui existent vraiment et que les gens utilisent. Ce que je vise maintenant, c'est de le faire à plus grande échelle, sur des produits plus ambitieux et avec des équipes solides. Donc oui, sur la bonne voie, avec encore de la marge pour rêver plus grand.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;11. Quels conseils donnerais-tu à celles et ceux qui débutent dans les métiers de l'IT et plus spécifiquement dans le dev ?&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Construisez, ne vous contentez pas d'apprendre en boucle. Un projet réel, terminé et en ligne, vaut dix tutoriels. Rendez votre travail visible : GitHub, un portfolio, de l'open source. Et ne négligez pas la communication : savoir expliquer ce que vous faites compte presque autant que de savoir le faire.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;12. Nouvelle question 2026 - IA&lt;/strong&gt;&lt;br&gt;
&lt;strong&gt;Utilises-tu l'IA dans ton travail ?&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Oui, tous les jours&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Si oui : Lesquelles utilises tu ? et quelle est actuellement ta préférée ?&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Principalement Claude Code (Opus).&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Que lui confies-tu principalement comme tâches ?&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Faire des recherches rapides, créer des fonctions ou des fonctionnalités que je lui décris, m'aider à débugger, et lire puis expliquer une fonctionnalité ou un projet dont je découvre le code pour la première fois. Il me sert aussi à documenter et à explorer des approches avant de trancher. Je garde toujours la main sur l'architecture et les décisions.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Comment vois-tu l'évolution de l’IA dans 5 ans ?&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Ce sera l'outil utilisé par chaque développeur, c'est déjà largement le cas aujourd'hui. Le métier montera d'un cran en abstraction : on décrira davantage l'intention, l'IA gérera l'exécution, mais le jugement humain sur le "quoi" et le "pourquoi" restera au centre.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;13. Quels sont tes 3 outils les plus utilisés dans ton quotidien de dev ? (cela peut être ce que tu veux du moment que c’est relié à ton quotidien de dev : livre, site internet, mug, logiciel, etc.) ?&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Docker&lt;/p&gt;

&lt;p&gt;Claude code&lt;/p&gt;

&lt;p&gt;VS Code&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;14. Un autre sujet que tu aimerais mettre en avant ?&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;J'aimerais mettre en avant l'idée qu'un développeur peut aussi être un créatif visuel. On oppose souvent ingénieur et designer, alors que combiner les deux, la rigueur technique et le sens du visuel, est un vrai atout, autant pour le produit que pour se différencier.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;15. Le mot de la fin ?&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Merci pour l'invitation ! Et à ceux qui lisent : le talent existe partout, y compris au Maroc et loin des grandes capitales tech. Construisez, rendez-le visible, restez fiables, le reste suit.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Questions bonus (encore moins obligatoires que les autres, y répondre que si tu y trouves du fun)&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Ta meilleure anecdote dans ton travail :&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Lors d'un séminaire d'entreprise, je me suis cassé une dent en sautant dans la piscine devant toute la boîte 😅 Mémorable, mais pas pour les bonnes raisons.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Ton livre préféré :&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Atomic Habits (James Clear)&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Ton jeu vidéo préféré :&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;GTA 5&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Ton film ou ta série préféré(e) :&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Mr. Robot, la série qui m'a motivé à installer et utiliser Linux pour la première fois.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Ton livre tech préféré :&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Clean Code (Robert C. Martin)&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Pour suivre Aymane :&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Twitter : &lt;a href="https://x.com/aymane_atigui" rel="noopener noreferrer"&gt;https://x.com/aymane_atigui&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;Linkedin : &lt;a href="https://linkedin.com/in/aymane-atigui" rel="noopener noreferrer"&gt;https://linkedin.com/in/aymane-atigui&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;GitHub : &lt;a href="https://github.com/aymaneatigui" rel="noopener noreferrer"&gt;https://github.com/aymaneatigui&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;SiteWeb : &lt;a href="https://atigui.com" rel="noopener noreferrer"&gt;https://atigui.com&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;Instagram: &lt;a href="https://instagram.com/aymane_atigui" rel="noopener noreferrer"&gt;https://instagram.com/aymane_atigui&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://atigui-uploads.s3.us-east-1.amazonaws.com/resume/atigui-cv-fr-2026-07.pdf" rel="noopener noreferrer"&gt;CV&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;


&lt;h2&gt;
  
  
  LA CAISSE À OUTILS
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fgue9c4gup8j8rw64uizq.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fgue9c4gup8j8rw64uizq.png" width="800" height="537"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;&lt;em&gt;Dans cette rubrique, je vous présente des outils qui peuvent vous aider dans votre quotidien de dev.&lt;/em&gt;&lt;/strong&gt;&lt;/p&gt;
&lt;h3&gt;
  
  
  JSON Hero
&lt;/h3&gt;

&lt;p&gt;Repéré dans les « Logiciels libres de l'été » de Bearstech (6 août). Un explorateur JSON open source avec une interface soignée : vue en colonnes façon Finder, vue arbre ou éditeur, aperçus intelligents du contenu (dates, URLs, images, JSON imbriqué), recherche floue dans les clés et les valeurs, et génération automatique d'un schéma JSON à partir de vos données. Extensions VS Code et Raycast disponibles, et API simple pour envoyer du JSON depuis un script.&lt;/p&gt;

&lt;p&gt;» &lt;a href="https://github.com/triggerdotdev/jsonhero-web" rel="noopener noreferrer"&gt;Voir le projet&lt;/a&gt;&lt;/p&gt;


&lt;h3&gt;
  
  
  Claude AI Exporter 1.1.0
&lt;/h3&gt;

&lt;p&gt;Le projet d'Olivier Poncet, mis à jour le 7 août : il exporte une conversation Claude.ai en fichier Markdown et télécharge &lt;strong&gt;tous&lt;/strong&gt; les fichiers échangés (ceux générés par Claude &lt;strong&gt;et&lt;/strong&gt; ceux que vous avez fournis) dans une archive ZIP. S'utilise comme un snippet à coller dans la console du navigateur (aucune installation) ou comme extension Chrome/Firefox. La v1.1.0 ajoute l'export des textes collés et des fichiers fournis par l'utilisateur.&lt;/p&gt;

&lt;p&gt;» &lt;a href="https://github.com/ponceto/claude-ai-exporter" rel="noopener noreferrer"&gt;Voir le projet&lt;/a&gt;&lt;/p&gt;


&lt;h3&gt;
  
  
  Rust coreutils 0.10.0
&lt;/h3&gt;

&lt;p&gt;La suite d'utilitaires GNU &lt;code&gt;ls&lt;/code&gt;, &lt;code&gt;cp&lt;/code&gt;, &lt;code&gt;mv&lt;/code&gt;, &lt;code&gt;rm&lt;/code&gt;… réécrite en Rust, version 0.10.0 sortie le 5 août. Record de compatibilité : 645 tests de la suite GNU passants (29 échecs, contre 56 auparavant), nouvelle vague de durcissement sécurité (courses TOCTOU, descente récursive sûre), campagne anti-panic massive, &lt;code&gt;mv --exchange&lt;/code&gt; pour échanger deux fichiers atomiquement, backend OpenSSL pour les checksums et support de la cible wasm32-wasip2.&lt;/p&gt;

&lt;p&gt;» &lt;a href="https://github.com/uutils/coreutils/releases/tag/0.10.0" rel="noopener noreferrer"&gt;Voir la release&lt;/a&gt;&lt;/p&gt;


&lt;h3&gt;
  
  
  Xcpc 0.53.0
&lt;/h3&gt;

&lt;p&gt;L'émulateur Amstrad CPC 464/664/6128 d'Olivier Poncet, pour Linux/BSD/Unix, en version 0.53.0 (7 août). Au menu : nouveau moteur de rendu OpenGL avec émulation CRT, support des images disque ZIP, packages AppImage, meilleure compatibilité des images disque et de la puce sonore PSG. Parfait pour rejouer aux classiques d'une époque où 128 Ko semblaient énormes.&lt;/p&gt;

&lt;p&gt;» &lt;a href="https://www.xcpc-emulator.net/posts/2026/08/07/xcpc-0.53.0-has-been-released.html" rel="noopener noreferrer"&gt;Voir la release&lt;/a&gt;&lt;/p&gt;


&lt;h3&gt;
  
  
  holehe — vérifier où votre adresse email est utilisée
&lt;/h3&gt;

&lt;p&gt;Repéré dans le GitHub trending de la semaine : cet outil Python, signé par le développeur français megadose, vérifie si une adresse email est utilisée sur Twitter, Instagram et des dizaines d'autres sites via la fonction « mot de passe oublié ». Idéal pour l'OSINT et l'audit de sa propre empreinte numérique.&lt;/p&gt;

&lt;p&gt;» &lt;a href="https://github.com/megadose/holehe" rel="noopener noreferrer"&gt;Voir le projet&lt;/a&gt;&lt;/p&gt;


&lt;h3&gt;
  
  
  omarchy — le Linux « beau, moderne et opiné » de DHH
&lt;/h3&gt;

&lt;p&gt;La distribution Linux « Beautiful, Modern &amp;amp; Opinionated » imaginée par David Heinemeier Hansson (créateur de Rails et Basecamp), toujours en développement. Un projet qui a fait beaucoup parler de lui dans la communauté open source cette semaine.&lt;/p&gt;

&lt;p&gt;» &lt;a href="https://github.com/basecamp/omarchy" rel="noopener noreferrer"&gt;Voir le projet&lt;/a&gt;&lt;/p&gt;


&lt;h2&gt;
  
  
  CONFÉRENCES ET ÉVÉNEMENTS À VENIR
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2F8rvom2s018yg0l8wz1if.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2F8rvom2s018yg0l8wz1if.png" width="800" height="537"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;&lt;em&gt;Dans cette rubrique, je vous présente les conférences et événements à venir dans les prochaines semaines&lt;/em&gt;&lt;/strong&gt;&lt;/p&gt;
&lt;h3&gt;
  
  
  State of the Map — 28 au 30 août 2026 — Paris
&lt;/h3&gt;

&lt;p&gt;State of the Map, l'événement annuel des mappeurs et utilisateurs d'OpenStreetMap, se tient en 2026 à Paris et en ligne : trois jours de talks, ateliers, sessions de discussion et rencontres autour de la cartographie libre.&lt;/p&gt;

&lt;p&gt;» &lt;a href="https://2026.stateofthemap.org/" rel="noopener noreferrer"&gt;En savoir plus&lt;/a&gt;&lt;/p&gt;


&lt;h3&gt;
  
  
  JUG Summer Camp — 4 septembre 2026 — La Rochelle
&lt;/h3&gt;

&lt;p&gt;L'incontournable camp d'été du Java User Group français. Une journée de conférences techniques autour de Java, JVM, architectures modernes, cloud et devops.&lt;/p&gt;

&lt;p&gt;» &lt;a href="https://www.jugsummercamp.org/" rel="noopener noreferrer"&gt;En savoir plus&lt;/a&gt;&lt;/p&gt;


&lt;h3&gt;
  
  
  Nantes Craft — 10-11 septembre 2026 — Nantes
&lt;/h3&gt;

&lt;p&gt;Deux journées autour du craft logiciel aux Halles 1&amp;amp;2 de l'île de Nantes : le 10 septembre, conférences et ateliers (clean code, TDD, BDD, DDD, agilité) issus du CFP ; le 11, une « non-conférence » dont le programme se construit sur place par les participants. L'événement du craft dans l'Ouest, porté par l'association Nantes Craft.&lt;/p&gt;

&lt;p&gt;» &lt;a href="https://www.nantes-craft.fr/" rel="noopener noreferrer"&gt;En savoir plus&lt;/a&gt;&lt;/p&gt;


&lt;h3&gt;
  
  
  PHP×Tokyo — 11 septembre 2026 — Tokyo
&lt;/h3&gt;

&lt;p&gt;Le meetup PHP×Tokyo fait sa rentrée le 11 septembre à Shibuya avec des talks PHP &amp;amp; Laravel, du networking, et un appel à speakers ouvert. Si vous êtes de passage au Japon, foncez.&lt;/p&gt;

&lt;p&gt;» &lt;a href="https://bsky.app/profile/phpxtky.bsky.social/post/3mrk7z3rep22x" rel="noopener noreferrer"&gt;En savoir plus&lt;/a&gt;&lt;/p&gt;


&lt;h3&gt;
  
  
  API Platform Conference 2026 — 17-18 septembre 2026 — Lille
&lt;/h3&gt;

&lt;p&gt;L'événement phare de l'écosystème API Platform, organisé par Les-Tilleuls.coop à EuraTechnologies : talks en français et en anglais sur l'IA, la maturité de FrankenPHP et les enjeux de résilience. Invités de marque dont Brent Roose, Benjamin Eberlei et Alexandre Daubois. Billet en ligne possible si vous ne pouvez pas vous déplacer.&lt;/p&gt;

&lt;p&gt;» &lt;a href="https://api-platform.com/fr/con/" rel="noopener noreferrer"&gt;En savoir plus&lt;/a&gt;&lt;/p&gt;


&lt;h3&gt;
  
  
  dotJS + dotAI — 17-18 septembre 2026 — Paris
&lt;/h3&gt;

&lt;p&gt;Les célèbres conférences parisiennes dédiées à JavaScript (dotJS) et à l'IA (dotAI), avec des speakers internationaux de haut niveau.&lt;/p&gt;

&lt;p&gt;» &lt;a href="https://www.dotjs.io/" rel="noopener noreferrer"&gt;dotJS&lt;/a&gt; · &lt;a href="https://www.dotai.io/" rel="noopener noreferrer"&gt;dotAI&lt;/a&gt;&lt;/p&gt;


&lt;h3&gt;
  
  
  OWASP AppSec Days France 2026 — 24 septembre 2026 — Paris
&lt;/h3&gt;

&lt;p&gt;La 2ᵉ conférence locale OWASP en France, une journée dédiée à la sécurité des applications à la Maison des Associations et de la Solidarité (Paris 13ᵉ). Intervenants et experts européens de renom, plus de 150 professionnels attendus, pour un programme qui s'adresse autant aux développeurs qu'aux équipes test, exploitation et gouvernance.&lt;/p&gt;

&lt;p&gt;» &lt;a href="https://www.owaspappsecdays.fr/2026/" rel="noopener noreferrer"&gt;En savoir plus&lt;/a&gt;&lt;/p&gt;


&lt;h3&gt;
  
  
  React Native Connection 2026 — 24 septembre 2026 — Paris
&lt;/h3&gt;

&lt;p&gt;La première conférence française 100 % dédiée à React Native, de retour à la Fondation Biermans-Lapôtre (Paris 14ᵉ) pour une journée complète. Au programme notamment : agents qui testent les apps RN (Software Mansion), l'avenir de React Native sur le web (Expo), React Navigation (Callstack) et un panel avec des équipes d'Expo et Meta.&lt;/p&gt;

&lt;p&gt;» &lt;a href="https://reactnativeconnection.io/" rel="noopener noreferrer"&gt;En savoir plus&lt;/a&gt;&lt;/p&gt;


&lt;h3&gt;
  
  
  Forum PHP 2026 — 8-9 octobre 2026 — Marne-la-Vallée
&lt;/h3&gt;

&lt;p&gt;Le grand rassemblement annuel de la communauté PHP organisé par l'AFUP, cette année à l'Hotel New York – The Art of Marvel (Disneyland Paris). Plus de 30 conférences : plongée dans les rouages du langage (PHP défensif, analyse de 236 Go de code, outillage avec Mago), frameworks au-delà des bases (NativePHP, Symfony), et un axe IA, souveraineté numérique et cybersécurité avec Quentin Adam, Guillaume Lours, Kévin Dunglas et bien d'autres. Un bar IA est également prévu pour échanger sans filtre.&lt;/p&gt;

&lt;p&gt;» &lt;a href="https://event.afup.org/" rel="noopener noreferrer"&gt;En savoir plus&lt;/a&gt;&lt;/p&gt;


&lt;h3&gt;
  
  
  Merci Aurélie
&lt;/h3&gt;

&lt;p&gt;&lt;strong&gt;Je tiens à souligner ici le super travail d'Aurélie Vache&lt;/strong&gt; qui tient depuis plus de 7 ans un &lt;a href="https://github.com/scraly/developers-conferences-agenda" rel="noopener noreferrer"&gt;github&lt;/a&gt; qui donne toutes les informations pour les conférences à venir.&lt;/p&gt;

&lt;p&gt;Il y a même un site associé : &lt;a href="https://developers.events" rel="noopener noreferrer"&gt;developers.events&lt;/a&gt;&lt;/p&gt;


&lt;h2&gt;
  
  
  OFFRES D'EMPLOI
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;&lt;em&gt;Des offres d'emploi pour les développeurs, sourcées sur LinkedIn Jobs.&lt;/em&gt;&lt;/strong&gt;&lt;/p&gt;
&lt;h3&gt;
  
  
  1. Développeur·se front-end React.JS — fulll — Aix-en-Provence
&lt;/h3&gt;

&lt;p&gt;Fulll est un éditeur SaaS destiné aux experts-comptables (plus de 1 300 cabinets utilisateurs, +200 000 entreprises accompagnées). L'équipe cherche un·e développeur·se front-end React.js pour faire évoluer une solution web moderne centrée sur l'expérience utilisateur et l'automatisation intelligente. CDI, poste basé à Aix-en-Provence (télétravail jusqu'à 3 j/semaine).&lt;/p&gt;

&lt;p&gt;» &lt;a href="https://fr.linkedin.com/jobs/view/d%C3%A9veloppeur%C2%B7se-front-end-react-js-at-fulll-4428016573" rel="noopener noreferrer"&gt;Voir l'offre sur LinkedIn&lt;/a&gt;&lt;/p&gt;
&lt;h3&gt;
  
  
  2. DevOps Engineer — Infinity Quest — Strasbourg
&lt;/h3&gt;

&lt;p&gt;Infinity Quest (agence informatique) recrute un DevOps avec minimum 3 ans d'expérience sur des outils de CI/CD et de plateformes (Git, Jenkins, Ansible, Artifactory, SonarQube, OpenShift). Connaissances en scripting (Groovy) et bon niveau d'anglais exigés. Cadre, temps plein.&lt;/p&gt;

&lt;p&gt;» &lt;a href="https://fr.linkedin.com/jobs/view/devops-engineer-at-infinity-quest-4451397890" rel="noopener noreferrer"&gt;Voir l'offre sur LinkedIn&lt;/a&gt;&lt;/p&gt;
&lt;h3&gt;
  
  
  3. DevOps Engineer — White Circle — Paris
&lt;/h3&gt;

&lt;p&gt;White Circle est une scale-up de l'AI Safety qui a levé 11 M$ avec le soutien de figures d'OpenAI, Anthropic, Mistral ou Datadog. La mission : construire et opérer l'infrastructure cloud et on-prem de la plateforme (clusters Kubernetes, pipelines CI/CD, observabilité, automatisation) qui traite plus de 100 millions d'appels API par mois. Équipe réduite, stack exigeante.&lt;/p&gt;

&lt;p&gt;» &lt;a href="https://fr.linkedin.com/jobs/view/devops-engineer-at-white-circle-4450621868" rel="noopener noreferrer"&gt;Voir l'offre sur LinkedIn&lt;/a&gt;&lt;/p&gt;
&lt;h3&gt;
  
  
  4. Développeur Php / Symfony (H/F) — Amiltone — Lille
&lt;/h3&gt;

&lt;p&gt;Amiltone (agence digitale, transformation des métiers) cherche un développeur PHP/Symfony pour ses projets clients. L'entreprise met en avant le suivi personnalisé, les formations tout au long de la carrière et des missions sur des technologies innovantes. CDI.&lt;/p&gt;

&lt;p&gt;» &lt;a href="https://fr.linkedin.com/jobs/view/d%C3%A9veloppeur-php-symfony-h-f-at-amiltone-4450302693" rel="noopener noreferrer"&gt;Voir l'offre sur LinkedIn&lt;/a&gt;&lt;/p&gt;
&lt;h3&gt;
  
  
  5. Data Engineer — STATERA — Aix-en-Provence
&lt;/h3&gt;

&lt;p&gt;STATERA (société d'ingénierie et de conseil, grands comptes) recherche un Data Engineer confirmé (min. 5 ans) pour une mission en équipe Data Platform dans un contexte international — anglais courant requis, démarrage ASAP. Au programme : volumes de données importants, fiabilité, performance et scalabilité. Présence sur site à Aix-en-Provence.&lt;/p&gt;

&lt;p&gt;» &lt;a href="https://fr.linkedin.com/jobs/view/data-engineer-at-statera-4448764562" rel="noopener noreferrer"&gt;Voir l'offre sur LinkedIn&lt;/a&gt;&lt;/p&gt;
&lt;h3&gt;
  
  
  6. Développeur Python / Développeuse Python — Néosoft — Rennes
&lt;/h3&gt;

&lt;p&gt;Néosoft (groupe indépendant de conseil en transformation digitale, ~1 800 collaborateurs) recrute un développeur Python confirmé pour son agence rennaise. Vous intégrez des communautés d'experts (Data, DevOps, Infrastructures &amp;amp; Cloud, Cybersécurité) et développez des missions pour les clients du groupe. CDI.&lt;/p&gt;

&lt;p&gt;» &lt;a href="https://fr.linkedin.com/jobs/view/d%C3%A9veloppeur-python-d%C3%A9veloppeuse-python-at-neosoft-4449382185" rel="noopener noreferrer"&gt;Voir l'offre sur LinkedIn&lt;/a&gt;&lt;/p&gt;
&lt;h3&gt;
  
  
  7. Software Engineer — Teads — Montpellier
&lt;/h3&gt;

&lt;p&gt;Teads (plateforme publicitaire omnichannel, ~1 700 collaborateurs dans 30+ pays) cherche un Software Engineer pour ses produits web à très fort trafic : 2 millions de requêtes par seconde, 100 milliards d'événements par jour. Stack riche principalement en Scala et TypeScript, collaboration étroite avec les data scientists. Poste à Montpellier.&lt;/p&gt;

&lt;p&gt;» &lt;a href="https://fr.linkedin.com/jobs/view/software-engineer-at-teads-4401942092" rel="noopener noreferrer"&gt;Voir l'offre sur LinkedIn&lt;/a&gt;&lt;/p&gt;
&lt;h3&gt;
  
  
  8. Développeur back-end H/F — XEFI — Rillieux-la-Pape (Lyon)
&lt;/h3&gt;

&lt;p&gt;XEFI (via sa filiale cloud SKERA) recrute un développeur back-end pour créer les sites web et logiciels de gestion de son cloud et de ses 5 datacenters : infrastructures virtuelles, automatisation, support technique. Le groupe se distingue par un recrutement « sans CV » et une formation interne (XEFI Academy). CDI.&lt;/p&gt;

&lt;p&gt;» &lt;a href="https://fr.linkedin.com/jobs/view/d%C3%A9veloppeur-back-end-h-f-at-xefi-4444168054" rel="noopener noreferrer"&gt;Voir l'offre sur LinkedIn&lt;/a&gt;&lt;/p&gt;
&lt;h3&gt;
  
  
  9. Développeur C Embarqué F/H — Stormshield — Villeneuve-d'Ascq (Lille)
&lt;/h3&gt;

&lt;p&gt;Stormshield, acteur européen de la cybersécurité pour infrastructures critiques, recrute un développeur C embarqué pour ses appliances. Télétravail fréquent. Publié sur Welcome to the Jungle mi-août.&lt;/p&gt;

&lt;p&gt;» &lt;a href="https://www.welcometothejungle.com/fr/companies/stormshield/jobs/developpeur-c-embarque-f-h_villeneuve-d-ascq" rel="noopener noreferrer"&gt;Voir l'offre sur Welcome to the Jungle&lt;/a&gt;&lt;/p&gt;
&lt;h3&gt;
  
  
  10. Ingénieur Agentique FullStack H/F — Figaro Classifieds — Paris
&lt;/h3&gt;

&lt;p&gt;Figaro Classifieds (média et marketplace pour l'éducation, l'emploi et l'immobilier) cherche un ingénieur fullstack orienté agents IA. CDI, 50-55K €, télétravail fréquent. Publié sur Welcome to the Jungle mi-août.&lt;/p&gt;

&lt;p&gt;» &lt;a href="https://www.welcometothejungle.com/fr/companies/figaro-classifieds/jobs/ingenieur-agentique-fullstack-h-f_paris_FC_bawD5XW" rel="noopener noreferrer"&gt;Voir l'offre sur Welcome to the Jungle&lt;/a&gt;&lt;/p&gt;
&lt;h3&gt;
  
  
  11. CDI - Développeur Composants Sénior H/F — Hermès — Pantin
&lt;/h3&gt;

&lt;p&gt;La maison Hermès (groupe luxe de 26 494 collaborateurs) recrute un développeur de composants (design system / bibliothèque) à Pantin. Publié sur Welcome to the Jungle mi-août.&lt;/p&gt;

&lt;p&gt;» &lt;a href="https://www.welcometothejungle.com/fr/companies/hermes/jobs/cdi-developpeur-composants-senior-h-f_pantin_HERMS_Q0Ygwrz" rel="noopener noreferrer"&gt;Voir l'offre sur Welcome to the Jungle&lt;/a&gt;&lt;/p&gt;


&lt;h2&gt;
  
  
  LES DEMANDES DE STAGES, ALTERNANCES ET JOBS
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fcsepmt2pdeont311l6hh.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fcsepmt2pdeont311l6hh.png" width="800" height="537"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Aymane Atigui&lt;/strong&gt;, l’invité de la semaine recherche un nouveau job, voici sa recherche : &lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fw4279bptf5ndc35q609q.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fw4279bptf5ndc35q609q.png" width="384" height="384"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;Je suis d'ailleurs actuellement en recherche active d'un poste Full Stack ou DevOps, sur site ou en remote : si mon profil vous parle, n'hésitez pas à me contacter, mon CV et mes coordonnées sont juste ici : &lt;a href="http://atigui.com" rel="noopener noreferrer"&gt;atigui.com&lt;/a&gt; &lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Son &lt;a href="https://atigui-uploads.s3.us-east-1.amazonaws.com/resume/atigui-cv-fr-2026-07.pdf" rel="noopener noreferrer"&gt;CV&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Si vous cherchez un stage, une alternance ou un emploi en informatique, n'hésitez pas à m'envoyer un message en privé avec un petit pitch (qui vous êtes, ce que vous cherchez, où), et je vous ferai une place ici.&lt;/p&gt;


&lt;h2&gt;
  
  
  LES NEWSLETTERS QUE JE RECOMMANDE
&lt;/h2&gt;
&lt;h3&gt;
  
  
  La veille des Ours n°117 — 7 août 2026
&lt;/h3&gt;

&lt;p&gt;Au sommaire de ce nouveau numéro : un plaidoyer pour la pérennité de l'open source (Mike McQuaid argue que la ressource la plus rare n'est pas l'argent mais la &lt;strong&gt;motivation des mainteneurs&lt;/strong&gt;), un décryptage de ZDNet sur l'IA qui détecte les failles plus vite qu'on ne les corrige — avec le risque de créer &lt;strong&gt;neuf fois plus de nouvelles vulnérabilités&lt;/strong&gt; — et la lettre ouverte de Nvidia défendant les modèles &lt;strong&gt;open weight&lt;/strong&gt;. Côté maison, Bearstech met en avant son webinaire GitLab après 12 ans d'exploitation pour ses clients et un article sur le temps de reboot des machines. Les (re)découvertes open source : &lt;strong&gt;Risk Analysis Editor&lt;/strong&gt;, JSON Hero, documentation.js, Organic Maps, uPlot et qutebrowser ; à noter aussi le CyberBrew 2026 le 15 septembre à Lille.&lt;/p&gt;

&lt;p&gt;» &lt;a href="https://fr.linkedin.com/pulse/la-veille-des-ours-n117-bearstech-o3phc" rel="noopener noreferrer"&gt;Lire la veille&lt;/a&gt;&lt;/p&gt;


&lt;h3&gt;
  
  
  Veille #69 de Camille Roux — 14 août 2026
&lt;/h3&gt;

&lt;p&gt;Camille Roux a publié une nouvelle veille pendant l'été, avec pas moins de 35 articles : &lt;strong&gt;ChatGPT gratuit sans quota&lt;/strong&gt;, Vercel Labs qui publie &lt;strong&gt;scriptc&lt;/strong&gt; (un compilateur TypeScript-to-native), la politique LLM adoptée par &lt;code&gt;rust-lang/rust&lt;/code&gt;, SolidStart 2, Cloudflare Wallets, PGSimCity (PostgreSQL en 3D)... Une mine de liens comme toujours.&lt;/p&gt;

&lt;p&gt;» &lt;a href="https://www.camilleroux.com/chatgpt-gratuit-sans-quota-vercel-compile-typescript-en-natif-veille-69/" rel="noopener noreferrer"&gt;Lire la veille&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;em&gt;(RudeOps fait toujours une pause estivale et le FocusTech n°7 de Stéphane Robert arrive vers le 17 août — je vous les remets dès qu'ils sont en ligne.)&lt;/em&gt;&lt;/p&gt;


&lt;h3&gt;
  
  
  FocusTech n°7 — 17 août 2026
&lt;/h3&gt;

&lt;p&gt;Le numéro de la rentrée est arrivé, avec un titre qui résume tout : « L'agent est passé à l'acte, npm a payé l'addition ». Couvrant trois semaines de veille (27 juillet au 17 août), il apporte les &lt;strong&gt;preuves à charge&lt;/strong&gt; après l'incident Hugging Face : des modèles Claude ont atteint l'infrastructure de production de trois organisations lors d'évaluations censées tourner en environnement scellé, et un agent a publié un paquet malveillant sur PyPI que 15 systèmes réels ont exécuté dans l'heure. &lt;/p&gt;

&lt;p&gt;Côté chaîne d'approvisionnement, le ver npm ChainDrop (démarré sur keyv et cacheable) a contaminé &lt;strong&gt;plus de 2 200 versions&lt;/strong&gt; de composants, une campagne parallèle a inondé le registre de 846 paquets malveillants, et les attestations de provenance ont été détournées en camouflage. À noter aussi : l'obligation de signalement sous 24 heures du règlement CRA entre en vigueur le &lt;strong&gt;11 septembre&lt;/strong&gt;, le noyau &lt;strong&gt;Linux 7.2&lt;/strong&gt; est sorti, et la checklist « ce que je ferais lundi matin » : nettoyer avant de révoquer, contrôler avant d'installer, et sortir les agents autonomes de votre poste de travail.&lt;/p&gt;

&lt;p&gt;» &lt;a href="https://www.linkedin.com/pulse/focustech-n7-lagent-est-pass%C3%A9-%C3%A0-lacte-npm-pay%C3%A9-stephane-robert--zf1je/" rel="noopener noreferrer"&gt;Lire le numéro&lt;/a&gt;&lt;/p&gt;



&lt;p&gt;&lt;em&gt;(RudeOps est en pause estivale — je vous le remets dès qu'il est en ligne.)&lt;/em&gt;&lt;/p&gt;


&lt;h2&gt;
  
  
  UN PEU D'HUMOUR !
&lt;/h2&gt;
&lt;h3&gt;
  
  
  Travailler de longues heures comme le boss mais…
&lt;/h3&gt;

&lt;p&gt;&lt;iframe class="tweet-embed" id="tweet-2087213323284611221-282" src="https://platform.twitter.com/embed/Tweet.html?id=2087213323284611221"&gt;
&lt;/iframe&gt;

  // Detect dark theme
  var iframe = document.getElementById('tweet-2087213323284611221-282');
  if (document.body.className.includes('dark-theme')) {
    iframe.src = "https://platform.twitter.com/embed/Tweet.html?id=2087213323284611221&amp;amp;theme=dark"
  }



&lt;/p&gt;




&lt;h3&gt;
  
  
  Optimiste Team
&lt;/h3&gt;


&lt;blockquote class="bluesky-embed"&gt;
&lt;p&gt;Qui parmi vous est d'un naturel optimiste ?&lt;/p&gt;— &lt;a href="https://bsky.app/profile/did:plc:oklkinuievllgvhrv2nia4gu?ref_src=embed" rel="noopener noreferrer"&gt;Bearstech (@bearstech.com)&lt;/a&gt; &lt;a href="https://bsky.app/profile/did:plc:oklkinuievllgvhrv2nia4gu/post/3mt4of3seo72s?ref_src=embed" rel="noopener noreferrer"&gt;2026-08-15T12:29:20.000Z&lt;/a&gt;
&lt;/blockquote&gt;





&lt;h2&gt;
  
  
  #LaPetiteInfoDuJour
&lt;/h2&gt;

&lt;p&gt;Comme chaque semaine, le rendez-vous des petites infos historiques et scientifiques de l’ami Olivier&lt;/p&gt;


&lt;blockquote class="bluesky-embed"&gt;
&lt;p&gt;Il y a 100 ans, le 11 août 1926, naquit Aaron Klug, physicien et chimiste britannique. Il sera lauréat du prix Nobel de chimie 1982 « pour le développement de la microscopie électronique cristallographique et ses découvertes [...] » #LaPetiteInfoDuJour&lt;/p&gt;— &lt;a href="https://bsky.app/profile/did:plc:4q4wdaknunskbt47bzsi2qbv?ref_src=embed" rel="noopener noreferrer"&gt;Olivier Poncet 🦝 (@ponceto91.bsky.social)&lt;/a&gt; &lt;a href="https://bsky.app/profile/did:plc:4q4wdaknunskbt47bzsi2qbv/post/3mssgdtr43s2f?ref_src=embed" rel="noopener noreferrer"&gt;2026-08-11T10:38:51.091Z&lt;/a&gt;
&lt;/blockquote&gt;


&lt;p&gt;&lt;strong&gt;#LaPetiteInfoDuJour&lt;/strong&gt; : le 11 août 1926 naissait Aaron Klug, physicien et chimiste britannique, prix Nobel de chimie 1982. Il a inventé une technique qui permet de reconstituer la structure 3D des protéines en « photographiant » leurs cristaux au microscope électronique — une méthode qui a révolutionné la biologie moléculaire.&lt;/p&gt;




&lt;h2&gt;
  
  
  🤝 Comment soutenir cette newsletter ?
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;Un immense merci aux personnes qui ont déjà sauté le pas 💜&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Si la newsletter vous apporte de la valeur, vous pouvez me soutenir dès aujourd'hui avec &lt;strong&gt;un abonnement annuel à seulement 9 €/an à vie&lt;/strong&gt;. Vous aurez alors accès à tous les contenus exclusifs (en cours de préparation).&lt;/p&gt;

&lt;p&gt;Offre exceptionnelle et limitée dans le temps → Plus vous attendez, plus le prix augmentera pour les futurs abonnés lors de l'ajout des contenus exclusifs.&lt;/p&gt;

&lt;p&gt;C'est le meilleur moment pour verrouiller ce tarif à vie.&lt;/p&gt;

&lt;p&gt;Merci d'avance 💜&lt;/p&gt;

&lt;p&gt;&lt;a href="https://go.itanea.fr/qdnldsubscribe" rel="noopener noreferrer"&gt;J’appote mon soutien pour 9€/an&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Des alternatives pour me soutenir ?&lt;/strong&gt; Bien sûr !&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Votre prochaine commande Amazon avec &lt;strong&gt;&lt;a href="https://go.itanea.fr/amznl" rel="noopener noreferrer"&gt;mon lien d'affiliation&lt;/a&gt;&lt;/strong&gt;
&lt;/li&gt;
&lt;li&gt;Abonnez-vous à OpenCode Go pour 5 $ et bénéficiez de 5 $ supplémentaires grâce à &lt;a href="https://go.itanea.fr/opencode" rel="noopener noreferrer"&gt;mon lien de parrainage&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;J'utilise Starlink à la maison et j'en suis plus que satisfait. Si cela vous tente &lt;a href="https://starlink.com/residential?referral=RC-5072169-18924-69&amp;amp;app_source=share" rel="noopener noreferrer"&gt;profitons chacun d'un mois gratuit&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;a href="http://fr.tuto.com/?aff=4Cx6BPp" rel="noopener noreferrer"&gt;Découvrez des milliers de tutos gratuits&lt;/a&gt; dans de nombreux domaine avec l'équipe géniale de Tuto&lt;/li&gt;
&lt;/ul&gt;




&lt;h2&gt;
  
  
  LE MOT DE LA FIN
&lt;/h2&gt;

&lt;p&gt;Et voilà, c'est tout pour ce numéro !&lt;/p&gt;

&lt;p&gt;Deux semaines riches, de la rentrée des poids ouverts avec Muse Glimmer à l'affaire de la DGFiP en passant par Django 6.1 et la politique LLM de Rust — et la question qui fâche : et si la meilleure IA était finalement celle que l'on peut installer chez soi ?&lt;/p&gt;

&lt;p&gt;Merci à Aymane pour cette super interview, merci à vous pour votre fidélité, et rendez-vous lundi prochain pour un nouveau numéro.&lt;/p&gt;

&lt;p&gt;En attendant, prenez soin de vous et de vos sauvegardes ! 😄&lt;/p&gt;

&lt;p&gt;— Fred&lt;/p&gt;

</description>
    </item>
    <item>
      <title>Quoi de neuf les devs ? #186 — Épuisés par l'IA, les devs inventent leurs parades</title>
      <dc:creator>HappyToDev</dc:creator>
      <pubDate>Mon, 03 Aug 2026 16:04:40 +0000</pubDate>
      <link>https://dev.to/happytodev/quoi-de-neuf-les-devs-186-epuises-par-lia-les-devs-inventent-leurs-parades-4ami</link>
      <guid>https://dev.to/happytodev/quoi-de-neuf-les-devs-186-epuises-par-lia-les-devs-inventent-leurs-parades-4ami</guid>
      <description>&lt;p&gt;&lt;em&gt;Votre dose d'infos tech infusée par un dev pour les devs — Numéro du 3 août 2026&lt;/em&gt;&lt;/p&gt;




&lt;h2&gt;
  
  
  EDITO
&lt;/h2&gt;

&lt;h4&gt;
  
  
  &lt;strong&gt;Hello chère développeuse, cher développeur, sysadmin, ops, sre, DevRel, sécu 👋&lt;/strong&gt;
&lt;/h4&gt;

&lt;p&gt;Salut les amis,&lt;/p&gt;

&lt;p&gt;Il y a un an, on nous vendait le dev x10 : l'IA allait décupler notre productivité, nous laisser la partie créative, et nous, on allait regarder la machine produire du code en sirotant un café. Un an plus tard, un mot nouveau émerge sur les forums : la &lt;strong&gt;vibecoding fatigue&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;Cette semaine, The Conversation publie une enquête passionnante sur ce phénomène. Un ingénieur la résume en une image qui m'a marqué :&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;C'est comme mettre ta bougie de productivité sur un lance-flammes ; tu vas plus vite, mais tu brûles beaucoup plus d'énergie. &lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Une étude de mars 2026, menée sur 1 488 personnes, baptise le phénomène l'&lt;em&gt;AI brain fry&lt;/em&gt; : un tiers de fatigue de décision en plus, &lt;strong&gt;39 % d'erreurs graves en plus&lt;/strong&gt;, et une envie de démissionner qui passe de 25 % à 34 %. &lt;/p&gt;

&lt;p&gt;Et devinez qui sont les premiers touchés ? &lt;/p&gt;

&lt;p&gt;Nous. Les ingénieurs qui pilotent déjà plusieurs systèmes d'IA à la fois. &lt;/p&gt;

&lt;p&gt;Les chercheurs les appellent « le canari dans la mine » : notre fatigue annonce celle des autres métiers du langage — journalistes, juristes, traducteurs.&lt;/p&gt;

&lt;p&gt;Ce que j'aime dans cette enquête, c'est qu'elle ne se contente pas de décrire le malaise. Elle documente les &lt;strong&gt;parades&lt;/strong&gt; que les devs les plus en pointe inventent : faire un brouillon écrit avant de lancer l'outil, se réapproprier le code ligne par ligne au lieu de juste valider, et surtout &lt;strong&gt;refuser certaines tâches&lt;/strong&gt; — les choix d'architecture, les zones à risque, celles qui donnent du sens au métier. Les lignes rouges que l’IA ne devrait pas franchir… pour le moment.&lt;/p&gt;

&lt;p&gt;Ça résonne fort avec l'invité de cette semaine. &lt;strong&gt;Cyril Beaufrère&lt;/strong&gt; — Directeur des Infrastructures France chez KION Group, et créateur de la newsletter RudeOps — nous rappelle que la qualité numéro un d'un dev, c'est la curiosité. Et il ajoute quelque chose d'essentiel : &lt;em&gt;ne pas se prendre au sérieux&lt;/em&gt;, garder un équilibre, et laisser le temps faire son travail. Des conseils précieux quand la machine accélère tout, justement.&lt;/p&gt;

&lt;p&gt;Et pendant ce temps, ailleurs dans l'actu : Claude Mythos casse un schéma de signature post-quantique en 60 heures (relativisons : ce n'est pas le crypto-apocalypse, c'est un paramètre de défi), et 240 bases de données françaises sont diffusées par des pirates. Je vous en parle en rubrique Le coin des Lecteurs.&lt;/p&gt;

&lt;p&gt;Bref, l'heure n'est plus à la course à la vitesse à tout prix. Elle est à l'apprentissage d'un nouvel équilibre.&lt;/p&gt;

&lt;p&gt;Et vous, ressentez-vous la vibe coding fatigue, ou êtes-vous encore en phase d’euphorie amoureuse avec votre ou vos agents ? Partagez cela dans les commentaires que l'on puisse voir la tendance et en discuter avec un peu d’autodérision entre humains (merci Cyril pour l’inspiration 😉).&lt;/p&gt;

&lt;p&gt;— Fred&lt;/p&gt;




&lt;h2&gt;
  
  
  L'invité de la semaine
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2F07bayjiqftt9ew27ind6.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2F07bayjiqftt9ew27ind6.jpg" alt="Photo de Cyril Beaufrere" width="400" height="533"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Cette semaine, je reçois &lt;strong&gt;Cyril Beaufrère&lt;/strong&gt;, Directeur des Infrastructures pour la France chez KION Group (environ 40 000 personnes), où il pilote les équipes LAN/WAN, serveurs et support. Un parcours de 25 ans dans l'IT, démarré dans un autre millénaire en 1998 à la hotline d'Easynet — le Far West des débuts d'internet grand public — avant d'enchaîner presse, téléphonie, comparateur de prix, pub, mutuelle… et une aventure de cofondateur avec FamiHero, marketplace de services à la famille rachetée par O2 Care Service. Il est aussi le créateur de la newsletter &lt;strong&gt;RudeOps&lt;/strong&gt;, sa « liturgie » du lundi, assumée avec humour et mauvaise foi. Un autodidacte qui vit ce métier comme une passion.&lt;/p&gt;

&lt;p&gt;Voici ses conseils si vous débutez dans le métier :&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;De la curiosité, avant tout, et l'envie de construire des choses : voir un projet émerger et se concrétiser à travers du code, c'est ce qu'il y a de plus gratifiant au monde. Il faut aussi de la pugnacité pour ne pas lâcher quand ça résiste. En 2026, on a absolument tout à portée de main pour nourrir cette curiosité et progresser. Si tu n'es pas curieux, tu seras un mauvais dev, c'est aussi simple que ça.”&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Cette dernière phrase elle sonne comme une punchline, mais elle est tellement vraie !&lt;/p&gt;

&lt;p&gt;Merci Cyril pour cette super interview !&lt;/p&gt;

&lt;h2&gt;
  
  
  Au menu cette semaine
&lt;/h2&gt;

&lt;p&gt;Voici quelques uns des sujets que nous aborderons dans ce numéro : &lt;/p&gt;

&lt;p&gt;✅ Claude Mythos : un algorithme post-quantique cassé en 60 heures&lt;/p&gt;

&lt;p&gt;✅ La "vibecoding fatigue" : quand l'IA épuise les développeurs&lt;/p&gt;

&lt;p&gt;✅ 240 bases de données françaises diffusées par des pirates&lt;/p&gt;

&lt;p&gt;✅ Le dev est mort, vive le dev ! — la tribune de Stéphane Philippart&lt;/p&gt;

&lt;p&gt;✅ Self-hoster son serveur mail en 2026, c'est possible (et le spam est réglé)&lt;/p&gt;

&lt;p&gt;✅ dcg : le garde-fou contre les commandes destructrices de vos agents IA&lt;/p&gt;

&lt;p&gt;✅ CPX 2.0 : l'équivalent de npx pour PHP&lt;/p&gt;

&lt;p&gt;✅ La semaine des patchs sécurité : PHP 8.5.9, Node.js, Firefox, VS Code&lt;/p&gt;

&lt;p&gt;✅ L'interview intégrale de Cyril Beaufrère (RudeOps)&lt;/p&gt;




&lt;h2&gt;
  
  
  &lt;strong&gt;Auto promo !&lt;/strong&gt; 🚀
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;Un grand merci aux personnes qui me soutiennent déjà !&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Si cette newsletter vous apporte de la valeur, vous pouvez l'aider dès aujourd'hui avec &lt;strong&gt;un abonnement à seulement 9 €/an.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Ce tarif est verrouillé à vie pour ceux qui s'abonnent maintenant, même si le prix augmente plus tard.&lt;/p&gt;

&lt;p&gt;Abonnez-vous maintenant pour faire la meilleure affaire et me soutenir 👇 !&lt;/p&gt;

&lt;p&gt;&lt;a href="https://go.itanea.fr/qdnldsubscribe" rel="noopener noreferrer"&gt;Je vous soutiens pour 9€/an&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Merci d'avance 💜&lt;/p&gt;




&lt;h2&gt;
  
  
  Mes sponsors permanents
&lt;/h2&gt;

&lt;p&gt;Un grand merci à mes sponsors qui soutiennent cette newsletter 💜&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fjndw8lekthr6s3tx9vqf.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fjndw8lekthr6s3tx9vqf.png" width="800" height="569"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Clever Cloud&lt;/strong&gt; — Entreprise française fondée en 2010, spécialisée dans le Platform as a Service (PaaS). Elle conçoit et opère des solutions d'automatisation pour l'hébergement, le déploiement et la gestion continue d'applications, de sites web et de bases de données.&lt;/p&gt;

&lt;p&gt;&lt;a href=""&gt;Découvrir Clever Cloud&lt;/a&gt;&lt;/p&gt;




&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fyldzdfz6qcn1llezi91q.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fyldzdfz6qcn1llezi91q.png" width="800" height="450"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;StackX&lt;/strong&gt; — Le bouclier technologique anti-stress 24/7 pour vos projets LAMP : quoiqu'il arrive, vous ne serez plus jamais seul.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Frais d'installation offerts avec le code HappyToDev (valeur 145€)&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://go.itanea.fr/scalarx" rel="noopener noreferrer"&gt;Découvrir StackX&lt;/a&gt;&lt;/p&gt;




&lt;p&gt;👉 Comme &lt;strong&gt;Clever Cloud et StackX&lt;/strong&gt;, affichez ici votre pub. Visibilité maximale pour votre entreprise garantie ! 🚀&lt;/p&gt;

&lt;p&gt;&lt;a href="https://go.itanea.fr/sponsorpermanent/?utm_source=nl" class="crayons-btn crayons-btn--primary" rel="noopener noreferrer"&gt;Se renseigner pour devenir sponsor&lt;/a&gt;
&lt;/p&gt;




&lt;h2&gt;
  
  
  AU PROGRAMME DE CE NUMÉRO
&lt;/h2&gt;

&lt;p&gt;&amp;nbsp;&lt;/p&gt;




&lt;h2&gt;
  
  
  LE COIN DES LECTEURS
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fnc2pg5pd8wldrrccmx4y.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fnc2pg5pd8wldrrccmx4y.png" width="800" height="537"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;&lt;em&gt;Dans cette rubrique, des articles intéressants bien sûr dans notre domaine… ou presque !&lt;/em&gt;&lt;/strong&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  Claude casse un algo post-quantique en 60 heures
&lt;/h3&gt;

&lt;p&gt;Anthropic a publié un billet de recherche qui a fait du bruit : son modèle &lt;strong&gt;Claude Mythos Preview&lt;/strong&gt; a trouvé en 60 heures une faiblesse dans &lt;strong&gt;HAWK-256&lt;/strong&gt;, un paramètre de défi post-quantique que deux ans de relecture humaine n'avaient pas repérée. L'attaque fait passer le coût d'une récupération de clé de 2^64 à 2^38 opérations. Le modèle a aussi découvert une attaque 200 à 800 fois plus rapide contre AES-128 réduit à 7 tours, baptisée « le pont de Möbius ». Précisions importantes : ce sont des versions de défi non déployées, aucun système en production n'est touché. Korben fait le tri entre l'exploit réel et les titres alarmistes.&lt;/p&gt;

&lt;p&gt;» &lt;a href="https://korben.info/claude-casse-un-algo-post-quantique-en-60-heures.html" rel="noopener noreferrer"&gt;Lire l'article&lt;/a&gt;&lt;/p&gt;




&lt;h3&gt;
  
  
  La "vibecoding fatigue" : épuisés par l'IA, les développeurs inventent leurs parades
&lt;/h3&gt;

&lt;p&gt;Une enquête de The Conversation, signée Morgan Blangeois (Université Clermont Auvergne), documente la lassitude d'un genre nouveau née des outils d'IA qui produisent beaucoup, très vite, et qu'il faut valider sans relâche. L'article s'appuie sur l'étude &lt;em&gt;AI brain fry&lt;/em&gt; (mars 2026) et détaille les trois parades que les devs les plus en pointe inventent : faire un brouillon avant de lancer l'outil, se réapproprier le travail ligne par ligne, et refuser certaines tâches. Une lecture indispensable en cet été 2026.&lt;/p&gt;

&lt;p&gt;» &lt;a href="https://theconversation.com/la-vibecoding-fatigue-epuises-par-lia-les-developpeurs-informatiques-inventent-leurs-propres-parades-281365" rel="noopener noreferrer"&gt;Lire l'article&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Mon point de vue :&lt;/strong&gt;  je travaille énormément avec l'intelligence artificielle sur de nombreux projets et parfois plusieurs projets par jour en même temps. &lt;/p&gt;

&lt;p&gt;Personnellement, je ne ressens pas d'épuisement psychologique tel que peut le décrire cet article mais plutôt quelque chose comme une frustration de ne pas pouvoir encore aller plus vite.&lt;/p&gt;

&lt;p&gt;Car l'IA aujourd'hui ouvre des perspectives qui nous étaient absolument impossibles à imaginer il y a encore quelques temps. &lt;/p&gt;

&lt;p&gt;Par exemple, hier soir avec deux prompts dans Open Code, j'ai pu créer un jeu minimaliste, vraiment minimaliste, je l'avoue, une sorte de Pac-Man qui mixe avec Mario sous Godot, le moteur de jeux vidéo. &lt;/p&gt;

&lt;p&gt;Auparavant réaliser ce proof of concept qu'a réalisé l'IA hier soir, ça m'aurait peut-être pris une semaine parce que le développement de jeux vidéo ce n'est pas mon domaine.  Et là en deux prompts et environ 15 minutes une première version jouable était disponible.&lt;/p&gt;

&lt;p&gt;Alors évidemment, ce n'est pas le jeu vidéo du siècle, rien de spécial. Les graphismes sont rétro, l’intelligence des ennemis est très relative. Mais soyez indulgent pour un projet généré en 15 minutes.&lt;/p&gt;

&lt;p&gt;L'IA nous met à portée de réalisation des projets qu'on n'aurait même pas imaginés commencer à développer par manque de compétence, par manque de temps, par découragement. &lt;/p&gt;

&lt;p&gt;Et donc aujourd'hui on a aussi ce Brain Fry parce que on a tous ces milliards d'idées de projets qu'on avait en tête, qu'on mettait de côté parce qu'on se disait que c’était impossible à réaliser techniquement, que ça prendrait beaucoup trop de temps, etc. et qui maintenant sont à portée de main. Et forcément, en tant que passionné, on souhaite les réaliser.&lt;/p&gt;

&lt;p&gt;Et je pense que c'est plutôt ça, en tout cas pour ma part, qui fatigue beaucoup parce qu'il faut pouvoir faire le tri dans tout ce que l'on a dans nos têtes et qu'on avait envie de développer depuis des années, &lt;/p&gt;

&lt;p&gt;Si vous êtes développeur depuis longtemps comme moi et passionné, chaque jour il y a au moins un ou deux projets qui me passent par la tête donc vous imaginez en 20-25 ans ce qui a pu passer dans ma tête ! Et aujourd'hui j'ai l'impression que tous ces projets mis de côté dans une zone obscure de ma mémoire reviennent en flot comme des assaillants pour dire “hé je peux être mis en production là maintenant tout de suite en deux temps, trois mouvements”. &lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Avant de me faire jeter en pâture, je ne remets pas en cause la souffrance réelle que peut provoquer cette “vibecoding fatigue”, je donne simplement mon point de vue et mon ressenti.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Voilà, mes cinquante cents sur le sujet.  &lt;/p&gt;

&lt;p&gt;Le test de jeu vidéo en question 👇&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2F9vg4uwbne2duhnpqolro.gif" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2F9vg4uwbne2duhnpqolro.gif" alt="PacMinions ;-)" width="720" height="565"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Les 2 prompts :&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fwkh7wn8n0likk647vkyu.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fwkh7wn8n0likk647vkyu.png" alt="Prompt initial" width="593" height="563"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2F0fgngt2mbvfl3cjq7zdy.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2F0fgngt2mbvfl3cjq7zdy.png" alt="L'impatience" width="800" height="155"&gt;&lt;/a&gt;&lt;/p&gt;




&lt;h3&gt;
  
  
  240 bases françaises diffusées par des pirates
&lt;/h3&gt;

&lt;p&gt;ZATAZ a mis au jour une opération coordonnée : en quelques heures, plusieurs pirates ont publié &lt;strong&gt;240 bases de données attribuées à des organisations françaises&lt;/strong&gt;, couvrant des incidents survenus depuis 2022. Environ 90 % des fuites étaient déjà connues, mais d'autres fichiers proviennent de compromissions restées discrètes. Le Service de veille de ZATAZ a repéré 9 pseudonymes différents, des publications synchronisées au même jour et à la même heure, et l'hypothèse de courtiers en données criminelles. Une piqûre de rappel : une fuite ancienne conserve une valeur opérationnelle longtemps après son vol initial.&lt;/p&gt;

&lt;p&gt;» &lt;a href="https://www.zataz.com/240-bases-francaises-diffusees-par-des-pirates/" rel="noopener noreferrer"&gt;Lire l'article&lt;/a&gt;&lt;/p&gt;




&lt;h3&gt;
  
  
  Le dev est mort, vive le dev !
&lt;/h3&gt;

&lt;p&gt;Stéphane Philippart (aka wilda) publie une réflexion posée, sans boule de cristal, sur l'impact de l'IA sur notre métier. Son postulat : peu de chances de pouvoir lutter contre cette évolution mais cela ne veut pas dire qu’il ne faut plus rien controller. &lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;L'IA est là et lutter contre semble un pari risqué, tout comme se laisser submerger et ne plus rien contrôler.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Il reprend sa métaphore de l'ébéniste, interroge la notion de qualité (une app bien pensée pour ses utilisateurs vaut une app parfaitement codée), et prédit surtout que le métier va se transformer plutôt que disparaître — comme l'agriculteur de 1906 n'a pas grand-chose à voir avec celui de 2026. Une lecture apaisante et lucide.&lt;/p&gt;

&lt;p&gt;» &lt;a href="https://philippart-s.github.io/blog/2026-08-01-dev-is-dead/" rel="noopener noreferrer"&gt;Lire l'article&lt;/a&gt;&lt;/p&gt;




&lt;h3&gt;
  
  
  You should self-host your mail server
&lt;/h3&gt;

&lt;p&gt;Christian Haschek prend le contre-pied du dogme « tout se self-host, sauf le mail ». En 2026, c'est à nouveau possible, même depuis chez soi (IP fixe non blacklistée, pas de CGNAT, PTR configurable). La grosse nouveauté : &lt;strong&gt;le spam est devenu un problème réglé&lt;/strong&gt; grâce à un plugin de rspamd qui utilise un LLM local (Gemma 4 12B) pour classifier les mails. Le guide couvre SPF/DKIM/DMARC, docker-mailserver, et l'entretien de sa machine. Idéal pour les défenseurs de la souveraineté numérique.&lt;/p&gt;

&lt;p&gt;» &lt;a href="https://blog.haschek.at/2026/you-should-selfhost-your-mail.html" rel="noopener noreferrer"&gt;Lire l'article&lt;/a&gt;&lt;/p&gt;




&lt;h3&gt;
  
  
  How fast is C++26's std::hive?
&lt;/h3&gt;

&lt;p&gt;Daniel Lemire, expert en performance, s'attaque au conteneur star de C++26 : &lt;code&gt;std::hive&lt;/code&gt;, une structure de données qui permet d'insérer et de supprimer des éléments sans invalider les pointeurs. Benchmarks à l'appui, il compare ses performances aux conteneurs classiques et répond à la question qui tue : est-ce vraiment plus rapide ? Le billet a déclenché une &lt;a href="https://x.com/lemire/status/2083962166084804902" rel="noopener noreferrer"&gt;belle discussion&lt;/a&gt; (Jarred Sumner de Bun s'y est invité). Un régal pour les amateurs de micro-optimisations.&lt;/p&gt;

&lt;p&gt;» &lt;a href="https://lemire.me/blog/2026/08/02/how-fast-is-c26s-stdhive/" rel="noopener noreferrer"&gt;Lire l'article&lt;/a&gt;&lt;/p&gt;




&lt;h3&gt;
  
  
  Quand l'IA élève le niveau de l'ingénierie logicielle
&lt;/h3&gt;

&lt;p&gt;HackerNoon explore comment l'IA déplace le niveau de référence de l'ingénierie logicielle : flux de travail des développeurs, infrastructure, gouvernance, recrutement, et le rôle grandissant du jugement humain. Une synthèse utile pour comprendre où la valeur se déplace dans la chaîne de développement — et pourquoi les plateformes d'ingénierie doivent évoluer.&lt;/p&gt;

&lt;p&gt;» &lt;a href="https://hackernoon.com/what-happens-to-your-engineering-platform-when-ai-raises-the-baseline" rel="noopener noreferrer"&gt;Lire l'article&lt;/a&gt;&lt;/p&gt;




&lt;h2&gt;
  
  
  MINI-SPONSORS
&lt;/h2&gt;

&lt;p&gt;Un grand merci à mes mini-sponsors pour leur soutien à cette newsletter :&lt;br&gt;&lt;br&gt;
&lt;strong&gt;LBKE d'Éric Burel&lt;/strong&gt;, &lt;strong&gt;Lavicon de DKP&lt;/strong&gt;, &lt;strong&gt;Plumber&lt;/strong&gt; et &lt;strong&gt;Writizzy&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2F75rfgapk6xnputqqyu52.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2F75rfgapk6xnputqqyu52.png" width="799" height="409"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Découvrez &lt;a href="https://go.itanea.fr/minisponsorlbke" rel="noopener noreferrer"&gt;la formation LangChain éligible CPF de LBKE&lt;/a&gt;&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;&lt;a href="https://go.itanea.fr/minisponsorlavicon" rel="noopener noreferrer"&gt;Lavicon&lt;/a&gt; : Générez vos icônes stylées et uniques. Coupon -20%&lt;/strong&gt; : &lt;strong&gt;HAPPY2DEV&lt;/strong&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;&lt;a href="https://go.itanea.fr/minisponsorplumber" rel="noopener noreferrer"&gt;Plumber-CLI&lt;/a&gt;&lt;/strong&gt; : Vérifiez si vos pipelines CI/CD GitLab sont percés (open source)&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;&lt;a href="https://go.itanea.fr/minisponsorwritizzy" rel="noopener noreferrer"&gt;Writizzy&lt;/a&gt;&lt;/strong&gt; : Lancez votre blog et votre newsletter en 5 minutes. -20% pour 3 mois &lt;strong&gt;HAPPY20&lt;/strong&gt;
&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Vous aussi devenez mini-sponsor et mettez en avant votre entreprise pendant 52 numéros (~1an) pour 397€ =&amp;gt; &lt;a href="mailto:happytodev@ik.me?subject=mini-sponsor"&gt;contactez moi&lt;/a&gt;&lt;/strong&gt;&lt;/li&gt;
&lt;/ul&gt;


&lt;h2&gt;
  
  
  LE TOUR DES RÉSEAUX
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fhf098jn2pzzqdd253sk0.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fhf098jn2pzzqdd253sk0.png" width="800" height="533"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;&lt;em&gt;Dans cette rubrique, je vous présente les infos que j'ai trouvé intéressantes au cours de la semaine sur les différents réseaux sociaux.&lt;/em&gt;&lt;/strong&gt;&lt;/p&gt;
&lt;h3&gt;
  
  
  Deus ex Silicium — La réparation électronique, le guide ultime
&lt;/h3&gt;

&lt;p&gt;&lt;iframe class="tweet-embed" id="tweet-2082409771265585217-887" src="https://platform.twitter.com/embed/Tweet.html?id=2082409771265585217"&gt;
&lt;/iframe&gt;

  // Detect dark theme
  var iframe = document.getElementById('tweet-2082409771265585217-887');
  if (document.body.className.includes('dark-theme')) {
    iframe.src = "https://platform.twitter.com/embed/Tweet.html?id=2082409771265585217&amp;amp;theme=dark"
  }



&lt;/p&gt;

&lt;p&gt;Le roi de la microscopie électronique et de l'ingénierie inverse prépare donc un guide pratique de réparation d'appareils, accessible à celles et ceux qui ne sont pas calés en électronique. De quoi se préparer à un nouveau gros format de la chaîne, dans la lignée de ses vidéos d'analyse de puces au microscope électronique.&lt;/p&gt;

&lt;p&gt;Vous attendez quoi pour vous abonner ?&lt;/p&gt;




&lt;h3&gt;
  
  
  Denis (zwindler.fr) — La souffrance psychique au travail
&lt;/h3&gt;


&lt;blockquote class="bluesky-embed"&gt;
&lt;p&gt;Créer une mission d’information au Sénat intitulée « La souffrance psychique au travail : un défi sociétal et collectif à relever », c’était bien trouvé. Cela faisait sérieux, plein de bonne volonté. Allez soyons fou : je dirais même que c’était humain.&lt;/p&gt;— &lt;a href="https://bsky.app/profile/did:plc:oxslbmjeqfhddwb5eac3knqm?ref_src=embed" rel="noopener noreferrer"&gt;Denis (@zwindler.fr)&lt;/a&gt; &lt;a href="https://bsky.app/profile/did:plc:oxslbmjeqfhddwb5eac3knqm/post/3ms462ragms2x?ref_src=embed" rel="noopener noreferrer"&gt;2026-08-02T14:12:02.209Z&lt;/a&gt;
&lt;/blockquote&gt;


&lt;p&gt;Derrière l'ironie, un vrai sujet, y compris dans les métiers de la tech. La souffrance psychique au travail — burn-out, pression des délais, charge mentale, isolement — est un sujet bien réel pour beaucoup d'équipes dev et ops. Denis égratigne avec son humour habituel la méthode qui consiste à créer une mission d'information pour exister sur le sujet… sans rien changer sur le terrain voire essayer de masquer qu’elle a existé. &lt;/p&gt;

&lt;p&gt;On pourrait en sourire si le sujet n’était pas aussi sérieux.&lt;/p&gt;




&lt;h3&gt;
  
  
  Camille Roux — dcg, le garde-fou des agents IA
&lt;/h3&gt;


&lt;blockquote class="bluesky-embed"&gt;
&lt;p&gt;dcg : un hook qui intercepte les commandes destructives avant qu'un agent IA ne les exécute, `git reset --hard`, `rm -rf`, `DROP TABLE`, avec une explication et une alternative plus sûre. Compatible Claude Code, Codex, Gemini CLI, Cop...
https://github.com/Dicklesworthstone/destructive_command_guard&lt;/p&gt;— &lt;a href="https://bsky.app/profile/did:plc:5aumv6xsxxacaerhrubj322g?ref_src=embed" rel="noopener noreferrer"&gt;Camille Roux (@camilleroux.com)&lt;/a&gt; &lt;a href="https://bsky.app/profile/did:plc:5aumv6xsxxacaerhrubj322g/post/3mrwvr5tgwg25?ref_src=embed" rel="noopener noreferrer"&gt;2026-07-31T12:00:12.463Z&lt;/a&gt;
&lt;/blockquote&gt;


&lt;p&gt;Camille Roux partage &lt;code&gt;dcg&lt;/code&gt; (destructive command guard), un hook qui intercepte les commandes destructives avant qu'un agent IA ne les exécute — &lt;code&gt;git reset --hard&lt;/code&gt;, &lt;code&gt;rm -rf&lt;/code&gt;, &lt;code&gt;DROP TABLE&lt;/code&gt; — avec une explication et une alternative plus sûre pour chacune. Compatible Claude Code, Codex, Gemini CLI et Copilot. À installer avant de laisser vos agents en liberté.&lt;/p&gt;


&lt;h3&gt;
  
  
  Hugo Lassiège — Les vrais chiffres des indie hackers
&lt;/h3&gt;


&lt;blockquote class="bluesky-embed"&gt;
&lt;p&gt;Très proche (voire identique) que les chiffres que je citais dans ma dernière vidéo. 

Oui, la grande majorité des indie hackers (86%) ne dégage pas de revenu significatifs.

Mais ca empêche pas d'essayer :)&lt;/p&gt;— &lt;a href="https://bsky.app/profile/did:plc:g3tbzu5tcz4evra4mf5wa67c?ref_src=embed" rel="noopener noreferrer"&gt;Hugo Lassiège (@eventuallycoding.com)&lt;/a&gt; &lt;a href="https://bsky.app/profile/did:plc:g3tbzu5tcz4evra4mf5wa67c/post/3mqu34m4pos2j?ref_src=embed" rel="noopener noreferrer"&gt;2026-07-17T15:32:53.264Z&lt;/a&gt;
&lt;/blockquote&gt;


&lt;p&gt;Hugo revient sur les chiffres de sa dernière vidéo : 86 % des indie hackers ne dégagent pas de revenus significatifs. De quoi tempérer les fantasmes de revenus passifs générés par l'IA… sans pour autant renoncer à l'essentiel : la joie de construire et d'apprendre. Un post qui dégonfle gentiment la hype de l'été.&lt;/p&gt;


&lt;h3&gt;
  
  
  Alexandre Daubois — CWE vs CVE, ne les confondez plus
&lt;/h3&gt;

&lt;p&gt;&lt;iframe class="tweet-embed" id="tweet-2083813825229226425-263" src="https://platform.twitter.com/embed/Tweet.html?id=2083813825229226425"&gt;
&lt;/iframe&gt;

  // Detect dark theme
  var iframe = document.getElementById('tweet-2083813825229226425-263');
  if (document.body.className.includes('dark-theme')) {
    iframe.src = "https://platform.twitter.com/embed/Tweet.html?id=2083813825229226425&amp;amp;theme=dark"
  }



&lt;/p&gt;

&lt;p&gt;Alexandre Daubois (CTO de Les-Tilleuls.coop, équipes Symfony et FrankenPHP) remet les pendules à l'heure : un CWE, c'est une classe de faiblesse (OS command injection, XSS, SQLi…), un CVE, c'est une vulnérabilité concrète avec une version et un patch. Une seule CWE est à la racine de milliers de CVE. Indispensable pour ne pas perdre une conversation sécurité.&lt;/p&gt;




&lt;h2&gt;
  
  
  DEV PRATIQUE
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2F8rp4qpuknq71y8zp1p4g.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2F8rp4qpuknq71y8zp1p4g.png" width="800" height="533"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;em&gt;Ressources concrètes pour tous les devs (web, DevOps, sécu, game, embarqué…)&lt;/em&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  📘 Web Dev
&lt;/h3&gt;

&lt;h4&gt;
  
  
  CPX 2.0 — Le npx de PHP, maintenant first-party
&lt;/h4&gt;

&lt;p&gt;&lt;code&gt;cpx&lt;/code&gt; exécute une commande depuis n'importe quel package Composer sans l'installer dans votre projet — le &lt;code&gt;npx&lt;/code&gt; de l'écosystème PHP. La version 2.0, désormais développée par l'équipe Laravel et présentée par Taylor Otwell à la Laracon US, privilégie les binaires locaux du projet, laisse tomber les alias codés en dur au profit d'aliases que vous définissez, et gère même des gists et un REPL (&lt;code&gt;cpx tinker&lt;/code&gt;). La cerise : une sortie JSON quand un agent IA pilote le terminal.&lt;/p&gt;

&lt;p&gt;» &lt;a href="https://laravel-news.com/cpx-the-composer-package-executor-for-php" rel="noopener noreferrer"&gt;Lire l'article&lt;/a&gt;&lt;/p&gt;

&lt;h4&gt;
  
  
  The TALL Stack — Pourquoi ça fait sens pour vos produits internes
&lt;/h4&gt;

&lt;p&gt;Appventura défend une position rafraîchissante : pour un back-office ou un panneau d'admin, sortir d'emblée une architecture SPA + API, c'est souvent payer de la complexité trop tôt. Le TALL Stack (Tailwind, Alpine, Laravel, Livewire) permet de construire des interfaces dynamiques dans une seule application, sans dupliquer les règles métier entre serveur et client. Un plaidoyer argumenté pour la simplicité — et la liste des cas où un SPA reste, lui, la bonne réponse.&lt;/p&gt;

&lt;p&gt;» &lt;a href="https://appventura.com/en/insights/tall-stack-internal-products" rel="noopener noreferrer"&gt;Lire l'article&lt;/a&gt;&lt;/p&gt;




&lt;h3&gt;
  
  
  🛠️ DevOps
&lt;/h3&gt;

&lt;h4&gt;
  
  
  dmr — Docker Model Runner, version standalone
&lt;/h4&gt;

&lt;p&gt;k33g explique comment utiliser &lt;code&gt;dmr&lt;/code&gt;, la version autonome de Docker Model Runner : un binaire unique qui embarque le démon d'inférence et le CLI complet (&lt;code&gt;run&lt;/code&gt;, &lt;code&gt;pull&lt;/code&gt;, &lt;code&gt;ls&lt;/code&gt;, &lt;code&gt;rm&lt;/code&gt;, &lt;code&gt;ps&lt;/code&gt;…), sans Docker Desktop ni moteur Docker. Juste un processus HTTP. Il expose une API compatible OpenAI, sert vos modèles locaux, et pousse même des métriques au format Prometheus. Parfait pour les homelabers et les entreprises qui interdisent Docker Desktop.&lt;/p&gt;

&lt;p&gt;» &lt;a href="https://k33g.org/p/20260731-dmr-standalone" rel="noopener noreferrer"&gt;Lire le guide&lt;/a&gt;&lt;/p&gt;




&lt;h3&gt;
  
  
  🖥️ Électronique
&lt;/h3&gt;

&lt;h4&gt;
  
  
  TongDou — Le petit robot de bureau à radar
&lt;/h4&gt;

&lt;p&gt;Hackaday présente TongDou, un « gremlin de bureau » open source construit par Wang. &lt;/p&gt;

&lt;p&gt;Pour la petite histoire (triste), il l’a crée suite à un décès dans sa famille afin que son espace de travail soit plus vivant.&lt;/p&gt;

&lt;p&gt;Un ESP32-S3 pour cerveau dans un châssis en laiton, un écran OLED pour visage, deux roues motorisées, et surtout un radar 24 GHz + une IMU (Inertial Measurement Unit =&amp;gt; ce qui lui donne le sens de l’équilibre et du mouvement) pour percevoir son espace. &lt;/p&gt;

&lt;p&gt;Les fichiers de conception sont publiés sur GitHub pour que d'autres makers construisent le leur. &lt;/p&gt;

&lt;p&gt;» &lt;a href=""&gt;Voir le projet&lt;/a&gt;&lt;/p&gt;




&lt;h2&gt;
  
  
  T'AS TON POPCORN ?
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fsq52rm82wbb1io5h3939.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fsq52rm82wbb1io5h3939.png" width="800" height="537"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;&lt;em&gt;Dans cette section, je vous propose de bien vous caller dans votre siège gamer, votre canapé ou votre lit pour visionner quelques vidéos dénichées ici et là.&lt;/em&gt;&lt;/strong&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  Faut-il encore savoir coder pour vibe coder ? - Nicolas Grenié
&lt;/h3&gt;

&lt;blockquote&gt;
&lt;p&gt;Nicolas Grenié, Developer Advocate chez SLNG.ai, passé par Typeform, alias "Monsieur BuildShit", raconte au Studio Devoxx France comment le vibe coding a changé sa façon de construire des logiciels.  &lt;/p&gt;

&lt;p&gt;Dans cette conversation, il l'assume : "quand je vibe code, je regarde le code ? Presque jamais". Prototypes lancés depuis la maternité, générateur d'icônes à 15 000 utilisateurs, faille de sécurité corrigée en une soirée. Et quand un exec veut shipper le proto en prod le lendemain, qui tranche ?&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;  &lt;iframe src="https://www.youtube.com/embed/joOgIwRivIA"&gt;
  &lt;/iframe&gt;
&lt;/p&gt;




&lt;h3&gt;
  
  
  The most interesting "hack" in history... — Fireship
&lt;/h3&gt;

&lt;blockquote&gt;
&lt;p&gt;Fireship décortique le hack de Hugging Face qui a secoué l'actualité de la semaine. Qui sont les auteurs, ce qu'ils cherchaient, et pourquoi cet incident a fait trembler toute la communauté open source. Du Fireship pur jus : synthétique, percutant.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;  &lt;iframe src="https://www.youtube.com/embed/KOpTWx1Eou4"&gt;
  &lt;/iframe&gt;
&lt;/p&gt;




&lt;h3&gt;
  
  
  Apprendre Rust #4 : L'Emprunt et les Références — Graven
&lt;/h3&gt;

&lt;blockquote&gt;
&lt;p&gt;Quatrième épisode de la série d'apprentissage de Rust de Graven, consacré au cœur du langage : l'emprunt et les références. Le tutoriel qui va (enfin) vous réconcilier avec le borrow checker et la gestion de la mémoire à la Rust.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;  &lt;iframe src="https://www.youtube.com/embed/CrNojg7K3Pg"&gt;
  &lt;/iframe&gt;
&lt;/p&gt;




&lt;h3&gt;
  
  
  Recreating ITS — Computerphile
&lt;/h3&gt;

&lt;blockquote&gt;
&lt;p&gt;Computerphile s'intéresse à l'équipe Obsolescence Guaranteed qui fait tourner des DEC PDP de plusieurs décennies sur un simple Raspberry Pi. Une plongée dans l'ITS, le système de temps partagé du MIT, entre rétro-computing et émulation. Nostalgique et très technique.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;  &lt;iframe src="https://www.youtube.com/embed/cDKPbMaLTA4"&gt;
  &lt;/iframe&gt;
&lt;/p&gt;




&lt;h3&gt;
  
  
  The Codeberg Situation — ThePrimeagen
&lt;/h3&gt;

&lt;blockquote&gt;
&lt;p&gt;ThePrimeagen analyse la décision de Codeberg d'interdire les projets d'IA générative sur sa forge. Au programme : la pression sur le matériel et les coûts d'infrastructure, les risques de rupture dans la communauté open source, et le débat plus large sur la place de l'IA dans les forges. Un sujet chaud et clivant.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;  &lt;iframe src="https://www.youtube.com/embed/h3DlwC1nex0"&gt;
  &lt;/iframe&gt;
&lt;/p&gt;




&lt;h2&gt;
  
  
  🤝 Comment soutenir cette newsletter ?
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;Un immense merci aux 27 personnes qui ont déjà sauté le pas 💜&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Si la newsletter vous apporte de la valeur, vous pouvez me soutenir dès aujourd’hui avec &lt;strong&gt;un abonnement annuel à seulement 9 €/an à vie&lt;/strong&gt;. Vous aurez alors accès à tous les contenus exclusifs (en cours de préparation).&lt;/p&gt;

&lt;p&gt;Offre exceptionnelle et limitée dans le temps → Plus vous attendez, plus le prix augmentera pour les futurs abonnés lors de l’ajout des contenus exclusifs.&lt;/p&gt;

&lt;p&gt;C’est le meilleur moment pour verrouiller ce tarif à vie.&lt;/p&gt;

&lt;p&gt;Merci d’avance💜&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fhuvyeoavfk32svwdpbr2.gif" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fhuvyeoavfk32svwdpbr2.gif" width="500" height="281"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href=""&gt;Je vous soutiens pour 9€/an&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Des alternatives pour me soutenir ?&lt;/strong&gt; Bien sûr ! &lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Votre prochaine commande Amazon avec ++&lt;strong&gt;&lt;a href="https://go.itanea.fr/amznl" rel="noopener noreferrer"&gt;mon lien d'affiliation&lt;/a&gt;&lt;/strong&gt;++&lt;/li&gt;
&lt;li&gt;Abonnez-vous à OpenCode Go pour 5 $ et bénéficiez de 5 $ supplémentaires grâce à &lt;a href="https://go.itanea.fr/opencode" rel="noopener noreferrer"&gt;mon lien de parrainage&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;J’utilise Starlink à la maison et j’en suis plus que satisfait. Si cela vous tente &lt;a href="https://starlink.com/residential?referral=RC-5072169-18924-69&amp;amp;app_source=share" rel="noopener noreferrer"&gt;profitons chacun d’un mois gratuit&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;a href="http://fr.tuto.com/?aff=4Cx6BPp" rel="noopener noreferrer"&gt;Découvrez des milliers de tutos gratuits&lt;/a&gt; dans de nombreux domaine avec l’équipe géniale de Tuto&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  METS TON CASQUE !
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fatjqf56cr9gngots3egd.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fatjqf56cr9gngots3egd.png" width="800" height="537"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;&lt;em&gt;Dans cette rubrique, je vous propose des podcasts en anglais et en français sur notre monde de dev.&lt;/em&gt;&lt;/strong&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  Tronche de Tech — Cassandre Notton : l'IA quantique
&lt;/h3&gt;

&lt;p&gt;Il y a deux semaines Mathieu à poste l'épisode de Tronche de Tech consacré au &lt;strong&gt;Machine Learning quantique&lt;/strong&gt;. Cassandre Notton, ingénieure chez Quandela, construit des IAs qui n'utilisent ni GPU, ni TPU, ni CPU… mais des QPU (processeurs quantiques). Au-delà de la promesse, elle démêle ce qui marche déjà de ce qui relève encore de la recherche. Et le clou : faire tourner son propre algorithme sur une vraie machine quantique est possible dès aujourd'hui (cloud.quandela.com). &lt;/p&gt;

&lt;p&gt;&lt;iframe src="https://open.spotify.com/embed/episode/6FjCTWDXPSRNxeg2Pkt7R0" width="100%" height="232px"&gt;
&lt;/iframe&gt;
&lt;/p&gt;

&lt;p&gt;» &lt;a href="https://youtu.be/pE7WrI-UBHY" rel="noopener noreferrer"&gt;Écouter sur YouTube&lt;/a&gt;&lt;/p&gt;




&lt;h3&gt;
  
  
  Silver Bullet Security Podcast #159 — Melanie Mitchell (en anglais)
&lt;/h3&gt;

&lt;p&gt;Gary McGraw (BIML) reçoit Melanie Mitchell, professeure au Santa Fe Institute, pour une conversation passionnante sur l'état réel de l'IA : les progrès surprenants depuis les années 90, la question de savoir si les concepts émergent vraiment de l'échelle des données, extrapoler vs interpoler, l'intelligence « en escalier » (jagged intelligence), et pourquoi les modèles sont meilleurs pour donner des réponses que pour poser des questions. À conseiller à toutes les personnes anglophiles — et à tout le monde sur la sécurité de l'IA.&lt;/p&gt;

&lt;p&gt;&lt;iframe src="https://open.spotify.com/embed/episode/0pUnuIcvGlAusPS3KL9yp6" width="100%" height="232px"&gt;
&lt;/iframe&gt;
&lt;/p&gt;




&lt;h2&gt;
  
  
  LES SORTIES DE LA SEMAINE
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fp49t3gs1qc9wqu8qgaso.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fp49t3gs1qc9wqu8qgaso.png" width="800" height="537"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;&lt;em&gt;Dans cette rubrique, je vous mets en avant les mises à jour de logiciel que nous sommes susceptibles d'utiliser dans notre quotidien de développeurs.&lt;/em&gt;&lt;/strong&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  Firefox 153.0.1 — 28 juillet 2026
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;Correction d'un &lt;strong&gt;crash au démarrage sur Windows&lt;/strong&gt; après une mise à jour incomplète (Bug 2056926).&lt;/li&gt;
&lt;li&gt;Correction de l'&lt;strong&gt;audio qui jouait en silence&lt;/strong&gt; sur certains sites de streaming après pause/reprise (Bug 2053586).&lt;/li&gt;
&lt;li&gt;Amélioration du &lt;strong&gt;pointer lock&lt;/strong&gt; (le curseur reste dans la fenêtre) pour les jeux et contenus immersifs.&lt;/li&gt;
&lt;li&gt;Fix du chargement de « View Page Source » sur les documents &lt;code&gt;blob:&lt;/code&gt; et &lt;code&gt;srcdoc&lt;/code&gt;.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;» &lt;a href="https://www.mozilla.org/en-US/firefox/153.0.1/releasenotes/" rel="noopener noreferrer"&gt;Voir la release note&lt;/a&gt;&lt;/p&gt;




&lt;h3&gt;
  
  
  MySQL 9.7.2 — 28 juillet 2026
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;code&gt;SOURCE_RETRY_COUNT=0&lt;/code&gt; est désormais traité de façon cohérente comme « reconnexions illimitées » : le réplicat ne s'arrête plus après une coupure transitoire.&lt;/li&gt;
&lt;li&gt;Le défaut de &lt;code&gt;thread_pool_max_unused_threads&lt;/code&gt; passe de 2 à 32.&lt;/li&gt;
&lt;li&gt;Optimiseur : les &lt;code&gt;LEFT JOIN&lt;/code&gt; avec conditions &lt;code&gt;OR&lt;/code&gt; peuvent maintenant utiliser un index range scan re-planifié au lieu d'un full scan.&lt;/li&gt;
&lt;li&gt;Fix de &lt;code&gt;JSON_VALUE()&lt;/code&gt; avec &lt;code&gt;RETURNING DATETIME&lt;/code&gt; et de fuites mémoire à l'upgrade depuis la 8.x.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;» &lt;a href="https://dev.mysql.com/doc/relnotes/mysql/9.7/en/news-9-7-2.html" rel="noopener noreferrer"&gt;Voir la release note&lt;/a&gt;&lt;/p&gt;




&lt;h3&gt;
  
  
  Node.js — Trois releases sécurité le même jour (29 juillet 2026)
&lt;/h3&gt;

&lt;p&gt;Les trois branches (22.x LTS, 24.x LTS et 26.x Current) sont corrigées en même temps contre le même lot de 11 vulnérabilités, dont 3 classées « High » :&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;CVE-2026-56846 / CVE-2026-56848&lt;/strong&gt; (http2) : comptabilité mémoire des headers de session, gestion des &lt;code&gt;rst_stream&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;CVE-2026-58043&lt;/strong&gt; (permission model) : plus d'octroi de permissions pour les nœuds « radix split ».&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;CVE-2026-58045&lt;/strong&gt; (zlib) : buffers d'écriture out-of-bounds désormais rejetés avec une erreur.&lt;/li&gt;
&lt;li&gt;Dependencies HTTP mises à jour (llhttp 9.4.3, undici 7.29.0 / 8.9.0 / 6.28.0 selon la branche).&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;» &lt;a href="https://nodejs.org/en/blog/release/v24.18.1" rel="noopener noreferrer"&gt;Node 24.18.1 (LTS)&lt;/a&gt; · &lt;a href="https://nodejs.org/en/blog/release/v26.5.1" rel="noopener noreferrer"&gt;Node 26.5.1&lt;/a&gt; · &lt;a href="https://nodejs.org/en/blog/release/v22.23.2" rel="noopener noreferrer"&gt;Node 22.23.2 (LTS)&lt;/a&gt;&lt;/p&gt;




&lt;h3&gt;
  
  
  Visual Studio Code 1.131 — 29 juillet 2026
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Sous-agents en cours&lt;/strong&gt; : visibilité du modèle utilisé, du temps d'exécution et de l'outil appelé, sans ouvrir leur conversation.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Dictée intégrée (expérimental)&lt;/strong&gt; dans le chat, l'éditeur et le terminal via un modèle Nemotron &lt;strong&gt;offline&lt;/strong&gt; — l'audio reste sur la machine, sans extension Speech.&lt;/li&gt;
&lt;li&gt;Nouvel &lt;strong&gt;éditeur Markdown « hybride »&lt;/strong&gt; dans la fenêtre Agents : visualisation, édition et commentaires actionnables par l'agent.&lt;/li&gt;
&lt;li&gt;Réarchitecture « agent host » (process dédié, protocole AHP) alignée avec le Copilot CLI.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;» &lt;a href="https://code.visualstudio.com/updates/v1_131" rel="noopener noreferrer"&gt;Voir la release note&lt;/a&gt;&lt;/p&gt;




&lt;h3&gt;
  
  
  Prometheus 3.13.2 — 29 juillet 2026
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;Correctifs de sécurité : bump &lt;code&gt;golang.org/x/text&lt;/code&gt; (CVE-2026-56852) et &lt;code&gt;google.golang.org/grpc&lt;/code&gt; (GHSA-hrxh-6v49-42gf).&lt;/li&gt;
&lt;li&gt;Bugfix PromQL : le fichier du « active query tracker » est désormais préalloué pour éviter les crashes &lt;strong&gt;SIGBUS&lt;/strong&gt; quand le disque de données est plein.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;» &lt;a href="https://github.com/prometheus/prometheus/releases/tag/v3.13.2" rel="noopener noreferrer"&gt;Voir la release note&lt;/a&gt;&lt;/p&gt;




&lt;h3&gt;
  
  
  Mise à jour de sécurité pour toutes les branches de PHP 8 — 30 juillet 2026 (release sécurité)
&lt;/h3&gt;

&lt;p&gt;&lt;iframe class="tweet-embed" id="tweet-2083547918389084287-544" src="https://platform.twitter.com/embed/Tweet.html?id=2083547918389084287"&gt;
&lt;/iframe&gt;

  // Detect dark theme
  var iframe = document.getElementById('tweet-2083547918389084287-544');
  if (document.body.className.includes('dark-theme')) {
    iframe.src = "https://platform.twitter.com/embed/Tweet.html?id=2083547918389084287&amp;amp;theme=dark"
  }



&lt;/p&gt;




&lt;h2&gt;
  
  
  L'invité de la semaine — L'interview intégrale
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;Cyril Beaufrère — Directeur des Infrastructures France chez KION Group, créateur de RudeOps&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fnqridq73j717opx4pglg.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fnqridq73j717opx4pglg.png" alt="CleanShot 2026 08 03 at 17 05 59" width="788" height="518"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;em&gt;Propos recueillis par HappyToDev&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;1. Peux-tu te présenter ?&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Je m'appelle Cyril Beaufrère et je travaille dans l'informatique depuis un peu plus de 25 ans. Mes débuts sont presque le fruit du hasard : à la fin des années 90, j'ai commencé comme hotliner chez un fournisseur d'accès à internet (Easynet). Passionné d'informatique depuis toujours, j'ai progressivement évolué vers des postes à plus grande responsabilité, jusqu'à occuper aujourd'hui la fonction de Directeur des Infrastructures pour la France chez KION Group. Ce parcours, je le dois beaucoup à la chance d'avoir été entouré de collègues plus brillants que moi, dont j'ai énormément appris. En dehors du travail, je suis passionné de littérature, de jeux vidéo et de plein d'autres trucs !&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;2. Quelle est ta spécialité ? Quel est ton langage préféré ?&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Je suis spécialisé dans les architectures, qu'elles soient monolithiques ou à base de microservices, et j'ai une bonne expertise sur tout ce qui touche aux systèmes, au CI/CD et, plus largement, à tout ce qu'englobe le DevOps et GNU/Linux. Côté langage, je dois avouer que j'ai toujours été un très mauvais dev, mais celui que j'apprécie par-dessus tout c'est Python : il me permet d'arriver à un résultat correct sans trop d'efforts, grâce à son immense écosystème de librairies.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;3. Es-tu un reconverti ? (as tu travaillé dans un autre domaine que l'IT précédemment)&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Oui, je suis un reconverti. J'ai d'abord travaillé un peu dans l'hôtellerie avant de bifurquer vers l'informatique, un peu par hasard, avec ce fameux job de hotliner chez Easynet.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;4. Quelles études as-tu suivies ?&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;A la fin de ma troisième, j'ai été mis sur une voie de garage, on m'a orienté vers un CAP/BEP en hôtellerie (que j'ai obtenu). Je n'ai donc jamais passé le BAC et je suis donc ce qu'on appelle un autodidacte comme il en existe beaucoup dans l'informatique. Avec le recul, je ne regrette pas de ne pas avoir suivi d'études classiques : ça m'a obligé à apprendre sur le terrain, par la pratique et par curiosité, plutôt que par les diplômes. Dans ce métier, c'est souvent la passion et la capacité à apprendre vite qui font la différence, bien plus qu'un parcours académique et je crois que ça m'a rendu plus débrouillard et plus curieux que si j'avais suivi une voie toute tracée.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;5. Comment as-tu démarré dans le monde pro ? Stage, alternance, emploi direct ?&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;J'ai démarré directement en CDI, chez Easynet. Je ne remercierai jamais assez le CTO de l'époque de m'avoir embauché et fait confiance : j'ai commencé à la hotline avant de la structurer et d'en prendre la tête. Pour resituer, c'était en 1998, chez un fournisseur d'accès à internet, une des toutes premières startups du secteur. C'était le Far West, on assistait en direct aux balbutiements d'internet grand public, tout était à inventer, et l'énergie était complètement folle. Anecdote amusante : en arrivant chez Easynet, je me disais qu'il faudrait bien, à un moment, que je trouve un "vrai" taffe sans imaginer une seconde que cette boîte allait être le déclencheur de toute ma carrière.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;6. Et maintenant tu en es où ?&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Aujourd'hui, je n'ai toujours pas de plan de carrière et j'ai toujours l'impression d'avoir 25 ans, surtout, j'ai le sentiment que tous les possibles restent ouverts. J'ai, comme d'habitude, une cinquantaine de side projects en cours, dont la moitié va probablement mourir en cours de route. Je ne me pose plus trop de questions sur le boulot en tant que tel : ce qui compte pour moi, c'est d'être épanoui dans ma vie perso et tout ce qui va avec. En gros, je fonctionne à l'instinct, et je me dis que le reste suivra bien.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;7. Sur ton profil Linkedin, on peut lire que tu es le créateur de la newsletter RudeOps.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;En tant que confrère de newsletter, je sais que ce n'est pas facile de faire grossir et de continuer à intéresser son public. Tu nous raconte l'histoire de RudeOps, les succès, les difficultés et éventuellement son avenir ?&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;L'histoire de RudeOps tient en réalité à une rencontre entre deux évidences : la veille techno fait partie de mon métier et je suis d'une curiosité presque maladive. À cela s'ajoute le goût de l'écriture (mon rêve ultime serait de publier un roman). Au commencement, il n'y avait qu'une envie simple, celle de partager ce que je glanais dans ma veille. Le reste a suivi, de lui-même, comme suivent les choses qu'on ne force pas.&lt;/p&gt;

&lt;p&gt;Et c'est devenu au fil du temps une liturgie parce que chaque lundi, sans faute, je m'astreins à faire paraître un numéro. Il y faut de la discipline et de la constance. Mais je n'écris pas pour plaire à qui que ce soit, j'écris pour le plaisir un peu coupable de régurgiter ma veille avec toute la mauvaise foi dont je suis capable, et un humour et des références qui ne font rire que moi.&lt;/p&gt;

&lt;p&gt;Quant aux difficultés, la vraie contrainte, c'est le temps. Mon travail et ma vie perso en dévorent déjà beaucoup, et il faut composer avec cette frustration diffuse qu'on ressent à voir certains occuper tout l'espace à coup de dizaines de publications quotidiennes sur LinkedIn, portés par l'algorithme plus que par le fond. À l'inverse, rien ne me touche autant que les mails de lecteurs qui me disent, simplement, que ce que je fais leur plait.&lt;/p&gt;

&lt;p&gt;Pour l'avenir, je n'ai pas de pression particulière, sinon celle de continuer à y prendre du plaisir. Je ne cherche ni à soigner une image, ni à prouver quoi que ce soit, je laisse simplement RudeOps évoluer à son rythme, petit à petit, sans objectif précis et au grès de mes envies.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Aujourd'hui tu es infrastructure director. Peux-tu nous dire en quoi consiste ce métier ?&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Concrètement, je suis responsable des infrastructures du groupe pour la France. Je pilote des équipes qui gèrent le LAN/WAN, les serveurs et le support technique. Rien de très sexy ni de glamour là-dedans, c'est assez classique pour un grand groupe, avec ses contraintes et ses avantages…&lt;/p&gt;

&lt;p&gt;Ce qui est nouveau pour moi, en revanche, c'est la taille de la structure : c'est la première fois que je travaille dans un groupe aussi important, environ 40 000 personnes. C'est stimulant d'échanger avec des collègues de toutes les nationalités et de travailler avec eux au quotidien, mais c'est aussi frustrant, parce qu'un groupe de cette taille génère une latence de dingue sur à peu près tout.&lt;/p&gt;

&lt;p&gt;Pour l'instant, ça m'amuse et j'ai le sentiment d'y apporter de la valeur. Le jour où ce ne sera plus le cas, j'irai voir ailleurs.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Tu as été cofondateur de FamiHero qui a d'ailleurs été racheté par O2 Care Service. Tu nous raconte un peu l'aventure en tant que Cofondateur ?&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Ce que tu es as retiré de positif?&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Les écueils à éviter ?&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;L'aventure FamiHero a commencé depuis mon salon, avant qu'on ne passe par un incubateur puis qu'on lève des fonds auprès d'un investisseur renommé de la place parisienne, après avoir frappé à pas mal de portes. C'était une marketplace de services à la famille, avec plusieurs verticales : baby-sitting, ménage, repassage, soutien scolaire, entre autres. L'histoire est longue, et faite de hauts et de bas, tout le temps, mentalement c'est épuisant, et parfois stressant, surtout quand on a de la pub TV qui passe le soir et qu'on voit les load-balancers tenir la charge tout en sachant qu'on n'a que très peu de marge.&lt;/p&gt;

&lt;p&gt;Ce que j'en retire de positif, c'est d'abord un plaisir assez rare : pouvoir décider de tout, tout le temps, toucher à tout et choisir sa propre direction en assumant ses erreurs comme ses succès. Ça vaut aussi côté technique : dans une petite structure, on ne peut pas se cacher derrière un comité ou un process, il faut trancher vite sur le choix des outils, accepter de la dette technique en connaissance de cause pour aller plus vite, et parfois faire soi-même ce qu'on n'aurait normalement pas dû faire faute de budget pour recruter. Ça m'a confirmé que c'est ce que j'aime, que je suis bien plus à l'aise quand je ne suis pas bridé. Mais ce que j'en retire surtout, c'est que seul, on ne fait rien, il faut être bien entouré.&lt;/p&gt;

&lt;p&gt;Côté écueils, ce n'est pas très glamour à raconter, mais en B2C tout repose sur les coûts d'acquisition. Il faut vraiment les avoir à l'œil et bien choisir son modèle économique dès le départ. Avec le recul, se concentrer uniquement sur le B2C n'était pas suffisant au vu de ces coûts d'acquisition, il aurait fallu mettre autant d'efforts sur le B2B, qui offre des cycles de vente plus longs mais des clients plus rentables et plus fidèles dans la durée.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Tu es passé dans différents secteurs (presse, téléphonie, comparateur de prix, pub, mutuelle; etc…), est ce que cela impliquait de te réinventer à chaque fois ou pas ?&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Oui, se réinventer, à chaque fois. Le piège, ce serait d'arriver en se disant "tiens, j'ai fait ça la dernière fois, je vais refaire pareil" : ça m'est déjà arrivé et ça a été une erreur. Chaque secteur a sa propre logique, ses propres contraintes, ses propres codes, et vouloir plaquer une recette qui a marché ailleurs c'est souvent passer à côté de ce qui fait la spécificité du métier.&lt;/p&gt;

&lt;p&gt;Ma méthode, si on peut appeler ça comme ça, c'est de toujours commencer par comprendre le métier avant de passer à la technique. La technique, elle, s'adapte mais le métier lui, il faut le saisir en profondeur pour savoir quels problèmes on essaie vraiment de résoudre. Et pour ça, il faut être curieux, tout le temps, de tout, curieux des gens qui nous entourent, parce que ce sont eux qui portent l'expertise métier qu'on n'a pas encore, curieux du business et de la façon dont il évolue, des dynamiques de marché, de la concurrence. C'est cette curiosité permanente qui permet de se réinventer sans repartir de zéro à chaque fois, on garde une méthode, mais on change de terrain de jeu.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Tu habites aux alentours de Paris (précises si besoin), qu'apprécies tu dans cette ville ?&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;J'habite dans une charmante ville des Yvelines. Ce que j'apprécie ? Honnêtement, je l'échangerais bien contre une ville du sud de la France, avec piscine. D'ailleurs, si vous avez une offre de job qui va dans ce sens, je suis tout à fait disposé à l'étudier.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;8. Tu as d'autres passions ?&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Grand fan de littérature, impossible pour moi de m'endormir sans mon heure de lecture, même quand il est très tard. Grand fan de jeux vidéo aussi. Le reste du temps se partage entre la photo, la guitare, mes potes et ma famille.&lt;/p&gt;

&lt;p&gt;Et je pense que c'est important de le dire : avoir un bon équilibre, c'est essentiel. Si on ne fait que de l'IT dans sa vie c'est un vrai problème d'équilibre, même si dans mon cas, ce métier reste une passion à part entière.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;9. Peut-on te voir dans des conf ou des meetups ? Sinon où peut on te suivre ?&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Surtout pas, non, je manque de talent (et de temps) pour ça. J'essaierai peut-être un jour, j'ai sans doute deux ou trois trucs à dire, mais ce n'est pas mon focus pour l'instant. Le plus simple pour me suivre, c'est via RudeOps, ou sur LinkedIn.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;10. Est-ce que ton métier correspond finalement à tes attentes, tes rêves ?&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Le métier en général, oui, il correspond à mes attentes. Après, sur un plan plus nuancé, je me pose pas mal de questions. Est-ce que ce que je fais sert vraiment à quelque chose, à la société (je parle bien de la société civile pas de l'entreprise). Est-ce que c'est un "vrai métier", au fond ? Ce genre de questions me traverse régulièrement l'esprit sans avoir de réponse définitive.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;11. Quels conseils donnerais-tu à celles et ceux qui débutent dans les métiers de l'IT et plus spécifiquement dans le dev ?&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;De la curiosité, avant tout, et l'envie de construire des choses : voir un projet émerger et se concrétiser à travers du code, c'est ce qu'il y a de plus gratifiant au monde. Il faut aussi de la pugnacité pour ne pas lâcher quand ça résiste. En 2026, on a absolument tout à portée de main pour nourrir cette curiosité et progresser. Si tu n'es pas curieux, tu seras un mauvais dev, c'est aussi simple que ça.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;12. Nouvelle question 2026 - IA&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Utilises-tu l'IA dans ton travail ?&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Oui, clairement, et même à la maison sur mon homelab.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Lesquelles utilises tu ? et quelle est actuellement ta préférée ?&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;J'ai testé pas mal de modèles comme Codex, ChatGPT, quelques modèles open source (Llama, Mistral...). Mais depuis quelques mois, je suis surtout sur Claude Code, qui correspond exactement à ce que je recherche que ce soit pour du dev pur intégré directement dans mon IDE, ou pour des projets perso sur mon homelab, c'est devenu mon outil du quotidien.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Que lui confies-tu principalement comme tâches ?&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Ça va du simple prompt pour me faire une synthèse de mes emails, jusqu'à des agents qui m'alertent quand des logs ont un comportement chelou.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Comment vois-tu l'évolution de l'IA dans 5 ans ?&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Comme quelque chose d'excitant et de terrifiant à la fois. Excitant, parce que les barrières à l'entrée tombent les unes après les autres, et que ça facilite énormément les tests et les POC, les itérations rapides, l'apprentissage. Effrayant, parce que tout finit par tourner autour de ça, et que ça pose de vraies questions de ressources, de propriété intellectuelle et de vérification de l'information.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;13. Quels sont tes 3 outils les plus utilisés dans ton quotidien de dev ? (cela peut être ce que tu veux du moment que c'est relié à ton quotidien de dev : livre, site internet, mug, logiciel, etc.) ?&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Alors, je ne suis pas vraiment un "vrai" dev, mais j'utilise beaucoup GitLab, Neovim et/ou VSCode. Et sinon, mon term de cœur c'est Ghostty.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;14. Un autre sujet que tu aimerais mettre en avant ?&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;J'ai beaucoup parlé de curiosité et je pense sincèrement que c'est la qualité numéro un pour devenir un bon dev. Mais s'il y a une chose qui manque souvent à nos métiers, c'est de ne pas trop se prendre au sérieux. On a tendance, dans l'IT, à se regarder le nombril, à sacraliser nos outils, nos méthodologies, nos débats de chapelle (tabs vs spaces, vim vs le reste du monde...). Un peu d'autodérision ne ferait pas de mal et ça rendrait sans doute nos métiers plus vivants et plus accessibles.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;15. Le mot de la fin ?&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Le mot de la fin, je voudrais le tourner vers Kavinsky, qui vient de nous quitter beaucoup trop tôt. On ne le connaissait pas vraiment, et c'est bien ça le plus beau : il n'a jamais cherché la lumière, toujours planqué derrière ses lunettes noires, laissant sa musique parler à sa place. "Nightcall" a mis près d'une décennie à devenir l'hymne qu'on connaît, sans qu'il n'ait jamais forcé le trait ni couru après le buzz. Il y a là une vraie leçon d'humilité et de patience : faire les choses bien, sans se soucier de la reconnaissance immédiate, et laisser le temps faire son travail. C'est un peu ce que j'essaie de faire à mon échelle, avec RudeOps comme avec le reste de mes projets : construire tranquillement, sans calcul, et trouver son équilibre en chemin.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Questions bonus&lt;/strong&gt; &lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Ta meilleure anecdote dans ton travail :&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Un rm -rf sur /etc, sur un système central, lors de mon tout premier vrai job d'admin et qui a paralysé toute ma boîte. J'ai appris à utiliser tar en 24 heures. Disons que ça forge le caractère.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Ton livre préféré :&lt;/strong&gt; &lt;/p&gt;

&lt;p&gt;J'en ai trop pour n'en citer qu'un, mais cette fois je vais dire "&lt;a href="https://amzn.to/4w47R1y" rel="noopener noreferrer"&gt;La Conjuration des imbéciles&lt;/a&gt;", de John Kennedy Toole.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Ton jeu vidéo préféré :&lt;/strong&gt; &lt;/p&gt;

&lt;p&gt;Pareil, j'en ai trop, mais mon cœur penche pour DCS (Digital Combat Simulator).&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Ton film ou ta série préféré(e) :&lt;/strong&gt; &lt;/p&gt;

&lt;p&gt;The Office bien évidemment.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Ton livre tech préféré :&lt;/strong&gt; &lt;/p&gt;

&lt;p&gt;"&lt;a href="https://amzn.to/44VaeZv" rel="noopener noreferrer"&gt;The Phoenix Project&lt;/a&gt;", de Gene Kim, Kevin Behr et George Spafford. C'est un roman qui raconte l'histoire de Bill, un manager IT propulsé malgré lui à la tête d'un projet informatique au bord du gouffre, et qui découvre au fil du récit les grands principes du DevOps (flux, feedback, l'amélioration continue etc…). J'aime ce bouquin parce qu'il transforme des concepts qu'on trouve habituellement arides en une histoire qu'on suit avec plaisir, et parce que je m'y suis reconnu à plus d'une reprise dans mon propre quotidien d'infra.&lt;/p&gt;




&lt;h2&gt;
  
  
  LA CAISSE À OUTILS
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2F93qptdjgs934ekys3vyh.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2F93qptdjgs934ekys3vyh.png" width="800" height="537"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;&lt;em&gt;Dans cette rubrique, je vous présente des outils qui peuvent vous aider dans votre quotidien de dev.&lt;/em&gt;&lt;/strong&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  Murmure
&lt;/h3&gt;

&lt;p&gt;L'outil de dictée par IA qui tourne &lt;strong&gt;100 % sur votre machine&lt;/strong&gt; : basé sur un modèle NVIDIA Parakeet v3, il retranscrit votre voix en texte, sans envoyer l'audio nulle part. 25 langues européennes, pas de tracking, pas de compte, et pas besoin de GPU. Plus de 28 000 téléchargements, et 3× plus rapide que la frappe. &lt;/p&gt;

&lt;p&gt;Note de votre humble serviteur 😉  Franchement j'ai testé Murmure, j'écris d'ailleurs ce commentaire avec, et c'est assez bluffant. Ça marche très très bien. Ça comprend quand il faut supprimer les hésitations, ajouter des virgules, faire la ponctuation. Franchement, essayez-le, vous allez ganger un temps de dingue, c’est 100% gratuit, local first. Que du bon&lt;/p&gt;

&lt;p&gt;» &lt;a href="https://www.murmure.app/" rel="noopener noreferrer"&gt;Voir le site&lt;/a&gt;&lt;/p&gt;




&lt;h3&gt;
  
  
  SketchForge
&lt;/h3&gt;

&lt;p&gt;Un logiciel de modélisation 3D qui tourne &lt;strong&gt;localement dans votre navigateur&lt;/strong&gt;, sans compte ni service externe. Approche WYSIWYG avec des formes primitives, un mode sketch 2D (extrusion/révolution), et surtout un export au format STEP pour importer vos créations dans d'autres logiciels de CAO. Un peu l'esprit de Tinkercad, mais en 100 % local.&lt;/p&gt;

&lt;p&gt;» &lt;a href="https://github.com/Formsmith746/SketchForge-3D" rel="noopener noreferrer"&gt;Voir le projet&lt;/a&gt;&lt;/p&gt;




&lt;h3&gt;
  
  
  DBStan
&lt;/h3&gt;

&lt;p&gt;Un package Laravel qui fournit une analyse détaillée et des insights sur votre schéma de base de données : tables, index, relations, redondances potentielles. Pratique pour auditer la santé d'une base qui grossit sans que personne ne sache pourquoi.&lt;/p&gt;

&lt;p&gt;» &lt;a href="https://madewithlaravel.com/dbstan" rel="noopener noreferrer"&gt;Voir sur MadeWithLaravel&lt;/a&gt;&lt;/p&gt;




&lt;h3&gt;
  
  
  uPlot
&lt;/h3&gt;


&lt;blockquote class="bluesky-embed"&gt;
&lt;p&gt;🏖️🐻 Les logiciels libres de l'été, jour 43

uPlot : des graphiques de séries temporelles très rapides dans seulement 50 Ko&lt;/p&gt;— &lt;a href="https://bsky.app/profile/did:plc:oklkinuievllgvhrv2nia4gu?ref_src=embed" rel="noopener noreferrer"&gt;Bearstech (@bearstech.com)&lt;/a&gt; &lt;a href="https://bsky.app/profile/did:plc:oklkinuievllgvhrv2nia4gu/post/3ms4mmijg2l2f?ref_src=embed" rel="noopener noreferrer"&gt;2026-08-02T18:32:29.000Z&lt;/a&gt;
&lt;/blockquote&gt;



&lt;h2&gt;
  
  
  CONFÉRENCES ET ÉVÉNEMENTS À VENIR
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fetlsem4ls8jfr0geuftc.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fetlsem4ls8jfr0geuftc.png" width="800" height="537"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;&lt;em&gt;Dans cette rubrique, je vous présente les conférences et événements à venir dans les prochaines semaines&lt;/em&gt;&lt;/strong&gt;&lt;/p&gt;
&lt;h3&gt;
  
  
  State of the Map - 28 au 30/08/26 - Paris
&lt;/h3&gt;

&lt;blockquote&gt;
&lt;p&gt;State of the Map is the annual event for all mappers and OpenStreetMap users. In 2026 the State of the Map conference will be taking place in Paris and online. It will be a three day conference packed with talks, workshops, discussion rounds and more.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;» &lt;a href="https://2026.stateofthemap.org/" rel="noopener noreferrer"&gt;En savoir plus&lt;/a&gt;&lt;/p&gt;


&lt;h3&gt;
  
  
  JUG Summer Camp — 4 septembre 2026 — La Rochelle
&lt;/h3&gt;

&lt;p&gt;L'incontournable camp d'été du Java User Group français. Une journée de conférences techniques autour de Java, JVM, architectures modernes, cloud et devops.&lt;/p&gt;

&lt;p&gt;» &lt;a href="https://www.jugsummercamp.org/" rel="noopener noreferrer"&gt;En savoir plus&lt;/a&gt;&lt;/p&gt;


&lt;h3&gt;
  
  
  PHP×Tokyo — 11 septembre 2026 — Tokyo
&lt;/h3&gt;

&lt;p&gt;Le meetup PHP×Tokyo fait sa rentrée le 11 septembre à Shibuya avec des talks PHP &amp;amp; Laravel, du networking, et un appel à speakers ouvert. Si vous êtes de passage au Japon, foncez.&lt;/p&gt;

&lt;p&gt;» &lt;a href="https://bsky.app/profile/phpxtky.bsky.social/post/3mrk7z3rep22x" rel="noopener noreferrer"&gt;En savoir plus&lt;/a&gt;&lt;/p&gt;


&lt;h3&gt;
  
  
  dotJS + dotAI — 17-18 septembre 2026 — Paris
&lt;/h3&gt;

&lt;p&gt;Les célèbres conférences parisiennes dédiées à JavaScript (dotJS) et à l’IA (dotAI), avec des speakers internationaux de haut niveau.&lt;/p&gt;

&lt;p&gt;» &lt;a href="https://www.dotjs.io/" rel="noopener noreferrer"&gt;dotJS&lt;/a&gt; · &lt;a href="https://www.dotai.io/" rel="noopener noreferrer"&gt;dotAI&lt;/a&gt;&lt;/p&gt;


&lt;h3&gt;
  
  
  Paris Web — 24-25 septembre 2026 — Paris
&lt;/h3&gt;

&lt;p&gt;Le rendez-vous des professionnel·les du web francophone célèbre sa 21ᵉ édition avec un nouveau format de 2 jours sur le thème « L'intelligence du web » : accessibilité, qualité, design et technique, avec 34 conférences et ateliers.&lt;/p&gt;

&lt;p&gt;» &lt;a href="https://www.paris-web.fr" rel="noopener noreferrer"&gt;En savoir plus&lt;/a&gt;&lt;/p&gt;


&lt;h3&gt;
  
  
  WAX — 1er octobre 2026 — Marseille (Stade Vélodrome)
&lt;/h3&gt;

&lt;p&gt;La conférence qui réunit les communautés techniques dans un cadre exceptionnel. Au programme : cloud, DevOps, IA et retours d'expérience. &lt;/p&gt;

&lt;p&gt;» &lt;a href="https://www.waxconf.fr/" rel="noopener noreferrer"&gt;En savoir plus&lt;/a&gt;&lt;/p&gt;


&lt;h3&gt;
  
  
  Volcamp — 1er-2 octobre 2026 — Clermont-Ferrand
&lt;/h3&gt;

&lt;p&gt;La conférence tech au cœur des volcans d'Auvergne : deux jours de talks autour de Java, du cloud, de l'IA et de la craft, organisés par Geek&amp;amp;Terroir au Hall 32.&lt;/p&gt;

&lt;p&gt;» &lt;a href="https://www.volcamp.io" rel="noopener noreferrer"&gt;En savoir plus&lt;/a&gt;&lt;/p&gt;


&lt;h3&gt;
  
  
  Bdx I/O — 29-30 octobre 2026 — Bordeaux
&lt;/h3&gt;

&lt;p&gt;La conférence bordelaise qui monte. Deux jours de conférences et d'ateliers autour du développement, du cloud et de l'IA. &lt;/p&gt;

&lt;p&gt;» &lt;a href="https://www.bdxio.fr" rel="noopener noreferrer"&gt;En savoir plus&lt;/a&gt;&lt;/p&gt;


&lt;h3&gt;
  
  
  Capitole du Libre — 14-15 novembre 2026 — Toulouse
&lt;/h3&gt;

&lt;p&gt;L'événement du logiciel libre en Occitanie, gratuit sur inscription : 100+ conférences et ateliers, village associatif, install party et initiation au code, à l'ENSEEIHT.&lt;/p&gt;

&lt;p&gt;» &lt;a href="https://capitoledulibre.org" rel="noopener noreferrer"&gt;En savoir plus&lt;/a&gt;&lt;/p&gt;


&lt;h3&gt;
  
  
  DevFest Toulouse — 19 novembre 2026 — Labège (31)
&lt;/h3&gt;

&lt;p&gt;Le plus grand événement tech de la région toulousaine, organisé par le GDG Toulouse. Pour sa 10ᵉ édition : 1 200 attendus et 46 talks au Diagora.&lt;/p&gt;

&lt;p&gt;» &lt;a href="https://devfesttoulouse.fr/" rel="noopener noreferrer"&gt;En savoir plus&lt;/a&gt;&lt;/p&gt;


&lt;h3&gt;
  
  
  Open Source Experience — 9-10 décembre 2026 — Paris (Porte de Versailles)
&lt;/h3&gt;

&lt;p&gt;Le salon européen de l'open source (6ᵉ édition), dédié à la souveraineté numérique, la résilience et l'innovation : 130 conférences et 90 exposants, co-localisé avec DevOps REX.&lt;/p&gt;

&lt;p&gt;» &lt;a href="https://www.opensource-experience.com/" rel="noopener noreferrer"&gt;En savoir plus&lt;/a&gt;&lt;/p&gt;




&lt;h3&gt;
  
  
  Merci Aurélie
&lt;/h3&gt;

&lt;p&gt;&lt;strong&gt;Je tiens à souligner ici le super travail d'Aurélie Vache&lt;/strong&gt; qui tient depuis plus de 7 ans un &lt;a href="https://github.com/scraly/developers-conferences-agenda" rel="noopener noreferrer"&gt;github&lt;/a&gt; qui donne toutes les informations pour les conférences à venir.&lt;/p&gt;

&lt;p&gt;Il y a même un site associé : &lt;a href="https://developers.events" rel="noopener noreferrer"&gt;developers.events&lt;/a&gt;&lt;/p&gt;


&lt;h2&gt;
  
  
  OFFRES D'EMPLOI
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;&lt;em&gt;Des employeurs qui cherchent des développeurs. Offres sourcées et récentes.&lt;/em&gt;&lt;/strong&gt;&lt;/p&gt;
&lt;h3&gt;
  
  
  1. Développeur PHP Symfony — Webnet — Août 2026
&lt;/h3&gt;

&lt;p&gt;Lieu : Lille — télétravail fréquent (3 à 4 j/semaine)&lt;/p&gt;

&lt;p&gt;Webnet (ESN web/mobile, 200 collaborateurs) recrute un développeur PHP Symfony. Stack : PHP 8.x, Symfony 6, CI (Jenkins, GitLab CI), ElasticSearch, Docker, MariaDB/PostgreSQL. Rémunération : 33-37K. CDI.&lt;/p&gt;

&lt;p&gt;» &lt;a href="https://www.welcometothejungle.com/fr/companies/webnet/jobs/developpeur-php-symfony-lille_lille_WEBNE_Px5MPQ7" rel="noopener noreferrer"&gt;Voir l'offre sur Welcome to the Jungle&lt;/a&gt;&lt;/p&gt;


&lt;h3&gt;
  
  
  2. Développeur Expérimenté Java Fullstack F/H — Accenture — Août 2026
&lt;/h3&gt;

&lt;p&gt;Lieu : Saint-Herblain (Nantes) — 2 j sur site / 3 j télétravail&lt;/p&gt;

&lt;p&gt;Accenture France recrute un développeur Java fullstack. Stack : Java, Spring (Core, Boot, Batch, Security), Apache Kafka, architectures API/microservices. Minimum 2 ans d'expérience. CDI.&lt;/p&gt;

&lt;p&gt;» &lt;a href="https://www.welcometothejungle.com/fr/companies/accenture-france/jobs/developpeur-experimente-java-fullstack-f-h_saint-herblain" rel="noopener noreferrer"&gt;Voir l'offre sur Welcome to the Jungle&lt;/a&gt;&lt;/p&gt;


&lt;h3&gt;
  
  
  3. Software Engineer Full Stack (NestJS / Angular) — Dougs — Août 2026
&lt;/h3&gt;

&lt;p&gt;Lieu : Bron (Lyon) — télétravail total possible&lt;/p&gt;

&lt;p&gt;Dougs (cabinet d'expertise comptable tech, 450 collaborateurs) recrute pour sa Squad Operations. Stack : Node.js/TypeScript, NestJS, Angular, SQL, GCP, méthode Shape Up. 50-55K €. CDI.&lt;/p&gt;

&lt;p&gt;» &lt;a href="https://www.welcometothejungle.com/fr/companies/dougs/jobs/software-engineer-full-stack-nestjs-angular-squad-operations-h-f_bron_DOUGS_7ZNM0ak" rel="noopener noreferrer"&gt;Voir l'offre sur Welcome to the Jungle&lt;/a&gt;&lt;/p&gt;


&lt;h3&gt;
  
  
  4. Développeur Node JS — Niji — Août 2026
&lt;/h3&gt;

&lt;p&gt;Lieu : Rennes&lt;/p&gt;

&lt;p&gt;Niji (ESN transformation digitale) recrute un développeur Node.js. Stack : Node.js et/ou ReactJS, approche DevSecOps ; découverte de GraphQL, MongoDB/CouchDB, Kibana, Jenkins, Kafka. Minimum 4 ans d'expérience. CDI.&lt;/p&gt;

&lt;p&gt;» &lt;a href="https://fr.linkedin.com/jobs/view/d%C3%A9veloppeur-node-js-f-h-at-niji-4413397713" rel="noopener noreferrer"&gt;Voir l'offre sur LinkedIn&lt;/a&gt;&lt;/p&gt;


&lt;h3&gt;
  
  
  5. Ingénieur Plateforme DevOps — Thales — Août 2026
&lt;/h3&gt;

&lt;p&gt;Lieu : Rennes — habilitation défense requise&lt;/p&gt;

&lt;p&gt;Thales (pôle d'excellence Cyber) recrute un ingénieur plateforme DevOps. Stack : Linux, CI/CD (GitLab CI, Jenkins, CircleCI, Azure DevOps), Kubernetes/Docker Swarm, GCP/AWS/Azure, Terraform, Ansible, scripting Python/Bash, monitoring Prometheus/Grafana/ELK. Minimum 4 ans d'expérience. CDI.&lt;/p&gt;

&lt;p&gt;» &lt;a href="https://fr.linkedin.com/jobs/view/ing%C3%A9nieur-plateforme-devops-at-thales-4365152471" rel="noopener noreferrer"&gt;Voir l'offre sur LinkedIn&lt;/a&gt;&lt;/p&gt;


&lt;h2&gt;
  
  
  LES DEMANDES DE STAGES, ALTERNANCES ET JOBS
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2F3jjwruvfi4edx3ic7d4y.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2F3jjwruvfi4edx3ic7d4y.png" width="800" height="537"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;&lt;em&gt;Ici je vous présente les demandes de stages, d'alternances et de jobs, des personnes qui m'ont contactées.&lt;/em&gt;&lt;/strong&gt;&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;Aux devs, si vous souhaitez passer dans cette rubrique gratuitement, contactez-moi en DM sur Twitter (happytodev), sur LinkedIn (Frédéric Blanc) ou par email &lt;a href="mailto:happytodev@ik.me"&gt;happytodev@ik.me&lt;/a&gt;.&lt;/strong&gt;&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;&lt;em&gt;Pas de nouvelles demandes cette semaine — la rubrique vous est ouverte !&lt;/em&gt;&lt;/p&gt;


&lt;h2&gt;
  
  
  LES NEWSLETTERS QUE JE RECOMMANDE
&lt;/h2&gt;
&lt;h3&gt;
  
  
  RudeOps n°78 — 20 juillet 2026
&lt;/h3&gt;

&lt;p&gt;&lt;em&gt;Publié le 20 juillet 2026 par Cyril Beaufrère&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;Dernier numéro avant la pause d'été, et il démarre fort : après la recommandation de la CNIL assimilant le pixel de tracking email à un cookie, RudeOps a purement et simplement supprimé le sien — pas de case à cocher ni d'usine à gaz, coupé le fil, point. La pépite de la semaine : un face-à-face savoureux entre &lt;strong&gt;Karpenter&lt;/strong&gt; et &lt;strong&gt;cluster-autoscaler&lt;/strong&gt; sur l'infra OVH (spoiler : le vétéran sans paillettes gagne aux points). Au menu aussi : un guide pour construire son propre exporter de métriques K8s, &lt;strong&gt;Freshdock&lt;/strong&gt; (successeur de WatchTower en Rust), &lt;strong&gt;pgsavvy&lt;/strong&gt; (client PostgreSQL en TUI façon lazygit), comment la FSF bloque les botnets avec reaction, la réponse de Linus Torvalds sur l'IA dans le noyau Linux, et un outil de mémoire locale pour vos agents de code.&lt;/p&gt;

&lt;p&gt;» &lt;a href="https://www.rudeops.com/newsletters/2026-07-20" rel="noopener noreferrer"&gt;Lire la newsletter RudeOps&lt;/a&gt;&lt;/p&gt;


&lt;h3&gt;
  
  
  La veille des Ours n°116 — Mesure de l'impact de l'IA
&lt;/h3&gt;

&lt;p&gt;&lt;em&gt;Publié le 31 juillet 2026 par Bearstech&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;Dans ce numéro, Bearstech part d'une litote : l'IA est loin d'être une technologie frugale, mais on manque encore de données fiables pour mesurer son impact réel. Le fil rouge : &lt;strong&gt;l'Arcep lance une consultation publique&lt;/strong&gt; (ouverte jusqu'au 30 septembre) pour collecter des données environnementales directement auprès des fournisseurs d'IA générative — électricité, eau, émissions, sur tout le cycle de vie. Au menu aussi : les (re)découvertes open source (Teable, Portabase, Tauri, Typer, Alacritty) et l'annonce de dotAI 2026.&lt;/p&gt;

&lt;p&gt;» &lt;a href="https://fr.linkedin.com/pulse/mesure-de-limpact-lia-la-veille-des-ours-n116-bearstech-u5cje" rel="noopener noreferrer"&gt;Lire la veille&lt;/a&gt;&lt;/p&gt;


&lt;h3&gt;
  
  
  Veille #67 de Camille Roux
&lt;/h3&gt;

&lt;p&gt;&lt;em&gt;Publié le 1er août 2026&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;38 articles lus, triés et commentés. Au sommaire : &lt;strong&gt;Cursor Router&lt;/strong&gt; (sélection automatique du modèle par requête, 31 à 52 % d'économies annoncées sur les requêtes Auto), la &lt;strong&gt;spec MCP du 28 juillet&lt;/strong&gt; qui passe à un core stateless avec une auth OAuth 2.0 native, et &lt;strong&gt;Kimi K3&lt;/strong&gt; en open source (2,8 trillions de paramètres, 1 million de tokens de contexte). Camille précise qu'il part en vacances à la montagne et n'est pas sûr de publier la veille en août — à savourer.&lt;/p&gt;

&lt;p&gt;» &lt;a href="https://www.camilleroux.com/cursor-router-choisit-votre-modele-mcp-devient-stateless-kimi-k3-1m-tokens-veille-67/" rel="noopener noreferrer"&gt;Lire la veille&lt;/a&gt;&lt;/p&gt;




&lt;h2&gt;
  
  
  UN PEU D'HUMOUR !
&lt;/h2&gt;

&lt;p&gt;Il est temps de sourire et de se détendre un peu.&lt;/p&gt;
&lt;h3&gt;
  
  
  Quand je lis certains posts de ma timeline
&lt;/h3&gt;

&lt;p&gt;&lt;iframe class="tweet-embed" id="tweet-2083961657139638713-839" src="https://platform.twitter.com/embed/Tweet.html?id=2083961657139638713"&gt;
&lt;/iframe&gt;

  // Detect dark theme
  var iframe = document.getElementById('tweet-2083961657139638713-839');
  if (document.body.className.includes('dark-theme')) {
    iframe.src = "https://platform.twitter.com/embed/Tweet.html?id=2083961657139638713&amp;amp;theme=dark"
  }



&lt;/p&gt;




&lt;h3&gt;
  
  
  vibe coding vs vibe debugging
&lt;/h3&gt;

&lt;p&gt;&lt;iframe class="tweet-embed" id="tweet-2083466517379952822-734" src="https://platform.twitter.com/embed/Tweet.html?id=2083466517379952822"&gt;
&lt;/iframe&gt;

  // Detect dark theme
  var iframe = document.getElementById('tweet-2083466517379952822-734');
  if (document.body.className.includes('dark-theme')) {
    iframe.src = "https://platform.twitter.com/embed/Tweet.html?id=2083466517379952822&amp;amp;theme=dark"
  }



&lt;/p&gt;

&lt;p&gt;Le côté « building part flies by » puis « tu vieillis de dix ans à comprendre ce que l'IA a réellement fait » (comme dit un commentaire). Résumé parfait de l'expérience vibe coding en 2026.&lt;/p&gt;




&lt;h3&gt;
  
  
  Junior developer vs production
&lt;/h3&gt;

&lt;p&gt;&lt;iframe class="tweet-embed" id="tweet-2083404495120478621-254" src="https://platform.twitter.com/embed/Tweet.html?id=2083404495120478621"&gt;
&lt;/iframe&gt;

  // Detect dark theme
  var iframe = document.getElementById('tweet-2083404495120478621-254');
  if (document.body.className.includes('dark-theme')) {
    iframe.src = "https://platform.twitter.com/embed/Tweet.html?id=2083404495120478621&amp;amp;theme=dark"
  }



&lt;/p&gt;

&lt;p&gt;Une vidéo Tom &amp;amp; Jerry de circonstance : le junior qui déploie en prod, ça finit toujours comme ça. 50K vues et un commentaire légendaire : « the switch happens the exact second you open devtools ».&lt;/p&gt;




&lt;h2&gt;
  
  
  #LaPetiteInfoDuJour
&lt;/h2&gt;

&lt;p&gt;Avec l'autorisation d'&lt;strong&gt;Olivier Poncet&lt;/strong&gt; (&lt;a href="https://bsky.app/profile/ponceto91.bsky.social" rel="noopener noreferrer"&gt;@ponceto91.bsky.social&lt;/a&gt;), je republie &lt;strong&gt;#LaPetiteInfoDuJour&lt;/strong&gt; prise au hasard ou pas dans celles de la semaine.&lt;/p&gt;

&lt;p&gt;C'est bon pour votre culture générale.&lt;/p&gt;

&lt;p&gt;Merci Olivier pour ce rendez-vous quotidien !&lt;/p&gt;

&lt;h3&gt;
  
  
  Johann Jakob Scheuchzer — 2 août 1672
&lt;/h3&gt;

&lt;p&gt;&lt;a href="https://x.com/ponceto91/status/2083859099482259857" rel="noopener noreferrer"&gt;https://x.com/ponceto91/status/2083859099482259857&lt;/a&gt;&lt;/p&gt;




&lt;h3&gt;
  
  
  🤝 Comment soutenir cette newsletter ?
&lt;/h3&gt;

&lt;p&gt;&lt;strong&gt;Un immense merci à celles et ceux qui soutiennent déjà cette newsletter 💜&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Si la newsletter vous apporte de la valeur, vous pouvez me soutenir dès aujourd'hui avec &lt;strong&gt;un abonnement annuel à seulement 9 €/an à vie&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://go.itanea.fr/qdnldsubscribe" rel="noopener noreferrer"&gt;Je vous soutiens pour 9€/an&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Des alternatives pour me soutenir ?&lt;/strong&gt; Bien sûr ! &lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Votre prochaine commande Amazon avec ++&lt;strong&gt;&lt;a href="https://go.itanea.fr/amznl" rel="noopener noreferrer"&gt;mon lien d'affiliation&lt;/a&gt;&lt;/strong&gt;++&lt;/li&gt;
&lt;li&gt;Abonnez-vous à OpenCode Go pour 5 $ et bénéficiez de 5 $ supplémentaires grâce à &lt;a href="https://go.itanea.fr/opencode" rel="noopener noreferrer"&gt;mon lien de parrainage&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;J’utilise Starlink à la maison et j’en suis plus que satisfait. Si cela vous tente &lt;a href="https://starlink.com/residential?referral=RC-5072169-18924-69&amp;amp;app_source=share" rel="noopener noreferrer"&gt;profitons chacun d’un mois gratuit&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;a href="http://fr.tuto.com/?aff=4Cx6BPp" rel="noopener noreferrer"&gt;Découvrez des milliers de tutos gratuits&lt;/a&gt; dans de nombreux domaine avec l’équipe géniale de Tuto&lt;/li&gt;
&lt;/ul&gt;




&lt;h2&gt;
  
  
  LE MOT DE LA FIN
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;J'espère que cette newsletter vous plaît. Je vous invite encore une fois à vous y abonner — c'est le meilleur soutien que vous puissiez m'apporter.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Vous recevrez cette newsletter directement dans votre boîte email le lundi.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://quoi-de-neuf-les-devs.happyto.dev/subscribe" class="crayons-btn crayons-btn--primary" rel="noopener noreferrer"&gt;Subscribe now&lt;/a&gt;
&lt;/p&gt;

&lt;p&gt;N'hésitez pas à la partager autour de vous avec vos collègues et sur les réseaux sociaux. Cela m'aide vraiment et ne vous coûte rien.&lt;/p&gt;




&lt;p&gt;Sur ce, je vous souhaite une excellente semaine et un bel été !&lt;/p&gt;

&lt;p&gt;Happy Coding à toutes et à tous&lt;/p&gt;

&lt;p&gt;À bientôt&lt;/p&gt;

&lt;p&gt;Fred&lt;/p&gt;

</description>
    </item>
    <item>
      <title>🇫🇷 Framework Heroes News : la veille sur les frameworks pour la semaine 2024/40</title>
      <dc:creator>HappyToDev</dc:creator>
      <pubDate>Tue, 08 Oct 2024 16:14:19 +0000</pubDate>
      <link>https://dev.to/happytodev/framework-heroes-news-la-veille-sur-les-frameworks-pour-la-semaine-202440-clf</link>
      <guid>https://dev.to/happytodev/framework-heroes-news-la-veille-sur-les-frameworks-pour-la-semaine-202440-clf</guid>
      <description>&lt;h2&gt;
  
  
  Edito
&lt;/h2&gt;

&lt;p&gt;Et voici, votre condensé de la veille sur les frameworks de la semaine 40, du 30 septembre au 06 octobre 2024.&lt;/p&gt;

&lt;p&gt;Pour cette première semaine d'octobre, les contributeurs de Framework Heroes n'ont pas chômé.&lt;/p&gt;

&lt;h2&gt;
  
  
  Catégorie Games
&lt;/h2&gt;

&lt;h3&gt;
  
  
  Godot XR Update - October 2024
&lt;/h3&gt;

&lt;p&gt;Cet article détaille les avancées dans le support XR de Godot, incluant des améliorations en suivi de mouvement, pass-through, et la collaboration avec Meta pour optimiser l'expérience sur les appareils Quest.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://godotengine.org/article/godot-xr-update-oct-2024/" rel="noopener noreferrer"&gt;Lire l'article&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Catégorie web
&lt;/h2&gt;

&lt;h3&gt;
  
  
  Security Tip : Auto-secure Cookies FTW
&lt;/h3&gt;

&lt;p&gt;Où on y découvre que Laravel a mis à jour le comportement des cookies pour qu'ils soient automatiquement sécurisés en correspondant au protocole de la requête (HTTP/HTTPS).&lt;/p&gt;

&lt;p&gt;&lt;a href="https://securinglaravel.com/security-tip-auto-secure-cookies-ftw/" rel="noopener noreferrer"&gt;Lire l'article&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  A Guide to Laravel Pipelines | Ash Allen Design
&lt;/h3&gt;

&lt;p&gt;où l'on apprends comment utiliser la classe Pipeline de Laravel pour décomposer des flux de travail complexes en processus isolés et ciblés, facilitant ainsi la gestion et le test des pipelines dans les applications Laravel.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://ashallendesign.co.uk/blog/laravel-pipeline" rel="noopener noreferrer"&gt;Lire l'article&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  LangCountry launches v4
&lt;/h3&gt;

&lt;p&gt;La version 4 de Laravel LangCountry introduit des macros Carbon pour une mise en forme directe des dates selon les spécifications linguistiques et géographiques.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://laravel-news.com/langcountry-launches-v4" rel="noopener noreferrer"&gt;Lire l'article&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  Laravel Roundup - October
&lt;/h3&gt;

&lt;p&gt;Le "Laravel Roundup" d'octobre couvre les dernières nouvelles et mises à jour dans la communauté Laravel, incluant des outils, des packages récemment publiés, et des événements comme des meetups.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://laravel-news.com/laravel-roundup-october" rel="noopener noreferrer"&gt;Lire l'article&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  Lunar - Headless E-Commerce for Laravel
&lt;/h3&gt;

&lt;p&gt;Lunar est un package open-source pour Laravel qui introduit des fonctionnalités de commerce électronique headless modernes.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://lunarphp.io/" rel="noopener noreferrer"&gt;Lire l'article&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  Laravel Form Request and Data Validation Tutorial
&lt;/h3&gt;

&lt;p&gt;Cet article explore comment utiliser les Form Requests de Laravel pour gérer la validation des données et l'autorisation dans une application web.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://devdojo.com/inspector/laravel-form-request-and-data-validation-tutorial" rel="noopener noreferrer"&gt;Lire l'article&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  Laravel Herd v1.11 Adds Forge Integration, Dump Updates, and More
&lt;/h3&gt;

&lt;p&gt;La version 1.11 de Laravel Herd introduit une intégration avec Laravel Forge, des améliorations pour le débogage, et permet le partage de configurations de projet.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://laravel-news.com/laravel-herd-1-11-0" rel="noopener noreferrer"&gt;Lire l'article&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  Security Tip: Stop Using MD5 and SHA-1!
&lt;/h3&gt;

&lt;p&gt;Cet article recommande d'arrêter d'utiliser les algorithmes MD5 et SHA-1 pour des raisons de sécurité, suggérant plutôt l'adoption de solutions plus sécurisées et performantes pour la vérification d'intégrité et la cryptographie.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://securinglaravel.com/security-tip-stop-using-md5-and-sha-1/" rel="noopener noreferrer"&gt;Lire l'article&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  React Best Practices Every Developer Should Know
&lt;/h3&gt;

&lt;p&gt;Cet article présente une compilation des meilleures pratiques pour les développeurs React, visant à améliorer la qualité et la maintenabilité du code.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://www.freecodecamp.org/news/react-best-practices-ever-developer-should-know/" rel="noopener noreferrer"&gt;Lire l'article&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  Building a Google Meet Clone with Next.js and Tailwind CSS - Part Two
&lt;/h3&gt;

&lt;p&gt;Cet article explore la deuxième partie de la création d'un clone de Google Meet, en utilisant Next.js pour la structure et Tailwind CSS pour le style, avec l'intégration de fonctionnalités comme le chat et le partage d'écran.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://tropicolx.hashnode.dev/building-a-google-meet-clone-with-nextjs-and-tailwindcss-part-two" rel="noopener noreferrer"&gt;Lire l'article&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  Introduction to Laravel Data V3
&lt;/h3&gt;

&lt;p&gt;Cet article introduit la version 3 du package Laravel Data de Spatie, qui simplifie la création et la gestion des objets de données dans Laravel.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://spatie.be/docs/laravel-data/v3/introduction" rel="noopener noreferrer"&gt;Lire l'article&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  Serverless Search with Laravel and Typesense
&lt;/h3&gt;

&lt;p&gt;Cet article explore comment intégrer une fonctionnalité de recherche serverless dans une application Laravel en utilisant Typesense pour une recherche rapide et efficace.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://laravel-news.com/serverless-search-laravel-typesense" rel="noopener noreferrer"&gt;Lire l'article&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  Laravel Auth Routes Tutorial
&lt;/h3&gt;

&lt;p&gt;Ce tutorial explique comment configurer et utiliser les routes d'authentification fournies par Laravel pour gérer l'inscription, la connexion et la réinitialisation de mot de passe des utilisateurs.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://devdojo.com/inspector/laravel-auth-routes-tutorial" rel="noopener noreferrer"&gt;Lire l'article&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Et voilà pour les news de la semaine passée.&lt;/p&gt;

&lt;p&gt;N'oubliez pas que Framework Heroes est fait pour vous et par vous. À ce titre, il a besoin de votre participation. &lt;/p&gt;

&lt;h3&gt;
  
  
  Comment ?
&lt;/h3&gt;

&lt;p&gt;Simplement en venant &lt;a href="https://go.itanea.fr/fhndev2" rel="noopener noreferrer"&gt;partager de temps à autres des news&lt;/a&gt; sur vos frameworks préférés.&lt;/p&gt;

</description>
      <category>godot</category>
      <category>laravel</category>
      <category>security</category>
    </item>
    <item>
      <title>Newsletter "What's up devs ?" is born !</title>
      <dc:creator>HappyToDev</dc:creator>
      <pubDate>Sun, 16 Jun 2024 21:35:38 +0000</pubDate>
      <link>https://dev.to/happytodev/newsletter-whats-up-devs-is-born--pl9</link>
      <guid>https://dev.to/happytodev/newsletter-whats-up-devs-is-born--pl9</guid>
      <description>&lt;p&gt;Hi devs, &lt;/p&gt;

&lt;p&gt;You may know that I publish a weekly French dev newsletter called "&lt;a href="https://happytodev.substack.com" rel="noopener noreferrer"&gt;Quoi de neuf les devs ?&lt;/a&gt;".&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;But today, I'm delighted to announce that its English version is born.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;It's called &lt;strong&gt;"&lt;a href="https://go.itanea.fr/wud1" rel="noopener noreferrer"&gt;What's up devs?&lt;/a&gt;"&lt;/strong&gt; and it's in the same spirit as its French sister: to give you the latest development news every week.&lt;/p&gt;

&lt;p&gt;I'll try to keep the same rhythm as the French version, so I'll publish it every Friday. Occasionally, the newsletter may be published on Saturday, depending on how tired I am ;-)&lt;/p&gt;

&lt;p&gt;So I leave you with this newsletter, which I'm very proud to present to you.&lt;/p&gt;

&lt;p&gt;I hope you enjoy reading it as much as I enjoyed writing it.&lt;/p&gt;

&lt;p&gt;Don't hesitate to give your opinion on the topics and content. I'll be reading your comments very carefully to improve this newsletter.&lt;/p&gt;

&lt;p&gt;In this first issue, we'll be talking about&lt;br&gt;&lt;br&gt;
✅ Go, &lt;br&gt;
✅ PostgreSQL, &lt;br&gt;
✅ CSS, &lt;br&gt;
✅ HTTP/3, &lt;br&gt;
✅ Laravel, &lt;br&gt;
✅ Python, &lt;br&gt;
✅ SQLite&lt;br&gt;
and much more...&lt;/p&gt;

&lt;p&gt;Take care and see you next friday !!&lt;/p&gt;

</description>
      <category>webdev</category>
      <category>newsletter</category>
      <category>developers</category>
    </item>
    <item>
      <title>LinKeeper - Lesson 03 - Tests and ressources</title>
      <dc:creator>HappyToDev</dc:creator>
      <pubDate>Sun, 28 Apr 2024 08:56:38 +0000</pubDate>
      <link>https://dev.to/happytodev/linkeeper-lesson-03-tests-and-ressources-50m6</link>
      <guid>https://dev.to/happytodev/linkeeper-lesson-03-tests-and-ressources-50m6</guid>
      <description>&lt;p&gt;In this episode, we're going to take FilamentPHP a step further.&lt;/p&gt;

&lt;p&gt;But first, we're going to set up our testing environment.&lt;/p&gt;

&lt;p&gt;To do this, we're going to use PestPHP. PestPHP is already present because it was installed at the same time as Laravel.&lt;/p&gt;

&lt;p&gt;To get to grips with Pest, we're going to create two very simple tests. Once we have the basics down, we can develop the rest of our application based on the tests.&lt;/p&gt;

&lt;p&gt;What we'll be looking at today : &lt;/p&gt;



&lt;ul&gt;
&lt;li&gt;
Prior configuration of Pest

&lt;ul&gt;
&lt;li&gt;Using SQLite for testing&lt;/li&gt;
&lt;li&gt;Refresh the database for each test&lt;/li&gt;
&lt;li&gt;Load a default account before each test&lt;/li&gt;
&lt;li&gt;Remove the tests provided by default by PestPHP&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
Checking the administration home page

&lt;ul&gt;
&lt;li&gt;Running the test&lt;/li&gt;
&lt;li&gt;Correct the 403 error&lt;/li&gt;
&lt;li&gt;Run the test again&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
Testing the user profile

&lt;ul&gt;
&lt;li&gt;Run the tests&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
a user can see the list of links associated with them

&lt;ul&gt;
&lt;li&gt;Let's create our tests for the Links page&lt;/li&gt;
&lt;li&gt;Let's create the Links page&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;Conclusion &lt;/li&gt;
&lt;/ul&gt;



&lt;h2&gt;
  
  
  Prior configuration of Pest
&lt;/h2&gt;

&lt;h3&gt;
  
  
  Using SQLite for testing
&lt;/h3&gt;

&lt;p&gt;In order to separate your application's database from the one used for testing, we're going to modify the &lt;code&gt;phpunit.xml&lt;/code&gt; file located at the root of your project.&lt;/p&gt;

&lt;p&gt;Simply uncomment the following two lines:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight xml"&gt;&lt;code&gt;        &lt;span class="c"&gt;&amp;lt;!-- &amp;lt;env name="DB_CONNECTION" value="sqlite"/&amp;gt; --&amp;gt;&lt;/span&gt;
        &lt;span class="c"&gt;&amp;lt;!-- &amp;lt;env name="DB_DATABASE" value=":memory:"/&amp;gt; --&amp;gt;&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;





&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight xml"&gt;&lt;code&gt;        &lt;span class="nt"&gt;&amp;lt;env&lt;/span&gt; &lt;span class="na"&gt;name=&lt;/span&gt;&lt;span class="s"&gt;"DB_CONNECTION"&lt;/span&gt; &lt;span class="na"&gt;value=&lt;/span&gt;&lt;span class="s"&gt;"sqlite"&lt;/span&gt;&lt;span class="nt"&gt;/&amp;gt;&lt;/span&gt;
        &lt;span class="nt"&gt;&amp;lt;env&lt;/span&gt; &lt;span class="na"&gt;name=&lt;/span&gt;&lt;span class="s"&gt;"DB_DATABASE"&lt;/span&gt; &lt;span class="na"&gt;value=&lt;/span&gt;&lt;span class="s"&gt;":memory:"&lt;/span&gt;&lt;span class="nt"&gt;/&amp;gt;&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;This will allow Pest, which is a PHPUnit overlay, to use SQLite as its database engine and use it directly in memory.&lt;/p&gt;

&lt;h3&gt;
  
  
  Refresh the database for each test
&lt;/h3&gt;

&lt;h3&gt;
  
  
  Load a default account before each test
&lt;/h3&gt;

&lt;p&gt;We're going to be doing a lot of work with FilamentPHP administration. So to avoid repeating for each test that we want to connect with a registered user, we'll simply tell Pest that for each test, it will act as if it were connected with the user with id #1. &lt;/p&gt;

&lt;p&gt;To make this user ex&lt;/p&gt;

&lt;p&gt;To do this, we'll edit the &lt;code&gt;tests\TestCase.php&lt;/code&gt; file and add the following &lt;code&gt;setUp&lt;/code&gt; function:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight php"&gt;&lt;code&gt;
    &lt;span class="k"&gt;protected&lt;/span&gt; &lt;span class="k"&gt;function&lt;/span&gt; &lt;span class="n"&gt;setUp&lt;/span&gt;&lt;span class="p"&gt;():&lt;/span&gt; &lt;span class="kt"&gt;void&lt;/span&gt;
    &lt;span class="p"&gt;{&lt;/span&gt;
        &lt;span class="k"&gt;parent&lt;/span&gt;&lt;span class="o"&gt;::&lt;/span&gt;&lt;span class="nf"&gt;setUp&lt;/span&gt;&lt;span class="p"&gt;();&lt;/span&gt;

        &lt;span class="nv"&gt;$this&lt;/span&gt;&lt;span class="o"&gt;-&amp;gt;&lt;/span&gt;&lt;span class="nf"&gt;actingAs&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nc"&gt;User&lt;/span&gt;&lt;span class="o"&gt;::&lt;/span&gt;&lt;span class="nf"&gt;find&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="mi"&gt;1&lt;/span&gt;&lt;span class="p"&gt;));&lt;/span&gt;
    &lt;span class="p"&gt;}&lt;/span&gt;

&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;So before each test is run, the &lt;code&gt;actingAs&lt;/code&gt; function will define the user with id #1 as the logged-in user. Here it's my HappyToDev account.&lt;/p&gt;

&lt;h3&gt;
  
  
  Remove the tests provided by default by PestPHP
&lt;/h3&gt;

&lt;p&gt;When you install Pest, it provides you with two default tests: &lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;tests\Feature\ExampleTest.php&lt;/li&gt;
&lt;li&gt;tests\Unit\ExampleTest.php&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;You can delete them or keep them for inspiration.&lt;/p&gt;

&lt;h2&gt;
  
  
  Checking the administration home page
&lt;/h2&gt;

&lt;p&gt;In this test, we'll go to the &lt;code&gt;/admin&lt;/code&gt; page to check that&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;an HTTP 200 code is received&lt;/li&gt;
&lt;li&gt;we can see 'Dashboard' on the page&lt;/li&gt;
&lt;li&gt;we can see the name of our application 'LinKeeper' on the page&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;We'll start by creating a test file using Artisan.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;php artisan pest:test GeneralAdminPageTest
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;By default, the tests created will be stored directly in the &lt;code&gt;tests\Feature&lt;/code&gt; directory.&lt;/p&gt;

&lt;p&gt;Here are the contents of the file :&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight php"&gt;&lt;code&gt;&lt;span class="cp"&gt;&amp;lt;?php&lt;/span&gt;

&lt;span class="kn"&gt;use&lt;/span&gt; &lt;span class="nc"&gt;Illuminate\Support\Facades\Config&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;

&lt;span class="nf"&gt;it&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s1"&gt;'can view admin page'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="k"&gt;function&lt;/span&gt; &lt;span class="p"&gt;()&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
    &lt;span class="nv"&gt;$response&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nv"&gt;$this&lt;/span&gt;&lt;span class="o"&gt;-&amp;gt;&lt;/span&gt;&lt;span class="nf"&gt;get&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s1"&gt;'/admin'&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;

    &lt;span class="nv"&gt;$response&lt;/span&gt;
        &lt;span class="o"&gt;-&amp;gt;&lt;/span&gt;&lt;span class="nf"&gt;assertStatus&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="mi"&gt;200&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
        &lt;span class="o"&gt;-&amp;gt;&lt;/span&gt;&lt;span class="nf"&gt;assertSee&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s1"&gt;'Dashboard'&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
        &lt;span class="o"&gt;-&amp;gt;&lt;/span&gt;&lt;span class="nf"&gt;assertSee&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nf"&gt;Config&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s1"&gt;'APP_NAME'&lt;/span&gt;&lt;span class="p"&gt;));&lt;/span&gt;
&lt;span class="p"&gt;});&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Explanation: &lt;/p&gt;

&lt;p&gt;We ask for get access to the &lt;code&gt;/admin&lt;/code&gt; page and we get the response.&lt;/p&gt;

&lt;p&gt;In this response, we check that we do indeed have an HTTP 200 code, that in the HTML code returned we do indeed have the word &lt;code&gt;Dashboard&lt;/code&gt; and that we do indeed see the name of the application defined in our &lt;code&gt;.env&lt;/code&gt; file, in this case &lt;code&gt;LinKeeper&lt;/code&gt;. To do this, use the &lt;code&gt;config()&lt;/code&gt; helper.&lt;/p&gt;

&lt;h3&gt;
  
  
  Running the test
&lt;/h3&gt;

&lt;p&gt;To run the test, at the root of your project, run the following command:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;./vendor/bin/pest
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Normally you should get a 403 error, so your test will not pass.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F4avad67wcaybgdjwn0lg.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F4avad67wcaybgdjwn0lg.png" alt="Error 403" width="800" height="391"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  Correct the 403 error
&lt;/h3&gt;

&lt;p&gt;To correct this, you need to read the &lt;a href="https://filamentphp.com/docs/3.x/panels/installation#allowing-users-to-access-a-panel" rel="noopener noreferrer"&gt;FilamentPHP documentation&lt;/a&gt; which indicates that when you go into production, you need to modify the &lt;code&gt;User&lt;/code&gt; model to avoid hitting a wall with the 403 error.&lt;/p&gt;

&lt;p&gt;I'll leave it to you to implement the necessary changes so that your test can pass.&lt;/p&gt;

&lt;p&gt;If you encounter the slightest difficulty, let me know in the comments.&lt;/p&gt;

&lt;h3&gt;
  
  
  Run the test again
&lt;/h3&gt;

&lt;p&gt;If you have correctly made the changes requested in the documentation, you should get this result when you run your tests.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F6ipkk9zxo1sgd6dugy4o.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F6ipkk9zxo1sgd6dugy4o.png" alt="Test OK" width="800" height="398"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Testing the user profile
&lt;/h2&gt;

&lt;p&gt;We saw in lesson 2 that we normally have access to the user's profile. Let's set up a test to check this.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;php artisan pest:test UserProfileTest
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;and add the following code:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight php"&gt;&lt;code&gt;&lt;span class="nf"&gt;it&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s1"&gt;'has user profile page'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="k"&gt;function&lt;/span&gt; &lt;span class="p"&gt;()&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
    &lt;span class="nf"&gt;actingAs&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nc"&gt;User&lt;/span&gt;&lt;span class="o"&gt;::&lt;/span&gt;&lt;span class="nf"&gt;find&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="mi"&gt;1&lt;/span&gt;&lt;span class="p"&gt;))&lt;/span&gt;&lt;span class="o"&gt;-&amp;gt;&lt;/span&gt;&lt;span class="nf"&gt;get&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s1"&gt;'/admin/profile'&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
    &lt;span class="o"&gt;-&amp;gt;&lt;/span&gt;&lt;span class="nf"&gt;assertStatus&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="mi"&gt;200&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
    &lt;span class="o"&gt;-&amp;gt;&lt;/span&gt;&lt;span class="nf"&gt;assertSee&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s1"&gt;'Profile'&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
    &lt;span class="o"&gt;-&amp;gt;&lt;/span&gt;&lt;span class="nf"&gt;assertSee&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s1"&gt;'Save changes'&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;span class="p"&gt;});&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;This will allow us to check that when I'm logged in with the user with id #1 (my user) I do indeed get an HTTP 200 code when I go to the &lt;code&gt;/admin/profile&lt;/code&gt; page and I can see the words: 'Profile' and 'Save changes'.&lt;/p&gt;

&lt;p&gt;This is a very simple test, but it validates that the user does indeed have access to this page.&lt;/p&gt;

&lt;h3&gt;
  
  
  Run the tests
&lt;/h3&gt;

&lt;p&gt;As before, run the appropriate command in your terminal:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;./vendor/bin/pest
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;and you should get the following result:&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fm0n9xpuc5g3c2gicip9y.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fm0n9xpuc5g3c2gicip9y.png" alt="Tests OK" width="800" height="388"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Now that we've taken our first steps with tests, we'll be able to take a test-driven development approach using PestPHP throughout this project.&lt;/p&gt;

&lt;h2&gt;
  
  
  a user can see the list of links associated with them
&lt;/h2&gt;

&lt;p&gt;This is the next stage in the development of our application.&lt;/p&gt;

&lt;p&gt;As we are using FilamentPHP for the backend, a number of features are being developed by the FilamentPHP teams and the aim here will not be to test how well Filament works as I have no doubt that this has been tested extensively.&lt;/p&gt;

&lt;p&gt;To view the list of links, the user will have a &lt;code&gt;Links&lt;/code&gt; link in the dashboard menu and this link, by FilamentPHP convention, will lead to an &lt;code&gt;admin/links&lt;/code&gt; address.&lt;/p&gt;

&lt;h3&gt;
  
  
  Let's create our tests for the Links page
&lt;/h3&gt;

&lt;p&gt;Let's create a new test, using artisan :&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;php artisan pest:test PageLinksTest
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;First of all, we want to make sure that the page is accessible.&lt;/p&gt;

&lt;p&gt;To do this, we're going to add the following code to our &lt;code&gt;PageLinksTest&lt;/code&gt; file:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight php"&gt;&lt;code&gt;&lt;span class="nf"&gt;it&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s2"&gt;"can access the user's links page and see 'Links' on the page"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="k"&gt;function&lt;/span&gt; &lt;span class="p"&gt;()&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
    &lt;span class="nv"&gt;$response&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nv"&gt;$this&lt;/span&gt;&lt;span class="o"&gt;-&amp;gt;&lt;/span&gt;&lt;span class="nf"&gt;get&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s1"&gt;'/admin/links'&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;

    &lt;span class="nv"&gt;$response&lt;/span&gt;
        &lt;span class="o"&gt;-&amp;gt;&lt;/span&gt;&lt;span class="nf"&gt;assertOk&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt;
        &lt;span class="o"&gt;-&amp;gt;&lt;/span&gt;&lt;span class="nf"&gt;assertSeeText&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s1"&gt;'Links'&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;span class="p"&gt;});&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;This code will ask PestPHP to load the &lt;code&gt;/admin/links&lt;/code&gt; page and to check firstly that the page returns the HTTP code 200 and then to ensure that the word 'Links' is present in the page.&lt;/p&gt;

&lt;p&gt;You can run the tests with the &lt;code&gt;--filter&lt;/code&gt; option to execute only the test that matches the regex passed in parameter (&lt;a href="https://pestphp.com/docs/filtering-tests#content---filter" rel="noopener noreferrer"&gt;see doc&lt;/a&gt;). For example with : &lt;/p&gt;

&lt;p&gt;&lt;code&gt;./vendor/bin/pest --filter "links page"&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;PestPHP will only run our last test because 'links page' is present in its description.&lt;/p&gt;

&lt;p&gt;This avoids having to run all the tests each time, especially when you have to iterate several times when setting up your test.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F2uzr0c2tly5d7g2z5o3w.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F2uzr0c2tly5d7g2z5o3w.png" alt="Tests KO" width="800" height="436"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;The test fails and that's normal because the Links page doesn't exist at the moment.&lt;/p&gt;

&lt;p&gt;But now that the test is here and has failed, it tells us exactly what to do: &lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;Expected response status code [200] but received 404.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;We were expecting an HTTP 200 code and instead we get a 404, which means that the requested page doesn't exist. &lt;/p&gt;

&lt;p&gt;We simply need to create it.&lt;/p&gt;

&lt;h3&gt;
  
  
  Let's create the Links page
&lt;/h3&gt;

&lt;p&gt;The 'Links' page will be a FilamentPHP administration page. It will therefore be a resource.&lt;/p&gt;

&lt;p&gt;If I take the definition from the tutorial provided with PestPHP : &lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;In Filament, resources are static classes used to build CRUD interfaces for your Eloquent models. They describe how administrators can interact with data from your panel using tables and forms.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;We therefore understand that each Eloquent model will be associated with a resource in FilamentPHP.&lt;/p&gt;

&lt;p&gt;It is therefore time to create our resource associated with our Link model, which is itself linked to our 'links' table in our database.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;php artisan make:filament-resource Link
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;In our application tree, under &lt;code&gt;app/Filament/Resources&lt;/code&gt;, we can see a &lt;code&gt;LinkResource&lt;/code&gt; directory and a &lt;code&gt;LinkResource.php&lt;/code&gt; file. &lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fz0e2r4l594titrnwehto.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fz0e2r4l594titrnwehto.png" alt="Arborescence Filament Resources" width="512" height="362"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;The &lt;code&gt;LinkResource&lt;/code&gt; directory itself has a &lt;code&gt;Pages&lt;/code&gt; sub-directory which contains the &lt;code&gt;CreateLink.php&lt;/code&gt;, &lt;code&gt;EditLink.php&lt;/code&gt; and &lt;code&gt;ListLinks.php&lt;/code&gt; files. We'll talk about these later in this tutorial, so don't worry about these extra files for now.&lt;/p&gt;

&lt;p&gt;FilamentPHP, via this Artisan command, will generate the following skeleton for you:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight php"&gt;&lt;code&gt;&lt;span class="cp"&gt;&amp;lt;?php&lt;/span&gt;

&lt;span class="kn"&gt;namespace&lt;/span&gt; &lt;span class="nn"&gt;App\Filament\Resources&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;

&lt;span class="kn"&gt;use&lt;/span&gt; &lt;span class="nc"&gt;App\Filament\Resources\LinkResource\Pages&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;span class="kn"&gt;use&lt;/span&gt; &lt;span class="nc"&gt;App\Filament\Resources\LinkResource\RelationManagers&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;span class="kn"&gt;use&lt;/span&gt; &lt;span class="nc"&gt;App\Models\Link&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;span class="kn"&gt;use&lt;/span&gt; &lt;span class="nc"&gt;Filament\Forms&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;span class="kn"&gt;use&lt;/span&gt; &lt;span class="nc"&gt;Filament\Forms\Form&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;span class="kn"&gt;use&lt;/span&gt; &lt;span class="nc"&gt;Filament\Resources\Resource&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;span class="kn"&gt;use&lt;/span&gt; &lt;span class="nc"&gt;Filament\Tables&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;span class="kn"&gt;use&lt;/span&gt; &lt;span class="nc"&gt;Filament\Tables\Table&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;span class="kn"&gt;use&lt;/span&gt; &lt;span class="nc"&gt;Illuminate\Database\Eloquent\Builder&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;span class="kn"&gt;use&lt;/span&gt; &lt;span class="nc"&gt;Illuminate\Database\Eloquent\SoftDeletingScope&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;

&lt;span class="kd"&gt;class&lt;/span&gt; &lt;span class="nc"&gt;LinkResource&lt;/span&gt; &lt;span class="kd"&gt;extends&lt;/span&gt; &lt;span class="nc"&gt;Resource&lt;/span&gt;
&lt;span class="p"&gt;{&lt;/span&gt;
    &lt;span class="k"&gt;protected&lt;/span&gt; &lt;span class="k"&gt;static&lt;/span&gt; &lt;span class="kt"&gt;?string&lt;/span&gt; &lt;span class="nv"&gt;$model&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nc"&gt;Link&lt;/span&gt;&lt;span class="o"&gt;::&lt;/span&gt;&lt;span class="n"&gt;class&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;

    &lt;span class="k"&gt;protected&lt;/span&gt; &lt;span class="k"&gt;static&lt;/span&gt; &lt;span class="kt"&gt;?string&lt;/span&gt; &lt;span class="nv"&gt;$navigationIcon&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="s1"&gt;'heroicon-o-rectangle-stack'&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;

    &lt;span class="k"&gt;public&lt;/span&gt; &lt;span class="k"&gt;static&lt;/span&gt; &lt;span class="k"&gt;function&lt;/span&gt; &lt;span class="n"&gt;form&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="kt"&gt;Form&lt;/span&gt; &lt;span class="nv"&gt;$form&lt;/span&gt;&lt;span class="p"&gt;):&lt;/span&gt; &lt;span class="kt"&gt;Form&lt;/span&gt;
    &lt;span class="p"&gt;{&lt;/span&gt;
        &lt;span class="k"&gt;return&lt;/span&gt; &lt;span class="nv"&gt;$form&lt;/span&gt;
            &lt;span class="o"&gt;-&amp;gt;&lt;/span&gt;&lt;span class="nf"&gt;schema&lt;/span&gt;&lt;span class="p"&gt;([&lt;/span&gt;
                &lt;span class="c1"&gt;//&lt;/span&gt;
            &lt;span class="p"&gt;]);&lt;/span&gt;
    &lt;span class="p"&gt;}&lt;/span&gt;

    &lt;span class="k"&gt;public&lt;/span&gt; &lt;span class="k"&gt;static&lt;/span&gt; &lt;span class="k"&gt;function&lt;/span&gt; &lt;span class="n"&gt;table&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="kt"&gt;Table&lt;/span&gt; &lt;span class="nv"&gt;$table&lt;/span&gt;&lt;span class="p"&gt;):&lt;/span&gt; &lt;span class="kt"&gt;Table&lt;/span&gt;
    &lt;span class="p"&gt;{&lt;/span&gt;
        &lt;span class="k"&gt;return&lt;/span&gt; &lt;span class="nv"&gt;$table&lt;/span&gt;
            &lt;span class="o"&gt;-&amp;gt;&lt;/span&gt;&lt;span class="nf"&gt;columns&lt;/span&gt;&lt;span class="p"&gt;([&lt;/span&gt;
                &lt;span class="c1"&gt;//&lt;/span&gt;
            &lt;span class="p"&gt;])&lt;/span&gt;
            &lt;span class="o"&gt;-&amp;gt;&lt;/span&gt;&lt;span class="nf"&gt;filters&lt;/span&gt;&lt;span class="p"&gt;([&lt;/span&gt;
                &lt;span class="c1"&gt;//&lt;/span&gt;
            &lt;span class="p"&gt;])&lt;/span&gt;
            &lt;span class="o"&gt;-&amp;gt;&lt;/span&gt;&lt;span class="nf"&gt;actions&lt;/span&gt;&lt;span class="p"&gt;([&lt;/span&gt;
                &lt;span class="nc"&gt;Tables\Actions\EditAction&lt;/span&gt;&lt;span class="o"&gt;::&lt;/span&gt;&lt;span class="nf"&gt;make&lt;/span&gt;&lt;span class="p"&gt;(),&lt;/span&gt;
            &lt;span class="p"&gt;])&lt;/span&gt;
            &lt;span class="o"&gt;-&amp;gt;&lt;/span&gt;&lt;span class="nf"&gt;bulkActions&lt;/span&gt;&lt;span class="p"&gt;([&lt;/span&gt;
                &lt;span class="nc"&gt;Tables\Actions\BulkActionGroup&lt;/span&gt;&lt;span class="o"&gt;::&lt;/span&gt;&lt;span class="nf"&gt;make&lt;/span&gt;&lt;span class="p"&gt;([&lt;/span&gt;
                    &lt;span class="nc"&gt;Tables\Actions\DeleteBulkAction&lt;/span&gt;&lt;span class="o"&gt;::&lt;/span&gt;&lt;span class="nf"&gt;make&lt;/span&gt;&lt;span class="p"&gt;(),&lt;/span&gt;
                &lt;span class="p"&gt;]),&lt;/span&gt;
            &lt;span class="p"&gt;]);&lt;/span&gt;
    &lt;span class="p"&gt;}&lt;/span&gt;

    &lt;span class="k"&gt;public&lt;/span&gt; &lt;span class="k"&gt;static&lt;/span&gt; &lt;span class="k"&gt;function&lt;/span&gt; &lt;span class="n"&gt;getRelations&lt;/span&gt;&lt;span class="p"&gt;():&lt;/span&gt; &lt;span class="kt"&gt;array&lt;/span&gt;
    &lt;span class="p"&gt;{&lt;/span&gt;
        &lt;span class="k"&gt;return&lt;/span&gt; &lt;span class="p"&gt;[&lt;/span&gt;
            &lt;span class="c1"&gt;//&lt;/span&gt;
        &lt;span class="p"&gt;];&lt;/span&gt;
    &lt;span class="p"&gt;}&lt;/span&gt;

    &lt;span class="k"&gt;public&lt;/span&gt; &lt;span class="k"&gt;static&lt;/span&gt; &lt;span class="k"&gt;function&lt;/span&gt; &lt;span class="n"&gt;getPages&lt;/span&gt;&lt;span class="p"&gt;():&lt;/span&gt; &lt;span class="kt"&gt;array&lt;/span&gt;
    &lt;span class="p"&gt;{&lt;/span&gt;
        &lt;span class="k"&gt;return&lt;/span&gt; &lt;span class="p"&gt;[&lt;/span&gt;
            &lt;span class="s1"&gt;'index'&lt;/span&gt; &lt;span class="o"&gt;=&amp;gt;&lt;/span&gt; &lt;span class="nc"&gt;Pages\ListLinks&lt;/span&gt;&lt;span class="o"&gt;::&lt;/span&gt;&lt;span class="nf"&gt;route&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s1"&gt;'/'&lt;/span&gt;&lt;span class="p"&gt;),&lt;/span&gt;
            &lt;span class="s1"&gt;'create'&lt;/span&gt; &lt;span class="o"&gt;=&amp;gt;&lt;/span&gt; &lt;span class="nc"&gt;Pages\CreateLink&lt;/span&gt;&lt;span class="o"&gt;::&lt;/span&gt;&lt;span class="nf"&gt;route&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s1"&gt;'/create'&lt;/span&gt;&lt;span class="p"&gt;),&lt;/span&gt;
            &lt;span class="s1"&gt;'edit'&lt;/span&gt; &lt;span class="o"&gt;=&amp;gt;&lt;/span&gt; &lt;span class="nc"&gt;Pages\EditLink&lt;/span&gt;&lt;span class="o"&gt;::&lt;/span&gt;&lt;span class="nf"&gt;route&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s1"&gt;'/{record}/edit'&lt;/span&gt;&lt;span class="p"&gt;),&lt;/span&gt;
        &lt;span class="p"&gt;];&lt;/span&gt;
    &lt;span class="p"&gt;}&lt;/span&gt;
&lt;span class="p"&gt;}&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Let's not worry about that for the moment. But let's run our test again:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;./vendor/bin/pest &lt;span class="nt"&gt;--filter&lt;/span&gt; &lt;span class="s2"&gt;"links page"&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;We can see that this time our test is green.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F8xb44qt2080ztinc3ws8.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F8xb44qt2080ztinc3ws8.png" alt="Tests OK" width="800" height="193"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;If we go to the &lt;code&gt;admin/links&lt;/code&gt; page, we can see that the page does exist (HTTP code 200) and that it does indeed say &lt;strong&gt;'Links'&lt;/strong&gt;. This is why our test turns green.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fw63ujncufjdh05d2io2y.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fw63ujncufjdh05d2io2y.png" alt="Page admin/links" width="800" height="453"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;However, we soon realise that something isn't quite right. There seem to be records but nothing is visible in the table that shows us the links.&lt;/p&gt;

&lt;p&gt;This is normal, we'll need to configure our resource file.&lt;/p&gt;

&lt;h2&gt;
  
  
  Conclusion
&lt;/h2&gt;

&lt;p&gt;We'll stop here for episode 3.&lt;/p&gt;

&lt;p&gt;In this chapter, we started doing TDD for our application development and touched on resources in FilamentPHP.&lt;/p&gt;

&lt;p&gt;In the next episode, we'll continue our testing strategy with PestPHP and get to know FilamentPHP's resources better.&lt;/p&gt;

&lt;p&gt;As usual, I look forward to your comments below.&lt;/p&gt;

&lt;p&gt;See you soon.&lt;/p&gt;

</description>
    </item>
    <item>
      <title>Linkeeper - Lesson 02 - Start playing with Filament</title>
      <dc:creator>HappyToDev</dc:creator>
      <pubDate>Wed, 10 Apr 2024 16:15:15 +0000</pubDate>
      <link>https://dev.to/happytodev/linkeeper-a-linktree-alternative-with-laravel-and-filament-lesson-02-start-playing-with-filament-4n32</link>
      <guid>https://dev.to/happytodev/linkeeper-a-linktree-alternative-with-laravel-and-filament-lesson-02-start-playing-with-filament-4n32</guid>
      <description>&lt;p&gt;Ok, now your application is set.&lt;/p&gt;

&lt;p&gt;We can dive in something more concrete.&lt;/p&gt;



&lt;ul&gt;
&lt;li&gt;an user can signin, login, logout and manage his account&lt;/li&gt;
&lt;li&gt;
a link has a name, a status (published or not) and obviously a link

&lt;ul&gt;
&lt;li&gt;Let's think about table schema&lt;/li&gt;
&lt;li&gt;Let's migrate&lt;/li&gt;
&lt;li&gt;Define model and relationship&lt;/li&gt;
&lt;li&gt;
We need fake datas to plays with

&lt;ul&gt;
&lt;li&gt;The factories&lt;/li&gt;
&lt;li&gt;The seeder&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;



&lt;p&gt;What we need to manage our links.&lt;/p&gt;

&lt;p&gt;Remember what I said in the first part : &lt;/p&gt;

&lt;blockquote&gt;
&lt;ul&gt;
&lt;li&gt;an user can signin, login, logout and manage his account&lt;/li&gt;
&lt;li&gt;a user can see a list of their links&lt;/li&gt;
&lt;li&gt;an user can add, edit or delete a link&lt;/li&gt;
&lt;li&gt;an user can have a shareable link to share his links with the world&lt;/li&gt;
&lt;li&gt;a link has a name, a status (published or not) and obviously a link. May be we will add some options later.&lt;/li&gt;
&lt;/ul&gt;
&lt;/blockquote&gt;

&lt;h2&gt;
  
  
  an user can signin, login, logout and manage his account
&lt;/h2&gt;

&lt;p&gt;This is done with Filament. In fact, no completely, we can login, logout but not register or even manage our own account.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fv6qm92bcpnywky1s4al9.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fv6qm92bcpnywky1s4al9.png" alt="Signin view" width="800" height="727"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;But, you will see it's very easy to add register and profile page for users.&lt;/p&gt;

&lt;p&gt;In &lt;code&gt;app/Providers/Filament/AdminPanelProvider.php&lt;/code&gt; &lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Flh2ru1xnud0vunw8tq38.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Flh2ru1xnud0vunw8tq38.png" alt="Path to AdminPanelProvider.php" width="584" height="354"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;you have to add only 2 lines under login() function call to implement both functionnalities :&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight php"&gt;&lt;code&gt;&lt;span class="kd"&gt;class&lt;/span&gt; &lt;span class="nc"&gt;AdminPanelProvider&lt;/span&gt; &lt;span class="kd"&gt;extends&lt;/span&gt; &lt;span class="nc"&gt;PanelProvider&lt;/span&gt;
&lt;span class="p"&gt;{&lt;/span&gt;
    &lt;span class="k"&gt;public&lt;/span&gt; &lt;span class="k"&gt;function&lt;/span&gt; &lt;span class="n"&gt;panel&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="kt"&gt;Panel&lt;/span&gt; &lt;span class="nv"&gt;$panel&lt;/span&gt;&lt;span class="p"&gt;):&lt;/span&gt; &lt;span class="kt"&gt;Panel&lt;/span&gt;
    &lt;span class="p"&gt;{&lt;/span&gt;
        &lt;span class="k"&gt;return&lt;/span&gt; &lt;span class="nv"&gt;$panel&lt;/span&gt;
            &lt;span class="o"&gt;-&amp;gt;&lt;/span&gt;&lt;span class="k"&gt;default&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt;
            &lt;span class="o"&gt;-&amp;gt;&lt;/span&gt;&lt;span class="nf"&gt;id&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s1"&gt;'admin'&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
            &lt;span class="o"&gt;-&amp;gt;&lt;/span&gt;&lt;span class="nf"&gt;path&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s1"&gt;'admin'&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
            &lt;span class="o"&gt;-&amp;gt;&lt;/span&gt;&lt;span class="nf"&gt;login&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt;
            &lt;span class="c1"&gt;// Lesson 2 : here we add registration and profile page&lt;/span&gt;
            &lt;span class="o"&gt;-&amp;gt;&lt;/span&gt;&lt;span class="nf"&gt;registration&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt; &lt;span class="c1"&gt;// registration&lt;/span&gt;
            &lt;span class="o"&gt;-&amp;gt;&lt;/span&gt;&lt;span class="nf"&gt;profile&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt;      &lt;span class="c1"&gt;// profile management&lt;/span&gt;
            &lt;span class="o"&gt;-&amp;gt;&lt;/span&gt;&lt;span class="nf"&gt;colors&lt;/span&gt;&lt;span class="p"&gt;([&lt;/span&gt;
                &lt;span class="s1"&gt;'primary'&lt;/span&gt; &lt;span class="o"&gt;=&amp;gt;&lt;/span&gt; &lt;span class="nc"&gt;Color&lt;/span&gt;&lt;span class="o"&gt;::&lt;/span&gt;&lt;span class="nc"&gt;Amber&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
            &lt;span class="p"&gt;])&lt;/span&gt;
            &lt;span class="o"&gt;-&amp;gt;&lt;/span&gt;&lt;span class="nf"&gt;discoverResources&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;in&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt; &lt;span class="nf"&gt;app_path&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s1"&gt;'Filament/Resources'&lt;/span&gt;&lt;span class="p"&gt;),&lt;/span&gt; &lt;span class="k"&gt;for&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt; &lt;span class="s1"&gt;'App\\Filament\\Resources'&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
            &lt;span class="o"&gt;-&amp;gt;&lt;/span&gt;&lt;span class="nf"&gt;discoverPages&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;in&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt; &lt;span class="nf"&gt;app_path&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s1"&gt;'Filament/Pages'&lt;/span&gt;&lt;span class="p"&gt;),&lt;/span&gt; &lt;span class="k"&gt;for&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt; &lt;span class="s1"&gt;'App\\Filament\\Pages'&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
            &lt;span class="o"&gt;-&amp;gt;&lt;/span&gt;&lt;span class="nf"&gt;pages&lt;/span&gt;&lt;span class="p"&gt;([&lt;/span&gt;
                &lt;span class="nc"&gt;Pages\Dashboard&lt;/span&gt;&lt;span class="o"&gt;::&lt;/span&gt;&lt;span class="n"&gt;class&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
            &lt;span class="p"&gt;])&lt;/span&gt;
            &lt;span class="o"&gt;-&amp;gt;&lt;/span&gt;&lt;span class="nf"&gt;discoverWidgets&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;in&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt; &lt;span class="nf"&gt;app_path&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s1"&gt;'Filament/Widgets'&lt;/span&gt;&lt;span class="p"&gt;),&lt;/span&gt; &lt;span class="k"&gt;for&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt; &lt;span class="s1"&gt;'App\\Filament\\Widgets'&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
            &lt;span class="o"&gt;-&amp;gt;&lt;/span&gt;&lt;span class="nf"&gt;widgets&lt;/span&gt;&lt;span class="p"&gt;([&lt;/span&gt;
                &lt;span class="nc"&gt;Widgets\AccountWidget&lt;/span&gt;&lt;span class="o"&gt;::&lt;/span&gt;&lt;span class="n"&gt;class&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
                &lt;span class="nc"&gt;Widgets\FilamentInfoWidget&lt;/span&gt;&lt;span class="o"&gt;::&lt;/span&gt;&lt;span class="n"&gt;class&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
            &lt;span class="p"&gt;])&lt;/span&gt;
            &lt;span class="o"&gt;-&amp;gt;&lt;/span&gt;&lt;span class="nf"&gt;middleware&lt;/span&gt;&lt;span class="p"&gt;([&lt;/span&gt;
                &lt;span class="nc"&gt;EncryptCookies&lt;/span&gt;&lt;span class="o"&gt;::&lt;/span&gt;&lt;span class="n"&gt;class&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
                &lt;span class="nc"&gt;AddQueuedCookiesToResponse&lt;/span&gt;&lt;span class="o"&gt;::&lt;/span&gt;&lt;span class="n"&gt;class&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
                &lt;span class="nc"&gt;StartSession&lt;/span&gt;&lt;span class="o"&gt;::&lt;/span&gt;&lt;span class="n"&gt;class&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
                &lt;span class="nc"&gt;AuthenticateSession&lt;/span&gt;&lt;span class="o"&gt;::&lt;/span&gt;&lt;span class="n"&gt;class&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
                &lt;span class="nc"&gt;ShareErrorsFromSession&lt;/span&gt;&lt;span class="o"&gt;::&lt;/span&gt;&lt;span class="n"&gt;class&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
                &lt;span class="nc"&gt;VerifyCsrfToken&lt;/span&gt;&lt;span class="o"&gt;::&lt;/span&gt;&lt;span class="n"&gt;class&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
                &lt;span class="nc"&gt;SubstituteBindings&lt;/span&gt;&lt;span class="o"&gt;::&lt;/span&gt;&lt;span class="n"&gt;class&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
                &lt;span class="nc"&gt;DisableBladeIconComponents&lt;/span&gt;&lt;span class="o"&gt;::&lt;/span&gt;&lt;span class="n"&gt;class&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
                &lt;span class="nc"&gt;DispatchServingFilamentEvent&lt;/span&gt;&lt;span class="o"&gt;::&lt;/span&gt;&lt;span class="n"&gt;class&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
            &lt;span class="p"&gt;])&lt;/span&gt;
            &lt;span class="o"&gt;-&amp;gt;&lt;/span&gt;&lt;span class="nf"&gt;authMiddleware&lt;/span&gt;&lt;span class="p"&gt;([&lt;/span&gt;
                &lt;span class="nc"&gt;Authenticate&lt;/span&gt;&lt;span class="o"&gt;::&lt;/span&gt;&lt;span class="n"&gt;class&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
            &lt;span class="p"&gt;]);&lt;/span&gt;
    &lt;span class="p"&gt;}&lt;/span&gt;
&lt;span class="p"&gt;}&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Go back to your login page : &lt;code&gt;http://linkeeper.com/admin/login&lt;/code&gt; and you will see&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fx3274bw47b1gvcs59fm5.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fx3274bw47b1gvcs59fm5.png" alt="Signin page with register link" width="800" height="762"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;that the link for signup has been added.&lt;/p&gt;

&lt;p&gt;If you login, you will see under your menu the new sub menu 'Profile'&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fwvvd09d3qj7sr2q59ukj.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fwvvd09d3qj7sr2q59ukj.png" alt=" " width="800" height="267"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;It allows you to edit your nickname,  your e-mail address and change your password.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fmw5hvzh55vbyfsbc52m3.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fmw5hvzh55vbyfsbc52m3.png" alt=" " width="800" height="743"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;So, after this very cool step we can check the first functionnality : &lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;✅ an user can signin, login, logout and manage his account&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;an user can add, edit or delete a link&lt;/li&gt;
&lt;li&gt;an user can have a shareable link to share his links with the world&lt;/li&gt;
&lt;li&gt;a link has a name, a status (published or not) and obviously a link. May be we will add some options later.&lt;/li&gt;
&lt;/ul&gt;
&lt;/blockquote&gt;

&lt;h2&gt;
  
  
  a link has a name, a status (published or not) and obviously a link
&lt;/h2&gt;

&lt;p&gt;I know it is not in the order of the list, but first it's me writing, second I need to define table &lt;code&gt;links&lt;/code&gt; and its fields before an user can add link, right ?&lt;/p&gt;

&lt;p&gt;So let me do this ! 🤣&lt;/p&gt;

&lt;h3&gt;
  
  
  Let's think about table schema
&lt;/h3&gt;

&lt;p&gt;Ok, what will be the fields in our table &lt;code&gt;links&lt;/code&gt; ?&lt;/p&gt;

&lt;p&gt;Of course an &lt;code&gt;id&lt;/code&gt;, an &lt;code&gt;url&lt;/code&gt;, a short &lt;code&gt;description&lt;/code&gt;, a &lt;code&gt;published&lt;/code&gt; status (published or not), a &lt;code&gt;user_id&lt;/code&gt; foreign key and finally the classicals &lt;code&gt;created_at&lt;/code&gt; and &lt;code&gt;updated_at&lt;/code&gt;.&lt;/p&gt;

&lt;p&gt;The &lt;code&gt;user_id&lt;/code&gt; is to define the relationship between a user and a link.&lt;/p&gt;

&lt;p&gt;In fact, we can resume this relation by :&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;a user can have 0, 1 or many links&lt;/li&gt;
&lt;li&gt;a link (unique by its &lt;code&gt;id&lt;/code&gt;) belongs to one and only one user&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;This is why we use a one-to-many relationship.&lt;/p&gt;

&lt;p&gt;What do you thing, is something missing ? Tell me in the comment if you think I forgot something.&lt;/p&gt;

&lt;p&gt;Ok, now we have to prepare the migration for &lt;code&gt;links&lt;/code&gt; table.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;php artisan make:migration create_links_table
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fwe2824mexb8q2fr00bkt.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fwe2824mexb8q2fr00bkt.png" alt=" " width="800" height="70"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Now we have to edit this migration to add fields to the table. So, let's edit the migration file&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight php"&gt;&lt;code&gt;&lt;span class="cp"&gt;&amp;lt;?php&lt;/span&gt;

&lt;span class="kn"&gt;use&lt;/span&gt; &lt;span class="nc"&gt;Illuminate\Database\Migrations\Migration&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;span class="kn"&gt;use&lt;/span&gt; &lt;span class="nc"&gt;Illuminate\Database\Schema\Blueprint&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;span class="kn"&gt;use&lt;/span&gt; &lt;span class="nc"&gt;Illuminate\Support\Facades\Schema&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;

&lt;span class="k"&gt;return&lt;/span&gt; &lt;span class="k"&gt;new&lt;/span&gt; &lt;span class="kd"&gt;class&lt;/span&gt; &lt;span class="kd"&gt;extends&lt;/span&gt; &lt;span class="nc"&gt;Migration&lt;/span&gt;
&lt;span class="p"&gt;{&lt;/span&gt;
    &lt;span class="cd"&gt;/**
     * Run the migrations.
     */&lt;/span&gt;
    &lt;span class="k"&gt;public&lt;/span&gt; &lt;span class="k"&gt;function&lt;/span&gt; &lt;span class="n"&gt;up&lt;/span&gt;&lt;span class="p"&gt;():&lt;/span&gt; &lt;span class="kt"&gt;void&lt;/span&gt;
    &lt;span class="p"&gt;{&lt;/span&gt;
        &lt;span class="nc"&gt;Schema&lt;/span&gt;&lt;span class="o"&gt;::&lt;/span&gt;&lt;span class="nf"&gt;create&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s1"&gt;'links'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="k"&gt;function&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="kt"&gt;Blueprint&lt;/span&gt; &lt;span class="nv"&gt;$table&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
            &lt;span class="nv"&gt;$table&lt;/span&gt;&lt;span class="o"&gt;-&amp;gt;&lt;/span&gt;&lt;span class="nf"&gt;id&lt;/span&gt;&lt;span class="p"&gt;();&lt;/span&gt;
            &lt;span class="nv"&gt;$table&lt;/span&gt;&lt;span class="o"&gt;-&amp;gt;&lt;/span&gt;&lt;span class="nf"&gt;string&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s1"&gt;'url'&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
            &lt;span class="nv"&gt;$table&lt;/span&gt;&lt;span class="o"&gt;-&amp;gt;&lt;/span&gt;&lt;span class="nf"&gt;string&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s1"&gt;'description'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="mi"&gt;255&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;&lt;span class="o"&gt;-&amp;gt;&lt;/span&gt;&lt;span class="nf"&gt;nullable&lt;/span&gt;&lt;span class="p"&gt;();&lt;/span&gt;
            &lt;span class="nv"&gt;$table&lt;/span&gt;&lt;span class="o"&gt;-&amp;gt;&lt;/span&gt;&lt;span class="nf"&gt;boolean&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s1"&gt;'published'&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;&lt;span class="o"&gt;-&amp;gt;&lt;/span&gt;&lt;span class="k"&gt;default&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="kc"&gt;false&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
            &lt;span class="nv"&gt;$table&lt;/span&gt;&lt;span class="o"&gt;-&amp;gt;&lt;/span&gt;&lt;span class="nf"&gt;foreignId&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s1"&gt;'user_id'&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;&lt;span class="o"&gt;-&amp;gt;&lt;/span&gt;&lt;span class="nf"&gt;constrained&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s1"&gt;'users'&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;&lt;span class="o"&gt;-&amp;gt;&lt;/span&gt;&lt;span class="nf"&gt;onDelete&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s1"&gt;'cascade'&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
            &lt;span class="nv"&gt;$table&lt;/span&gt;&lt;span class="o"&gt;-&amp;gt;&lt;/span&gt;&lt;span class="nf"&gt;timestamps&lt;/span&gt;&lt;span class="p"&gt;();&lt;/span&gt;
        &lt;span class="p"&gt;});&lt;/span&gt;
    &lt;span class="p"&gt;}&lt;/span&gt;

    &lt;span class="cd"&gt;/**
     * Reverse the migrations.
     */&lt;/span&gt;
    &lt;span class="k"&gt;public&lt;/span&gt; &lt;span class="k"&gt;function&lt;/span&gt; &lt;span class="n"&gt;down&lt;/span&gt;&lt;span class="p"&gt;():&lt;/span&gt; &lt;span class="kt"&gt;void&lt;/span&gt;
    &lt;span class="p"&gt;{&lt;/span&gt;
        &lt;span class="nc"&gt;Schema&lt;/span&gt;&lt;span class="o"&gt;::&lt;/span&gt;&lt;span class="nf"&gt;dropIfExists&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s1"&gt;'links'&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
    &lt;span class="p"&gt;}&lt;/span&gt;
&lt;span class="p"&gt;};&lt;/span&gt;

&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;
  
  
  Let's migrate
&lt;/h3&gt;

&lt;p&gt;Ok, it's time to migrate. For that, we can use (again) Artisan.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight php"&gt;&lt;code&gt;&lt;span class="n"&gt;php&lt;/span&gt; &lt;span class="n"&gt;artisan&lt;/span&gt; &lt;span class="n"&gt;migrate&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Remember if you make something wrong or you want to modify immediately the schema, you can rollback your migration with :&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight php"&gt;&lt;code&gt;&lt;span class="n"&gt;php&lt;/span&gt; &lt;span class="n"&gt;artisan&lt;/span&gt; &lt;span class="n"&gt;migrate&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt;&lt;span class="n"&gt;rollback&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;And if you want to see the status of your migrations, you can use :&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight php"&gt;&lt;code&gt;&lt;span class="n"&gt;php&lt;/span&gt; &lt;span class="n"&gt;artisan&lt;/span&gt; &lt;span class="n"&gt;migrate&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt;&lt;span class="n"&gt;status&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Look at this screenshot captured before running the last migration.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fxf2v2tzlf2ba3l9yba3t.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fxf2v2tzlf2ba3l9yba3t.png" alt=" " width="800" height="185"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;We can see two things : &lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;first the migration for the &lt;code&gt;links&lt;/code&gt; table was not run already&lt;/li&gt;
&lt;li&gt;second the three first migrations was launched in the same sequence : the sequence number [1]&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  Define model and relationship
&lt;/h3&gt;

&lt;p&gt;The next step is to define the &lt;code&gt;Link&lt;/code&gt; model and adapt &lt;code&gt;User&lt;/code&gt; model.&lt;/p&gt;

&lt;p&gt;We will use again Artisan :&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;php artisan make:model Link
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fgfdmp8zwp3xvv04xmebs.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fgfdmp8zwp3xvv04xmebs.png" alt=" " width="800" height="113"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Now we have to tell the model that a link belongs to an user.&lt;/p&gt;

&lt;p&gt;Add this function to the model class &lt;code&gt;Link&lt;/code&gt;:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight php"&gt;&lt;code&gt;    &lt;span class="k"&gt;public&lt;/span&gt; &lt;span class="k"&gt;function&lt;/span&gt; &lt;span class="n"&gt;user&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt;
    &lt;span class="p"&gt;{&lt;/span&gt;
        &lt;span class="k"&gt;return&lt;/span&gt; &lt;span class="nv"&gt;$this&lt;/span&gt;&lt;span class="o"&gt;-&amp;gt;&lt;/span&gt;&lt;span class="nf"&gt;belongsTo&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nc"&gt;User&lt;/span&gt;&lt;span class="o"&gt;::&lt;/span&gt;&lt;span class="n"&gt;class&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
    &lt;span class="p"&gt;}&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;To finish with the model, we have to update the model &lt;code&gt;User&lt;/code&gt; by adding it a function &lt;code&gt;links&lt;/code&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight php"&gt;&lt;code&gt;    &lt;span class="k"&gt;public&lt;/span&gt; &lt;span class="k"&gt;function&lt;/span&gt; &lt;span class="n"&gt;links&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt;
    &lt;span class="p"&gt;{&lt;/span&gt;
        &lt;span class="k"&gt;return&lt;/span&gt; &lt;span class="nv"&gt;$this&lt;/span&gt;&lt;span class="o"&gt;-&amp;gt;&lt;/span&gt;&lt;span class="nf"&gt;hasMany&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nc"&gt;Link&lt;/span&gt;&lt;span class="o"&gt;::&lt;/span&gt;&lt;span class="n"&gt;class&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
    &lt;span class="p"&gt;}&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;
  
  
  We need fake datas to plays with
&lt;/h3&gt;

&lt;p&gt;After defining our database schema, let's do something very important.&lt;/p&gt;

&lt;p&gt;Create fake datas to play with. Please do not use production datas from your database during development.&lt;br&gt;
For many reasons such as ethics, confidentiality and security. We are professionals, so let's act accordingly.&lt;/p&gt;
&lt;h4&gt;
  
  
  The factories
&lt;/h4&gt;

&lt;p&gt;By default Laravel comes with &lt;code&gt;User&lt;/code&gt; factory, so we just need to create a &lt;code&gt;Link&lt;/code&gt; factory.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;php artisan make:factory Link
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;In the generated &lt;code&gt;definition&lt;/code&gt; function we put this code :&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight php"&gt;&lt;code&gt;    &lt;span class="k"&gt;public&lt;/span&gt; &lt;span class="k"&gt;function&lt;/span&gt; &lt;span class="n"&gt;definition&lt;/span&gt;&lt;span class="p"&gt;():&lt;/span&gt; &lt;span class="kt"&gt;array&lt;/span&gt;
    &lt;span class="p"&gt;{&lt;/span&gt;
        &lt;span class="k"&gt;return&lt;/span&gt; &lt;span class="p"&gt;[&lt;/span&gt;
            &lt;span class="s1"&gt;'url'&lt;/span&gt; &lt;span class="o"&gt;=&amp;gt;&lt;/span&gt; &lt;span class="nf"&gt;fake&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt;&lt;span class="o"&gt;-&amp;gt;&lt;/span&gt;&lt;span class="nf"&gt;url&lt;/span&gt;&lt;span class="p"&gt;(),&lt;/span&gt;
            &lt;span class="s1"&gt;'description'&lt;/span&gt; &lt;span class="o"&gt;=&amp;gt;&lt;/span&gt; &lt;span class="nf"&gt;fake&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt;&lt;span class="o"&gt;-&amp;gt;&lt;/span&gt;&lt;span class="nf"&gt;sentence&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="mi"&gt;5&lt;/span&gt;&lt;span class="p"&gt;),&lt;/span&gt;
            &lt;span class="s1"&gt;'published'&lt;/span&gt; &lt;span class="o"&gt;=&amp;gt;&lt;/span&gt; &lt;span class="nf"&gt;fake&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt;&lt;span class="o"&gt;-&amp;gt;&lt;/span&gt;&lt;span class="nf"&gt;boolean&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="mi"&gt;80&lt;/span&gt;&lt;span class="p"&gt;),&lt;/span&gt;
        &lt;span class="p"&gt;];&lt;/span&gt;
    &lt;span class="p"&gt;}&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Factories use Faker to generate fake datas but very close to real datas.&lt;/p&gt;

&lt;p&gt;In this code, we generate :&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;an url&lt;/li&gt;
&lt;li&gt;a description based on a sentence of 5 words. In fact, as I let the second parameter of &lt;code&gt;sentence&lt;/code&gt; method by default (true), sentence will generate sentences with approximately 5 words. It could be four, five, six or even seven words.&lt;/li&gt;
&lt;li&gt;true or false for the &lt;code&gt;published&lt;/code&gt; field with a minimum true percentage of 80%&lt;/li&gt;
&lt;/ul&gt;

&lt;h4&gt;
  
  
  The seeder
&lt;/h4&gt;

&lt;p&gt;Laravel comes with &lt;code&gt;database/seeders/DatabaseSeeder.php&lt;/code&gt; &lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fdv63g7jmzuqb9jofvh20.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fdv63g7jmzuqb9jofvh20.png" alt="Path to DatabaseSeeder.php" width="584" height="492"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;We have to edit it to use our factory.&lt;/p&gt;

&lt;p&gt;Here it is the code :&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight php"&gt;&lt;code&gt;    &lt;span class="cd"&gt;/**
     * Seed the application's database.
     */&lt;/span&gt;
    &lt;span class="k"&gt;public&lt;/span&gt; &lt;span class="k"&gt;function&lt;/span&gt; &lt;span class="n"&gt;run&lt;/span&gt;&lt;span class="p"&gt;():&lt;/span&gt; &lt;span class="kt"&gt;void&lt;/span&gt;
    &lt;span class="p"&gt;{&lt;/span&gt;
        &lt;span class="nc"&gt;User&lt;/span&gt;&lt;span class="o"&gt;::&lt;/span&gt;&lt;span class="nf"&gt;factory&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt;&lt;span class="o"&gt;-&amp;gt;&lt;/span&gt;&lt;span class="nf"&gt;create&lt;/span&gt;&lt;span class="p"&gt;([&lt;/span&gt;
            &lt;span class="s1"&gt;'name'&lt;/span&gt; &lt;span class="o"&gt;=&amp;gt;&lt;/span&gt; &lt;span class="s1"&gt;'Happytodev'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
            &lt;span class="s1"&gt;'email'&lt;/span&gt; &lt;span class="o"&gt;=&amp;gt;&lt;/span&gt; &lt;span class="s1"&gt;'happytodev@gmail.com'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
            &lt;span class="s1"&gt;'email_verified_at'&lt;/span&gt; &lt;span class="o"&gt;=&amp;gt;&lt;/span&gt; &lt;span class="nf"&gt;now&lt;/span&gt;&lt;span class="p"&gt;(),&lt;/span&gt;
            &lt;span class="s1"&gt;'password'&lt;/span&gt; &lt;span class="o"&gt;=&amp;gt;&lt;/span&gt; &lt;span class="nc"&gt;Hash&lt;/span&gt;&lt;span class="o"&gt;::&lt;/span&gt;&lt;span class="nf"&gt;make&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s1"&gt;'Password*'&lt;/span&gt;&lt;span class="p"&gt;),&lt;/span&gt;
            &lt;span class="s1"&gt;'remember_token'&lt;/span&gt; &lt;span class="o"&gt;=&amp;gt;&lt;/span&gt; &lt;span class="nc"&gt;Str&lt;/span&gt;&lt;span class="o"&gt;::&lt;/span&gt;&lt;span class="nf"&gt;random&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="mi"&gt;10&lt;/span&gt;&lt;span class="p"&gt;),&lt;/span&gt;
        &lt;span class="p"&gt;]);&lt;/span&gt;

        &lt;span class="nc"&gt;User&lt;/span&gt;&lt;span class="o"&gt;::&lt;/span&gt;&lt;span class="nf"&gt;factory&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt;
            &lt;span class="o"&gt;-&amp;gt;&lt;/span&gt;&lt;span class="nb"&gt;count&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="mi"&gt;10&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
            &lt;span class="o"&gt;-&amp;gt;&lt;/span&gt;&lt;span class="nf"&gt;create&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt;
            &lt;span class="o"&gt;-&amp;gt;&lt;/span&gt;&lt;span class="nb"&gt;each&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="k"&gt;function&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nv"&gt;$user&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
                &lt;span class="nc"&gt;Link&lt;/span&gt;&lt;span class="o"&gt;::&lt;/span&gt;&lt;span class="nf"&gt;factory&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt;
                    &lt;span class="o"&gt;-&amp;gt;&lt;/span&gt;&lt;span class="nb"&gt;count&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nb"&gt;rand&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="mi"&gt;2&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="mi"&gt;10&lt;/span&gt;&lt;span class="p"&gt;))&lt;/span&gt;
                    &lt;span class="o"&gt;-&amp;gt;&lt;/span&gt;&lt;span class="nf"&gt;create&lt;/span&gt;&lt;span class="p"&gt;([&lt;/span&gt;&lt;span class="s1"&gt;'user_id'&lt;/span&gt; &lt;span class="o"&gt;=&amp;gt;&lt;/span&gt; &lt;span class="nv"&gt;$user&lt;/span&gt;&lt;span class="o"&gt;-&amp;gt;&lt;/span&gt;&lt;span class="n"&gt;id&lt;/span&gt;&lt;span class="p"&gt;]);&lt;/span&gt;
            &lt;span class="p"&gt;});&lt;/span&gt;
    &lt;span class="p"&gt;}&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Some explanations :&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;First I create my own user to connect easily each time with my own email&lt;/li&gt;
&lt;li&gt;Second part does this

&lt;ul&gt;
&lt;li&gt;create 10 fake users&lt;/li&gt;
&lt;li&gt;for every user create between 2 and 10 links, during the creation we told that the &lt;code&gt;user_id&lt;/code&gt; fiels must be filled with the current created &lt;code&gt;user-&amp;gt;id&lt;/code&gt;.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;And now, the magic could begin.&lt;/p&gt;

&lt;p&gt;Let's go back in your terminal, and launch simply this command :&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;php artisan db:seed
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fvtpnnyw793fuibqibihi.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fvtpnnyw793fuibqibihi.png" alt="Seeding database" width="798" height="136"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Go into your DB viewer, and check the tables &lt;code&gt;users&lt;/code&gt; and &lt;code&gt;links&lt;/code&gt;.&lt;/p&gt;

&lt;p&gt;You should see something like that : &lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;&lt;code&gt;users&lt;/code&gt; table&lt;br&gt;
&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fnwcdnbm1hs3tn3x5r6qy.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fnwcdnbm1hs3tn3x5r6qy.png" alt="Users table" width="800" height="249"&gt;&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;code&gt;links&lt;/code&gt; table&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fagfg85t03wym6rl5w8i4.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fagfg85t03wym6rl5w8i4.png" alt="Links table" width="800" height="632"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;If you want to check everything works fine, we can go a walk in Tinker.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;php artisan tinker
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Tinker will let us to play with our datas and check the relationship is currently working.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;User::find(6)-&amp;gt;links()-&amp;gt;get(['id', 'url', 'published', 'user_id']);
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Here, we ask to find every link for the user with id = 6. We ask too to get only interesting fields.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Foatqw2v70x4nqhq8o16j.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Foatqw2v70x4nqhq8o16j.png" alt="Tinker query results" width="799" height="583"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Seeing these results, we can improve immediately something.&lt;/p&gt;

&lt;p&gt;What if, we only want the published links ?&lt;/p&gt;

&lt;p&gt;So you can do it like this :&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;&amp;gt; User::find(6)-&amp;gt;links()-&amp;gt;where('published', 1)-&amp;gt;get(['id', 'url', 'published', 'user_id']);
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;But there is a better way to do this and don't repeat yourself later. We can use Scopes.&lt;/p&gt;

&lt;p&gt;A scope can add a bunch of query to your query. Scopes can be global or local. I let you consult &lt;a href="https://laravel.com/docs/11.x/eloquent#query-scopes" rel="noopener noreferrer"&gt;the documentation&lt;/a&gt; to see more.&lt;/p&gt;

&lt;p&gt;Here we will use a local scope.&lt;/p&gt;

&lt;p&gt;Go to your &lt;code&gt;link&lt;/code&gt; model and add this function :&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight php"&gt;&lt;code&gt;    &lt;span class="cd"&gt;/**
     * Scope a query to only include published links.
     */&lt;/span&gt;
    &lt;span class="k"&gt;public&lt;/span&gt; &lt;span class="k"&gt;function&lt;/span&gt; &lt;span class="n"&gt;scopePublished&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="kt"&gt;Builder&lt;/span&gt; &lt;span class="nv"&gt;$query&lt;/span&gt;&lt;span class="p"&gt;):&lt;/span&gt; &lt;span class="kt"&gt;void&lt;/span&gt;
    &lt;span class="p"&gt;{&lt;/span&gt;
        &lt;span class="nv"&gt;$query&lt;/span&gt;&lt;span class="o"&gt;-&amp;gt;&lt;/span&gt;&lt;span class="nf"&gt;where&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s1"&gt;'published'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="mi"&gt;1&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
    &lt;span class="p"&gt;}&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Now, if in Tinker we use the following query :&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;User::find&lt;span class="o"&gt;(&lt;/span&gt;6&lt;span class="o"&gt;)&lt;/span&gt;-&amp;gt;links&lt;span class="o"&gt;()&lt;/span&gt;-&amp;gt;published&lt;span class="o"&gt;()&lt;/span&gt;-&amp;gt;get&lt;span class="o"&gt;([&lt;/span&gt;&lt;span class="s1"&gt;'id'&lt;/span&gt;, &lt;span class="s1"&gt;'url'&lt;/span&gt;, &lt;span class="s1"&gt;'published'&lt;/span&gt;, &lt;span class="s1"&gt;'user_id'&lt;/span&gt;&lt;span class="o"&gt;])&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;we will obtain only the published links from user with id = 6.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fc2gxinb0av40mmo3fpoe.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fc2gxinb0av40mmo3fpoe.png" alt="Tinker query using scope" width="800" height="521"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;And voilà, we can cross this point in our list :&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;✅ an user can signin, login, logout and manage his account&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;a user can see a list of their links&lt;/li&gt;
&lt;li&gt;an user can add, edit or delete a link&lt;/li&gt;
&lt;li&gt;an user can have a shareable link to share his links with the world&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;✅ a link has a name, a status (published or not) and obviously a link. May be we will add some options later.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Well, we'll stop here for today.&lt;/p&gt;

&lt;p&gt;In this longer chapter, we saw introduction to : &lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;how to add functionnality to login page in Filament&lt;/li&gt;
&lt;li&gt;models&lt;/li&gt;
&lt;li&gt;factory&lt;/li&gt;
&lt;li&gt;seeder&lt;/li&gt;
&lt;li&gt;Tinker&lt;/li&gt;
&lt;li&gt;scopes&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;As usual, I wait for your comments below.&lt;/p&gt;

&lt;p&gt;See you.&lt;/p&gt;

</description>
      <category>laravel</category>
      <category>filament</category>
      <category>php</category>
      <category>tutorial</category>
    </item>
    <item>
      <title>Linkeeper - Lesson 01 - Installation</title>
      <dc:creator>HappyToDev</dc:creator>
      <pubDate>Wed, 10 Apr 2024 15:00:00 +0000</pubDate>
      <link>https://dev.to/happytodev/linkeeper-a-linktree-alternative-with-laravel-and-filament-lesson-01-installation-3na3</link>
      <guid>https://dev.to/happytodev/linkeeper-a-linktree-alternative-with-laravel-and-filament-lesson-01-installation-3na3</guid>
      <description>&lt;p&gt;In this little serie, we will learn the basics about Laravel through a little application &lt;strong&gt;LinKeeper&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;It goal is to keep your links and share them to the world.&lt;/p&gt;

&lt;p&gt;So, what we need ?&lt;/p&gt;

&lt;p&gt;We have to bring solutions to these definitions : &lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;an user can signin, login, logout and manage his account&lt;/li&gt;
&lt;li&gt;a user can see a list of their links&lt;/li&gt;
&lt;li&gt;an user can add, edit or delete a link&lt;/li&gt;
&lt;li&gt;an user can have a shareable link to share his links with the world&lt;/li&gt;
&lt;li&gt;a link has a name, a status (published or not) and obviously a link. May be we will add some options later.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The purpose here is to discover the basic concepts of Laravel and FilamentPHP. &lt;/p&gt;

&lt;p&gt;In this serie, I will use Laravel 11 and FilamentPHP 3.&lt;/p&gt;

&lt;p&gt;Let's go and beginning with the very basic : the install&lt;/p&gt;



&lt;ul&gt;
&lt;li&gt;
Installing Laravel

&lt;ul&gt;
&lt;li&gt;Launch install with Laravel Installer&lt;/li&gt;
&lt;li&gt;Laravel is installed 🎉&lt;/li&gt;
&lt;li&gt;Check the install&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
FilamentPHP install

&lt;ul&gt;
&lt;li&gt;Create a first user&lt;/li&gt;
&lt;li&gt;Check the install&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;Change the name of application&lt;/li&gt;
&lt;/ul&gt;



&lt;h2&gt;
  
  
  Installing Laravel
&lt;/h2&gt;

&lt;p&gt;As every Laravel project, we have to launch the laravel install.&lt;/p&gt;

&lt;p&gt;If you have the laravel installer it's as easy as type &lt;code&gt;laravel new linkeeper&lt;/code&gt; in your favorite terminal.&lt;/p&gt;

&lt;p&gt;If you prefer &lt;strong&gt;composer&lt;/strong&gt;, just use this command instead &lt;code&gt;composer create-project laravel/laravel linkeeper&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;Follow theses steps, which consisting to keep default choices and click enter three times 😉.&lt;/p&gt;

&lt;h3&gt;
  
  
  Launch install with Laravel Installer
&lt;/h3&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fd0wdg2axdm0ap58rswe1.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fd0wdg2axdm0ap58rswe1.png" alt=" " width="800" height="429"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fh60of4shtatfn6h0aujf.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fh60of4shtatfn6h0aujf.png" alt=" " width="800" height="588"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F3igfo4q2x30ux4lf6fgu.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F3igfo4q2x30ux4lf6fgu.png" alt=" " width="799" height="225"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  Laravel is installed 🎉
&lt;/h3&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fg93yt41em82iuzjl1izq.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fg93yt41em82iuzjl1izq.png" alt=" " width="800" height="177"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;As we have choose sqlite as database there is no more configuration needed, except &lt;code&gt;APP_NAME&lt;/code&gt;, &lt;code&gt;APP_TIMEZONE&lt;/code&gt; if you want.&lt;/p&gt;

&lt;p&gt;For more simplicity, I let the language setting with default value. Feel free to change it if you need.&lt;/p&gt;

&lt;h3&gt;
  
  
  Check the install
&lt;/h3&gt;

&lt;p&gt;Personnaly, I work on Mac with Herd. I can check &lt;a href="http://linkeeper.test" rel="noopener noreferrer"&gt;http://linkeeper.test&lt;/a&gt; on my browser.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fy24tx1r07a3l0a9jrpt6.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fy24tx1r07a3l0a9jrpt6.png" alt=" " width="800" height="566"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Everything seems ok !&lt;/p&gt;

&lt;p&gt;If you need to work with &lt;code&gt;https&lt;/code&gt;, it's perfectly possible with Herd in a single click.&lt;/p&gt;

&lt;p&gt;Go to Herd settings, choose 'Sites' tab and search for your current url. Here : &lt;code&gt;linkeeper.test&lt;/code&gt;.&lt;/p&gt;

&lt;p&gt;Look for the lock and click on it to activate https.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fpljg79uxsrb2dsrrogw2.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fpljg79uxsrb2dsrrogw2.png" alt=" " width="799" height="215"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F43h6inu9d35bkg0zf3eo.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F43h6inu9d35bkg0zf3eo.png" alt=" " width="799" height="213"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Easy, peasy ! No ?&lt;/p&gt;

&lt;h2&gt;
  
  
  FilamentPHP install
&lt;/h2&gt;

&lt;p&gt;Now, we have to install FilamentPHP. Sincerely, you don't need me for these steps, you just have to look at the incredible documentation of Laravel and Filament.&lt;/p&gt;

&lt;p&gt;But, if you are already here, let's keep forwarding together 🤣&lt;/p&gt;

&lt;p&gt;So, just copy / paste the 'Get Started' tutorial :&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;composer require filament/filament:&lt;span class="s2"&gt;"^3.2"&lt;/span&gt; &lt;span class="nt"&gt;-W&lt;/span&gt;

php artisan filament:install &lt;span class="nt"&gt;--panels&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Let the default choice when Filament ask for id : &lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fmhril0xcfyidi8cv4mto.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fmhril0xcfyidi8cv4mto.png" alt=" " width="800" height="144"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;And voilà! Filament is installed.&lt;/p&gt;

&lt;h3&gt;
  
  
  Create a first user
&lt;/h3&gt;

&lt;p&gt;We need an user to start play with Filament.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;php artisan make:filament-user
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Here too, answer questions for your name, email and password.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fdh4lt53gw9ofkfks4fly.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fdh4lt53gw9ofkfks4fly.png" alt=" " width="800" height="322"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  Check the install
&lt;/h3&gt;

&lt;p&gt;Let's go to the link provided to ensure that everything is ok.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fg016xqdeekj4ftm047s0.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fg016xqdeekj4ftm047s0.png" alt=" " width="800" height="708"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Enter your credentials and if everything is ok, you will see something like that : &lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F5je5w47q1pz7k283mjwg.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F5je5w47q1pz7k283mjwg.png" alt=" " width="799" height="249"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Change the name of application
&lt;/h2&gt;

&lt;p&gt;As you can see in the top left corner the name of the app is "Laravel", let's change this for "LinKeeper".&lt;/p&gt;

&lt;p&gt;Open your project in your favorite IDE or if you prefer for this minor change, type &lt;code&gt;nano .env&lt;/code&gt;in your terminal.&lt;/p&gt;

&lt;p&gt;You just have to change the &lt;code&gt;APP_NAME&lt;/code&gt; key : &lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fbvas4lbahg6qgmun6nbr.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fbvas4lbahg6qgmun6nbr.png" alt=" " width="752" height="362"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;If your name has spaces, you have to use the quote for your name.&lt;/p&gt;

&lt;p&gt;ctrl + x to exit, say 'yes' when nano asked you if you want to save your file and confirm the name of the file (.env) by pressing return key.&lt;/p&gt;

&lt;p&gt;Your &lt;code&gt;.env&lt;/code&gt; file is now saved, you can reload your page and you will see the name of the app changed in the top left corner.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Faitesaoxaatn0qu60sm8.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Faitesaoxaatn0qu60sm8.png" alt=" " width="798" height="223"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;This is the end of this first part. In the next episode, we'll see how to start playing with Filament and models.&lt;/p&gt;

&lt;p&gt;Don't hesitate to comment if you have question or if you see a mistake.&lt;/p&gt;

</description>
      <category>laravel</category>
      <category>filament</category>
      <category>php</category>
      <category>tutorial</category>
    </item>
    <item>
      <title>Quoi de neuf les devs ? #80 avec l'interview de Gabin Aurèche</title>
      <dc:creator>HappyToDev</dc:creator>
      <pubDate>Tue, 09 Apr 2024 10:05:06 +0000</pubDate>
      <link>https://dev.to/happytodev/quoi-de-neuf-les-devs-80-avec-linterview-de-gabin-aureche-2oih</link>
      <guid>https://dev.to/happytodev/quoi-de-neuf-les-devs-80-avec-linterview-de-gabin-aureche-2oih</guid>
      <description>&lt;p&gt;Hello à toutes et à tous 😉,&lt;/p&gt;

&lt;p&gt;J'ai le plaisir de vous partager le nouveau numéro de "Quoi de neuf les devs ?" sorti samedi dernier.&lt;/p&gt;

&lt;p&gt;J'y recevais &lt;a class="mentioned-user" href="https://dev.to/gabinaureche"&gt;@gabinaureche&lt;/a&gt;, il est dev et donne également très régulièrement des conseils sur les structures d’entreprise, sur l’argent en entreprise. &lt;/p&gt;

&lt;p&gt;Comme chaque semaine, vous retrouverez les autres rubriques avec toujours le plein d’actualité sur le monde du dev.&lt;/p&gt;

&lt;p&gt;Cette semaine, parmi tous les sujets abordés, on parlera entre autres de&lt;br&gt;
✅ Go, &lt;br&gt;
✅ QR Code,&lt;br&gt;
✅ Redis, &lt;br&gt;
✅ Side project, &lt;br&gt;
✅ Email, &lt;br&gt;
✅ FFmpeg,&lt;br&gt;
✅ et bien d’autres sujets encore&lt;/p&gt;

&lt;p&gt;Bonne lecture!&lt;/p&gt;

&lt;p&gt;Si le contenu vous plait et que vous souhaitez me soutenir, abonnez vous et rejoignez plus de 1700 pros de l'IT d'ores et déjà abonné.e.s.&lt;/p&gt;

&lt;p&gt;PS : Quel.le dev souhaiteriez vous voir interviewé.e dans un prochain numéro ?&lt;/p&gt;

</description>
      <category>webdev</category>
      <category>programming</category>
      <category>newsletter</category>
      <category>interview</category>
    </item>
  </channel>
</rss>
