<?xml version="1.0" encoding="utf-8"?><feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en"><generator uri="https://jekyllrb.com/" version="3.10.0">Jekyll</generator><link href="https://nocodefunctions.com/blog/feed.xml" rel="self" type="application/atom+xml" /><link href="https://nocodefunctions.com/blog/" rel="alternate" type="text/html" hreflang="en" /><updated>2026-09-29T09:35:31+00:00</updated><id>https://nocodefunctions.com/blog/feed.xml</id><title type="html">The journey of an academic and app developer</title><subtitle>Clément Levallois - blog</subtitle><entry><title type="html">Jev - not your usual breakthrough model</title><link href="https://nocodefunctions.com/blog/typesafe-jev-systemone-RLCD/" rel="alternate" type="text/html" title="Jev - not your usual breakthrough model" /><published>2026-09-18T00:00:00+00:00</published><updated>2026-09-18T00:00:00+00:00</updated><id>https://nocodefunctions.com/blog/typesafe-systemone-jev</id><content type="html" xml:base="https://nocodefunctions.com/blog/typesafe-jev-systemone-RLCD/"><![CDATA[<h2 id="a-model-worth-your-time">A model worth your time</h2>
<p>Jev is a new model that came out 2 days ago (<a href="https://typesafe.ai/blog/introducing-system-one-models-and-jev">Sept 15, 2026</a>).</p>

<p>(this post started as a draft on Sept 17).</p>

<p>It is a highly unusual kind of model and I expected it to make the headlines even in the general press, but it didn’t.
It trended on <a href="https://news.ycombinator.com/item?id=49717558">Hacker News for a day or two</a>. Conversations are flaring on X but that’s about it.</p>

<p>The model is worth making bigger headlines because:</p>

<ul>
  <li>😱 it is ~100 times cheaper than one of the best models of OpenAI</li>
  <li>💣 it responds in milliseconds, not seconds or dozens of seconds. That is 40x to 200x quicker than other models</li>
  <li>🔥 responses come with a score of confidence. This provides a degree of certainty in the answers, which is absent in LLM models</li>
</ul>

<h2 id="what-are-the-use-cases">What are the use cases?</h2>

<p>Typesafe lists use cases <a href="https://docs.typesafe.ai/concepts/use-case-map">on their website</a>, and here are the ones I tested with success:</p>

<h3 id="1st-use-case-poser-mes-valises">1st use case: “Poser mes valises”</h3>
<p><a href="https://posermesvalises.fr">Poser mes valises</a> is a website that I created in August, during the crazy hot summer.
Discussions with friends and family could quickly take an anxious turn: “even Brittany [famous for being wet and cold] is actually becoming unbearably hot!”.
So where in France would be a good place to live?</p>

<blockquote>
  <p>[!IMPORTANT]<br />
The answer is a map where you can apply a series of filters, showing regions that meet your criteria.</p>
</blockquote>

<p>The tool includes the search for practical aspects of where to live: proximity to supermarkets because you might still need them, schools if you have kids, proximity to a general hospital if you retire and prefer to be close to health services, etc.</p>

<p><img width="515" height="760" alt="image" src="https://github.com/user-attachments/assets/75e19339-135b-4baa-92e6-b71e10bd2aed" /></p>

<p>The website uses a classic user interface: buttons and sliders to apply the filters. <strong>With Jev, I experimented with a conversational interface instead:</strong></p>

<ol>
  <li>The user writes their preferences in natural language (example below),</li>
  <li><strong>The text is sent to Jev</strong>, with the following instruction: detect in the text the mention or absence of criteria that are available in the tool: schools, hospitals, geological risks, etc.</li>
  <li>For each criteria detected in the text written by the user, the corresponding filters are applied and the map updates to reflect these.</li>
</ol>

<p>Using Jev for that is very simple, at near zero cost and with near perfect accuracy.</p>

<p>I didn’t finish the development so it doesn’t work on all available criteria / filters yet, but <a href="https://posermesvalises.fr/labs/system-one/?inactiveDefaults=&amp;exploration=0&amp;journeys=0&amp;care=0&amp;air=0&amp;references=0">you can try it there</a>.</p>

<p>(try it with “Je veux vivre près du littoral mais avec un faible risque d’inondations”, for instance).</p>

<p><img width="250" height="400" alt="image" src="https://github.com/user-attachments/assets/8810f999-2eb6-4a4f-a5dd-3bd3f89a4112" /></p>

<p><strong>How does it beat an LLM?</strong></p>

<ul>
  <li>Cost: it is 100x cheaper to send a request to Jev</li>
  <li>Simplicity: Jev makes a potentially complex task simple. With an LLM, I would have had to design / engineer / the fact that I expect scores of confidence on each criteria. I would have had to test extensively the correct implementation of these scores. I would have had to search LLM models which actually handle structured responses. Jev just handles all that natively, and again: much more cheaply, and much faster.</li>
</ul>

<h3 id="2nd-use-case-entourages">2nd use case: “Entourages”</h3>
<p><a href="https://nocodefunctions.com/entourages/">Entourages</a> is a social network of people in France who have a page on Wikipedia.</p>

<p>While retrieving the pages of people living or working in France is relatively easy, <strong>tracing the connections between any two persons is not straightforward</strong>.</p>

<p><img width="955" height="445" alt="image" src="https://github.com/user-attachments/assets/4ff21afb-bf4c-41cf-8d3c-82c5f3f43b6c" /></p>

<p>Earlier in 2026, I had tried using LLMs to analyze the content of a Wikipedia bio and spot people of significance, and how they relate to each other. <strong>Results with LLMs were costly so not scalable, with imperfect results, and with a high effort in development.</strong></p>

<p><strong>With Jev</strong>: the task consists simply in sending a given Wikipedia page to Jev, with the request to spot the names on it that score high on one of these possibilities: family members, mentor / mentored, co-author relationship, long time collaboration, etc.</p>

<p>The result is astonishingly accurate, fast to get and cheap. It took me less than 3 days and less than 20$ to reconstruct a network which, as of Sept 27, comprises 12k persons and close to 6k connections.</p>

<h2 id="jev-only-for-software-developers">Jev: only for software developers?</h2>
<p>X / Twitter and Hacker News are raging about Jev, but not much elsewhere. <a href="https://simonwillison.net/">Simon Willison</a> and <a href="https://www.oneusefulthing.org/">Ethan Mollick</a> who are 2 important relays for significant AI novelties to academia and other spheres have not yet blogged about Jev, AFAIK.</p>

<p>This weekend (so a week after the release of Jev), the <a href="https://www.ft.com/content/456884ea-2558-4648-8036-a77b73733430?syn-25a6b1a6=1">Financial Times</a> has published an article on it [which supports my case to students that reading the FT (at least the weekend edition) is an excellent investment for their time!]</p>

<p>Anyway, the FT correctly characterizes Jev as a tool for software developers, not end users. Right, but: today, the barrier to develop software has lowered dramatically. Teenagers do it, employees do it, etc. So there is a case to be made, I believe, that a large crowd (really not just IT) should get acquainted with the kind of development that Jev represents.</p>

<p>Go and try Jev!</p>

<hr />

<h2 id="about-me">About Me</h2>
<p>I am <a href="https://clementlevallois.net">Clement Levallois</a> and I lead higher-education programs in interactive design and video games at Gobelins Paris.
I also develop independent web applications to learn, have fun and be of service if I can.</p>

<p>I created <a href="https://nocodefunctions.com">Nocode Functions</a>, <a href="https://slidelang.com">SlideLang</a>, <a href="https://posermesvalises.fr/">poser mes valises</a> and <a href="https://nocodefunctions.com/entourages/">entourages</a>. Try them out and let me know what you think. I’d love your feedback!</p>

<p>The views expressed here are my own and do not necessarily reflect those of my employer or any organization with which I am affiliated.</p>

<ul>
  <li><strong>Email:</strong> <a href="mailto:analysis@exploreyourdata.com">analysis@exploreyourdata.com</a></li>
  <li><strong>Bluesky:</strong> <a href="https://bsky.app/profile/seinecle.bsky.social">@seinecle</a></li>
  <li><strong>Blog:</strong> <a href="https://nocodefunctions.com/blog">Read more articles</a> on AI, coding, and higher education.</li>
</ul>]]></content><author><name></name></author><category term="AI" /><category term="RLCD" /><category term="RLHD" /><summary type="html"><![CDATA[A model worth your time Jev is a new model that came out 2 days ago (Sept 15, 2026). (this post started as a draft on Sept 17). It is a highly unusual kind of model and I expected it to make the headlines even in the general press, but it didn’t. It trended on Hacker News for a day or two. Conversations are flaring on X but that’s about it. The model is worth making bigger headlines because: 😱 it is ~100 times cheaper than one of the best models of OpenAI 💣 it responds in milliseconds, not seconds or dozens of seconds. That is 40x to 200x quicker than other models 🔥 responses come with a score of confidence. This provides a degree of certainty in the answers, which is absent in LLM models What are the use cases? Typesafe lists use cases on their website, and here are the ones I tested with success: 1st use case: “Poser mes valises” Poser mes valises is a website that I created in August, during the crazy hot summer. Discussions with friends and family could quickly take an anxious turn: “even Brittany [famous for being wet and cold] is actually becoming unbearably hot!”. So where in France would be a good place to live? [!IMPORTANT] The answer is a map where you can apply a series of filters, showing regions that meet your criteria. The tool includes the search for practical aspects of where to live: proximity to supermarkets because you might still need them, schools if you have kids, proximity to a general hospital if you retire and prefer to be close to health services, etc. The website uses a classic user interface: buttons and sliders to apply the filters. With Jev, I experimented with a conversational interface instead: The user writes their preferences in natural language (example below), The text is sent to Jev, with the following instruction: detect in the text the mention or absence of criteria that are available in the tool: schools, hospitals, geological risks, etc. For each criteria detected in the text written by the user, the corresponding filters are applied and the map updates to reflect these. Using Jev for that is very simple, at near zero cost and with near perfect accuracy. I didn’t finish the development so it doesn’t work on all available criteria / filters yet, but you can try it there. (try it with “Je veux vivre près du littoral mais avec un faible risque d’inondations”, for instance). How does it beat an LLM? Cost: it is 100x cheaper to send a request to Jev Simplicity: Jev makes a potentially complex task simple. With an LLM, I would have had to design / engineer / the fact that I expect scores of confidence on each criteria. I would have had to test extensively the correct implementation of these scores. I would have had to search LLM models which actually handle structured responses. Jev just handles all that natively, and again: much more cheaply, and much faster. 2nd use case: “Entourages” Entourages is a social network of people in France who have a page on Wikipedia. While retrieving the pages of people living or working in France is relatively easy, tracing the connections between any two persons is not straightforward. Earlier in 2026, I had tried using LLMs to analyze the content of a Wikipedia bio and spot people of significance, and how they relate to each other. Results with LLMs were costly so not scalable, with imperfect results, and with a high effort in development. With Jev: the task consists simply in sending a given Wikipedia page to Jev, with the request to spot the names on it that score high on one of these possibilities: family members, mentor / mentored, co-author relationship, long time collaboration, etc. The result is astonishingly accurate, fast to get and cheap. It took me less than 3 days and less than 20$ to reconstruct a network which, as of Sept 27, comprises 12k persons and close to 6k connections. Jev: only for software developers? X / Twitter and Hacker News are raging about Jev, but not much elsewhere. Simon Willison and Ethan Mollick who are 2 important relays for significant AI novelties to academia and other spheres have not yet blogged about Jev, AFAIK. This weekend (so a week after the release of Jev), the Financial Times has published an article on it [which supports my case to students that reading the FT (at least the weekend edition) is an excellent investment for their time!] Anyway, the FT correctly characterizes Jev as a tool for software developers, not end users. Right, but: today, the barrier to develop software has lowered dramatically. Teenagers do it, employees do it, etc. So there is a case to be made, I believe, that a large crowd (really not just IT) should get acquainted with the kind of development that Jev represents. Go and try Jev! About Me I am Clement Levallois and I lead higher-education programs in interactive design and video games at Gobelins Paris. I also develop independent web applications to learn, have fun and be of service if I can. I created Nocode Functions, SlideLang, poser mes valises and entourages. Try them out and let me know what you think. I’d love your feedback! The views expressed here are my own and do not necessarily reflect those of my employer or any organization with which I am affiliated. Email: analysis@exploreyourdata.com Bluesky: @seinecle Blog: Read more articles on AI, coding, and higher education.]]></summary></entry><entry><title type="html">Gephi week 2026 in Prague - impressions!</title><link href="https://nocodefunctions.com/blog/gephi-week-2026-prague/" rel="alternate" type="text/html" title="Gephi week 2026 in Prague - impressions!" /><published>2026-08-31T00:00:00+00:00</published><updated>2026-08-31T00:00:00+00:00</updated><id>https://nocodefunctions.com/blog/gephi-week-prague</id><content type="html" xml:base="https://nocodefunctions.com/blog/gephi-week-2026-prague/"><![CDATA[<p><a href="https://gephi.org">Gephi</a> is the leading desktop platform for the visualization and exploration of large graphs. It is free and open-source.
It has a <a href="https://lite.gephi.org">web version</a> and a <a href="https://gephi.org/toolkit/">headless (programmatic) version</a> as well.</p>

<p>The “Gephi week” is the annual retreat organized by and for the core contributors of Gephi (devs or not).
This year it took place in Prague, Czech Republic (Aug 24-27) and it was again a rich experience.
My participation was made possible thanks to the support of my employer, <a href="https://www.gobelins.fr/">Gobelins Paris</a>.</p>

<p>We were kindly hosted by <a href="https://explorer.cuni.cz/person/1876309743579605?lang=cs">professor Eva Luef</a> at Charles University, who provided  beautiful office space on the <a href="https://www.kampushybernska.cz/en">Hybernska campus</a>, very arty and “maker” in spirit.
Most pics kindly provided by our dev and photographer <a href="https://matthieu-totet.fr/">Matthieu Totet</a> 🙏:</p>

<p><img width="2326" height="1550" alt="Prague building" src="https://github.com/user-attachments/assets/9d66b578-ac99-489d-9795-1d821da8de49" />
<img width="2048" height="1536" alt="Gephi week Prague" src="https://github.com/user-attachments/assets/9f86ffd3-72e3-40a0-9cdc-2c3d33a98c04" />
<img width="2325" height="1550" alt="Gephi week Prague" src="https://github.com/user-attachments/assets/ad4de111-bc04-4908-a024-ea5b66aa26af" />
<img width="2400" height="1600" alt="Hybernska campus" src="https://github.com/user-attachments/assets/89ee750b-b038-48b6-82af-7bea6ff9208d" />
<img width="1600" height="2400" alt="Filming tutorials" src="https://github.com/user-attachments/assets/80b36d87-c5b4-4586-86dd-b4c407967b1e" />
<img width="2400" height="1600" alt="Hybernska campus" src="https://github.com/user-attachments/assets/430aae28-a459-4f0c-952c-25c0f7a5ef90" /></p>

<p>Mathieu Bastian, the architect of Gephi, was also our local guide, and that helped us discover great places to relax, chat and enjoy the Czech cuisine.</p>

<p><img width="2400" height="1600" alt="_Q9A4399" src="https://github.com/user-attachments/assets/985ac2f4-8196-4ca5-a246-507bb581c8ff" /></p>

<p>Rather than going through the detailed schedule, I’ll choose a couple of side angles that struck me particularly.</p>

<h1 id="gephi-011-a-beautiful-release">Gephi 0.11: a beautiful release</h1>

<p>Gephi has many advantages, one of them being that it offers very practical exploration tools <strong>on large graphs</strong>.
What is “a large graph”?</p>

<p>On a laptop, Gephi used to be able to handle graphs of 10,000 nodes and edges easily (and that is already quite a feast).
It could also handle graphs ten time this size, but that required some patience because basic operations became very slow.
Zooming, panning, and especially changing the layout of the graph: you could go and grab a coffee before the rendering was complete.</p>

<p>The new viz engine released in May 2026 with <a href="https://gephi.wordpress.com/2026/05/05/gephi-0-11-major-performance-upgrade-and-new-features/">Gephi version 0.11</a> makes it effortless to handle graphs the size of hundreds of thousands of nodes, and millions of edges 🥹.
Wow.
You can move such a huge graph with a click and drag of the mouse, instantly.
Just look at this graph comparing it with the previous viz engine:</p>

<p><img width="2537" height="1437" alt="perf comparison, Gephi 0.10 and 0.11" src="https://github.com/user-attachments/assets/b3df0b33-4b22-4304-9a35-14ee6b10c8c0" /></p>

<p>This release in Spring 2026 was the result of a work of several years by the core developers of Gephi (clarification: not my role!).</p>

<p>As a consequence, the Gephi week of 2026 felt to me like a major hurdle had just been cleared, and the perspectives for the future of the software felt comparatively easier and comfortable. We could consolidate and polish, on solid grounds.</p>

<h1 id="the-group-grows-in-experience">The group grows in experience</h1>

<p>Roughly the same group of participants attends the Gephi week each year.
Over time, we get to know each other pretty well in this context, even if we actually rarely meet in person.</p>

<p>The way I experienced it, I knew form the start where I could make distinctive contributions, and who I could turn to for specific questions on Gephi code internals, frontend matters, tooling, the latest news in the community, and so forth.</p>

<p>Given that the week was a bit short for me (just Monday to Wednesday), this helped me make the very best of those 3 days.</p>

<h1 id="ai-yes-that-had-an-impact">AI? Yes, that had an impact</h1>

<p>Gephi is a very large and sophisticated desktop + web-based software development project supported by a small group volunteers - there is no one employed full or part time on it.</p>

<p>Hence, maintaining such a mammoth with limited human resources has always been a challenge.
Late August 2026, we are definitely in a better place in this regard.
AI is such a cognitive aid in all domains that I felt we could finally do things without rushing like crazy during the week.</p>

<p>Using AI can be a controversial topic depending on which environment you are in, so I’ll just speak for myself.
Here is what I was able to do in three days:</p>

<ul>
  <li><a href="https://github.com/gephi/gephi/pull/3253">style cleaning</a> of the code for the Force Atlas algorithm, which is arguably Gephi’s core graph layout. Not a super advanced task but one that can be pretty brittle - you don’t want to break what has worked for the last 15 years.</li>
  <li>maintenance of the tutorials on <a href="https://github.com/gephi/gephi-documentation/pull/13">how to develop Gephi plugins</a></li>
  <li>maintenance of the <a href="https://github.com/gephi/gephi-documentation/pull/14">tutorials for the Gephi Toolkit</a></li>
  <li>maintenance of the <a href="https://github.com/gephi/gephi-toolkit-demos/pull/18">Gephi Toolkit demos</a></li>
  <li>working prototype of a Gephi plugin that allows a user to <a href="https://github.com/seinecle/gephi-plugins-word-cloud/tree/feature/text2gephi/modules/Text2Gephi">control Gephi with ChatGPT or Claude</a> (hat tip to <a href="https://www.mattartz.me/software/gephi-ai/">Matt Artz</a>, who created such a project first and on whose work I piggybacked).</li>
</ul>

<p>And that still left me the time to participate in the filming of 10 video tutorials (short capsules) thanks to <a href="https://www.linkedin.com/in/nicolasbouchaib/">Nicolas</a>, take part in discussions about the direction of Gephi on Monday, hear about Mathieu Jacomy’s semantic networks on Wednesday morning and attend a seminar on Wednesday afternoon:</p>

<p><img width="2156" height="1437" alt="Gephi meetup" src="https://github.com/user-attachments/assets/7646f12e-be1c-4da1-bb8d-6910de88c891" /></p>

<p>My contributions are useful but relatively minor compared to, for instance, the project to develop an “undo button” for Gephi.
But since everyone in the core team of contributors enjoys the same increase in productivity, the needle has really moved for Gephi (again, not everyone present was keen on using this capability).</p>

<h1 id="meeting-the-community">Meeting the community</h1>
<p>We were hosted by Professor Luef and her team and, while we were left alone to work during the first few days, we met for a seminar on Wednesday afternoon with presentations by colleagues and students who use Gephi in their academic research.</p>

<p><img width="2048" height="1536" alt="phonological networks" src="https://github.com/user-attachments/assets/ea688ee6-fc15-48ee-a83c-79d64028958e" /></p>

<p><img width="2048" height="1536" alt="phonological networks" src="https://github.com/user-attachments/assets/bc9a2275-5a76-428b-aeee-f2212a1b50c0" /></p>

<p>Interacting directly with members of the community provided great insights: use cases can never be fully anticipated and they often create a bit of a surprise. I remember:</p>

<ul>
  <li>using Gephi to model attackers and defenders as a directed graph (attack is an edge pointing to the attackee). Sounds obvious and with lots of potential, but I personally had never thought of this use case.</li>
  <li>the need that the portion of the graph currently selected (by pointing the mouse on it) remains highlighted in the exported image, for better readability.</li>
  <li>the need to clarify that Force Atlas is probably the better performing algorithm in the family of force-based algorithms.</li>
  <li>not super surprising but interesting to see it exemplified: discussions about how the logic of community detection and force-base layouts parallel each other, but not perfectly and what to do about it.</li>
</ul>

<h1 id="next-steps">Next steps</h1>
<p>The new viz engine, the stability of the core team, the relief that AI provides for small teams of developers, and the size and generosity of the community of Gephi users: all that makes me confident Gephi has bright days ahead.
Enjoy exploring your graphs!</p>

<hr />

<h2 id="about-me">About Me</h2>

<p>I lead higher-education programs in interactive design and video games at Gobelins Paris, and I develop independent web applications.</p>

<p>I created <a href="https://nocodefunctions.com">Nocode Functions</a>, <a href="https://slidelang.com">SlideLang</a> and <a href="https://posermesvalises.fr/">new projects</a>. Try them out and let me know what you think. I’d love your feedback!</p>

<p>The views expressed here are my own and do not necessarily reflect those of my employer or any organization with which I am affiliated.</p>

<ul>
  <li><strong>Email:</strong> <a href="mailto:analysis@exploreyourdata.com">analysis@exploreyourdata.com</a></li>
  <li><strong>Bluesky:</strong> <a href="https://bsky.app/profile/seinecle.bsky.social">@seinecle</a></li>
  <li><strong>Blog:</strong> <a href="https://nocodefunctions.com/blog">Read more articles</a> on AI, coding, and higher education.</li>
</ul>]]></content><author><name></name></author><category term="gephi" /><category term="community" /><category term="AI" /><category term="coding" /><category term="open source" /><summary type="html"><![CDATA[Gephi is the leading desktop platform for the visualization and exploration of large graphs. It is free and open-source. It has a web version and a headless (programmatic) version as well. The “Gephi week” is the annual retreat organized by and for the core contributors of Gephi (devs or not). This year it took place in Prague, Czech Republic (Aug 24-27) and it was again a rich experience. My participation was made possible thanks to the support of my employer, Gobelins Paris. We were kindly hosted by professor Eva Luef at Charles University, who provided beautiful office space on the Hybernska campus, very arty and “maker” in spirit. Most pics kindly provided by our dev and photographer Matthieu Totet 🙏: Mathieu Bastian, the architect of Gephi, was also our local guide, and that helped us discover great places to relax, chat and enjoy the Czech cuisine. Rather than going through the detailed schedule, I’ll choose a couple of side angles that struck me particularly. Gephi 0.11: a beautiful release Gephi has many advantages, one of them being that it offers very practical exploration tools on large graphs. What is “a large graph”? On a laptop, Gephi used to be able to handle graphs of 10,000 nodes and edges easily (and that is already quite a feast). It could also handle graphs ten time this size, but that required some patience because basic operations became very slow. Zooming, panning, and especially changing the layout of the graph: you could go and grab a coffee before the rendering was complete. The new viz engine released in May 2026 with Gephi version 0.11 makes it effortless to handle graphs the size of hundreds of thousands of nodes, and millions of edges 🥹. Wow. You can move such a huge graph with a click and drag of the mouse, instantly. Just look at this graph comparing it with the previous viz engine: This release in Spring 2026 was the result of a work of several years by the core developers of Gephi (clarification: not my role!). As a consequence, the Gephi week of 2026 felt to me like a major hurdle had just been cleared, and the perspectives for the future of the software felt comparatively easier and comfortable. We could consolidate and polish, on solid grounds. The group grows in experience Roughly the same group of participants attends the Gephi week each year. Over time, we get to know each other pretty well in this context, even if we actually rarely meet in person. The way I experienced it, I knew form the start where I could make distinctive contributions, and who I could turn to for specific questions on Gephi code internals, frontend matters, tooling, the latest news in the community, and so forth. Given that the week was a bit short for me (just Monday to Wednesday), this helped me make the very best of those 3 days. AI? Yes, that had an impact Gephi is a very large and sophisticated desktop + web-based software development project supported by a small group volunteers - there is no one employed full or part time on it. Hence, maintaining such a mammoth with limited human resources has always been a challenge. Late August 2026, we are definitely in a better place in this regard. AI is such a cognitive aid in all domains that I felt we could finally do things without rushing like crazy during the week. Using AI can be a controversial topic depending on which environment you are in, so I’ll just speak for myself. Here is what I was able to do in three days: style cleaning of the code for the Force Atlas algorithm, which is arguably Gephi’s core graph layout. Not a super advanced task but one that can be pretty brittle - you don’t want to break what has worked for the last 15 years. maintenance of the tutorials on how to develop Gephi plugins maintenance of the tutorials for the Gephi Toolkit maintenance of the Gephi Toolkit demos working prototype of a Gephi plugin that allows a user to control Gephi with ChatGPT or Claude (hat tip to Matt Artz, who created such a project first and on whose work I piggybacked). And that still left me the time to participate in the filming of 10 video tutorials (short capsules) thanks to Nicolas, take part in discussions about the direction of Gephi on Monday, hear about Mathieu Jacomy’s semantic networks on Wednesday morning and attend a seminar on Wednesday afternoon: My contributions are useful but relatively minor compared to, for instance, the project to develop an “undo button” for Gephi. But since everyone in the core team of contributors enjoys the same increase in productivity, the needle has really moved for Gephi (again, not everyone present was keen on using this capability). Meeting the community We were hosted by Professor Luef and her team and, while we were left alone to work during the first few days, we met for a seminar on Wednesday afternoon with presentations by colleagues and students who use Gephi in their academic research. Interacting directly with members of the community provided great insights: use cases can never be fully anticipated and they often create a bit of a surprise. I remember: using Gephi to model attackers and defenders as a directed graph (attack is an edge pointing to the attackee). Sounds obvious and with lots of potential, but I personally had never thought of this use case. the need that the portion of the graph currently selected (by pointing the mouse on it) remains highlighted in the exported image, for better readability. the need to clarify that Force Atlas is probably the better performing algorithm in the family of force-based algorithms. not super surprising but interesting to see it exemplified: discussions about how the logic of community detection and force-base layouts parallel each other, but not perfectly and what to do about it. Next steps The new viz engine, the stability of the core team, the relief that AI provides for small teams of developers, and the size and generosity of the community of Gephi users: all that makes me confident Gephi has bright days ahead. Enjoy exploring your graphs! About Me I lead higher-education programs in interactive design and video games at Gobelins Paris, and I develop independent web applications. I created Nocode Functions, SlideLang and new projects. Try them out and let me know what you think. I’d love your feedback! The views expressed here are my own and do not necessarily reflect those of my employer or any organization with which I am affiliated. Email: analysis@exploreyourdata.com Bluesky: @seinecle Blog: Read more articles on AI, coding, and higher education.]]></summary></entry><entry><title type="html">Le pit stop : former les enseignants à l’IA</title><link href="https://nocodefunctions.com/blog/ai-pit-stop-training-faculty-fr/" rel="alternate" type="text/html" title="Le pit stop : former les enseignants à l’IA" /><published>2026-07-21T00:00:00+00:00</published><updated>2026-07-21T00:00:00+00:00</updated><id>https://nocodefunctions.com/blog/former-professeurs-IA</id><content type="html" xml:base="https://nocodefunctions.com/blog/ai-pit-stop-training-faculty-fr/"><![CDATA[<p>« Le pit stop » est le premier billet d’une série en dix parties. Chaque court billet aborde une question de conception essentielle pour l’enseignement supérieur face au choc de l’IA.</p>

