Aller au contenu principal

Commencer avec DevOps


Table des matières

  1. Par où commencer ?
  2. Les premiers pas techniques
  3. Construire votre lab
  4. Roadmap d'apprentissage
  5. Ressources recommandées


1 - Par où commencer ?

Évaluer votre point de départ

Checklist des prérequis

CompétenceNiveau requisPriorité
Linux basicsIntermédiaireHaute
Ligne de commandeConfortableHaute
GitFondamentauxHaute
Scripting (Bash/Python)BasiqueMoyenne
Networking basicsFondamentauxMoyenne
Cloud conceptsNotionsMoyenne

Auto-évaluation

Évaluez-vous de 1 (débutant) à 5 (expert) :

DomaineScore
Linux/Unix?
Git?
Scripting?
Containers?
Cloud?
CI/CD?
IaC?
astuce

Concentrez-vous d'abord sur vos lacunes les plus critiques (Linux, Git, scripting) avant de passer aux outils avancés.

🔝 Retour à la table des matières



2 - Les premiers pas techniques

Étape 1 : Maîtriser les fondamentaux Linux

Compétences essentielles :

# Navigation et fichiers
ls, cd, pwd, mkdir, rm, cp, mv

# Visualisation
cat, less, head, tail, grep

# Permissions
chmod, chown, sudo

# Processus
ps, top, kill, systemctl

# Réseau
ping, curl, netstat, ss

Étape 2 : Git et GitHub

Commandes à maîtriser :

  • git init, git clone
  • git add, git commit, git push, git pull
  • git branch, git checkout, git merge
  • git log, git diff, git status

Étape 3 : Scripting

Bash pour l'automatisation système :

#!/bin/bash
# Exemple: Script de backup
DATE=$(date +%Y%m%d)
tar -czf backup_$DATE.tar.gz /path/to/data
echo "Backup completed: backup_$DATE.tar.gz"

Python pour des scripts plus complexes :

#!/usr/bin/env python3
import os
import subprocess

def check_service(service_name):
result = subprocess.run(
['systemctl', 'is-active', service_name],
capture_output=True, text=True
)
return result.stdout.strip() == 'active'

services = ['nginx', 'docker', 'postgresql']
for svc in services:
status = "UP" if check_service(svc) else "DOWN"
print(f"{svc}: {status}")

Étape 4 : Docker

Commandes essentielles :

# Images
docker pull nginx
docker build -t myapp .
docker images

# Containers
docker run -d -p 80:80 nginx
docker ps
docker logs <container>
docker exec -it <container> bash
docker stop <container>

# Cleanup
docker rm <container>
docker rmi <image>

Étape 5 : Premier pipeline CI/CD

Exemple GitHub Actions :

name: CI
on: [push]
jobs:
build:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Build
run: echo "Building..."
- name: Test
run: echo "Testing..."

🔝 Retour à la table des matières



3 - Construire votre lab

Option 1 : Lab local avec Vagrant/VirtualBox

# Vagrantfile
Vagrant.configure("2") do |config|
config.vm.define "devops-lab" do |lab|
lab.vm.box = "ubuntu/jammy64"
lab.vm.network "private_network", ip: "192.168.56.10"
lab.vm.provider "virtualbox" do |vb|
vb.memory = "2048"
vb.cpus = 2
end
end
end

Option 2 : Docker Desktop

# docker-compose.yml pour un lab DevOps
version: '3.8'
services:
jenkins:
image: jenkins/jenkins:lts
ports:
- "8080:8080"
volumes:
- jenkins_data:/var/jenkins_home

gitlab:
image: gitlab/gitlab-ce:latest
ports:
- "80:80"
- "443:443"
volumes:
- gitlab_data:/var/opt/gitlab

volumes:
jenkins_data:
gitlab_data:

Option 3 : Cloud gratuit

ProviderOffre gratuite
AWSFree tier 12 mois
Azure200$ crédits + services gratuits
GCP300$ crédits + always free
Oracle CloudAlways free tier généreux
remarque

Commencez par un lab local pour apprendre sans frais, puis passez au cloud pour des projets plus réalistes.

Projets pratiques recommandés

ProjetCompétences développées
Site web avec CI/CDGit, GitHub Actions, Docker
Infrastructure AWS avec TerraformIaC, Cloud
Monitoring stackPrometheus, Grafana
Cluster Kubernetes localK8s, containers

🔝 Retour à la table des matières



4 - Roadmap d'apprentissage

Roadmap 12 mois

Par niveau

Mois 1-3 : Fondamentaux

  • Linux administration
  • Git et GitHub
  • Bash scripting
  • Python basics

Mois 4-6 : Conteneurisation et CI/CD

  • Docker
  • Docker Compose
  • GitHub Actions ou GitLab CI
  • Tests automatisés

Mois 7-9 : Cloud et IaC

  • AWS ou Azure fundamentals
  • Terraform
  • Ansible basics

Mois 10-12 : Orchestration et Monitoring

  • Kubernetes basics
  • Prometheus + Grafana
  • ELK Stack
attention

N'essayez pas d'apprendre tout en même temps. Maîtrisez chaque niveau avant de passer au suivant.

🔝 Retour à la table des matières



5 - Ressources recommandées

Livres

TitreAuteurNiveau
The Phoenix ProjectGene KimDébutant
The DevOps HandbookGene Kim et al.Intermédiaire
Site Reliability EngineeringGoogleAvancé
Kubernetes in ActionMarko LukšaIntermédiaire

Plateformes d'apprentissage

PlateformeTypePrix
Linux FoundationCertificationsPayant
KodeKloudLabs interactifsFreemium
A Cloud GuruVidéos + LabsPayant
freeCodeCampGratuitGratuit
UdemyVidéosPayant (promos fréquentes)

Labs en ligne gratuits

RessourceDescription
Play with DockerLab Docker temporaire
Play with KubernetesLab K8s temporaire
KatacodaScénarios interactifs
GitHub Learning LabApprendre Git/GitHub

Communautés

CommunautéPlateforme
DevOps subredditReddit
Docker CommunitySlack
CNCFSlack
DevOpsDaysConférences
Meetups locauxMeetup.com

Certifications (optionnelles mais utiles)

🔝 Retour à la table des matières



Plan d'action concret

Semaine 1

  • Installer un environnement Linux (WSL, VM ou dual boot)
  • Créer un compte GitHub
  • Suivre un tutoriel Git basique
  • Écrire votre premier script Bash

Semaine 2-4

  • Compléter un cours Linux basics
  • Maîtriser les commandes Git essentielles
  • Créer votre premier repository et README

Mois 2

  • Installer Docker
  • Conteneuriser une application simple
  • Créer votre premier docker-compose.yml

Mois 3

  • Configurer votre premier pipeline CI/CD
  • Automatiser les tests
  • Déployer automatiquement

🔝 Retour à la table des matières



Points clés à retenir

  • Évaluez votre niveau avant de commencer
  • Les fondamentaux (Linux, Git, scripting) sont essentiels
  • Construisez un lab pratique pour expérimenter
  • Suivez une roadmap progressive sur 12 mois
  • La pratique est plus importante que la théorie
  • Rejoignez des communautés pour apprendre des autres

🔝 Retour à la table des matières


← Chapitre précédent | Chapitre suivant : Exercices →