- All talks are in french.
- Comment and rate talks on joind.in
- Description
- Google and Facebook store their codebase into one giant code repository. Symfony has been doing the same thanks to Git and some secret sauce with great success since 2010. Having only one repository makes code management much easier for end users and core contributors: one central place to submit pull requests and report bugs, simple cross-project atomic changes, fast releases, and more. But what about users wanting to use only one component? Enter "repository splitting". After learning some theory about subtree splits and how to create them with the Git built-in but slow "subtree" command, I will talk about the tool I developed using libgit2 and Go to make the process almost real time. If you have a microservice oriented architecture and manage one repository per microservice, you could probably benefit from using the same technique with one repository for development and read-only splits for packaging and deployment.
Slides
Video
By Fabien Potencier
@fabpot
@fabpot
- Description
- Le nouveau component Guard simplifie la mise en place d'authentification sur nos applications Symfony. Avec une classe par système d'authentification, voyons comment personnaliser les différentes étapes et comment ajouter facilement de nouveaux Guard authenticator à son application Symfony.
By Jérémy Romey
@jeremyFreeAgent
@jeremyFreeAgent
- Description
- La migration continue d'un vieux projet n’est pas une mince affaire. En premier lieu, il faut définir un périmètre minimal de fonctionnalités à transférer de l'ancien projet au nouveau, et mettre de côté celles qui s'avèrent obsolètes pour enfin intégrer les nouveaux besoins. Mais dans ce processus déjà complexe, que faire des données existantes et comment les adapter à la nouvelle structure ? Comment conserver la synchronisation des données entre les deux projets ? Nous verrons ensemble comment LaFourchette a choisi de répondre à ces problématiques dans le cadre de la refonte d’une de leur principale application de Symfony 2.0 vers Symfony 3.
By Vincent Chalamon
@vincentchalamon
@vincentchalamon
- Description
- Les profilers tel que Blackfire.io ou Memprof permettent de connaitre les fonctions qui prennent ou libèrent de la mémoire. Mais visualiser ce que contient la mémoire PHP permet de mieux comprendre les origines des memory leaks. L'extension PHP Meminfo fournit une vue synthétique du nombre d'instances par classe en mémoire, la liste compléte des objets et autres structures avec les relations qui les lient (membre de classe, présence dans un tableau, etc...). L'accès à ces informations de liaisons permet de comprendre pourquoi un élément n'a pas été libéré de la mémoire en suivant les références qui continuent à pointer sur lui. Le talk commencera par expliquer les mécanismes de libérations de la mémoire (references counter, cyclic reference garbage collector) spécifique à PHP, les effets des memory leaks sur les performances applicatives, puis détaillera des cases studies de fuite mémoire dans des projets Symfony2 et de leur analyse avec meminfo, ainsi que leur résolution.
By Benoit Jacquemont
@BitOne
@BJacquemont
- Description
- Démonstration des principes de Reactive Architecture (responsive, resilient, elastic, message driven) sur le découpage d'une application en transition vers une architecture micro-services. Mise en place de Redis et des composants de Middleware (ESB, RabbitMQ) pour faciliter le découpage applicatif. Mutualisation des modèles canoniques pour éviter la duplication de code. Nous accompagnerons notre présentation d'exemples contextuels inspiré par la mise en œuvre de ces concepts chez Auchan E-Commerce
By Fabien Meurillon
@FabienM
@FabienM
- Description
- Il est courant de gérer des statuts ou états de produits, dans des sites e-commerce ou éditoriaux. Pour ce faire, il est possible d'agir de façon classique, c'est-à-dire manuellement, ou d'avoir recours à des librairies qui proposent déjà des bases de code. Pour cette présentation, nous aborderons la notion de machine à état et sa définition avant d'envisager, son application, en examinant les librairies open sources existantes. Enfin, à la lumière de Symfony, nous étudierons le nouveau composant "Workflow"
By Grégoire Pineau
@lyrixx
@lyrixx
- Description
- Vous avez certainement entendu parler d'ElasticSearch auparavant. Chez BlaBlaCar nous adorons ce moteur de recherche et nous n'hésitons pas une seconde à l'utiliser lorsque cela est justifié. Recherches de trajets, FAQ, logs, détection de fraude, vous découvrirez la quasi intégralité des besoins qui ont justifiés la mise en place d'ElasticSearch chez BlaBlaCar.
By Olivier Dolbeau
@odolbeau
@odolbeau
- Description
- C'est bien connu, les frameworks full stack, c'est lourd et c'est lent, Symfony le premier. Et chez CCM Benchmark (2ème groupe internet français - 50M de VU), on fait tout pour éviter la lenteur ! Alors pourquoi ai-je décider de migrer nos dizaines d'applications vers Symfony ? Et surtout comment respecter les critères de performances que nous avions défini avec notre bon vieux framework maison ? Voyons ensemble les raisons qui m'ont poussé à faire ce choix et surtout quels process et solutions nous avons pu mettre en oeuvre pour éviter des régressions de performance.
By Xavier Leune
@xavierleune
@beoneself
By Mathieu Nebra
@mateo21
@m_nebra
- Description
- Après plusieurs mois de discussion, le PHP-FIG (PHP Framework Interop Group) a publié la PSR-6. Son objectif est de permettre l'interopérabilité entre implémentations de systèmes de mise en cache - un aspect indispensable pour gagner en performance dans votre application. Lors de cette conférence, nous verrons les avantages et les limites de PSR-6, nous discuterons des différentes solutions de cache existantes (Doctrine, Stash, php-cache), et je vous présenterai le nouveau composant Symfony Cache.
By Nicolas Grekas
@nicolas-grekas
@nicolasgrekas
- Description
- Il existe beaucoup de concepts dans la sécurité web, les maîtrisez-vous vraiment ? Pouvez-vous les utiliser afin de pirater un site ? Pourtant, pour toute faille que vous saurez exploiter, vous connaîtrez naturellement les moyens vous en protéger. Durant cette présentation, je vais vous montrer comment exploiter et se protéger de quelques vulérabilités: comment retrouver des mots de passes dans une base encodée en sha512, comment trouver et exploiter des failles XSS, bruteforcer une page de login, utiliser le clickjacking, outrepasser une vérification par SMS...
By Alain Tiemblo
@ninsuo
@ninsuo
- Description
- La présentation a pour but de revenir sur différents aspects avancés de Doctrine mis en oeuvre au sein de projets Symfony 2.x/3. Elle abordera, entre autres, les éléments suivants : Étendre le vocabulaire DQL (spécifiquement ou à l'aide de bundles existants) Utiliser les différents listeners existants (annotations, listeners, subscribers, utilisation de l'UOW de Doctrine lors d'un flush, etc.); Créer des hydrateurs spécifiques ou des entités partielles pour améliorer les performances sur certaines opérations; Astuces diverses pour améliorer les performances (désactivation des logs, etc.)
By André Tapia
@dedeparisg
@dedeparisg
- Description
- Présentation du métier de SELLSecure et de la couche technique du projet. Limitations du moteur historique: Augmentation de la complexité des règles demandées par le métier, temps de réponse plus adaptés aux exigences des clients, dette technique énorme sur ce composant essentiel. Choix de l'expression language: Recherche d'alternative dans le monde PHP et au dehors. Le composant Expression Language paraissait le plus convaincant; Permet de créer des règles complexes, le code est directement dans l'application et les temps de réponse semblaient bon. Mise en place: Migration des règles historiques, adaptation du code de l'application avec l'expression language; Extension de l'expression language pour implémenter certaines règles métiers. Démo. Conclusion, retour d'expérience: Tests de performances, retours des métiers et point sur la dette technique.
- Description
- Si autrefois nous ne nous soucions guère de la sécurité dans nos applications, il serait aujourd'hui impensable de se lancer dans le développement d'une application sans prendre en compte la sécurité vis à vis d'HTTP. Sans parler des outils communément utilisés dans Symfony (csrf_token, auto escaping Twig, escaping de commandes, hashage de données...), cette présentation s'attachera à présenter les différentes possibilités (CSP, HSTS, Framing options, etc...) offertes par les navigateurs et qu'il est facile a mettre en oeuvre dans Symfony via des bundles ou de la configuration pour éliminer de nombreux vecteurs d'attaque comme les DNS, le CDN poisoning ou les XSS.
By Romain Neutron
@romainneutron
@romainneutron
- Description
- Ces-jours-ci on ne parle que de montée en échelle et de scalabilité horizontale. Dans cette présentation, un peu abstraire mais bien pratique, nous parlerons des choix architecturaux que vous pouvez faire pour rendre votre application prête pour un succès planétaire (dommage d’échouer an ayant réussi). Nous allons parler de micro-services, de leur utilité et leurs limites, là où l’on veut communiquer par JSON/HTTP (que d’autres appels REST) et là où un Message Queue en bonne et due forme vous rendra des fiers services futurs. Nous parlerons aussi des écueils à éviter (par la séparation des domaines écritures / lectures) et des choses, que jamais ô jamais vous ne devriez mettre dans une base de données relationnelle. Nous évoquerons en guise de travaux pratiques et cerise sur le gateau comment faire des migration paresseuses avec Symfony.
By Ori Pekelman
@OriPekelman
@OriPekelman
Slides
Video
By Jérémy Derussé
@jeremy-derusse
@jderusse
By Titouan Galopin
@tgalopin
@titouangalopin
Slides
Video