<p>Prises individuellement, la plupart de ces propositions sont relativement consensuelles, et certaines de leurs variantes sont déjà mises en œuvre ici ou là.
Considérés ensemble, cependant, ces dix points esquissent les contours d’une école qui n’existe pas encore.</p>

<h2 id="1-former-les-formateurs">1. Former les formateurs</h2>

<p>Enseigner aux étudiants ce qu’est l’IA et quelles sont ses conséquences nécessite des enseignants capables de suivre l’évolution de l’une comme des autres.
Cela semble aller de soi. Mais traduire ce principe dans les pratiques institutionnelles est loin d’être évident.</p>

<p>De nombreux enseignants n’ont pas encore bénéficié d’une exposition professionnelle durable et structurée à l’IA générative, en particulier lorsqu’elle se situe en dehors de leur domaine d’expertise.
Les enseignants sont recrutés sur la base de leurs titres universitaires — leur doctorat, leurs publications et leur parcours de recherche — ou, dans les écoles professionnelles et orientées vers l’enseignement, sur la base de leurs qualités professionnelles et pédagogiques.</p>

<p>Pour toutes celles et ceux qui ont dépassé le tout début de leur carrière d’enseignant, les IA de type ChatGPT ne faisaient pas partie du paysage lorsqu’ils ont commencé.
Les programmes formels de formation professionnelle continue ne sont pas toujours intégrés aux routines universitaires, et cela s’explique aisément.</p>

<p>Les enseignants se tiennent à jour par la nature même de leur métier.
Les enseignants-chercheurs contribuent à faire progresser la frontière des connaissances dans leurs propres domaines.
Un programme de formation généraliste peut donc sembler redondant, voire légèrement déplacé.</p>

<p>Les enseignants davantage tournés vers la pratique restent en contact étroit avec les communautés professionnelles concernées par différents canaux.
Ils conservent souvent une activité professionnelle parallèle, participent à des événements professionnels, échangent avec des praticiens et continuent à apprendre de manière autonome par la pratique.</p>

<p>Dans ce modèle, le monde académique repose sur un processus décentralisé de diffusion.
Les nouvelles connaissances et pratiques émergent de la recherche et des communautés professionnelles.
Les enseignants se les approprient, les interprètent à travers leur expertise disciplinaire et les traduisent en nouveaux contenus de cours et en nouvelles activités pédagogiques.</p>

<p><strong>L’IA crée toutefois un décalage entre la vitesse du changement technologique et celle de la diffusion académique.</strong></p>

<p>À l’échelle individuelle, repousser d’un an ou deux un engagement sérieux avec l’IA peut constituer une décision tout à fait raisonnable.
L’IA peut ne pas être au cœur des recherches actuelles d’un enseignant, de ses priorités pédagogiques ou de sa pratique professionnelle.</p>

<p>À l’échelle institutionnelle, cependant, l’accumulation de ces décisions raisonnables peut produire un résultat préoccupant : des promotions entières peuvent obtenir leur diplôme sans avoir eu la moindre occasion structurée d’examiner la manière dont l’IA transforme leur domaine.</p>

<p>Le problème n’est donc pas que les enseignants ne font pas leur travail.
Il réside dans le fait qu’un mécanisme de diffusion décentralisé, conçu pour des changements plus lents et plus localisés, peut se révéler insuffisant face à une technologie dont les effets sont vastes, profonds, systémiques et rapides.</p>

<p>Former les enseignants à l’IA ne signifie ni leur demander de l’adopter ou de la promouvoir, ni les conduire à converger vers une position unique. Les positions critiques, sceptiques ou réfractaires font partie intégrante d’un enseignement éclairé.</p>

<p><strong>L’objectif est de permettre un jugement éclairé sur l’IA, fondé sur une exposition directe, la pratique et la réflexion.</strong></p>

<p>Une réponse possible consisterait à mettre en place un dispositif récurrent de développement professionnel des enseignants : un socle commun pour tous, une pratique adaptée à chaque discipline, des mises à jour régulières, des échanges entre pairs et un accompagnement concret pour repenser les cours et les évaluations.</p>

<p>Cette approche est plus interventionniste que le modèle décentralisé habituel du développement académique.
Mais elle reflète la pleine ampleur des effets de l’IA : vastes, profonds, systémiques et rapides, à une <a href="https://nocodefunctions.com/blog/enseignement-superieur-IA-web/">échelle bien supérieure à celle des précédents chocs technologiques sur l’éducation</a>.</p>

<p>En France, NEOMA Business School offre des exemples intéressants : <a href="https://neoma-bs.fr/communiques/neoma-devient-lecole-europeenne-la-plus-primee-par-aacsb-avec-son-nouveau-prix-en">un programme de formation à l’IA à l’échelle de toute l’école, destiné aux étudiants, aux enseignants et au personnel</a>, ainsi qu’<a href="https://neoma-bs.fr/communiques/ia-generative-neoma-et-laphec-au-service-de-linnovation-pedagogique-en-cpge">un atelier et un cours en ligne destinés aux enseignants des classes préparatoires françaises</a>.</p>

<p>Comment organiser un tel dispositif de développement professionnel des enseignants ?</p>

<h2 id="un-modèle-de-pit-stop">Un modèle de pit stop</h2>

<p>Les enseignants sont, à juste titre, concentrés sur leurs domaines d’expertise.
Ils disposent de peu de temps à consacrer à des activités qui peuvent initialement leur sembler périphériques par rapport à leur enseignement ou à leurs recherches.</p>

<p>Le développement professionnel des enseignants en matière d’IA devrait donc moins ressembler à un nouveau cursus diplômant qu’à un arrêt au stand : court, intensif, récurrent et relié à un accompagnement continu.</p>

<p><img alt="Un arrêt au stand en Formule 1" src="https://upload.wikimedia.org/wikipedia/commons/e/e7/Pit_Stop.jpg" style="max-width: 100%; width: 460px; height: auto;" /></p>

<h3 id="a-un-dispositif-récurrent-et-non-ponctuel">A. Un dispositif récurrent, et non ponctuel</h3>

<p>L’IA et son écosystème continuent d’évoluer. <a href="https://seinecle.github.io/blog/claude-gemini-on-debian-from-signal/">Voici mon expérience récente de ces changements si rapides</a>.
Une session intensive annuelle pourrait permettre une remise à niveau collective au sein de l’institution.
Compte tenu du rythme des changements, elle devrait toutefois probablement être considérée comme un minimum plutôt que comme un dispositif complet.</p>

<p>Des mises à jour plus courtes au cours de l’année et un canal d’échange permanent pourraient aider les enseignants à rester connectés entre deux arrêts au stand.</p>

<h3 id="b-de-la-distance-critique-pas-de-lévangélisation">B. De la distance critique, pas de l’évangélisation</h3>

<p>Une formation à l’IA peut être perçue comme un exercice de promotion technologique.
Il convient donc d’expliciter que ces programmes ont pour objectif de permettre un jugement éclairé sur toute la gamme des positions possibles : adoption, usage sélectif, refus, régulation et critique radicale.</p>

<p>Les modèles, les outils, les principaux acteurs, les coûts, les limites et les conséquences sociales de l’IA évoluent rapidement.
Des arguments et des recommandations bien fondés il y a un an peuvent devoir être réexaminés l’année suivante.</p>

<h3 id="c-adapter-le-programme-aux-besoins-des-enseignants">C. Adapter le programme aux besoins des enseignants</h3>

<p>Pour être efficace, la formation doit tenir compte de la diversité de ses publics. Un bon point de départ consisterait à proposer trois parcours :</p>

<ul>
  <li>
    <p><strong>Fondamentaux :</strong> pour les enseignants qui utilisent rarement ou jamais l’IA. L’accent serait mis sur la découverte, la mise en contexte, les concepts essentiels, les usages possibles, les limites, les coûts et les risques.</p>
  </li>
  <li>
    <p><strong>Pratique appliquée :</strong> pour les utilisateurs réguliers qui souhaitent structurer davantage leur développement. Le programme couvrirait une variété d’outils et de cas d’usage, avec des exercices pratiques liés au travail académique. Les activités relevant de la recherche et celles relevant de l’enseignement devraient être traitées séparément.</p>
  </li>
  <li>
    <p><strong>Expérimentation avancée :</strong> pour les utilisateurs expérimentés qui souhaitent explorer les limites du possible. Le format se rapprocherait davantage d’une masterclass ou d’un laboratoire entre pairs, centré sur les pratiques émergentes, les outils avancés et la conception de nouvelles approches pédagogiques.</p>
  </li>
</ul>

<p>Les personnes chargées d’animer ces sessions devraient conjuguer une maîtrise technique à jour, une crédibilité pédagogique et une pertinence disciplinaire.
Les enseignants de l’établissement ayant déjà développé une pratique de l’IA devraient jouer un rôle central, complétés lorsque cela est utile par des experts extérieurs.</p>

<h3 id="d-reconnaissance-et-charge-de-travail">D. Reconnaissance et charge de travail</h3>

<p>Les enseignants savent que leur métier évolue : méthodes d’évaluation, pédagogie en classe, pratiques de recherche et, parfois, connaissances propres à leur discipline.
Le temps qu’ils consacrent à leur développement professionnel devrait être formellement reconnu comme faisant partie de leur charge de travail et de leur évolution professionnelle.
Un certificat ou un badge peut être utile, mais la reconnaissance importe davantage que la logique de certification.</p>

<h3 id="e-suivi">E. Suivi</h3>

<p>Une communauté de pratique permanente devrait relier les enseignants et les animateurs entre les arrêts au stand.
Elle pourrait comprendre un canal de discussion, de courtes mises à jour, des expérimentations partagées, des permanences et un répertoire d’exemples propres à chaque discipline.</p>

<h2 id="pourquoi-cette-étape-est-fondamentale">Pourquoi cette étape est fondamentale</h2>

<p>Lorsque je réfléchis aux effets de l’IA sur l’enseignement supérieur, je ne vois pas de première étape plus fondamentale que la formation des formateurs.
Ce socle rend possibles toutes les initiatives qui suivront et en démultiplie les effets. Je les examinerai dans les prochains billets de cette série.</p>

<p>D’ici là, j’aimerais tout particulièrement découvrir les initiatives de développement professionnel des enseignants que vous avez pilotées ou auxquelles vous avez participé.
Qu’est-ce qui y est récurrent ? Qu’est-ce qui repose sur la pratique ? Et qu’est-ce qui a réellement changé, en conséquence, dans les cours ou les évaluations ?</p>

<hr />

<h2 id="à-propos-de-moi">À propos de moi</h2>

<p>Je dirige des formations supérieures en design interactif et en jeu vidéo à Gobelins Paris, et je développe des applications web indépendantes.</p>

<p>J’ai créé <a href="https://nocodefunctions.com">Nocode Functions</a> et <a href="https://slidelang.com">SlideLang</a>. Essayez-les et dites-moi ce que vous en pensez. Vos retours m’intéressent beaucoup !</p>

<p>Les opinions exprimées ici sont les miennes et ne reflètent pas nécessairement celles de mon employeur ni d’aucune organisation à laquelle je suis affilié.</p>

<ul>
  <li><strong>E-mail :</strong> <a href="mailto:analysis@exploreyourdata.com">analysis@exploreyourdata.com</a></li>
  <li><strong>Bluesky :</strong> <a href="https://bsky.app/profile/seinecle.bsky.social">@seinecle</a></li>
  <li><strong>Blog :</strong> <a href="https://nocodefunctions.com/blog">Lire d’autres articles</a> sur l’IA, le développement informatique et l’enseignement supérieur.</li>
</ul>]]></content><author><name></name></author><category term="ia" /><category term="enseignement-superieur" /><category term="developpement-des-enseignants" /><summary type="html"><![CDATA[« Le pit stop » est le premier billet d’une série en dix parties. Chaque court billet aborde une question de conception essentielle pour l’enseignement supérieur face au choc de l’IA. Prises individuellement, la plupart de ces propositions sont relativement consensuelles, et certaines de leurs variantes sont déjà mises en œuvre ici ou là. Considérés ensemble, cependant, ces dix points esquissent les contours d’une école qui n’existe pas encore. 1. Former les formateurs Enseigner aux étudiants ce qu’est l’IA et quelles sont ses conséquences nécessite des enseignants capables de suivre l’évolution de l’une comme des autres. Cela semble aller de soi. Mais traduire ce principe dans les pratiques institutionnelles est loin d’être évident. De nombreux enseignants n’ont pas encore bénéficié d’une exposition professionnelle durable et structurée à l’IA générative, en particulier lorsqu’elle se situe en dehors de leur domaine d’expertise. Les enseignants sont recrutés sur la base de leurs titres universitaires — leur doctorat, leurs publications et leur parcours de recherche — ou, dans les écoles professionnelles et orientées vers l’enseignement, sur la base de leurs qualités professionnelles et pédagogiques. Pour toutes celles et ceux qui ont dépassé le tout début de leur carrière d’enseignant, les IA de type ChatGPT ne faisaient pas partie du paysage lorsqu’ils ont commencé. Les programmes formels de formation professionnelle continue ne sont pas toujours intégrés aux routines universitaires, et cela s’explique aisément. Les enseignants se tiennent à jour par la nature même de leur métier. Les enseignants-chercheurs contribuent à faire progresser la frontière des connaissances dans leurs propres domaines. Un programme de formation généraliste peut donc sembler redondant, voire légèrement déplacé. Les enseignants davantage tournés vers la pratique restent en contact étroit avec les communautés professionnelles concernées par différents canaux. Ils conservent souvent une activité professionnelle parallèle, participent à des événements professionnels, échangent avec des praticiens et continuent à apprendre de manière autonome par la pratique. Dans ce modèle, le monde académique repose sur un processus décentralisé de diffusion. Les nouvelles connaissances et pratiques émergent de la recherche et des communautés professionnelles. Les enseignants se les approprient, les interprètent à travers leur expertise disciplinaire et les traduisent en nouveaux contenus de cours et en nouvelles activités pédagogiques. L’IA crée toutefois un décalage entre la vitesse du changement technologique et celle de la diffusion académique. À l’échelle individuelle, repousser d’un an ou deux un engagement sérieux avec l’IA peut constituer une décision tout à fait raisonnable. L’IA peut ne pas être au cœur des recherches actuelles d’un enseignant, de ses priorités pédagogiques ou de sa pratique professionnelle. À l’échelle institutionnelle, cependant, l’accumulation de ces décisions raisonnables peut produire un résultat préoccupant : des promotions entières peuvent obtenir leur diplôme sans avoir eu la moindre occasion structurée d’examiner la manière dont l’IA transforme leur domaine. Le problème n’est donc pas que les enseignants ne font pas leur travail. Il réside dans le fait qu’un mécanisme de diffusion décentralisé, conçu pour des changements plus lents et plus localisés, peut se révéler insuffisant face à une technologie dont les effets sont vastes, profonds, systémiques et rapides. Former les enseignants à l’IA ne signifie ni leur demander de l’adopter ou de la promouvoir, ni les conduire à converger vers une position unique. Les positions critiques, sceptiques ou réfractaires font partie intégrante d’un enseignement éclairé. L’objectif est de permettre un jugement éclairé sur l’IA, fondé sur une exposition directe, la pratique et la réflexion. Une réponse possible consisterait à mettre en place un dispositif récurrent de développement professionnel des enseignants : un socle commun pour tous, une pratique adaptée à chaque discipline, des mises à jour régulières, des échanges entre pairs et un accompagnement concret pour repenser les cours et les évaluations. Cette approche est plus interventionniste que le modèle décentralisé habituel du développement académique. Mais elle reflète la pleine ampleur des effets de l’IA : vastes, profonds, systémiques et rapides, à une échelle bien supérieure à celle des précédents chocs technologiques sur l’éducation. En France, NEOMA Business School offre des exemples intéressants : un programme de formation à l’IA à l’échelle de toute l’école, destiné aux étudiants, aux enseignants et au personnel, ainsi qu’un atelier et un cours en ligne destinés aux enseignants des classes préparatoires françaises. Comment organiser un tel dispositif de développement professionnel des enseignants ? Un modèle de pit stop Les enseignants sont, à juste titre, concentrés sur leurs domaines d’expertise. Ils disposent de peu de temps à consacrer à des activités qui peuvent initialement leur sembler périphériques par rapport à leur enseignement ou à leurs recherches. Le développement professionnel des enseignants en matière d’IA devrait donc moins ressembler à un nouveau cursus diplômant qu’à un arrêt au stand : court, intensif, récurrent et relié à un accompagnement continu. A. Un dispositif récurrent, et non ponctuel L’IA et son écosystème continuent d’évoluer. Voici mon expérience récente de ces changements si rapides. Une session intensive annuelle pourrait permettre une remise à niveau collective au sein de l’institution. Compte tenu du rythme des changements, elle devrait toutefois probablement être considérée comme un minimum plutôt que comme un dispositif complet. Des mises à jour plus courtes au cours de l’année et un canal d’échange permanent pourraient aider les enseignants à rester connectés entre deux arrêts au stand. B. De la distance critique, pas de l’évangélisation Une formation à l’IA peut être perçue comme un exercice de promotion technologique. Il convient donc d’expliciter que ces programmes ont pour objectif de permettre un jugement éclairé sur toute la gamme des positions possibles : adoption, usage sélectif, refus, régulation et critique radicale. Les modèles, les outils, les principaux acteurs, les coûts, les limites et les conséquences sociales de l’IA évoluent rapidement. Des arguments et des recommandations bien fondés il y a un an peuvent devoir être réexaminés l’année suivante. C. Adapter le programme aux besoins des enseignants Pour être efficace, la formation doit tenir compte de la diversité de ses publics. Un bon point de départ consisterait à proposer trois parcours : Fondamentaux : pour les enseignants qui utilisent rarement ou jamais l’IA. L’accent serait mis sur la découverte, la mise en contexte, les concepts essentiels, les usages possibles, les limites, les coûts et les risques. Pratique appliquée : pour les utilisateurs réguliers qui souhaitent structurer davantage leur développement. Le programme couvrirait une variété d’outils et de cas d’usage, avec des exercices pratiques liés au travail académique. Les activités relevant de la recherche et celles relevant de l’enseignement devraient être traitées séparément. Expérimentation avancée : pour les utilisateurs expérimentés qui souhaitent explorer les limites du possible. Le format se rapprocherait davantage d’une masterclass ou d’un laboratoire entre pairs, centré sur les pratiques émergentes, les outils avancés et la conception de nouvelles approches pédagogiques. Les personnes chargées d’animer ces sessions devraient conjuguer une maîtrise technique à jour, une crédibilité pédagogique et une pertinence disciplinaire. Les enseignants de l’établissement ayant déjà développé une pratique de l’IA devraient jouer un rôle central, complétés lorsque cela est utile par des experts extérieurs. D. Reconnaissance et charge de travail Les enseignants savent que leur métier évolue : méthodes d’évaluation, pédagogie en classe, pratiques de recherche et, parfois, connaissances propres à leur discipline. Le temps qu’ils consacrent à leur développement professionnel devrait être formellement reconnu comme faisant partie de leur charge de travail et de leur évolution professionnelle. Un certificat ou un badge peut être utile, mais la reconnaissance importe davantage que la logique de certification. E. Suivi Une communauté de pratique permanente devrait relier les enseignants et les animateurs entre les arrêts au stand. Elle pourrait comprendre un canal de discussion, de courtes mises à jour, des expérimentations partagées, des permanences et un répertoire d’exemples propres à chaque discipline. Pourquoi cette étape est fondamentale Lorsque je réfléchis aux effets de l’IA sur l’enseignement supérieur, je ne vois pas de première étape plus fondamentale que la formation des formateurs. Ce socle rend possibles toutes les initiatives qui suivront et en démultiplie les effets. Je les examinerai dans les prochains billets de cette série. D’ici là, j’aimerais tout particulièrement découvrir les initiatives de développement professionnel des enseignants que vous avez pilotées ou auxquelles vous avez participé. Qu’est-ce qui y est récurrent ? Qu’est-ce qui repose sur la pratique ? Et qu’est-ce qui a réellement changé, en conséquence, dans les cours ou les évaluations ? À propos de moi Je dirige des formations supérieures en design interactif et en jeu vidéo à Gobelins Paris, et je développe des applications web indépendantes. J’ai créé Nocode Functions et SlideLang. Essayez-les et dites-moi ce que vous en pensez. Vos retours m’intéressent beaucoup ! Les opinions exprimées ici sont les miennes et ne reflètent pas nécessairement celles de mon employeur ni d’aucune organisation à laquelle je suis affilié. E-mail : analysis@exploreyourdata.com Bluesky : @seinecle Blog : Lire d’autres articles sur l’IA, le développement informatique et l’enseignement supérieur.]]></summary></entry><entry><title type="html">The AI Pit Stop for Faculty</title><link href="https://nocodefunctions.com/blog/ai-pit-stop-training-faculty/" rel="alternate" type="text/html" title="The AI Pit Stop for Faculty" /><published>2026-07-21T00:00:00+00:00</published><updated>2026-07-21T00:00:00+00:00</updated><id>https://nocodefunctions.com/blog/train-the-trainers</id><content type="html" xml:base="https://nocodefunctions.com/blog/ai-pit-stop-training-faculty/"><![CDATA[<p>“The Pit Stop” is the first post in a ten-part series. Each short post addresses one key design question for higher education in relation to the AI shock.</p>

<p>Taken individually, most of these proposals are fairly uncontroversial, and versions of them are already being implemented here or there.
Taken together, however, the ten points sketch the outline of a school that does not yet exist.</p>

<h2 id="1-training-the-trainers">1. Training the trainers</h2>

<p>Teaching students about AI and its consequences requires faculty members who are able to keep up with both.
This sounds like a no-brainer. Translating it into institutional practice is far from obvious.</p>

<p>Many faculty members have not yet had sustained, structured professional exposure to generative AI, especially when it lies outside their domain expertise.
Faculty members are hired based on their academic credentials: their PhD, publications, and research record, or, in vocational and teaching-oriented schools, on their professional and pedagogical merits.</p>

<p>For anyone beyond the very beginning of their teaching career, ChatGPT-like AI was not part of the picture when they started.
Formal continuing professional development programs are not always built into academic routines, and there is a good reason for this.</p>

<p>Faculty members keep up to date by the very nature of their jobs.
Research-active faculty contribute to advancing the knowledge frontier in their own domains.
A generic training program can therefore feel redundant, or even slightly out of place.</p>

<p>Practice-oriented faculty remain in close contact with relevant professional communities through a variety of channels.
They often retain a professional activity on the side, attend professional events, exchange with practitioners, and continue learning through self-directed practice.</p>

<p>Under this model, academia relies on a decentralized diffusion process.
New knowledge and practices emerge from research and professional communities.
Faculty members absorb them, interpret them through their disciplinary expertise, and translate them into new course content and learning activities.</p>

<p><strong>AI, however, is creating a mismatch between the speed of technological change and the speed of academic diffusion.</strong></p>

<p>At the individual level, postponing serious engagement with AI for a year or two may be an entirely reasonable decision.
AI may not be central to a faculty member’s current research, teaching priorities, or professional practice.</p>

