Outils de développement - Maîtriser les essentiels
À propos de ce cours
Ce cours présente le b.a.-ba des outils d'aide au développement. Il s'agit d'automatiser les processus de compilation, de gestion de versions
Plan du module
- Introduction
- Cmake
- Subversion
- Git
- Bibliographie
Programme du cours
Objectifs d'apprentissage
- Maîtriser les concepts fondamentaux des outils de développement modernes et leur utilité dans le cycle de vie d'un projet logiciel.
- Apprendre à configurer et utiliser CMake pour automatiser les processus de compilation sur différentes plateformes.
- Acquérir des compétences pratiques en gestion de versions avec Subversion (SVN) et Git, y compris la création de dépôts, les branches et les fusions.
- Comprendre les bonnes pratiques d'intégration continue et d'automatisation des tests dans un environnement de développement.
- Savoir évaluer et choisir les outils appropriés en fonction des besoins spécifiques d'un projet.
Public cible
Ce cours s'adresse aux développeurs débutants ou intermédiaires souhaitant améliorer leur productivité grâce aux outils modernes de développement. Il est particulièrement adapté aux étudiants en informatique, aux programmeurs autodidactes et aux professionnels cherchant à standardiser leurs workflows. Une connaissance de base de la programmation (de préférence en C/C++ ou Python) et de la ligne de commande est recommandée pour tirer pleinement profit du contenu.
Contenu détaillé
Ce cours présente le b.a.-ba des outils d'aide au développement. Il s'agit d'automatiser les processus de compilation, de gestion de versions et de déploiement pour gagner en efficacité et en qualité de code. Le parcours couvre à la fois des outils historiques comme Subversion et des standards actuels comme Git, tout en expliquant leur complémentarité.
Plan du module
- Introduction : Panorama des outils et leur rôle dans l'industrie (1h30)
- CMake :
- Écriture de scripts CMakeLists.txt (3h)
- Gestion des dépendances et compilation croisée (2h)
- Subversion :
- Création de dépôts SVN (1h)
- Workflow centralisé vs. décentralisé (2h)
- Git :
- Concepts de branches, merges et rebase (4h)
- Intégration avec GitHub/GitLab (2h)
- Bibliographie : Ressources pour approfondir (30 min)
Méthodologie
Le cours combine théorie (25%) et pratique (75%) avec des TP sur des projets réels. Chaque outil est abordé via :
- Une démonstration des fonctionnalités clés
- Des exercices guidés avec correction automatique
- Un mini-projet intégrant plusieurs outils
Évaluation
Un projet final évalué couvrant :
- La configuration d'un système de build avec CMake
- La gestion collaborative d'un dépôt Git avec résolution de conflits
- La documentation des workflows dans un README versionné