Project Oxygen & Ideo-LabIDEO LAB Dashboard 2026

Index général – Guides opérationnels

Toutes les briques logicielles évoquées (Système, Web, Frameworks, DB, Containers, CI/CD, Sécurité, Monitoring, Cloud...).

Clique sur une mini-box pour ouvrir le guide.
Même logique que les autres pages IDEO-Lab : cards → modals → onglets horizontaux (pour les grosses modals).
1. Système & outils de base
Système01

Linux fundamentals

Users, sudo, services, journaux, réseau.

Outils02

CLI indispensables

vim, htop, tmux, ncdu, netstat/ss...

Automatisation03

Bash / Cron

Scripts de maintenance, backups.

2. Serveurs web, proxy, entrée HTTP
Web / Proxy04

Nginx

Reverse proxy, HTTPS, Django, PHP-FPM.

Web05

Apache / HTTPD

vhosts, .htaccess, mod_proxy.

Reverse proxy06

Traefik / Caddy

Auto HTTPS, docker aware.

Réseau07

DNS & Certbot

Zones, enregistrements, SSL auto.

3. Frameworks & applications web
Python08

Django

Projet, gunicorn, static, i18n.

Python09

Flask / FastAPI

APIs, microservices, Uvicorn.

JS10

Node / Express

API REST, pm2, reverse proxy.

PHP11

PHP / Laravel / WP

LNMP/LAMP, PHP-FPM, OPCache.

4. Bases de données & cache
SQL12

MariaDB & PostgreSQL

Install, users, tuning, backups.

Cache13

Redis / Memcached

Sessions Django, file d’attente.

NoSQL14

MongoDB

Collections, users, réplication.

Sauvegarde15

Backup & snapshot

mysqldump, pg_dump, rsync, borg.

5. Containers & orchestration
Containers16

Docker & Compose

Images, volumes, réseau.

Kubernetes17

Kubernetes / K3s

Pods, services, ingress, helm.

Ingress18

Traefik Docker

Découverte auto, labels.

6. CI/CD & industrialisation
VCS19

Git / GitHub / GitLab

Repos, clés SSH, PR, hooks.

CI/CD20

GitHub Actions / GitLab CI

Build → test → deploy.

CI21

Jenkins

Pipelines, agents, secrets.

IaC22

Ansible / Terraform

Provisionner & configurer.

7. Sécurité & réseau
Sécurité23

Iptables / UFW / Fail2ban

Filtrage, SSH, anti-bruteforce.

Mail24

Postfix / Dovecot

SPF, DKIM, relay.

AppSec25

OWASP / headers

CSP, X-Frame, CSRF.

8. Monitoring, logs, observabilité
Monitoring26

Netdata / Prometheus / Grafana

Surveiller CPU, RAM, Nginx.

Logs27

ELK / Graylog

Centralisation journaux.

9. Cloud & virtualisation
Cloud28

AWS / GCP / Azure (bases)

VM, buckets, LB, IAM.

Virt29

Proxmox / VirtualBox

VM labo, snapshots.

Recettes30

Stacks prêtes

Django, WP, proxy.

Linux Fundamentals (pour héberger des apps web)

Objectif : donner aux débutants les commandes de base pour administrer un serveur.

  • Distros : Ubuntu 24.04 LTS, Debian 12
  • Créer user : adduser dev, usermod -aG sudo dev
  • MAJ : apt update && apt upgrade -y
systemctl status nginx
systemctl restart nginx
journalctl -u nginx -n 100 -f
        
ip a
ss -ltnp
sudo lsof -i :80
sudo ufw status
        
Nginx – reverse proxy & hébergement sites
sudo apt update
sudo apt install nginx -y
sudo systemctl enable nginx
sudo systemctl start nginx
        
server {
    listen 80;
    server_name exemple.com;
    root /var/www/exemple.com;
    index index.html;
    location / { try_files $uri $uri/ =404; }
}
        
location / {
    proxy_pass http://127.0.0.1:8000;
    proxy_set_header Host $host;
    proxy_set_header X-Real-IP $remote_addr;
}
        
sudo apt install certbot python3-certbot-nginx
sudo certbot --nginx -d exemple.com
        
Django – framework Python
python -m venv venv
source venv/bin/activate
pip install django gunicorn
django-admin startproject mysite .
        
  1. Run gunicorn sur 127.0.0.1:8000
  2. Proxy Nginx vers Gunicorn
  3. collectstatic
  4. service systemd