<p>At the institutional level, however, the accumulation of such reasonable decisions can produce a serious outcome: entire cohorts may graduate without any structured opportunity to examine how AI is changing their field.</p>

<p>The problem is therefore not that faculty members are failing to do their jobs.
It is that a decentralized diffusion mechanism designed for slower and more localized changes may be insufficient for a technology whose impact is broad, deep, systemic, and rapid.</p>

<p>Training faculty about AI does not mean asking them to embrace or promote it, nor to converge on a single view. Critical, skeptical, and resistant positions are an integral part of informed teaching.</p>

<p><strong>The goal is informed judgment on AI grounded in direct exposure, practice, and reflection.</strong></p>

<p>One response would be to establish a recurring faculty-development system: a common baseline for all faculty members, discipline-specific practice, regular updates, peer exchange, and practical support for redesigning courses and assessments.</p>

<p>This is more interventionist than the usual decentralized model of academic development.
But it reflects the full scale of AI’s impact: broad, deep, systemic, and rapid, at a <a href="https://nocodefunctions.com/blog/higher-education-AI-web/">much larger scale than previous technological shocks on education</a>.</p>

<p>In France, NEOMA Business School offers interesting examples: <a href="https://neoma-bs.fr/communiques/neoma-devient-lecole-europeenne-la-plus-primee-par-aacsb-avec-son-nouveau-prix-en">a school-wide AI development program for students, faculty, and staff</a>, as well as <a href="https://neoma-bs.fr/communiques/ia-generative-neoma-et-laphec-au-service-de-linnovation-pedagogique-en-cpge">a workshop and online course for teachers in French preparatory classes</a>.</p>

<p>How should such faculty development be organized?</p>

<h2 id="a-pit-stop-model">A pit-stop model</h2>

<p>Faculty members are rightly focused on their domains of expertise.
They have limited time to devote to activities that may initially appear peripheral to their teaching or research.</p>

<p>AI faculty development should therefore look less like another degree program and more like a pit stop: short, intensive, recurring, and connected to ongoing support.</p>

<p><img alt="A pit stop in F1" src="https://upload.wikimedia.org/wikipedia/commons/e/e7/Pit_Stop.jpg" style="max-width: 100%; width: 460px; height: auto;" /></p>

<h3 id="a-recurring">A. Recurring</h3>

<p>AI and its ecosystem keep evolving at such a rapid pace. <a href="https://seinecle.github.io/blog/claude-gemini-on-debian-from-signal/">Here is an account, from my recent experience</a>.
An annual intensive session could provide an institutional reset.
Given the pace of change, however, it should probably be considered a minimum rather than a complete system.</p>

<p>Shorter updates during the year and an ongoing exchange channel could help faculty remain connected between pit stops.</p>

<h3 id="b-critical-distance">B. Critical distance</h3>

<p>AI training may be perceived as an exercise in technology advocacy.
It should therefore be made explicit that these programs are intended to enable informed judgment across the full spectrum of possible positions: adoption, selective use, refusal, regulation, and outright criticism.</p>

<p>The models, tools, key actors, costs, limitations, and social consequences of AI are changing rapidly.
Arguments and recommendations that were well founded one year ago may need to be reconsidered the next.</p>

<h3 id="c-match-the-program-to-faculty-needs">C. Match the program to faculty needs</h3>

<p>For the training to be effective, it must address the diversity of its audiences. A useful starting point would be three pathways:</p>

<ul>
  <li>
    <p><strong>Foundations:</strong> for faculty members who rarely or never use AI. The focus would be discovery, contextualization, core concepts, potential uses, limitations, costs, and risks.</p>
  </li>
  <li>
    <p><strong>Applied practice:</strong> for regular users who want more structured development. The program would cover a range of tools and use cases, with practical exercises related to academic work. Research-related and teaching-related activities should be treated separately.</p>
  </li>
  <li>
    <p><strong>Advanced experimentation:</strong> for experienced users interested in pushing the envelope. The format would be closer to a masterclass or peer laboratory, centered on emerging workflows, advanced tools, and the design of new pedagogical practices.</p>
  </li>
</ul>

<p>The people leading these sessions should combine technical currency, pedagogical credibility, and disciplinary relevance.
Internal faculty practitioners should play a central role, supplemented where useful by external experts.</p>

<h3 id="d-recognition-and-workload">D. Recognition and workload</h3>

<p>Faculty members know that their craft is changing: assessment methods, classroom pedagogy, research practices, and sometimes the knowledge of their discipline itself.
The time they invest in faculty development should be formally recognized as part of their workload and professional development.
A certificate or badge may be useful, but recognition matters more than credentialism.</p>

<h3 id="e-follow-up">E. Follow-up</h3>

<p>An ongoing community of practice should connect faculty members and facilitators between pit stops.
This could include a discussion channel, short updates, shared experiments, office hours, and a repository of discipline-specific examples.</p>

<h2 id="why-this-is-foundational">Why this is foundational</h2>

<p>When thinking about the impact of AI on higher education, I cannot think of a more foundational first step than training the trainers.
This foundation enables and multiplies the impact of all the initiatives that will follow, which I will examine in the next posts in this series.</p>

<p>In the meantime, I would especially like to hear about faculty-development initiatives you have led or participated in.
What is recurring? What is practice-based? And what has actually changed in courses or assessments as a result?</p>

<hr />

<h2 id="about-me">About Me</h2>

<p>I lead higher-education programs in interactive design and video games at Gobelins Paris, and I develop independent web applications.</p>

<p>I created <a href="https://nocodefunctions.com">Nocode Functions</a> and <a href="https://slidelang.com">SlideLang</a>. Try them out and let me know what you think. I’d love your feedback!</p>

<p>The views expressed here are my own and do not necessarily reflect those of my employer or any organization with which I am affiliated.</p>

<ul>
  <li><strong>Email:</strong> <a href="mailto:analysis@exploreyourdata.com">analysis@exploreyourdata.com</a></li>
  <li><strong>Bluesky:</strong> <a href="https://bsky.app/profile/seinecle.bsky.social">@seinecle</a></li>
  <li><strong>Blog:</strong> <a href="https://nocodefunctions.com/blog">Read more articles</a> on AI, coding, and higher education.</li>
</ul>]]></content><author><name></name></author><category term="ai" /><category term="higher-education" /><category term="faculty-development" /><summary type="html"><![CDATA[“The Pit Stop” is the first post in a ten-part series. Each short post addresses one key design question for higher education in relation to the AI shock. Taken individually, most of these proposals are fairly uncontroversial, and versions of them are already being implemented here or there. Taken together, however, the ten points sketch the outline of a school that does not yet exist. 1. Training the trainers Teaching students about AI and its consequences requires faculty members who are able to keep up with both. This sounds like a no-brainer. Translating it into institutional practice is far from obvious. Many faculty members have not yet had sustained, structured professional exposure to generative AI, especially when it lies outside their domain expertise. Faculty members are hired based on their academic credentials: their PhD, publications, and research record, or, in vocational and teaching-oriented schools, on their professional and pedagogical merits. For anyone beyond the very beginning of their teaching career, ChatGPT-like AI was not part of the picture when they started. Formal continuing professional development programs are not always built into academic routines, and there is a good reason for this. Faculty members keep up to date by the very nature of their jobs. Research-active faculty contribute to advancing the knowledge frontier in their own domains. A generic training program can therefore feel redundant, or even slightly out of place. Practice-oriented faculty remain in close contact with relevant professional communities through a variety of channels. They often retain a professional activity on the side, attend professional events, exchange with practitioners, and continue learning through self-directed practice. Under this model, academia relies on a decentralized diffusion process. New knowledge and practices emerge from research and professional communities. Faculty members absorb them, interpret them through their disciplinary expertise, and translate them into new course content and learning activities. AI, however, is creating a mismatch between the speed of technological change and the speed of academic diffusion. At the individual level, postponing serious engagement with AI for a year or two may be an entirely reasonable decision. AI may not be central to a faculty member’s current research, teaching priorities, or professional practice. At the institutional level, however, the accumulation of such reasonable decisions can produce a serious outcome: entire cohorts may graduate without any structured opportunity to examine how AI is changing their field. The problem is therefore not that faculty members are failing to do their jobs. It is that a decentralized diffusion mechanism designed for slower and more localized changes may be insufficient for a technology whose impact is broad, deep, systemic, and rapid. Training faculty about AI does not mean asking them to embrace or promote it, nor to converge on a single view. Critical, skeptical, and resistant positions are an integral part of informed teaching. The goal is informed judgment on AI grounded in direct exposure, practice, and reflection. One response would be to establish a recurring faculty-development system: a common baseline for all faculty members, discipline-specific practice, regular updates, peer exchange, and practical support for redesigning courses and assessments. This is more interventionist than the usual decentralized model of academic development. But it reflects the full scale of AI’s impact: broad, deep, systemic, and rapid, at a much larger scale than previous technological shocks on education. In France, NEOMA Business School offers interesting examples: a school-wide AI development program for students, faculty, and staff, as well as a workshop and online course for teachers in French preparatory classes. How should such faculty development be organized? A pit-stop model Faculty members are rightly focused on their domains of expertise. They have limited time to devote to activities that may initially appear peripheral to their teaching or research. AI faculty development should therefore look less like another degree program and more like a pit stop: short, intensive, recurring, and connected to ongoing support. A. Recurring AI and its ecosystem keep evolving at such a rapid pace. Here is an account, from my recent experience. An annual intensive session could provide an institutional reset. Given the pace of change, however, it should probably be considered a minimum rather than a complete system. Shorter updates during the year and an ongoing exchange channel could help faculty remain connected between pit stops. B. Critical distance AI training may be perceived as an exercise in technology advocacy. It should therefore be made explicit that these programs are intended to enable informed judgment across the full spectrum of possible positions: adoption, selective use, refusal, regulation, and outright criticism. The models, tools, key actors, costs, limitations, and social consequences of AI are changing rapidly. Arguments and recommendations that were well founded one year ago may need to be reconsidered the next. C. Match the program to faculty needs For the training to be effective, it must address the diversity of its audiences. A useful starting point would be three pathways: Foundations: for faculty members who rarely or never use AI. The focus would be discovery, contextualization, core concepts, potential uses, limitations, costs, and risks. Applied practice: for regular users who want more structured development. The program would cover a range of tools and use cases, with practical exercises related to academic work. Research-related and teaching-related activities should be treated separately. Advanced experimentation: for experienced users interested in pushing the envelope. The format would be closer to a masterclass or peer laboratory, centered on emerging workflows, advanced tools, and the design of new pedagogical practices. The people leading these sessions should combine technical currency, pedagogical credibility, and disciplinary relevance. Internal faculty practitioners should play a central role, supplemented where useful by external experts. D. Recognition and workload Faculty members know that their craft is changing: assessment methods, classroom pedagogy, research practices, and sometimes the knowledge of their discipline itself. The time they invest in faculty development should be formally recognized as part of their workload and professional development. A certificate or badge may be useful, but recognition matters more than credentialism. E. Follow-up An ongoing community of practice should connect faculty members and facilitators between pit stops. This could include a discussion channel, short updates, shared experiments, office hours, and a repository of discipline-specific examples. Why this is foundational When thinking about the impact of AI on higher education, I cannot think of a more foundational first step than training the trainers. This foundation enables and multiplies the impact of all the initiatives that will follow, which I will examine in the next posts in this series. In the meantime, I would especially like to hear about faculty-development initiatives you have led or participated in. What is recurring? What is practice-based? And what has actually changed in courses or assessments as a result? About Me I lead higher-education programs in interactive design and video games at Gobelins Paris, and I develop independent web applications. I created Nocode Functions and SlideLang. Try them out and let me know what you think. I’d love your feedback! The views expressed here are my own and do not necessarily reflect those of my employer or any organization with which I am affiliated. Email: analysis@exploreyourdata.com Bluesky: @seinecle Blog: Read more articles on AI, coding, and higher education.]]></summary></entry><entry><title type="html">L’IA dans l’enseignement supérieur : un choc comparable à Internet et au web ?</title><link href="https://nocodefunctions.com/blog/enseignement-superieur-IA-web/" rel="alternate" type="text/html" title="L’IA dans l’enseignement supérieur : un choc comparable à Internet et au web ?" /><published>2026-07-01T00:00:00+00:00</published><updated>2026-07-01T00:00:00+00:00</updated><id>https://nocodefunctions.com/blog/enseignement-superieur-ia-web</id><content type="html" xml:base="https://nocodefunctions.com/blog/enseignement-superieur-IA-web/"><![CDATA[<p>L’impact de l’IA sur l’enseignement supérieur dans les années à venir est difficile à cerner. Quels cadres de référence historiques sont utiles pour imaginer les contours de ses conséquences ?</p>

<p>Cet article de blog s’inscrit dans la suite de <a href="https://nocodefunctions.com">mes publications des 4 dernières années</a> sur les significations et les conséquences de l’IA générative, à commencer par <a href="https://nocodefunctions.com/blog/chatgpt-consequences-fr/">une note sur la portée de ChatGPT au moment de sa sortie en 2022</a>.</p>

<p><a href="https://nocodefunctions.com/blog/higher-education-AI-web/">version en anglais de ce post disponible</a></p>

<p>La question qui m’intéresse est large : quel est l’impact de l’IA sur l’enseignement supérieur, et quelles en sont les conséquences ?</p>

<p>Cet article de blog est une importante note de bas de page : j’y commence par établir si l’IA peut être comparée à d’autres chocs technologiques ayant affecté l’enseignement supérieur, et de quelle manière.</p>

<p>Parce que si l’IA est « juste comme les MOOCs : beaucoup d’attentes, mais un impact limité », alors nous avons déjà appris quelque chose d’intéressant : il ne faut pas forcément s’inquiéter de son impact massif sur l’enseignement supérieur.</p>

<p>Mais ce n’est pas la conclusion à laquelle je vais parvenir ;-)</p>

<h1 id="avant-lia-3-chocs-technologiques-notables-pour-lenseignement-supérieur">Avant l’IA, 3 chocs technologiques notables pour l’enseignement supérieur</h1>

<p>Depuis 2000, l’enseignement supérieur a connu son lot de chocs appelant à des adaptations urgentes :</p>

<h2 id="internet-et-le-web">Internet et le web</h2>

<p>Le web a rendu possible la production de contenu numérique par des individus indépendants : avec le web, chacun-e a eu une voix et un accès potentiel à une audience mondiale.
Avec YouTube, chacun pouvait enregistrer un cours et le diffuser.
Les habitudes d’apprentissage se sont diversifiées, avec des capacités d’attention plus courtes, et des pratiques devenues screen-first et mobile-first.
Une question se posait donc naturellement à l’époque : ces changements allaient-ils marginaliser les établissements d’enseignement supérieur, puisque le savoir devenait disponible gratuitement, facilement, et depuis n’importe où ?</p>

<h2 id="big-data-et-data-science">Big data et data science</h2>

<p>Le big data et la data science ont ouvert la perspective d’un apprentissage personnalisé qui remplacerait l’enseignement standardisé au niveau du groupe.
Grâce à l’analyse de vastes quantités de données personnelles, des parcours d’apprentissage individuels pourraient être identifiés.
Par des algorithmes, ou par des modèles de machine learning, les ressources pédagogiques adéquates pourraient être identifiées pour correspondre aux besoins, au rythme de progression et aux aspirations de chaque étudiant.</p>

<h2 id="moocs">MOOCs</h2>

<p>Les MOOCs promettaient de tirer parti des deux premiers éléments — le web et le big data — pour transformer l’éducation.
Le web permet de proposer des enseignements en ligne à une audience de n’importe quelle taille, tandis que le big data et la data science permettent d’individualiser les parcours d’apprentissage, en gardant l’individu et une expérience pédagogique sur mesure au centre, malgré la massification.
Quelques entreprises ont tenté de donner corps à cette promesse : Coursera, edX, Udemy, Udacity, Khan Academy, …</p>

<p>La question, à l’époque, était la suivante : les universités pourraient-elles survivre si des équivalents en ligne existaient, disponibles 24/7, délivrant des certificats d’institutions de l’Ivy League à une fraction du prix et du coût d’une université et de leurs coûteux campus ?</p>

<h1 id="conséquences-de-ces-chocs-technologiques--beaucoup-de-bruit-pour-pas-grand-chose">Conséquences de ces chocs technologiques : beaucoup de bruit pour pas grand-chose</h1>

<p>Je peins volontairement le tableau à gros traits :</p>

<h2 id="internet-et-le-web-ont-laissé-le-cœur-de-lexpérience-pédagogique-étonnamment-intact">Internet et le web ont laissé le cœur de l’expérience pédagogique étonnamment intact</h2>

<p>Quand on les compare aux effets directs et destructeurs que le web continue d’avoir sur les organisations culturelles — les print médias, l’industrie du cinéma, les librairies, … — on peut être surpris de voir à quel point l’enseignement supérieur reste stable et relativement épargné par le web et l’économie numérique.
L’expérience centrale de l’enseignement supérieur reste hors ligne : des cours donnés par un-e professeur, dans une salle de classe, à un groupe d’étudiants.</p>

<p>Dit autrement : les écoles et les universités ont été transformées par les technologies de l’ère web — 
email, learning management systems, visioconférence, systèmes de recrutement en ligne, etc. — mais ces technologies ont davantage transformé les opérations que le format de base de la classe.</p>

<p>Même les tableaux blancs interactifs — quand ils sont présents dans une salle — sont utilisés avec modération, dans mon expérience. En somme, le web a été « absorbé » comme un sujet de plus à disséquer en classe, plutôt que comme une force transformant la classe elle-même.</p>

<h2 id="le-big-data-et-la-data-science-ont-conduit-à-la-création-de-cours-et-de-programmes-spécialisés">Le big data et la data science ont conduit à la création de cours et de programmes spécialisés</h2>

<p>À partir de 2015 environ, la plupart des écoles ont commencé à développer des programmes proposant un croisement entre [<em>nom d’un domaine traditionnel</em>] x [<em>big data / data science / analytics</em>], de la même manière qu’elles avaient introduit quelques années auparavant des cours en [<em>digital</em>] x [<em>nom d’un domaine traditionnel</em>].
C’est un changement important, bien sûr ; cependant, il n’a pas modifié les missions ou les fonctions centrales des établissements d’enseignement supérieur.</p>

<p>C’est assez « classique » et décevant au regard des attentes sur le potentiel transformateur du big data : la promesse était qu’il rendrait les écoles capables de concevoir des parcours d’apprentissage individuels grâce à l’analyse de données étudiantes.
Cette promesse ne s’est pas réalisée à l’échelle imaginée. Les learning analytics et les outils adaptatifs existent, mais ils n’ont pas remplacé la structure de base, collective, de l’enseignement supérieur.</p>

<h2 id="les-plateformes-de-moocs-existent-toujours-mais-les-écoles-et-les-universités-vont-bien">Les plateformes de MOOCs existent toujours, mais les écoles et les universités vont bien</h2>

<p>Coursera, Udemy, Udacity, edX et Khan Academy sont toujours là, après de nombreuses difficultés et restructurations.
Ces initiatives n’ont aucunement remplacé les établissements d’enseignement supérieur ; elles s’adressent plutôt à des segments d’étudiants nouveaux, différents, ou parfois superposés, mais non entièrement coextensifs.
L’enseignement à distance est une caractéristique centrale des MOOCs et il est effectivement important, même vital, pour l’enseignement supérieur, mais cela a été révélé par la pandémie de COVID (2020-2022) davantage que par les MOOCs.
Les établissements traditionnels d’enseignement supérieur se sont adaptés rapidement à la pandémie en accélérant leurs investissements dans les services numériques (Zoom ayant fait son IPO en 2019 : timing heureux!)</p>

<p>J’ai vécu le choc de l’émergence du web dans l’enseignement supérieur comme étudiant, et j’ai été un participant actif aux deux autres chocs comme professeur et responsable de programme à emlyon business school à partir de 2014, initialement sous la direction de Bernard Belletante.
Belletante est un visionnaire qui avait anticipé ces chocs et s’est assuré qu’ils soient traduits dans les programmes et les services support de l’école.
Le lancement de nouveaux programmes en data science, la création d’un Makers Lab, un nouveau LMS, le décloisonnement des départements académiques, le recrutement de professeurs aux profils nouveaux, l’adaptation des salles de classe à l’enseignement hybride, etc. : l’école a bien servi ses étudiants en engageant tous ces changements en amont, plutôt qu’en réaction aux chocs.</p>

<p>Parmi ces trois chocs, le développement d’Internet et du web reste celui que je serais personnellement le plus tenté de comparer à l’IA, étant donné l’effet transformateur qu’Internet et le web ont eu sur la société en général. L’IA est appelée à avoir un impact au moins aussi important.</p>

<blockquote>
  <p>Et donc, étant donné l’impact relativement faible que le web a eu sur l’expérience centrale de l’apprentissage et de l’enseignement — comme discuté juste au-dessus —, une comparaison entre l’IA et le web pourrait être éclairante.</p>
</blockquote>

<blockquote>
  <p><strong>Peut-être que l’IA se révélera aussi importante que le web au niveau <em>sociétal</em>, mais avec des effets transformateurs sur l’enseignement supérieur lui-même qui seraient, comme pour le web, plus « faibles que ce qui avait été annoncé » ?</strong></p>
</blockquote>

<h1 id="focus-sur-le-web-comme-cadre-de-référence-historique--lia-est-elle-le-même-type-de-choc-pour-lenseignement-supérieur-">Focus sur le web comme cadre de référence historique : l’IA est-elle le même type de choc pour l’enseignement supérieur ?</h1>

<p>Posons ce que je considère comme des faits indiscutables. L’impact de l’IA est :</p>

<ul>
  <li><strong>profond</strong> : sur un nombre croissant de tâches cognitives benchmarkées, les systèmes d’IA de pointe atteignent ou dépassent désormais les niveaux de référence humains.</li>
  <li><strong>large</strong> : les usages sont très répandus à l’école, au travail, dans nos vies personnelles, dans les gouvernements et les administrations, dans les arts et la culture, dans la science, la médecine et la technologie, dans la conduite de la guerre, etc.</li>
  <li><strong>systémique</strong> : l’IA crée ou intensifie des déséquilibres environnementaux, géopolitiques et sociétaux.</li>
  <li><strong>rapide</strong> : nous sommes en juillet 2026 et ChatGPT est sorti en novembre 2022. Tout cela s’est donc produit en moins de quatre ans, et le rythme de développement accélère au lieu de ralentir.</li>
</ul>

<p>Comparons l’IA et le web : comment se situent-ils par rapport aux quatre dimensions posées ci-dessus ?</p>

<h2 id="un-choc-profond--le-web-et-lia-se-ressemblent-ils-"><u>Un choc profond</u> : le web et l’IA se ressemblent-ils ?</h2>

<p>Internet et le web étaient assurément « profonds » par nature, parce qu’ils ont ouvert un espace où de nouveaux contenus et de nouvelles expériences pouvaient être créés avec de faibles barrières en termes de coût, de distance ou d’autorité. Cela a créé une explosion de services numériques et transformé le monde hors ligne. Mais l’IA est une couche plus profonde. Elle n’étend pas simplement l’espace dans lequel les humains peuvent exprimer et développer leur créativité, comme l’a fait le web : elle étend la créativité elle-même.</p>

<p>Développons cette idée en revenant à l’enseignement supérieur : le web a offert aux étudiants un accès à de nouveaux types de ressources pour apprendre, ce qui leur a facilité le développement de la compétence correspondante. L’IA va beaucoup plus loin : elle peut générer en quelques minutes ce qu’un étudiant compétent aurait créé en plusieurs heures ou en plusieurs jours. Il ne s’agit pas d’offrir davantage d’espace pour l’expression, ni de connecter des espaces. <strong>Il s’agit de modifier fondamentalement le sens de « s’exprimer »</strong>.</p>

<p>On peut alors légitimement se demander : quelle est la valeur, pour un étudiant, d’apprendre et d’acquérir la compétence ? Cette question n’avait pas été ouverte d’une manière aussi radicale par l’émergence du web.</p>

<h2 id="un-choc-large--le-web-et-lia-se-ressemblent-ils-"><u>Un choc large</u> : le web et l’IA se ressemblent-ils ?</h2>

<p>On peut dire que le web est une technologie très « large » : il touche à tout, en particulier depuis que nous logeons une si grande partie de nos vies personnelles et professionnelles dans les smartphones que nous portons avec nous toute la journée. Mais là encore, l’IA est « large » à un niveau plus fondamental.</p>

<p>Les LLMs ont la capacité d’émuler tout ce que nous leur demandons d’être. De la même façon qu’il existe un écart conceptuel entre les appareils numériques et les mécanismes analogiques, les LLMs introduisent un nouvel écart qui les distingue des appareils numériques « traditionnels ».</p>

<p>Les LLMs restent bien sûr des logiciels. Mais le service qu’ils fournissent n’est pas assimilable à un logiciel qui se contente de suivre une série prédéfinie d’instructions (<a href="https://nocodefunctions.com/blog/chatgpt-consequences-fr/">l’argument est développé ici</a>). Ils peuvent au contraire être utilisés pour n’importe quel objectif que nous leur assignons au moment de l’usage : expliquer un concept de n’importe quel domaine à des étudiants de licence ou à des doctorants, par exemple ; aider un professeur à créer le contenu d’un cours ; ou aider des responsables de programme à passer en revue des curricula entiers.</p>

<p>L’IA est en ce sens un choc « plus large » que le web : le web a eu un impact large, mais l’IA est plus large encore parce qu’elle est une sorte de dispositif de pensée presque omnipotent.</p>

<h2 id="un-choc-systémique--le-web-et-lia-se-ressemblent-ils-"><u>Un choc systémique</u> : le web et l’IA se ressemblent-ils ?</h2>

