Lightning Talks

Video not working?

It looks like your browser may not support the H264 codec. If you're using Linux, try a different browser or try installing the gstreamer0.10-ffmpeg gstreamer0.10-plugins-good packages.

Thanks! This saves us from needing to use Flash or encode videos in multiple formats. And that let's us get back to making more videos :). But as always, please feel free to message us.

Tip

Symfony Live Paris 2019 lightning talks by various authors. This talk is in French and (sorry!) no transcript is available.

Les side-projects, c'est cool ! (@pierstoval)

Timecode: 00:00

Les side-projects, ce sont ces petits projets personnels que l'on fait quand on a du temps libre, en dehors de notre travail.

Parfois, on trouve des idées révolutionnaires, parfois pas.

Il n'y a pas de règles, c'est nous qui les fixons !

Pas de deadline, pas de chef de projet, pas de client, et une liberté totale sur le choix des technos à utiliser !

Retour critique sur les PSR (@jeremyFreeAgent)

Timecode: 05:32

Depuis l'arrivée du composant HttpClient de Symfony, j'aime l'idée de n'avoir aucune dépendance. Et aucune PSR.

PSR était un très bon moyen de créer un terrain commun pour PHP, pour une interopérabilité (@fabpot).

Certaines PSR sont très utiles: PSR-0 & PSR-4 (autoload), PSR-1 & PSR-2 (coding style), PSR-7 & PSR-18 (HTTP Message/Client).

PSR = PHP Standard Recommendation. Il y a ici une injonction paradoxale : "standard" et "recommendation".

Les PSR sont immuables, et ne peuvent pas évoluer. PSR-7, dernier commit le 6 août 2016, il y a 3 ans (au moment de la conférence), et le standard ne peut plus évoluer.

symfony/contracts est un nouveau package permettant de faire évoluer les propositions de Symfony.

Il faut améliorer la DX pour que les devs prennent du plaisir à coder.

Supprimer du code mort (@ValentineBoineau)

Timecode: 13:00

Supprimer du code, parfois une nécessité, mais on a souvent peur de "tout casser".

PHP étant dynamique et pas 100% strict, peut-on trouver une solution pour supprimer du code sans risque ?

L'AST de PHP permet de modéliser le code, chaque élément étant un objet typé, et les analyseurs actuels utilisent ce graphe pour détecter d'éventuelles erreurs de compilation.

Et du coup, nous sommes en train de travailler sur le Symfony Checker, outil d'analyse statique et dynamique qui va vous permettre de détecter le code mort ou incorrect.

Git en 7 minutes (@alxmhe)

Timecode: 17:46

« Git, c'est comme les 24 heures du Mans, et il ne faut pas manquer le checkpoint. »

Qu'est-ce qu'un commit ? Merge vs rebase ?

Quelques explications sur le fonctionnement de Git.

Sonata Admin vs EasyAdmin (@tony-tran)

Timecode: 25:12

Ces deux bundles permettent de créer un CRUD dans un backoffice.

Les différences entre les deux bundles ne sont peut-être pas intuitives pour les personnes qui ne les connaissent pas.

À partir d'un exemple simple de classes Publication et Category, et leur relation, nous voyons ensemble les avantages et inconvénients de chacun.

Résumé :

  • Sonata:
    • Il faut créer des classes Admin, à déclarer comme services dans le container avec certaines options et être tagués.
    • Chaque classe Admin, en PHP donc, permet de configurer les formulaires, la liste des objets, les critères de recherche, etc.
    • La configuration des classes Admin est assez exhaustive, mais permet de faire beaucoup de personnalisation
  • EasyAdmin
    • La config est en Yaml, pas de classes Admin
    • Autocomplete pour les relations et les ChoiceType
    • Chaque entité peut avoir son propre contrôleur

Symfony CLI (@tucksaun)

Timecode: 33:03

symfony est un binaire installable en local, unique, développé en Go, qui permet de fournir beaucoup de fonctionnalités :

  • Compatible tout OS
  • Pas de dépendances
  • Comme la console Symfony (helpers, etc.)
  • Serveur web local natif, dédié au développement
  • TLS natif avec Let's Encrypt
  • Peut utiliser php-fpm, php-cgi ou php -S ...
  • Peut utiliser plusieurs versions de PHP auto-détectées selon l'OS
  • Compatible HTTP/2
  • Noms de domaines locaux avec un proxy HTTP et DNS local
  • Compatible docker-compose
  • Intégration native avec SymfonyCloud
  • Logs formatés
  • Workers, daemons...
  • Et tant d'autres !

Go beyond composer update: Contribute! (@nicolas-grekas)

Timecode: 40:40

Si vous n'avez jamais contribué à Symfony, voici le guide ultime pour savoir comment faire.

Il n'est jamais trop tard pour contribuer !

Leave a comment!