A propos de cette formation
La mise en place et l’industrialisation de solutions d’Intelligence Artificielle peut sembler hors de portée pour beaucoup d’entreprises, pourtant le marché propose aujourd’hui de nombreuses méthodes et bonnes pratiques permettant de fluidifier le passage sur les environnements de production.
Guidé par un expert Quantmetry, vous passerez en revue ces méthodes et bonnes pratiques pour accélérer la mise en production de vos projets : travail collaboratif, versionning, et automatisation n’auront plus de secret pour vous.
Objectifs pédagogiques
- Apprendre à gérer un code et son versionning de manière collaborative
- Maitriser les méhodes de développement pour renforcer la robustesse du code
- Savoir comment automatiser le pipeline et la mise en production (CI/CD)
- Connaitre les bonnes pratiques de développement et de tests
Qu'allez-vous apprendre ?
A l’issue de cette formation alliant définition des concepts clés et exercices pratiques, vous serez en mesure de :
Comprendre et utiliser l'approche Devops
Travailler de manière collaborative
Connaître les principales solutions du marché
Apprendre les fondamentaux d'une intégration continue
Apprendre les fondamentaux d'un déploiement continue
Connaître les principaux standards de développement
Le programme de la formation
Une formation sur 2 jours (2 x 7 heures) avec un parcours d’apprentissage clair et progressif. Nous veillons à ne pas vous perdre en chemin et faciliter la mémorisation des connaissances dont vous avez besoin pour avancer.
Consulter le programme du JOUR 1
Matin [4 h] : Théorie, bonnes pratiques et excercices
M1 – La travail collaboratif avec un outil de versionning
Travailler en groupe avec Git : les fondamentaux
1. Git : reprise des fondamentaux et batterie d’exercices sur Git
2. Méthodologie de developpement d’une feature : Spécification d’une tâche, Branch, Review / merge request
3. Présentation de l’interface de MR de gitlab
4. Introduction rapide à l’automatisation des tests sur gitlab
M2 – Python : travailler avec des environnements virtuels
Savoir créer et organiser des espaces de travail compartimentés
1. Pourquoi: reproductibilité
2. Exemples d’outils: venv, pipenv, conda
3. Exprimer et installer les dépendances
M3 – Python : standards de developpement
La clarté comme principe de collaboration
1. Pourquoi: lisibilité du code et travail à plusieurs
2. La convention PEP 8
3. Les outils : linting, auto-formattin, blake
M4 – Design Pattern d’un projet de code (focus Data Science)
Savoir structurer son code
1. Modularité
2. Domain Driven Design
Après-Midi [3h] : Qualité
M1 – Python: les tests
Assurer la qualité d’un code et entretenir les bonnes pratiques
1. Les différents types de tests
2. Quand et quoi tester ?
3. Notion de taux de couverture de tests
4. Outils de test en python
5. Outils spécifiques aux traitements de données
Batterie d’exercices sur les tests unitaires
Consulter le programme du JOUR 2
Matin [3h] : Documentation, intégration et déploiement
M1 – Retour sur la première journée
Bilan des acquis et atelier d’échange
1. Revue des exercices
2. Session de Q&A
M2 – Python : la documentation du code
Mutualiser la compréhension du projet
1. Que et quand faut-il documenter ?
2. Docstring : quels standards ?
3. Outils : comment générer la documentation
M3 – Automatisation : intégration continue
Se protéger contre la régression de code
1. Principes
2. Présentation de gitlab-ci
3. Automatiser les tests avec gitlab-ci
M4 – Automatisation : déploiement continu
Réduire les étapes et gagner en productivité en passant par l’automatisation
1. Principes
2. Qu’est-ce que je deploie ? Où est-ce que je le deploie ?
3. Monitoring
4. Infrastructure as code
5. Provisionnement vs deploiement
6. Présentation de quelques outils standards (Docker, Ansible)
M5 – Démarrer un nouveau projet python à partir d’un template
Gagner en efficacité avec cookiecutter
1. Cookiecutter : outil de templating
2. Initialiser un projet gitlab
Après-Midi [3h] : Atelier de mise en pratique
M1 – Implémentation sur un cas concret
Mise en condition groupée au travers d’une la mise en place d’une feature
1. Exercice : industrialisation d’un notebook exploratoire en application python industrialisée
2. Travail en équipe : developpement d’une feature
3. Spécification des tâches
4. Initialiser son projet
5. Scripting et documentation des fonctions, classes
6. Implémentation des test
7. Pipeline d’intégration
8. Merge request
Modalités d’évaluation d’atteinte des objectifs de la formation
• QCM d’évaluation pour valider l’acquisition des connaissances et l’atteinte des objectifs de chaque formation
Modalités et délais d’accès
Les inscriptions ont lieu au travers du processus d’admission suivant :
• Une qualification de besoin recueillie avec le client
• Qualification des profils en ateliers avec le formateur et le client
Le délai d’accès à la formation est de 11 jours ouvré avant le premier jour de la formation.
Accessibilité aux personnes en situation de handicap
Nous contacter en cas de besoin d’accessibilité particulier pour un participant.
Coordonnées du référent handicap : Mathylde Vilain - mvilain@quantmetry.com
Les modalités pédagogiques
Une formation qui se veut avant tout « Hands-on » avec 70% de pratique et nous espérons beaucoup d’échanges constructifs entre vous et avec nous.
30% d'exposé
Juste de qu'il faut de théorie pour comprendre les notions clés et passer directement à la pratique
70% de pratique
Une formation orientée pratique avec de multiples exercices et la revue en profondeur du code
Interactive
Echangez avec le groupe et votre formateur expert sur vos problématiques et trouvez des réponses
Remis pédagogiques : vous repartez avec ...
- Un book de fiches mémoires résumant les points clés de la formation
- L'ensemble des codes présentés lors de la séance
Publics et Prérequis
Toute personne avec un profil technique souhaitant mettre en place une démarche DEVOPS pour ses projets IA.
Prérequis : Notions de Python et culture générale des systèmes d’information


