Installation d'un Poste de Développement

SAÉ 1.03 - Configuration et optimisation d'un environnement de travail professionnel

Docker Virtualisation Linux Conteneurisation

Présentation du projet

Ce projet consistait à installer et configurer un poste de développement complet en utilisant des technologies de virtualisation et de conteneurisation comme Docker. L'objectif était de mettre en place un environnement de travail reproductible, efficace et adapté aux besoins du développement moderne.


Il s'inscrit dans le cadre de la compétence "Installer et configurer un poste pour le développement" et plus spécifiquement l'apprentissage critique "Identifier les composants matériels et logiciels".

Informations clés

  • Module : S1.03
  • Compétence : Installer et configurer un poste pour le développement
  • Apprentissage critique : Identifier les composants matériels et logiciels
  • Langage : Docker, Linux, Scripts
  • Organisation : Travail en équipe de 4
  • Durée : 5 semaines
  • Livrables : Scripts de configuration, documentation, page web, PDF

Étapes du projet

1
Analyse des besoins
2
Installation
3
Configuration
4
Tests et validation
liste Fichier
Rendu apres script

Description détaillée

La SAÉ Installation d'un Poste de Développement va bien au-delà de la simple installation d'un VSC et d'un GCC. Cette démarche s'inscrit dans la réalité du développement professionnel, où il faut configurer un environnement de travail complet incluant outils de documentation, gestion de code source, conversion de fichiers, et bien d'autres utilités nécessaires au quotidien d'un développeur.


Ce projet m'a permis de comprendre et mettre en pratique plusieurs concepts essentiels de l'environnement de développement moderne :

Virtualisation vs Conteneurisation

Maîtrise de la différence fondamentale entre ces deux approches et leurs cas d'utilisation spécifiques dans un environnement de développement.

Configuration Docker

Installation et configuration de Docker pour créer des environnements isolés et reproductibles pour le développement d'applications.

Scripts d'automatisation

Création de scripts pour automatiser l'installation et la configuration des différents outils et environnements nécessaires.

Gestion de l'environnement

Mise en place d'une solution robuste permettant de gérer efficacement les différentes versions de logiciels et leurs dépendances.

Méthodologie

La réalisation de ce projet a suivi une approche méthodique en plusieurs phases :

Phase 1: Analyse des besoins

Identification des outils et environnements nécessaires pour un poste de développement complet. Cette phase a permis de définir les composants essentiels (IDE, compilateurs, gestionnaires de paquets, outils de versioning) et optionnels (outils de test, d'analyse de code) à installer.

Phase 2: Installation

Mise en place de l'infrastructure de base avec Docker et les technologies de conteneurisation. Installation des composants fondamentaux du système et préparation de l'environnement pour accueillir les outils de développement.

Phase 3: Configuration

Personnalisation de l'environnement de développement selon les besoins spécifiques. Configuration des outils, création de scripts d'automatisation et mise en place de solutions pour partager les fichiers entre l'hôte et les conteneurs.

Phase 4: Tests et validation

Vérification du bon fonctionnement de l'ensemble des composants installés. Tests des différents scénarios d'utilisation pour s'assurer que l'environnement répond bien aux besoins identifiés en phase 1.

Compétences acquises

Ce projet m'a permis d'explorer en profondeur plusieurs technologies essentielles dans le domaine du développement logiciel moderne :

Docker

Technologie de conteneurisation permettant de créer, déployer et exécuter des applications dans des environnements isolés appelés conteneurs.

Machines Virtuelles (VM)

Ordinateurs logiques émulés dans un ordinateur physique, permettant d'exécuter plusieurs systèmes d'exploitation différents sur une même machine.

Conteneurs

Environnements légers et isolés qui partagent le noyau du système d'exploitation hôte mais fonctionnent comme des processus isolés.

Scripts d'automatisation

Ensemble de commandes permettant d'automatiser les tâches répétitives d'installation et de configuration pour gagner en efficacité et en reproductibilité.