Prenez contact avec nous

Plan du cours

Fondements de la pensée Agile

  • Le manifeste Agile et sa pertinence au-delà du logiciel
  • Comparaison d'Agile avec les modèles traditionnels en cascade et pilotés par la planification
  • Rôles, événements et artefacts Scrum adapté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 Agile 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 basé sur les risques
  • Planification de sprint et estimation avec des équipes non logicielles
  • Rétrospectives et amélioration continue dans un cadre académique
  • Outils et tableaux de collaboration 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
  • Mise en place d'une culture sans culpabilité et de boucles de feedback dans les institutions éducatives
  • Considérations éthiques, de sécurité et de conformité dans l'adoption de DevOps par 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 branching : trunk-based, branches de fonctionnalités et GitFlow simplifié
  • Pull requests, revue par les pairs et propriété du code au sein des équipes d'enseignement
  • Gestion des actifs non-code : fichiers CAD, modèles BIM, jeux de données de simulation
  • Organisation des dépôts pour le matériel pédagogique et les projets étudiants

Intégration Continue et Automatisation de la Construction

  • Concepts de l'intégration continue (CI) et leur application aux outils d'ingénierie compilés et scriptés
  • Configuration de constructions automatisées pour les logiciels, simulations et documentations
  • É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 en 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 vivante
  • Intégration de barrières 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, d'intégration, système et d'acceptation
  • Rédaction de tests unitaires pour les calculs d'ingénierie, simulations et utilitaires
  • Fondamentaux du développement piloté par les tests (TDD) et du développement piloté par le comportement (BDD)
  • Simulation de systèmes externes : capteurs, API, solveurs par éléments finis
  • Structuration des suites de tests pour les projets d'équipes pluridisciplinaires

Automatisation des Tests et Test Continu

  • Automatisation de l'exécution des tests dans les pipelines CI/CD
  • Rapports de tests, seuils de couverture et gestion des tests intermittents (flaky tests)
  • 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 travaux de simulation et de rendu

Concepts de Livraison Continue et Déploiement

  • Fondamentaux de la livraison continue (CD) : livraison vs déploiement, environnements et promotion
  • Modèles de déploiement : blue-green, canary et commutateurs de fonctionnalités (feature toggles)
  • Application des principes CD pour publier des artefacts de recherche, des sites de cours et des applications
  • Initiation aux 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

  • Journaux, 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 le matériel pédagogique et les travaux pratiques
  • Tableaux de bord et alertes adaptés aux contextes éducatifs
  • Vérification post-déploiement et procédures de retour arrière (rollback)

Meilleures Pratiques en Matière de Sécurité et de Qualité

  • Fondamentaux du codage sécurisé : validation des entrées, authentification et gestion des secrets
  • Scanning 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 relatives à la confidentialité des données lors de la manipulation de données étudiantes et de recherche
  • Mise en place d'une culture consciente de la sécurité dans les programmes d'ingénierie et de design

Traduction des Pratiques en Modules Pédagogiques

  • Conception d'attributions de projets agiles pour les étudiants en systèmes, génie civil, design et architecture
  • Création de grilles d'évaluation qui jugent à la fois la qualité du processus et celle du produit
  • Mise en place de dépôts modèles avec CI pré-configuré pour l'utilisation par les étudiants
  • Échelonnement progressif des concepts DevOps tout au long d'un 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 de leur budget
  • Intégration avec les LMS existants, le stockage de fichiers et l'infrastructure de laboratoire
  • Gestion de la dette technique dans les bases de code de recherche à long terme
  • Intégration des étudiants et du personnel avec des niveaux de compétences techniques variés
  • Maintenir la durabilité lorsque les contributeurs clés diplôment ou changent de poste

Pré requis

  • Une compréhension de base des concepts de développement logiciel
  • 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 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
  • Le personnel académique souhaitant moderniser son enseignement avec des pratiques pertinentes pour l'industrie
  • Responsables de recherche et coordinateurs de laboratoire intégrant la technologie dans les programmes
 42 Heures

Nombre de participants


Prix par participant

Nos clients témoignent (2)

Cours à venir

Catégories Similaires