La prochaine frontière : IA et code

Daniel Lemire, professeur
Université du Québec (TÉLUQ)
Montréal 🇨🇦

blog: https://lemire.me

X: @lemire · GitHub: github.com/lemire

En fait, on parle souvent de ce concept appelé AGI, pour intelligence artificielle générale, c'est-à-dire une IA aussi intelligente qu'une personne. Et je pense en réalité que nous avons franchi ce seuil il y a environ trois mois. (Andreesen, 19 mai 2026)

Les grands laboratoires d'IA

  • xAI 2023
  • Anthropic 2021
  • OpenAI 2019 (à but lucratif)
Entreprise date de fondation Valorisation Date
xAI 2023 250 milliards $ fév. 2026
OpenAI 2021 852 milliards $ mars 2026
Anthropic 2019 965 milliards $ mai 2026
Somme 2067 milliards $ mai 2026
  • Entreprises canadiennes (hors banques) : 2600 milliards $
Période Run rate de revenu annualisé Source / Notes
Fin 2025 ~9 milliards USD
Février 2026 14 milliards USD levée de fonds Series G
Mars 2026 ~19 milliards USD Bloomberg
Avril 2026 30 milliards USD Annonce officielle d’Anthropic
Mai 2026 47 milliards USD Annonce Anthropic (levée de fonds Series H, 29 mai 2026)

Pendant Québécois (Bengio/ElementAI)

Institution / Source Montant estimé Date / Ronde
Total levé par Element AI ~340 M$ CA 2017 – 2019
Total sources publiques 160 – 175 M$ CA
Vente à ServiceNow (USA) 230 millions US

« La peur est le chemin vers le côté obscur. »
— Maître Yoda (Star Wars, L’Empire contre-attaque)

GitHub Copilot

GitHub Copilot + Visual Studio Code

  • Suggestion de code en contexte (2024!!!)
  • Génération de fonctions complètes
  • Chat intégré dans l’IDE

IA agentique

  • Comprendre des objectifs
  • Les décomposer en étapes
  • Utiliser des outils (recherche web, exécution de code, API, etc.)
  • Itérer et s'adapter en fonction des résultats

IA agentique vs. Bengio/Mila

Ligne de commandes

  • Elle est textuelle et déterministe
  • Elle expose des outils puissants et composables (git, curl, jq, grep, find, awk, etc.)
  • Elle permet l’exécution directe de code et de scripts
  • Elle est facilement scriptable et observable

Git

  • Branchement rapide : git checkout -b feature/ia-agent ou git switch -c, git worktrees
  • Itération sans peur : commits atomiques + git reset
  • Revue et validation : git diff, git log, git blame
  • Sauvegarde d’états : possibilité de revenir en arrière facilement si l’agent part dans une mauvaise direction
Plan

Markdown

## Introduction à Java (exemple)

Nous pouvons définir une variable en Java ainsi.

Notez les différents éléments de la syntaxe.

- Type
- Nom de variable
- Affectation d'une valeur

Grok Build

Claude Code

Agentique : Pas seulement pour les programmeurs

  • Préparer une réunion stratégique avec
    • ordre du jour,
    • données et scénarios,
    • consultation des agendas,
    • échanges par courriel

Compétences

  • Un dossier réutilisable contenant un fichier SKILL.md
  • Un mécanisme de chargement dynamique : l'IA ne charge que le nom et la description au démarrage
  • Un moyen de créer des agents spécialisés

Exemple

  • Aller chercher des données officielles
  • Créer un graphique au format PNG
  • Produire une version anglaise et une version française

Créer le dossier

La compétence va se nommer plotdata.

mkdir -p ~/.claude/skills/plotdata

Créer le fichier

~/.claude/skills/plotdata/SKILL.md
---
name: data-plot
description: Récupère des données du web et génère des graphiques matplotlib
  de qualité publication en français et en anglais.
allowed-tools: Bash(mkdir *) Bash(uv *) Bash(python3 *)
  Bash(curl *) Bash(wget *) Bash(ls *) Bash(cat *) Bash(cd *)
  WebFetch WebSearch Read Write Edit
argument-hint: [requête décrivant les données à visualiser]
---
# Compétence de visualisation de données

À partir d'une requête, trouver des données fiables en ligne, les télécharger et produire des graphiques bilingues (français/anglais) avec matplotlib.

## Répertoire de travail

Toute la sortie va dans ~/myplots/<slug>/ où <slug> est un nom court en kebab-case.

1. S'assurer que ~/myplots existe (mkdir -p ~/myplots)
2. Créer le sous-répertoire pour cette requête, par exemple ~/myplots/population-canada-2024/
3. Tous les scripts, données, README et PNG vont dans ce sous-répertoire

