↩

IA et développement : Chat, assistants et agents de codage

Normanthiia – Formation des formateurs NSI & SNT

Bruno Mermet – Licence CC BY-NC-SA – 09/26

Plan

Utiliser un agent conversationnel

Précautions à prendre

##. Lorsqu’on obtient un résultat

Complétion de code

Précautions à prendre

Configurer vscode pour utilise ollama

installer l’extension requise

View > Extensions

Taper “continue”

Iinstaller Continue - open-source IA code agent

install vscode

Configurer Continue

configuration de continue : étapes 1 et 2

configuration de continue : étapes 3 et 4

Complétion de code : exemple de mise en œuvre

Application sur la classe Calculatrice.

Utilisation d’un agent de codage

Présentation

Agent de codage = outil avec lequel interagir pour développer son code. Deux grands types :

Utilisation

On travaille en vibe coding (on exprime nos besoins en langue naturelle, l’outil code à notre place).

L’outil peut être configuré pour s’adapter à nos besoins, par exemple avec l’ajout de skills (compétences).

L’outil possède souvent 2 modes (réalisés par 2 agents différents) : - planification : il émet un plan sur comment procéder, mais ne fait rien ; - ⚠ construction : il modifie directement les fichiers ⚠

Open code : présentation et installation

Présentation

Open code est un agent de codage open source en ligne de commande (CLI) et pouvant être configuré pour utiliser n’importe quel LLM.

Il existe également une version IDE, et des extensions pour des IDE classiques.

Installation

snap install ghostty --classic
apt install ghostty
curl -fsSL https://opencode.ai/install | bash

Lancement

Open code : pour bien commencer

Open code : 1er exemple

/init Ce répertoire va servir à écrire un cours en markdown dont les transparents seront générés en html via pandoc et slidy. Le répertoire "src" contiendra les sources en markdown et les images en png. un Makefile devra permettre de placer la version html du cours et les images dans un répertoire "public".

Création du fichier 01-intro.md

Que reste-t-il à faire ?
Par quoi compléter le fichier 01-intro.md ?

Après validation (naïve), repasser en mode build :

rédige
Pour chaque fait cité, rajoute une courte description de ce dont il s'agit ainsi qu'un lien vers un site web fiable.
Rajoute quelques images pour rendre les transparents moins austères
Modifie la présentation des transparents pour avoir le texte à gauche et l'image à droite.
Modifie la génération pour qu'une diapositive avec le plan soit automatiquement rajoutée au début du document à partir des titres de chacune des diapositives.

Analyse du résultat :

Open code : exemple de la calculatrice

Prompt initial :

/init Ce répertoire est dédié à la création d'un projet dont les différentes versions seront gérés par git. Tu devras stocker chacune des instructions que je te donne les unes à la suite des autres dans un fichier markdown appelés "prompts.md", avec un titre pour chaque prompt. Par ailleurs, chaque fois que tu modifieras le code, tu devras créer un commit avec la nouvelle version du code.

Avec un tel prompt :

- **prompts.md**: Store every instruction as a titled entry in `prompts.md`. Append each new prompt sequentially.
- **Git commits required**: Every code change must be committed with a descriptive message before proceeding.
- **Version management**: Git history IS the versioning system. Do not create version folders or copy files for versions.

Et donc par la suite, tout nouveau prompt saisi dans Open Code sera ajouté au fichier prompts.md, et chaque modification faite par Open Code donnera lieu à une nouvelle version dans l’historique.

La suite de prompts

C’est ici

Historique des version produites

C’est là

Ajouter des compétences (skills)

Fichier à créer

Exemple

---
name: expliquer-code
description: Explique simplement du code source à un débutant, avec une analogie et un petit exemple.
---

# Expliquer du code

Lorsqu'une question concerne l'explication d'un morceau de code :

1. Expliquer d'abord en termes très simples ce que fait le code.
2. Donner une analogie avec une situation de la vie courante.
3. Expliquer ensuite les principales instructions du code.
4. Terminer par un petit exemple concret.

Toujours utiliser un ton pédagogique et éviter le jargon inutile. Appeler ton interlocuteur "Très cher élève".

Open code : pour aller plus loin

commandes

/share

/compact

Interaction avec les LLM

Modifier le fichier ~/.config/opencode/opencode.jsonc ainsi

N.B : importance de maîtriser la ligne de commande

Pour automatiser les choses, utilisation intensive de la “ligne de commande” => maîtriser le shell devient impératif pour analyser le travail d’un agent de codage