Aller au contenu
  1. Docs/
  2. POP!_OS/

Outils du DevOps

·Temps de lecture : 4 minutes· loading · loading · ·
Pop_os Linux Homelab Dev-Environment Customisation Performance Themes Dotfiles System76 Open-Source Tools DevOps
ksh2177
Auteur
ksh2177
Ingénieur DevOps passionné par l’automatisation, la fiabilité et le design système.
Table des matières

⚙️ Outils DevOps + Pop!_OS — Shell, CLI, Neovim, Plugins
#

Ce fichier est un récap complet de la config Neovim optimisée DevOps utilisée sur Pop!_OS. Idéal pour référence ou mise en ligne Hugo.

🔧 Lazy.nvim — À quoi ça sert ?
#

Lazy est le cœur de mon écosystème Neovim.

Il permet de déclarer, installer, mettre à jour et charger dynamiquement tous mes plugins. Il est :

  • ultra rapide grâce au chargement différé (lazy loading)

  • 🔍 modulaire : chaque plugin peut être configuré proprement

  • 🧠 intelligent : il gère les dépendances et les hooks (config, init, cmd, event, etc.)

-- Exemple de déclaration dans init.lua :
{
  "nvim-telescope/telescope.nvim",
  dependencies = { "nvim-lua/plenary.nvim" },
  cmd = "Telescope",  -- se charge uniquement quand la commande est appelée
}

🧰 Mason.nvim — À quoi ça sert ?
#

Mason agit comme un centre d’installation centralisé pour les outils LSP dans Neovim.

Il facilite :

  • 📦 L’installation automatique des language servers (ex : pyright, bashls)

  • 🧩 L’**intégration fluide avec **`` (via mason-lspconfig)

  • 📋 L’affichage clair des outils installés/disponibles (menu visuel avec :Mason)

:Mason          # Ouvre l’interface graphique des outils
:MasonInstall pyright bashls yaml-language-server

🔌 Plugins chargés via Lazy.nvim
#

PluginDélaiDescription / Rôle
ansible-vim0.29 msAjoute syntaxe, indentation et snippets pour les fichiers Ansible (*.yml)
cmp-nvim-lsp0.03 msConnecte le LSP aux suggestions auto (nvim-cmp)
Dockerfile.vim0.18 msColoration et indent pour les Dockerfiles
lazy.nvim2.01 msGestionnaire de plugins moderne, rapide et asynchrone
lualine.nvim0.24 msBarre de statut personnalisable en Lua
LuaSnip4.04 msMoteur de snippets avancé
mason-lspconfig.nvim0.05 msRelie mason.nvim aux LSP disponibles dans lspconfig
mason.nvim0.3 msInstalle et gère automatiquement les LSP, DAP, linters, formatters
neovim3.44 ms(core) Configuration de base de Neovim
nvim-cmp0.92 msAuto-complétion intelligente (via LSP, snippets, buffers…)
nvim-lint0.23 msLinting (analyse statique de code)
nvim-lspconfig7.73 msIntègre les serveurs LSP dans Neovim
nvim-treesitter7.69 msHighlighting syntaxique et structurel ultra-précis
syntastic5.25 msLinting asynchrone pour divers langages
telescope.nvim0.27 msFuzzy finder rapide pour fichiers, buffers, etc.
vim-commentary0.41 msgcc/gc pour commenter/décommenter facilement
vim-helm0.34 msSupport des templates Helm pour Kubernetes
vim-surround0.53 msAjout/retrait rapide de " ' () {} autour du texte
vim-terraform0.3 msColoration, lint, format pour Terraform

🔍 Serveurs LSP installés via Mason.nvim
#

ServeurNom interneDescription / Utilité
AnsibleansiblelsFournit autocomplétion, linting et navigation dans les rôles/playbooks Ansible
BashbashlsSuggestions et diagnostics pour les scripts Bash
DockerfiledockerlsAnalyse syntaxique et suggestions pour Dockerfile
PythonpyrightServeur rapide pour Python : vérifie les types, détecte les erreurs, propose des fix
TerraformterraformlsAutocomplétion, formatage et lint pour les fichiers .tf
YAMLyamllsAide à l’édition de fichiers YAML avec schémas, validation et completions
Voici un exemple de tous ces plugins en action 👇🏻

✨ Commandes utiles et explications
#

🐚 Zsh & Prompt
#

echo $SHELL                        # Affiche le shell utilisé (zsh attendu)
chsh -s $(which zsh)              # Change le shell par défaut pour zsh
p10k configure                    # Lance l’assistant Powerlevel10k
Lancer p10k configure pour configurer le prompt.

📦 Outils CLI améliorés
#

