Devcodex
Mon grimoire personnel de dev. Toutes les commandes, snippets et configs que j’oublie tout le temps, rangés au même endroit.
Une référence rapide pour tout ce qui touche au terminal, au code et à la config — sans avoir à re-googler les mêmes trucs pour la 47ème fois.
📚 Ce qu’on trouve dedans
CLI — Commandes terminal
- Docker — Containers, compose, volumes, networks
- Réseau Docker — Pilotes, DNS interne, inter-conteneurs, exposition des ports, dépannage
- Docker multi-stage (Java) — Builds optimisés Spring Boot / Micronaut, JRE Alpine, caches
- Best practices Dockerfile — Couches, caches, multi-stage, images minimales
- Git — Branches, rebase, stash, cherry-pick
- Git avancé — Trunk-based, GitHub Flow, Gitflow, reflog, force push, cherry-pick
- Grep & Sed — Recherche regex, substitutions, flux
- Ripgrep — Recherche ultra-rapide dans les codebases
- jq — Filtrage, transformation, pipeline JSON
- curl — Requêtes HTTP, authentification, SSL, pipelines
- APT — Gestionnaire de packages Debian/Ubuntu
- SSH — Clés, tunnels, config
- SFTP — Transfert de fichiers sécurisé
- Rsync — Sync et transfert incrémental, exclusions, colonnes
- Logs — tail, less, grep, journalctl
- Security — Génération de secrets, openssl, chiffrement
- Vim — Modes, raccourcis, macros
- Linux — Permissions, process, système
- iptables — Pare-feu netfilter, filtres, NAT
Snippets — Bouts de code réutilisables
- JavaScript — JS/TS patterns
- Bash — Variables, tableaux, conditions, pipes
- Python — Scripts, pathlib & one-liners
- SQL — Requêtes classiques
Frontend — HTML, CSS et JavaScript
- Vue d’ensemble — HTML sémantique, CSS box model, flexbox, grid, JavaScript ES6+ |||- HTML sémantique — Choix des balises, structures typiques, accessibilité, pièges |||- Motifs de mise en page — Sidebars, dashboards, galeries, navbar responsive, hauteurs égales |||- Grid & Flexbox — Règles de décision, axes Flexbox, grid-template-areas, subgrid, pièges récurrents |||- JavaScript ES6+ — let/const, flèches, déstructuration, spread/rest, modules ES, Promises, async/await, optional chaining, nullish coalescing
Backend — API et architecture
- Spring Boot — Configuration, profils, endpoints REST
- Architecture hexagonale — Application, domaine, infrastructure
- Spring Cloud Gateway — Route, filtre, rate limiting
- Patterns API — Pagination, erreurs, versioning
- Logging — SLF4J, Logback, JSON, MDC, corrélation, pièges
- Rate Limiting — Stratégies, implémentation Spring/Micronaut/Gateway, headers, pièges
- Authentification API — JWT, OAuth2, token refresh
- Micronaut — DI, contrôleurs, HTTP client, sécurité, GraalVM
- Spring Boot Actuator — Sondes K8s, endpoints health/metrics, indicateurs personnalisés, exposition Prometheus
- JUnit 5 & Mockito — Assertions, mocking, MockMvc, tests paramétrés |- Testcontainers — Conteneurs Docker éphémères pour tests d’intégration Spring Boot (Postgres, Redis, Kafka)
Laravel — Framework PHP
- Artisan — Commandes CLI pour automatiser le développement
- Eloquent — ORM puissant pour la base de données
- Routing — Routes, middlewares et controllers
- Blade — Moteur de templates élégant
- Migrations — Gestion de schéma de base de données
- Testing — Tests unitaires et fonctionnels
Tests — Méthodologie
- Fondamentaux — Pyramide, TDD, mocking, qualité des tests
- pytest — Installation, fixtures, marqueurs, Docker
- Jest — Configuration, assertions, mocking, React Testing Library
- Vitest — Tests ultra-rapides, TypeScript natif, watch mode
- TDD — Pratique — Cycle complet, state vs behavior, code legacy, boucle courte
Config — Fichiers de configuration
- Nginx — Reverse proxy, SSL, locations
- Docker Compose — Templates de compose
- Dotfiles — .bashrc, .zshrc, .gitconfig
- VSCode — Settings, extensions, keybindings
- Configuration système — sysctl, journalctl, variables d’environnement, /etc/hosts
DevOps — Infra & déploiement
- CI/CD — GitHub Actions, pipelines
- VPS — Setup serveur, sécurité
- SSL — Certbot, Let’s Encrypt, renouvellement
- Monitoring — Logs, métriques, alertes
- Kubernetes — pods, déploiements, services, Ingress
- Terraform — Infrastructure as Code, state, modules, outputs
- Helm — Charts, releases, templates, gestion des dépendances
- Prometheus + Grafana — collecte, dashboards, alertes
Cheatsheets — Références rapides
- Regex — Patterns & exemples
- Shortcuts — Raccourcis clavier (IDE, terminal…)
- HTTP Status — Codes HTTP & leur signification
- systemd — systemctl, journalctl, unités, timers
- Cron — Syntaxe crontab
Databases — Bases de données
|- Requêtes SQL — Modèles de requêtes (jointures, CTE, fenêtrées) |- PostgreSQL — Cheatsheet administration |- Indexation — Stratégies d’indexation et EXPLAIN |- Sauvegarde & restauration — mysqldump, pg_dump, scripts cron |- Redis — Cheatsheet cache & messaging |- Migrations de schéma — Flyway, Liquibase, versioning du schéma, rollback
Sécurité — Protection applicative
- Headers HTTP sécurisés — CSP, CORS, X-Frame-Options, Helmet, cookies sécurisés
- Sécurité applicative — Validation, XSS, CSRF, injection SQL/commande, hashing, checklist de revue
- Gestion des secrets — .env, rotation, CI/CD, git-secrets, .gitignore
- OWASP Top 10 — 10 vulnérabilités critiques + prévention Spring Boot
- Rate Limiting & Throttling — Algorithmes, Resilience4j, Gateway, Micronaut, en-têtes 429
IA — Intelligence artificielle
- Outils & Workflow — Choix de modèle, SDK Python, feedback loop
- Structured Output — JSON valide, schémas, tool calling
- Workflow RAG — Embeddings, stockage vectoriel & retrieval |- Prompts LLM — Structure, few-shot, chain-of-thought, pièges |- API LLM — OpenAI & Anthropic, streaming, tool calling
- Ollama — LLMs locaux, CLI, API OpenAI compatible, choix de modèle par vRAM
Modélisation 3D
- Vue d’ensemble — Blender, Manim CE, p5.js ; de la modélisation au rendu
- Blender — Prise en main — Installation, scripts bpy, rendu headless
- Manim CE — Prise en main — Installation, scènes minimales, rendu CLI
- p5.js — Bases et prototypage interactif — Installation, sketch minimal, mode 3D WebGL
💡 Philosophie
Pas de prise de tête. Si c’est utile, ça rentre. Si c’est obsolète, ça dégage. L’important c’est que ça serve.
Un projet perso par Arthur — parce que la mémoire c’est surfait.