Slides
Video
By Fabien Potencier
@fabpot
@fabpot
By Marion Hurteau
@MarionLeHerisson
@MarionHerisson
Cette simplicité a cependant un coût qui se fait généralement sentir lorsqu’on a besoin de sortir du cadre.
Le fait est que chez Les-Tilleuls.coop on aime aussi beaucoup travailler sur des applications à fortes contraintes métier, et encore plus sortir du cadre. Et quand ça s’y prête, on le fait en s’appuyant sur les principes du DDD.
Architecture hexagonale orientée message, logique métier découplée de l’infrastructure, … Tant de préceptes qui deviennent des prérequis lorsqu’il s’agit de mettre le métier au centre de nos applications tout en assurant la bonne maintenabilité de celles-ci.
Mais est-ce que tout cela n’irait pas à l’encontre de ce que propose un framework orienté RAD tel qu’API Platform ?
Peut-on réellement découpler notre logique métier de ce framework via les techniques liées au DDD sans pour autant lui faire perdre de son intêret ?
La réponse est oui, et durant ce talk nous allons vous montrer comment.
By Robin Chalas
@chalasr
@chalas_r
And Mathias Arlaud
@mtarld
@matarld
Cependant, manipuler un array PHP n'est pas pratique : les analyseurs statiques de code sont perdus (a moins de spécifier énormément de chose via de la PHPDoc), PHP ne peut pas controller le type au runtime, mais surtout la lisibilité du code est réduite. En effet, à moins de lire tout le code, il est difficile de savoir quelles sont les clés obligatoires, lesquelles sont optionnelles, et enfin comment est typée la donnée.
À travers cette présentation, nous allons voir comment étendre Doctrine pour avoir le meilleur des deux mondes : des colonnes en JSON, et des objets PHP fortement typés.
By Grégoire Pineau
@lyrixx
@lyrixx
By Karim Pinchon
@kpn13
@kpn13
Manipulation de chaînes de caractères avec Unicode, concurrence, internationalisation ou encore rate-limiting sont, entre autres, tous autant de défis que les composants Symfony permettent de régler avec des solutions clé en main. Et tout ça, en profitant de la robustesse d'un code open-source et de la fameuse promesse de rétrocompatibilité.
Bien que certains composants soient connus et reconnus, il en existe au moins tout autant qui pourraient vous sauver de longues heures de développement si vous connaissiez leur existence. C'est ce que nous allons explorer ensemble.
By Alexandre Daubois
@alexandre-daubois
@alexdaubois
Valeur absolue ou relative ? Corrélation ou causalité ? Que nous dit réellement le temps sur nos applications, sur notre environnement ?
Au-travers de cette présentation, je tenterai de mettre cette notion en perspective, notamment au regard de la physique, mais également de son aspect symbolique, afin de mieux comprendre les enjeux liés à la performance, et ainsi (re)devenir Maître du Temps.
Slides
Video
By Jérôme Vieilledent
@lolautruche
@jvieilledent
Que diriez-vous de m'accompagner pour une rétrospective des 12 derniers mois de contributions qui viennent de s'écouler ? Nous ferons ensemble une revue des principaux changements apportés dans l'écosystème sur cette période, sans oublier de vous présenter en avant-première les nouveautés de la prochaine version.
Vous découvrirez, je l'espère des outils dont vous ignoriez l'existence et qui pourtant pourraient vous simplifier la vie.
Slides
Video
By Nicolas Grekas
@nicolas-grekas
@nicolasgrekas
Dans ce talk, nous allons éviter la théorie, et aller directement à la pratique avec notre framework PHP préféré : Symfony. Nous verrons comment intégrer une architecture hexagonale dans Symfony, les différentes manières d'accéder à notre hexagone (UseCase, CQRS), de persister nos entités (ORM, Memento) et enfin quelle stratégie de test adoptée avec une architecture hexagonal (Diamond testing). Tout ça avec plein d'exemples concrets !
Sacré programme, j'espère que vous êtes bien accrochés ! Et n'oubliez pas de réviser la théorie avant de venir, car dans ce talk, on passe à la pratique !
Slides
Video
By Etienne Lebarillier
@etienneleba
@EtienneLeba
By Jérôme Tamarelle
@GromNaN
@GromNaN
Quelles sont les outils offerts par l'outil qui nous permettent d'adapter nos besoins plus ou moins complexes de sécurisation, d'accès aux ressources et données ?
Après une revue de ce qu'il est possible de faire nativement avec Symfony, nous verrons comment étendre le modèle pour définir des permissions administrables et complètement adaptables à des besoins métiers plus complexes, que ce soit dans une application classique Symfony ou une API créée avec API Platform.
Enfin, nous verrons un cas d'usage qui dépasse le cadre que l'on donne habituellement à la définition des rôles pour déterminer dynamiquement les personnes habilitées à recevoir certaines notifications dans un système d'alertes internes.
By Marion Agé
@K-mos
@marion_age
Et pour cause ! Il existe une manière plus ouverte, plus interopérable, plus simple, plus écologique et même plus… décentralisée (!!) de créer des applications web décentralisées.
Les standards du web, et en particulier ceux de dernière génération (RDF, JSON-LD, N3, OpenID Connect) proposent un cadre pour réaliser de telles apps.
C’est sur cette base technique que sont établis deux nouveaux protocoles qui pourraient révolutionner le web : Solid et ActivityPub.
Le projet Solid, pour Social Linked Data, développé par Sir Tim Berners-Lee - le créateur du Web himself - redonne aux utilisateurs le contrôle de leurs données. Il leur permet de les stocker où ils le souhaitent, et de choisir finement quelle application peut accéder à quoi.
ActivityPub est quant à lui un protocole qui permet de créer des réseaux sociaux décentralisés et fédérés. C’est le protocole utilisé par Mastodon, PeerTube ou encore Mobilizon, dont les instances sont regroupées au sein du réseau que l’on nomme le Fediverse.
Encore mieux, pas besoin de smart contracts ni même de blockchain pour créer des applications web décentralisées utilisant ces technologies, un bon vieux script PHP et un Raspberry Pi suffisent. Ceci dit, utiliser Symfony et API Platform peut grandement nous faciliter la tâche, c’est ce que nous découvrirons ensemble !
By Kévin Dunglas
@dunglas
@dunglas
Keycloak est un IAM (Identity and Access Management) populaire qui offre de nombreuses possibilités en tant que SSO (connexion via différents providers comme Facebook, 2FA, stratégie de renouvellement de mot de passe etc). Nous verrons dans ce talk quelques unes de ces fonctionnalités et comment il s'intègre avec une application Symfony.
By Laurent Voullemier
@l-vo
@lvodev
En 3 jours s'est alors organisé une course logistique nationale pour assurer aux personnels de première ligne (santé mais aussi supermarchés, collecte des déchets, énergie, ...) la capacité de continuer à travailler alors que leurs enfants seraient à la maison.
C'est dans ce contexte que des amis et moi avons créé enpremiereligne.fr, une plateforme d'entraide locale, gratuite et open-source basée sur Symfony. Cette expérience nous a montré la puissance de l'open-source et de Symfony pour aider la société.
Dans ce talk, nous discuterons d'en quoi Symfony a été décisif dans ce projet et comment vous aussi, vous pouvez mettre à profit vos compétences technologiques pour améliorer le monde autour de vous.
Slides
Video