Performance au quotidien dans un environnement symfonyXavier Leune
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.
Construire Des Applications Cloud Natives - SymfonyLive Paris 2016Ori Pekelman
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.
Alphorm.com Formation Scripting Bash avancé pour GNU/LinuxAlphorm
Vous trouverez la formation complète ici:
http://www.alphorm.com/tutoriel/formation-en-ligne-scripting-bash
Cette formation porte sur le shell bash et sur l'étude des outils LINUX dans le but de créer ou d'optimiser des shell-scripts qui rendront votre système plus performant.
Pendant cette formation votre formateur Noël Macé va vous aider à faire vos premiers pas avec cette solution d'automatisation de la ligne de commande, mais également de l'approfondir, et enfin, le maîtriser.
Cette formation pourra également permettre aux plus débutants d'entre vous de se familiariser avec la CLI GNU/Linux, tout en étant compatible avec les autres systèmes Unix.
Performance au quotidien dans un environnement symfonyXavier Leune
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.
Construire Des Applications Cloud Natives - SymfonyLive Paris 2016Ori Pekelman
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.
Alphorm.com Formation Scripting Bash avancé pour GNU/LinuxAlphorm
Vous trouverez la formation complète ici:
http://www.alphorm.com/tutoriel/formation-en-ligne-scripting-bash
Cette formation porte sur le shell bash et sur l'étude des outils LINUX dans le but de créer ou d'optimiser des shell-scripts qui rendront votre système plus performant.
Pendant cette formation votre formateur Noël Macé va vous aider à faire vos premiers pas avec cette solution d'automatisation de la ligne de commande, mais également de l'approfondir, et enfin, le maîtriser.
Cette formation pourra également permettre aux plus débutants d'entre vous de se familiariser avec la CLI GNU/Linux, tout en étant compatible avec les autres systèmes Unix.
Ting - Un datamapper PHP sous stéroïdesXavier Leune
Slides de ma présentation lors du meetup du 9 juin 2016 dans les locaux de CCM Benchmark, organisé avec l'AFUP Paris.
Dans ce talk j'ai notamment parlé de Ting, le datamapper que nous avons conçu pour nos besoins et choisi d'open sourcer.
wallabag est une application opensource de lecture différée : elle vous permet de mettre de côté la version épurée d'un article pour la consulter plus tard où que vous soyez. Créée il y a 3 ans à base de fichiers PHP comme on faisait en 2005, nous avons décidé il y a maintenant un peu plus d'un an de migrer le projet à Symfony. Au cours de ce talk, nous présenterons donc le projet wallabag et tout son écosystème : son concept, son socle technique (API REST, tests unitaires, Rulerz, RabbitMQ, Capistrano), les difficultés rencontrées, la communauté et les projets qui tournent autour, la roadmap pour les semaines à venir.
Laissez-vous conter l'histoire de la princesse CI.
L'histoire se passe dans un monde peuplé de standards de code, de tests unitaires, fonctionnels et end-to-end.
Entourée de ses amis PHPCodeSniffer, PHPUnit, Behat, Eslint, Jest et Selenium, elle va se heurter à différents ennemis qui l'attendent au tournant :
- L'isolation des tests end-to-end
- Le split des tests sur CircleCI
- Les lenteurs de chargement des fixtures
- L'authentification dans les tests end-to-end
- La gestion des latences API dans les tests end-to-end
- La gestion de l'asynchrone avec l'arrivée dans le royaume de RabbitMQ et ElasticSearch
- L'optimisation de la stack Docker
Vous découvrirez comment elle va surmonter ces épreuves pour que cette histoire se termine en "happy end".
Comment mesurer les performances ? Comment savoir ce qu'il faut optimiser en premier ? Y'a-t-il des antipatterns à éviter ?
Nous allons vous présenter une démarche efficace pour mener vos campagnes de performance dans l'univers Java. Ponctuée de retours d'expérience, de best practices et de suggestions d'architecture, découvrez comment rendre vos applications plus performantes.
Par William Montaz et Jean-Pascal Thiery, consultants chez Xebia
Plus d'articles sur www.easyopenerp.com
Vous pouvez téléchargement gratuitement notre machine virtuelle pour vos tests à cette adresse : http://www.easyopenerp.com/machine-de-test-6-1-rc1-a-telecharger/
Cet article explique pas à pas comment installer OpenERP 6.1 rc1 sur une machine virtuelle VMWare ou un serveur physique. Différents aspects sont abordés : préparation du serveur, installation et configuration du client web, sécurisation du client web à l'aide d'un proxy Apache, sécurisation du serveur
Esta presntaci'on tiene como objetivo asistir a los estudiantes de la UPR en Carolina a crear una cuenta en RefWorks y exportar busquedas desde la base e atos de Ebsco.
El objetivo de esta presentación es ayudar a los estudiantes de la UPR Carolina a realizar sus trabajos utilizando el modelo de desarrollo de competencias de información Big Six.
Ting - Un datamapper PHP sous stéroïdesXavier Leune
Slides de ma présentation lors du meetup du 9 juin 2016 dans les locaux de CCM Benchmark, organisé avec l'AFUP Paris.
Dans ce talk j'ai notamment parlé de Ting, le datamapper que nous avons conçu pour nos besoins et choisi d'open sourcer.
wallabag est une application opensource de lecture différée : elle vous permet de mettre de côté la version épurée d'un article pour la consulter plus tard où que vous soyez. Créée il y a 3 ans à base de fichiers PHP comme on faisait en 2005, nous avons décidé il y a maintenant un peu plus d'un an de migrer le projet à Symfony. Au cours de ce talk, nous présenterons donc le projet wallabag et tout son écosystème : son concept, son socle technique (API REST, tests unitaires, Rulerz, RabbitMQ, Capistrano), les difficultés rencontrées, la communauté et les projets qui tournent autour, la roadmap pour les semaines à venir.
Laissez-vous conter l'histoire de la princesse CI.
L'histoire se passe dans un monde peuplé de standards de code, de tests unitaires, fonctionnels et end-to-end.
Entourée de ses amis PHPCodeSniffer, PHPUnit, Behat, Eslint, Jest et Selenium, elle va se heurter à différents ennemis qui l'attendent au tournant :
- L'isolation des tests end-to-end
- Le split des tests sur CircleCI
- Les lenteurs de chargement des fixtures
- L'authentification dans les tests end-to-end
- La gestion des latences API dans les tests end-to-end
- La gestion de l'asynchrone avec l'arrivée dans le royaume de RabbitMQ et ElasticSearch
- L'optimisation de la stack Docker
Vous découvrirez comment elle va surmonter ces épreuves pour que cette histoire se termine en "happy end".
Comment mesurer les performances ? Comment savoir ce qu'il faut optimiser en premier ? Y'a-t-il des antipatterns à éviter ?
Nous allons vous présenter une démarche efficace pour mener vos campagnes de performance dans l'univers Java. Ponctuée de retours d'expérience, de best practices et de suggestions d'architecture, découvrez comment rendre vos applications plus performantes.
Par William Montaz et Jean-Pascal Thiery, consultants chez Xebia
Plus d'articles sur www.easyopenerp.com
Vous pouvez téléchargement gratuitement notre machine virtuelle pour vos tests à cette adresse : http://www.easyopenerp.com/machine-de-test-6-1-rc1-a-telecharger/
Cet article explique pas à pas comment installer OpenERP 6.1 rc1 sur une machine virtuelle VMWare ou un serveur physique. Différents aspects sont abordés : préparation du serveur, installation et configuration du client web, sécurisation du client web à l'aide d'un proxy Apache, sécurisation du serveur
Esta presntaci'on tiene como objetivo asistir a los estudiantes de la UPR en Carolina a crear una cuenta en RefWorks y exportar busquedas desde la base e atos de Ebsco.
El objetivo de esta presentación es ayudar a los estudiantes de la UPR Carolina a realizar sus trabajos utilizando el modelo de desarrollo de competencias de información Big Six.
Esta presentación muestra el concepto Web 2.0 y muestra los servicios que hay en Internet que forman parte de este principio. Ofrece beneficios y aplicaciones para profesores y estudiantes.
Testimonio Del Sur Región de Aysén - ChileEnrique Camus
Recopilación de documentos de la Región de Aysén - Chile
Proyecto ejecutado por la Coordinación Regional de Bibliotecas Públicas de Aysén
Financiado porFondo Patrimonial de Bibliotecas Archivos y Museos - DIBAM
Años 2002 - 2003
Investigación, diseño y digitalización, Myriam Mansilla Barría – Producción, Magdalena Rosas Ossa
Automata Toys have much to offer education. Arts and game based activities around the construction and understanding of automata will provide pedagogical paths for teachers to enhance children's 'learning to learn' capabilities and reinforce key transversal competences and basic skills.
See more at: http://www.clohe-movingtoys.eu
préparation à la certification LPIC2 version 3.5 en français
Chapitre 8 : Topic 208 : Services Web
Configuration de Apache2 et Squid
Partie 1 : mise en place d'un serveur web
Introduction au serveur web Apache2
Présentation, installation, configuration
Les Containers promettent de renvoyer la problématique du déploiement aux oubliettes. S'ils apportent effectivement un certain nombre de réponses concrètes dans ce domaine, résolvent-ils pour autant tous les problèmes ? Quels sont les nouveau défis ?
Est-il enfin devenu facile d¹amener efficacement des applications jusqu'en production ?
Toutes les réponses avec XebiaLabs en 45 minutes !
Par Benoît Moussaud (Technical Director @XebiaLabs)
Toutes les vidéos des conférences seront disponibles sur Xebia.tv
Retour sur certains sujets présentés aux Techdays 2014 orientés autour de ferme SharePoint et Azure. - 2ème partie -
- Mise en œuvre d'une plateforme de production SharePoint dans Azure
- Monitoring de la plateforme.
Alphorm.com Formation Java, les fondamentaux Alphorm
La formation complète est disponible ici:
http://www.alphorm.com/tutoriel/formation-en-ligne-java-1z0-803
Le langage Java est certainement le plus répandu et le plus utilisé dans les entreprises aujourd’hui. Langage généraliste, il est adapté à de nombreuses situations de développement, du poste client au serveur. Sa bibliothèque de base est immense et de nombreux tiers proposent des compléments.
Cette formation vous permet d’assimiler les concepts du langage et d’acquérir rapidement la maîtrise de la programmation Java.
Aussi elle vous prépare à l’examen 1Z0-803 afin de gagner votre certification OCA (Oracle CertifiedAssociate).
Grâce à l’expertise technique et pédagogique de votre expert objet, Fabien Brissonneau, vous allez aborder en douceur la programmation Java. Ce premier module est volontairement assez simple, pour découvir les concepts, que vous approfondirez dans la formation Java avancée OCP.
Javascript as a first programming language : votre IC prête pour la révolution !VISEO
NodeJs, GruntJs, Bower, Karma, ... des buzzwords dont nous entendons parler, que nous voyons passer dans les blogs/articles. Mais à quoi servent-ils ?
Comment industrialiser nos développements Javascript ? Mettre en place des tests unitaires dans une application Web ? Générer de la documentation ? Des métriques qualités ? La couverture de code ? Comme avec Maven ? Nous verrons concrètement comment articuler tous ces outils autour d'une application école, pour démystifier tout ça.
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)
Il n'y a pas que Polymer dans la vie… - RennesJS - 2017-06-27Horacio Gonzalez
Polymer par-ci, Polymer par-là, c'est bien beau de voir tout ce qu'on peut faire avec cette bibliothèque…
Mais à la base le discours qu'on nous vend depuis des années est celui des Web Components, des briques modulaires et interopérables, suivant un standard et pouvant être mélangés comme on le souhaite pour construire des webapp comme si on faisait du LEGO.
Alors, il n'est pas contradictoire de militer pour les Web Components et d'utiliser Polymer ?
Ben, pas du tout ! Polymer, surtout depuis la sortie de Polymer 2, n'est qu'une surcouche de sucre syntactique au dessus du standard Web Components, et les éléments créés avec Polymer sont bel et bien des Web Components standard.
De la même façon, il y a plein d'autres bibliothèques de Web Components qui ont un rôle semblable : SkateJS, SlimJS, BramJS... Chacune orientée vers une sensibilité et une façon de coder. Et bien entendu, les éléments créés avec eux se mélangent sans soucis, car ils suivent tous le même standard.
Dans ce talk nous allons voir comment ces éléments Polymer sont construits à partir du standard web components, voir ce côté sucre syntactique et comprendre ce qu'ils apportent. Ensuite on verra rapidement les bases de SkateJS et de SlimJS pour finir par prouver l'intéropérabilité avec une petite application qui mélange du Web Component standard, du Polymer, du SkateJS et du SlimJS.
Battle of Frameworks: Polymer - Meetup Paris Web Components - 2016-09Horacio Gonzalez
The Paris Web Components Meetup proposed a session to compare several component-oriented frameworks, where each speaker made the case of his or her favorite framework and showed the implementation of the same webapp done with the chosen framework. I did the Polymer presentation.
Mixing Web Components - Best of Web Paris - 2016 06-09Horacio Gonzalez
Ah, les web components, quelle belle idée ! Du développement web basé enfin sur une vraie architecture en composants, de la réutilisation, de la modularisation, de l'encapsulation… Mais en attendant que le W3C décide de sortir le standard, ce qu'on a dans les mains c'est une panoplie de bibliothèques de polyfills : Polymer, X-Tag, Bosomic…
Dans ce talk nous allos répondre à la question : "OK, le futur sera beau, mais aujourd'hui, si je fais des composants avec une bibliothèque X et mon pote en fait avec une bibliothèque Y, je peux les utiliser dans la même application ? Et ils marcheront dans mon framework favori ?".
Polymer in the real life - Devoxx France - 2016 04-20Horacio Gonzalez
In the last two years I've been speaking a lot about web components and Polymer in conferences and user-groups, sharing a vision of the upcoming web-component revolution. But after these introductory talks I often got the same question: "that seems great... but does it works in Real Life?" Ah, the pesky real life question...
In this talk I'm going to tackle that question in the best way I know: I'm going to tell you my experience of almost two full years web applications with Polymer in the real life, for real projects in a real enterprise with real costumers, and all the lessons I've learnt from it.
You will heard why did I choose Polymer, how I dealt with the 0.x versions lifecycle, the good points and the bad ones too, how I did integrate lots of 3rd part libs into a component architecture and how now I'm able to create full fledge Progressive Web Apps using Polymer in a simple way without having to deal with the complexity of Angular/React/Whatever JS, but also how to integrate your components into those frameworks if needed.
Warp10: collect, store and manipulate sensor data - BreizhCamp - 2016 03-24 Horacio Gonzalez
Collecting, storing and analysing sensor data is not so simple. You often have to rebuild a complete stack if commonly used tools likes OpenTSDB or InfluxData does not fit to your needs.
At the end you need to solve 3 major problems:
* Performance: sensor data can require a high level of ingestion (potentially millions of data points per second)
* Analyse: Time Series analysis implies a new paradigm not compatible with existing Query language likes SQL
* Security: because Internet of Things should not become Internet Of Breaches
Warp 10 has been created to solve this challenge:
* Deploying a standalone or distributed backend
* Collecting your Data with Web standards (HTTP, WebSocket) or also with Warp 10 Sensision collector daemon.
* Analysing data with WarpScript, a language dedicated to time series manipulation.
* Developing with web components tools for editing WarpScripts and Data visualisation
The W3C has been working on a Web Components standard for almost three years, but it is still a work in progress. But polyfills like allows current developers to use Web Components today, and incorporate to their apps widgets from any library of web components.
The best known of these libraries is Polymer, but it isn't the only one. In this talk we are going to compare Polymer, the '800 lb gorilla' in the Web Component field, with several of its lesser known competitors: Mozilla's X-Tags and Briks, and Bosonic, and even homemade ReactJS webcomponents
We will build an Angular JS application where, instead of directives, we will use webcomponents done with Polymer, X-Tag and ReactJS. And we will take a look to the performances in both Chrome and Firefox.
11. Releases
• JavaOne 2011
1.0.0 beta
1 • Entrée dans la cours des grands
• Janvier 2012
1.0.0 beta
2 • Finalisation
• Avril 2012
1.0.0 Final • Prise en comptes des retours utilisateurs
• Septembre 2012
1.5.0 • Toujours plus loin et à l’écoute
17. Finement assemblé et intégré
Maven
Boot time!
IDE
Outillage Tomcat
Simple
Emprunte mémoire maitrisée
Léger
18. Testé … très largement
• Dans nos tests (plus d’une heure)
• Arquillian
• Chaque test s’exécute 3 ou 5 fois
• TCK sur Amazon EC2 (> 100 machines)
• t1.micro linux images
• 100 spot instances
• 613MB memory max
• Web Profile TCK avec paramètre JVM par défaut
• OSs certifiés
• Amazon Linux AMI 2011.09, EBS boot, 32-bit EC2 t1.micro
• Amazon Linux AMI 2011.09, EBS boot, 32-bit EC2 m1.small
• Amazon Linux AMI 2011.09, EBS boot, 32-bit EC2 c1.medium
23. Résultats
• TomEE
• Facile à utiliser (comme Tomcat)
• Rapide (comme Tomcat)
• Mais beaucoup plus riche que Tomcat
• Et l’application
• Très light – le container fournit les services
• Pas de configuration inutile
25. Tomcat toujours valide
• Pas de changement ni suppression
• System
• conf/server.xml
• Application
• META-INF/context.xml
• Configuration standard va continuer de fonctionner
• Ressources disponibles dans tous les composants (EJB, CDI,
JSF)
• Mais Pool de connexions non JTA
• Securité Tomcat partout
• EJB
• Web service
• Utilisez votre propre implémentation de Realm
26. TomEE : configuration riche
• Système
• conf/server.xml
• conf/tomee.xml
• conf/system.properties
• Process
• Propriété système « classique » (-Dcle=valeur)
• Application
• META-INF/context.xml
• META-INF/resources.xml
• META-INF/application.properties
34. Let's Test !
EJB 3.1 API to start the
EJB Embedded container
Special tip to get
injected beans,
resources, etc
Close the container
at the end
35. And my web tests?
- Simple HTTP connector for WS and EJBd
- APP_NAME to simulate a servlet context
36.
37. Les adapters
• TomEE Remote Adapter
• Comme en vrai
• Process TomEE separé
• TomEE Embedded Adapter
• TomEE directement dans le test
• Tomcat + TomEE.war webapp
• A l’ancienne
• OpenEJB Embedded Adapater
• Tout sauf les servlets, JSP, JSF
• Mais super rapide
44. Gestion et monitoring
• Déploiement de d’application (tomcat)
• Server, conteneurs, stats d’invocations
• Queues/topics JMS et broker (ActiveMQ)
• Redéploiement persistence unit
• Pool de connexions
• Servers et nœuds dans un cluster
• Et d’autres à venir
46. Autres fonctionnalités
• Créer ses propres ressources
• Et les avoir dans tous les composants
• Evénements
• Possibilités d’étendre le conteneur
• 27 événements côté client
• 12 côtés serveurs
• Et d’autres dans les cartons
52. Ce qui existe
• TCP et UDP server discovery
• Fonctionnalités Tomcat de base
• EJB client (load-balancing et failover)
• Provisionning Maven sur un nœud
• … et un cluster
• CloudFoundry ready
53. Ce qu’il manquerait
• Console d’agrégation multi instance
• De monitoring
• De déploiement
• Des idées, besoins ?
• Envoyez un mail sur la mailling list