L’usage de Symfony2, l’organisation du code et l’usage du projet Sonata chez Canal+ pour répondre aux enjeux de la refonte d’une partie de la plateforme web. La plateforme présente de nombreux challenges techniques : SDK, API privée, API publique restful+hal, création de contenus riches, huit applications différentes avec une base de code commune, etc. Comment il a été possible d’améliorer certaines parties de Sonata ainsi que l’approche choisie pour la création de certains composants transverses.
ASP.Net 5 a pour vocation de réconcilier la puissance de .NET avec les besoins de modularité et d'efficacité des plateformes web modernes. Dans cette session, nous présenterons les principaux caractéristiques et changements de cette nouvelle version, les nouveautés liées à la nouvelle génération de Visual Studio et les impacts des aspects open source et cross-platforme d'ASP.NET 5.
ASP.NET MVC 6 est la prochaine version du Framework MVC de .NET. Il a pour vocation de tirer partie de la puissance de .NET tout en mettant de côté l'historique parfois pesant d'ASP.NET. Venez découvrir en quoi ASP.NET MVC 6 est un framework MVC moderne et les principales nouveautés de cette nouvelle version majeure.
"ASP.NET Core est le nouveau framework Open Source et Cross Platform pour développer des applications connectées modernes : applications webs, backends mobiles ou applications IoT.
ASP.NET Core peut tourner sur .NET Core ou sur le .NET Framework complet. Son architecture a été complètement revue depuis la précédente génération du framework afin de fournir une expérience de développement plus moderne, plus flexible et plus performante.
Venez découvrir les bases d'ASP.NET Core afin de pouvoir l'envisager dans vos futurs projets !"
ASP.Net 5 a pour vocation de réconcilier la puissance de .NET avec les besoins de modularité et d'efficacité des plateformes web modernes. Dans cette session, nous présenterons les principaux caractéristiques et changements de cette nouvelle version, les nouveautés liées à la nouvelle génération de Visual Studio et les impacts des aspects open source et cross-platforme d'ASP.NET 5.
ASP.NET MVC 6 est la prochaine version du Framework MVC de .NET. Il a pour vocation de tirer partie de la puissance de .NET tout en mettant de côté l'historique parfois pesant d'ASP.NET. Venez découvrir en quoi ASP.NET MVC 6 est un framework MVC moderne et les principales nouveautés de cette nouvelle version majeure.
"ASP.NET Core est le nouveau framework Open Source et Cross Platform pour développer des applications connectées modernes : applications webs, backends mobiles ou applications IoT.
ASP.NET Core peut tourner sur .NET Core ou sur le .NET Framework complet. Son architecture a été complètement revue depuis la précédente génération du framework afin de fournir une expérience de développement plus moderne, plus flexible et plus performante.
Venez découvrir les bases d'ASP.NET Core afin de pouvoir l'envisager dans vos futurs projets !"
"De nos jours, faire du développement web nécessite de connaître une quantité incroyable de technologies, frameworks et librairies.
Nous vous proposons de faire un tour d’horizon du web d’aujourd’hui. Nous parlerons backend, frontend et nous évoquerons aussi le futur.
Si vous voulez savoir où en est le web sans des heures de recherche, vous êtes au bon endroit ! "
...par Dimitri Durieux (CETIC) le 23 septembre 2015.
Jenkins est un outil open source d'automatisation de tâches et d'intégration continue, relativement facile à mettre en oeuvre, et qui permet de gagner du temps sur toutes les étapes automatiques de la production de logiciel : build, lancement de tests unitaire, qualité de code...
Un bon outil à connaître et à installer tôt, pour gagner du temps ensuite !
Développement : mettez le turbo ! - Liferay France Symposium 2017Sébastien Le Marchand
Pendant les phases de développement, les temps d’attente et les tâches répétitives ont trop souvent tendance à s’inviter de manière récurrente. Cette session sera l’occasion de découvrir ou redécouvrir des pratiques et des outils pour ne plus perdre de temps et renouer avec la productivité, dans le contexte d’un projet Liferay.
Les équipes de développement se tournent de plus en plus vers des architectures orientées conteneurs.
Une fois les POCs validés, il faut songer à la mise en production de ces solutions. Jonathan est administrateur systéme, il a mis en place et exploité des solutions conteneurisées dont certaines architectures dites ‘star wars’ (cf Devoxx 2015). Jean-Pascal est développeur backend, il a développé Kodo Kojo, une solution de provisionning d’usine logicielle fortement basée sur des conteneurs.
Au cours de cette présentation, ils vont vous présenter les solutions permettant de connaître l’état de vos clusters de conteneurs à un instant T.
Nous vous proposons un retour d’expérience sur nos choix d’organisation axés autour de la productivité. Notre challenge : rendre une start-up adaptable au changement. Nos objectifs : être efficace pour développer des services, les mettre en production, les faire évoluer et recommencer.
Cette présentation illustrera les moyens organisationnels et techniques qui permettent à chaque membre du projet d’être capable d’intervenir sur l’ensemble des services développés. Nous aborderons entre autres l’agilité, l’infra-as-code (Terraform, AWS), le JavaScript moderne (ES2017, typage statique avec Flow, react native), l’approche mono-repository et la sécurité.
Nous expliquerons pourquoi nous avons fait ces choix et les difficultés que nous avons rencontrées.
Présentation Versusmind de la Plateforme Meteor par Arthur Maroulier : Meteor est une série de projets 100% open source intégrés pour créer une plateforme d'application JavaScript complète pour le développement d'applications réactives sur web et mobile.
Issue d’une expérience sur un projet transverse chez un client bancaire, cette présentation vous présentera la migration d’une application web initialement déployée sur Windows vers un Paas Openshift.
Le panel de transition des applications vers un PaaS ne se résume pas choisir entre appliquer des migrations de type Lift and Shift. Les organisations et méthodologies à adopter doivent être repensées, tout comme les architectures applicatives déployées sur ces infrastructures.
Nous présenterons au cours de cette session les évolutions réalisées sur une application web initialement déployée sur Windows, mais également les gains du passage à OpenShift qui en découlent, ainsi que les problématiques et difficultés qui ont été résolues au cours de cette transition.
Android, Spring, Gradle et de nombreux autres projets apportent leur soutien au langage Kotlin. Fin 2017, Kotlin tient-il ses promesses ?
Retour d’expérience sur le langage, ses avantages et inconvénients sur un projet Mobile, un projet Back et bien plus.
ASP.NET est un ensemble de technologies de programmation Web créé par Microsoft. Ce langage est utilisé pour créer des sites Webs dynamiques, des applications web ou des web services XML.
Le développement Web avec ASP.NET est plus facile: les applications Web sont développées comme des applications Windows en utilisant le modèle ASP.net ==> il s'agit d'une insertion du code (codebehind) C# ou VB.net dans des pages HTML (ajouter du JavaScript) est envoyé au client. On dit On dit que le C# et/ou VB.NET sont utilisés pour modifier le HTML
L'objectif de cette introduction est de :
- Comprendre le fonctionnement du Framework .Net
- Comprendre les principes de base de ASP.NET
- Faire la différence entre Page web Classiques et pages ASPX crées avec ASP.NET
À partir de la conférence de Raphaël Yharrassarry sur "Science-Fiction et Interaction" (http://www.paris-web.fr/2014/conferences/science-fiction-interaction.php), nous interrogeons l'expérience qu'offrent les objets connectés et nous étudions ce qu'est une expérience complète dans un tel contexte. Enfin, nous en dégageons les critères fondamentaux qui définissent une expérience réussie.
"De nos jours, faire du développement web nécessite de connaître une quantité incroyable de technologies, frameworks et librairies.
Nous vous proposons de faire un tour d’horizon du web d’aujourd’hui. Nous parlerons backend, frontend et nous évoquerons aussi le futur.
Si vous voulez savoir où en est le web sans des heures de recherche, vous êtes au bon endroit ! "
...par Dimitri Durieux (CETIC) le 23 septembre 2015.
Jenkins est un outil open source d'automatisation de tâches et d'intégration continue, relativement facile à mettre en oeuvre, et qui permet de gagner du temps sur toutes les étapes automatiques de la production de logiciel : build, lancement de tests unitaire, qualité de code...
Un bon outil à connaître et à installer tôt, pour gagner du temps ensuite !
Développement : mettez le turbo ! - Liferay France Symposium 2017Sébastien Le Marchand
Pendant les phases de développement, les temps d’attente et les tâches répétitives ont trop souvent tendance à s’inviter de manière récurrente. Cette session sera l’occasion de découvrir ou redécouvrir des pratiques et des outils pour ne plus perdre de temps et renouer avec la productivité, dans le contexte d’un projet Liferay.
Les équipes de développement se tournent de plus en plus vers des architectures orientées conteneurs.
Une fois les POCs validés, il faut songer à la mise en production de ces solutions. Jonathan est administrateur systéme, il a mis en place et exploité des solutions conteneurisées dont certaines architectures dites ‘star wars’ (cf Devoxx 2015). Jean-Pascal est développeur backend, il a développé Kodo Kojo, une solution de provisionning d’usine logicielle fortement basée sur des conteneurs.
Au cours de cette présentation, ils vont vous présenter les solutions permettant de connaître l’état de vos clusters de conteneurs à un instant T.
Nous vous proposons un retour d’expérience sur nos choix d’organisation axés autour de la productivité. Notre challenge : rendre une start-up adaptable au changement. Nos objectifs : être efficace pour développer des services, les mettre en production, les faire évoluer et recommencer.
Cette présentation illustrera les moyens organisationnels et techniques qui permettent à chaque membre du projet d’être capable d’intervenir sur l’ensemble des services développés. Nous aborderons entre autres l’agilité, l’infra-as-code (Terraform, AWS), le JavaScript moderne (ES2017, typage statique avec Flow, react native), l’approche mono-repository et la sécurité.
Nous expliquerons pourquoi nous avons fait ces choix et les difficultés que nous avons rencontrées.
Présentation Versusmind de la Plateforme Meteor par Arthur Maroulier : Meteor est une série de projets 100% open source intégrés pour créer une plateforme d'application JavaScript complète pour le développement d'applications réactives sur web et mobile.
Issue d’une expérience sur un projet transverse chez un client bancaire, cette présentation vous présentera la migration d’une application web initialement déployée sur Windows vers un Paas Openshift.
Le panel de transition des applications vers un PaaS ne se résume pas choisir entre appliquer des migrations de type Lift and Shift. Les organisations et méthodologies à adopter doivent être repensées, tout comme les architectures applicatives déployées sur ces infrastructures.
Nous présenterons au cours de cette session les évolutions réalisées sur une application web initialement déployée sur Windows, mais également les gains du passage à OpenShift qui en découlent, ainsi que les problématiques et difficultés qui ont été résolues au cours de cette transition.
Android, Spring, Gradle et de nombreux autres projets apportent leur soutien au langage Kotlin. Fin 2017, Kotlin tient-il ses promesses ?
Retour d’expérience sur le langage, ses avantages et inconvénients sur un projet Mobile, un projet Back et bien plus.
ASP.NET est un ensemble de technologies de programmation Web créé par Microsoft. Ce langage est utilisé pour créer des sites Webs dynamiques, des applications web ou des web services XML.
Le développement Web avec ASP.NET est plus facile: les applications Web sont développées comme des applications Windows en utilisant le modèle ASP.net ==> il s'agit d'une insertion du code (codebehind) C# ou VB.net dans des pages HTML (ajouter du JavaScript) est envoyé au client. On dit On dit que le C# et/ou VB.NET sont utilisés pour modifier le HTML
L'objectif de cette introduction est de :
- Comprendre le fonctionnement du Framework .Net
- Comprendre les principes de base de ASP.NET
- Faire la différence entre Page web Classiques et pages ASPX crées avec ASP.NET
À partir de la conférence de Raphaël Yharrassarry sur "Science-Fiction et Interaction" (http://www.paris-web.fr/2014/conferences/science-fiction-interaction.php), nous interrogeons l'expérience qu'offrent les objets connectés et nous étudions ce qu'est une expérience complète dans un tel contexte. Enfin, nous en dégageons les critères fondamentaux qui définissent une expérience réussie.
Il n'y a que des bugs faciles à résoudre... quand on a de quoi les cerner ! Le développeur PHP dispose de toute une panoplie d'outils pour tracker les situations les plus rocambolesques. Depuis ses débuts, Symfony n'a eu de cesse d'améliorer l'expérience du développeur en proposant des solutions d'accompagnement robustes et génériques. Les connaissez-vous suffisament ? Lors de cette présentation, je vous donnerai les clefs des mécanismes de debugging présents dans Symfony : VarDumper, Web Debug Toolbar, logs, gestionnaire d'erreur fatales et d'exceptions, etc.
La technologie Kinect n’est pas nouvelle, elle avait beaucoup fait parler d’elle en 2010/2011. Microsoft ayant sorti sa nouvelle version dédiée à Windows en juillet 2014, où en sommes-nous aujourd’hui avec cette technologie ? Que peut-on faire et ne pas faire, notamment en choisissant la technologie HTML5 ? Fort d'une expérience réussie et après avoir développé une application disponible lors du salon de la lingerie via la Kinect, mais aussi sur le Web via la souris nous verrons lors de cette présentation tout les tenant et aboutissant pour réussir un projet Kinect HTML5.
Comment Meetic opère son changement technologique sur son SI. De la création d’API jusqu’à la mise en place d’une démarche qualité tout en passant par l'adoption du Behavior Driven Development, vous saurez tout sur notre parcours, sur les problématiques que nous avons rencontrées, les solutions que nous avons mises en place ainsi que sur le chemin qu'il nous reste à parcourir afin d’appréhender l’avenir avec la plus grande des sérénités. Les thèmes abordés seront : - Comment aborder des changements majeurs sur notre SI sans impacter notre performance globale ? - Migration d'un code monolithique vers des API REST en Sf2, - Exemple de microservices : AB Test, GEO, Permission, Configuration. - Déploiement avec Composer, Satis, Sf2 et Capistrano sur des centaines de serveurs, - Démarche Qualité (Back, Front, App) : nos métriques, outils du marché, outils interne, gestion aux changements. - Méthodologie : Agilité, DevOps, TDD, BDD. - Next steps : Kafka, Continuous Delivery.
Edition of an Enterprise Software, FeedbackNicolas Dupont
Supports du talk présenté lors de la Symfony Live Paris 2015 http://paris2015.live.symfony.com/
Akeneo PIM est un outil de gestion de catalogue produits open-source basé sur Symfony et Doctrine. Le développement a démarré il y a deux ans, l'équipe produit a évolué de 2 à 12 personnes, nous proposons une version communautaire et une version entreprise, utilisées par des clients grands comptes au sein de leur SI. En tant qu'éditeur, nous nous concentrons sur le développement des nouvelles fonctionnalités et la maintenance, les développements spécifiques étant réalisés par un réseau de partenaires intégrateurs. Durant cette conférence, sous la forme d'une rétrospective, nous souhaitons présenter notre retour d'expérience technique et méthodologique sur la création de ce produit. Nous présenterons les avantages d'utiliser Symfony comme socle technique, comment rendre une application extensible et maintenable, les écueils techniques que nous avons rencontrés ainsi que les choix techniques que nous ferions aujourd'hui avec l'expérience acquise.
Conference drupal 8 au Forum PHP 2013 à ParisChipway
Conférence sur les nouveautés de Drupal 8 lors du Forum PHP 2013 à Paris.
Léon Cros a parlé de Views, Symfony2, Editeur CKEditor, Édition directe, HTML5, Mobile et smartphones, services web, ...
Présentation utilisée en guise de support lors du Symfony Live 2014 à Paris sur comment migrer rapidement et simplement une application Symfony2 sur Azure. L'exemple se base principalement sur comment migrer son système de stockage de données et sa gestion des fichiers via la mise en place d'un Blob Storage.
Il s'agit du support de travail qui va nous permettre de mettre au point la série de missions de difficulté progressive pour apprendre à construire et à programmer des robots LEGO Mindstorms EV3.
Symfony2: 30 astuces et bonnes pratiquesNoel GUILBERT
Avec cette nouvelle version de votre framework préféré, de nouvelles fonctionnalités et de nouveaux usages sont apparus. Vous vous demandez comment structurer vos bundles? Comment organiser votre code source? Comment utiliser correctement l'injecteur de dépendance? Venez découvrir au cours de cette session les bonnes pratiques, et quelques astuces, qui vous aiderons dans la réalisation de vos projets avec Symfony2.
Notre voyage vers le déploiement continu avec micro-services, la conteneurisation et l'orchestration des conteneurs utilisant Kubernetes. Sur notre chemin, nous avons dû créer divers outils pour nous aider à mieux utiliser et tester le tout avant d'aller en production. Nous avons également intégré une variété d'autres outils pour nous donner de la visibilité sur notre plate-forme. Cette conférence sera un aperçu de notre voyage jusqu'à maintenant.
Our journey towards continuous deployment with micro-services, containerization and orchestration of containers using Kubernetes. On our way there, we've had to create various tools to help us better use and test everything before going to production. We also had to integrate a variety of other tools to give us visibility on our platform.
This talk will be an overview of our journey up to now.
Dans cette session vous découvrirez comment le couple Visual Studio 2013 et le Framework 4.5.1 augmentent votre productivité ainsi que les performances de vos applications .NET. Dans la lignée du Framework 4.5, cette dernière version offre son lot d’améliorations, parfaitement stabilisées au rythme des versions de Visual Studio. Cependant, Microsoft a décidé de livrer des packages officiels à un rythme plus rapide et plus fréquent que les versions majeures de Visual Studio. La dernière version de NuGet intégrée à Visual Studio 2013 permet de trouver plus facilement le type de package recherché. Ne manquez pas cette session et venez découvrir l’essentielle des nouveautés apportées par Visual Studio 2013 et le Framework 4.5.1.
Speakers : Michel Perfetti (Cellenza), Bruno Boucard (Cellenza)
Pourquoi rails est génial? (version longue)Camille Roux
Camille Roux vous explique pourquoi Ruby et Ruby on Rails peuvent être un choix fantastique pour vos prochains projets. Pendant une heure vous aurez le plaisir de faire un tour en orbite autour de la planète Ruby. Après un bref voyage dans le temps pour comprendre son histoire, vous découvrirez ce qui rend ce monde si magique.
Plus de flexibilité et de scalabilité chez Bouygues Télécom grâce à MongoDBMongoDB
Comme de nombreux opérateur Bouygues télécom dispose d'un annuaire des services de ses clients. Ce système est critique pour réaliser les paiements sur facture des abonnées, s'authentifier sur sa boite de messagerie, regarder la télévision en streaming et bien d'autres services. Il y a quelque années une solution du marché avait été choisie. Après de nombreux problèmes - de performances et de trop grande rigidé du modèle - ce systême a été remplacé par un dévelopement spécifique architecturé autour de MongoDB, Apache Storm et Apache Tomcat. Cette présentation retrace l'histoire de cette refonte et les écueils rencontrés puis surmontés pour mettre en place un système disponible à 99,9% avec des sollicitations pouvant aller jusqu'à 3000 req/s. Nous parlerons de construction de modèle, de devops et aussi de topologie storm.
Plus de flexibilité et de scalabilité chez Bouygues Télécom grâce à MongoDBPierre-Alban DEWITTE
Comme de nombreux opérateur Bouygues télécom dispose d'un annuaire des services de ses clients. Ce système est critique pour réaliser les paiements sur facture des abonnées, s'authentifier sur sa boite de messagerie, regarder la télévision en streaming et bien d'autres services. Il y a quelque années une solution du marché avait été choisie. Après de nombreux problèmes - de performances et de trop grande rigidé du modèle - ce systême a été remplacé par un dévelopement spécifique architecturé autour de MongoDB, Apache Storm et Apache Tomcat. Cette présentation retrace l'histoire de cette refonte et les écueils rencontrés puis surmontés pour mettre en place un système disponible à 99,9% avec des sollicitations pouvant aller jusqu'à 3000 req/s. Nous parlerons de construction de modèle, de devops et aussi de topologie storm.
Introduction au développement Windows Phone 8Microsoft
Approchez, approchez, et venez découvrir le merveilleux environnement de développement pour applications Windows Phone 8 ! Développer sur Windows Phone est d'une simplicité rare, et les preux chevaliers du code que nous sommes feront de leur mieux pour vous le prouver. Nous verrons ensemble les concepts clés pour bien démarrer, les ressources à connaître, les fondamentaux et particularités de la plateforme, l’émulateur, la publication sur le Store... Attention, en sortant de cette session, vous aurez probablement des étoiles plein les yeux et des envies d'applications plein la tête... vous voilà prévenu !
Speakers : David Poulin (Soat), Cyril Cathala (Soat)
Cette session regroupera toutes les nouveautés XAML apportées par la mise à jour Windows 8.1. En passant par les nouveaux composants comme le Hub Control, DateTime pickers et autre SearchBox, venez découvrir aussi les améliorations de performances de certains composants comme le Gridview, ou l'adjonction des menus Flyout, MenuFlyout et SettingsFlyout. Nous verrons aussi le nouveau format XBF ou encore la gestions des thèmes dans Windows 8.1 Enfin nous verrons comment traiter les nouveaux form factors liés à l'arrivée des tablettes 10 ou 8 pouces.
Speakers : Sébastien Pertus (Microsoft), Romain Cornu (Itelios), Maxime Sarilar (Itelios)
Développement d'applications mobiles hybrides avec IONIC 2 et Angular 2. Depuis l'installation jusqu'à l'utilisation de plugins natifs tels que stockage de données, géolocalisation, liaison serveur API Rest...
Architecture de services web de type ressourceAntoine Pouch
Les services de type ressource sont très répandus, ils se cachent parmi nous sous l'appellation RESTful. Mais ils n'étaient pas là les premiers et leurs ancêtres ont 2-3 choses à nous apprendre. Par ailleurs, ils bénéficieront grandement d'un peu plus d'attention que de simplement les coller sur un framwork MVC. J'expliquerai les différentes couches les composants, les différents systèmes de requête/réponse et leur intégration avec ces fameux frameworks MVC que tout le monde adore.
A travers ce retour d’expérience du projet Libon d’Orange Vallée, nous parcourrons ensemble les étapes successives qui nous ont permises d’industrialiser notre usine logicielle avec Jenkins, Docker, Mesos, Marathon et GlusterFS. Fini le cauchemar du serveur d’intégration continue partagé entre plusieurs équipes avec des technologies hétéroclites... Accueillons dorénavant la nouvelle plate-forme de CI as-a-service entièrement conteneurisée, scalable et résiliente ! Nous montrerons en quoi ces nouveaux outils ont fluidifié nos processus de développement et comment cette intégration en douceur de Docker dans notre quotidien nous donne aujourd’hui la confiance nécessaire pour une utilisation future en Production.
Par Jean-Louis Rigau (Software Engineer, Continuous Delivery, DevOps and Docker @Xebia) & Fabien Thouny (Consultant Java/JEE @ Libon (Groupe Orange) )
Toutes les vidéos des conférences seront disponibles sur Xebia.tv
LoadTime & SEO : le TOP et FLOP des meilleures (et pires) intégrations.
Le temps de chargement est de plus en plus important pour vos utilisateurs, votre business et vos rankings. Google, plus que jamais, prend en compte les différents temps de chargement comme indicateur de qualité des sites web.
Pour rivaliser avec les meilleurs et flirter avec la note maximale de Lighthouse sur ce KPI, Erlé vous exposera les meilleures pratiques (ainsi que les pires) d’après sa propre expérience basée sur de nombreux sites qu’il a accompagnés dans leur parcours vers l’optimisation.
Similaire à Symfony et Sonata Project chez Canal+ (20)
Microbox : Ma toolbox microservices - Julien Royekino
Malgré les bénéfices indéniables des architectures microservices, elles apportent une complexité non négligeable. Durant cette session, je vous présenterai la collection d’outils open source ou développé en interne que nous utilisons sur nos différents projets microservices pour limiter les délais de mise en oeuvre de ce type d’architecture. Depuis la gestion des sources jusqu’au monitoring en passant par la génération de projets et l’usine de build nous parcourrons en live l’utilisation de ces différents outils.
Spring data : Une api, quinze possibilités - Julien Royekino
Vous avez besoin d’intégrer une nouveau type de stockage ( Elasticsearch, Cassandra, Redis, Neo4j ) dans votre application mais l’apprentissage d’une nouvelle API vous fait hésiter ? Spring Data est fait pour vous ! Grâce à Spring Data, vous avez à disposition une interface unique pour communiquer avec tous vos backends. Venez découvrir comment faire un stream de données depuis Postgresql, faire des agrégations avec Elasticsearch, enregistrer des documents dans MongoDB, le tout en quelques lignes de code et sans efforts. Nous finirons cette session en détaillant les nouveautés apportées par la version 2.0 autour de la programmation réactive.
Se lancer dans l'aventure microservices avec Spring Cloud - Julien Royekino
Vous êtes convaincus par l’architecture micro-services et vous souhaitez vous lancer dans l'aventure. Durant cette session, nous expliquons comment démarrer concrètement ; quelles sont les nouvelles problématiques que soulève cette architecture et comment les résoudre. Nous détaillons – à travers une application de démonstration qui implémente les concepts de Service Discovery, Circuit Breaker, Routing et Client Side Load Balancing – l'utilisation de la libraire Spring Cloud Netflix (Eureka, Hystrix, Ribbon , ...). Nous survolerons ensuite les différentes alternatives développées par les autres géants du Web tels que Twitter, Airbnb, ...
Les statistiques d’utilisation des téléphones mobiles sont en constante progression et trois choix se dessinent actuellement pour délivrer du contenu sur le Web. Un site responsive, un site dédié mobile ou une application disponible sur un store. Et dans ce dernier cas, vous serez très vite confronté aux contraintes des différents systèmes d’exploitation : Android, iOS et Windows Phone – pour les majoritaires. Dans ce contexte, beaucoup d’outils de développement émergent avec un seul objectif : réutiliser les compétences des développeurs Web et mutualiser le code entre les différentes plate-formes. Cette présentation se base sur le retour d’expérience réussie autour de la mise en place de prototypes et de projets client chez Ekino. Je vais vous exposer les solutions que nous n’avons pas retenues en expliquant nos choix. Puis je vais parcourir plus en détail les solutions que nous avons testées : Apache Cordova, Ionic, SuperSonic, ReactNative, etc. Nous verrons que l’expression “Write once, run everywhere” n’est pas toujours vrai. Le but est qu’à la sortie de cette conférence, je vous aie aidé à faire vos choix techniques, en fonction de vos projets et de vos compétences !
Le « RUN » (ou la Tierce Maintenance Applicative)ekino
Après avoir mis en ligne un nouveau site web, on entre dans une phase dite de « RUN » ou plus précisément en Tierce Maintenance Applicative (TMA). Il s’agit d’assurer une maintenance corrective, mais pas seulement… Il faut prendre en compte la maintenance préventive, la maintenance adaptative, le support fonctionnel, l’exploitation, etc.
Or il y a souvent des confusions entre toutes ces notions. Je propose de partager leur définition et quelques bonnes pratiques de mise en œuvre, tout en illustrant la spécificité de chacune de ces maintenances à partir de situations empruntées aux classiques du cinéma.
Drupagora 2013 : Drupal8 et Symfony2, quel impact ?ekino
Nombreuses sont les directions digitales ayant aussi bien des besoins éditoriaux que métiers. D'un point de vue business, il n'est pas possible de séparer les deux.
Basiquement, quels choix avons-nous ?
- partir sur un CMS et coder en "CMS"...
- partir sur un framework et réinventer le CMS...
Aujourd'hui, une des solutions est d'alier le meilleur des 2 mondes, mais a aussi ses problématiques :
- comment faire communiquer les 2 solutions ?
- où trouver les bons profils compte tenu de expertise différentes ?
- comment ne pas complexifier la maintenance et l'exploitation ?
Bref, pour ce qui est d'aujourd'hui, c'est possible, mais difficile... Mais demain ?
English version of the presentation we gave at Devoxx FR 2012.
In depth analysis on how java Garbage collector works and how to minimise pause in your application.
2. 22
• Sonata Project Lead dev
• 15% des installations de Symfony
• Polyglot: Python, Go, Javascript,
Puppet, etc …
• @th0masr
• github.com/rande
ThomasRabaix
ArchitecteLogiciel
ekino.
3. 33
Canal+
Refonte de certains backoffices de gestion
de contenu:
• 8 applications dans un repo git
• 2 APIs : Une API interne et une API
Publique
• 1 SDK : pour consommer l’API publique
4. 44
Structuredefichiers
adaptéeaubesoin
• Chaque application doit pouvoir être isolée
• Pas de dépendance entre applications
• Même base de code (Component)
apps
logs
cache
src/CanalPlus
Component
Bundle/App1Bundle
app1_prod.log
app1_prod
app1
App1Kernel.php
web
config
5. 55
• ./console app1 your:command
• Un point d’entrée pour symfony
• clear cache: rm –rf cache/* #win
• Tests unitaires sur l’ensemble du code des
applications
• Réduction de la dette technique car les
applications sont mises à jour à chaque
évolution
• Makefile: « One tool to rule them all »
• Réalité des projets web: bower, npm, gulp,
capistrano, scss, bash, pip, bundler, etc ….
• make install
• make update
Structure de fichiers
adaptés au besoin
9. 99
• L’AdminBundle permet de gagner du temps
pour la création d’IHM standard
• Permet d’inclure des fonctionnalités riches
grâce à ReactJS (ou autres solutions)
• Création d’un SonataRestAdminBundle
pour administrer des API RestFul
• Une IHM unique pour croiser les données
d’API ou d’une base de données
• Gestion des droits provenant de Symfony
Sonata
AdminBundle
Le pivot de la
l’administration des
données
• Permet l’édition de contenus
• Gestion des règles métiers
• Gestion des rôles
10. 1010
• Intégration des fonctionnalités de resize
dynamique de nginx => en c; en cache; ça
booste …
• POC pour utiliser thumbor pour le crop
intelligent d’image
• Stockage des médias sur Amazon
• Budget is the limit
Sonata
MediaBundle
L’agrégateur des
sources multimédia
• Rajout d’un mode mosaïque
• Rajout d’une arborescence pour retrouver
les médias facilement.
• Intégration de médias interne du SI Canal+
grâce à la création de « providers »
spécifiques
11. 1111
• Création de blocs métier pour se connecter
aux web services existants
• La complexité est cachée aux utilisateurs.
• Intégration facile avec Akamai (CDN)
• Facilité grâce à Symfony et Sonata qui
intègrent les notions de cache HTTP
Sonata
PageBundle
L’intégrateur de flux
pour des pages
riches.
• Amélioration de l’ergonomie de
l’administration d’une page
• « SharedBlock » réutilisation de blocs sur
plusieurs pages.
12. 1212
• RestFul API with JSON+HAL
• HateosBundle: création de ressources HAL
à partir d’annotations
• Il n’existe pas de client pour consommer
ces ressources
• Création d’un librairie:
https://github.com/ekino/php-hal-client
• Permet de naviguer dans les réponses HAL
• Option pour intégrer JMS Serializer:
• Ressources => Objets
Rest Json+Hal