DATABASES = {
  "default": {
    "ENGINE": "django.db.backends.postgresql",
    "NAME": "mysite",
    "USER": "mysite",
    "PASSWORD": "secret",
    "HOST": "127.0.0.1",
    "PORT": "5432",
  }
}
        
Bases de données – MariaDB / PostgreSQL
sudo apt install mariadb-server -y
sudo mysql_secure_installation
CREATE DATABASE mysite;
CREATE USER 'mysite'@'localhost' IDENTIFIED BY 'secret';
GRANT ALL PRIVILEGES ON mysite.* TO 'mysite'@'localhost';
        
sudo apt install postgresql postgresql-contrib -y
sudo -u postgres createuser -P mysite
sudo -u postgres createdb -O mysite mysite
        
mysqldump -u root -p mysite > /backup/mysite.sql
pg_dump -U mysite mysite > /backup/mysite.sql
        
Docker & Docker Compose
sudo apt update
sudo apt install docker.io -y
sudo systemctl enable --now docker
sudo usermod -aG docker $USER
        
version: "3"
services:
  web:
    image: nginx
    ports: ["80:80"]
  db:
    image: mariadb
    environment:
      - MYSQL_ROOT_PASSWORD=secret
        

Pousser des images vers Docker Hub / GHCR.

Kubernetes / K3s – Orchestration
# minikube
minikube start
kubectl get pods -A
    
Git, GitHub, GitLab – gestion de code
git config --global user.name "Guillaume"
git config --global user.email "you@example.com"
git clone git@github.com:org/projet.git
git add .
git commit -m "add guide"
git push
    
Sécurité – iptables, UFW, Fail2ban
sudo ufw allow OpenSSH
sudo ufw allow 80/tcp
sudo ufw allow 443/tcp
sudo ufw enable

sudo apt install fail2ban
sudo systemctl restart fail2ban
    
Monitoring, logs, performance
  • htop / glances
  • netdata
  • Prometheus + Grafana
CI/CD – automatiser les déploiements
name: Deploy
on: [push]
jobs:
  deploy:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v4
      - run: ./deploy.sh
    
DNS & Certbot
  • Créer enregistrement A / AAAA
  • Installer certbot nginx
  • Renouvellement auto
Stacks prêtes à l’emploi (recettes)
  • Django + Gunicorn + Nginx + PostgreSQL
  • WordPress + Nginx + MariaDB + PHP-FPM
  • Docker Compose : web + db + adminer
Outils CLI indispensables

À installer systématiquement :

apt install -y vim htop tmux curl wget git net-tools lsof zip unzip jq
    
Bash, cron & tâches planifiées
crontab -e
0 3 * * * /usr/local/bin/backup.sh
    
Apache / HTTPD
apt install apache2
a2enmod proxy proxy_http rewrite ssl headers
systemctl restart apache2
    
Traefik / Caddy – reverse proxy moderne

Utile si tu fais beaucoup de Docker et que tu veux l’auto-HTTPS.

Flask / FastAPI
pip install fastapi uvicorn
uvicorn app:app --host 0.0.0.0 --port 8000
    
Node.js / Express
npm init -y
npm install express
node app.js
    
PHP / Laravel / WordPress
apt install php-fpm php-mysql
# Nginx → fastcgi_pass unix:/run/php/php8.2-fpm.sock;
    
Redis / Memcached
apt install redis-server
redis-cli ping
    
MongoDB

Installer depuis le repo officiel si tu veux la dernière version.

Backups & snapshots
rsync -av /var/www/ /backup/www/
borg create /backup/borg::{now} /etc /var/www
    
Jenkins – CI classique

Pipeline de base qui build puis déploie.

Ansible / Terraform
ansible-playbook -i hosts provision.yml
terraform apply
    
Postfix / Dovecot / SPF / DKIM

Utile si tu veux envoyer des mails depuis Django/WordPress.

OWASP & headers de sécurité
add_header X-Frame-Options "SAMEORIGIN";
add_header X-Content-Type-Options "nosniff";
add_header X-XSS-Protection "1; mode=block";
    
ELK / Graylog (logs centralisés)

Objectif : récupérer les logs Nginx, Docker, syslog dans un point unique.

Bases Cloud (AWS / GCP / Azure)

VM (EC2), stockage (S3), LB, IAM, VPC.

Virtualisation – Proxmox, VirtualBox

Pour faire des labs Django/Nginx/PostgreSQL isolés.