Merci d'avoir envoyé votre demande ! Un membre de notre équipe vous contactera sous peu.
Merci d'avoir envoyé votre réservation ! Un membre de notre équipe vous contactera sous peu.
Plan du cours
Fondements de la pensée Agile
- Le manifeste Agile et sa pertinence au-delà du logiciel
- Comparaison de l'agile avec les modèles traditionnels en cascade et pilotés par le plan
- Rôles, événements et artefacts Scrum cartographiés sur les cycles de projets académiques
- Kanban et gestion basée sur le flux pour les équipes de recherche et d'enseignement
- Choix des hybrides agiles adaptés aux environnements d'ingénierie et de design
Planification agile et collaboration
- Rédaction de récits utilisateurs et définition des critères d'acceptation pour les problèmes d'ingénierie
- Techniques de priorisation du backlog : MoSCoW, valeur par rapport à l'effort, ordre basé sur les risques
- Planification de sprint et estimation avec des équipes non logicielles
- Rétrospectives et amélioration continue dans un contexte académique
- Outils de collaboration et tableaux pour les participants pluridisciplinaires
Introduction à la culture DevOps
- Définition de DevOps : briser les silos entre le développement et les opérations
- Le modèle CALMS : Culture, Automatisation, Lean, Mesure, Partage
- DevOps dans les laboratoires de recherche, les équipes de génie civil et les studios d'architecture
- Création d'une culture sans faute et de boucles de rétroaction dans les établissements d'enseignement
- Considérations éthiques, de sécurité et de conformité lors de l'adoption de DevOps dans le milieu académique
Contrôle de version et gestion collaborative du code
- Fondamentaux de Git pour un travail d'ingénierie et de design reproductible
- Stratégies de branchement : trunk-based, branches de fonctionnalités et GitFlow simplifié
- Demandes de fusion (pull requests), revue par les pairs et propriété du code au sein des équipes pédagogiques
- Gestion des actifs non code : fichiers CAO, modèles BIM, ensembles de données de simulation
- Organisation des dépôts pour les supports de cours et les projets étudiants
Intégration continue et automatisation de la compilation
- Concepts de CI et leur application aux outils d'ingénierie compilés et scriptés
- Mise en place de compilations automatisées pour les logiciels, les simulations et la documentation
- Étapes du pipeline : compilation, packaging, linting et vérifications préliminaires
- Aperçu des plateformes CI populaires : GitHub Actions, GitLab CI, Jenkins
- Gestion des gros artefacts, mise en cache des dépendances et exécution parallèle
Qualité logicielle et analyse statique
- Définition de la qualité logicielle : maintenabilité, fiabilité, utilisabilité, efficacité
- Métriques de code : complexité cyclomatique, couplage, cohésion et duplication
- Outils d'analyse statique pour Python, Java, C++ et scripts d'ingénierie courants
- La documentation en tant que qualité : docstrings, normes README et documents vivants
- Intégration des portes de qualité dans les pipelines CI sans bloquer les progrès des étudiants
Stratégies de test et conception des tests
- La pyramide des tests : tests unitaires, d'intégration, système et d'acceptation
- Rédaction de tests unitaires pour les calculs d'ingénierie, les simulations et les utilitaires
- Fondamentaux du développement dirigé par les tests (TDD) et du développement dirigé par le comportement (BDD)
- Simulation de systèmes externes : capteurs, API, solveurs d'éléments finis
- Structuration des suites de tests pour les projets d'équipes pluridisciplinaires
Automatisation des tests et tests continus
- Automatisation de l'exécution des tests au sein des pipelines CI/CD
- Rapports de tests, seuils de couverture et gestion des tests instables
- Tests basés sur les propriétés et fuzzing pour les algorithmes d'ingénierie
- Stratégies de tests de régression pour les devoirs de cours en évolution
- Tests de performance et de charge pour les charges de travail de simulation et de rendu
Concepts de livraison continue et déploiement
- Fondamentaux de la CD : livraison par rapport au déploiement, environnements et promotion
- Modes de déploiement : bleu-vert, canari et commutateurs de fonctionnalités
- Application des principes de la CD pour publier des artefacts de recherche, des sites de cours et des applications
- Les bases des conteneurs avec Docker pour des environnements d'ingénierie reproductibles
- Introduction à l'infrastructure en tant que code : gestion déclarative des configurations de laboratoire et de cloud
Observabilité, surveillance et rétroaction
- Journalisation, métriques et traçage pour les logiciels académiques et les simulations
- Mise en place d'une surveillance légère pour les projets étudiants et les outils de recherche
- Utilisation des données de rétroaction pour itérer sur les supports pédagogiques et les devoirs de laboratoire
- Tableaux de bord et alerting adaptés aux contextes éducatifs
- Vérification post-déploiement et procédures de rollback
Meilleures pratiques de sécurité et de qualité
- Fondamentaux du codage sécurisé : validation des entrées, authentification et gestion des secrets
- Scanner des dépendances et gestion des vulnérabilités dans les stacks open source
- Conformité des licences pour les logiciels utilisés dans l'enseignement et la publication
- Considérations de confidentialité des données lors de la manipulation des données des étudiants et de la recherche
- Construction d'une culture consciente de la sécurité dans les programmes d'ingénierie et de design
Traduction des pratiques en modules d'enseignement
- Conception de devoirs de projet agiles pour les étudiants en ingénierie des systèmes, génie civil, design et architecture
- Création de grilles d'évaluation évaluant la qualité du processus parallèlement à la qualité du produit
- Mise en place de dépôts modèles avec CI pré-configuré pour l'utilisation par les étudiants
- Étayage progressif des concepts DevOps tout au long du semestre
- Évaluation des équipes étudiantes à l'aide de métriques réelles de qualité et d'automatisation
Sélection de la chaîne d'outils et contraintes académiques
- Évaluation des outils gratuits et open source pour les départements soucieux du budget
- Intégration avec le LMS existant, le stockage de fichiers et l'infrastructure de laboratoire
- Gestion de la dette technique dans les bases de code de recherche à long terme
- Onboarding des étudiants et du personnel avec des niveaux de compétence technique variables
- Maintenance de la durabilité lorsque les contributeurs clés diplôment ou changent
Pré requis
- Une compréhension de base des concepts de développement logiciel
- Une familiarité avec les flux de travail généraux de l'ingénierie ou du design
- Une expérience dans l'utilisation des ordinateurs pour des travaux académiques ou basés sur des projets
Public cible
- Professeurs et chargés de cours des programmes d'ingénierie des systèmes, de génie civil, de design et d'architecture
- Personnel académique souhaitant moderniser son enseignement avec des pratiques pertinentes pour l'industrie
- Chefs de recherche et coordinateurs de laboratoire intégrant la technologie dans le curriculum
42 Heures
Nos clients témoignent (2)
Craig était très impliqué dans la formation, toujours en s'assurant que nous prêtions attention, en adaptant les exemples à nos activités quotidiennes et en fournissant une réponse chaque fois qu'on lui posait une question, même si l'information n'était pas incluse dans la présentation.
Ecaterina Ioana Nicoale - BOOKING HOLDINGS ROMANIA SRL
Formation - DevOps Foundation®
Traduction automatique
Niveau élevé d’engagement et de connaissances du formateur
Jacek - Softsystem
Formation - DevOps Engineering Foundation (DOEF)®
Traduction automatique