## Sources de données

- Privilégier les sources officielles ou gouvernementales
- Privilégier les formats lisibles par machine dans cet ordre : CSV > JSON > tableau HTML
- Utiliser WebSearch et WebFetch pour localiser l'URL du jeu de données
- Noter l'URL exacte de la source et la date d'accès dans le README

## Environnement Python

Toujours utiliser uv pour les dépendances. Initialiser le projet dans le sous-répertoire :

```bash
cd ~/myplots/<slug>
uv init --no-readme --no-workspace
uv add pandas matplotlib requests
```

Utilisation

/plotdata Donne-moi le taux de fécondité par province canadienne,
ainsi que le pourcentage de femmes dans chaque province
ayant un diplôme universitaire.

Et voilà !

  • Rédiger la compétence une seule fois
  • Automatiser la production de graphiques
/plotdata Fais un graphique qui donne l'âge moyen
par province au Canada, et ajoute l'âge moyen
des États-Unis (comme onzième province).

Permissions

  • ~/.claude/settings.json
{
  "permissions": {
    "allow": ["Read", "Write", "Edit", "Bash(git status)", "Bash(git commit -m:*)"],
    "deny": ["Read(.env*)", "Bash(rm -rf /)", "Bash(sudo:*)"],
    "ask": ["Bash(git push --force:*)", "Bash(docker run:*)"]
  }
}

allow, deny, ask

  • allow : actions autorisées automatiquement (faible risque, fréquentes)
  • deny : actions interdites en tout temps (secrets, opérations destructives)
  • ask : actions sensibles qui exigent une confirmation explicite

MCP (Model Context Protocol)

  • Relie un LLM à des outils externes
  • Il standardise l'accès aux outils
  • Exemples : Git, Slack, Oracle, PostgreSQL, SSH, Google Drive

Étendre des compétences en sécurité

  • N'exposer que les actions strictement nécessaires dans le serveur MCP
  • Traçabilité : journaliser les appels MCP et auditer régulièrement

Exemple : pour une compétence SSH/SFTP, on autorise la lecture et l'écriture dans un seul dossier et on place toute opération destructive en mode ask.

Exemple de serveur MCP : server.py

  • Ce script démarre un serveur MCP nommé ssh-files
  • Il lit credentials.json (host, username, remotedirectory) pour se connecter en SSH/SFTP
  • Il expose des outils : upload_file, download_file, list_files, make_dir, delete_file, delete_dir
  • Tous les chemins sont confinés à remotedirectory (protection contre la sortie de sandbox)
  • Il applique des garde-fous, notamment la vérification des clés SSH
claude mcp add ssh-files server.py --scope user
claude mcp list

  - claude.ai Google Drive — authentification requise
  - claude.ai Gmail — authentification requise
  - claude.ai Google Calendar — authentification requise
  - ssh-files (./ssh-mcp/server.py) — connecté

Téléverse le résultat à l'aide du MCP ssh-files dans un répertoire correspondant. Donne-moi ensuite l'URL. Crée aussi un beau fichier index.html.

/data-plot Valeur marchande estimée d'Anthropic, OpenAI et xAI.

https://lemire.me/plot_data/ai-lab-valuations/

Réviser un vieux cours

Bonjour Claude,
Dans le dossier TRA 4030, tu vas trouver des documents Word (docx) représentant le contenu du cours TRA 4030 dans son état actuel.
Je veux que tu me fasses un site web moderne (dans le dossier html) avec une version modernisée du cours. Tu vas copier le contenu du cours vers mon site à https://lemire.me/trad4030/
Je t'invite à explorer le contenu du site https://m2.teluq.ca/course/view.php?id=3274
Essaie de copier le style du site.
N'oublie pas d'inclure une feuille de route. Le cours dure 15 semaines.

https://lemire.me/trad4030/

« La résistance est inutile. »
— Jean-Luc Picard (Star Trek)

Créer une nouvelle application web à une journée

Jeudi 7 mai 2026

Après-midi : la direction transmet les fichiers Excel des plans de travail.

Vendredi 8 mai 2026

8 h 20

8 h 25

8 h 45

Vendredi 8 mai 2026

9 h 00

https://encrerouge.ink

Optimisation du code

  • Deux optimisations (10% chacune)
  • Librairie hyper optimisée (meilleure au monde)

Organisation du travail désuette

La mauvaise nouvelle...

Tu es devenu plus que ta peur. Laisse cela te protéger.

— Cassian Andor (Andor, 2e saison)

Questions ?

Daniel Lemirelemire.me (blog)

https://simdjson.org

https://roaringbitmap.org

https://simdutf.github.io/simdutf/

https://fastfloat.github.io/fast_float/