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 la planification.
- Rôles, événements et artefacts Scrum mappés aux cycles de projets académiques.
- Kanban et gestion basée sur le flux pour les équipes de recherche et d'enseignement.
- Choix d'hybrides agiles adaptés aux environnements d'ingénierie et de design.
Planification Agile et collaboration
- Rédaction de user stories et définition des critères d'acceptation pour les problèmes d'ingénierie.
- Techniques de priorisation du backlog : MoSCoW, valeur vs. effort, ordonnancement piloté par les risques.
- Planification de sprint et estimation avec des équipes non logicielles.
- Rétrospectives et amélioration continue dans un contexte académique.
- Outils et tableaux de collaboration pour les participants multidisciplinaires.
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.
- Construction d'une culture sans blame et de boucles de feedback dans les institutions éducatives.
- Considérations éthiques, de sécurité et de conformité dans l'adoption de DevOps dans le milieu académique.
Gestion de version et gestion collaborative du code
- Fondamentaux de Git pour un travail d'ingénierie et de design reproductible.
- Stratégies de branches : branche principale, branches de fonctionnalités et GitFlow simplifié.
- Pull requests, revue par les pairs et propriété du code dans les équipes d'enseignement.
- Gestion des actifs non liés au code : fichiers CAD, 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 construction
- Concepts d'CI et leur application aux outils d'ingénierie compilés et scriptés.
- Mise en place de constructions automatisées pour les logiciels, les simulations et la documentation.
- Étapes du pipeline : compilation, empaquetage, 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 comme qualité : docstrings, normes README et documentation évolutive.
- Intégration de portes de qualité dans les pipelines CI sans bloquer la progression des étudiants.
Stratégies de test et conception des tests
- Pyramide des tests : tests unitaires, tests d'intégration, tests système et tests d'acceptation.
- Rédaction de tests unitaires pour les calculs d'ingénierie, les simulations et les utilitaires.
- Fondamentaux du développement piloté par les tests (TDD) et du développement piloté par le comportement (BDD).
- Mocking des systèmes externes : capteurs, API, solveurs d'éléments finis.
- Structuration des suites de tests pour les projets d'équipes multidisciplinaires.
Automatisation des tests et tests continus
- Automatisation de l'exécution des tests dans les pipelines CI/CD.
- Rapports de test, 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 travaux pratiques de cours en évolution.
- Tests de performance et de charge pour les charges de travail de simulation et de rendu.
Concepts de livraison et déploiement continus
- Fondamentaux de CD : livraison vs. déploiement, environnements et promotion.
- Modèles de déploiement : bleu-vert, canari et interrupteurs de fonctionnalités.
- Application des principes de CD pour publier des artefacts de recherche, des sites de cours et des applications.
- Fondamentaux des conteneurs avec Docker pour des environnements d'ingénierie reproductibles.
- Introduction à l'infrastructure as Code : gestion déclarative des configurations de laboratoire et de cloud.
Observabilité, surveillance et feedback
- 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 feedback pour itérer sur les supports d'enseignement et les travaux pratiques.
- Tableaux de bord et alertes appropriés pour les contextes éducatifs.
- Vérification post-déploiement et procédures de retour arrière.
Meilleures pratiques de sécurité et de qualité
- Fondamentaux du codage sécurisé : validation des entrées, authentification et gestion des secrets.
- Analyse des dépendances et gestion des vulnérabilités dans les piles open source.
- Conformité des licences pour les logiciels utilisés dans l'enseignement et la publication.
- Considérations relatives à la confidentialité des données lors de la gestion 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 d'assignations de projets agiles pour les étudiants en systèmes, génie civil, design et architecture.
- Création de grilles d'évaluation qui évaluent la qualité du processus ainsi que celle du produit.
- Mise en place de dépôts modèles avec CI pré-configuré pour l'utilisation par les étudiants.
- Échafaudage 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 LMS existants, stockage de fichiers et infrastructure de laboratoire.
- Gestion de la dette technique dans les bases de code de recherche à long terme.
- Intégration des étudiants et du personnel enseignant ayant des niveaux techniques variés.
- Maintenir la durabilité lorsque les contributeurs clés diplômés ou tournent.
Pré requis
- Une compréhension de base des concepts de développement de logiciels.
- Une familiarité avec les workflows généraux de l'ingénierie ou du design.
- De l'expérience dans l'utilisation des ordinateurs pour un travail académique ou basé sur des projets.
Audience cible
- Professeurs et chargés de cours provenant des programmes d'ingénierie des systèmes, de génie civil, de design et d'architecture.
- Personnel académique cherchant à moderniser son enseignement avec des pratiques pertinentes pour l'industrie.
- Responsables de recherche et coordonnateurs de laboratoires 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