1ère Présentation : « Qui veut gagner une carrière de développeur ? » Par Thomas Gx
Présentation sympathique pour commencer la journée avec des questions marrantes notamment sur des polémiques qui ont pu apparaître dans le développement.
2ème Présentation : « Architecture Inutile ? » par Jérôme Vieilledent
Jérôme nous parle d’architecture et nous explique son évolution sur les dernières années : avant nous avions du code « spaghetti » qui créé de la dette technique avec une complexité importante, une maintenabilité difficile et une évolutivité très risquée ; à l’heure actuelle PHP continue d’être vu par certaines personnes comme un langage qui produit du code « spaghetti », cependant nos architectures ont considérablement évoluées.
Les microservices peuvent, quant à eux, apporter leur lot de complexité s’ils sont mal pensés. L’important est donc plus de respecter des principes simples comme :
- SOLID pour
Single Responsibility Principle
Open/Closed principle
Liskov substitution principle
Interface seggregation principle
Dependency Inversion Principle - DRY :Don’t Repeat Yourself
- KISS : Keep It Stupidly Simple
« Pourquoi architecturer un projet ? …
Pour rendre SOLID » #Symfony_Live @CleverAge pic.twitter.com/OzSGJ9OZi8— Fabien Salles (@FabienSalles) 31 mars 2017
Jérôme nous a ensuite parlé de DDD (Domain Driven Design) en prenant l’exemple d’un cas concret avec un code extrêmement complexe présent dans un unique fichier et un code découplé dans une vingtaine de classes avec une complexité faible, une maintenabilité et évolutivité simplifiées.
Je viens de publier les slides de ma présentation « Architecture inutile ? » du #Symfony_Live Paris https://t.co/rGmZQTjFEG
— Jérôme Vieilledent (@jvieilledent) 1 avril 2017
3ème Présentation : Déployer une app Symfony dans un PaaS par Tristan Darricau
Tristan a commencé par nous énoncer différentes catégories de services :
- IaaS : Infrastructure as a Service
- CaaS : Container as a Service : Comment lancer des container ? Docker…
- PaaS : Plateorm as a Service : BDD ect…
- SaaS : Software as a Service
Avec le PaaS on va coder l’infrastructure avec l’application et faire de l’automatisation. On n’utilisera pas d’outils de provisioning mais des hooks git et des outils de build. Ensuite on doit répondre aux problèmes de variables propres aux environnements (credentials, password…). La meilleure méthode est de créer des variables d’environnement et de les utiliser avec le nouveau composant de Symfony, Dotenv. Les migrations SQL sont dépendantes à la fois de l’application et de Doctrine (l’ORM par défaut dans un projet Symfony). L’idée est donc de passer par les hooks git, builder un projet, gérer les migrations SQL et déployer l’ensemble sur un serveur en configurant les variables d’environnements (RUN).
En PaaS on n’utilise pas des outils de provisioning mais ont s’appuie sur des hooks gît et des outils de build #Symfony_Live @CleverAge pic.twitter.com/mPa4VMFUK1
— Fabien Salles (@FabienSalles) 31 mars 2017
Just uploaded my #Symfony_Live slides : https://t.co/1zyi6m3G6o
By the way, do not forget to comment the talk on https://t.co/VAVbpngwEy :)— Tristan Darricau (@Nicofuma) 31 mars 2017
4ème Présentation : Sécurité web : et si on continuait à tout casser ? Par Alain Tiemblo
Alain a commencé par nous parler de DDOS, de Checklist puis à énumérer un grand nombre d’entreprises connues qui se sont fait pirater leurs bases de données avec des mots de passes non sécurisés (stockés en plain text, md5 ou sha1 sans salt). Alain a ensuite énuméré différentes solutions pour répondre à cette problématique dont l’utilisation de bcrypt.
Well, I mean https://t.co/Fs1HRggcx6 😅
— Tiemblo Alain (@ninsuo) 1 avril 2017
5ème Présentation : Créer des webapps modernes avec Symfony, ReactJS et API Platform par Kévin Dunglas
L’objectif d’API Plateform est de fournir un framework basé sur Symfony™ afin de pouvoir créer une API rapidement en déclarant un modèle. API Plateform permet de respecter les principes REST en allant jusqu’à l’utilisation des hypermedias, la spécification JSON-LD et Hydra pour documenter l’API.
API Platform crée donc automatiquement des API en se basant sur des entités/DTO. Il permet de créer des API orientées ressources et non services.
[#Symfony_Live slides] @reactjs Admin + SPA & native app generator for @ApiPlatform : when #Symfony meets #javascript https://t.co/rVEt9N9fXH
— Kévin Dunglas (@dunglas) 3 avril 2017
6ème Présentation : Tout ce qu’un dev devrait savoir à propos d’Unicode par Nicolas Grekas
Après une brève histoire sur des jeux de caractères présents dans le web, Nicolas nous a parlé du standard Unicode et des différentes problématiques qui pour certaines restent non résolues.
« unicode_ci » le plus universel mais pouvant être coûteux en perf. Si on a besoin d’optimisation, utiliser « general_ci » #Symfony_Live pic.twitter.com/unh2VBxMwa
— Fabien Salles (@FabienSalles) 31 mars 2017
#Symfony_Live Tout ce qu’un dev devrait savoir à propos d’Unicode – les slides https://t.co/HcvBUvSu0r
— Nicolas Grekas (@nicolasgrekas) 31 mars 2017
7ème Présentation : Optimisations de performances avec PHP 7 par Julien Pauli
Le compilateur : PHP7 dispose d’un compilateur entièrement réécrit basé sur un APT (Apstract Syntax Tree), compilateur plus lent mais lorsqu’on utilise un système de cache type OPCache cela est transparent.
En interne : consommation du CPU plus faible, variables optimisées, les « hashtables » (les tableaux) ont été entièrement réécrit avec de nouvelles notions comme les « packed arrays » (tableaux qui sont des listes avec des clés de caractères numériques triées par ordre croissant. On peut optimiser le traitement des chaînes de caractères avec OPCache en augmentant la valeur de la clé « opcache.interned_strings_buffer » qui par défaut est à 4mo (au moins mettre du 32 ou 64mo sur une application Symfony). En PHP7 l’inclusion de variables dans les doubles quotes (« ) est plus performant que la concaténation avec des point (.).
Le futur : JIT, Just In Time compilation viendra optimiser PHP avec des gains de performance qui pourront égaler ceux qui sont apparus entre PHP5 et 7 et qui devrait peut être voir le jour en 2020 avec la sortie de PHP8.
My slides for #Symfony_Live are up at https://t.co/BbFMDICSpm
— julienPauli (@julienPauli) 3 avril 2017
Lightning Talk : Fabien Bourigault avec le Lock Component
Le Lock Component, qui arrive avec Symfony™ 3.3, est supposé être simple et fiable dans sa mise en œuvre, son utilisation peut avoir un intérêt lorsqu’on fait notamment de la persistance distribuée (par exemple avec plusieurs frontaux et un cache redis).
Les slides de mon lightning talk sur le composant lock sont en ligne ! https://t.co/C8blF7aa0p #symfony_live
— Fabien Bourigault (@fbourigault) 31 mars 2017
Au terme de ces 2 jours 100 % Symfony, nos collaborateurs ont pu apprécier des présentations riches en informations et en conseils, mais aussi profiter d’échanges conviviaux avec toute la communauté symfoniste.
BTW ! Clever Age organise des conférences sur différents sujets autour du web (CIAM, Drupal 8, digitalisation des entreprises…). Pour recevoir toutes les informations sur nos prochains évènements inscrivez-vous à la newsletter ci-dessous.
Symfony Live, on vous raconte (jour 1) - Le blog de Clever Age
6 avril 2017
Nos Symfonistes étaient présents au Symfony Live le jeudi 30 et vendredi 31 mars, ils nous racontent. […]