<p>Le développement d’Internet et du web à grande échelle a eu des conséquences environnementales, géopolitiques et sociétales profondes (voir par exemple <a href="https://www.dukeupress.edu/finite-media">a</a>, <a href="https://yalebooks.yale.edu/book/9780300234176/twitter-and-tear-gas/">b</a>, <a href="https://www.hbs.edu/faculty/Pages/item.aspx?num=56791">c</a>). Pourtant, il semble que l’IA ait des effets encore plus conséquents.</p>

<p>Développer et faire fonctionner des modèles d’IA nécessite des data centers consommant de grandes quantités d’électricité, de minerais critiques et d’eau.
Les capacités de data centers prévues pour la prochaine décennie pour l’IA sont largement discutées comme pouvant poser un risque de pénurie pour d’autres usages.</p>

<p>Les modèles d’IA pourraient aussi créer du chômage chez les cols blancs, et également chez les cols bleus lorsque ces modèles d’IA sont utilisés pour augmenter des robots dotés de comportements intelligents, capables de faire mieux et moins cher que des opérateurs humains — <a href="https://www.ft.com/content/b1445598-e5e3-4530-9e82-e0155c44106b">chauffeurs de taxi</a>, <a href="https://www.ft.com/content/b4649cba-c74b-4cee-b342-0adf6c937705">ouvriers d’usine</a>, …</p>

<p>Internet et le web ne fonctionnent pas dans un cloud (nuage) littéral, et l’accès à Internet et au web n’est certainement pas gratuit. Internet repose sur une infrastructure physique de data centers, câbles, satellites, fournisseurs d’accès, autorités locales et globales… et tout cela continue d’exiger des investissements massifs et des coûts de maintenance de la part des écoles, dans ce que l’on appelait la « transformation digitale », une transformation qui semble ne jamais arriver à son terme.</p>

<p>Là encore, l’IA semble suivre la même logique, mais à une échelle supérieure. Pour rembourser leurs investissements dans l’entraînement des modèles et la construction d’infrastructures, OpenAI et quelques autres acteurs majeurs de l’IA générative ont commencé à proposer des services par abonnement allant de plans gratuits à quelques centaines de dollars par mois et par individu.
Avec l’accélération du rythme de dépense de ces grands acteurs, et avec la <a href="https://gist.github.com/seinecle/689a53bceca96147a04e93bdc5f83940">multiplication de services d’IA sophistiqués</a>, on peut s’attendre à ce que l’IA constitute un nouveau poste de dépenses significatives pour les écoles.</p>

<p><em>NB : certes, les open-weight models peuvent être acquis gratuitement et exécutés en local, mais ils tendent à être associés à leurs propres coûts spécifiques et significatifs, notamment le coût total de possession de l’infrastructure IT nécessaire pour faire tourner ces modèles et les ressources humaines chargées de l’installation, de la maintenance, de la sécurité, de l’onboarding des utilisateurs, etc.</em></p>

<p>Alors qu’Internet reste relativement ouvert à travers la plupart des frontières — avec des réserves majeures : voir la Chine, la Russie, etc. [<a href="https://editions.flammarion.com/smart/9782081307858">Martel, 2015</a>] —, les services d’IA sont créés et distribués depuis deux régions principales : les États-Unis et la Chine. La sortie puis l’arrêt rapide de Fable 5 par Anthropic en juin 2026, à la suite d’une directive du gouvernement américain demandant à Anthropic de restreindre l’accès aux citoyens non américains, donne aux dynamiques d’accès aux services d’IA de pointe une tonalité très différente de l’expansion ouverte des débuts du web.</p>

<p>L’Europe compte des acteurs crédibles dans l’IA, notamment Mistral AI pour les modèles de langage et Black Forest Labs pour l’intelligence visuelle. Mais l’écosystème de l’IA de pointe reste beaucoup plus concentré aux États-Unis et en Chine que ne l’a jamais été le web ouvert. Cela crée un risque de dépendance pour les écoles et universités européennes.</p>

<p>Les modèles d’IA augmentent aussi le potentiel de coûts et pertes dans les cyberattaques ou dans la conception d’armes biologiques (<a href="https://the-coming-wave.com/">Suleyman, 2024</a>).
Enfin, l’IA est considérée par certains comme posant un risque existentiel pour l’humanité elle-même, dans des scénarios plausibles de perte de contrôle, de mauvaise utilisation ou d’objectifs mal alignés (<a href="https://www.cbsnews.com/news/godfather-of-ai-geoffrey-hinton-ai-warning/">Hinton, 2025</a>, <a href="https://aistatement.com/work/statement-on-ai-extinction-risk">AI Statement</a>).</p>

<p>Le web, même s’il n’a pas été une innovation calme et tranquille, n’a certainement jamais atteint ce niveau de risque systémique.</p>

<h2 id="choc-rapide--le-web-et-lia-se-ressemblent-ils-">Choc rapide : le web et l’IA se ressemblent-ils ?</h2>

<p>L’adoption des technologies web a été relativement « rapide » à l’échelle historique, au sens où il a fallu environ deux à trois décennies pour que l’usage du web devienne largement répandu après l’émergence du premier navigateur web.
Par contraste, selon les <a href="https://www.reuters.com/technology/chatgpt-app-hits-1-billion-monthly-active-users-record-time-data-shows-2026-06-02/">données de Sensor Tower rapportées par Reuters</a>, l’application ChatGPT a atteint 1 milliard d’utilisateurs actifs mensuels dans le monde environ trois ans après la sortie de ChatGPT en novembre 2022.</p>

<h1 id="conclusion">Conclusion</h1>

<p>Dans l’enseignement supérieur, il y a certainement du vrai dans le Gartner Hype Cycle : lorsque des chocs technologiques se produisent, un pic d’attentes exagérées se forme rapidement ; puis la poussière retombe, et un plateau de productivité est atteint, où universités et écoles absorbent l’innovation tandis que leurs caractéristiques fondamentales, vieilles de plusieurs siècles, restent complètement intactes :</p>

<p><img width="384" height="249" alt="Gartner Hype Cycle" src="https://github.com/user-attachments/assets/ce9086db-5e53-47c1-97d2-c2ca10e4ca93" /></p>

<blockquote>
  <p>source : le <a href="https://en.wikipedia.org/wiki/Gartner_hype_cycle">Gartner Hype Cycle</a></p>
</blockquote>

<p>Peut-être que l’IA sera de même nature.</p>

<p>Cela signifierait que dans 10 ans, en suivant le playbook de ce qui s’est produit avec les précédents chocs technologiques dans l’enseignement supérieur, on pourrait s’attendre à :</p>

<ul>
  <li>des « experts en création visuelle par IA » dans les écoles d’art,</li>
  <li>des programmes « IA pour la finance » dans les business schools,</li>
  <li>des systèmes de planification augmentés par IA utilisés couramment par les équipes chargées de planification,</li>
  <li>des avatars IA faisant le travail des conseillers admissions,</li>
</ul>

<p>… et un-e professeur humain enseignant toujours à des étudiants humains, exactement comme cela se fait depuis des siècles.</p>

<p>Mais nous avons établi plus haut que l’IA ne peut pas être comparée aux précédents chocs technologiques. Elle est plus profonde, plus large et plus rapide, et ses effets systémiques sont beaucoup plus importants.</p>

<p>Pour cette raison, et c’est là que je veux m’arrêter : <strong>nous ne pouvons pas supposer sans risque que l’IA sera aussi « inoffensive » que le web et les autres chocs technologiques ayant affecté l’enseignement supérieur au cours des dernières décennies</strong>.</p>

<p>À partir de là, nous pouvons entreprendre l’étude des contours de cet impact. Ce sera pour le prochain post !</p>

<hr />
<h1 id="à-propos-de-moi">À propos de moi</h1>

<p>Je suis enseignant-chercheur et développeur indépendant d’applications web. J’ai créé <a href="https://nocodefunctions.com">nocode functions</a>, un outil point-and-click pour explorer des textes et des réseaux. Essayez-le et dites-moi ce que vous en pensez. Vos retours m’intéressent beaucoup !</p>

<ul>
  <li><strong>Email :</strong> <a href="mailto:analysis@exploreyourdata.com">analysis@exploreyourdata.com</a></li>
  <li><strong>Bluesky :</strong> <a href="https://bsky.app/profile/seinecle.bsky.social">@seinecle</a></li>
  <li><strong>Blog :</strong> <a href="https://nocodefunctions.com/blog">Lire d’autres articles</a> sur le développement d’applications et l’exploration de données.</li>
</ul>]]></content><author><name></name></author><category term="ia" /><category term="enseignement supérieur" /><category term="mooc" /><category term="big data" /><category term="web" /><category term="Internet" /><summary type="html"><![CDATA[L’impact de l’IA sur l’enseignement supérieur dans les années à venir est difficile à cerner. Quels cadres de référence historiques sont utiles pour imaginer les contours de ses conséquences ? Cet article de blog s’inscrit dans la suite de mes publications des 4 dernières années sur les significations et les conséquences de l’IA générative, à commencer par une note sur la portée de ChatGPT au moment de sa sortie en 2022. version en anglais de ce post disponible La question qui m’intéresse est large : quel est l’impact de l’IA sur l’enseignement supérieur, et quelles en sont les conséquences ? Cet article de blog est une importante note de bas de page : j’y commence par établir si l’IA peut être comparée à d’autres chocs technologiques ayant affecté l’enseignement supérieur, et de quelle manière. Parce que si l’IA est « juste comme les MOOCs : beaucoup d’attentes, mais un impact limité », alors nous avons déjà appris quelque chose d’intéressant : il ne faut pas forcément s’inquiéter de son impact massif sur l’enseignement supérieur. Mais ce n’est pas la conclusion à laquelle je vais parvenir ;-) Avant l’IA, 3 chocs technologiques notables pour l’enseignement supérieur Depuis 2000, l’enseignement supérieur a connu son lot de chocs appelant à des adaptations urgentes : Internet et le web Le web a rendu possible la production de contenu numérique par des individus indépendants : avec le web, chacun-e a eu une voix et un accès potentiel à une audience mondiale. Avec YouTube, chacun pouvait enregistrer un cours et le diffuser. Les habitudes d’apprentissage se sont diversifiées, avec des capacités d’attention plus courtes, et des pratiques devenues screen-first et mobile-first. Une question se posait donc naturellement à l’époque : ces changements allaient-ils marginaliser les établissements d’enseignement supérieur, puisque le savoir devenait disponible gratuitement, facilement, et depuis n’importe où ? Big data et data science Le big data et la data science ont ouvert la perspective d’un apprentissage personnalisé qui remplacerait l’enseignement standardisé au niveau du groupe. Grâce à l’analyse de vastes quantités de données personnelles, des parcours d’apprentissage individuels pourraient être identifiés. Par des algorithmes, ou par des modèles de machine learning, les ressources pédagogiques adéquates pourraient être identifiées pour correspondre aux besoins, au rythme de progression et aux aspirations de chaque étudiant. MOOCs Les MOOCs promettaient de tirer parti des deux premiers éléments — le web et le big data — pour transformer l’éducation. Le web permet de proposer des enseignements en ligne à une audience de n’importe quelle taille, tandis que le big data et la data science permettent d’individualiser les parcours d’apprentissage, en gardant l’individu et une expérience pédagogique sur mesure au centre, malgré la massification. Quelques entreprises ont tenté de donner corps à cette promesse : Coursera, edX, Udemy, Udacity, Khan Academy, … La question, à l’époque, était la suivante : les universités pourraient-elles survivre si des équivalents en ligne existaient, disponibles 24/7, délivrant des certificats d’institutions de l’Ivy League à une fraction du prix et du coût d’une université et de leurs coûteux campus ? Conséquences de ces chocs technologiques : beaucoup de bruit pour pas grand-chose Je peins volontairement le tableau à gros traits : Internet et le web ont laissé le cœur de l’expérience pédagogique étonnamment intact Quand on les compare aux effets directs et destructeurs que le web continue d’avoir sur les organisations culturelles — les print médias, l’industrie du cinéma, les librairies, … — on peut être surpris de voir à quel point l’enseignement supérieur reste stable et relativement épargné par le web et l’économie numérique. L’expérience centrale de l’enseignement supérieur reste hors ligne : des cours donnés par un-e professeur, dans une salle de classe, à un groupe d’étudiants. Dit autrement : les écoles et les universités ont été transformées par les technologies de l’ère web — email, learning management systems, visioconférence, systèmes de recrutement en ligne, etc. — mais ces technologies ont davantage transformé les opérations que le format de base de la classe. Même les tableaux blancs interactifs — quand ils sont présents dans une salle — sont utilisés avec modération, dans mon expérience. En somme, le web a été « absorbé » comme un sujet de plus à disséquer en classe, plutôt que comme une force transformant la classe elle-même. Le big data et la data science ont conduit à la création de cours et de programmes spécialisés À partir de 2015 environ, la plupart des écoles ont commencé à développer des programmes proposant un croisement entre [nom d’un domaine traditionnel] x [big data / data science / analytics], de la même manière qu’elles avaient introduit quelques années auparavant des cours en [digital] x [nom d’un domaine traditionnel]. C’est un changement important, bien sûr ; cependant, il n’a pas modifié les missions ou les fonctions centrales des établissements d’enseignement supérieur. C’est assez « classique » et décevant au regard des attentes sur le potentiel transformateur du big data : la promesse était qu’il rendrait les écoles capables de concevoir des parcours d’apprentissage individuels grâce à l’analyse de données étudiantes. Cette promesse ne s’est pas réalisée à l’échelle imaginée. Les learning analytics et les outils adaptatifs existent, mais ils n’ont pas remplacé la structure de base, collective, de l’enseignement supérieur. Les plateformes de MOOCs existent toujours, mais les écoles et les universités vont bien Coursera, Udemy, Udacity, edX et Khan Academy sont toujours là, après de nombreuses difficultés et restructurations. Ces initiatives n’ont aucunement remplacé les établissements d’enseignement supérieur ; elles s’adressent plutôt à des segments d’étudiants nouveaux, différents, ou parfois superposés, mais non entièrement coextensifs. L’enseignement à distance est une caractéristique centrale des MOOCs et il est effectivement important, même vital, pour l’enseignement supérieur, mais cela a été révélé par la pandémie de COVID (2020-2022) davantage que par les MOOCs. Les établissements traditionnels d’enseignement supérieur se sont adaptés rapidement à la pandémie en accélérant leurs investissements dans les services numériques (Zoom ayant fait son IPO en 2019 : timing heureux!) J’ai vécu le choc de l’émergence du web dans l’enseignement supérieur comme étudiant, et j’ai été un participant actif aux deux autres chocs comme professeur et responsable de programme à emlyon business school à partir de 2014, initialement sous la direction de Bernard Belletante. Belletante est un visionnaire qui avait anticipé ces chocs et s’est assuré qu’ils soient traduits dans les programmes et les services support de l’école. Le lancement de nouveaux programmes en data science, la création d’un Makers Lab, un nouveau LMS, le décloisonnement des départements académiques, le recrutement de professeurs aux profils nouveaux, l’adaptation des salles de classe à l’enseignement hybride, etc. : l’école a bien servi ses étudiants en engageant tous ces changements en amont, plutôt qu’en réaction aux chocs. Parmi ces trois chocs, le développement d’Internet et du web reste celui que je serais personnellement le plus tenté de comparer à l’IA, étant donné l’effet transformateur qu’Internet et le web ont eu sur la société en général. L’IA est appelée à avoir un impact au moins aussi important. Et donc, étant donné l’impact relativement faible que le web a eu sur l’expérience centrale de l’apprentissage et de l’enseignement — comme discuté juste au-dessus —, une comparaison entre l’IA et le web pourrait être éclairante. Peut-être que l’IA se révélera aussi importante que le web au niveau sociétal, mais avec des effets transformateurs sur l’enseignement supérieur lui-même qui seraient, comme pour le web, plus « faibles que ce qui avait été annoncé » ? Focus sur le web comme cadre de référence historique : l’IA est-elle le même type de choc pour l’enseignement supérieur ? Posons ce que je considère comme des faits indiscutables. L’impact de l’IA est : profond : sur un nombre croissant de tâches cognitives benchmarkées, les systèmes d’IA de pointe atteignent ou dépassent désormais les niveaux de référence humains. large : les usages sont très répandus à l’école, au travail, dans nos vies personnelles, dans les gouvernements et les administrations, dans les arts et la culture, dans la science, la médecine et la technologie, dans la conduite de la guerre, etc. systémique : l’IA crée ou intensifie des déséquilibres environnementaux, géopolitiques et sociétaux. rapide : nous sommes en juillet 2026 et ChatGPT est sorti en novembre 2022. Tout cela s’est donc produit en moins de quatre ans, et le rythme de développement accélère au lieu de ralentir. Comparons l’IA et le web : comment se situent-ils par rapport aux quatre dimensions posées ci-dessus ? Un choc profond : le web et l’IA se ressemblent-ils ? Internet et le web étaient assurément « profonds » par nature, parce qu’ils ont ouvert un espace où de nouveaux contenus et de nouvelles expériences pouvaient être créés avec de faibles barrières en termes de coût, de distance ou d’autorité. Cela a créé une explosion de services numériques et transformé le monde hors ligne. Mais l’IA est une couche plus profonde. Elle n’étend pas simplement l’espace dans lequel les humains peuvent exprimer et développer leur créativité, comme l’a fait le web : elle étend la créativité elle-même. Développons cette idée en revenant à l’enseignement supérieur : le web a offert aux étudiants un accès à de nouveaux types de ressources pour apprendre, ce qui leur a facilité le développement de la compétence correspondante. L’IA va beaucoup plus loin : elle peut générer en quelques minutes ce qu’un étudiant compétent aurait créé en plusieurs heures ou en plusieurs jours. Il ne s’agit pas d’offrir davantage d’espace pour l’expression, ni de connecter des espaces. Il s’agit de modifier fondamentalement le sens de « s’exprimer ». On peut alors légitimement se demander : quelle est la valeur, pour un étudiant, d’apprendre et d’acquérir la compétence ? Cette question n’avait pas été ouverte d’une manière aussi radicale par l’émergence du web. Un choc large : le web et l’IA se ressemblent-ils ? On peut dire que le web est une technologie très « large » : il touche à tout, en particulier depuis que nous logeons une si grande partie de nos vies personnelles et professionnelles dans les smartphones que nous portons avec nous toute la journée. Mais là encore, l’IA est « large » à un niveau plus fondamental. Les LLMs ont la capacité d’émuler tout ce que nous leur demandons d’être. De la même façon qu’il existe un écart conceptuel entre les appareils numériques et les mécanismes analogiques, les LLMs introduisent un nouvel écart qui les distingue des appareils numériques « traditionnels ». Les LLMs restent bien sûr des logiciels. Mais le service qu’ils fournissent n’est pas assimilable à un logiciel qui se contente de suivre une série prédéfinie d’instructions (l’argument est développé ici). Ils peuvent au contraire être utilisés pour n’importe quel objectif que nous leur assignons au moment de l’usage : expliquer un concept de n’importe quel domaine à des étudiants de licence ou à des doctorants, par exemple ; aider un professeur à créer le contenu d’un cours ; ou aider des responsables de programme à passer en revue des curricula entiers. L’IA est en ce sens un choc « plus large » que le web : le web a eu un impact large, mais l’IA est plus large encore parce qu’elle est une sorte de dispositif de pensée presque omnipotent. Un choc systémique : le web et l’IA se ressemblent-ils ? Le développement d’Internet et du web à grande échelle a eu des conséquences environnementales, géopolitiques et sociétales profondes (voir par exemple a, b, c). Pourtant, il semble que l’IA ait des effets encore plus conséquents. Développer et faire fonctionner des modèles d’IA nécessite des data centers consommant de grandes quantités d’électricité, de minerais critiques et d’eau. Les capacités de data centers prévues pour la prochaine décennie pour l’IA sont largement discutées comme pouvant poser un risque de pénurie pour d’autres usages. Les modèles d’IA pourraient aussi créer du chômage chez les cols blancs, et également chez les cols bleus lorsque ces modèles d’IA sont utilisés pour augmenter des robots dotés de comportements intelligents, capables de faire mieux et moins cher que des opérateurs humains — chauffeurs de taxi, ouvriers d’usine, … Internet et le web ne fonctionnent pas dans un cloud (nuage) littéral, et l’accès à Internet et au web n’est certainement pas gratuit. Internet repose sur une infrastructure physique de data centers, câbles, satellites, fournisseurs d’accès, autorités locales et globales… et tout cela continue d’exiger des investissements massifs et des coûts de maintenance de la part des écoles, dans ce que l’on appelait la « transformation digitale », une transformation qui semble ne jamais arriver à son terme. Là encore, l’IA semble suivre la même logique, mais à une échelle supérieure. Pour rembourser leurs investissements dans l’entraînement des modèles et la construction d’infrastructures, OpenAI et quelques autres acteurs majeurs de l’IA générative ont commencé à proposer des services par abonnement allant de plans gratuits à quelques centaines de dollars par mois et par individu. Avec l’accélération du rythme de dépense de ces grands acteurs, et avec la multiplication de services d’IA sophistiqués, on peut s’attendre à ce que l’IA constitute un nouveau poste de dépenses significatives pour les écoles. NB : certes, les open-weight models peuvent être acquis gratuitement et exécutés en local, mais ils tendent à être associés à leurs propres coûts spécifiques et significatifs, notamment le coût total de possession de l’infrastructure IT nécessaire pour faire tourner ces modèles et les ressources humaines chargées de l’installation, de la maintenance, de la sécurité, de l’onboarding des utilisateurs, etc. Alors qu’Internet reste relativement ouvert à travers la plupart des frontières — avec des réserves majeures : voir la Chine, la Russie, etc. [Martel, 2015] —, les services d’IA sont créés et distribués depuis deux régions principales : les États-Unis et la Chine. La sortie puis l’arrêt rapide de Fable 5 par Anthropic en juin 2026, à la suite d’une directive du gouvernement américain demandant à Anthropic de restreindre l’accès aux citoyens non américains, donne aux dynamiques d’accès aux services d’IA de pointe une tonalité très différente de l’expansion ouverte des débuts du web. L’Europe compte des acteurs crédibles dans l’IA, notamment Mistral AI pour les modèles de langage et Black Forest Labs pour l’intelligence visuelle. Mais l’écosystème de l’IA de pointe reste beaucoup plus concentré aux États-Unis et en Chine que ne l’a jamais été le web ouvert. Cela crée un risque de dépendance pour les écoles et universités européennes. Les modèles d’IA augmentent aussi le potentiel de coûts et pertes dans les cyberattaques ou dans la conception d’armes biologiques (Suleyman, 2024). Enfin, l’IA est considérée par certains comme posant un risque existentiel pour l’humanité elle-même, dans des scénarios plausibles de perte de contrôle, de mauvaise utilisation ou d’objectifs mal alignés (Hinton, 2025, AI Statement). Le web, même s’il n’a pas été une innovation calme et tranquille, n’a certainement jamais atteint ce niveau de risque systémique. Choc rapide : le web et l’IA se ressemblent-ils ? L’adoption des technologies web a été relativement « rapide » à l’échelle historique, au sens où il a fallu environ deux à trois décennies pour que l’usage du web devienne largement répandu après l’émergence du premier navigateur web. Par contraste, selon les données de Sensor Tower rapportées par Reuters, l’application ChatGPT a atteint 1 milliard d’utilisateurs actifs mensuels dans le monde environ trois ans après la sortie de ChatGPT en novembre 2022. Conclusion Dans l’enseignement supérieur, il y a certainement du vrai dans le Gartner Hype Cycle : lorsque des chocs technologiques se produisent, un pic d’attentes exagérées se forme rapidement ; puis la poussière retombe, et un plateau de productivité est atteint, où universités et écoles absorbent l’innovation tandis que leurs caractéristiques fondamentales, vieilles de plusieurs siècles, restent complètement intactes : source : le Gartner Hype Cycle Peut-être que l’IA sera de même nature. Cela signifierait que dans 10 ans, en suivant le playbook de ce qui s’est produit avec les précédents chocs technologiques dans l’enseignement supérieur, on pourrait s’attendre à : des « experts en création visuelle par IA » dans les écoles d’art, des programmes « IA pour la finance » dans les business schools, des systèmes de planification augmentés par IA utilisés couramment par les équipes chargées de planification, des avatars IA faisant le travail des conseillers admissions, … et un-e professeur humain enseignant toujours à des étudiants humains, exactement comme cela se fait depuis des siècles. Mais nous avons établi plus haut que l’IA ne peut pas être comparée aux précédents chocs technologiques. Elle est plus profonde, plus large et plus rapide, et ses effets systémiques sont beaucoup plus importants. Pour cette raison, et c’est là que je veux m’arrêter : nous ne pouvons pas supposer sans risque que l’IA sera aussi « inoffensive » que le web et les autres chocs technologiques ayant affecté l’enseignement supérieur au cours des dernières décennies. À partir de là, nous pouvons entreprendre l’étude des contours de cet impact. Ce sera pour le prochain post ! À propos de moi Je suis enseignant-chercheur et développeur indépendant d’applications web. J’ai créé nocode functions, un outil point-and-click pour explorer des textes et des réseaux. Essayez-le et dites-moi ce que vous en pensez. Vos retours m’intéressent beaucoup ! Email : analysis@exploreyourdata.com Bluesky : @seinecle Blog : Lire d’autres articles sur le développement d’applications et l’exploration de données.]]></summary></entry><entry><title type="html">AI in higher ed: just like the shock of the Internet and the web?</title><link href="https://nocodefunctions.com/blog/higher-education-AI-web/" rel="alternate" type="text/html" title="AI in higher ed: just like the shock of the Internet and the web?" /><published>2026-07-01T00:00:00+00:00</published><updated>2026-07-01T00:00:00+00:00</updated><id>https://nocodefunctions.com/blog/higher-education-ai-web</id><content type="html" xml:base="https://nocodefunctions.com/blog/higher-education-AI-web/"><![CDATA[<p>AI is impacting higher education. What historical frames of reference are useful for imagining the contours of the consequences?</p>

