# Christophe Avonture > Personal blog about Docker, WSL, Python, Quarto, PHP, Joomla, Docusaurus and even more 273 articles. Each has a plain-Markdown mirror at its own permalink plus `.md` (e.g. `https://www.avonture.be/fr/blog/.md`). ## Series (full-text bundles) Each link is every article in that series, concatenated in reading order — one request instead of many. - [Bluesky Docusaurus component](https://www.avonture.be/fr/llms/bluesky-docusaurus-component.txt) — 2 article(s) - [Building and testing REST APIs](https://www.avonture.be/fr/llms/building-and-testing-rest-apis.txt) — 5 article(s) - [Claude Code](https://www.avonture.be/fr/llms/claude-code.txt) — 2 article(s) - [code quality](https://www.avonture.be/fr/llms/code-quality.txt) — 10 article(s) - [Coding using a devcontainer](https://www.avonture.be/fr/llms/coding-using-a-devcontainer.txt) — 7 article(s) - [Create your joomla website using Docker](https://www.avonture.be/fr/llms/create-your-joomla-website-using-docker.txt) — 6 article(s) - [Creating Docusaurus components](https://www.avonture.be/fr/llms/creating-docusaurus-components.txt) — 26 article(s) - [Customize your shell with ZSH](https://www.avonture.be/fr/llms/customize-your-shell-with-zsh.txt) — 7 article(s) - [Diagrams as code](https://www.avonture.be/fr/llms/diagrams-as-code.txt) — 8 article(s) - [Discovering Docusaurus](https://www.avonture.be/fr/llms/discovering-docusaurus.txt) — 3 article(s) - [Discovering Quarto](https://www.avonture.be/fr/llms/discovering-quarto.txt) — 12 article(s) - [Display Docusaurus Blog Posts as Cards - A Step-by-Step Guide](https://www.avonture.be/fr/llms/display-docusaurus-blog-posts-as-cards-a-step-by-step-guide.txt) — 2 article(s) - [Functional testing](https://www.avonture.be/fr/llms/functional-testing.txt) — 3 article(s) - [Modern CLI tools for your terminal](https://www.avonture.be/fr/llms/modern-cli-tools-for-your-terminal.txt) — 9 article(s) - [MS Excel - Connect to a SQL Server database](https://www.avonture.be/fr/llms/ms-excel-connect-to-a-sql-server-database.txt) — 2 article(s) - [Ollama daily use](https://www.avonture.be/fr/llms/ollama-daily-use.txt) — 9 article(s) - [Running Docusaurus using Docker](https://www.avonture.be/fr/llms/running-docusaurus-using-docker.txt) — 3 article(s) - [Running Oracle Database Server as a Docker container](https://www.avonture.be/fr/llms/running-oracle-database-server-as-a-docker-container.txt) — 3 article(s) - [Self-host your own services](https://www.avonture.be/fr/llms/self-host-your-own-services.txt) — 7 article(s) - [SSH - From your first key to remote development](https://www.avonture.be/fr/llms/ssh-from-your-first-key-to-remote-development.txt) — 9 article(s) - [VBA & MS Office automation](https://www.avonture.be/fr/llms/vba-ms-office-automation.txt) — 10 article(s) - [VSCode - Tips, extensions and shortcuts](https://www.avonture.be/fr/llms/vscode-tips-extensions-and-shortcuts.txt) — 13 article(s) - [Windows Terminal](https://www.avonture.be/fr/llms/windows-terminal.txt) — 4 article(s) - [WinSCP & remote file transfer](https://www.avonture.be/fr/llms/win-scp-remote-file-transfer.txt) — 8 article(s) - [Writing better Bash scripts](https://www.avonture.be/fr/llms/writing-better-bash-scripts.txt) — 10 article(s) - [WSL2 - Install, move and use it](https://www.avonture.be/fr/llms/wsl2-install-move-and-use-it.txt) — 6 article(s) ## ai - [Accéder à Ollama depuis votre réseau local](https://www.avonture.be/fr/blog/accessing-ollama-across-your-local-network) — Apprenez à mettre en place un serveur Ollama dédié sur votre réseau local et à y connecter votre éditeur de code pour obtenir un assistant IA privé et gratuit. - [ai-data : laissez un LLM local écrire vos one-liners jq et awk](https://www.avonture.be/fr/blog/ollama-ai-data) — Une fonction zsh qui lit un fichier JSON ou CSV, comprend ses vrais champs et propose 5 commandes jq/awk pratiques adaptées à ce fichier précis — choisies via fzf, puis déposées sur votre ligne de commande (pas exécutées à votre place) pour que vous puissiez voir, modifier et comprendre la commande exacte avant d'appuyer sur Entrée. - [ai-diagram : d'une phrase (ou d'un compose.yaml) à un diagramme Mermaid](https://www.avonture.be/fr/blog/ollama-ai-diagram) — Une fonction zsh qui transforme une description en langage naturel, ou un fichier de config existant comme un docker-compose.yaml, en diagramme Mermaid — affiché sous forme de bloc de code prêt à coller. Là où docker-python-mermaid exige un script écrit pour chaque format d'entrée, ai-diagram prend ce que vous avez sous la main. - [ai-explain : l'ELI5 des scripts et des erreurs, directement dans votre terminal](https://www.avonture.be/fr/blog/ollama-ai-explain) — Encore une fonction de la série Ollama au quotidien : envoyez n'importe quel script, message d'erreur ou stack trace à ai-explain et obtenez une explication en langage clair de ce qu'il fait ou de ce qui a planté — 100 % local, sans cloud. - [ai-review, ai-secrets, ai-commit : trois vérifications zsh avant chaque git commit](https://www.avonture.be/fr/blog/ollama-git-precommit) — Trois fonctions zsh qui forment ensemble une barrière qualité locale et hors ligne avant le commit : ai-review repère les violations SOLID et les problèmes de nommage, ai-secrets sépare les vrais identifiants en dur des faux positifs, et ai-commit rédige le message Conventional Commits une fois que le diff est réellement propre. - [ai-test : générer les tests unitaires manquants depuis votre terminal avec un LLM local](https://www.avonture.be/fr/blog/ollama-test-generator) — Transformez votre modèle Ollama local en générateur de tests unitaires à la demande. Une fonction zsh qui lit un fichier Bash, PHP ou Python, détecte si des tests existent déjà, affiche uniquement les cas Bats/Pest/Pytest manquants pour une couverture complète, propose de les enregistrer là où le framework les attend, et lance la suite dans un container Docker jetable. - [ai-translate & ai-summarize : des documents confidentiels, traités 100 % en local](https://www.avonture.be/fr/blog/ollama-ai-docs) — Deux fonctions zsh qui traduisent ou résument un document Word, PDF, PowerPoint ou Excel sans qu'un seul octet ne quitte votre machine — Docling extrait le texte en local, un modèle Ollama local fait la traduction ou le résumé. Pensé pour le document que vous ne colleriez jamais dans un outil de traduction cloud. - [AnythingLLM : discuter avec toute votre documentation éparpillée](https://www.avonture.be/fr/blog/anythingllm-chat-with-your-docs) — AnythingLLM transforme un tas de fichiers Markdown, Quarto, PDF, DOCX, Excel et PowerPoint en quelque chose avec quoi vous pouvez réellement discuter, avec un modèle Ollama local derrière. La partie 1 l'installe sur une seule machine ; la partie 2 garde les documents sur mon PC de travail tout en empruntant le GPU qui dort à la maison. - [Ask My Blog : transformer 259 articles en 2 160 questions cherchables](https://www.avonture.be/fr/blog/docusaurus-ask-my-blog) — Un LLM local lit chaque article du blog et rédige les questions qu'un développeur taperait vraiment dans une barre de recherche, chacune reliée au titre exact qui y répond. Le résultat est un index de questions généré au build et interrogé dans le navigateur avec un simple BM25 — pas d'embeddings, pas de clé d'API, pas de base vectorielle. Pipeline, plugin et composant complets inclus. - [Claude Code - Des slash commands à un workflow en couches](https://www.avonture.be/fr/blog/claude-code-workflow) — Comment le dossier .claude/ de ce blog est passé d'une poignée de slash commands à un ensemble de commands, hooks, skills, agents et rules qui travaillent ensemble — un parcours d'apprentissage concret, et les cas où un script déterministe bat une question posée à l'IA. - [Claude Code - Optimiser la consommation de tokens](https://www.avonture.be/fr/blog/claude-ia-spare-tokens) — Un guide pratique pour réduire la consommation de tokens dans Claude Code; commandes CLI, optimisation de CLAUDE.md et autre gestion du contexte. - [Comment j'ai utilisé Google Gemini Nano Banana sur mon blog](https://www.avonture.be/fr/blog/gemini-meerkat) — Découvrez comment Google Gemini Nano a servi à générer toutes les images personnalisées de ce blog, y compris une mascotte suricate. - [IA - Génération d'images avec recraft.ai](https://www.avonture.be/fr/blog/ai-image-generation) — Recraft.ai - Découvrez un outil avancé de génération d'images par IA qui propose du fine-tuning, des variations d'images, des tailles personnalisées et un rendu de texte précis. - [Installer Ollama et obtenir une IA locale](https://www.avonture.be/fr/blog/ollama-installation) — Apprenez à déployer Ollama en local via Docker pour faire tourner des LLM privés et gratuits, et activer l'autocomplétion de code par IA dans VSCode. - [Jouons avec Ollama - Créer un analyseur d'articles de blog avec un LLM local](https://www.avonture.be/fr/blog/docusaurus-ollama-tags) — Un devcontainer Dockerisé avec deux scripts Python : le premier envoie chaque article Markdown à un modèle Ollama local pour générer des tags, le second compare ces tags entre les articles pour suggérer lesquels devraient se lier entre eux. Aucune API cloud, aucun tag manuel. - [Open WebUI — au-delà du chat : modèles, RAG, Tools et clés d'API](https://www.avonture.be/fr/blog/open-webui-advanced) — Open WebUI est bien plus qu'une interface de chat pour Ollama. Presets de modèles avec system prompts, RAG sur vos documents locaux, recherche web, Tools en Python et clés d'API personnelles : de quoi construire un vrai workspace IA local. - [Restaurer Marknotes avec Lovable.dev](https://www.avonture.be/fr/blog/lovable-dev-ai) — Demander à Lovable.dev de créer une application dockerisée complète, avec un backend en Python/FastAPI et un frontend en React. - [Tabnine - Autocomplétion et chat IA pour Javascript, Python, Typescript, PHP, Go, Java et plus](https://www.avonture.be/fr/blog/vscode-tabnine) — Tabnine était autrefois une extension d'autocomplétion IA gratuite incontournable pour VS Code. Depuis 2025, elle est réservée aux entreprises (39 $/utilisateur/mois). Cet article est conservé comme référence historique. ## apache - [Le fichier .htaccess d'Apache](https://www.avonture.be/fr/blog/apache-htaccess) — Maîtrisez votre fichier .htaccess Apache avec des astuces essentielles pour la sécurité, les redirections, le contrôle d'accès aux fichiers, la Content Security Policy (CSP), le forçage du HTTPS et l'optimisation des performances. ## api - [API REST - Comment écrire de bonnes API](https://www.avonture.be/fr/blog/php-api-tips) — Maîtrisez les bonnes pratiques des API REST pour une conception propre et évolutive. Conseils sur la notation correcte des URI, l'usage de noms au pluriel et l'utilisation des verbes HTTP pour des endpoints sémantiquement corrects. - [Bruno - Un outil à la Postman - GUI et CLI](https://www.avonture.be/fr/blog/bruno) — Découvrez Bruno, un outil de test d'API puissant à la Postman, avec support GUI et CLI. - [N'interrogez plus votre base PostgreSQL, préférez PostgREST](https://www.avonture.be/fr/blog/docker-postgrest) — Utilisez Docker et PostgREST pour transformer instantanément votre base de données PostgreSQL en une puissante API RESTful. Éliminez les requêtes SQL et les modèles de base de données complexes du code de votre application grâce à ce tutoriel de mise en place tout simple. - [Python - Fast API - Créez votre API JSON en Python en une minute](https://www.avonture.be/fr/blog/python-fastapi) — Construisez votre première API JSON Python avec FastAPI en moins d'une minute ! Ce tutoriel couvre la configuration Docker, la documentation d'API automatisée (Swagger/ReDoc) et le hot-reload pour développer rapidement. - [Utiliser Postman pour jouer avec les API](https://www.avonture.be/fr/blog/postman) — Maîtrisez les tests d'API avec Postman. Utilisez-le comme un véritable outil de tests unitaires pour valider le statut des réponses, imposer une structure de données et éviter les régressions dans votre workflow de développement d'API. - [Validez votre schéma OpenAPI face aux standards REST Belgif](https://www.avonture.be/fr/blog/belgif-api-linter) — Validez le schéma OpenAPI de votre FastAPI face aux standards REST Belgif avec Docker, avec des corrections pas à pas pour les erreurs de linting les plus courantes. ## bash - [Atuin — Boostez votre historique shell avec une base de données consultable et horodatée](https://www.avonture.be/fr/blog/atuin-bash-history) — Fatigué de perdre vos commandes dans le labyrinthe du CTRL+R par défaut ? Atuin remplace l'historique de votre shell par une TUI complète adossée à SQLite — horodatage, contexte, synchronisation multi-machines, et une comparaison claire avec la recherche d'historique basée sur FZF. - [Bash - Afficher sur la console et dans un fichier de log en même temps](https://www.avonture.be/fr/blog/bash-console-log-together) — Fatigué des scripts Bash silencieux ? Découvrez la méthode simple et efficace pour afficher la sortie d'une commande sur la console tout en l'écrivant ligne par ligne dans un fichier de log. - [Bash - ASCII art](https://www.avonture.be/fr/blog/bash-ascii-art) — Apprenez à ajouter des bannières en ASCII art à vos scripts Bash pour un impact visuel plus fort. Avec un exemple de code complet. - [Bash - Charger des variables d'environnement depuis un fichier](https://www.avonture.be/fr/blog/bash-load-env) — Apprenez à charger les variables d'environnement d'un fichier .env dans un script Bash, afin d'externaliser la configuration et de réutiliser les variables dans d'autres applications comme Laravel. - [Bash - Script pour ajouter des fonctionnalités de log à votre script](https://www.avonture.be/fr/blog/bash-logging) — Ajoutez des fonctionnalités de log robustes à vos scripts Bash grâce à cette petite bibliothèque réutilisable. Fichiers de log automatiques, horodatages et trace complète des appels de fonctions pour déboguer facilement. - [Compter en continu le nombre de fichiers d'un dossier avec inotifywait](https://www.avonture.be/fr/blog/linux-inotifywait) — Utilisez inotifywait sous Linux pour surveiller un répertoire en continu et obtenir en temps réel le compte des fichiers nouvellement créés, avec un simple script Bash. - [Linux - Générer de la documentation à partir de scripts Bash](https://www.avonture.be/fr/blog/linux-generate-documentation-from-bash-scripts) — Apprenez à générer automatiquement la documentation de vos scripts Bash sous Linux. Ce guide fournit un script maison qui analyse les blocs de doc des fonctions et crée des fichiers Markdown structurés. - [Linux - Tirez parti du nombre de CPU dont vous disposez ; lancez des jobs concurrents](https://www.avonture.be/fr/blog/bash-parallel-task) — Optimisez vos scripts Bash ! Apprenez à lancer des jobs concurrents et à exploiter tous vos cœurs CPU avec les identifiants de processus (pids), wait et nproc pour réduire drastiquement le temps d'exécution. - [Linux - Trier les fonctions dans un script Bash](https://www.avonture.be/fr/blog/linux-sort-functions-in-script) — Découvrez comment utiliser diff et sort en Bash pour vérifier si les fonctions de vos scripts shell sont définies dans l'ordre alphabétique. Avec un script pour scanner un dossier entier. - [Linux - Utiliser une barre de progression dans vos scripts](https://www.avonture.be/fr/blog/bash-progression-bar) — Ajoutez une barre de progression visuelle à vos scripts Bash sous Linux. Ce guide vous montre comment implémenter facilement une barre de progression pour suivre des jobs concurrents, visualiser l'avancement et améliorer votre interface dans le terminal. - [Obtenez les informations de santé de vos containers en cours d'exécution](https://www.avonture.be/fr/blog/docker-healthy) — Obtenez instantanément les informations de santé de vos containers Docker. Cet article présente un script bash utilisant docker ps et docker inspect pour des vérifications rapides. - [Optimisez votre frontend - Minifier vos assets avec Docker, Bash et YAML](https://www.avonture.be/fr/blog/assets-minification) — Oubliez les lourdes chaînes d'outils Node. Construisez un pipeline de minification d'assets rapide et sans dépendances avec un manifeste YAML déclaratif, Bash et Docker. ## bluesky - [Afficher les commentaires Bluesky sur Docusaurus, ainsi que le nombre de likes/reposts](https://www.avonture.be/fr/blog/docusaurus-bluesky-comments) — Intégrez les commentaires, les likes et le nombre de reposts Bluesky directement dans vos articles de blog Docusaurus. - [Créer notre propre composant React Docusaurus et proposer un bouton « Partager sur Bluesky »](https://www.avonture.be/fr/blog/docusaurus-bluesky-share) — Créez un composant React Docusaurus personnalisé qui ajoute un bouton « Partager sur Bluesky » à vos articles de blog. ## code-quality - [Clean code - Linux Bash - Réduire au maximum le nombre de paramètres d'une fonction](https://www.avonture.be/fr/blog/linux-bash-too-many-function-parameters) — Appliquez le Clean Code à vos scripts Linux Bash. Découvrez comment éviter d'avoir trop de paramètres de fonction grâce à une solution simple et robuste : le tableau associatif. - [Dagger.io - Utiliser dagger pour automatiser vos workflows CI](https://www.avonture.be/fr/blog/dagger-python) — Automatisez vos workflows CI/CD avec Dagger.io et Python. Lancez rapidement vos outils de qualité de code (Pylint, Black, Ruff) et testez tout votre pipeline en local pour simplifier l'intégration. - [Formater du code PHP mal formaté](https://www.avonture.be/fr/blog/online-php-linter) — Besoin de nettoyer rapidement du code PHP en vrac ? Découvrez le meilleur linter PHP en ligne, Pint-express (basé sur Laravel Pint), pour formater et embellir votre code instantanément. Aucune installation nécessaire ! - [Git - pre-commit-hooks](https://www.avonture.be/fr/blog/git-precommit) — Vous détestez les pipelines CI/CD qui échouent ? Découvrez comment utiliser les hooks Git pre-commit, en particulier le framework pre-commit, pour appliquer vos standards de qualité de code en local avant de pusher. - [Markdown linter - corriger les problèmes de formatage dans les fichiers md](https://www.avonture.be/fr/blog/markdown-lint) — Corrigez automatiquement les problèmes de formatage Markdown avec l'outil markdownlint et Docker. Apprenez à vérifier, configurer et utiliser le flag --fix pour des fichiers .md propres et cohérents. - [Python - Les outils de qualité de code](https://www.avonture.be/fr/blog/python-qa) — Améliorez la qualité de votre code Python ! Découvrez 9 outils d'analyse statique essentiels comme Pylint, Black et mypy, ainsi qu'un workflow QA optimal pour un code plus propre et sans bugs. - [Une image Docker qui fournit les outils d'analyse statique pour PHP](https://www.avonture.be/fr/blog/php-jakzal-phpqa) — Utilisez l'image Docker jakzal/phpqa pour lancer instantanément des dizaines d'outils d'analyse statique et de qualité de code sur votre codebase PHP, linters et fixers inclus, sans rien installer. ## component - [Afficher les articles de blog Docusaurus sous forme de cartes - Guide pas à pas](https://www.avonture.be/fr/blog/docusaurus-cards) — Apprenez à mettre en valeur vos articles de blog Docusaurus grâce à des mises en page en cartes personnalisables. - [Afficher les articles liés sous nos articles Docusaurus](https://www.avonture.be/fr/blog/docusaurus-relatedposts) — Améliorez votre blog Docusaurus en affichant les articles liés sous chaque article pour faciliter la découverte de contenu. - [Ajouter des réactions de lecteurs à votre blog Docusaurus](https://www.avonture.be/fr/blog/docusaurus-reactions) — Construisez un widget « Cet article vous a-t-il été utile ? » entièrement fonctionnel pour votre blog Docusaurus. Guide pas à pas couvrant le backend PHP, le composant React, le module CSS, le swizzle Docusaurus et un tableau de bord d'administration — tout ce qu'il faut pour le reproduire de zéro. - [Ajouter un bouton « Copy as Markdown » à votre blog Docusaurus](https://www.avonture.be/fr/blog/docusaurus-copy-as-markdown) — Créez un bouton « Copy as Markdown » et un lien « View raw » pour les articles de votre blog Docusaurus — un plugin exécuté au build qui écrit un miroir en Markdown pur à côté de chaque article, plus le petit composant React qui le récupère et le copie dans le presse-papiers. Code source complet inclus. - [Ajouter un bouton « retour en haut » dans les articles Docusaurus](https://www.avonture.be/fr/blog/docusaurus-go-top) — Découvrez comment ajouter facilement un bouton « retour en haut », souvent accompagné d'une icône animée amusante, à vos articles de blog Docusaurus grâce à un composant React personnalisé et une surcharge de thème. - [Automatiser les résumés TL;DR avec Gemini AI](https://www.avonture.be/fr/blog/gemini-tldr) — Améliorez l'expérience de vos lecteurs en générant automatiquement des résumés TL;DR concis pour vos articles de blog avec Gemini AI de Google et Python. - [Créer un plugin de recherche/remplacement pour Docusaurus](https://www.avonture.be/fr/blog/docusaurus-plugin-replace) — Remplacez automatiquement « markdown » par « Markdown » dans tout votre contenu pour garder des articles cohérents. - [Dessiner une carte de mon propre blog](https://www.avonture.be/fr/blog/docusaurus-blog-map) — Construisez une carte interactive de tout votre corpus Docusaurus — chaque article devient une bulle portant la mascotte du site, dimensionnée selon le nombre d'articles qui pointent vers elle, positionnée par un layout force-directed calculé au build dans Node, si bien que le navigateur ne charge jamais d3-force. Inclut le plugin, le composant canvas et le fallback en liste simple qui garde la page utilisable sans JavaScript. - [Donnez vie à vos tutoriels CLI avec un terminal machine à écrire](https://www.avonture.be/fr/blog/docusaurus-terminal-typewriter) — Ajoutez une animation machine à écrire à votre composant Terminal Docusaurus — les lignes de commande tapées caractère par caractère, les lignes de sortie qui apparaissent l'une après l'autre, avec un curseur clignotant et un clic pour passer l'animation. Trois nouvelles props, aucune rupture de compatibilité. - [La troisième porte : une bulle de chat flottante, et la fonctionnalité que personne ne trouvait](https://www.avonture.be/fr/blog/docusaurus-ask-my-blog-bubble) — Une fonctionnalité que vos visiteurs ne trouvent pas n'existe pas. Cet article ajoute une bulle flottante « Ask my blog » à un site Docusaurus — un troisième point d'entrée vers le même index de questions, et le premier qui ne demande aucune connaissance préalable. Avec l'astuce d'exclusion mutuelle qui empêche deux dialogues flottants indépendants de s'ouvrir en même temps. - [Laissez vos lecteurs signaler les problèmes — un widget de feedback multi-types pour Docusaurus](https://www.avonture.be/fr/blog/docusaurus-typo-report-component) — Construisez un widget de feedback lecteur sécurisé et SSR-safe pour votre blog Docusaurus — sélection de texte, 4 types de feedback, API PHP avec nonce HMAC, rate limiting, déduplication, dashboard admin et notifications par email. - [Le composant ProjectSetup - Une façon standardisée de partager des structures de projet](https://www.avonture.be/fr/blog/docusaurus-project-setup) — Découvrez comment utiliser le nouveau composant ProjectSetup pour partager facilement des structures de projet dans vos articles de blog Docusaurus, avec des snippets de fichiers interactifs et des scripts d'installation automatisés. - [Modifier la façon dont Docusaurus génère les balises img](https://www.avonture.be/fr/blog/docusaurus-override-img) — Personnalisez la manière dont Docusaurus génère les balises pour mieux contrôler le rendu et le comportement des images. - [Organisez votre contenu Docusaurus avec un composant Series personnalisé](https://www.avonture.be/fr/blog/docusaurus-series) — Découvrez comment regrouper des articles de blog Docusaurus liés en une expérience de lecture fluide grâce à un composant Series personnalisé. - [Surcharger la génération des balises img avec Docusaurus](https://www.avonture.be/fr/blog/docusaurus-lazy-loading) — Apprenez à personnaliser le rendu des balises dans Docusaurus pour mieux contrôler la sortie des images. - [Tooltips de code assistés par l'IA dans Docusaurus — Explique-moi comme à un enfant de cinq ans](https://www.avonture.be/fr/blog/docusaurus-eli5-snippet-tooltips) — Ajoutez des tooltips au survol sur les lignes de code délicates de votre blog Docusaurus — propulsés par Claude, générés au moment du build, zéro latence côté navigateur. On couvre le plugin remark, le renderer React et le script CLI. - [Un composant Docusaurus qui prévient le lecteur que l'article a plus d'un an](https://www.avonture.be/fr/blog/docusaurus-old-notice) — Affiche une bannière d'avertissement quand le contenu de la page a plus d'un an - [Un composant pour afficher des snippets de code dans un blog Docusaurus](https://www.avonture.be/fr/blog/docusaurus-snippets) — Apprenez à créer un composant React personnalisé pour intégrer des snippets de code dynamiques dans votre blog Docusaurus et offrir une expérience de lecture plus interactive. ## customization - [Personnalisez votre prompt Linux avec Powerlevel10k](https://www.avonture.be/fr/blog/powerlevel10k_sandbox) — Testez et personnalisez le thème Zsh Powerlevel10k pour votre prompt Linux ou WSL dans un sandbox Docker jetable avant de vous lancer dans une installation complète. - [Revisitons la commande ls grâce à eza](https://www.avonture.be/fr/blog/linux-eza) — Fatigué de taper ls -alh ? Découvrez eza, le remplaçant moderne et complet de la commande ls de Linux. Apprenez à l'installer et à configurer un alias puissant pour une meilleure expérience en ligne de commande. ## database - [À la découverte de Pentaho, un programme ETL](https://www.avonture.be/fr/blog/pentaho-discovery) — Découvrez Pentaho Data Integration (ETL). Suivez ce guide pas à pas pour installer Pentaho (PDI/Kettle) sous Linux et charger les données d'un fichier Excel dans une base PostgreSQL avec Docker. - [Drawdb-app - Rendez votre modèle de base de données en png, markdown, mermaid, ...](https://www.avonture.be/fr/blog/drawdb-app) — Visualisez et documentez facilement votre modèle de base de données avec DrawDB-app. Importez des fichiers SQL, générez des diagrammes et exportez en PNG, Markdown, Mermaid et plus encore. - [DuckDB - Interroger des fichiers JSON et CSV en SQL, sans base de données](https://www.avonture.be/fr/blog/duckdb-json-csv) — Exécutez du vrai SQL — jointures, fonctions de fenêtrage, GROUP BY — directement sur des fichiers JSON et CSV, sans étape d'import, sans serveur, sans schéma à définir. Dockerisé, avec une fonction shell duckdb qui fonctionne depuis n'importe quel dossier. L'outil que je sors dès qu'awk ou jq ne suffisent plus. - [Jouer avec Microsoft SQL Server 2022 avec Docker](https://www.avonture.be/fr/blog/docker-mssql-server) — Lancez facilement MSSQL Server 2022 avec Docker. Ce guide pas à pas vous montre comment installer le container, vous connecter avec SSMS et commencer à interroger votre base de données. - [Utiliser Adminer, pgadmin ou phpmyadmin pour accéder à votre container de base de données Docker](https://www.avonture.be/fr/blog/docker-adminer-pgadmin-phpmyadmin) — Utilisez Adminer, pgadmin ou phpmyadmin pour accéder à votre container de base de données Docker. Les instructions simples en ligne de commande pour MySQL, MariaDB et PostgreSQL. ## devcontainer - [Devcontainer - Nommer son container et le regrouper dans Docker Desktop](https://www.avonture.be/fr/blog/devcontainer-container-name) — Fini les noms de containers aléatoires comme serene_ganguly dans les devcontainers VS Code : utilisez runArgs pour forcer un nom et regrouper vos containers dans Docker Desktop. - [Ouvrir un DevContainer sur un serveur distant avec VSCode Remote SSH et ProxyJump](https://www.avonture.be/fr/blog/vscode-remote-ssh-proxyjump-devcontainer) — Enchaînez VSCode Remote SSH, ProxyJump et Dev Containers pour ouvrir un devcontainer qui tourne directement sur un serveur Linux distant — vos scripts atteignent ainsi des services uniquement accessibles depuis le réseau de ce serveur. - [Rendez votre projet Quarto prêt pour les Devcontainers — fini les galères de configuration](https://www.avonture.be/fr/blog/quarto-devcontainer) — Convertissez n'importe quel projet Quarto en devcontainer totalement portable et piloté par VSCode, en quelques minutes. ## doc-as-code - [Afficher un fichier JSON sous forme de mind map](https://www.avonture.be/fr/blog/json-crack) — Transformez des données JSON complexes en mind maps claires et interactives avec JSON Crack. Découvrez comment cet outil puissant simplifie la visualisation et la compréhension des données. - [Comment générer un graphe depuis compose.yaml](https://www.avonture.be/fr/blog/docker-compose-viz) — Visualisez instantanément l'architecture de votre Docker Compose. Utilisez `compose-viz` pour générer un graphe clair des services, dépendances et ports exposés à partir de votre fichier `compose.yaml`. - [Créer une mind map avec Docker et Markdown](https://www.avonture.be/fr/blog/docker-mindmap) — Apprenez à créer facilement une mind map dynamique avec Markmap, Docker et Markdown. Convertissez du texte brut en une superbe mind map HTML interactive. - [Docker - Des diagrammes en tant que code](https://www.avonture.be/fr/blog/docker-diagram-as-code) — Générez de superbes diagrammes d'infrastructure et d'application directement depuis du code Python, avec la librairie diagrams et une simple commande Docker. Visualisez vos systèmes complexes sans effort. - [Documentation as Code - Transformez votre infrastructure en diagrammes soignés avec Python et Mermaid](https://www.avonture.be/fr/blog/docker-python-mermaid) — Automatisez votre Documentation as Code en construisant une stack dockerisée Python et Mermaid CLI pour générer des diagrammes d'architecture dynamiques directement depuis votre code. - [Obtenir une mindmap plus attrayante avec Markmap et Quarto](https://www.avonture.be/fr/blog/vscode-docker-markmap) — Générez des mindmaps attrayantes à partir de Markdown avec Markmap et personnalisez-les dans VSCode. Affichez le résultat HTML final avec Quarto et Docker. - [Quarto - Comment j'ai construit un écosystème auto-documenté pour plus de 50 projets](https://www.avonture.be/fr/blog/quarto-industrialisation) — Plongée dans la conception d'un écosystème de documentation entièrement automatisé avec Quarto et Docker, transformant la documentation en un pipeline de build performant. ## docker - [Comprendre la condition depends_on dans les fichiers Docker compose](https://www.avonture.be/fr/blog/docker-health-condition) — Évitez les erreurs de démarrage dans vos applications multi-services. Apprenez à utiliser la propriété healthcheck et la condition depends_on service_healthy de Docker Compose pour que votre application attende que la base de données soit totalement prête avant de démarrer. - [Dépannage des containers Docker - Accéder à l'autre](https://www.avonture.be/fr/blog/docker-networking-troubleshooting) — Dépannez le réseau de vos containers Docker - testez les ports, le DNS et corrigez les problèmes de proxy pour qu'un container puisse appeler l'API d'un autre de façon fiable. - [Docker - Comment regrouper vos containers](https://www.avonture.be/fr/blog/docker-name-property) — Apprenez à organiser vos containers Docker en groupes logiques grâce à compose.yaml pour un workflow plus propre. - [Docker - Exécuter des interfaces graphiques dans le navigateur](https://www.avonture.be/fr/blog/docker-gui-in-browser) — Lancez facilement des applications Linux graphiques comme Firefox et GIMP dans un container Docker et accédez-y directement depuis votre navigateur web avec ces quelques commandes. - [Docker - Explique-moi comme si j'avais cinq ans - À quoi sert Docker ?](https://www.avonture.be/fr/blog/docker-definition-like-im-five) — Qu'est-ce que Docker ? On utilise une analogie avec une recette de cuisine pour donner une définition simple, façon « explique-moi comme si j'avais cinq ans », des images et des containers Docker. - [Docker - Installer et utiliser Git dans un container comme sur votre machine hôte](https://www.avonture.be/fr/blog/docker-git) — Améliorez votre workflow de développement ! Apprenez à installer et configurer Git dans votre container Docker en partageant la configuration et la clé SSH de votre host, afin de lancer toutes les commandes Git sans quitter le container. - [Docker - Lancer des interfaces graphiques - Firefox, Chrome & GIMP](https://www.avonture.be/fr/blog/docker-run-linux-gui) — Libérez la puissance de Docker ! Un guide pas à pas pour lancer des interfaces graphiques Linux (GUI) comme Firefox, Chrome et GIMP dans des containers Docker. - [Docker Dive — Radiographiez vos images et éliminez le gaspillage](https://www.avonture.be/fr/blog/docker-dive) — Utilisez dive pour inspecter chaque layer d'une image Docker, repérer les mégaoctets gaspillés par des fichiers supprimés, et passer étape par étape d'une image obèse de 1 Go à un build compact et efficace. - [Docker inspect - Récupérer les informations réseau](https://www.avonture.be/fr/blog/docker-inspect) — Utilisez docker inspect pour récupérer rapidement la configuration détaillée et les informations réseau de vos containers Docker au format JSON. Avec une astuce bonus via jq. - [Docker-out-of-Docker aka DooD](https://www.avonture.be/fr/blog/docker-out-of-docker-dood) — Maîtrisez Docker-out-of-Docker (DooD) pour lancer des commandes Docker depuis un container. Un guide pratique couvrant la mise en place pour root et pour un utilisateur non privilégié via le montage du socket Docker. - [Installer rapidement WordPress en seulement trois commandes](https://www.avonture.be/fr/blog/docker-wordpress) — Installez un site WordPress complet avec Docker en seulement trois commandes simples. Apprenez à mettre en place le réseau, la base de données (MySQL/MariaDB) et le container WordPress rapidement et facilement. - [Jouer avec Docker et Java](https://www.avonture.be/fr/blog/docker-java) — Apprenez à compiler et exécuter des applications Java avec Docker. Mettez en place un environnement de développement Java en quelques secondes, sans rien installer localement — parfait pour les développeurs qui débutent avec Java et Docker. - [Jouer avec Docker et le langage Assembleur](https://www.avonture.be/fr/blog/docker-assembly) — Apprenez à combiner la technologie Docker moderne avec le classique langage Assembleur x86. Ce guide propose un exemple « Hello, World! » pas à pas pour les environnements MS-DOS et Linux. - [Jouer avec Docker et Pascal](https://www.avonture.be/fr/blog/docker-pascal) — Peut-on exécuter aujourd'hui du code Pascal vieux de 30 ans ? Oui ! Ce guide vous montre comment utiliser Docker et le Free Pascal Compiler (FPC) pour compiler et exécuter vos anciens programmes Turbo Pascal. - [Lancer un site HTML en quelques secondes avec Docker](https://www.avonture.be/fr/blog/docker-html-site) — Lancez n'importe quel site web statique en quelques secondes avec UNE seule commande Docker. Évitez le casse-tête de l'installation et de la configuration d'Apache ou Nginx pour un setup local rapide. - [lazydocker : un dashboard terminal pour Docker, containerisé](https://www.avonture.be/fr/blog/lazydocker) — lazydocker est une interface terminal en un seul binaire qui affiche d'un coup d'œil chaque container, image, volume et réseau, avec stats et logs en direct. Cet article le containerise — aucune installation sur l'host — et ajoute une fonction shell `lazydocker`, pour zsh ou bash, qui prend en compte le compose.yaml du projet où vous vous trouvez. - [Mettre à jour php.ini quand on utilise une image Docker](https://www.avonture.be/fr/blog/docker-php-ini) — Un guide pas à pas pour mettre à jour votre fichier php.ini dans un container Docker via un volume monté dans compose.yaml. Réglez les problèmes courants comme la taille maximale d'upload. - [Outil de monitoring auto-hébergé](https://www.avonture.be/fr/blog/docker_uptime_kuma) — Découvrez comment installer facilement Uptime Kuma, un outil de monitoring de sites web gratuit et auto-hébergé, avec une simple commande Docker. Suivez la disponibilité de vos sites, assurez la persistance des données et configurez les notifications. - [Partagez des données entre votre container Docker en cours d'exécution et votre ordinateur](https://www.avonture.be/fr/blog/docker-volume) — Activez la persistance des données dans Docker ! Découvrez comment utiliser les volumes (-v) pour partager et gérer efficacement des fichiers entre votre machine hôte et vos containers en cours d'exécution. - [Une seule image Docker pour la production et les devcontainers - la méthode propre](https://www.avonture.be/fr/blog/docker-prod-devcontainer) — Apprenez à concevoir une configuration Docker qui fournit une image de production sécurisée et minimale tout en permettant un développement local sans effort via les Devcontainers de VS Code, avec des overrides propres et une isolation des environnements - [Utiliser Docker init pour dockeriser rapidement votre application PHP](https://www.avonture.be/fr/blog/docker-init-php-apache) — Dockerisez rapidement votre application PHP avec Apache grâce à la commande docker init. Cet outil sous forme d'assistant génère les fichiers Docker nécessaires et montre comment intégrer une base de données de façon sécurisée. - [Utiliser le réseau Docker et la propriété extra_hosts](https://www.avonture.be/fr/blog/docker-network-and-extra-hosts) — Résolvez les alias d'hôte dans vos containers Docker ! Apprenez à utiliser docker network et la propriété extra_hosts dans docker compose pour connecter vos services sans friction. - [Utiliser les volumes avec Docker, cas d'usage](https://www.avonture.be/fr/blog/docker-volumes) — Maîtrisez les volumes Docker pour ne plus perdre vos données ! Volumes gérés par Docker, volumes montés et cas d'usage concrets pour la persistance des données de vos containers. ## docusaurus - [Afficher le changelog de votre article](https://www.avonture.be/fr/blog/docusaurus-changelog) — Afficher le changelog de votre article - [Best Practice - Personnaliser le flux RSS de Docusaurus pour un contenu complet et des images](https://www.avonture.be/fr/blog/blog-post-feed) — Améliorez le fichier RSS de votre blog Docusaurus. Écrivez un plugin pour désactiver le flux de base et inclure le contenu complet des articles, les images et des métadonnées enrichies pour de meilleurs lecteurs. - [Bienvenue](https://www.avonture.be/fr/blog/welcome) — Construit avec Docusaurus, voici le premier article du blog de Christophe Avonture. Vous y trouverez une collection de notes personnelles sur Markdown, Docker, le développement PHP et le devOps. - [Comment signaler un contenu assisté par IA dans un blog Docusaurus](https://www.avonture.be/fr/blog/docusaurus-ai-gemini) — Un guide pas à pas pour indiquer qu'un article a été écrit avec l'aide d'une IA comme Google Gemini, en ajoutant une icône et un auteur. - [Création du site](https://www.avonture.be/fr/blog/site-creation) — Suivez les étapes suivies pour créer ce blog Docusaurus. Découvrez l'utilisation de plugins essentiels comme la recherche, le sitemap, le zoom sur les images, et l'ajout du système de commentaires Giscus. - [Encapsuler un site Docusaurus complet dans une image Docker](https://www.avonture.be/fr/blog/docker-docusaurus-prod) — Déployez votre site de documentation Docusaurus en production avec Docker. Suivez ce guide pas à pas pour créer une image Docker multi-stage très efficace. - [Espiègleries de suricate : semer des easter eggs partout sur mon blog](https://www.avonture.be/fr/blog/docusaurus-easter-eggs) — Tour d'horizon de huit petits easter eggs à découvrir sur ce blog Docusaurus — un suricate en ASCII art caché dans le source de la page, un sprite lancé par le code Konami, un clin d'œil en console.log, un changement de favicon quand on quitte l'onglet, des messages 404 aléatoires, un commentaire caché dans le sitemap et plus encore — ainsi que les vrais bugs (répétition de touche, incompatibilité clavier AZERTY, mauvais emoji, race condition dans postBuild, favicon flou) débusqués en chemin. - [Exécuter Docusaurus avec Docker](https://www.avonture.be/fr/blog/docusaurus-docker) — Faites tourner Docusaurus avec Docker ! Suivez ce tutoriel simple pour créer votre image Docker Docusaurus, utiliser docker compose et lancer rapidement votre documentation ou votre blog. - [Faire tourner Docusaurus avec Docker](https://www.avonture.be/fr/blog/running-docusaurus-with-docker) — Simplifiez le développement de votre blog Docusaurus ! Construisez une seule image Docker pour la production et utilisez les Dev Containers de VS Code pour une édition cohérente, rapide et isolée. - [Faire tourner son propre blog avec Docusaurus et Docker](https://www.avonture.be/fr/blog/docusaurus-docker-own-blog) — Prenez le contrôle total de votre blog Docusaurus auto-hébergé dans un container Docker. Un guide pas à pas : personnalisation du site, montage de volumes et gestion du contenu. - [Gestion des tags dans Docusaurus](https://www.avonture.be/fr/blog/docusaurus-tags) — Automatisez la gestion des tags Docusaurus avec ce script Python. Nettoyez les doublons, corrigez la casse et fusionnez les tags en toute sécurité sur des centaines de fichiers Markdown via Docker. - [Injecter de l'ASCII art dans toutes les pages HTML générées par Docusaurus](https://www.avonture.be/fr/blog/docusaurus-ascii-art) — Injectez une bannière en ASCII art dans chaque page HTML générée par Docusaurus grâce à un plugin postBuild léger. Elle apparaît dans le code source de la page ou peut être affichée visiblement. - [Obtenir le nombre d'articles publiés](https://www.avonture.be/fr/blog/docusaurus-number-of-posts) — Découvrez la méthode simple et rapide pour afficher le nombre total d'articles publiés sur votre site Docusaurus à l'aide de composants personnalisés et de l'API du thème. - [Quelques trucs et astuces pour écrire des articles Docusaurus](https://www.avonture.be/fr/blog/docusaurus-articles-tips) — Boostez vos articles Docusaurus avec quelques astuces essentielles. Apprenez à ajouter des Admonitions, à appliquer du style inline et à mettre en évidence des lignes de code. - [Quelques vérifications sur les images de votre site Docusaurus](https://www.avonture.be/fr/blog/docusaurus-check-images) — Un script Python pour vérifier le lazy loading et la taille des images de votre site Docusaurus avec Playwright et BeautifulSoup. - [Secouez votre téléphone, surprenez le suricate](https://www.avonture.be/fr/blog/docusaurus-shake-easter-egg) — Un neuvième easter egg pour ce blog, pensé pour les lecteurs sur téléphone : secouez-le — dans Chrome ou dans la PWA installée — et la mascotte suricate prend tout l'écran, surprise, pendant environ deux secondes. On y parle du calcul du « jerk » via devicemotion derrière la détection de secousse, de l'animation de l'overlay en trois phases, de la façon de tester le tout depuis une console DevTools sur desktop sans le moindre accéléromètre, et d'un vrai bug découvert en chemin : un générateur d'images IA qui a dessiné le damier censé représenter la transparence sous forme de pixels réellement opaques au lieu d'un vrai canal alpha. - [Votre blog est illisible pour une IA. Voici la solution.](https://www.avonture.be/fr/blog/docusaurus-llms-txt) — Une part croissante de vos lecteurs arrive via un assistant IA — et ce qu'ils reçoivent, c'est votre HTML, emballé dans la navigation, des widgets React et des accordéons fermés. Cet article génère un miroir en Markdown pur de chaque article, un index /llms.txt et des bundles full-text par série, en dégradant la source MDX plutôt qu'en convertissant le HTML rendu. Avec la règle de repli qui rend l'export impossible à casser. ## excel - [Excel Formula Beautifier](https://www.avonture.be/fr/blog/excel-formatter) — Rendez vos formules Excel complexes faciles à lire ! Utilisez l'Excel Formula Beautifier pour formater et clarifier instantanément les formules de vos feuilles de calcul. - [Markdown - Convertir des plages Excel en tableaux Markdown](https://www.avonture.be/fr/blog/markdown-xls2md) — Convertissez facilement vos plages Excel en tableaux Markdown propres avec l'outil en ligne XLS2MD. Copiez vos cellules, collez-les et obtenez le code ainsi qu'un aperçu HTML en direct. - [MS Excel - Comment appeler un web service SOAP](https://www.avonture.be/fr/blog/vba-excel-call-soap-webservice) — Maîtrisez l'appel de web services SOAP depuis MS Excel avec VBA. Récupérez le code et un tutoriel pas à pas pour valider des numéros de TVA avec le service VIES. - [MS Excel - Obtenir la liste des références utilisées dans vos modules](https://www.avonture.be/fr/blog/vba-excel-list-references) — Développeur VBA ? Arrêtez de vérifier les références à la main ! Utilisez ce script VBS pour récupérer automatiquement la liste de toutes les références VBA dans plusieurs fichiers Excel .xlsm ou .xlam. - [MS Excel - Se connecter à une base de données SQL Server, exécuter une requête et récupérer les résultats](https://www.avonture.be/fr/blog/vba-excel-sql-server) — Connectez MS Excel à SQL Server avec VBA. Exécutez des requêtes SQL, injectez les résultats directement dans votre feuille de calcul et conservez la mise en forme. Découvrez la meilleure méthode pour rafraîchir les données ou les partager en toute sécurité. - [MS Excel - Se connecter à une base de données SQL Server, exécuter une requête et récupérer les résultats - Pas à pas](https://www.avonture.be/fr/blog/vba-excel-sql-server-part-2) — Connectez MS Excel VBA à SQL Server avec ce tutoriel pas à pas. Apprenez à exécuter des requêtes SQL, récupérer les données et afficher les résultats dans votre feuille de calcul. Configuration Docker incluse. - [MS Office - Charger une liste déroulante depuis une plage Excel](https://www.avonture.be/fr/blog/vba-excel-ribbon-load) — Chargez une plage Excel dans votre contrôle liste déroulante d'un ruban VBA personnalisé. Ce tutoriel pas à pas couvre le code VBA, le XML Custom UI et les plages nommées nécessaires à une solution dynamique. - [MS Office - Comment créer un ruban dans Excel](https://www.avonture.be/fr/blog/vba-excel-ribbon) — Guide pas à pas pour créer un ruban Excel personnalisé en VBA. Utilisez XML et VBA pour ajouter vos propres onglets, groupes, boutons et fonctionnalités à vos classeurs Excel. ## fzf - [Au-delà du monolithe - Organiser son workflow ZSH comme un pro](https://www.avonture.be/fr/blog/modular-zsh-workflow) — Arrêtez d'alourdir la configuration de votre shell. Découvrez pourquoi déplacer vos fonctions ZSH dans des fichiers autonomes améliore les performances et la maintenabilité, avec un navigateur de projets universel. - [FZF + ripgrep : recherche de code interactive avec aperçu en direct](https://www.avonture.be/fr/blog/fzf-ripgrep) — Combinez ripgrep et fzf avec un panneau d'aperçu coloré par bat pour construire une recherche de code interactive — puis ouvrez le résultat directement dans VSCode, à la ligne exacte. ## git - [Afficher les 3 dernières branches modifiées quand vous entrez dans un repo git](https://www.avonture.be/fr/blog/git-branches-gst) — Découvrez comment configurer ZSH pour afficher automatiquement vos branches Git les plus récemment modifiées dès que vous entrez dans un repository ou que vous vérifiez son statut. - [delta : un pager avec coloration syntaxique pour git diff](https://www.avonture.be/fr/blog/git-delta) — Arrêtez de plisser les yeux devant les sorties brutes de git diff. Découvrez comment installer et configurer Delta pour ajouter coloration syntaxique et vue côte à côte en moins de 5 minutes. - [Git - Quelques astuces pour votre fichier .gitconfig](https://www.avonture.be/fr/blog/git-config) — Personnalisez votre workflow Git avec des astuces essentielles pour le fichier ~/.gitconfig. Apprenez à créer un alias git undo, à gérer les branches distantes, à gérer les credentials et à forcer SSH. - [git worktree : travailler sur deux branches en même temps](https://www.avonture.be/fr/blog/git-worktree) — git worktree permet de checkout plusieurs branches comme de vrais répertoires, en même temps — sans stash, sans perte de contexte. Gardez votre stack Docker en route pendant que vous traitez un hotfix en parallèle. ## github - [Automatisez votre README GitHub avec vos derniers articles de blog](https://www.avonture.be/fr/blog/github-profile-last-blogposts) — Gardez le README de votre profil GitHub à jour avec vos derniers articles de blog grâce aux GitHub Actions. Découvrez comment mettre en place un workflow planifié qui récupère votre flux RSS et met à jour votre README automatiquement chaque semaine. - [GitHub - Comment trouver l'adresse email de la plupart des utilisateurs](https://www.avonture.be/fr/blog/github-retrieve-email) — Trouvez rapidement l'adresse email d'un utilisateur GitHub. Découvrez trois méthodes efficaces avec un outil web, l'API publique ou en inspectant un commit grâce à l'astuce .patch. - [GitHub - Connectez votre compte en SSH et travaillez avec le protocole git@](https://www.avonture.be/fr/blog/github-connect-using-ssh) — Sécurisez votre connexion GitHub ! Suivez ce guide pas à pas pour configurer vos clés SSH et utiliser le protocole git@ pour des opérations Git plus sûres et plus rapides. - [GitHub - Utiliser les Actions pour déployer ce blog](https://www.avonture.be/fr/blog/github-action) — Fini les déploiements FTP manuels ! Découvrez comment automatiser le déploiement de votre blog avec GitHub Actions. Ce guide pas à pas montre comment mettre en place le workflow et utiliser les secrets du repository pour une mise à jour automatique à chaque push. - [VBS - Script d'auto-mise à jour](https://www.avonture.be/fr/blog/vbs-auto-update) — Automatisez les mises à jour de vos scripts console VBS (Visual Basic Script) ! Découvrez comment créer un fichier VBS qui se met à jour lui-même, se connecte à GitHub, vérifie les nouvelles versions et s'écrase. ## gitlab - [GitLab - Exécuter Docker-out-of-Docker dans votre CI](https://www.avonture.be/fr/blog/gitlab-docker-out-of-docker) — Découvrez comment mettre en place Docker-out-of-Docker (DooD) dans votre pipeline GitLab CI/CD. Ce guide explique comment configurer votre GitLab Runner pour partager le socket Docker de l'host et les fichiers du projet, afin que les containers puissent exécuter des commandes `docker run`. - [GitLab - Utiliser des images Docker privées](https://www.avonture.be/fr/blog/gitlab-using-private-images) — Utilisez une image Docker privée de Docker Hub dans votre pipeline GitLab CI/CD. Apprenez à créer un token en lecture seule et à configurer les variables GitLab CI/CD nécessaires à l'authentification. - [GitLab - Utiliser une clé SSH pour se connecter à un repo privé](https://www.avonture.be/fr/blog/gitlab-runner-ssh-key) — Guide pas à pas pour configurer un runner GitLab CI/CD afin qu'il utilise une clé SSH privée en toute sécurité pour accéder et cloner des repositories privés. ## joomla - [Créer votre site Joomla avec Docker - Partie 1](https://www.avonture.be/fr/blog/docker-joomla) — Apprenez à mettre en place rapidement votre site Joomla en local avec Docker. Ce guide pas à pas couvre Docker Compose, la configuration de la base de données (MySQL/MariaDB) et le lancement de vos services. - [Créez votre site Joomla avec Docker - Partie 2](https://www.avonture.be/fr/blog/docker-joomla-part-2) — Créez votre site Joomla persistant avec Docker en une seule commande. Ce guide (Partie 2) se concentre sur l'automatisation avancée avec compose.yaml et makefile. - [Démarrer Joomla avec Docker en quelques clics](https://www.avonture.be/fr/blog/docker-joomla-right-to-the-point) — Lancez votre site Joomla avec Docker en quelques clics ! Suivez ce guide rapide et direct pour démarrer votre projet Joomla instantanément grâce à une configuration Docker Compose toute simple. - [FrankenPHP : un serveur d'applications moderne pour PHP](https://www.avonture.be/fr/blog/frankenphp-docker-joomla) — Apprenez à mettre en place un site Joomla avec Docker et FrankenPHP, un serveur PHP moderne jusqu'à 3,5 fois plus rapide que PHP-FPM. Avec un compose.yaml tout simple. - [Joomla - Exécuter une requête SQL en dehors de Joomla et afficher un joli tableau HTML](https://www.avonture.be/fr/blog/joomla-show-table) — Exportez facilement vos données Joomla en direct vers Microsoft Excel. Apprenez à exécuter une requête SQL personnalisée en dehors de Joomla et à afficher les résultats dans un tableau HTML actualisable, à lier à votre feuille de calcul. - [Joomla - supprimer les tables de votre base de données selon un certain préfixe](https://www.avonture.be/fr/blog/joomla-db-kill-tables-prefix) — Nettoyez votre base de données Joomla en supprimant facilement les tables inutiles à partir d'un préfixe donné. Suivez ce guide pas à pas pour utiliser un petit utilitaire PHP en toute sécurité. - [Restaurer une sauvegarde Joomla avec Docker](https://www.avonture.be/fr/blog/docker-joomla-restore-jpa) — Restaurez facilement la sauvegarde de votre site Joomla en local avec Docker, Docker Compose et Akeeba Kickstart. Une simple commande make import suffit. ## laravel - [Laravel Filament](https://www.avonture.be/fr/blog/laravel-filament) — Découvrez Laravel Filament, une collection de superbes composants full-stack pour construire des interfaces d'administration avec la stack TALL. Une alternative gratuite à Laravel Nova. - [Laravel Telescope](https://www.avonture.be/fr/blog/laravel-telescope) — Laravel Telescope est votre assistant de débogage ultime : il offre une vue en temps réel des queries, exceptions, du cache et des logs de votre application. Comprenez et corrigez les problèmes plus vite. - [Travailler avec les events Laravel](https://www.avonture.be/fr/blog/laravel_events) — Découvrez la puissance des events Laravel pour un code propre et découplé. Ce guide donne un exemple pratique, étape par étape, de création et de dispatch d'un event avec son listener. ## linux - [À la découverte de Zorin](https://www.avonture.be/fr/blog/zorin) — Envie d'essayer un nouvel OS ? Zorin OS 18 est une distribution Linux basée sur Ubuntu, parfaite pour quitter Windows. Installation facile, interface familière et excellente compatibilité ! - [CaesiumCLT – Compressez vos images sans effort, directement sur votre machine](https://www.avonture.be/fr/blog/reduce-image-size) — Outil de compression d'images rapide et efficace, avec ou sans perte - [Comparer des fichiers d'environnement dans la console Linux](https://www.avonture.be/fr/blog/compare-env-files-cli) — Vos fichiers .env et .env.example ne sont plus synchronisés ? Découvrez une commande Linux puissante basée sur diff, grep et sort pour comparer précisément vos variables d'environnement et ignorer les commentaires. - [Démarrer le bureau Lubuntu dans Docker](https://www.avonture.be/fr/blog/docker-lubuntu) — Apprenez à lancer l'interface graphique Lubuntu Desktop dans un container Docker sous Windows grâce à un X Server. Un environnement jetable parfait pour apprendre Linux et expérimenter. - [Édition en masse d'un fichier d'environnement](https://www.avonture.be/fr/blog/update-env-files-cli) — Arrêtez d'éditer vos fichiers .env à la main ! Découvrez une fonction Linux simple pour mettre à jour vos variables d'environnement en masse et déployer de façon cohérente sur tous vos serveurs. - [FTP - Supprimer fichiers et dossiers à la vitesse de la lumière](https://www.avonture.be/fr/blog/ftp-erase-files) — Fini la suppression interminable de fichiers via FTP ! Découvrez comment effacer des sites et des dossiers entiers à la vitesse de l'éclair grâce à un simple script PHP qui s'auto-supprime — même sans accès SSH. - [hyperfine — arrêtez de deviner quelle commande est la plus rapide, mesurez-la](https://www.avonture.be/fr/blog/hyperfine) — hyperfine est un outil de benchmark en ligne de commande écrit en Rust. Il exécute vos commandes de nombreuses fois, gère les runs de warmup, calcule des statistiques sur le temps et la mémoire, et vous dit définitivement laquelle est la plus rapide — avec export en Markdown, CSV ou JSON. - [Introduction à fzf - Fuzzy Finder](https://www.avonture.be/fr/blog/linux-fzf-introduction) — Maîtrisez la ligne de commande Linux avec fzf (Fuzzy Finder). Découvrez sa puissante recherche floue dans l'historique (CTRL+R) et sa sélection de fichiers (CTRL+T) pour booster votre productivité. - [JSON - Faker & Mockup](https://www.avonture.be/fr/blog/json-faker) — Générez et validez des données JSON avec la librairie Faker de Python et Mockaroo. Apprenez à créer de fausses données pour vos tests et à garantir la qualité des fichiers reçus avec des schémas. - [JSON - Linter en ligne](https://www.avonture.be/fr/blog/json-lint) — Un outil de lint JSON en ligne, simple et rapide. Collez votre chaîne JSON pour l'afficher sous forme d'arborescence claire et lisible, avec folding du code. - [L'utilitaire jq pour Linux](https://www.avonture.be/fr/blog/linux-jq) — Utilisez le puissant utilitaire Linux jq pour manipuler des données JSON, embellir la sortie et filtrer des nœuds directement depuis votre ligne de commande et vos scripts shell. - [L'utilitaire xmlstarlet pour Linux](https://www.avonture.be/fr/blog/linux-xmlstarlet) — Maîtrisez la manipulation de données XML en ligne de commande avec xmlstarlet. Ce guide montre comment embellir une sortie XML et filtrer des nœuds avec des expressions XPath - [Linux - Comparer deux versions du même script](https://www.avonture.be/fr/blog/linux-compare-two-versions-of-the-same-script) — Utilisez une astuce simple en ligne de commande Linux avec diff, grep et awk pour comparer deux versions du même script Bash. Identifiez rapidement les fonctions manquantes ou nouvelles entre deux versions d'un fichier ou entre deux dossiers entiers. - [Linux - Travailler avec l'historique de vos dernières commandes](https://www.avonture.be/fr/blog/linux-history) — Maîtrisez l'historique de votre ligne de commande Linux. Apprenez à afficher, localiser (.bash_history, .zsh_history) et gérer vos commandes précédemment exécutées grâce à quelques astuces essentielles. - [Linux : comparer deux dossiers/fichiers dans la console](https://www.avonture.be/fr/blog/linux-diff-file-folder) — Comparez efficacement deux fichiers ou des dossiers entiers sous Linux avec la commande diff. Des scripts bash avancés pour une comparaison à l'échelle industrielle. - [Maîtrisez votre commande ssh et choisissez l'host dans une liste](https://www.avonture.be/fr/blog/ssh-with-fuzzy-finder) — Construisez un sélecteur d'hosts SSH interactif et filtrable avec FZF. Apprenez à modulariser vos configurations SSH, à ajouter une documentation riche et à déclencher des actions personnalisées avancées via une interface terminal rapide. - [Rechercher et remplacer (ou ajouter) avec sed](https://www.avonture.be/fr/blog/linux-sed-tips) — Maîtrisez sed sous Linux pour éditer vos fichiers dynamiquement. Apprenez à remplacer une variable existante ou à ajouter simplement une nouvelle ligne si la variable est absente de votre fichier de configuration. - [Ubuntu - Installation from scratch](https://www.avonture.be/fr/blog/ubuntu-install) — Installez Ubuntu Desktop 24.04 from scratch grâce à ce guide simple, étape par étape. Apprenez à désactiver Bitlocker, à créer une clé USB bootable et à contourner le bug d'installation des pilotes NVIDIA. - [yq — Le processeur YAML que vous savez déjà utiliser](https://www.avonture.be/fr/blog/linux-yq) — yq est à YAML ce que jq est à JSON. Interrogez et modifiez vos fichiers Docker Compose, vos configs CI et n'importe quel document YAML depuis la ligne de commande — aucune installation nécessaire, à part Docker. ## makefile - [Linux Makefile - Ajouter un écran d'aide](https://www.avonture.be/fr/blog/makefile-help) — Implémentez un écran d'aide clair et élégant dans votre Makefile Linux. Un guide simple pour lister automatiquement toutes les targets, leurs descriptions, et créer des sections groupées. - [Linux Makefile - Quand utiliser un makefile](https://www.avonture.be/fr/blog/makefile-using-make) — Arrêtez de mémoriser des commandes Docker complexes. Découvrez quand et comment utiliser un makefile Linux avec GNU make pour automatiser la mise en place de votre projet, les logs et la gestion de l'environnement. - [Makefile - Tutoriel et astuces](https://www.avonture.be/fr/blog/makefile_tips) — Astuces essentielles pour automatiser avec un Makefile. Apprenez à vérifier l'existence d'un fichier, lancer des targets dépendantes, utiliser des conditions, ignorer les erreurs et intégrer Docker dans vos scripts. ## markdown - [Docling - Convertir PDF, Word, PowerPoint, Excel et HTML en Markdown, accéléré par GPU](https://www.avonture.be/fr/blog/docling) — Une image Docker batteries-included pour Docling, la bibliothèque de conversion de documents d'IBM : PDF, Word, PowerPoint, Excel et HTML transformés en Markdown propre, avec accélération GPU pour les machines qui ont de la VRAM en rab. Un complément à mon article Markitdown — même idée, un moteur plus lourd en dessous. - [Markdown - Convertir du CSV en tableaux Markdown](https://www.avonture.be/fr/blog/markdown-csv2md) — Convertissez rapidement du contenu CSV en tableaux Markdown propres et bien formatés grâce à l'outil CSV2MD. Découvrez comment utiliser ce convertisseur efficace, avec ses options de délimiteurs et de transposition des tableaux. - [Markitdown - Convertir des fichiers et des documents MS Office en Markdown](https://www.avonture.be/fr/blog/markitdown) — Convertissez facilement vos documents MS Office (Word, Excel) et vos PDF en Markdown avec l'outil Markitdown de Microsoft. Avec les instructions pas à pas pour l'installer via Docker. ## msaccess - [Comment optimiser une base de données MS Access existante](https://www.avonture.be/fr/blog/msaccess-optimize) — Accélérez votre base de données Microsoft Access lente grâce à ce guide d'optimisation pas à pas. Apprenez à améliorer la structure des tables, à utiliser les index, à optimiser les requêtes et à compacter votre base pour de meilleures performances. - [Exporter les objets MS Access](https://www.avonture.be/fr/blog/vba-access-export) — Versionnez facilement votre base de données MS Access ! Exportez tout le code VBA, les formulaires, modules, requêtes et rapports vers des fichiers plats grâce à un simple script VBS, prêt pour GitHub. - [VBS - Récupérer la liste des champs d'une base de données MS Access](https://www.avonture.be/fr/blog/vbs-msaccess-get-fields) — Utilisez un VBScript pour récupérer facilement la liste détaillée des champs de votre base de données MS Access. Analysez la taille, le type et la longueur réelle des valeurs pour optimiser la structure de votre base. ## oracle - [Accéder à une base de données Oracle avec .Net, NodeJS, PHP et Python](https://www.avonture.be/fr/blog/oracle-dotnet-nodejs-php-python) — Guide pas à pas pour accéder à un container de base de données Oracle avec .Net, Node.js, PHP et Python. Inclut le Dockerfile et des exemples de code complets pour chaque langage. - [Faire tourner Oracle Database Server dans un container Docker](https://www.avonture.be/fr/blog/docker-oracle-database-server) — Apprenez à faire tourner Oracle Database Server dans un container Docker. Ce guide pas à pas couvre la mise en place de l'image, l'acceptation de la licence, la génération du token et l'accès à la base de données. - [Transformer une base Oracle en OpenData avec Oracle REST Data Services](https://www.avonture.be/fr/blog/docker-oracle-ords) — Mettez en place Oracle REST Data Services (ORDS) dans Docker pour transformer votre base Oracle en OpenData avec une API REST puissante. Filtrage et pagination inclus. ## php - [Développement PHP dans un devcontainer avec des outils de qualité de code préinstallés](https://www.avonture.be/fr/blog/vscode-devcontainer) — Arrêtez de vous battre avec les problèmes de qualité de code. Mettez en place un environnement de développement PHP cohérent instantanément ! Ce guide pas à pas vous montre comment configurer un devcontainer VSCode avec des outils de qualité et d'analyse préinstallés. - [Docker init supporte maintenant PHP](https://www.avonture.be/fr/blog/docker-init) — Containerisez votre application PHP rapidement ! Ce guide vous montre comment utiliser la nouvelle fonctionnalité docker init avec PHP et Apache, avec une explication des fichiers Dockerfile et compose.yaml générés. - [Générer la documentation d'un projet PHP](https://www.avonture.be/fr/blog/docker-phpdocumentor) — Générez sans effort une documentation de qualité pour votre code PHP. Ce guide montre comment utiliser l'image Docker phpDocumentor pour créer la documentation en une seule commande. - [Installer Docker et jouer avec PHP](https://www.avonture.be/fr/blog/install-docker) — Installez Docker et lancez PHP avec Apache instantanément grâce aux containers. Apprenez à passer facilement d'une version de PHP à l'autre (comme 7.4 et 8.1) sans conflits locaux pénibles. - [Installer un environnement PHP Docker en quelques secondes](https://www.avonture.be/fr/blog/php-devcontainer) — Mettez en place rapidement un environnement PHP Docker Dev Container pour VSCode. Composer et des outils d'analyse statique préinstallés comme PHP-CS-Fixer et Rector, immédiatement disponibles. - [La façon la plus simple de lancer un script / site PHP](https://www.avonture.be/fr/blog/docker-php-run-script-or-website) — La façon la plus simple de lancer un script ou un site PHP standard instantanément avec Docker. Une seule commande docker run et votre code est en ligne pour un test rapide. - [Obfusquez votre code PHP](https://www.avonture.be/fr/blog/php-obfuscator) — Protégez votre code PHP grâce à l'obfuscation. Découvrez comment fonctionne le script php_obfuscator et si des outils d'IA comme Copilot arrivent encore à désobfusquer votre code source propriétaire. - [Rector 1.0.0 🎉🎉🎉, mon ami, mon coach](https://www.avonture.be/fr/blog/php-rector) — Découvrez PHP Rector, l'outil gratuit et puissant pour moderniser et refactoriser automatiquement votre code PHP. Améliorez la qualité de votre code et devenez un meilleur développeur PHP. - [Refactoring de code PHP dans VSCode](https://www.avonture.be/fr/blog/vscode-php-refactoring) — Maîtrisez le refactoring de code PHP dans VSCode avec ce guide. Utilisez l'extension gratuite PHP Refactor Tool pour renommer sans risque symboles et classes, et extraire de nouvelles méthodes. ## python - [Docker - Installation facile de Python sous Windows](https://www.avonture.be/fr/blog/docker-python-devcontainer-windows) — Mettez en place facilement un environnement de développement Python sous Windows avec Docker et les devcontainers VSCode. Codez immédiatement, sans installer Python localement. - [Docker - Python devcontainer](https://www.avonture.be/fr/blog/docker-python-devcontainer) — Découvrez comment mettre en place rapidement un devcontainer VSCode pour développer en Python avec Docker. Récupérez le Dockerfile complet, le compose.yaml et les configurations .docker.env. - [Docker - Une installation de Python encore plus simple](https://www.avonture.be/fr/blog/docker-python-devcontainer-microsoft) — Simplifiez votre développement Python. Ce guide montre comment utiliser Docker et les Devcontainers de Microsoft pour un environnement Python incroyablement facile à mettre en place et reproductible. - [Jouer avec Docker et Python](https://www.avonture.be/fr/blog/docker-python) — Oubliez les installations Python compliquées. Découvrez comment exécuter rapidement vos scripts Python avec des containers Docker, du « Hello World » à un jeu du pendu, et simplifiez votre développement. - [Pandas - Fusionner deux fichiers ou plus et en créer un seul](https://www.avonture.be/fr/blog/python-pandas-merge) — Fusionnez efficacement deux fichiers CSV ou Excel (ou plus) en Python grâce à la puissante librairie Pandas. Apprenez pas à pas à gérer les enregistrements manquants et à consolider des données comme les salaires des employés sur plusieurs années dans un seul DataFrame propre. - [Python - Générer des flux avec pydot](https://www.avonture.be/fr/blog/python-pydot) — Utilisez Python et la bibliothèque pydot pour générer facilement des diagrams-as-code comme des flowcharts ETL, des diagrammes de classes et des arbres de décision. Avec installation Docker et exemples de code. ## quarto - [Affichage conditionnel avec Quarto](https://www.avonture.be/fr/blog/quarto-conditional-display) — Apprenez à utiliser les fonctionnalités d'affichage conditionnel de Quarto (content-visible, content-hidden) pour contrôler quel contenu apparaît dans les différents formats de sortie (HTML, PDF, Word, slides) à partir d'un seul fichier Markdown. - [Améliorez vos présentations avec Quarto, reveal.js, Decktape, Docker et les DevContainers](https://www.avonture.be/fr/blog/running-revealjs-with-docker) — Créez un slideshow reveal.js avec Quarto, Decktape, Docker et les DevContainers. Écrivez votre contenu en Markdown. Exportez-le en HTML et en PDF (grâce à Decktape) - [Exécuter Quarto Markdown dans Docker](https://www.avonture.be/fr/blog/docker-quarto) — Exécutez Quarto Markdown dans Docker pour générer facilement de la documentation et des slideshows. Apprenez à construire votre propre image Docker et à rendre du Markdown en PDF, HTML et Reveal.js. - [Le short code includes de Quarto](https://www.avonture.be/fr/blog/quarto-includes-shortcode) — Découvrez comment utiliser le short code includes de Quarto pour découper de longs documents en plusieurs fichiers organisés et simplifier votre écriture. - [Les blocs Callout de Quarto](https://www.avonture.be/fr/blog/quarto-callout-blocks) — Découvrez la syntaxe des blocs Callout de Quarto pour créer des encadrés qui attirent l'attention (Tips, Warnings, Cautions) dans vos rapports. Inclut un snippet VSCode bien pratique. - [Mes extensions Quarto préférées](https://www.avonture.be/fr/blog/quarto-extensions) — Mes extensions Quarto préférées - Découvrez les filtres Quarto essentiels pour le templating de contenu partiel, les icônes Font Awesome, l'inclusion de fichiers de code externes et de simples macros de recherche-remplacement pour améliorer votre workflow de documentation. - [Quelques astuces pour Quarto lors du rendu en diaporama reveal.js](https://www.avonture.be/fr/blog/quarto-revealjs-tips) — Améliorez vos présentations Quarto ! Découvrez les astuces essentielles pour produire de superbes diaporamas reveal.js : slides de titre personnalisées, positionnement du logo, personnalisation CSS/JS et mises en page avancées. - [Style inline avec Quarto](https://www.avonture.be/fr/blog/quarto-inline-style) — Appliquez rapidement des styles CSS inline dans Quarto pour vos documents HTML avec la syntaxe []{}. Mettez un texte en évidence instantanément, sans écrire une classe CSS complète. - [Utiliser des variables depuis un fichier externe dans votre projet Quarto](https://www.avonture.be/fr/blog/quarto-project-variables) — Arrêtez le hardcoding ! Apprenez à gérer et réutiliser facilement vos variables dans votre documentation Quarto grâce à des fichiers YAML externes et des variables d'environnement. - [Utiliser le templating Mustache avec Quarto](https://www.avonture.be/fr/blog/quarto-mustache) — Maîtrisez le templating Mustache dans Quarto ! Découvrez comment utiliser l'extension quarto-partials pour créer des pages de documentation structurées et répétitives pour votre site statique. - [Utiliser Quarto pour créer un diaporama PowerPoint](https://www.avonture.be/fr/blog/quarto-powerpoint) — Découvrez comment convertir votre documentation Markdown en diaporama PowerPoint (.pptx) ou en présentation reveal.js en ligne avec Quarto. ## security - [aeSecure - QuickScan - Scanner de virus gratuit](https://www.avonture.be/fr/blog/aesecure-quickscan) — Scannez rapidement votre site Joomla à la recherche de virus et de fichiers suspects avec l'outil gratuit aeSecure QuickScan. Créé à l'origine par Christophe Avonture, le projet est désormais maintenu par l'AFUJ (Association Francophone des Utilisateurs de Joomla). ## self-hosted - [Application de prise de notes auto-hébergée](https://www.avonture.be/fr/blog/docker-memos) — Déployez rapidement l'application de prise de notes auto-hébergée memos avec Docker. Découvrez ses fonctionnalités simples - Markdown, checklists, tags et collage d'images. - [Comment auto-héberger Matomo](https://www.avonture.be/fr/blog/matomo-install) — Auto-hébergez Matomo gratuitement et obtenez des statistiques de fréquentation conformes au RGPD. Ce guide simple couvre l'installation, la configuration de la base de données et l'intégration avec Docusaurus. - [Exterminez-les tous : combattez le spam directement chez votre hébergeur](https://www.avonture.be/fr/blog/cpanel-spam) — Stoppez le spam à la source ! Découvrez comment utiliser SpamAssassin de cPanel pour blacklister et whitelister des domaines, avec une méthode avancée : éditer directement le fichier user_prefs via FTP. - [Exterminez-les tous : tuer le spam avec GitHub Actions](https://www.avonture.be/fr/blog/planethoster-n0c-spam-roundcube-action) — Tuez le spam automatiquement ! Ce guide montre comment utiliser GitHub Actions, du JSON et un script Bash pour générer et déployer des filtres Sieve Roundcube sur votre hébergement N0C de PlanetHoster, en automatisant la gestion de votre liste de blocage. - [Exterminez-les tous, combattez le spam directement chez PlanetHoster - N0C](https://www.avonture.be/fr/blog/planethoster-n0c-spam) — Automatisez votre lutte contre le spam sur PlanetHoster N0C ! Découvrez comment générer et déployer des règles Sieve personnalisées avec RoundCube et un script pour bloquer efficacement de grandes quantités d'emails indésirables. - [Heimdall - Dashboard web](https://www.avonture.be/fr/blog/heimdall-dashboard) — Fatigué des vieux favoris de votre navigateur ? Découvrez comment auto-héberger et configurer Heimdall, un superbe dashboard web qui vous donne un accès immédiat et personnalisé à toutes vos applications et liens préférés via Docker. - [Installer LimeSurvey avec Docker](https://www.avonture.be/fr/blog/docker-limesurvey) — Apprenez à installer LimeSurvey rapidement et facilement avec Docker Compose. Un guide complet sur la mise en place, la persistance des données avec les volumes et l'exécution de versions spécifiques. - [karakeep - L'application pour tout mettre en favori](https://www.avonture.be/fr/blog/docker-karakeep) — Découvrez karakeep, le gestionnaire auto-hébergé de favoris, de notes et d'images. Suivez ce guide simple pour l'installer avec Docker Compose. - [SQL - Outil de formatage](https://www.avonture.be/fr/blog/sql-formatter) — Nettoyez facilement du code SQL legacy illisible avec un simple outil de formatage. Rendez vos requêtes SQL immédiatement lisibles et démarrez votre revue de code. ## ssh - [Comment se connecter à votre serveur d'hébergement en SSH](https://www.avonture.be/fr/blog/connect-using-ssh-to-your-hosting-server) — Apprenez à vous connecter à votre serveur d'hébergement en SSH avec une authentification par clé et un simple alias pour un accès facile. - [Développement distant en SSH avec VSCode](https://www.avonture.be/fr/blog/vscode-remote-ssh) — Utilisez VS Code Remote - SSH : connectez-vous à vos serveurs de production, éditez et exécutez à distance en évitant les pièges classiques. - [Docker secrets : utiliser votre clé SSH pendant le build](https://www.avonture.be/fr/blog/docker-use-ssh-during-build) — Accédez en toute sécurité à des repositories Git privés pendant votre build Docker grâce aux clés SSH et aux secrets Docker. Avec des exemples complets de Dockerfile et de compose.yaml pour éviter que vos secrets ne finissent dans l'image finale. - [Générateur de config SSH : stanzas wildcard, alias et connexions automatisées](https://www.avonture.be/fr/blog/ssh-config-tips) — Générez votre config SSH en quelques secondes — puis comprenez comment elle fonctionne : un wildcard élimine chaque ProxyJump et IdentityFile répété, les stanzas de domaine définissent les noms d'utilisateur pour les FQDN, les alias courts ont besoin de leur propre ligne User, et RemoteCommand vous connecte directement en tant qu'utilisateur applicatif. - [SSH - Autosuggestions avec ZSH](https://www.avonture.be/fr/blog/zsh-plugin-ssh-config-suggestions) — Obtenez des autosuggestions SSH instantanées dans ZSH. Apprenez à installer le plugin zsh-ssh-config-suggestions et à afficher tous les alias de votre ~/.ssh/config avec un simple appui sur TAB. - [SSH - Lancer un terminal sur votre session sans avoir à vous authentifier](https://www.avonture.be/fr/blog/linux-ssh-scp) — Arrêtez de taper votre mot de passe SSH ! Apprenez à utiliser les clés SSH et `ssh-copy-id` pour lancer instantanément une session terminal Linux sans avoir à vous authentifier chaque fois. - [Utiliser sftp en ligne de commande, avec ou sans proxy](https://www.avonture.be/fr/blog/linux-sftp-cli) — Connectez-vous à des serveurs SFTP depuis la ligne de commande Linux. Astuces pour automatiser avec sshpass, définir un port personnalisé et configurer l'accès via un serveur proxy. ## ssl - [Chiffrer des données sensibles avec SSL et Docker](https://www.avonture.be/fr/blog/docker_ssl_encrypt) — Chiffrez et déchiffrez vos fichiers sensibles avec l'image OpenSSL dans Docker. Inclut des scripts simples pour Linux et Windows pour protéger vos secrets avant de les stocker dans Git ou dans le cloud. - [Docker - Configurer votre localhost pour utiliser SSL](https://www.avonture.be/fr/blog/docker-localhost-ssl) — Configurez votre localhost Docker pour utiliser SSL (HTTPS) sans avertissements du navigateur. Ce guide pas à pas utilise mkcert pour générer des certificats de confiance pour vos containers Apache, Nginx et PHP. ## tests - [Écrire des tests fonctionnels avec Pest](https://www.avonture.be/fr/blog/pest-functional-testing) — Découvrez comment écrire des tests fonctionnels clairs et expressifs avec le framework de test PHP Pest. - [Écrire des tests unitaires PHP avec Pest](https://www.avonture.be/fr/blog/pest_tips) — Maîtrisez les tests unitaires PHP avec Pest ! Découvrez l'installation facile, la syntaxe expressive expect, les datasets, les snapshots et les puissantes fonctionnalités de tests architecturaux. - [Introduction à Behat](https://www.avonture.be/fr/blog/behat-introduction) — Apprenez à utiliser Behat, le framework open source de Behavior-Driven Development (BDD) pour PHP. Cette introduction couvre l'écriture de tests fonctionnels puissants en langage naturel et la mise en place de votre premier projet. - [Introduction à Cypress](https://www.avonture.be/fr/blog/cypress) — Démarrez avec Cypress pour vos tests fonctionnels. Ce guide complet couvre l'installation, l'exécution des tests dans des containers Docker, la synchronisation de vos fichiers de tests et la capture de screenshots en cas d'erreur. - [Linux - Scripts Bash - Lancer des tests unitaires avec bats/bats](https://www.avonture.be/fr/blog/bats-unit-tests) — Découvrez comment tester unitairement vos scripts Bash sous Linux avec le puissant framework bats (Bash Automated Testing System). Exemples concrets d'assertions, de vérifications de sortie et d'échecs. ## uncategorized - [Bonne année 2024](https://www.avonture.be/fr/blog/new-year-2024) — Bonne année 2024 ! Je vous souhaite du succès, de la curiosité et de nouvelles compétences en Docker, Linux, Markdown et PHP cette année. ## vba - [VBS - Obtenir la liste des fichiers et générer un CSV](https://www.avonture.be/fr/blog/vbs-files-csv) — Besoin d'une liste de fichiers au format CSV ? Utilisez ce VBScript pour scanner un dossier, sous-dossiers inclus, et sortir les détails des fichiers comme la taille, la date et le propriétaire pour une analyse facile. ## vscode - [Ai-je besoin de VSCode sur ma machine pour l'utiliser ?](https://www.avonture.be/fr/blog/vscode-code-server) — Découvrez comment lancer VSCode dans votre navigateur avec Docker et l'image `code-server`. Éditez votre code à distance sans installer VSCode sur votre machine locale. - [Démarrer vscode depuis github.com](https://www.avonture.be/fr/blog/vscode-github-dev) — Saviez-vous que vous pouvez ouvrir VSCode pour n'importe quel repository GitHub instantanément ? Découvrez le raccourci secret : appuyez simplement sur la touche point (.). Commencez à coder en ligne dès maintenant ! - [Exporter la liste des extensions installées dans VSCode](https://www.avonture.be/fr/blog/vscode-export-list-of-extensions) — Exportez et partagez la liste de vos extensions VS Code installées avec la commande `code --list-extensions`. Découvrez comment générer directement les commandes d'installation pour configurer facilement une nouvelle machine avec PowerShell ou Linux. - [Getter et Setter PHP dans VSCode](https://www.avonture.be/fr/blog/vscode-php-getter-setter) — Implémentez sans effort des Getters et Setters PHP sécurisés dans VSCode. Découvrez les bonnes pratiques pour les propriétés privées de classe et utilisez l'extension recommandée pour les générer instantanément. - [L'extension CodeSnap pour VSCode](https://www.avonture.be/fr/blog/vscode-codesnap) — Prenez facilement de belles captures d'écran partageables de vos snippets de code directement dans VS Code avec l'extension CodeSnap. Un guide simple, étape par étape. - [L'extension Error Lens pour VSCode](https://www.avonture.be/fr/blog/vscode-errorlens) — Ne manquez plus jamais un avertissement ! L'extension Error Lens pour VSCode affiche les erreurs, notices et avertissements directement dans la zone d'édition, ce qui vous aide à écrire du meilleur code plus vite et à repérer les fautes de frappe qui provoquent des bugs silencieux. - [La fonctionnalité Autosave dans VSCode](https://www.avonture.be/fr/blog/vscode-autosave) — Fatigué d'oublier d'enregistrer vos fichiers dans VS Code ? Découvrez comment activer facilement la fonctionnalité Autosave, la régler sur onFocusChange et ne plus jamais perdre vos modifications ! - [Le folding Markdown ne fonctionne pas](https://www.avonture.be/fr/blog/vscode-markdown-code-folding) — Réglez votre problème de folding Markdown dans VS Code ! Découvrez pourquoi le folding ne fonctionne pas et la solution simple pour activer le folding des blocs de code et des titres, pour une édition plus propre. - [Le sticky scroll dans vscode](https://www.avonture.be/fr/blog/vscode-sticky-scroll) — Activez la puissante fonctionnalité Sticky Scroll de VS Code ! Gardez les lignes de contexte (comme les classes, les fonctions ou les titres de section) épinglées en haut de votre éditeur pour naviguer sans effort dans votre code et vos documents. - [Les curseurs multiples dans vscode](https://www.avonture.be/fr/blog/vscode-multiple-cursors) — Besoin de modifier plusieurs lignes dans VSCode là où le rechercher/remplacer ne suffit pas ? Découvrez la puissante fonctionnalité Multiple Cursors et le raccourci clavier pour faire des modifications en masse instantanément. - [Todo Tree dans VSCode](https://www.avonture.be/fr/blog/vscode-todo-tree) — N'oubliez plus jamais vos TODO et FIXME ! Utilisez l'extension VSCode Todo Tree pour rassembler toutes les annotations de code comme TODO, FIXME et TEMPORARY dans un tableau de bord facile à suivre. - [Travailler avec les regions dans VSCode](https://www.avonture.be/fr/blog/vscode-regions) — Maîtrisez le code folding dans VSCode avec les regions. Apprenez à les utiliser en PHP et à activer le support des regions pour les fichiers non pris en charge comme un Dockerfile, avec une simple extension. - [Utiliser la police JetBrains Mono dans vscode](https://www.avonture.be/fr/blog/vscode-jetbrains-font) — Améliorez votre expérience de code ! Apprenez à installer la police JetBrains Mono, gratuite et très lisible, et à activer de superbes ligatures dans VSCode grâce à ce guide de configuration rapide. ## windows - [Activer la sensibilité à la casse pour les noms de fichiers sous DOS](https://www.avonture.be/fr/blog/dos-case-sensitive) — Découvrez comment activer la sensibilité à la casse pour les noms de fichiers dans un dossier précis sous Windows, comme sous Linux. Utilisez PowerShell et la commande fsutil.exe. - [Mettre à jour tous les programmes Windows obsolètes en une fois](https://www.avonture.be/fr/blog/windows-winget) — Mettez à jour tous vos programmes Windows obsolètes en une fois grâce au puissant outil en ligne de commande winget. Découvrez les commandes pour un système rapide et efficace. - [Microsoft Outlook - VBA - Enregistrer des emails en PDF](https://www.avonture.be/fr/blog/outlook-vba-pdf) — Découvrez comment mettre en place une macro VBA dans Microsoft Outlook pour enregistrer facilement les emails sélectionnés sous forme de fichiers PDF sur votre disque dur, avec les instructions d'installation et d'utilisation pas à pas. ## windows-terminal - [Utiliser une image de fond dans votre console Windows Terminal](https://www.avonture.be/fr/blog/windows-terminal-background) — Personnalisez votre Windows Terminal ! Suivez ce guide simple, étape par étape, pour définir une belle image de fond dans votre console et abandonner le vieil écran noir barbant. - [Windows Terminal](https://www.avonture.be/fr/blog/windows-terminal) — Un guide complet de Windows Terminal. Découvrez comment l'installer, personnaliser les profils, utiliser des images de fond et configurer les paramètres pour WSL, Docker et l'ouverture de plusieurs onglets au démarrage. - [Windows Terminal - Ajouter un profil SSH](https://www.avonture.be/fr/blog/windows-terminal-ssh-profile) — Ajouter un profil SSH à Windows Terminal pour se connecter rapidement à vos serveurs sans taper la commande SSH complète à chaque fois. - [Windows Terminal - Split Panes](https://www.avonture.be/fr/blog/windows-terminal-split-panes) — Apprenez à diviser les panneaux dans Windows Terminal pour un multitâche efficace ; raccourcis, astuces de configuration et exemples de workflow. ## winscp - [Cherchez sur votre serveur FTP à la vitesse de l'éclair](https://www.avonture.be/fr/blog/php-grep-searching-at-lightning-speed) — Fatigué des fonctions de recherche FTP désespérément lentes ? Découvrez php_grep, le script PHP ultra-rapide qui utilise les expressions régulières pour trouver du contenu sur votre serveur FTP en un éclair. - [Erreur fatale au démarrage de Putty après avoir sauvegardé les paramètres](https://www.avonture.be/fr/blog/putty-no-supported-authentication-methods) — Corrigez l'agaçante erreur fatale « No supported authentication methods available » de PuTTY qui survient après la sauvegarde des paramètres. Voici la solution rapide : supprimer une entrée précise du registre PuTTY. - [KeePass - Remplacer le champ URL](https://www.avonture.be/fr/blog/keepass-overriding-url) — Découvrez comment détourner le champ URL de KeePass pour lancer des programmes comme PuTTY, WinSCP ou une connexion Bureau à distance (RDP) directement depuis vos entrées. - [WinSCP - Récupérer un mot de passe enregistré](https://www.avonture.be/fr/blog/winscp-retrieve-password) — Vous avez oublié un mot de passe WinSCP enregistré ? Suivez ce guide rapide pour activer les logs et récupérer votre mot de passe en clair depuis le fichier de log de session. - [WinSCP - Synchroniser l'host et le serveur distant](https://www.avonture.be/fr/blog/winscp-synchronize-both) — Utilisez un script avec WinSCP pour synchroniser facilement des fichiers entre votre machine locale et un serveur FTP/SFTP distant. Découvrez les commandes pour une synchronisation locale, distante ou bidirectionnelle. - [WinSCP - Télécharger récursivement les fichiers d'une extension donnée](https://www.avonture.be/fr/blog/winscp-download-recursively-files) — Apprenez à utiliser la fonction de scripting de WinSCP pour télécharger récursivement les fichiers d'une extension spécifique (comme .php) depuis votre serveur FTP/SFTP. Avec un exemple de script simple. - [WinSCP - utilisation avec Visual Basic for Application](https://www.avonture.be/fr/blog/winscp-vba) — Automatisez des transferts de fichiers SFTP/FTP sécurisés directement depuis MS Office. Découvrez comment appeler les DLL WinSCP avec du code Visual Basic for Application (VBA), exemple pratique à l'appui. ## wsl - [Déplacer WSL vers un autre emplacement](https://www.avonture.be/fr/blog/move-wsl-to-another-location) — Vous manquez d'espace sur le disque C ? Suivez ce guide pas à pas pour déplacer en toute sécurité votre distribution WSL (Windows Subsystem for Linux) et vos données Docker vers un autre disque, à l'aide des commandes wsl --export et wsl --import. - [Lancer le programme Windows associé par défaut depuis WSL](https://www.avonture.be/fr/blog/wsl-powershell) — Découvrez la commande toute simple pour ouvrir des fichiers PDF ou HTML depuis votre console Linux WSL avec leur application Windows par défaut - powershell.exe. - [Le build cache Docker a avalé 180 Go — voici comment les récupérer](https://www.avonture.be/fr/blog/wsl-docker-vhdx-cleanup) — Le build cache de Docker s'accumule silencieusement dans le disque virtuel VHDX de WSL2 — et Windows ne récupère jamais cet espace tout seul. Voici le correctif complet : trois étapes communes, puis une méthode de compactage qui dépend de vos droits d'administrateur local. - [Ouvrir une connexion RDP vers l'instance Linux locale](https://www.avonture.be/fr/blog/wslg-rpd-connection) — Apprenez à ouvrir une connexion RDP vers votre instance Linux WSLg (Ubuntu) pour obtenir un environnement de bureau graphique complet. Suivez ce guide pas à pas pour installer et configurer xrdp. - [Ouvrir votre dossier Linux dans l'Explorateur Windows](https://www.avonture.be/fr/blog/wsl-windows-explorer) — Accédez à vos fichiers Linux dans l'Explorateur Windows ! Découvrez la commande toute simple pour ouvrir votre dossier WSL courant et comment corriger rapidement l'erreur « wsl.localhost is not accessible ». ## zsh - [Autosuggestions dans la console avec ZSH](https://www.avonture.be/fr/blog/zsh-plugin-autosuggestions) — Boostez l'efficacité de votre console ZSH. Installez facilement le plugin zsh-autosuggestions et obtenez des suggestions de commandes intelligentes tirées de votre historique pendant que vous tapez. - [Comment installer Oh-My-ZSH](https://www.avonture.be/fr/blog/zsh-install) — Installez Zsh et Oh-My-ZSH facilement ! Apprenez à booster votre terminal Linux avec le thème Powerlevel10k, des fonctions comme take et les fonctionnalités indispensables au quotidien. - [Fonctions ZSH - Personnaliser votre shell pour gérer Docker](https://www.avonture.be/fr/blog/zsh-docker-functions) — Une collection de fonctions ZSH pour améliorer votre expérience du terminal, avec la gestion interactive des containers Docker grâce à fzf. Ouvrez de nouvelles sessions, arrêtez des containers et bien plus, sans effort. - [La coloration syntaxique dans la console avec ZSH](https://www.avonture.be/fr/blog/zsh-syntax-highlighting) — Améliorez votre console Zsh avec la coloration syntaxique ! Les commandes passent au vert (valides) ou au rouge (invalides) pendant que vous tapez. Guide d'installation rapide pour zsh-syntax-highlighting. - [ripgrep — l'outil de recherche qui a changé mon workflow WSL2](https://www.avonture.be/fr/blog/ripgrep) — Découvrez ripgrep, l'alternative ultra-rapide à grep écrite en Rust. Installation sur Ubuntu/WSL2, configuration ZSH, fonctions shell pratiques et cas d'usage réels qui vont transformer votre façon de chercher dans le code au quotidien.