Formations au coeur des technologies

Essayer, tester, échanger les bonnes pratiques, partager les retours d'expériences, ...
toutes nos formations sont disponibles à distance (classes virtuelles) et en centre de formation (présentiel), au choix.
Vous pouvez même changer de modalité en cours de formation, si vous avez des contraintes : par exemple, commencer en présentiel et continuer les jours suivants à distance.
Les outils pédagogiques et l'infrastructure de travaux pratiques mis à disposition sont accessibles depuis nos locaux, ou depuis votre entreprise ou votre lieu de télétravail, à volonté
N'hésitez pas à tester nos formations et nos serious games !

Formation : IA - analyse et production de code informatique

Durée2 jours
Code coursIA053
Dates15 au 16 décembre

(cliquez sur une date pour vous inscrire)

Public:

Développeurs, chefs de projet

Objectifs:

Comprendre quels sont les apports de l'IA dans le process de développement, les principaux outils et savoir faire le choix adéquat selon le projet.

Connaissances préalables nécessaires:

Connaissances de Python ou d'un autre langage de programmation structuré. Expériences en développement.

Déroulé pédagogique


Apports de l'IA
Durée : 1h30
Méthodes pédagogiques : exposé/échanges
Matériels et moyens : video-projecteur en présentiel, tableau partagé en classe virtuelle
Interventions à plusieurs stades du process de développement
Vérification de la qualité du code, détection d'erreurs, de failles de sécurité,
vérification de la syntaxe, des règles de développement,
Analyse de code pour générer de la documentation, pour la gestion de sources,
Génération de tests automatisés.
Utilisation de modèles d'apprentissage automatique.
Proposition de modules de codes, autocompletion, génération de codes complets.
Intérêts : aide aux développeurs, gains de temps, contrôle exhaustif, meilleure documentation, ..
Quelques outils phares d'analyse de code : Pylint, Checkstyle, pycodestyle, Black, CodeQL,
d'autocompletion : Tabnine, Kite,
et de production de code : Alphacode, GitHub Copilot, Codex.
pycodestyle
Durée : 2h30
Méthodes pédagogiques : alternance de théorie et de travaux pratiques
Matériels et moyens : vidéo-projecteur en présentiel, tableau partagé en classe virtuelle, infrastructure distribuée serveurs Linux
Objectif : vérification de respect des conventions d'écriture PEP8
(Python Enhancement Proposal 8),
Fonctionnement : architecture modulaire, outil léger,
Intégration aux principaux IDE (VS Code, Pycharm, JupyterNotebook, ...)
renvoi direct aux erreurs lors de l'édition du code.
Configuration en mode utilisateir ou projet.
Atelier : installation de pydecodestyle,


mise en oeuvre sur un programme simple,
affichage des erreurs dans un code source,
intégration à JupyterNotebook
Pylint
Durée : 2h30
Méthodes pédagogiques : alternance de théorie et de travaux pratiques
Matériels et moyens : vidéo-projecteur en présentiel, tableau partagé en classe virtuelle, infrastructure distribuée serveurs Linux
Objectif : vérification du respect de la PEP8,
détection d'erreurs de programmation,aide au refactoring,
configuration des priorités utilisateur,
intégration continue, intégration avec les principaux éditeurs et ide.
Atelier : installation de Pylint,


configuration de la détection d'erreurs,
désactivation des vérifications de règles d'écriture et du refactoring,
test sur des programmes caractéristiques.
CodeQL
Durée : 2h
Méthodes pédagogiques : alternance de théorie et de travaux pratiques
Matériels et moyens : vidéo-projecteur en présentiel, tableau partagé en classe virtuelle, infrastructure distribuée serveurs Linux
Objectif : recherche de failles de sécurité dans du code
Fonctionnement :
génération d'une base de données à partir du code, exécution de requêtes sur cette base pour détecter les failles.
Langages traités, architecture : soit en local avec CodeQL-CLI, soit sur GitHub,
Principe d'intégration continue
Atelier : mise en oeuvre de CodeQL pour Python


Ecriture de requêtes basiques pour du code Python
Uuilisation de CodeQL library for Python
Alpĥacode
Durée : 1h
Méthodes pédagogiques : exposé/échanges
Matériels et moyens : video-projecteur en présentiel, tableau partagé en classe virtuelle
Présentation du projet Google deepmind
Principe de fonctionnement
Résultats obtenus sur CodeForces
Copilot
Durée : 2h
Méthodes pédagogiques : alternance de théorie et de travaux pratiques
Matériels et moyens : vidéo-projecteur en présentiel, tableau partagé en classe virtuelle, infrastructure distribuée serveurs Linux
Présentation du projet Git alimenté par OpenAI Codex.
Fonction : assistant virtuel en programmation.
Fourniture de suggestions de lignes entières de codes ou de fonction entières
Langages supportés
Atelier : démonstration sur GitHub de l'utilisation de Copilot


Codex
Durée : 2h
Méthodes pédagogiques : alternance de théorie et de travaux pratiques
Matériels et moyens : vidéo-projecteur en présentiel, tableau partagé en classe virtuelle, infrastructure distribuée serveurs Linux
Projet : OpenAI Codex, module du projet OpenAI,
production de code informatique à partir de requêtes exprimées en langage naturel
Ressources disponibles : bibliothèque de codes en ligne, hackathons, librairies Python, etc ...
Atelier : démonstration avec OpenAI Codex


Génération de code Python à partir d'un cahier des charges simple
Tests et amélioration du code depuis l'interface en langage naturel.
Les limites et risques
Durée : 1h
Méthodes pédagogiques : exposé/échanges
Matériels et moyens : video-projecteur en présentiel, tableau partagé en classe virtuelle
Nécessité d'une nouvelle organisation des tâches de développeurs.
Définition du problème à résoudre, définition des contraintes, des jeux d'essai, etc ...
Potentiels risques de sécurité, risques juridiques : origine des solutions utilisées, propriété du code/
Erreurs de compréhension, d'analyse du problème à résoudre.
Importance des contrôles humains à mettre en place.

Retour au descriptif
Modalités et délais d'accès
Méthodes mobilisées

Pythagore-F.D.

01 55 33 52 10
pfd@pythagore-fd.fr
Calendrier
Code cours : IA053

Contenu de la formation
IA - analyse et production de code informatique:

Accès à la liste des cours



Vous pouvez bien entendu composer votre programme personnel à partir de nos descriptifs de cours


Version du document : Ra08
Date de mise à jour du document : 2024/11/08