<p>This blog post builds on the accumulation of <a href="https://nocodefunctions.com">my postings in the last 4 years</a> on the meanings and consequences of gen AI, right from <a href="https://nocodefunctions.com/blog/chatgpt-consequences/">a note on the significance of ChatGPT when it was released in 2022</a>.</p>

<p><a href="https://nocodefunctions.com/blog/enseignement-superieur-IA-web/">this blog post is also available in French</a></p>

<p>I am interested in a broad question — namely, the impact and consequences of AI on higher ed.
This blog post is a short side quest, where I first establish whether AI can be compared to previous tech shocks that impacted higher ed, and how so.
Because if AI is “just like MOOCs: vast expectations but limited impact”, then we have learned something interesting: AI is not much to bother about.
But that’s not the conclusion I’ll reach ;-)</p>

<h1 id="before-ai-3-notable-tech-shocks-to-higher-education">Before AI, 3 notable tech shocks to higher education</h1>

<p>Since 2000, higher ed has had its fair share of shocks that called for urgent adaptation:</p>

<h2 id="the-internet-and-the-web">The Internet and the web</h2>

<p>The web brought digital content production to independent individuals — everyone got a voice and access to a potential worldwide audience.
With YouTube, everyone could record a lecture and broadcast it.
Learning habits diversified with shorter attention spans, screen-first and mobile-first habits.
One question at the time was: would these changes sideline higher education organizations, since knowledge had become available for free, easily and from anywhere?</p>

<h2 id="big-data-and-data-science">Big data and data science</h2>

<p>Big data and data science opened up the prospect that personalized learning could replace standardized teaching at the group level.
Through the analysis of vast quantities of personal data, individual learning paths could be identified.
Algorithmically, or through machine learning, the adequate pedagogical resources could be identified to fit each student’s needs, progress rate and aspirations.</p>

<h2 id="moocs">MOOCs</h2>

<p>MOOCs promised to leverage the first two items (the web and big data) to transform education.
The web offers online teaching to a limitless audience, while big data and data science allow learning paths to be individualized, keeping individuals and a tailored pedagogical experience at the center despite massification.
A few companies tried to flesh out the promise: Coursera, edX, Udemy, Udacity, Khan Academy, …</p>

<p>The question at the time was: would universities be able to survive if online equivalents existed, available 24/7 and delivering certificates from Ivy League institutions at a fraction of the price and cost of a brick-and-mortar university?</p>

<h1 id="consequences-of-these-technological-shocks-much-ado-about-nothing">Consequences of these technological shocks: much ado about nothing</h1>

<p>I am deliberately painting it in broad strokes:</p>

<h2 id="the-internet-and-the-web-left-the-core-of-the-pedagogical-experience-surprisingly-untouched">The Internet and the web left the core of the pedagogical experience surprisingly untouched</h2>

<p>When compared to the direct, destructive effects the web continues to have on cultural organizations (the news media, the movie industry, bookstores, …), we can be surprised that higher education remains quite stable and unscathed by the web and the digital economy.</p>

<p>The core experience in higher education remains offline: courses taught by a professor in a classroom to a group of students.
Said differently: schools and universities have been transformed by web-era technologies (email, learning management systems, video conferencing, online recruitment systems, etc.), but these have transformed operations more than the basic classroom format.</p>

<p>Even touch-enabled smartboards (when present in a classroom) are used with moderation, in my experience. In sum, the web has been “absorbed” as yet another topic to be dissected in the classroom — rather than transforming the classroom.</p>

<h2 id="big-data-and-data-science-have-led-to-the-creation-of-specialized-courses-and-programs">Big data and data science have led to the creation of specialized courses and programs</h2>

<p>From around 2015 onward, most schools started developing programs offering a crossover between [<em>name a traditional domain</em>] x [<em>big data / data science / analytics</em>], just as they had introduced classes in [<em>digital</em>] x [<em>name a traditional domain</em>] a few years before.
This is a consequential change for sure; however, it did not modify the core missions or functions of higher education organizations.</p>

<p>This is quite “normal” and underwhelming compared to expectations about the transformative potential of big data: the promise was that it would make schools capable of designing individual learning paths thanks to data analytics on student data.
This promise has not been delivered at the scale once imagined. Learning analytics and adaptive tools exist, but they have not replaced the basic group-based structure of higher education.</p>

<h2 id="mooc-platforms-still-exist-but-schools-and-universities-are-fine">MOOC platforms still exist, but schools and universities are fine</h2>

<p>Coursera, Udemy, Udacity, edX and Khan Academy are still around, after many difficulties and restructurings.
They did not displace higher education organizations by any means, but instead address new, different, or overlapping but not fully coextensive segments of students.
Distance learning is a central feature of MOOCs and is indeed important, even vital, to higher ed, but that was revealed by the COVID pandemic (2020-2022) more than by MOOCs.
Traditional higher education organizations adapted to the pandemic swiftly by accelerating their investments in digital services (with Zoom having had its IPO in 2019 — lucky timing).</p>

<p>I experienced the shock of the emergence of the web in higher ed as a student, and I was an active participant in the two other shocks as a professor and program manager at emlyon business school from 2014 onward, initially under the leadership of Bernard Belletante.</p>

<p>Belletante is a visionary who anticipated these shocks and made sure they were translated into the programs and support services of the school.
The launch of new programs in data science, the creation of a Makers Lab, a new LMS, the de-siloing of academic departments, the recruitment of professors with new profiles, the adaptation of classrooms for hybrid learning, etc.: the school served students well by making all these changes in advance rather than in reaction to the shocks.</p>

<p>Among these three shocks, the development of the Internet and the web remains the one I would personally be most tempted to compare with AI, given the transformative effect the Internet and the web had on society in general. AI is set to have an impact at least as big.</p>

<blockquote>
  <p>And so, given the relatively weak impact the web has had on the core experience of learning and teaching (as discussed just above), a comparison between AI and the web could be illuminating.</p>
</blockquote>

<blockquote>
  <p><strong>Maybe AI will turn out to be as important as the web at the <em>societal</em> level, but with similarly “weaker than trumpeted” transformative effects on higher education itself?</strong></p>
</blockquote>

<h1 id="focus-on-the-web-as-a-historical-frame-of-reference-is-ai-the-same-kind-of-shock-to-higher-education">Focus on the web as a historical frame of reference: is AI the same kind of shock to higher education?</h1>

<p>Let’s state what I consider to be indisputable facts. The impact of AI is:</p>

<ul>
  <li><strong>profound</strong>: On a growing number of benchmarked cognitive tasks, frontier AI systems now meet or exceed human baselines.</li>
  <li><strong>broad</strong>: usage is widespread at school, in the workplace, in our personal lives, in governments and administrations, in arts and culture, in science, medicine and technology, in the conduct of war, etc.</li>
  <li><strong>systemic</strong>: AI is creating or intensifying environmental, geopolitical and societal imbalances.</li>
  <li><strong>rapid</strong>: it is July 2026 and ChatGPT was released in November 2022. So it all happened in less than four years, and the rate of development is accelerating, not slowing down.</li>
</ul>

<p>Let’s compare AI and the web: how do they compare in terms of the four dimensions laid out above?</p>

<h2 id="profound-shock-web-and-ai-alike"><u>Profound</u> shock: web and AI alike?</h2>

<p>The Internet and the web were definitely “profound” in nature, because they opened a space where new content and experiences could be created with low barriers in terms of cost, distance or authority. This created an explosion of digital services and transformed the offline world. But AI is a layer deeper. It does not merely expand the space where humans can express and develop their creativity, as the web did: it expands creativity itself.</p>

<p>Let’s develop this idea by coming back to higher education: the web has offered students access to new kinds of resources for learning, which made it easier for them to develop the corresponding skill. AI goes much deeper: AI can readily generate in a few minutes what a skilled student would have created in a few hours or days. This is not about offering more space for expression, or connecting spaces. <strong>It is about fundamentally changing the meaning of “expressing oneself”</strong>.</p>

<p>One can then legitimately wonder: what is the value, for a student, of learning and acquiring the skill? This question was not opened up in such a radical way by the emergence of the web.</p>

<h2 id="broad-shock-web-and-ai-alike"><u>Broad</u> shock: web and AI alike?</h2>

<p>The web can be said to be a very “broad” technology: it touches everything, in particular since we pack so much of our personal and professional lives into the smartphones we carry all day long. But there again, AI is broad at a more fundamental level.</p>

<p>LLMs have the capacity to emulate everything we ask them to be. Just as there is a conceptual gap between digital devices and analog mechanisms, LLMs introduce a new gap that sets them apart from “traditional” digital devices.</p>

<p>LLMs are still software, of course. But the service they provide is not akin to software that simply follows a predefined series of instructions (<a href="https://nocodefunctions.com/blog/chatgpt-consequences/">the argument is developed there</a>). Instead, they can be used for any purpose we set for them at the point of use: explaining a concept from any domain to undergrad students or to PhDs, for instance; helping a professor create the content of a class; or helping program officers review entire curricula.</p>

<p>AI is a “broader” shock than the web in this sense: the web had a broad impact, but AI is broader because it is a kind of nearly omnipotent thinking device.</p>

<h2 id="systemic-shock-web-and-ai-alike"><u>Systemic</u> shock: web and AI alike?</h2>

<p>The development of the Internet and the web at scale has had profound environmental, geopolitical and societal consequences (e.g., <a href="https://www.dukeupress.edu/finite-media">a</a>, <a href="https://yalebooks.yale.edu/book/9780300234176/twitter-and-tear-gas/">b</a>, <a href="https://www.hbs.edu/faculty/Pages/item.aspx?num=56791">c</a>). Yet it seems that AI has even more consequential effects.</p>

<p>Developing and running AI models necessitates data centers that consume large amounts of electricity, critical minerals and water.
The planned data-center capacity to be created in the next decade is widely discussed as putting other uses at risk.</p>

<p>AI models could also create unemployment among white-collar workers, and also among blue-collar workers when these AI models are used to augment robots with smart behavior, performing better and more cheaply than human operators would (<a href="https://www.ft.com/content/b1445598-e5e3-4530-9e82-e0155c44106b">taxi drivers</a>, <a href="https://www.ft.com/content/b4649cba-c74b-4cee-b342-0adf6c937705">factory workers</a>, …).</p>

<p>The Internet and the web do not run in a literal cloud, and access to the Internet and the web is certainly not free. The Internet rests on a physical infrastructure of data centers, cables, satellites, internet service providers, local and global authorities… and it all continues to require massive investments and maintenance costs by schools in what was called “digital transformation”, a transformation that never seems to come to an end.</p>

<p>Here again, AI seems to follow the same logic, but at a larger scale. To repay their investments in model training and infrastructure building, OpenAI and a few other major players in gen AI have started offering subscription services that range from free plans to a few hundred dollars per month, per individual.
With the spending rate of these big players accelerating, and with the <a href="https://gist.github.com/seinecle/689a53bceca96147a04e93bdc5f83940">multiplication of sophisticated AI services</a>, we can expect AI to open a new category of significant spending for schools.</p>

<p><em>NB: true, open-weight models can be acquired for free and run locally, but they tend to be associated with their own specific and significant costs, notably the cost of ownership of the IT infrastructure required to run these models and the human resources in charge of installation, maintenance, security, user onboarding, etc.</em></p>

<p>While the Internet remains relatively open across most borders (with major caveats: see China, Russia, etc. [<a href="https://harpercollins.co.in/press-release/smartthe-digital-century-by-frederic-martel-and-translated-by-sindhuja-veeraragavan/">Martel, 2018</a>]), AI services are created and distributed from two main regions: the United States and China. The release and rapid shutdown of Fable 5 by Anthropic in June 2026, following a US government directive that required Anthropic to restrict access for non-US citizens, makes the dynamics of access to frontier AI services feel quite different from the early open expansion of the web.</p>

<p>Europe has credible AI actors, notably Mistral AI in language models and Black Forest Labs in visual intelligence. But the frontier AI ecosystem remains much more concentrated in the United States and China than the open web ever was. This creates a dependency risk for European schools and universities.</p>

<p>AI models also increase the potential for harm in cyberattacks or in the design of bioweapons (<a href="https://the-coming-wave.com/">Suleyman, 2024</a>).
Finally, AI is considered by some to pose an existential risk to humanity itself, in plausible scenarios of loss of control, misuse, or misaligned objectives (<a href="https://www.cbsnews.com/news/godfather-of-ai-geoffrey-hinton-ai-warning/">Hinton, 2025</a>, <a href="https://aistatement.com/work/statement-on-ai-extinction-risk">AI Statement</a>).</p>

<p>The web, while not a calm and quiet innovation, certainly never amounted to this level of systemic risk.</p>

<h2 id="rapid-shock-web-and-ai-alike">Rapid shock: web and AI alike?</h2>

<p>The adoption of web technologies was relatively “rapid” on a historical timescale, in the sense that it took about two to three decades for web usage to become widespread after the emergence of the first web browser.
By contrast, according to <a href="https://www.reuters.com/technology/chatgpt-app-hits-1-billion-monthly-active-users-record-time-data-shows-2026-06-02/">Sensor Tower data reported by Reuters</a>, the ChatGPT app reached 1 billion monthly active users globally roughly three years after ChatGPT’s November 2022 release.</p>

<h1 id="conclusion">Conclusion</h1>

<p>In higher education, there is definitely some truth to the Gartner hype cycle: when tech shocks occur, a peak of inflated expectations forms quickly; then the dust settles, and a plateau of productivity is reached, where universities and schools absorb the innovation while their centuries-old defining features remain completely intact:</p>

<p><img width="384" height="249" alt="Gartner Hype Cycle" src="https://github.com/user-attachments/assets/ce9086db-5e53-47c1-97d2-c2ca10e4ca93" /></p>

<blockquote>
  <p>source: The <a href="https://en.wikipedia.org/wiki/Gartner_hype_cycle">Gartner Hype Cycle</a></p>
</blockquote>

<p>Maybe AI will be of the same sort.</p>

<p>That would mean that in 10 years’ time, following the playbook of what happened with previous tech shocks in higher ed, we could expect:</p>

<ul>
  <li>“Experts in AI visual creation” in schools of arts,</li>
  <li>“AI for finance” programs in business schools,</li>
  <li>AI-enabled scheduling systems used routinely by planning teams,</li>
  <li>AI avatars doing the job of admissions counselors,</li>
</ul>

<p>… and a human professor still teaching human students, exactly as has happened for centuries.</p>

<p>But we established above that AI cannot be compared to previous tech shocks. It is more profound, broad and rapid, and it has vastly more systemic effects.</p>

<p>For this reason, and that is where I want to stop: <strong>we can’t safely assume that AI will be as “innocuous” as the web and other tech shocks that have impacted higher ed in recent decades</strong>.</p>

<p>From there, we can embark on the study of the contours of this impact. This is for the next post!</p>

<hr />
<h1 id="about-me">About Me</h1>

<p>I’m an academic and independent web app developer. I created <a href="https://nocodefunctions.com">nocode functions</a>, a point-and-click tool for exploring texts and networks. Try it out and let me know what you think. I’d love your feedback!</p>

<ul>
  <li><strong>Email:</strong> <a href="mailto:analysis@exploreyourdata.com">analysis@exploreyourdata.com</a></li>
  <li><strong>Bluesky:</strong> <a href="https://bsky.app/profile/seinecle.bsky.social">@seinecle</a></li>
  <li><strong>Blog:</strong> <a href="https://nocodefunctions.com/blog">Read more articles</a> on app development and data exploration.</li>
</ul>]]></content><author><name></name></author><category term="ai" /><category term="higher ed" /><category term="mooc" /><category term="big data" /><category term="web" /><category term="Internet" /><summary type="html"><![CDATA[AI is impacting higher education. What historical frames of reference are useful for imagining the contours of the consequences? This blog post builds on the accumulation of my postings in the last 4 years on the meanings and consequences of gen AI, right from a note on the significance of ChatGPT when it was released in 2022. this blog post is also available in French I am interested in a broad question — namely, the impact and consequences of AI on higher ed. This blog post is a short side quest, where I first establish whether AI can be compared to previous tech shocks that impacted higher ed, and how so. Because if AI is “just like MOOCs: vast expectations but limited impact”, then we have learned something interesting: AI is not much to bother about. But that’s not the conclusion I’ll reach ;-) Before AI, 3 notable tech shocks to higher education Since 2000, higher ed has had its fair share of shocks that called for urgent adaptation: The Internet and the web The web brought digital content production to independent individuals — everyone got a voice and access to a potential worldwide audience. With YouTube, everyone could record a lecture and broadcast it. Learning habits diversified with shorter attention spans, screen-first and mobile-first habits. One question at the time was: would these changes sideline higher education organizations, since knowledge had become available for free, easily and from anywhere? Big data and data science Big data and data science opened up the prospect that personalized learning could replace standardized teaching at the group level. Through the analysis of vast quantities of personal data, individual learning paths could be identified. Algorithmically, or through machine learning, the adequate pedagogical resources could be identified to fit each student’s needs, progress rate and aspirations. MOOCs MOOCs promised to leverage the first two items (the web and big data) to transform education. The web offers online teaching to a limitless audience, while big data and data science allow learning paths to be individualized, keeping individuals and a tailored pedagogical experience at the center despite massification. A few companies tried to flesh out the promise: Coursera, edX, Udemy, Udacity, Khan Academy, … The question at the time was: would universities be able to survive if online equivalents existed, available 24/7 and delivering certificates from Ivy League institutions at a fraction of the price and cost of a brick-and-mortar university? Consequences of these technological shocks: much ado about nothing I am deliberately painting it in broad strokes: The Internet and the web left the core of the pedagogical experience surprisingly untouched When compared to the direct, destructive effects the web continues to have on cultural organizations (the news media, the movie industry, bookstores, …), we can be surprised that higher education remains quite stable and unscathed by the web and the digital economy. The core experience in higher education remains offline: courses taught by a professor in a classroom to a group of students. Said differently: schools and universities have been transformed by web-era technologies (email, learning management systems, video conferencing, online recruitment systems, etc.), but these have transformed operations more than the basic classroom format. Even touch-enabled smartboards (when present in a classroom) are used with moderation, in my experience. In sum, the web has been “absorbed” as yet another topic to be dissected in the classroom — rather than transforming the classroom. Big data and data science have led to the creation of specialized courses and programs From around 2015 onward, most schools started developing programs offering a crossover between [name a traditional domain] x [big data / data science / analytics], just as they had introduced classes in [digital] x [name a traditional domain] a few years before. This is a consequential change for sure; however, it did not modify the core missions or functions of higher education organizations. This is quite “normal” and underwhelming compared to expectations about the transformative potential of big data: the promise was that it would make schools capable of designing individual learning paths thanks to data analytics on student data. This promise has not been delivered at the scale once imagined. Learning analytics and adaptive tools exist, but they have not replaced the basic group-based structure of higher education. MOOC platforms still exist, but schools and universities are fine Coursera, Udemy, Udacity, edX and Khan Academy are still around, after many difficulties and restructurings. They did not displace higher education organizations by any means, but instead address new, different, or overlapping but not fully coextensive segments of students. Distance learning is a central feature of MOOCs and is indeed important, even vital, to higher ed, but that was revealed by the COVID pandemic (2020-2022) more than by MOOCs. Traditional higher education organizations adapted to the pandemic swiftly by accelerating their investments in digital services (with Zoom having had its IPO in 2019 — lucky timing). I experienced the shock of the emergence of the web in higher ed as a student, and I was an active participant in the two other shocks as a professor and program manager at emlyon business school from 2014 onward, initially under the leadership of Bernard Belletante. Belletante is a visionary who anticipated these shocks and made sure they were translated into the programs and support services of the school. The launch of new programs in data science, the creation of a Makers Lab, a new LMS, the de-siloing of academic departments, the recruitment of professors with new profiles, the adaptation of classrooms for hybrid learning, etc.: the school served students well by making all these changes in advance rather than in reaction to the shocks. Among these three shocks, the development of the Internet and the web remains the one I would personally be most tempted to compare with AI, given the transformative effect the Internet and the web had on society in general. AI is set to have an impact at least as big. And so, given the relatively weak impact the web has had on the core experience of learning and teaching (as discussed just above), a comparison between AI and the web could be illuminating. Maybe AI will turn out to be as important as the web at the societal level, but with similarly “weaker than trumpeted” transformative effects on higher education itself? Focus on the web as a historical frame of reference: is AI the same kind of shock to higher education? Let’s state what I consider to be indisputable facts. The impact of AI is: profound: On a growing number of benchmarked cognitive tasks, frontier AI systems now meet or exceed human baselines. broad: usage is widespread at school, in the workplace, in our personal lives, in governments and administrations, in arts and culture, in science, medicine and technology, in the conduct of war, etc. systemic: AI is creating or intensifying environmental, geopolitical and societal imbalances. rapid: it is July 2026 and ChatGPT was released in November 2022. So it all happened in less than four years, and the rate of development is accelerating, not slowing down. Let’s compare AI and the web: how do they compare in terms of the four dimensions laid out above? Profound shock: web and AI alike? The Internet and the web were definitely “profound” in nature, because they opened a space where new content and experiences could be created with low barriers in terms of cost, distance or authority. This created an explosion of digital services and transformed the offline world. But AI is a layer deeper. It does not merely expand the space where humans can express and develop their creativity, as the web did: it expands creativity itself. Let’s develop this idea by coming back to higher education: the web has offered students access to new kinds of resources for learning, which made it easier for them to develop the corresponding skill. AI goes much deeper: AI can readily generate in a few minutes what a skilled student would have created in a few hours or days. This is not about offering more space for expression, or connecting spaces. It is about fundamentally changing the meaning of “expressing oneself”. One can then legitimately wonder: what is the value, for a student, of learning and acquiring the skill? This question was not opened up in such a radical way by the emergence of the web. Broad shock: web and AI alike? The web can be said to be a very “broad” technology: it touches everything, in particular since we pack so much of our personal and professional lives into the smartphones we carry all day long. But there again, AI is broad at a more fundamental level. LLMs have the capacity to emulate everything we ask them to be. Just as there is a conceptual gap between digital devices and analog mechanisms, LLMs introduce a new gap that sets them apart from “traditional” digital devices. LLMs are still software, of course. But the service they provide is not akin to software that simply follows a predefined series of instructions (the argument is developed there). Instead, they can be used for any purpose we set for them at the point of use: explaining a concept from any domain to undergrad students or to PhDs, for instance; helping a professor create the content of a class; or helping program officers review entire curricula. AI is a “broader” shock than the web in this sense: the web had a broad impact, but AI is broader because it is a kind of nearly omnipotent thinking device. Systemic shock: web and AI alike? The development of the Internet and the web at scale has had profound environmental, geopolitical and societal consequences (e.g., a, b, c). Yet it seems that AI has even more consequential effects. Developing and running AI models necessitates data centers that consume large amounts of electricity, critical minerals and water. The planned data-center capacity to be created in the next decade is widely discussed as putting other uses at risk. AI models could also create unemployment among white-collar workers, and also among blue-collar workers when these AI models are used to augment robots with smart behavior, performing better and more cheaply than human operators would (taxi drivers, factory workers, …). The Internet and the web do not run in a literal cloud, and access to the Internet and the web is certainly not free. The Internet rests on a physical infrastructure of data centers, cables, satellites, internet service providers, local and global authorities… and it all continues to require massive investments and maintenance costs by schools in what was called “digital transformation”, a transformation that never seems to come to an end. Here again, AI seems to follow the same logic, but at a larger scale. To repay their investments in model training and infrastructure building, OpenAI and a few other major players in gen AI have started offering subscription services that range from free plans to a few hundred dollars per month, per individual. With the spending rate of these big players accelerating, and with the multiplication of sophisticated AI services, we can expect AI to open a new category of significant spending for schools. NB: true, open-weight models can be acquired for free and run locally, but they tend to be associated with their own specific and significant costs, notably the cost of ownership of the IT infrastructure required to run these models and the human resources in charge of installation, maintenance, security, user onboarding, etc. While the Internet remains relatively open across most borders (with major caveats: see China, Russia, etc. [Martel, 2018]), AI services are created and distributed from two main regions: the United States and China. The release and rapid shutdown of Fable 5 by Anthropic in June 2026, following a US government directive that required Anthropic to restrict access for non-US citizens, makes the dynamics of access to frontier AI services feel quite different from the early open expansion of the web. Europe has credible AI actors, notably Mistral AI in language models and Black Forest Labs in visual intelligence. But the frontier AI ecosystem remains much more concentrated in the United States and China than the open web ever was. This creates a dependency risk for European schools and universities. AI models also increase the potential for harm in cyberattacks or in the design of bioweapons (Suleyman, 2024). Finally, AI is considered by some to pose an existential risk to humanity itself, in plausible scenarios of loss of control, misuse, or misaligned objectives (Hinton, 2025, AI Statement). The web, while not a calm and quiet innovation, certainly never amounted to this level of systemic risk. Rapid shock: web and AI alike? The adoption of web technologies was relatively “rapid” on a historical timescale, in the sense that it took about two to three decades for web usage to become widespread after the emergence of the first web browser. By contrast, according to Sensor Tower data reported by Reuters, the ChatGPT app reached 1 billion monthly active users globally roughly three years after ChatGPT’s November 2022 release. Conclusion In higher education, there is definitely some truth to the Gartner hype cycle: when tech shocks occur, a peak of inflated expectations forms quickly; then the dust settles, and a plateau of productivity is reached, where universities and schools absorb the innovation while their centuries-old defining features remain completely intact: source: The Gartner Hype Cycle Maybe AI will be of the same sort. That would mean that in 10 years’ time, following the playbook of what happened with previous tech shocks in higher ed, we could expect: “Experts in AI visual creation” in schools of arts, “AI for finance” programs in business schools, AI-enabled scheduling systems used routinely by planning teams, AI avatars doing the job of admissions counselors, … and a human professor still teaching human students, exactly as has happened for centuries. But we established above that AI cannot be compared to previous tech shocks. It is more profound, broad and rapid, and it has vastly more systemic effects. For this reason, and that is where I want to stop: we can’t safely assume that AI will be as “innocuous” as the web and other tech shocks that have impacted higher ed in recent decades. From there, we can embark on the study of the contours of this impact. This is for the next post! About Me I’m an academic and independent web app developer. I created nocode functions, a point-and-click tool for exploring texts and networks. Try it out and let me know what you think. I’d love your feedback! Email: analysis@exploreyourdata.com Bluesky: @seinecle Blog: Read more articles on app development and data exploration.]]></summary></entry><entry><title type="html">Trois manières de coder avec des agents IA</title><link href="https://nocodefunctions.com/blog/coder-avec-agents-IA/" rel="alternate" type="text/html" title="Trois manières de coder avec des agents IA" /><published>2026-05-29T00:00:00+00:00</published><updated>2026-05-29T00:00:00+00:00</updated><id>https://nocodefunctions.com/blog/agents-IA-pour-coder</id><content type="html" xml:base="https://nocodefunctions.com/blog/coder-avec-agents-IA/"><![CDATA[<p>Une définition raisonnable d’un « agent IA », au moins dans le contexte du codage agentique, pourrait être la suivante :</p>

