Développement
Ma stack et mes outils
Les technologies sur lesquelles je m'appuie pour construire, et le matériel et les logiciels que j'utilise tous les jours. D'abord la stack, ensuite les outils.
La stack technique
Pas un mur de logos. Les outils que j'utilise vraiment, regroupés par couche, chacun avec une raison honnête. Je choisis le classique là où le classique est plus sûr, et je sors les outils tranchants là où ils le méritent.
Langages
PHP 8.5
Le web tourne dessus et le PHP moderne est rapide et strict. Propriétés typées, enums, readonly, fibers. La plupart de mes projets clients vivent ici.
Rust
Pour les chemins critiques et tout ce où une garantie compte plus qu'une échéance. La sûreté mémoire sans ramasse-miettes, et un système de types qui attrape des classes entières de bugs.
TypeScript
Le JavaScript avec une ceinture de sécurité. Je préfère trouver l'erreur à la compilation plutôt qu'en production.
Frameworks
Laravel
Tout est inclus sans être une boîte noire. Files d'attente, migrations, et un écosystème qui me permet de livrer une vraie application vite et de la maintenir pendant des années.
Symfony
Quand un projet a plus besoin des composants que des conventions. Solide, prévisible, durable.
Pulsar
Mon propre framework en PHP 8.5 et Rust. Injection de dépendances compilée, couches hexagonales, vérification formelle sur les modules critiques. Il existe pour pousser l'architecture plus loin qu'un framework généraliste ne le fera.
Données et infrastructure
PostgreSQL
Le choix par défaut auquel je fais confiance. Correct, rapide, et honnête sur ce qu'il fait sous charge. MySQL et MariaDB quand le projet y vit déjà.
Redis
Cache et file d'attente. Ce qui absorbe un pic de trafic pour que la base de données n'ait pas à le faire.
AWS, HTTP/3, Nginx
EC2, S3, SES, Route 53. HTTP/3 et un Nginx réglé devant. J'ai migré plusieurs employeurs de l'hébergement mutualisé vers ceci et j'en ai mieux dormi.
Qualité et outillage
PHPStan, Psalm
L'analyse statique au plus strict. Le compilateur que j'aurais aimé que PHP ait, lancé à chaque commit.
PHPUnit, Infection
Des tests, et du test de mutation pour vérifier que les tests valent la peine d'être gardés. Un objectif de MSI les garde honnêtes.
Docker, GitHub Actions
Le même environnement partout, et un pipeline qui ne laissera pas un build rouge atteindre la production.
profondeur / Où sont passées mes heures
Les outils du quotidien
Ce qui se trouve réellement sur ma machine et mon bureau, dans la tradition /uses. Aucun lien affilié. Si quelque chose figure ici, c'est parce que je m'en sers chaque jour, pas parce qu'on a payé pour la place.
Éditeur et terminal
- NeovimL'éditeur principal. Des années de mémoire musculaire et une configuration que je comprends vraiment. LSP pour PHP, Rust et TypeScript.
- JetBrains MonoLa police de l'éditeur et du terminal. Hauteur d'x élevée, nette en petites tailles, les ligatures restent discrètes.
- tmux + zshUn seul terminal, plusieurs volets, des sessions qui survivent à une déconnexion. C'est là que se fait l'essentiel du travail.
Matériel
- Station de travail LinuxUbuntu sur un poste que j'ai monté moi-même. L'environnement de développement correspond à la production, ce qui élimine toute une catégorie de surprises.
- Clavier mécaniqueSwitches tactiles, disposition presque ortholinéaire. Assez silencieux pour un appel, assez net pour se faire sentir.
- Double écranLe code sur l'un, le site en cours et les logs sur l'autre. La disposition de salle de contrôle, ramenée à un bureau.
Bureau et capture
- Sony α7 IIIL'appareil qui gagne aussi sa place du côté photographie. Il sert de webcam propre pour les appels clients.
- Audio filaireUne vraie interface et un vrai casque. Sur un long appel, la latence et la clarté comptent plus que le confort.
Services
- GitHub + ActionsLa source de vérité et la chaîne d'intégration continue. Des runners auto-hébergés pour les builds Rust les plus lourds.
- PlausibleUne analytique respectueuse de la vie privée quand un client a besoin de chiffres, sans bandeau de cookies à justifier.