Utilisation de l'IA #14

Open
opened 2026-01-23 14:17:51 +01:00 by bruno.d2b · 12 comments
Member

Si l'utilisation de l'IA augmente la productivité , son usage peut conduire à certains inconvénients (documents verbeux, code complexe, ...). On peut également privilégier l'usage de certains outils vis à vis d'autres (LLM particuliers, cloud vs local) ou favoriser voir développer des skills adaptés à notre projet.

J'ouvre ce ticket pour recueillir l'avis de chacun pour identifier un ensemble de bonnes pratiques à suivre pour nos travaux.

J'en profite pour donner mon avis :

  • Cas d'usage ciblés :

    • Découverte du repo en complément des documents existants, demande d'explication sur des sujets ou notions inconnus
    • Initialisation de documentation
    • Initialisation de code
    • Questionnement sur les docs de la norme
  • Outils auxquels je peux accéder pour le projet :

    • Claude CLI initialisé sur le projet dans VSCode
    • tests du skill https://mcpmarket.com/tools/skills/cucumber-gherkin-bdd pour rédiger deux guides d'introduction à BDD
    • Modèles locaux via ollama/webUI sur Linux ou Mac (LM Studio)
  • Suggestions pour le projet :

    • Mettre en place un notebook sur la documentation officielle ou projet (vectoriser la documentation et mettre à disposition un bot type RAG specialisé sur notre projet (opennotebook https://www.open-notebook.ai/ )
    • Proposer un ou plusieurs skills pour le projet pour les différents types d'utilisateur (developpeur, métier, support, ...)
  • Points d'attention :

    • Eviter que l'usage de l'IA "vampirise" le code ou la doc (injection d'éléments non maitrisés/vérifiés par le contributeur)
    • Partager des bonnes pratiques voire des outils pour améliorer la qualité et la productivité

Je propose de faire une synthèse des différentes contributions.

Si l'utilisation de l'IA augmente la productivité , son usage peut conduire à certains inconvénients (documents verbeux, code complexe, ...). On peut également privilégier l'usage de certains outils vis à vis d'autres (LLM particuliers, cloud vs local) ou favoriser voir développer des skills adaptés à notre projet. J'ouvre ce ticket pour recueillir l'avis de chacun pour identifier un ensemble de bonnes pratiques à suivre pour nos travaux. J'en profite pour donner mon avis : - Cas d'usage ciblés : - Découverte du repo en complément des documents existants, demande d'explication sur des sujets ou notions inconnus - Initialisation de documentation - Initialisation de code - Questionnement sur les docs de la norme - Outils auxquels je peux accéder pour le projet : - Claude CLI initialisé sur le projet dans VSCode - tests du skill `https://mcpmarket.com/tools/skills/cucumber-gherkin-bdd` pour rédiger deux guides d'introduction à BDD - Modèles locaux via ollama/webUI sur Linux ou Mac (LM Studio) - Suggestions pour le projet : - Mettre en place un notebook sur la documentation officielle ou projet (vectoriser la documentation et mettre à disposition un bot type RAG specialisé sur notre projet (opennotebook `https://www.open-notebook.ai/` ) - Proposer un ou plusieurs skills pour le projet pour les différents types d'utilisateur (developpeur, métier, support, ...) - Points d'attention : - Eviter que l'usage de l'IA "vampirise" le code ou la doc (injection d'éléments non maitrisés/vérifiés par le contributeur) - Partager des bonnes pratiques voire des outils pour améliorer la qualité et la productivité Je propose de faire une synthèse des différentes contributions.
Member

Quelques idées :

On peut espérer que l'ia soit capable de convertir un test BDD en langage clair vers le code python correspondant.

Si c'est possible, on pourrait :

Quelques idées : On peut espérer que l'ia soit capable de convertir un test BDD en langage clair vers le code python correspondant. Si c'est possible, on pourrait : * mettre dans la doc le prompt qui va bien pour ce genre de tache, en exprimant les contraintes ou exigeance inhérente à notre projet * si c'est possible on pourrait créer un fichier AGENTS.md qui cadre le comportement de lIA Voir https://agents.md/ * on peut aussi définir des macros Voir https://docs.github.com/en/github-models/use-github-models/storing-prompts-in-github-repositories
Author
Member

Sur la partie production de test BDD: je pense qu'il faut rechercher dans l'IA plutôt une assistance qu'une substitution de tache. On aura tres difficilement un produit fini construit par l'IA (le prompt magique !). Et cela dépend des outils maitrisés par le contributeur qui ne sont pas interopérables bien sûr. Par contre initialiser du code en réutilisant les fonctions python existantes ou coder une fonction spécifique, cela peut etre intéressant.

On pourrait donc favoriser le partage entre contributeurs selon les outils utilisés (pour ce que je connais sur Claude CLI, le fichier CLAUDE.md et un skill adapté). D'autres partageront des fichiers agent.md, des modeles de prompt...
Cela pourrait se faire dans un "projet" Forgejo dédié.

**Sur la partie production de test BDD**: je pense qu'il faut rechercher dans l'IA plutôt une assistance qu'une substitution de tache. On aura tres difficilement un produit fini construit par l'IA (le prompt magique !). Et cela dépend des outils maitrisés par le contributeur qui ne sont pas interopérables bien sûr. Par contre initialiser du code en réutilisant les fonctions python existantes ou coder une fonction spécifique, cela peut etre intéressant. On pourrait donc favoriser le partage entre contributeurs selon les outils utilisés (pour ce que je connais sur Claude CLI, le fichier CLAUDE.md et un skill adapté). D'autres partageront des fichiers agent.md, des modeles de prompt... Cela pourrait se faire dans un "projet" Forgejo dédié.
Member

Tout à fait d'accord. Je serais plutot favorable a mettre ces informations dans la doc développeur plutot que sur un autre projet.

On est parti sur un monorepo pour tout avoir sous la main. Si on le met dans la doc, cela enlèvera tout équivoque.

Tout à fait d'accord. Je serais plutot favorable a mettre ces informations dans la doc développeur plutot que sur un autre projet. On est parti sur un monorepo pour tout avoir sous la main. Si on le met dans la doc, cela enlèvera tout équivoque.
Member

A voir:

un prompt pour lire la norme et faire le bdd correspondant

un prompt pour lire un bdd et faire le code correspondant

**A voir:** un prompt pour lire la norme et faire le bdd correspondant un prompt pour lire un bdd et faire le code correspondant

pensez à décrire dans la doc notre usage de l'IA dans ce projet

voir par exemple comment il ont fait ça sur le projet ghostty

pensez à décrire dans la doc notre `usage` de l'IA dans ce projet voir par exemple comment il ont [fait ça sur le projet ghostty](https://github.com/ghostty-org/ghostty/blob/main/AI_POLICY.md)
Author
Member
  1. Très bien la policy de ghostty, à adapter cependant :
  • Le named and shamed pour les PR qui viennent de personnes externes peut etre questionné
  • Distinction très claire entre les mainteneurs et les contributeurs externes
    Mais très bon point de départ, je proposerai une rédaction.
  1. Je teste avec Claude une skill "Construction_PA" sur la base de plusieurs UC que l'on pourra challenger en raisonnant par brique
  • Lire le README.md de la brique, les feature déjà réalisés pour identifier la couverture des tests BDD
  • A partir d'une rédaction d'exigence métier en langage naturel, le README, les feature existants proposer un feature en Gerkhin ainsi que les éléments de l'exigence hors briques
  • Prendre une feature, générer le squelette de code et un ou plusieurs exemples de solution de code

Je pense que je peux faire produire par Claude un prompt "autoporteur" pour chaque UC. Si certains ont une pratique avancée de Mistral pour le code, je suis preneur. Et on pourra tester.

1. Très bien la policy de ghostty, à adapter cependant : - Le named and shamed pour les PR qui viennent de personnes externes peut etre questionné - Distinction très claire entre les mainteneurs et les contributeurs externes Mais très bon point de départ, je proposerai une rédaction. 2. Je teste avec Claude une skill "Construction_PA" sur la base de plusieurs UC que l'on pourra challenger en raisonnant par brique - Lire le README.md de la brique, les feature déjà réalisés pour identifier la couverture des tests BDD - A partir d'une rédaction d'exigence métier en langage naturel, le README, les feature existants proposer un feature en Gerkhin ainsi que les éléments de l'exigence hors briques - Prendre une feature, générer le squelette de code et un ou plusieurs exemples de solution de code Je pense que je peux faire produire par Claude un prompt "autoporteur" pour chaque UC. Si certains ont une pratique avancée de Mistral pour le code, je suis preneur. Et on pourra tester.
Author
Member

Proposition d'une pièce à casser pour la Politique d'utilisation de l'IA.
Je suis parti de l'exemple de Ghostty
J'ai traduit et simplifié. J'ai gardé le named and shamed à la fin en clin d'oeil.

Je rajoute @teddy.morel dans la boucle.

Proposition d'une pièce à casser pour la Politique d'utilisation de l'IA. Je suis parti de l'exemple de [Ghostty](https://github.com/ghostty-org/ghostty/blob/main/AI_POLICY.md) J'ai traduit et simplifié. J'ai gardé le named and shamed à la fin en clin d'oeil. Je rajoute @teddy.morel dans la boucle.
Author
Member

Politique d'utilisation de l'IA

Le projet PDPLibre pour la construction de la PA définit les règles suivantes pour l’usage de l’Intelligence Artificielle.

L'IA est bienvenue

Chaque développeur est libre d’intégrer dans sa pratique l’usage de l’IA. Il le fait sous sa responsabilité et selon ses compétences et expériences. Dans le cadre du projet de construction de la PA, l’IA est un vu comme un outil de productivité.
La définition d’une politique d’utilisation de l’IA permet de doter le projet de règles communes destinées à garantir la qualité des contributions permises par le recours à ces outils.

Chacun peut développer un usage de l’IA particulièrement adapté aux spécificités métier et technique du projet. Le partage de cet usage peut être réalisé par une documentation soumise à revue et acceptation (Ticket, PR) pour être intégrée au repo.

Exemples

  • prompts
  • skill ou agent utiles au développement

Des outils transversaux utilisant l’IA peuvent également être mise en place.

Exemples

  • mise en place d’un BOT ou d’une application de type RAG facilitant l’accès au référentiel documentaire du projet.
  • serveur MCP

Règles communes

Qualité des outils utilisés

Chaque contributeur est responsable de la qualité des contenus produits par les outils qu’il utilise. Il doit s’assurer que les termes de propriété intellectuelle du contenu produit l’autorise à partager ce contenu en son nom.

Dans le mesure où le code du projet est ouvert, tout outil du marché dans le Cloud peut être utilisé.

Signalement de l’usage de l’IA

Toute utilisation de l'IA sous quelque forme que ce soit doit être annoncée. Vous devez indiquer l'outil que vous avez utilisé (par ex. Mistral, Claude Code, Cursor, Amp) ainsi que le cadre d’utilisation de cet outil.

Les PR générés par IA doivent être associées à un Ticket (question qui se pose d’abord indépendamment de l’IA)

Les Pull Request générées par IA de quelque manière que ce soit par l'IA ne peuvent être générées sans association avec un Ticket. Les PR qui ne référencent pas une solution acceptée décrite dans un Ticket seront seront fermées. Si l'IA n'est pas signalée mais qu'un mainteneur soupçonne son utilisation, la PR sera fermée. Si vous souhaitez partager un code pour un problème non recensé, ouvrez un Ticket ou joignez-la à un Ticket existant.

Qualité des PR générées par IA (sujet qui a un sens aussi hors IA)

Les PR créées par l'IA doivent avoir été entièrement vérifiées avec une utilisation humaine. L'IA ne doit pas créer un code hypothétiquement correct qui n'a pas été testé. Il est important de noter que vous ne devez pas utiliser l'IA pour un code non testé dans l’environnement de développement.

Utilisation de l’IA dans des Tickets ou discussion

Les Tickets et les discussions peuvent utiliser l'assistance de l'IA, mais doivent se faire sous le contrôle d’un humain. Cela signifie que tout contenu généré avec l'IA doit avoir été examiné et édité par un humain avant d'être soumis. L'IA génère du contenu verbeux qui ajoute du bruit au problème traité. Cela doit être maitrisé.

Utilisation de l’IA pour la génération de media

Aucun média généré par l'IA n'est autorisé (art, images, vidéos, audio, etc.). Le texte et le code sont le seul contenu acceptable généré par l'IA, selon les autres règles de cette politique.

Régulation des contributions par l’IA (à supprimer ?)

Les contributeurs faisant un usage de l’IA inapproprié seront interdits et ridiculisés en public. Vous avez été prévenu. Nous aimons aider les développeurs juniors à apprendre et à grandir, mais si cela vous intéresse, n'utilisez pas l'IA, et nous vous aiderons. Je suis désolé que les mauvais pilotes d'IA aient ruiné tout pour vous.

# Politique d'utilisation de l'IA Le projet PDPLibre pour la construction de la PA définit les règles suivantes pour l’usage de l’Intelligence Artificielle. ## L'IA est bienvenue Chaque développeur est libre d’intégrer dans sa pratique l’usage de l’IA. Il le fait sous sa responsabilité et selon ses compétences et expériences. Dans le cadre du projet de construction de la PA, l’IA est un vu comme un outil de productivité. La définition d’une politique d’utilisation de l’IA permet de doter le projet de règles communes destinées à garantir la qualité des contributions permises par le recours à ces outils. Chacun peut développer un usage de l’IA particulièrement adapté aux spécificités métier et technique du projet. Le partage de cet usage peut être réalisé par une documentation soumise à revue et acceptation (Ticket, PR) pour être intégrée au repo. > **Exemples** > - prompts > - skill ou agent utiles au développement Des outils transversaux utilisant l’IA peuvent également être mise en place. > **Exemples** > - mise en place d’un BOT ou d’une application de type RAG facilitant l’accès au référentiel documentaire du projet. > - serveur MCP ## Règles communes ### Qualité des outils utilisés **Chaque contributeur est responsable de la qualité des contenus produits par les outils qu’il utilise.** Il doit s’assurer que les termes de propriété intellectuelle du contenu produit l’autorise à partager ce contenu en son nom. Dans le mesure où le code du projet est ouvert, **tout outil du marché dans le Cloud peut être utilisé.** ### Signalement de l’usage de l’IA **Toute utilisation de l'IA sous quelque forme que ce soit doit être annoncée.** Vous devez indiquer l'outil que vous avez utilisé (par ex. Mistral, Claude Code, Cursor, Amp) ainsi que le cadre d’utilisation de cet outil. ### Les PR générés par IA doivent être associées à un Ticket *(question qui se pose d’abord indépendamment de l’IA)* **Les Pull Request générées par IA de quelque manière que ce soit par l'IA ne peuvent être générées sans association avec un Ticket.** Les PR qui ne référencent pas une solution acceptée décrite dans un Ticket seront seront fermées. Si l'IA n'est pas signalée mais qu'un mainteneur soupçonne son utilisation, la PR sera fermée. Si vous souhaitez partager un code pour un problème non recensé, ouvrez un Ticket ou joignez-la à un Ticket existant. ### Qualité des PR générées par IA *(sujet qui a un sens aussi hors IA)* **Les PR créées par l'IA doivent avoir été entièrement vérifiées avec une utilisation humaine.** L'IA ne doit pas créer un code hypothétiquement correct qui n'a pas été testé. Il est important de noter que vous ne devez pas utiliser l'IA pour un code non testé dans l’environnement de développement. ### Utilisation de l’IA dans des Tickets ou discussion **Les Tickets et les discussions peuvent utiliser l'assistance de l'IA, mais doivent se faire sous le contrôle d’un humain.** Cela signifie que tout contenu généré avec l'IA doit avoir été examiné et édité par un humain avant d'être soumis. L'IA génère du contenu verbeux qui ajoute du bruit au problème traité. Cela doit être maitrisé. ### Utilisation de l’IA pour la génération de media **Aucun média généré par l'IA n'est autorisé (art, images, vidéos, audio, etc.).** Le texte et le code sont le seul contenu acceptable généré par l'IA, selon les autres règles de cette politique. ### Régulation des contributions par l’IA *(à supprimer ?)* **Les contributeurs faisant un usage de l’IA inapproprié seront interdits et ridiculisés en public.** Vous avez été prévenu. Nous aimons aider les développeurs juniors à apprendre et à grandir, mais si cela vous intéresse, n'utilisez pas l'IA, et nous vous aiderons. Je suis désolé que les mauvais pilotes d'IA aient ruiné tout pour vous.
Member

Je ne comprends pas cette phrase :
Il est important de noter que vous ne devez pas utiliser l'IA pour un code non testé dans l’environnement de développement.

Pourquoi on ne pourrait pas générer les médias avec l'IA ?

Je ne comprends pas cette phrase : `Il est important de noter que vous ne devez pas utiliser l'IA pour un code non testé dans l’environnement de développement.` Pourquoi on ne pourrait pas générer les médias avec l'IA ?
Author
Member

Sur la phrase : cela fait référence à des contributeurs ayant cloné le repo et qui ferait tourner l'IA pour écrire du code et une PR sans l'avoir exécuté et tester. Mais la formulation est à revoir.

Ajustement :
Il est important de noter que vous ne devez pas proposer un code généré avec l'IA sans l'avoir exécuté et testé dans l’environnement de développement.

Pour les médias, je l'ai repris de l'exemple. Mais oui on pourrait ne rien dire et l'autoriser. Après il peut y avoir un sujet de PI. De toute façon notre projet ne traite pas de cela.

Sur la phrase : cela fait référence à des contributeurs ayant cloné le repo et qui ferait tourner l'IA pour écrire du code et une PR sans l'avoir exécuté et tester. Mais la formulation est à revoir. Ajustement : `Il est important de noter que vous ne devez pas proposer un code généré avec l'IA sans l'avoir exécuté et testé dans l’environnement de développement.` Pour les médias, je l'ai repris de l'exemple. Mais oui on pourrait ne rien dire et l'autoriser. Après il peut y avoir un sujet de PI. De toute façon notre projet ne traite pas de cela.
Author
Member

@f.piccinali @philippe.entzmann : la salle n'est pas ouverte. Si vous allez sur l'ancien lien il est opérationnel

@f.piccinali @philippe.entzmann : la salle n'est pas ouverte. Si vous allez sur l'ancien lien il est opérationnel
Owner

Bonjour @bruno.d2b @ha @f.piccinali @philippe.entzmann
deux suggestions :

1/
Utilisation de l’IA pour la génération de media à conserver en l'état d'après moi.
je pense que c'est la décision la plus sage pour le projet pour le moment.
Pour moi, le seul vrai média "IA" qui pourrait avoir une valeur ajoutée serait les image pour les schemas mais on peut déjà utiliser l'IA pour générer du code et généré un schema avec PlantUML (schema d'achitecture par exemple).

un autre media auquel je pense serait des vidéos explicative/formation générées par IA. ça pourrait être tentant pour la comm', mais c'est une vraie boîte de Pandore pour 2 raisons :

  • Le risque d'image : On n'est pas à l'abri qu'une IA nous ponde une vidéo super propre en apparence, mais avec un détail foireux en arrière-plan (un symbole politique, un truc déplacé ou hors contexte par rapport aux valeurs de l'asso).

  • L'impossibilité de tout checker : Honnêtement, je ne me sens pas assez "capé" (et on n'a sans doute pas le temps) pour screener chaque seconde d'une vidéo ou chaque pixel d'une image afin de garantir que tout est 100% "safe" et diffusable. Un petit détail qui passe entre les mailles du filet, et c'est la réputation de l'asso qui en prend un coup .

2/
Régulation des contributions par l’IA:
voici une proposition de reformulation.

L'utilisation de l'IA au sein de ce projet est soumise à des règles strictes pour garantir la qualité et la sécurité de notre code :

  • Tolérance zéro pour le code malveillant : Tout utilisateur générant ou tentant d'introduire du code malveillant (via l'IA ou non) sera immédiatement banni de la communauté de façon définitive.

  • Conformité sécuritaire : Chaque proposition de code doit être rigoureusement conforme aux politiques de sécurité établies dans le cadre de ce projet. L'utilisation d'un outil d'IA ne dédouane pas le contributeur de sa responsabilité quant à la dangerosité potentielle de sa soumission.

  • Priorité à l'apprentissage et à la maîtrise :
    Nous encourageons l'utilisation de l'IA comme levier d'apprentissage, à condition qu'elle reste un outil et non un substitut à la réflexion.

  • Compréhension requise : Nous vous incitons à utiliser l'IA, mais vous devez impérativement comprendre le code produit et être capable de l'expliquer.

  • Soutien communautaire : Si vous rencontrez des difficultés pour résoudre une problématique de la construction PA ou pour comprendre comment l'IA est parvenue à un résultat sur une problématique de construction PA, ne restez pas bloqué. Sollicitez un membre de la communauté : nous sommes là pour vous aider à décortiquer les concepts et à maîtriser la logique derrière chaque solution.

Bonjour @bruno.d2b @ha @f.piccinali @philippe.entzmann deux suggestions : 1/ Utilisation de l’IA pour la génération de media à conserver en l'état d'après moi. je pense que c'est la décision la plus sage pour le projet pour le moment. Pour moi, le seul vrai média "IA" qui pourrait avoir une valeur ajoutée serait les image pour les schemas mais on peut déjà utiliser l'IA pour générer du code et généré un schema avec PlantUML (schema d'achitecture par exemple). un autre media auquel je pense serait des vidéos explicative/formation générées par IA. ça pourrait être tentant pour la comm', mais c'est une vraie boîte de Pandore pour 2 raisons : * Le risque d'image : On n'est pas à l'abri qu'une IA nous ponde une vidéo super propre en apparence, mais avec un détail foireux en arrière-plan (un symbole politique, un truc déplacé ou hors contexte par rapport aux valeurs de l'asso). * L'impossibilité de tout checker : Honnêtement, je ne me sens pas assez "capé" (et on n'a sans doute pas le temps) pour screener chaque seconde d'une vidéo ou chaque pixel d'une image afin de garantir que tout est 100% "safe" et diffusable. Un petit détail qui passe entre les mailles du filet, et c'est la réputation de l'asso qui en prend un coup . 2/ **Régulation des contributions par l’IA:** voici une proposition de reformulation. L'utilisation de l'IA au sein de ce projet est soumise à des règles strictes pour garantir la qualité et la sécurité de notre code : - **Tolérance zéro pour le code malveillant :** Tout utilisateur générant ou tentant d'introduire du code malveillant (via l'IA ou non) sera **immédiatement banni de la communauté** de façon définitive. - **Conformité sécuritaire :** Chaque proposition de code doit être rigoureusement conforme aux politiques de sécurité établies dans le cadre de ce projet. L'utilisation d'un outil d'IA ne dédouane pas le contributeur de sa responsabilité quant à la dangerosité potentielle de sa soumission. - **Priorité à l'apprentissage et à la maîtrise :** Nous encourageons l'utilisation de l'IA comme levier d'apprentissage, à condition qu'elle reste un outil et non un substitut à la réflexion. * **Compréhension requise :** Nous vous incitons à utiliser l'IA, mais vous devez impérativement comprendre le code produit et être capable de l'expliquer. * **Soutien communautaire :** Si vous rencontrez des difficultés pour résoudre une problématique de la construction PA ou pour comprendre comment l'IA est parvenue à un résultat sur une problématique de construction PA, ne restez pas bloqué. Sollicitez un membre de la communauté : nous sommes là pour vous aider à décortiquer les concepts et à maîtriser la logique derrière chaque solution.
Sign in to join this conversation.
No milestone
No project
No assignees
5 participants
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
Construction_PA/PA_Communautaire#14
No description provided.