<ul>
  <li>un processus logiciel doté des capacités d’un LLM</li>
  <li>lancé avec des instructions données au départ pour accomplir une tâche</li>
  <li>qui s’exécute de manière autonome (pas de session interactive avec un humain), pendant une période significative</li>
  <li>avec un comportement non déterministe : l’agent s’adapte aux circonstances, si possible sans s’écarter des instructions qu’il a reçues</li>
</ul>

<p>Ces processus logiciels (agents) peuvent être lancés en parallèle afin d’obtenir des résultats plus rapidement ou d’accomplir un plus grand nombre de tâches : le même agent lancé en plusieurs exemplaires, ou bien une variété d’agents lancés en même temps.</p>

<p>Pour accomplir une tâche, un processus peut être amené à lancer d’autres processus, des sous-processus, etc.
Cela évoque des images de cascades, d’armées ou d’essaims d’agents qui se coordonnent de manière décentralisée (sans humain dans la boucle) pour accomplir une tâche.</p>

<p>Pourtant, en pratique, le terme « agents » est souvent utilisé sans rapport avec la définition ci-dessus.
Peut-être pour paraître à jour et sophistiqué, « agents » peut en réalité désigner une simple conversation ChatGPT dans laquelle l’utilisateur a écrit, par exemple : « tu agis comme un <strong>agent</strong> fiscal professionnel et, dans ce qui suit, je veux que tu m’aides à remplir ma déclaration d’impôts » 🤷‍♂️.</p>

<p>Pieter Levels, qui a tendance à parler franchement de code et d’IA, partageait ce sentiment à l’été 2025 :</p>

<blockquote class="twitter-tweet"><p lang="en" dir="ltr">If I hear people talk about &quot;AI agents&quot; these days it&#39;s generally a red flag and I know they&#39;re non-technical ppl reading AI news but not actually shipping anything<br /><br />Not cause I don&#39;t believe in AI agents but it&#39;s such a marketing term with no real meaning at this point</p>&mdash; @levelsio (@levelsio) <a href="https://x.com/levelsio/status/1953125500492128766?ref_src=twsrc%5Etfw">August 6, 2025</a></blockquote>

<p><strong>Nous approchons maintenant de l’été 2026 : les choses ont-elles beaucoup changé ?</strong></p>

<p>Dans ma pratique du code, j’ai exploré plusieurs façons de faire du codage agentique qui correspondent vraiment à la définition proposée ci-dessus, plutôt que de simplement en donner l’apparence.</p>

<p>Voici les 3 approches que j’ai testées :</p>

<h1 id="approche-1--lancer-plusieurs-interfaces-en-ligne-de-commande">Approche 1 : lancer plusieurs interfaces en ligne de commande</h1>

<p>Je pratique cette approche depuis quelques mois :</p>

<ul>
  <li>ouvrir une session SSH vers mon serveur</li>
  <li>lancer <a href="https://developers.openai.com/codex/cli">Codex CLI</a> dans cette session</li>
  <li>demander à GPT d’accomplir une tâche, pour cela j’écris simplement un prompt qui décrit cette tâche</li>
  <li>ouvrir une deuxième session SSH vers mon serveur</li>
  <li>lancer <a href="https://developers.openai.com/codex/cli">Codex CLI</a> dans cette session</li>
  <li>demander à GPT d’accomplir une deuxième tâche, pour cela j’écris simplement un prompt qui décrit cette tâche</li>
  <li>et cette méthode peut se répèter à l’infini.</li>
</ul>

<p>Honnêtement, cela fonctionne assez bien.
C’est extrêmement low-tech, comme vous pouvez le voir.
Cela signifie aussi que vous pouvez lancer <a href="https://claude.com/fr/product/claude-code">Claude Code</a> dans une session, Codex CLI dans une autre, <a href="https://geminicli.com/">Gemini CLI</a> dans une troisième… et donc répartir votre consommation de tokens entre plusieurs fournisseurs d’IA en parallèle, ce qui fait qu’on atteint moins vite sa limite de budget en tokens chez un fournisseur donné.</p>

<h1 id="approche-2--lancer-des-cli-ia-en-mode-headless">Approche 2 : lancer des CLI IA en mode headless</h1>
<p>J’ai utilisé cette deuxième approche pour écrire des crawlers pour plus de 200 pages web différentes.
Évidemment, avec 200 crawlers à créer, cela aurait été beaucoup trop ennuyeux à faire avec l’approche 1 décrite juste au-dessus.
ChatGPT m’a guidé tout au long de la mise en œuvre de cette nouvelle approche. La logique de base est la suivante :</p>

<ul>
  <li>un fichier JSON contenant les paramètres des 200 sites web (URLs et quelques autres détails).</li>
  <li>un script Bash (appelons-le « A ») capable de lancer un LLM via une interface en ligne de commande (une IA en CLI comme faisait l’approche 1), <em>en mode headless</em>. Headless signifie que le LLM, une fois lancé avec le prompt que vous lui avez donné, s’exécutera jusqu’à ce qu’il ait terminé la tâche, sans s’interrompre pour vous demander une permission, un retour ou une suite. Pour cela, j’utilise le <a href="https://developers.openai.com/codex/noninteractive"><code class="language-plaintext highlighter-rouge">flag exec</code> de Codex CLI qui déclenche le mode headless</a>. Le script A contient également le prompt qui sera donné au LLM au moment de son lancement. Le prompt est un morceau de texte avec des placeholders à des endroits clés, qui sont remplacés par les informations réelles liées au site web spécifique à crawler. Le prompt demande essentiellement au LLM d’écrire un crawler pour ce site web.</li>
  <li>un autre script (le script « B ») qui prend 20 sites web dans le fichier JSON et exécute le script A pour chacun d’eux. Les placeholders du script A sont remplacés par les informations du site web à crawler, ce qui signifie que le crawler créé par le LLM sera spécifique à ce site web.</li>
  <li>je lance le script B, je vérifie qu’il fonctionne correctement, puis je le relance avec 20 autres sites web, etc., jusqu’à avoir traité 200 sites web de cette manière.</li>
</ul>

<p>Je vous montre le script A (script écrit par ChatGPT) pour illustrer en quoi cette approche 2 implique bien plus de complexité que l’approche 1 :</p>

<p><a href="https://github.com/seinecle/blog/blob/main/assets/data/script-A">ouvrir le script A</a></p>

<p>Cette approche fonctionne bien.
Ce n’est pas aussi simple que « lancer le script B et obtenir 200 crawlers écrits en une heure », mais on n’en est pas si loin.</p>

<p>Si vous avez la patience de lire un peu le script A ci-dessus, vous verrez que le LLM a aussi pour tâche d’écrire des tests unitaires pour chaque crawler qu’il crée !
Comme on peut s’y attendre, ces tests ne passent pas toujours, ce qui ralentit un peu les choses.
Mais c’est pour une bonne raison : faire le travail supplémentaire nécessaire pour obtenir des tests qui passent signifie que les crawlers seront plus fiables.</p>

<p>Avec cette approche, je m’attends à avoir mes 200 crawlers prêts dans les prochains jours, avec un chemin assez simple pour monter ensuite à plusieurs centaines de plus.</p>

<h1 id="approche-3--demander-à-un-llm-de-créer-et-de-gérer-lui-même-ses-sous-agents">Approche 3 : demander à un LLM de créer et de gérer lui-même ses sous-agents</h1>

<p>L’approche 2 était vraiment très orientée Bash et Unix : ca demande du travail de maintenance de scripts.
Pourquoi ne pas demander à un LLM de lancer lui-même des agents, en suivant mes instructions ?
C’est ce que toutes les solutions promettent aujourd’hui :</p>

<ul>
  <li>Cursor vous invite à <a href="https://web.archive.org/web/20260528201253/https://cursor.com/product">“déléguer l’implémentation pour se concentrer sur la direction de haut niveau”</a></li>
  <li>Codex propose des <a href="https://web.archive.org/web/20260524042439/https://developers.openai.com/codex/subagents">“sub-agents”</a> que vous pouvez orchestrer</li>
  <li>Antigravity de Google propose d’<a href="https://perma.cc/4S83-LRM3">“orchestrer de multiples agents autonomes travaillant en parallèle sur des projets indépendants”</a></li>
  <li>Claude Code peut créer des <a href="https://web.archive.org/web/20260528082943/https://code.claude.com/docs/en/sub-agents">“sous-agents personnalisés”</a> pour vous.</li>
</ul>

<p>Mon avis : probablement, mais pas aujourd’hui.
Demander à un agent de déléguer à des sous-agents signifie que vous êtes à deux niveaux de distance du travail réel.
Les incohérences, les mauvais choix, les erreurs critiques … seront plus difficiles à repérer.
L’interruption puis la reprise du travail d’un sous-agent donné ne sont pas simples.
Et vous devenez dépendant d’une solution : mon IA de prédilection ces temps-ci est GPT 5.5, et elle serait hors limites si je choisissais une solution agentique qui n’est pas développée par son entreprise, OpenAI.</p>

<blockquote>
  <p>Pour ces raisons, et jusqu’à preuve du contraire, je vais m’en tenir à l’approche 2 (et même à l’approche 1 dans les cas simples) décrite ci-dessus.</p>
</blockquote>

<h1 id="avons-nous-vraiment-besoin-dagents-">Avons-nous vraiment besoin d’agents ?</h1>

<p>La plupart du temps, <em>non</em>.
Voici <a href="https://www.linkedin.com/in/emollick/">Ethan Mollick</a> en train de créer une application web complète et fonctionnelle avec un seul prompt et 4 relances, pour un total de moins de 20 lignes :</p>

<blockquote class="twitter-tweet"><p lang="en" dir="ltr">How lucky are you to have been born when and where you are?<br /><br />Had Opus 4.8 in Claude Code whip up a new visualization of all humans who ever lived. In addition to being neat, it is an interesting test of combining research, code, design and stats for an AI. <a href="https://t.co/ayNEdhSLy3">https://t.co/ayNEdhSLy3</a> <a href="https://t.co/Ny2NmICZsK">pic.twitter.com/Ny2NmICZsK</a></p>&mdash; Ethan Mollick (@emollick) <a href="https://x.com/emollick/status/2060165879908749490?ref_src=twsrc%5Etfw">May 29, 2026</a></blockquote>

<p>Il n’a pas eu besoin de développer une approche agentique, les prompts ont suffit.</p>

<p>Un autre exemple est le site développé par ma fille : une <a href="https://www.daebias.com/">plateforme e-commerce complète</a>.
Développée sans technologie sophistiquée ni échafaudage agentique. Juste des prompts (et beaucoup de travail).</p>

<p>Vous avez probablement aussi remarqué que, dans les conversations avec des LLMs où nous leur demandons de chercher de l’information, ces LLMs peuvent choisir de lancer des recherches sur différents sites web, chaque recherche étant effectuée par son propre agent.
Cela les aide à accélérer leur recherche et à couvrir davantage de terrain en réponse à votre demande.</p>

<p>Je dirais donc que, dans la plupart des cas, nous n’avons pas besoin d’agents, même pour des tâches complexes, parce que les LLMs fonctionnent très bien sans eux.
Et si des agents sont utiles, alors les LLMs lancent leurs propres agents et les gèrent sous le capot.</p>

<h1 id="cerise-sur-le-gâteau--les-agents-qui-se-marchent-sur-les-pieds">Cerise sur le gâteau : les agents qui se marchent sur les pieds</h1>

<p>Le sujet est peu glamour et ce billet est déjà trop long, donc je serai bref : plusieurs agents qui écrivent simultanément dans votre codebase vont se marcher sur les pieds.
S’ils modifient le même fichier, il y a de fortes chances que le fichier résultant soit un désastre.</p>

<p>Le remède consiste à faire travailler chaque agent sur une <a href="https://www.w3schools.com/GIT/git_branch.asp">branche git</a> différente, puis à procéder à un <em>merge</em> de ces branches dans la branche principale une fois que tous les agents ont terminé.
C’est aussi un bazar : que se passe-t-il si le <em>merge</em> échoue ? (et bien sûr, il échouera).
J’ai essayé cette approche, et elle est fastidieuse, crispante, et vous donne vite envie d’abandonner l’approche multi-agent.</p>

<p>Alors comment ai-je fait, dans l’approche 2, pour créer des dizaines de crawlers sans que les agents ne se rentrent dedans ?</p>

<p>J’ai d’abord mené un important travail préparatoire sur un seul crawler, en m’assurant qu’il fonctionnait en parfaite isolation par rapport aux autres.
Ce n’est pas une tâche facile quand on veut malgré tout suivre le principe DRY (<em>don’t repeat yourself</em>) en programmation.
Ce n’est qu’à la condition que chaque crawler soit parfaitement isolé que vous pouvez faire travailler simultanément des dizaines d’agents sur des fichiers source sans créer de désastre.</p>

<p>Si vous remontez dans cet article et regardez le script Bash que j’ai partagé, vous verrez que ChatGPT m’a également conseillé sur ce point, en ajoutant des blocages stricts dans le prompt, de sorte que chaque agent se voit explicitement interdire de toucher aux fichiers qui ne sont pas dans le périmètre de son travail.</p>

<h1 id="prochaines-étapes">Prochaines étapes</h1>

<p>Passer de dizaines de crawlers écrits avec l’approche 2 à des centaines de crawlers.
Puis les exécuter.
Devenir suffisamment compétent dans ce setup multi-agent « fait maison » pour pouvoir le reproduire ailleurs, quand et si j’en ai besoin.</p>

<h1 id="et-vous-">Et vous ?</h1>

<p>Quel setup multi-agent fonctionne pour vous ? Ou bien restez-vous sans agent ?</p>

<hr />

<h1 id="à-propos-de-moi">À propos de moi</h1>

<p>Je suis universitaire et développeur indépendant d’applications web. J’ai créé <a href="https://nocodefunctions.com">nocode functions</a>, un outil point-and-click pour explorer des textes et des réseaux. Essayez-le et dites-moi ce que vous en pensez. Vos retours m’intéressent beaucoup !</p>

<ul>
  <li><strong>Email :</strong> <a href="mailto:analysis@exploreyourdata.com">analysis@exploreyourdata.com</a></li>
  <li><strong>Bluesky :</strong> <a href="https://bsky.app/profile/seinecle.bsky.social">@seinecle</a></li>
  <li><strong>Blog :</strong> <a href="https://nocodefunctions.com/blog">Lire d’autres articles</a> sur le développement d’applications et l’exploration de données.</li>
