Quotidien Shaarli

Tous les liens d'un jour sur une page.

September 21, 2025

piotrplenik/clean-code-php: :bathtub: Clean Code concepts adapted for PHP

Une adaptation des concepts du Clean Code en PHP

How We Made Video Processing 10x Faster with Symfony Messenger | by Matt Mochalkin | Sep, 2025 | Medium

Problème : Traiter une vidéo en synchrone bloque l’utilisateur et le serveur.
Solution : Découper la vidéo en chunks, traiter chaque morceau en parallèle via des workers Symfony Messenger (RabbitMQ, Redis).

Étapes clés :

  1. Upload → Envoi d’un message ProcessVideoMessage.
  2. Découpage en chunks → Messages ProcessVideoChunkMessage traités par des workers.
  3. Recomposition finale avec FFmpeg une fois tous les chunks prêts.

Avantages :
✅ Expérience utilisateur fluide (pas d’attente).
✅ Scalable (ajoutez des workers).
✅ Architecture modulaire et tolérante aux pannes.

How to Set Up GitLab CI for a PHP (Symfony) Project | by Bohdan Pastukh | Sep, 2025 | Medium

L’article détaille la mise en place d’un pipeline GitLab CI pour un projet Symfony, avec les étapes clés suivantes :

  • Automatisation des tests (unitaires, fonctionnels) à chaque Merge Request ou push, en utilisant SQLite pour les tests (plus léger que PostgreSQL).

  • Configuration du fichier .gitlab-ci.yml :

    • Définition des stages (build, test).
    • Utilisation d’images Docker (PHP 8.3, Node 21.7) pour exécuter les jobs.
    • Installation des dépendances (Composer, npm) et exécution des tests via PHPUnit.
    • Gestion des fixtures et du schéma de base de données en environnement de test.
    • Build des assets front-end (Webpack Encore) avec partage des artefacts entre jobs.
  • Blocage des merges si les tests échouent, via l’option "Pipelines must succeed" dans les paramètres de GitLab.

  • Bonus : Pistes pour aller plus loin (analyse statique avec phpstan, audit de sécurité, déploiement automatique).