Aller au contenu principal

Chapitre 10.3 - Compilation et Paquets Alternatifs

Objectifs d'Apprentissage​

À la fin de ce chapitre, vous serez capable de:

  • Compiler des logiciels depuis les sources
  • Utiliser Snap pour paquets universels
  • Utiliser Flatpak pour applications
  • Comprendre les avantages/inconvénients
  • Choisir le bon outil selon le cas

Compilation depuis Sources​

Prérequis​

# Outils de compilation
sudo apt install build-essential # Ubuntu/Debian
sudo yum groupinstall "Development Tools" # Red Hat/CentOS

# Outils nécessaires
# - gcc/g++ (compilateur)
# - make (build system)
# - autoconf, automake
# - libtool

Processus Standard​

# 1. Télécharger sources
wget http://example.com/software-1.0.tar.gz
tar -xzf software-1.0.tar.gz
cd software-1.0

# 2. Configuration
./configure --prefix=/usr/local

# Options communes
./configure --prefix=/usr/local \
--enable-feature \
--disable-other \
--with-library=/usr/lib

# 3. Compilation
make

# 4. Installation
sudo make install

# 5. Nettoyage (optionnel)
make clean

Exemple Complet​

#!/bin/bash
# Compilation exemple

VERSION="1.0"
SOFTWARE="mon-software"
PREFIX="/usr/local"

# Télécharger
wget "http://example.com/${SOFTWARE}-${VERSION}.tar.gz"
tar -xzf "${SOFTWARE}-${VERSION}.tar.gz"
cd "${SOFTWARE}-${VERSION}"

# Configurer
./configure --prefix="$PREFIX"

# Compiler
make -j$(nproc) # Utilise tous les CPUs

# Installer
sudo make install

# Vérifier
which mon-software
mon-software --version

Snap​

Qu'est-ce que Snap?​

Snap est un système de paquets universel développé par Canonical.

Avantages:

  • Universel (toutes distributions)
  • Auto-mise à jour
  • Isolation (sandbox)
  • Dépendances incluses

Installation​

# Ubuntu (déjà installé)
# Autres distributions
sudo apt install snapd # Debian
sudo yum install snapd # Red Hat/CentOS

Utilisation​

# Rechercher
snap find nom-paquet

# Installer
sudo snap install nom-paquet

# Liste installés
snap list

# Mettre à jour
sudo snap refresh nom-paquet
sudo snap refresh # Tous

# Supprimer
sudo snap remove nom-paquet

# Informations
snap info nom-paquet

Exemples​

# Applications populaires
sudo snap install code # VS Code
sudo snap install docker # Docker
sudo snap install node --classic # Node.js
sudo snap install chromium # Chromium

Flatpak​

Qu'est-ce que Flatpak?​

Flatpak est un système de distribution d'applications universel.

Avantages:

  • Universel
  • Isolation
  • Applications desktop
  • Repositories (Flathub)

Installation​

# Ubuntu/Debian
sudo apt install flatpak

# Red Hat/CentOS/Fedora
sudo yum install flatpak
# ou
sudo dnf install flatpak

Configuration​

# Ajouter Flathub (repository principal)
flatpak remote-add --if-not-exists flathub \
https://flathub.org/repo/flathub.flatpakrepo

# Voir repositories
flatpak remotes

Utilisation​

# Rechercher
flatpak search nom-app

# Installer
flatpak install flathub nom-app

# Liste installés
flatpak list

# Mettre à jour
flatpak update nom-app
flatpak update # Tous

# Supprimer
flatpak uninstall nom-app

# Informations
flatpak info nom-app

Exemples​

# Applications populaires
flatpak install flathub org.gimp.GIMP
flatpak install flathub org.videolan.VLC
flatpak install flathub com.spotify.Client

Comparaison​

Caractéristiqueapt/yumSnapFlatpakCompilation
UniverselNonOuiOuiOui
IsolationNonOuiOuiNon
TaillePetiteGrandeGrandeVariable
PerformanceExcellenteBonneBonneExcellente
Mises à jourManuelAutoAutoManuel
UsageSystèmeApplicationsDesktopDéveloppement

Choix du Bon Outil​

apt/yum​

Quand utiliser:

  • Paquets système
  • Services serveur
  • Performance critique
  • Contrôle total

Snap​

Quand utiliser:

  • Applications universelles
  • Mises à jour automatiques
  • Isolation nécessaire
  • Développement

Flatpak​

Quand utiliser:

  • Applications desktop
  • Isolation nécessaire
  • Multi-distributions
  • Applications graphiques

Compilation​

Quand utiliser:

  • Version spécifique nécessaire
  • Options de compilation personnalisées
  • Pas de paquet disponible
  • Développement

Bonnes Pratiques​

Compilation​

# 1. Lire README/INSTALL
# 2. Vérifier dépendances
# 3. Utiliser --prefix approprié
# 4. Tester avant installation
# 5. Documenter options utilisées

Snap/Flatpak​

# 1. Vérifier source (officielle)
# 2. Comprendre permissions
# 3. Surveiller espace disque
# 4. Mettre à jour régulièrement

Résumé​

Dans ce chapitre, vous avez appris:

Compilation: configure, make, make install
Snap: Paquets universels, auto-update, isolation
Flatpak: Applications desktop, Flathub, isolation
Comparaison: Choisir selon besoins
Pratique: Compiler, installer Snap/Flatpak


Prochaines Étapes​

Module 11: Monitoring et Logs (avec monitoring crons)
Module 12: Administration Avancée


Chapitre créé le: Décembre 2024