</ul>]]></content><author><name></name></author><category term="ia" /><category term="productivité" /><category term="coding" /><category term="développement" /><category term="agentic" /><category term="agentique" /><summary type="html"><![CDATA[Une définition raisonnable d’un « agent IA », au moins dans le contexte du codage agentique, pourrait être la suivante : un processus logiciel doté des capacités d’un LLM lancé avec des instructions données au départ pour accomplir une tâche qui s’exécute de manière autonome (pas de session interactive avec un humain), pendant une période significative avec un comportement non déterministe : l’agent s’adapte aux circonstances, si possible sans s’écarter des instructions qu’il a reçues Ces processus logiciels (agents) peuvent être lancés en parallèle afin d’obtenir des résultats plus rapidement ou d’accomplir un plus grand nombre de tâches : le même agent lancé en plusieurs exemplaires, ou bien une variété d’agents lancés en même temps. Pour accomplir une tâche, un processus peut être amené à lancer d’autres processus, des sous-processus, etc. Cela évoque des images de cascades, d’armées ou d’essaims d’agents qui se coordonnent de manière décentralisée (sans humain dans la boucle) pour accomplir une tâche. Pourtant, en pratique, le terme « agents » est souvent utilisé sans rapport avec la définition ci-dessus. Peut-être pour paraître à jour et sophistiqué, « agents » peut en réalité désigner une simple conversation ChatGPT dans laquelle l’utilisateur a écrit, par exemple : « tu agis comme un agent fiscal professionnel et, dans ce qui suit, je veux que tu m’aides à remplir ma déclaration d’impôts » 🤷‍♂️. Pieter Levels, qui a tendance à parler franchement de code et d’IA, partageait ce sentiment à l’été 2025 : If I hear people talk about &quot;AI agents&quot; these days it&#39;s generally a red flag and I know they&#39;re non-technical ppl reading AI news but not actually shipping anythingNot cause I don&#39;t believe in AI agents but it&#39;s such a marketing term with no real meaning at this point&mdash; @levelsio (@levelsio) August 6, 2025 Nous approchons maintenant de l’été 2026 : les choses ont-elles beaucoup changé ? Dans ma pratique du code, j’ai exploré plusieurs façons de faire du codage agentique qui correspondent vraiment à la définition proposée ci-dessus, plutôt que de simplement en donner l’apparence. Voici les 3 approches que j’ai testées : Approche 1 : lancer plusieurs interfaces en ligne de commande Je pratique cette approche depuis quelques mois : ouvrir une session SSH vers mon serveur lancer Codex CLI dans cette session demander à GPT d’accomplir une tâche, pour cela j’écris simplement un prompt qui décrit cette tâche ouvrir une deuxième session SSH vers mon serveur lancer Codex CLI dans cette session demander à GPT d’accomplir une deuxième tâche, pour cela j’écris simplement un prompt qui décrit cette tâche et cette méthode peut se répèter à l’infini. Honnêtement, cela fonctionne assez bien. C’est extrêmement low-tech, comme vous pouvez le voir. Cela signifie aussi que vous pouvez lancer Claude Code dans une session, Codex CLI dans une autre, Gemini CLI dans une troisième… et donc répartir votre consommation de tokens entre plusieurs fournisseurs d’IA en parallèle, ce qui fait qu’on atteint moins vite sa limite de budget en tokens chez un fournisseur donné. Approche 2 : lancer des CLI IA en mode headless J’ai utilisé cette deuxième approche pour écrire des crawlers pour plus de 200 pages web différentes. Évidemment, avec 200 crawlers à créer, cela aurait été beaucoup trop ennuyeux à faire avec l’approche 1 décrite juste au-dessus. ChatGPT m’a guidé tout au long de la mise en œuvre de cette nouvelle approche. La logique de base est la suivante : un fichier JSON contenant les paramètres des 200 sites web (URLs et quelques autres détails). un script Bash (appelons-le « A ») capable de lancer un LLM via une interface en ligne de commande (une IA en CLI comme faisait l’approche 1), en mode headless. Headless signifie que le LLM, une fois lancé avec le prompt que vous lui avez donné, s’exécutera jusqu’à ce qu’il ait terminé la tâche, sans s’interrompre pour vous demander une permission, un retour ou une suite. Pour cela, j’utilise le flag exec de Codex CLI qui déclenche le mode headless. Le script A contient également le prompt qui sera donné au LLM au moment de son lancement. Le prompt est un morceau de texte avec des placeholders à des endroits clés, qui sont remplacés par les informations réelles liées au site web spécifique à crawler. Le prompt demande essentiellement au LLM d’écrire un crawler pour ce site web. un autre script (le script « B ») qui prend 20 sites web dans le fichier JSON et exécute le script A pour chacun d’eux. Les placeholders du script A sont remplacés par les informations du site web à crawler, ce qui signifie que le crawler créé par le LLM sera spécifique à ce site web. je lance le script B, je vérifie qu’il fonctionne correctement, puis je le relance avec 20 autres sites web, etc., jusqu’à avoir traité 200 sites web de cette manière. Je vous montre le script A (script écrit par ChatGPT) pour illustrer en quoi cette approche 2 implique bien plus de complexité que l’approche 1 : ouvrir le script A Cette approche fonctionne bien. Ce n’est pas aussi simple que « lancer le script B et obtenir 200 crawlers écrits en une heure », mais on n’en est pas si loin. Si vous avez la patience de lire un peu le script A ci-dessus, vous verrez que le LLM a aussi pour tâche d’écrire des tests unitaires pour chaque crawler qu’il crée ! Comme on peut s’y attendre, ces tests ne passent pas toujours, ce qui ralentit un peu les choses. Mais c’est pour une bonne raison : faire le travail supplémentaire nécessaire pour obtenir des tests qui passent signifie que les crawlers seront plus fiables. Avec cette approche, je m’attends à avoir mes 200 crawlers prêts dans les prochains jours, avec un chemin assez simple pour monter ensuite à plusieurs centaines de plus. Approche 3 : demander à un LLM de créer et de gérer lui-même ses sous-agents L’approche 2 était vraiment très orientée Bash et Unix : ca demande du travail de maintenance de scripts. Pourquoi ne pas demander à un LLM de lancer lui-même des agents, en suivant mes instructions ? C’est ce que toutes les solutions promettent aujourd’hui : Cursor vous invite à “déléguer l’implémentation pour se concentrer sur la direction de haut niveau” Codex propose des “sub-agents” que vous pouvez orchestrer Antigravity de Google propose d’“orchestrer de multiples agents autonomes travaillant en parallèle sur des projets indépendants” Claude Code peut créer des “sous-agents personnalisés” pour vous. Mon avis : probablement, mais pas aujourd’hui. Demander à un agent de déléguer à des sous-agents signifie que vous êtes à deux niveaux de distance du travail réel. Les incohérences, les mauvais choix, les erreurs critiques … seront plus difficiles à repérer. L’interruption puis la reprise du travail d’un sous-agent donné ne sont pas simples. Et vous devenez dépendant d’une solution : mon IA de prédilection ces temps-ci est GPT 5.5, et elle serait hors limites si je choisissais une solution agentique qui n’est pas développée par son entreprise, OpenAI. Pour ces raisons, et jusqu’à preuve du contraire, je vais m’en tenir à l’approche 2 (et même à l’approche 1 dans les cas simples) décrite ci-dessus. Avons-nous vraiment besoin d’agents ? La plupart du temps, non. Voici Ethan Mollick en train de créer une application web complète et fonctionnelle avec un seul prompt et 4 relances, pour un total de moins de 20 lignes : How lucky are you to have been born when and where you are?Had Opus 4.8 in Claude Code whip up a new visualization of all humans who ever lived. In addition to being neat, it is an interesting test of combining research, code, design and stats for an AI. https://t.co/ayNEdhSLy3 pic.twitter.com/Ny2NmICZsK&mdash; Ethan Mollick (@emollick) May 29, 2026 Il n’a pas eu besoin de développer une approche agentique, les prompts ont suffit. Un autre exemple est le site développé par ma fille : une plateforme e-commerce complète. Développée sans technologie sophistiquée ni échafaudage agentique. Juste des prompts (et beaucoup de travail). Vous avez probablement aussi remarqué que, dans les conversations avec des LLMs où nous leur demandons de chercher de l’information, ces LLMs peuvent choisir de lancer des recherches sur différents sites web, chaque recherche étant effectuée par son propre agent. Cela les aide à accélérer leur recherche et à couvrir davantage de terrain en réponse à votre demande. Je dirais donc que, dans la plupart des cas, nous n’avons pas besoin d’agents, même pour des tâches complexes, parce que les LLMs fonctionnent très bien sans eux. Et si des agents sont utiles, alors les LLMs lancent leurs propres agents et les gèrent sous le capot. Cerise sur le gâteau : les agents qui se marchent sur les pieds Le sujet est peu glamour et ce billet est déjà trop long, donc je serai bref : plusieurs agents qui écrivent simultanément dans votre codebase vont se marcher sur les pieds. S’ils modifient le même fichier, il y a de fortes chances que le fichier résultant soit un désastre. Le remède consiste à faire travailler chaque agent sur une branche git différente, puis à procéder à un merge de ces branches dans la branche principale une fois que tous les agents ont terminé. C’est aussi un bazar : que se passe-t-il si le merge échoue ? (et bien sûr, il échouera). J’ai essayé cette approche, et elle est fastidieuse, crispante, et vous donne vite envie d’abandonner l’approche multi-agent. Alors comment ai-je fait, dans l’approche 2, pour créer des dizaines de crawlers sans que les agents ne se rentrent dedans ? J’ai d’abord mené un important travail préparatoire sur un seul crawler, en m’assurant qu’il fonctionnait en parfaite isolation par rapport aux autres. Ce n’est pas une tâche facile quand on veut malgré tout suivre le principe DRY (don’t repeat yourself) en programmation. Ce n’est qu’à la condition que chaque crawler soit parfaitement isolé que vous pouvez faire travailler simultanément des dizaines d’agents sur des fichiers source sans créer de désastre. Si vous remontez dans cet article et regardez le script Bash que j’ai partagé, vous verrez que ChatGPT m’a également conseillé sur ce point, en ajoutant des blocages stricts dans le prompt, de sorte que chaque agent se voit explicitement interdire de toucher aux fichiers qui ne sont pas dans le périmètre de son travail. Prochaines étapes Passer de dizaines de crawlers écrits avec l’approche 2 à des centaines de crawlers. Puis les exécuter. Devenir suffisamment compétent dans ce setup multi-agent « fait maison » pour pouvoir le reproduire ailleurs, quand et si j’en ai besoin. Et vous ? Quel setup multi-agent fonctionne pour vous ? Ou bien restez-vous sans agent ? À propos de moi Je suis universitaire et développeur indépendant d’applications web. J’ai créé nocode functions, un outil point-and-click pour explorer des textes et des réseaux. Essayez-le et dites-moi ce que vous en pensez. Vos retours m’intéressent beaucoup ! Email : analysis@exploreyourdata.com Bluesky : @seinecle Blog : Lire d’autres articles sur le développement d’applications et l’exploration de données.]]></summary></entry><entry><title type="html">Three flavors of coding with AI agents</title><link href="https://nocodefunctions.com/blog/three-flavors-agentic-coding/" rel="alternate" type="text/html" title="Three flavors of coding with AI agents" /><published>2026-05-29T00:00:00+00:00</published><updated>2026-05-29T00:00:00+00:00</updated><id>https://nocodefunctions.com/blog/flavors-agentic</id><content type="html" xml:base="https://nocodefunctions.com/blog/three-flavors-agentic-coding/"><![CDATA[<p>A reasonable definition of an “AI agent”, at least in the context of agentic coding, could be:</p>

<ul>
  <li>a software process endowed with the capabilities of an LLM</li>
  <li>launched with instructions given at the start to accomplish a task</li>
  <li>which runs autonomously (no interactive session with a human), for a significant period of time</li>
  <li>with non-deterministic behavior: the agent adapts to the circumstances, hopefully without deviating from the instructions it received</li>
</ul>

<p>These software processes (agents) can be launched in parallel to achieve faster results or to accomplish a larger number of tasks:  same process launched in multiple copies, or a variety of processes launched at once.</p>

<p>Not a necessity but logical next step: to accomplish a task, a process can be led to launch other processes, subprocesses, etc. This evokes images of cascades, armies, or swarms of agents coordinating in a decentralized manner (no human in the loop) to accomplish a task.</p>

<p>Yet, in practice, “agents” is often used with no relation to the definition above. Possibly to sound up-to-date and sophisticated, “agents” might in reality designate a ChatGPT conversation where the user prompted “you are acting like a professional tax <strong>agent</strong> and in the following, I want you to help me fill in my tax declaration” 🤷‍♂️.</p>

<p>Pieter Levels, who tends to speak frankly about coding and AI matters, shared this feeling in summer 2025:</p>

<blockquote class="twitter-tweet"><p lang="en" dir="ltr">If I hear people talk about &quot;AI agents&quot; these days it&#39;s generally a red flag and I know they&#39;re non-technical ppl reading AI news but not actually shipping anything<br /><br />Not cause I don&#39;t believe in AI agents but it&#39;s such a marketing term with no real meaning at this point</p>&mdash; @levelsio (@levelsio) <a href="https://x.com/levelsio/status/1953125500492128766?ref_src=twsrc%5Etfw">August 6, 2025</a></blockquote>

<p><strong>We are now approaching summer 2026, have things changed much?</strong></p>

<p>In my coding practice, I explored several ways to do agentic coding that would live up to the definition proposed above, and not masquerade for it.</p>

<p>Here are 3 flavors I tried:</p>

<h1 id="flavor-1-launching-multiple-command-line-interfaces">Flavor 1: launching multiple command line interfaces</h1>
<p>I did that for a while:</p>

<ul>
  <li>open an SSH session to my server</li>
  <li>launch <a href="https://developers.openai.com/codex/cli">Codex CLI</a> in it</li>
  <li>ask GPT to accomplish a task just by writing a prompt describing the task</li>
  <li>open a second SSH session to my server</li>
  <li>launch <a href="https://developers.openai.com/codex/cli">Codex CLI</a> in it</li>
  <li>ask GPT to accomplish another task just by writing a prompt describing the task</li>
  <li>rinse and repeat…</li>
</ul>

<p>Honestly, that works pretty well. It is extremely low-tech as you can see. It also means you can launch <a href="https://claude.com/fr/product/claude-code">Claude Code</a> in one session, Codex CLI in another, <a href="https://geminicli.com/">Gemini CLI</a> in a third one… and hence spread your token consumption across several AI providers in parallel, which makes the token budget limit slower to hit for a given provider.</p>

<h1 id="flavor-2-launching-ai-clis-in-headless-mode">Flavor 2: launching AI CLIs in headless mode</h1>
<p>I used this second approach to write crawlers for 200+ different webpages. Obviously with 200 crawlers to create, that would have been too boring to do with the Flavor 1 described just above. ChatGPT guided me throughout on how to implement this new approach. The basic logic is:</p>

<ul>
  <li>one JSON file containing the parameters for the 200 websites (URLs and a few more details).</li>
  <li>one Bash script (call it “A”) that can launch one LLM through a command-line interface, in headless mode. Headless means that the LLM, once launched with the prompt you have given it, will execute until it has completed the task, without interrupting to ask you for permission or ask for feedback or a follow-up. For that I use the <a href="https://developers.openai.com/codex/noninteractive"><code class="language-plaintext highlighter-rouge">exec</code> flag on Codex CLI that triggers the headless mode</a>. Script A also contains the prompt that will be given to the LLM when it launches. The prompt is a piece of text with placeholders at key points, which are replaced by the actual information related to the specific website to be crawled. The prompt basically asks the LLM to write a crawler for this website.</li>
  <li>another script (script “B”) that picks 20 websites from the json file and executes script A for each of them. The placeholders of script A are replaced by the info of the website to be crawled, meaning that the crawler created by the LLM will be specific to this website.</li>
  <li>I launch script B, check that it works fine, then relaunch it with 20 other websites, etc. until I had processed 200 websites this way.</li>
</ul>

<p>Let me show you script A (script written by ChatGPT) to illustrate how this approach Flavor 2 involves more complexity than Flavor 1:</p>

<p><a href="https://github.com/seinecle/blog/blob/main/assets/data/script-A">open script A</a></p>

<p>This approach works well. It is not as easy as “launch script B, get 200 crawlers written in an hour” but almost that. If you are patient to read a bit the script above, you’ll see that the LLM is tasked to write unit tests for each crawler it creates! As expected, these tests do not always pass, so that slows things down a bit. But it is for a good reason: doing the extra work needed to get passing tests means that the crawlers will be more reliable.</p>

<p>With this approach, I expect to have my 200 crawlers up and ready in the next few days, and with an easy path to grow to hundreds more.</p>

<h1 id="flavor-3-having-one-llm-create-and-manage-these-subagents-itself">Flavor 3: having one LLM create and manage these subagents itself</h1>
<p>Flavor 2 was really Bash and Unix heavy: this makes my processes harder to maintain. Why not have an LLM just spin up agents by itself, following my instructions? That’s what every solution is advertising these days:</p>

<ul>
  <li>Cursor invites you to <a href="https://web.archive.org/web/20260528201253/https://cursor.com/product">“delegate implementation to focus on higher-level direction”</a></li>
  <li>Codex has <a href="https://web.archive.org/web/20260524042439/https://developers.openai.com/codex/subagents">“sub-agents”</a> you can orchestrate</li>
  <li>Google’s Antigravity offers to <a href="https://perma.cc/4S83-LRM3">“orchestrate multiple autonomous agents working in parallel across independent projects.”</a></li>
  <li>Claude Code can create <a href="https://web.archive.org/web/20260528082943/https://code.claude.com/docs/en/sub-agents">“custom sub agents”</a> for you.</li>
</ul>

<p>My opinion: probably, but not today. Asking one agent to delegate to sub-agents means that you are two steps removed from the actual work. Inconsistencies, poor choices, flat errors… will be harder to catch. Interruption and resuming of work for a given sub-agent is not straightforward. And you become solution-dependent: my AI of choice these days is GPT 5.5, and that would be off-limits if I choose a solution with agents that is not developed by its company, OpenAI.</p>

<blockquote>
  <p>For these reasons and until proven otherwise, I’ll stick with Flavor number 2 (and even number 1 in simple cases) described above.</p>
</blockquote>

<h1 id="do-we-even-need-agents">Do we even need agents?</h1>

<p>Most of the time, <em>no</em>. Here is <a href="https://www.linkedin.com/in/emollick/">Ethan Mollick</a> creating a complete, live web application with just one prompt and 4 follow-ups, for a total of less than 20 lines:</p>

<blockquote class="twitter-tweet"><p lang="en" dir="ltr">How lucky are you to have been born when and where you are?<br /><br />Had Opus 4.8 in Claude Code whip up a new visualization of all humans who ever lived. In addition to being neat, it is an interesting test of combining research, code, design and stats for an AI. <a href="https://t.co/ayNEdhSLy3">https://t.co/ayNEdhSLy3</a> <a href="https://t.co/Ny2NmICZsK">pic.twitter.com/Ny2NmICZsK</a></p>&mdash; Ethan Mollick (@emollick) <a href="https://x.com/emollick/status/2060165879908749490?ref_src=twsrc%5Etfw">May 29, 2026</a></blockquote>

<p>Another example is the website developed by my daughter: a <a href="https://www.daebias.com/">fullfledged e-commerce platform</a>. Developed with zero fancy technology or agentic scaffolding. Just prompts (and a lot of work).</p>

<p>You probably also noticed that in chats with LLMs when we search for information, these LLMS can choose to launch searches on different website, with each search performed by its own agent. This helps speed up their research and cover more ground in response to your request.</p>

<p>So I’d say that in most cases, we don’t need agents even for complex tasks because LLMs  work just fine without, and if agents are useful, then LLM launch their own agents and manage them under the hood.</p>

<h1 id="and-the-difficulty-of-agents-bumping-into-each-other">And the difficulty of agents bumping into each other</h1>
<p>The topic is just unglamorous and the blog post is already too long so I’ll be super brief: multiple agents writing simultaneously in your codebase will step on each other’s toes. If they make changes to the same file, there is a very good chance the resulting file will be a mess.</p>

<p>The remedy is to have each agent working on different <a href="https://www.w3schools.com/GIT/git_branch.asp">git branches</a>, then proceeding to the merge of the branches into the main branch when all agents are done. This is also a mess: what if the merge fails? (and oh, it will). I tried this approach and it is tedious, hair-raising and makes you quit the multi-agent game quickly.</p>

<p>So how did I manage in Flavor 2 to create dozens of crawlers without having agents crash into each other’s work?</p>

<p>I first conducted plenty of preparatory work on just one crawler, making sure it worked in perfect isolation of the others. Not an easy task when you still want to follow the DRY (don’t repeat yourself) principle in coding. Only under this condition that each crawler is perfectly isolated can you have dozens of agents working on source files simultaneously without creating a mess.</p>

<p>If you scroll up and check the Bash script (“script A”) I’ve shared, you’ll see I was also advised on the matter by ChatGPT, which added some hard blocks in the prompt, so that each agent is explicitly forbidden from touching files not in the scope of its work.</p>

<h1 id="next-steps">Next steps</h1>
<p>Getting from dozens of crawlers written with Flavor 2 to hundreds of crawlers. Then executing them. Becoming sufficiently proficient at this “homemade” multi-agent setup that I can reproduce it when and if needed in other places.</p>

<h1 id="and-you">And you?</h1>
<p>What multi-agent setup works for you? Or do you stick with no agent at all?</p>

<hr />
<h1 id="about-me">About Me</h1>

<p>I’m an academic and independent web app developer. I created <a href="https://nocodefunctions.com">nocode functions</a>, a point-and-click tool for exploring texts and networks. Try it out and let me know what you think. I’d love your feedback!</p>

<ul>
  <li><strong>Email:</strong> <a href="mailto:analysis@exploreyourdata.com">analysis@exploreyourdata.com</a></li>
  <li><strong>Bluesky:</strong> <a href="https://bsky.app/profile/seinecle.bsky.social">@seinecle</a></li>
  <li><strong>Blog:</strong> <a href="https://nocodefunctions.com/blog">Read more articles</a> on app development and data exploration.</li>
</ul>]]></content><author><name></name></author><category term="ai" /><category term="productivity" /><category term="coding" /><category term="development" /><category term="agentic" /><category term="agents" /><summary type="html"><![CDATA[A reasonable definition of an “AI agent”, at least in the context of agentic coding, could be: a software process endowed with the capabilities of an LLM launched with instructions given at the start to accomplish a task which runs autonomously (no interactive session with a human), for a significant period of time with non-deterministic behavior: the agent adapts to the circumstances, hopefully without deviating from the instructions it received These software processes (agents) can be launched in parallel to achieve faster results or to accomplish a larger number of tasks: same process launched in multiple copies, or a variety of processes launched at once. Not a necessity but logical next step: to accomplish a task, a process can be led to launch other processes, subprocesses, etc. This evokes images of cascades, armies, or swarms of agents coordinating in a decentralized manner (no human in the loop) to accomplish a task. Yet, in practice, “agents” is often used with no relation to the definition above. Possibly to sound up-to-date and sophisticated, “agents” might in reality designate a ChatGPT conversation where the user prompted “you are acting like a professional tax agent and in the following, I want you to help me fill in my tax declaration” 🤷‍♂️. Pieter Levels, who tends to speak frankly about coding and AI matters, shared this feeling in summer 2025: If I hear people talk about &quot;AI agents&quot; these days it&#39;s generally a red flag and I know they&#39;re non-technical ppl reading AI news but not actually shipping anythingNot cause I don&#39;t believe in AI agents but it&#39;s such a marketing term with no real meaning at this point&mdash; @levelsio (@levelsio) August 6, 2025 We are now approaching summer 2026, have things changed much? In my coding practice, I explored several ways to do agentic coding that would live up to the definition proposed above, and not masquerade for it. Here are 3 flavors I tried: Flavor 1: launching multiple command line interfaces I did that for a while: open an SSH session to my server launch Codex CLI in it ask GPT to accomplish a task just by writing a prompt describing the task open a second SSH session to my server launch Codex CLI in it ask GPT to accomplish another task just by writing a prompt describing the task rinse and repeat… Honestly, that works pretty well. It is extremely low-tech as you can see. It also means you can launch Claude Code in one session, Codex CLI in another, Gemini CLI in a third one… and hence spread your token consumption across several AI providers in parallel, which makes the token budget limit slower to hit for a given provider. Flavor 2: launching AI CLIs in headless mode I used this second approach to write crawlers for 200+ different webpages. Obviously with 200 crawlers to create, that would have been too boring to do with the Flavor 1 described just above. ChatGPT guided me throughout on how to implement this new approach. The basic logic is: one JSON file containing the parameters for the 200 websites (URLs and a few more details). one Bash script (call it “A”) that can launch one LLM through a command-line interface, in headless mode. Headless means that the LLM, once launched with the prompt you have given it, will execute until it has completed the task, without interrupting to ask you for permission or ask for feedback or a follow-up. For that I use the exec flag on Codex CLI that triggers the headless mode. Script A also contains the prompt that will be given to the LLM when it launches. The prompt is a piece of text with placeholders at key points, which are replaced by the actual information related to the specific website to be crawled. The prompt basically asks the LLM to write a crawler for this website. another script (script “B”) that picks 20 websites from the json file and executes script A for each of them. The placeholders of script A are replaced by the info of the website to be crawled, meaning that the crawler created by the LLM will be specific to this website. I launch script B, check that it works fine, then relaunch it with 20 other websites, etc. until I had processed 200 websites this way. Let me show you script A (script written by ChatGPT) to illustrate how this approach Flavor 2 involves more complexity than Flavor 1: open script A This approach works well. It is not as easy as “launch script B, get 200 crawlers written in an hour” but almost that. If you are patient to read a bit the script above, you’ll see that the LLM is tasked to write unit tests for each crawler it creates! As expected, these tests do not always pass, so that slows things down a bit. But it is for a good reason: doing the extra work needed to get passing tests means that the crawlers will be more reliable. With this approach, I expect to have my 200 crawlers up and ready in the next few days, and with an easy path to grow to hundreds more. Flavor 3: having one LLM create and manage these subagents itself Flavor 2 was really Bash and Unix heavy: this makes my processes harder to maintain. Why not have an LLM just spin up agents by itself, following my instructions? That’s what every solution is advertising these days: Cursor invites you to “delegate implementation to focus on higher-level direction” Codex has “sub-agents” you can orchestrate Google’s Antigravity offers to “orchestrate multiple autonomous agents working in parallel across independent projects.” Claude Code can create “custom sub agents” for you. My opinion: probably, but not today. Asking one agent to delegate to sub-agents means that you are two steps removed from the actual work. Inconsistencies, poor choices, flat errors… will be harder to catch. Interruption and resuming of work for a given sub-agent is not straightforward. And you become solution-dependent: my AI of choice these days is GPT 5.5, and that would be off-limits if I choose a solution with agents that is not developed by its company, OpenAI. For these reasons and until proven otherwise, I’ll stick with Flavor number 2 (and even number 1 in simple cases) described above. Do we even need agents? Most of the time, no. Here is Ethan Mollick creating a complete, live web application with just one prompt and 4 follow-ups, for a total of less than 20 lines: How lucky are you to have been born when and where you are?Had Opus 4.8 in Claude Code whip up a new visualization of all humans who ever lived. In addition to being neat, it is an interesting test of combining research, code, design and stats for an AI. https://t.co/ayNEdhSLy3 pic.twitter.com/Ny2NmICZsK&mdash; Ethan Mollick (@emollick) May 29, 2026 Another example is the website developed by my daughter: a fullfledged e-commerce platform. Developed with zero fancy technology or agentic scaffolding. Just prompts (and a lot of work). You probably also noticed that in chats with LLMs when we search for information, these LLMS can choose to launch searches on different website, with each search performed by its own agent. This helps speed up their research and cover more ground in response to your request. So I’d say that in most cases, we don’t need agents even for complex tasks because LLMs work just fine without, and if agents are useful, then LLM launch their own agents and manage them under the hood. And the difficulty of agents bumping into each other The topic is just unglamorous and the blog post is already too long so I’ll be super brief: multiple agents writing simultaneously in your codebase will step on each other’s toes. If they make changes to the same file, there is a very good chance the resulting file will be a mess. The remedy is to have each agent working on different git branches, then proceeding to the merge of the branches into the main branch when all agents are done. This is also a mess: what if the merge fails? (and oh, it will). I tried this approach and it is tedious, hair-raising and makes you quit the multi-agent game quickly. So how did I manage in Flavor 2 to create dozens of crawlers without having agents crash into each other’s work? I first conducted plenty of preparatory work on just one crawler, making sure it worked in perfect isolation of the others. Not an easy task when you still want to follow the DRY (don’t repeat yourself) principle in coding. Only under this condition that each crawler is perfectly isolated can you have dozens of agents working on source files simultaneously without creating a mess. If you scroll up and check the Bash script (“script A”) I’ve shared, you’ll see I was also advised on the matter by ChatGPT, which added some hard blocks in the prompt, so that each agent is explicitly forbidden from touching files not in the scope of its work. Next steps Getting from dozens of crawlers written with Flavor 2 to hundreds of crawlers. Then executing them. Becoming sufficiently proficient at this “homemade” multi-agent setup that I can reproduce it when and if needed in other places. And you? What multi-agent setup works for you? Or do you stick with no agent at all? About Me I’m an academic and independent web app developer. I created nocode functions, a point-and-click tool for exploring texts and networks. Try it out and let me know what you think. I’d love your feedback! Email: analysis@exploreyourdata.com Bluesky: @seinecle Blog: Read more articles on app development and data exploration.]]></summary></entry><entry><title type="html">Piloting Claude and Gemini on Debian from Signal</title><link href="https://nocodefunctions.com/blog/claude-gemini-on-debian-from-signal/" rel="alternate" type="text/html" title="Piloting Claude and Gemini on Debian from Signal" /><published>2026-03-01T00:00:00+00:00</published><updated>2026-03-01T00:00:00+00:00</updated><id>https://nocodefunctions.com/blog/agents-automation</id><content type="html" xml:base="https://nocodefunctions.com/blog/claude-gemini-on-debian-from-signal/"><![CDATA[<p>I document the rapid evolution of tooling for my web app, <a href="https://nocodefunctions.com">nocodefunctions.com</a>.
The previous steps are documented in <a href="https://nocodefunctions.com/blog/from-netbeans-to-claude-cursor/">From NetBeans to Claude Code (Jan 2026)</a>.</p>

<p>In early January, I had left my coding environment in this configuration, which was great:</p>

<ul>
  <li>one single Debian server for dev and prod</li>
  <li>Claude Code installed on it</li>
  <li>I connect on SSH to it, from my local Windows machine</li>
  <li>in the terminal (Putty), I “vibe code” the development of my web app</li>
  <li>I can also SSH to my server directly from <a href="https://nocodefunctions.com/blog/from-netbeans-to-claude-cursor/#january-2026-the-third-tipping-point">my Android phone using ConnectBot</a>: effectively coding while on a metro ride.</li>
</ul>

<h1 id="2-frustrations">2 frustrations</h1>
<p>This setup served me well, but I hit some real limits:</p>

<h2 id="1-coding-from-the-terminal-on-the-phone-is-ok-but-not-fantastic">1. Coding from the terminal on the phone is OK but not fantastic</h2>
<p>Sending instructions to Claude from a mobile with ConnectBot is not a great experience.
The app connects to the server so this is a terminal interface, and on a mobile phone there are some keys (arrows, escapes, tabs…) that are not readily available, necessitating to install an app with a more advanced keyboard on the phone.
In the end the experience is OK but not comfortable.
Here is how it looks:</p>

<div style="display: flex; justify-content: center;">
    <img src="https://github.com/user-attachments/assets/475fa4aa-2357-4165-b4d3-5925fdee8419" alt="Connectbot on Android" style="max-width: 100%; width: 360px; height: auto;" />
</div>

<h2 id="2-claude-token-rate-limits-every-5-hours-and-every-week">2. Claude: token rate limits every 5 hours and every week</h2>
<p>Vibe coding increases productivity for sure, and it comes with token spending. I became regularly blocked by the 5-hour token reset period imposed by Claude.
The weekly limit on token consumption was also looming large. I am on the <span>$20</span> monthly plan with Claude, and didn’t want to jump to the <span>$90</span> or <span>$200</span> plan. The situation became very frustrating.</p>

<h1 id="the-solutions-">The solutions! ✨</h1>

<h2 id="1-adding-gemini-cli-to-the-server">1. Adding Gemini CLI to the server!</h2>
<p>Google’s most visible product to compete with Cursor or Claude is <a href="https://antigravity.google/">AntiGravity</a> and so I had missed that Google has released a CLI version of Gemini (since summer 2025 as per <a href="https://github.com/google-gemini/gemini-cli">this Github repo</a>).</p>

<p>Anyway, if I am limited by Claude’s token limit, why not use the token allowance I have from my Gemini subscription?. Installing Gemini CLI on the server is straightforward.</p>

<p>At first, I switched between Claude and Gemini : launching one when the other’s limit was reached.
If you wonder, Gemini 3.1 pro is good enough to work with on code.
It is at the same level as Claude sonnet or opus.
Gemini’s other models are insufficient.</p>

<p>But then I thought naturally…</p>

<h2 id="2-getting-claude-and-gemini-to-coordinate-their-efforts">2. Getting Claude and Gemini to coordinate their efforts!</h2>
<p>It is natural to try the next step: getting Claude, Gemini, and possibly other forthcoming CLI agents to coordinate their efforts on tasks I submit to them.</p>

<p>To create this, I started a conversation with Gemini to devise a plan. My entire prompt was:</p>

<div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>On my debian server I installed in 2026 both Claude Code and Gemini CLI with flags to bypass human confirmation . I created scripts and md files so that they should coordinate work when I formulate a task to accomplish . works great.
only issue is that when one is finished on a set of subtasks, it returns to the command line and wait for my instructions. there is no mechanism for it to detect that the other has written down new subtasks in the md file to be picked up now.
how to solve that? i would love that I first give them both a general task, and then they remain active on it. they would also send their remarks, questions, progress reports... in a centralized place where I could then answer (to both at the same time) 
</code></pre></div></div>

<p>Gemini provided a simple plan, that I then asked my 2 agents (Claude and Gemini) on debian to implement.
It works great now, mostly through a mix of shared .md files where both agents report their progress and pick up instructions to work on the next steps.</p>

<h2 id="3-using-the-web-then-signal-to-improve-my-comfort-as-an-orchestrator">3. Using the web then Signal to improve my comfort as an orchestrator!</h2>
<p>Since I left the comfort of using an IDE like NetBeans (2010-2025) then Cursor (November-December 2025), working in the terminal with Claude and Gemini is not so bad, but is not entirely comfortable either. Especially, as I explained above, when connecting on the terminal from my phone, things get really tiny and typing messages is not super easy.</p>

<p>First thing I did was asking the agents to create a web page interface: a page that I could double tap to edit it, so that I could monitor progress and add tasks directly in the text. They found a Python lib for that:</p>

<div style="display: flex; justify-content: center;">
    <img src="https://github.com/user-attachments/assets/a84ab09e-adef-46a3-808b-61c58af7531a" alt="web interface for agents coordination" style="max-width: 100%; width: 460px; height: auto;" />
</div>

<p>Not bad at all. Then I remembered that levelsio / Pieter Levels had mentioned his use of Telegram to pilot his agents:</p>

<blockquote class="twitter-tweet"><p lang="en" dir="ltr">✨ A dream I had finally came true: I can now chat directly with my sites to build any feature or fix any bug just via Telegram<br /><br />I&#39;ve been playing with OpenClaw for 3 weeks now and it&#39;s great but I was always too scared to run it on any production server<br /><br />And I was right a bit as… <a href="https://t.co/pfQf6EMKOd">pic.twitter.com/pfQf6EMKOd</a></p>&mdash; @levelsio (@levelsio) <a href="https://twitter.com/levelsio/status/2023960543959101938?ref_src=twsrc%5Etfw">February 18, 2026</a></blockquote>

<p>I don’t personally like or use Telegram, and I would have preferred WhatsApp or Signal. Turns out WhatsApp is not fit for this purpose, and Signal has a <a href="https://github.com/AsamK/signal-cli">community-supported CLI</a> that fits the need. Claude and Gemini implemented that in an hour or two.</p>

<p>Done: I can now send instructions to my agents (Claude and Gemini) directly from Signal, either from my phone or from my Windows laptop (where Signal is installed as a desktop app). I can even attach pics to the message. Typically, screenshots of my web app to show them what I mean in terms of layout, when there is a defect or when I want an improvement.</p>

<p>Using Signal compared to a terminal interface, the comfort is real:</p>

<div style="display: flex; justify-content: center;">
    <img src="https://github.com/user-attachments/assets/ce5548d4-9a35-4777-bb38-8d2e8604d795" alt="screenshot of dialoging with agents on debian from Signal" style="max-width: 100%; width: 360px; height: auto;" />
</div>

<h1 id="money-money-money">Money, money, money</h1>
<p>No extra money spent here. I continue with my existing <span>$20</span> Claude and <span>$20</span> Gemini monthly subscriptions. It’ just that their token allowances are better spent now.</p>

<h1 id="next-steps">Next steps</h1>
<p>Thanks to these agents, I could develop 2 new functions that I wanted to develop for a long time:</p>

<h2 id="pdf-or-web-pages-to-social-graph">pdf or web pages to social graph</h2>

<p><a href="https://nocodefunctions.com/nergraph/nergraph.html">Try it there</a></p>

<p>Provide a pdf or a url, and the function will return the social graph of the persons mentioned in the document.</p>

<p>It works already pretty well. Here is the graph created from the phd of <a href="https://theses.hal.science/tel-00372263v1">my PhD dissertation</a>, that explored the relations between economics and biology in post-war US:</p>

<p>➡️ <a href="https://dev.nocodefunctions.com/user_created_files/vosviewer/index.html?json=public/vosviewer_5432624604758149090.json">interactive version available here</a></p>

<div style="display: flex; justify-content: center;">
    <img src="https://github.com/user-attachments/assets/bf1d31c1-b08d-4ab4-90f7-df9b52927e65" alt="example of my phd thesis turned into a social graph" style="max-width: 100%; width: 460px; height: auto;" />
</div>

<h2 id="wiki-social-graph">Wiki social graph</h2>

<p>Same, but with Wikipedia: pick a domain or provide a name, and the function will crawl wikipedia to return a social graph around this domain or name. <a href="https://nocodefunctions.com/wikinergraph/wikinergraph.html">Try it there</a>.</p>

<p>These 2 functions now need to be further tested and improved. Your feedback is welcome. I also have other ideas in store.</p>

<hr />
<h1 id="about-me">About Me</h1>

<p>I’m an academic and independent web app developer. I created <a href="https://nocodefunctions.com">nocode functions</a>, a point-and-click tool for exploring texts and networks. Try it out and let me know what you think. I’d love your feedback!</p>

<ul>
  <li><strong>Email:</strong> <a href="mailto:analysis@exploreyourdata.com">analysis@exploreyourdata.com</a></li>
  <li><strong>Bluesky:</strong> <a href="https://bsky.app/profile/seinecle.bsky.social">@seinecle</a></li>
  <li><strong>Blog:</strong> <a href="https://nocodefunctions.com/blog">Read more articles</a> on app development and data exploration.</li>
</ul>]]></content><author><name></name></author><category term="ai" /><category term="productivity" /><category term="coding" /><category term="development" /><category term="claude code" /><category term="gemini CLI" /><category term="signal" /><category term="devops" /><category term="debian" /><category term="SSH" /><summary type="html"><![CDATA[I document the rapid evolution of tooling for my web app, nocodefunctions.com. The previous steps are documented in From NetBeans to Claude Code (Jan 2026). In early January, I had left my coding environment in this configuration, which was great: one single Debian server for dev and prod Claude Code installed on it I connect on SSH to it, from my local Windows machine in the terminal (Putty), I “vibe code” the development of my web app I can also SSH to my server directly from my Android phone using ConnectBot: effectively coding while on a metro ride. 2 frustrations This setup served me well, but I hit some real limits: 1. Coding from the terminal on the phone is OK but not fantastic Sending instructions to Claude from a mobile with ConnectBot is not a great experience. The app connects to the server so this is a terminal interface, and on a mobile phone there are some keys (arrows, escapes, tabs…) that are not readily available, necessitating to install an app with a more advanced keyboard on the phone. In the end the experience is OK but not comfortable. Here is how it looks: 2. Claude: token rate limits every 5 hours and every week Vibe coding increases productivity for sure, and it comes with token spending. I became regularly blocked by the 5-hour token reset period imposed by Claude. The weekly limit on token consumption was also looming large. I am on the $20 monthly plan with Claude, and didn’t want to jump to the $90 or $200 plan. The situation became very frustrating. The solutions! ✨ 1. Adding Gemini CLI to the server! Google’s most visible product to compete with Cursor or Claude is AntiGravity and so I had missed that Google has released a CLI version of Gemini (since summer 2025 as per this Github repo). Anyway, if I am limited by Claude’s token limit, why not use the token allowance I have from my Gemini subscription?. Installing Gemini CLI on the server is straightforward. At first, I switched between Claude and Gemini : launching one when the other’s limit was reached. If you wonder, Gemini 3.1 pro is good enough to work with on code. It is at the same level as Claude sonnet or opus. Gemini’s other models are insufficient. But then I thought naturally… 2. Getting Claude and Gemini to coordinate their efforts! It is natural to try the next step: getting Claude, Gemini, and possibly other forthcoming CLI agents to coordinate their efforts on tasks I submit to them. To create this, I started a conversation with Gemini to devise a plan. My entire prompt was: On my debian server I installed in 2026 both Claude Code and Gemini CLI with flags to bypass human confirmation . I created scripts and md files so that they should coordinate work when I formulate a task to accomplish . works great. only issue is that when one is finished on a set of subtasks, it returns to the command line and wait for my instructions. there is no mechanism for it to detect that the other has written down new subtasks in the md file to be picked up now. how to solve that? i would love that I first give them both a general task, and then they remain active on it. they would also send their remarks, questions, progress reports... in a centralized place where I could then answer (to both at the same time) Gemini provided a simple plan, that I then asked my 2 agents (Claude and Gemini) on debian to implement. It works great now, mostly through a mix of shared .md files where both agents report their progress and pick up instructions to work on the next steps. 3. Using the web then Signal to improve my comfort as an orchestrator! Since I left the comfort of using an IDE like NetBeans (2010-2025) then Cursor (November-December 2025), working in the terminal with Claude and Gemini is not so bad, but is not entirely comfortable either. Especially, as I explained above, when connecting on the terminal from my phone, things get really tiny and typing messages is not super easy. First thing I did was asking the agents to create a web page interface: a page that I could double tap to edit it, so that I could monitor progress and add tasks directly in the text. They found a Python lib for that: Not bad at all. Then I remembered that levelsio / Pieter Levels had mentioned his use of Telegram to pilot his agents: ✨ A dream I had finally came true: I can now chat directly with my sites to build any feature or fix any bug just via TelegramI&#39;ve been playing with OpenClaw for 3 weeks now and it&#39;s great but I was always too scared to run it on any production serverAnd I was right a bit as… pic.twitter.com/pfQf6EMKOd&mdash; @levelsio (@levelsio) February 18, 2026 I don’t personally like or use Telegram, and I would have preferred WhatsApp or Signal. Turns out WhatsApp is not fit for this purpose, and Signal has a community-supported CLI that fits the need. Claude and Gemini implemented that in an hour or two. Done: I can now send instructions to my agents (Claude and Gemini) directly from Signal, either from my phone or from my Windows laptop (where Signal is installed as a desktop app). I can even attach pics to the message. Typically, screenshots of my web app to show them what I mean in terms of layout, when there is a defect or when I want an improvement. Using Signal compared to a terminal interface, the comfort is real: Money, money, money No extra money spent here. I continue with my existing $20 Claude and $20 Gemini monthly subscriptions. It’ just that their token allowances are better spent now. Next steps Thanks to these agents, I could develop 2 new functions that I wanted to develop for a long time: pdf or web pages to social graph Try it there Provide a pdf or a url, and the function will return the social graph of the persons mentioned in the document. It works already pretty well. Here is the graph created from the phd of my PhD dissertation, that explored the relations between economics and biology in post-war US: ➡️ interactive version available here Wiki social graph Same, but with Wikipedia: pick a domain or provide a name, and the function will crawl wikipedia to return a social graph around this domain or name. Try it there. These 2 functions now need to be further tested and improved. Your feedback is welcome. I also have other ideas in store. About Me I’m an academic and independent web app developer. I created nocode functions, a point-and-click tool for exploring texts and networks. Try it out and let me know what you think. I’d love your feedback! Email: analysis@exploreyourdata.com Bluesky: @seinecle Blog: Read more articles on app development and data exploration.]]></summary></entry><entry><title type="html">From NetBeans to Claude Code</title><link href="https://nocodefunctions.com/blog/from-netbeans-to-claude-cursor/" rel="alternate" type="text/html" title="From NetBeans to Claude Code" /><published>2026-01-04T00:00:00+00:00</published><updated>2026-01-04T00:00:00+00:00</updated><id>https://nocodefunctions.com/blog/from-netbeans-to-claude-code</id><content type="html" xml:base="https://nocodefunctions.com/blog/from-netbeans-to-claude-cursor/"><![CDATA[<p>I document the rapid evolution of tooling for my web app, with a focus on Java. I highlight how changes in “tooling” co-occurred with an evolution of my tech stack and the wider development environment.</p>

<p>That’s the opening scene: my coding environment as a solo Java web developer over the last 15 years (look Ma, no JetBrains!).</p>

<h1 id="20102025-netbeans-all-the-way">2010–2025: NetBeans all the way</h1>
<ul>
  <li><strong>Code editor, refactoring, Git interface, debugger, Maven builds and executions</strong>: all from inside NetBeans</li>
  <li><strong>Frontend</strong>: JSF + PrimeFaces</li>
  <li><strong>Backend</strong>: Jakarta EE</li>
  <li><strong>Microservices</strong>: none at first, then Javalin since 2022</li>
  <li><strong>OS for dev</strong>: Windows</li>
  <li><strong>OS for prod</strong>: Debian</li>
  <li><strong>DevOps</strong>: PuTTY, <a href="https://winscp.net/eng/download.php">WinSCP</a> (and pushing to Git from NetBeans)</li>
  <li><strong>AI-assisted coding</strong>: since 2023, copy-pasting code into ChatGPT and Gemini</li>
</ul>

<h1 id="summer-and-fall-2025-removing-primefaces-jsf-and-jakarta-ee--htmx--javalin-all-the-way">Summer and Fall 2025: removing PrimeFaces, JSF, and Jakarta EE — htmx + Javalin all the way</h1>
<p>This happened through a series of logical steps (the first ones are retraced in a <a href="https://nocodefunctions.com/blog/jsf-primefaces-vs-htmx-alpine-tailwind/">previous post</a>):</p>

<ol>
  <li>I wanted to improve the UI of my app, but PrimeFaces makes CSS customization painful. What if I removed PrimeFaces and styled JSF components directly? ChatGPT would help a lot.</li>
  <li>But JSF components live in <code class="language-plaintext highlighter-rouge">.xhtml</code> files, which can’t be previewed in ChatGPT’s canvas. The constant back-and-forth-copy-pasting between NetBeans and ChatGPT, adapting XHTML to HTML and vice versa was a drag (and I did spend time doing it).</li>
  <li>Do I really need JSF components at all, or <a href="https://nocodefunctions.com/blog/jsf-primefaces-vs-htmx-alpine-tailwind/">could I just use native HTML with htmx to interact with Jakarta EE</a>? Probably yes. Let’s go htmx + Alpine on the frontend.</li>
  <li><strong>But if I don’t use JSF, do I still need Jakarta EE?</strong> Maybe <a href="https://jakarta.ee/specifications/mvc/">Jakarta MVC</a> would suffice? Let’s try the slimmer option.</li>
  <li>But wait: why keep Jakarta MVC at all? If it’s mainly for session management, does that justify an entire framework? I could learn via ChatGPT how to manage sessions directly in Javalin (CSRF and all).</li>
  <li>I ended up removing Jakarta EE entirely and using Javalin end-to-end for the backend.</li>
</ol>

<h1 id="november-2025-cursor-the-tipping-point">November 2025: Cursor, the tipping point</h1>
<p>At this stage, I was no longer relying on JSF or Jakarta EE: a break from 15 years of habits! I now depended heavily on copy-pasting code into ChatGPT or Gemini for advice, and for full rewrites from Jakarta EE logic to Javalin.</p>

<p>It became so impractical. I was zipping entire source folders just to give enough context to a conversational interface. <strong>It worked, but it was silly.</strong></p>

<p>The obvious alternative: what if an AI tool could edit my source files directly on my machine, exploring the context as needed, without browser copy-paste gymnastics?</p>

<p>I had heard of Cursor, but the $20/month made me hesitate. This is a side project with zero revenue, and I was already paying:</p>
<ul>
  <li>$20/month for Gemini</li>
  <li>$20/month for ChatGPT</li>
  <li>$50/month for server costs (yes, that’s a big server)</li>
</ul>

<p>I tried free alternatives: <a href="https://aider.chat/">aider</a> and <a href="https://zed.dev/ai">Zed</a>, and found them disappointing. Eventually, I caved and added another $20/month for Cursor.</p>

<p><strong>And… whoosh. Cursor is in a different category.</strong> You ask, it codes correctly, across the codebase. It just works. My recent re-architecture helped: htmx + Javalin is simple enough that models reason effectively over it.</p>

<p>My workflow changed radically in a few weeks:</p>
<ul>
  <li>giving instructions to Cursor</li>
  <li>keeping NetBeans open to check compiler errors, stop microservices, rebuild and relaunch</li>
  <li>copy-pasting error traces into Cursor and asking it to “fix it”</li>
  <li>virtually no hand coding 😮</li>
</ul>

<p>Yes, vibe coding. Did I miss manual coding? Not at all. I enjoy focusing on architecture and design decisions instead of minute implementation details.</p>

<p>But after a few weeks, another friction appeared: why manually copy error traces, or stop/restart services, if Cursor already has access to my machine?</p>

<h1 id="december-2025-claude-code">December 2025: Claude Code</h1>
<p>Yes, two tipping points in two months.</p>

<p>Just like for Cursor, I had seen very positive feedback about Claude Code. So I posted a <a href="https://news.ycombinator.com/item?id=46185230">question on Hacker News</a>, asking whether Claude Code was meaningfully different or better than Cursor. The replies were few but very positive, even with this direct comparison with Cursor.</p>

<p>So during the Christmas break, I spent another $20/month on Claude Code 😭. After the change I had lived with Cursor and that I thought were huge already, it forced me to change 15 years of habits:</p>

<ul>
  <li><strong>From Windows to Linux for development.</strong> I couldn’t get Claude Code working on Windows (my fault probably, and I can’t install WSL on my machine), so I installed it on my Debian server and effectively moved my codebase there. Psychologically difficult: I’m not an IT-trained developer, and “Windows for dev, Linux via PuTTY for prod” already felt geeky enough*. Going full Linux felt risky. But it worked out.</li>
  <li><strong>Not using NetBeans or an IDE to code</strong> I now <a href="https://marketplace.visualstudio.com/items?itemName=ms-vscode-remote.remote-ssh">connect over SSH with Cursor</a> to connect to Claude on the server. Cursor can show and edit files, but I rarely do manual edits.</li>
</ul>

<p>Claude Code delivers: with proper guidelines it can stop, rebuild, and restart my microservices; read logs and use them as context; navigate directories; grep, sed, push: whatever is needed. Contrary to Cursor it takes full advantage of having access to the file system and the command line. Friction is almost gone. I give instructions and they get executed. It writes tests (so does Cursor to be fair), which was a sore point in my practice.</p>

<h1 id="january-2026-the-third-tipping-point">January 2026: the third tipping point</h1>
<p>(Sorry for the exaggeration but it really felt like it.)</p>

<p>A few days ago, I remembered <a href="https://play.google.com/store/apps/details?id=org.connectbot">ConnectBot</a>, an Android SSH app I had installed years ago and never used. <strong>Could I “vibe code” on the go?</strong></p>

<p>Yes. Easily.</p>

<p>I now do it for real. The setup was trivial. I can test results of my feature additions directly on the browser of my phone by visiting the <a href="https://dev.nocodefunctions.com/">dev version of nocodefunctions.com</a> (ssl certificate warnings for now, add an exception). When something breaks, I report it to Claude, ask for a fix, and keep walking.</p>

<h1 id="money-money-money">Money, money, money</h1>
<p>Spending $80/month on AI-assisted coding is not sustainable for me:</p>
<ul>
  <li>I downgraded my ChatGPT subscription from the “Plus” plan (<span>$20</span>) to the “Go” plan (<span>$4</span>), which is sufficient since I no longer use it for coding.</li>
  <li>I cancelled Cursor.</li>
</ul>

<h1 id="next-steps">Next steps</h1>
<p>As I wrote earlier, switching tooling (even shiny AI tooling) is initially a <a href="https://nocodefunctions.com/blog/ai-coding-tool-productivity-paradox/">productivity drain</a>.</p>

<p>Since this summer, I’ve been in near-constant tooling transition, eating up the few weekly hours I have for this project.</p>

<p>So I hope <a href="https://antigravity.google/">Google’s antigravity</a> will flop and won’t justify another switch away from Claude Code :-) That way, I can finally focus on better UI, better UX, and new features for nocodefunctions.com.</p>

<p>* Thanks to <a href="https://bsky.app/profile/mgilbir.bsky.social">Miguel Biraud</a> for introducing me to PuTTY and Linux back then. Your help was transformative.</p>

<hr />
<h1 id="about-me">About Me</h1>

<p>I’m an academic and independent web app developer. I created <a href="https://nocodefunctions.com">nocode functions</a>, a point-and-click tool for exploring texts and networks. Try it out and let me know what you think. I’d love your feedback!</p>

<ul>
  <li><strong>Email:</strong> <a href="mailto:analysis@exploreyourdata.com">analysis@exploreyourdata.com</a></li>
  <li><strong>Bluesky:</strong> <a href="https://bsky.app/profile/seinecle.bsky.social">@seinecle</a></li>
  <li><strong>Blog:</strong> <a href="https://nocodefunctions.com/blog">Read more articles</a> on app development and data exploration.</li>
</ul>]]></content><author><name></name></author><category term="ai" /><category term="productivity" /><category term="coding" /><category term="development" /><category term="netbeans" /><category term="vibe coding" /><category term="cursor" /><category term="claude" /><category term="devops" /><category term="ide" /><summary type="html"><![CDATA[I document the rapid evolution of tooling for my web app, with a focus on Java. I highlight how changes in “tooling” co-occurred with an evolution of my tech stack and the wider development environment. That’s the opening scene: my coding environment as a solo Java web developer over the last 15 years (look Ma, no JetBrains!). 2010–2025: NetBeans all the way Code editor, refactoring, Git interface, debugger, Maven builds and executions: all from inside NetBeans Frontend: JSF + PrimeFaces Backend: Jakarta EE Microservices: none at first, then Javalin since 2022 OS for dev: Windows OS for prod: Debian DevOps: PuTTY, WinSCP (and pushing to Git from NetBeans) AI-assisted coding: since 2023, copy-pasting code into ChatGPT and Gemini Summer and Fall 2025: removing PrimeFaces, JSF, and Jakarta EE — htmx + Javalin all the way This happened through a series of logical steps (the first ones are retraced in a previous post): I wanted to improve the UI of my app, but PrimeFaces makes CSS customization painful. What if I removed PrimeFaces and styled JSF components directly? ChatGPT would help a lot. But JSF components live in .xhtml files, which can’t be previewed in ChatGPT’s canvas. The constant back-and-forth-copy-pasting between NetBeans and ChatGPT, adapting XHTML to HTML and vice versa was a drag (and I did spend time doing it). Do I really need JSF components at all, or could I just use native HTML with htmx to interact with Jakarta EE? Probably yes. Let’s go htmx + Alpine on the frontend. But if I don’t use JSF, do I still need Jakarta EE? Maybe Jakarta MVC would suffice? Let’s try the slimmer option. But wait: why keep Jakarta MVC at all? If it’s mainly for session management, does that justify an entire framework? I could learn via ChatGPT how to manage sessions directly in Javalin (CSRF and all). I ended up removing Jakarta EE entirely and using Javalin end-to-end for the backend. November 2025: Cursor, the tipping point At this stage, I was no longer relying on JSF or Jakarta EE: a break from 15 years of habits! I now depended heavily on copy-pasting code into ChatGPT or Gemini for advice, and for full rewrites from Jakarta EE logic to Javalin. It became so impractical. I was zipping entire source folders just to give enough context to a conversational interface. It worked, but it was silly. The obvious alternative: what if an AI tool could edit my source files directly on my machine, exploring the context as needed, without browser copy-paste gymnastics? I had heard of Cursor, but the $20/month made me hesitate. This is a side project with zero revenue, and I was already paying: $20/month for Gemini $20/month for ChatGPT $50/month for server costs (yes, that’s a big server) I tried free alternatives: aider and Zed, and found them disappointing. Eventually, I caved and added another $20/month for Cursor. And… whoosh. Cursor is in a different category. You ask, it codes correctly, across the codebase. It just works. My recent re-architecture helped: htmx + Javalin is simple enough that models reason effectively over it. My workflow changed radically in a few weeks: giving instructions to Cursor keeping NetBeans open to check compiler errors, stop microservices, rebuild and relaunch copy-pasting error traces into Cursor and asking it to “fix it” virtually no hand coding 😮 Yes, vibe coding. Did I miss manual coding? Not at all. I enjoy focusing on architecture and design decisions instead of minute implementation details. But after a few weeks, another friction appeared: why manually copy error traces, or stop/restart services, if Cursor already has access to my machine? December 2025: Claude Code Yes, two tipping points in two months. Just like for Cursor, I had seen very positive feedback about Claude Code. So I posted a question on Hacker News, asking whether Claude Code was meaningfully different or better than Cursor. The replies were few but very positive, even with this direct comparison with Cursor. So during the Christmas break, I spent another $20/month on Claude Code 😭. After the change I had lived with Cursor and that I thought were huge already, it forced me to change 15 years of habits: From Windows to Linux for development. I couldn’t get Claude Code working on Windows (my fault probably, and I can’t install WSL on my machine), so I installed it on my Debian server and effectively moved my codebase there. Psychologically difficult: I’m not an IT-trained developer, and “Windows for dev, Linux via PuTTY for prod” already felt geeky enough*. Going full Linux felt risky. But it worked out. Not using NetBeans or an IDE to code I now connect over SSH with Cursor to connect to Claude on the server. Cursor can show and edit files, but I rarely do manual edits. Claude Code delivers: with proper guidelines it can stop, rebuild, and restart my microservices; read logs and use them as context; navigate directories; grep, sed, push: whatever is needed. Contrary to Cursor it takes full advantage of having access to the file system and the command line. Friction is almost gone. I give instructions and they get executed. It writes tests (so does Cursor to be fair), which was a sore point in my practice. January 2026: the third tipping point (Sorry for the exaggeration but it really felt like it.) A few days ago, I remembered ConnectBot, an Android SSH app I had installed years ago and never used. Could I “vibe code” on the go? Yes. Easily. I now do it for real. The setup was trivial. I can test results of my feature additions directly on the browser of my phone by visiting the dev version of nocodefunctions.com (ssl certificate warnings for now, add an exception). When something breaks, I report it to Claude, ask for a fix, and keep walking. Money, money, money Spending $80/month on AI-assisted coding is not sustainable for me: I downgraded my ChatGPT subscription from the “Plus” plan ($20) to the “Go” plan ($4), which is sufficient since I no longer use it for coding. I cancelled Cursor. Next steps As I wrote earlier, switching tooling (even shiny AI tooling) is initially a productivity drain. Since this summer, I’ve been in near-constant tooling transition, eating up the few weekly hours I have for this project. So I hope Google’s antigravity will flop and won’t justify another switch away from Claude Code :-) That way, I can finally focus on better UI, better UX, and new features for nocodefunctions.com. * Thanks to Miguel Biraud for introducing me to PuTTY and Linux back then. Your help was transformative. About Me I’m an academic and independent web app developer. I created nocode functions, a point-and-click tool for exploring texts and networks. Try it out and let me know what you think. I’d love your feedback! Email: analysis@exploreyourdata.com Bluesky: @seinecle Blog: Read more articles on app development and data exploration.]]></summary></entry></feed>