batcat fichier.txt                # Remplaçant de cat avec syntaxe colorée
batcat -n fichier.txt             # Affiche le contenu avec numérotation des lignes
exa -la                           # Liste les fichiers avec détails + fichiers cachés
exa -T                            # Affiche l’arborescence sous forme d’arbre
flameshot gui                     # Ouvre l’interface graphique de capture
flameshot full -p ~/Images       # Capture écran entière → enregistre dans ~/Images
jq . fichier.json                 # Affiche le JSON de manière lisible (indenté)
curl -I https://site.com          # Affiche les en-têtes HTTP d’un site
curl -LO https://site.com/fichier.tar.gz   # Télécharge un fichier en gardant son nom
rg "erreur" ./logs                # Recherche du texte 'erreur' dans tous les fichiers
rg -i "erreur" ./logs             # Idem, insensible à la casse
fd nom                            # Recherche fichiers contenant "nom"
fd . -e txt                       # Recherche tous les fichiers .txt
fzf                               # Lance recherche floue (ex : via `cat file | fzf`)
CTRL+R                            # Recherche floue dans l’historique zsh
Ajoutez un raccourci clavier personnalisé : flameshot gui

🧠 Git & DevOps
#

git status                        # Affiche les changements en cours
git log --oneline --graph         # Historique Git visuel avec branches
git switch main                  # Change de branche (plus moderne que checkout)
git restore fichier.txt          # Restaure fichier à son dernier état
lazygit                           # UI terminal Git rapide
lazydocker                        # UI terminal Docker
nvim fichier.txt                  # Ouvre fichier dans Neovim
:Mason                            # Ouvre l'interface d'installation Mason
:MasonInstall pyright bashls      # Installe les serveurs LSP nécessaires
Idéal pour gérer les issues/PR depuis le terminal.

🧪 tmux & direnv
#

tmux                             # Lance une session par défaut
tmux new -s dev                 # Crée une session tmux nommée dev
tmux ls                         # Liste les sessions en cours
tmux a -t dev                   # Reconnecte à la session 'dev'
echo 'export VAR=value' > .envrc # Ajoute une var d'env automatique dans un dossier
direnv allow                    # Autorise le chargement du .envrc à l’entrée du dossier

Articles connexes

Dashboard Conky Pop!_OS
·Temps de lecture : 5 minutes· loading · loading
Pop_os Linux Homelab Conky Widget Dev-Environment Customisation Performance Themes Dotfiles System76 Open-Source
Guide détaillé de la création de widgets pour affichage de la météo, de la lecture en cours sur Spotify, ou encore du Uptime de la machine
Installer Pop!_OS pour un Homelab Moderne
·Temps de lecture : 3 minutes· loading · loading
Pop_os Linux Homelab Dev-Environment Customisation Performance Themes Dotfiles System76 Open-Source
Guide détaillé de l’installation de Pop!_OS, configuration DevOps-friendly, dual boot Windows et personnalisation terminal.
Argocd
·Temps de lecture : 8 minutes· loading · loading
K3s Kubernetes ArgoCD GitOps DevOps CI/CD MetalLB Helm
Installation d’Argo CD dans un cluster K3s avec MetalLB, configuration d’une application GitOps et déploiement automatisé via l’interface ou la CLI.
Docker registry setup
·Temps de lecture : 11 minutes· loading · loading
K3s Kubernetes Docker Registry TLS Longhorn MetalLB DevOps
Installation d’un registre Docker privé avec TLS via MetalLB, stockage persistant Longhorn et configuration K3s complète pour le push d’images depuis le cluster.
Docker setup
·Temps de lecture : 2 minutes· loading · loading
K3s Kubernetes Docker OpenFaaS ARM64 Registry Buildx Homelab DevOps
Installation de Docker avec support multi-arch sur DietPi pour builder localement des fonctions OpenFaaS en arm64 et publier sur un registre privé.
Network settings
·Temps de lecture : 4 minutes· loading · loading
K3s Kubernetes MetalLB LoadBalancer Helm Network ClusterIP Homelab DevOps
Déploiement de MetalLB pour gérer des adresses IP externes avec K3s : installation via Helm, configuration d’un pool d’IP et vérifications réseau.
Storage settings
·Temps de lecture : 9 minutes· loading · loading
K3s Kubernetes Storage Longhorn Ansible Raspberry Pi PersistentVolume DevOps Homelab
Choix, préparation et installation de Longhorn comme solution de stockage persistant Kubernetes pour K3s sur Raspberry Pi, avec montage automatique via Ansible.
Helm arkade
·Temps de lecture : 2 minutes· loading · loading
K3s Kubernetes Helm Arkade Package Manager CLI Tools DevOps Homelab
Installation de Helm et Arkade sur le cluster K3s : deux outils indispensables pour déployer et gérer des applications Kubernetes simplement.
Os settings
·Temps de lecture : 1 minutes· loading · loading
K3s Kubernetes DietPi Linux OS Iptables Ansible Homelab DevOps
Réglages système post-installation pour DietPi : mise à jour de l’OS, configuration réseau, iptables et préparation à Kubernetes.