Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Castor - Le Task Runner PHP qui simplifie votr...

Castor - Le Task Runner PHP qui simplifie votre Workflow

Vous êtes développeur PHP et cherchez un moyen d'automatiser vos tâches répétitives ? Découvrez Castor, le task runner conçu spécifiquement pour une super DX. Dans cette session de 20 minutes, nous vous présenterons les fonctionnalités clés de Castor et comment il peut transformer votre workflow de développement.

Nous commencerons par une introduction sur les principes de base des task runners et l'importance de l'automatisation dans les projets modernes. Ensuite, nous explorerons Castor en détail, en vous montrant comment définir, organiser et exécuter des tâches avec une syntaxe simple et intuitive. Vous verrez des exemples concrets d'utilisation de Castor pour des tâches courantes telles que le déploiement, les tests, et la génération de documentation.

Que vous soyez un développeur PHP débutant ou expérimenté, cette conférence vous fournira les connaissances nécessaires pour intégrer Castor dans vos projets et gagner en efficacité. Rejoignez-nous pour découvrir comment Castor peut simplifier et optimiser vos processus de développement PHP.

Objectifs de la session :
* Introduire les concepts de base des task runners et de l'automatisation.
* Présenter les fonctionnalités et avantages de Castor pour les projets PHP.
* Illustrer par des exemples concrets comment utiliser Castor dans divers scénarios de développement.
* Inspirer les développeurs à adopter Castor pour améliorer leur productivité et leurs workflows.

Grégoire Pineau

October 08, 2024
Tweet

More Decks by Grégoire Pineau

Other Decks in Technology

Transcript

  1. Grégoire Pineau dev-ops @jolicode & @redirectionio core team @symfony github.com/lyrixx

    twitter.com/lyrixx Castor Le Task Runner PHP qui simplifie votre Workflow
  2. Task runner 3 • Automatiser des tâches répétitives • Exécuter

    des scripts rapidement et efficacement • “Facile” à écrire • Partager la connaissance • Vient avec des utilitaires • Exemple : Make, fabric, invoke, robo.li
  3. 5

  4. Vous n’avez pas PHP d’installé ? 9 • castor.darwin-amd64 •

    castor.darwin-arm64 (sujet compliqué, help wanted) • castor.darwin-amd64.phar • castor.darwin-arm64.phar • castor.linux-amd64 • castor.linux-amd64.phar • castor.linux-arm64.phar • castor.windows-amd64.phar
  5. Philosophie 19 • Developer eXperience poussée au maximum • Tout

    est fonction ◦ Simplicité ◦ Basé sur des conventions • Configuration ◦ Tout est configurable via des #[Attributs]
  6. SemVer 22 SemVer Gestion des dépréciations “à la Symfony” 15:07:00

    WARNING [castor] User Deprecated: Since jolicode/castor 0.18: The "suggestedValues" property of attribute "Castor\Console\Command\TaskCommand" is deprecated, use "autocomplete" property instead. ["exception" => ErrorException { …}]
  7. Et bien plus encore 24 • Alerte quand une nouvelle

    version est disponible • Des messages d’erreurs aux petits oignons • Des logs • Des commandes de debug
  8. Watcher 39 Quand un fichier est ajouté / modifié /

    supprimé, Un événement est lancé = Castor\watch(...)
  9. Avec des events 49 Castor dispatch un grand nombre d'événements

    • Ajout / Suppression des Tâches • Boot de l’application • …
  10. Real-world examples • Castor itself • jolicode/docker-starter • CetteFamille •

    Sezane • monsieurbiz/SyliusPluginMaker • redirectionio/docker-example • jolicode/JoliTypo • gist Spomky/a93cfa4d5373f865c2435bd9b0606522 52
  11. Conclusion 56 • Une super DX • Simple et efficace

    • Beaucoup d’utilitaires • Extensible • Utilise massivement Symfony 💛
  12. 57 Des questions ? Grégoire Pineau dev-ops @jolicode & @redirectionio

    core team @symfony github.com/lyrixx twitter.com/lyrixx 🌲Qui a compris la relation entre le thème des slides et le sujet ? 🌲
  13. 58 Merci ! Grégoire Pineau dev-ops @jolicode & @redirectionio core

    team @symfony github.com/lyrixx twitter.com/lyrixx 🌲Qui a compris la relation entre le thème des slides et le sujet ? 🌲