SlideShare une entreprise Scribd logo
Développement :
mettez le turbo !
Sébastien Le Marchand
@slemarchand
Liferay France Symposium, 26 avril 2017
#LRFRS2017
Le programme
1. A propos d’efficience
2. Coder sans les mains
3. Deployer plus vite que son ombre
4. Et demain ?
#LRFRS2017
Sébastien Le Marchand
• 9 ans d’expérience sur Liferay (depuis la version 4.3 en 2007)
• Dont 6 ans au sein d’un intégrateur “Gold Service Partner”
Consultant Technique indépendant
@slemarchand linkedin.com/in/slemarchand
① A	propos	d’efficience
#LRFRS2017
« L'efficience est l'optimisation des
outils mis en œuvre pour parvenir à un
résultat. Elle se mesure sous la forme
d'un rapport entre les résultats obtenus
et les ressources utilisées. »
[wikipedia.org]
#LRFRS2017
La déperdition d’énergie chez le
développeur
• La production « mécanique » de code trivial
• Les temps d’attente
#LRFRS2017
② Coder	sans	les	mains
#LRFRS2017
Générer le code trivial
• S’affranchir de l’écriture du code
• Réduire les erreurs
• Garantir l’homogénéité
#LRFRS2017
Blade & Co : générer la structure projet
• Blade templates (22)
• Maven archetypes (43)
• Liferay Studio Templates (17)
$ blade create –t mvc-portlet myproject-web
$ mvn archetype:generate -Dfilter=liferay
#LRFRS2017
Service Builder : générer les services
• Définition dans un descripteur service.xml
• Couche de persistance : génération complète
• Couche de service métier : génération du squelette
#LRFRS2017
Et au-delà du SB ?
resource-actions/default.xml
*LocalServiceImpl::*
portlet-model-hints.xml
*.jsp
*Portlet
*ActionCommand
*PermissionChecker
*Indexer
. . .
. . .
*RenderCommand
CRUD	UI
#LRFRS2017
A New Hope
(XML	Portlet Factory)
1	unique	descripteur	de	
modèle
Modules	OSGi « ready-to-go »
myproject-api
myproject-service
myproject-web
#LRFRS2017
Il était une fois…
… un projet open-source de la communauté Liferay !
2009 2014 Avril	2017
Jack	A.	Rider
Création Support	Liferay 6.2 Support	Liferay 7.0
v4.0-beta1v3.0
Juan	Gonzalez Sébastien	Le	Marchand
#LRFRS2017
Exemple	de	modèle	(1/2)
#LRFRS2017
Exemple	de	modèle	(2/2)
#LRFRS2017
Just do it!
• Générer les modules via XMLPF
• Ajouter les permission sur la commande gradlew
• Lancer le Service Builder
$ java –jar xmlpf.jar EventsManager.xml <lr-wrk>/modules
$ cd <lr-wrk>/modules/events-manager
$ chmod a+x gradlew
$ ./gradlew buildService
#LRFRS2017
Prêt à déployer !
$ blade deploy
#LRFRS2017 Création	(1/2)
#LRFRS2017 Création	(2/2)
#LRFRS2017 Navigation
#LRFRS2017
Actions	sur	
une	entité
#LRFRS2017
Tri	suivant	les	
différents	champs
#LRFRS2017
Recherche
#LRFRS2017
Quels usages en pratique pour XMLPF ?
• « Generate & Forget »
• Liberté de ne pas garder
tout le code généré
Composants	« Service »
Composants	« Web »
Service	Builder
#LRFRS2017
Roadmap
v4.0-beta2
v4.0-beta3
v4.0
v4.0-beta1
v4.1
Juillet	17
Septembre	17
Novembre	17
Février	18
• Nouveau	format	XML
• Qualité	du	code	généré
• Documentation
Port	des	fonctionnalités	de	la	v3.0
• Asset
• Social	Activities
• Export	Excel
• …
Fixes	&	Feedback
Génération	personnalisable
#LRFRS2017
Devenez beta-testeurs J
http://bit.ly/xmlpf4
③ Déployer	plus	vite	que	son	ombre
#LRFRS2017
Développer, c’est souvent attendre !
• Démarrage du serveur local,
• Build du projet,
• Deploiement sur le serveur local
• Première requête (cache vide, compilation JSP, etc)
❸
#LRFRS2017
Poste local : Tomcat is King !
• Privilégier Tomcat pour les développements
• Limiter les adhérences au serveur des autres environnements
o Faire la chasse aux dépendances “inutiles”
o Quand la dépendance est nécessaire, prévoir des Mocks
❸
#LRFRS2017
Durée des déploiements
Application	« Jukebox »	 :
• Build (blade) en 19,78 secs sans démon Gradle
• Build (blade) en 14,78 secs avec démon Gradle
• Installation du bundle en 3,2 secs
#LRFRS2017
JRebel à la rescousse !
JRebel associe le workspace de l’IDE à l’application déployée sur
le serveur local.
À chaque changement d’une classe ou d’une ressource dans
l’IDE, le changement est immédiatement propagé sur vers le
serveur, sans build ni redéploiement.
#LRFRS2017
« Le plus rapide, c’est de ne pas déployer »
[un développeur pressé]
#LRFRS2017
Le « Map Local » de Charles Proxy
• Permet de définir des règles pour re-
router certaines requêtes du navigateur
vers des fichiers locaux
• En pratique, après une configuration
correcte de « Map Local », les ressources
statiques (CSS, JS) sont chargées dans le
browser directement depuis les fichiers
locaux
charlesproxy.com
#LRFRS2017
🎉 Possibilité de tester vos
ressources statiques locales en
interaction avec n’importe quel
environnement, y compris la
PRODUCTION ! 🍾
#LRFRS2017
#LRFRS2017
Les limites de liferay-ddmtool
❸
• Compatibilité 6.2 uniquement
• Rigide sur le nommage des structures et templates
#LRFRS2017
④ Et	demain	?
#LRFRS2017
Poursuivre la quête de l’efficience
• C’est un combat du quotidien
• Ne pas vivre les obstacles
comme une fatalité
• Recherche permanente de
nouveaux outils et de nouvelles
pratiques
#LRFRS2017#LRFRS2017
Partagez vos outils et vos pratiques !
#LRFRS2017
http://bit.ly/devturbo
Merci !
Des questions ?
@slemarchand
linkedin.com/in/slemarchand
Sébastien Le Marchand

Contenu connexe

Tendances

Symposium TFS - DevOps avec Microsoft
Symposium TFS - DevOps avec MicrosoftSymposium TFS - DevOps avec Microsoft
Symposium TFS - DevOps avec Microsoft
Philippe Didiergeorges
 
NodeJS for Mobile App
NodeJS for Mobile AppNodeJS for Mobile App
NodeJS for Mobile AppHabib MAALEM
 
DevOps : mission [im]possible ?
DevOps : mission [im]possible ?DevOps : mission [im]possible ?
DevOps : mission [im]possible ?
rfelden
 
Déployez votre site PHP / MariaDB, simplement et rapidement dans Azure
Déployez votre site PHP / MariaDB, simplement et rapidement dans AzureDéployez votre site PHP / MariaDB, simplement et rapidement dans Azure
Déployez votre site PHP / MariaDB, simplement et rapidement dans Azure
Microsoft
 
Jenkins Workflow
Jenkins WorkflowJenkins Workflow
Jenkins Workflow
Jean Detoeuf
 
XebiConFr - 15 - Apache Mesos, ou comment exploiter les ressources de votre d...
XebiConFr - 15 - Apache Mesos, ou comment exploiter les ressources de votre d...XebiConFr - 15 - Apache Mesos, ou comment exploiter les ressources de votre d...
XebiConFr - 15 - Apache Mesos, ou comment exploiter les ressources de votre d...
Publicis Sapient Engineering
 
Swagger, language pour décrire des API REST
Swagger, language pour décrire des API RESTSwagger, language pour décrire des API REST
Swagger, language pour décrire des API REST
Pierre-André Vullioud
 
Oxalide Morning tech #2 - démarche performance
Oxalide Morning tech #2 - démarche performanceOxalide Morning tech #2 - démarche performance
Oxalide Morning tech #2 - démarche performance
Ludovic Piot
 
Au secours, mon chef m'a demandé de passer au DevOps
Au secours, mon chef m'a demandé de passer au DevOpsAu secours, mon chef m'a demandé de passer au DevOps
Au secours, mon chef m'a demandé de passer au DevOps
antony_guilloteau
 
Jenkins - Les jeudis de la découverte
Jenkins - Les jeudis de la découverteJenkins - Les jeudis de la découverte
Jenkins - Les jeudis de la découverte
Stephane Couzinier
 
XebiCon'17 : Monitoring et métrologie pour les conteneurs - Jean-Pascal Thie...
XebiCon'17 : Monitoring et métrologie pour les conteneurs - Jean-Pascal Thie...XebiCon'17 : Monitoring et métrologie pour les conteneurs - Jean-Pascal Thie...
XebiCon'17 : Monitoring et métrologie pour les conteneurs - Jean-Pascal Thie...
Publicis Sapient Engineering
 
Vincent biret azure functions et flow #AosCanadianTour (quebec)
Vincent biret azure functions et flow #AosCanadianTour (quebec)Vincent biret azure functions et flow #AosCanadianTour (quebec)
Vincent biret azure functions et flow #AosCanadianTour (quebec)
Vincent Biret
 
Devoxx France - Où sont passés mes serveurs ?
Devoxx France - Où sont passés mes serveurs ?Devoxx France - Où sont passés mes serveurs ?
Devoxx France - Où sont passés mes serveurs ?
Publicis Sapient Engineering
 
Présentation de Node.js
Présentation de Node.jsPrésentation de Node.js
Présentation de Node.js
Mickael Couzinet
 
Introduction to Rust in Production - Servo Mozilla project (Slides)
Introduction to Rust in Production - Servo Mozilla project (Slides)Introduction to Rust in Production - Servo Mozilla project (Slides)
Introduction to Rust in Production - Servo Mozilla project (Slides)
Quentin Frémeaux
 
01 - [ASP.NET Core] Plénière
01 - [ASP.NET Core] Plénière 01 - [ASP.NET Core] Plénière
01 - [ASP.NET Core] Plénière
Cellenza
 
12-Factor
12-Factor12-Factor
12-Factor
Luc Juggery
 

Tendances (18)

Symposium TFS - DevOps avec Microsoft
Symposium TFS - DevOps avec MicrosoftSymposium TFS - DevOps avec Microsoft
Symposium TFS - DevOps avec Microsoft
 
NodeJS for Mobile App
NodeJS for Mobile AppNodeJS for Mobile App
NodeJS for Mobile App
 
DevOps : mission [im]possible ?
DevOps : mission [im]possible ?DevOps : mission [im]possible ?
DevOps : mission [im]possible ?
 
Déployez votre site PHP / MariaDB, simplement et rapidement dans Azure
Déployez votre site PHP / MariaDB, simplement et rapidement dans AzureDéployez votre site PHP / MariaDB, simplement et rapidement dans Azure
Déployez votre site PHP / MariaDB, simplement et rapidement dans Azure
 
Jenkins Workflow
Jenkins WorkflowJenkins Workflow
Jenkins Workflow
 
XebiConFr - 15 - Apache Mesos, ou comment exploiter les ressources de votre d...
XebiConFr - 15 - Apache Mesos, ou comment exploiter les ressources de votre d...XebiConFr - 15 - Apache Mesos, ou comment exploiter les ressources de votre d...
XebiConFr - 15 - Apache Mesos, ou comment exploiter les ressources de votre d...
 
Swagger, language pour décrire des API REST
Swagger, language pour décrire des API RESTSwagger, language pour décrire des API REST
Swagger, language pour décrire des API REST
 
JENKINS_BreizhJUG_20111003
JENKINS_BreizhJUG_20111003JENKINS_BreizhJUG_20111003
JENKINS_BreizhJUG_20111003
 
Oxalide Morning tech #2 - démarche performance
Oxalide Morning tech #2 - démarche performanceOxalide Morning tech #2 - démarche performance
Oxalide Morning tech #2 - démarche performance
 
Au secours, mon chef m'a demandé de passer au DevOps
Au secours, mon chef m'a demandé de passer au DevOpsAu secours, mon chef m'a demandé de passer au DevOps
Au secours, mon chef m'a demandé de passer au DevOps
 
Jenkins - Les jeudis de la découverte
Jenkins - Les jeudis de la découverteJenkins - Les jeudis de la découverte
Jenkins - Les jeudis de la découverte
 
XebiCon'17 : Monitoring et métrologie pour les conteneurs - Jean-Pascal Thie...
XebiCon'17 : Monitoring et métrologie pour les conteneurs - Jean-Pascal Thie...XebiCon'17 : Monitoring et métrologie pour les conteneurs - Jean-Pascal Thie...
XebiCon'17 : Monitoring et métrologie pour les conteneurs - Jean-Pascal Thie...
 
Vincent biret azure functions et flow #AosCanadianTour (quebec)
Vincent biret azure functions et flow #AosCanadianTour (quebec)Vincent biret azure functions et flow #AosCanadianTour (quebec)
Vincent biret azure functions et flow #AosCanadianTour (quebec)
 
Devoxx France - Où sont passés mes serveurs ?
Devoxx France - Où sont passés mes serveurs ?Devoxx France - Où sont passés mes serveurs ?
Devoxx France - Où sont passés mes serveurs ?
 
Présentation de Node.js
Présentation de Node.jsPrésentation de Node.js
Présentation de Node.js
 
Introduction to Rust in Production - Servo Mozilla project (Slides)
Introduction to Rust in Production - Servo Mozilla project (Slides)Introduction to Rust in Production - Servo Mozilla project (Slides)
Introduction to Rust in Production - Servo Mozilla project (Slides)
 
01 - [ASP.NET Core] Plénière
01 - [ASP.NET Core] Plénière 01 - [ASP.NET Core] Plénière
01 - [ASP.NET Core] Plénière
 
12-Factor
12-Factor12-Factor
12-Factor
 

Similaire à Développement : mettez le turbo ! - Liferay France Symposium 2017

10 tips pour améliorer les performances de vos applications Windows 8
10 tips pour améliorer les performances de vos applications Windows 810 tips pour améliorer les performances de vos applications Windows 8
10 tips pour améliorer les performances de vos applications Windows 8
Microsoft
 
Relever les défis techniques d'un site internet multi-pays et multilingue - L...
Relever les défis techniques d'un site internet multi-pays et multilingue - L...Relever les défis techniques d'un site internet multi-pays et multilingue - L...
Relever les défis techniques d'un site internet multi-pays et multilingue - L...
Sébastien Le Marchand
 
Développer une Single Page Application HTML 5 pour tous les devices
Développer une Single Page Application HTML 5 pour tous les devices Développer une Single Page Application HTML 5 pour tous les devices
Développer une Single Page Application HTML 5 pour tous les devices
Microsoft
 
Perfug BOF devoxx2017.pptx
Perfug BOF devoxx2017.pptxPerfug BOF devoxx2017.pptx
Perfug BOF devoxx2017.pptx
Marc Bojoly
 
Javascript as a first programming language : votre IC prête pour la révolution !
Javascript as a first programming language : votre IC prête pour la révolution !Javascript as a first programming language : votre IC prête pour la révolution !
Javascript as a first programming language : votre IC prête pour la révolution !
VISEO
 
Conteneurs Linux ou Windows : quelles approches pour des IT agiles ?
Conteneurs Linux ou Windows : quelles approches pour des IT agiles ?Conteneurs Linux ou Windows : quelles approches pour des IT agiles ?
Conteneurs Linux ou Windows : quelles approches pour des IT agiles ?
Microsoft
 
20131024 qualité de code et sonar - mug lyon
20131024   qualité de code et sonar - mug lyon20131024   qualité de code et sonar - mug lyon
20131024 qualité de code et sonar - mug lyonClement Bouillier
 
La Meta-programmation
La Meta-programmation La Meta-programmation
La Meta-programmation
Microsoft
 
Agile Tour Paris 2014 : Ma stack d'outils Agiles, tout un programme !, Cedric...
Agile Tour Paris 2014 : Ma stack d'outils Agiles, tout un programme !, Cedric...Agile Tour Paris 2014 : Ma stack d'outils Agiles, tout un programme !, Cedric...
Agile Tour Paris 2014 : Ma stack d'outils Agiles, tout un programme !, Cedric...
ENSIBS
 
XebiConFr 15 - Le challenge des microservices
XebiConFr 15 - Le challenge des microservicesXebiConFr 15 - Le challenge des microservices
XebiConFr 15 - Le challenge des microservices
Publicis Sapient Engineering
 
TypeScript for dummies
TypeScript for dummiesTypeScript for dummies
TypeScript for dummies
Microsoft
 
Au coeur du framework .net 4.5.1
Au coeur du framework .net 4.5.1Au coeur du framework .net 4.5.1
Au coeur du framework .net 4.5.1Cellenza
 
Ms exp17 architectures serverless - v1.0
Ms exp17   architectures serverless - v1.0Ms exp17   architectures serverless - v1.0
Ms exp17 architectures serverless - v1.0
Michel HUBERT
 
SPS Dakar 2018 - Low code, lean et agilité - Sébastien Paulet
SPS Dakar 2018 - Low code, lean et agilité - Sébastien PauletSPS Dakar 2018 - Low code, lean et agilité - Sébastien Paulet
SPS Dakar 2018 - Low code, lean et agilité - Sébastien Paulet
aOS Community
 
Low code, lean et agilité sur les projets SHarePoint - SPS Dakar
Low code, lean et agilité sur les projets SHarePoint - SPS DakarLow code, lean et agilité sur les projets SHarePoint - SPS Dakar
Low code, lean et agilité sur les projets SHarePoint - SPS Dakar
Sébastien Paulet
 
Codeurs en seine microsoft .net core plaform
Codeurs en seine microsoft  .net core plaformCodeurs en seine microsoft  .net core plaform
Codeurs en seine microsoft .net core plaform
Sébastien Pertus
 
Monitoring de conteneurs en production - Jonathan Raffre & Jean-Pascal Thiery
Monitoring de conteneurs en production - Jonathan Raffre & Jean-Pascal ThieryMonitoring de conteneurs en production - Jonathan Raffre & Jean-Pascal Thiery
Monitoring de conteneurs en production - Jonathan Raffre & Jean-Pascal Thiery
Paris Container Day
 
Collab Montréal 2016 - SharePoint Framework : De A à Z
Collab Montréal 2016 - SharePoint Framework : De A à ZCollab Montréal 2016 - SharePoint Framework : De A à Z
Collab Montréal 2016 - SharePoint Framework : De A à Z
Sébastien Levert
 
20171122 01 - REX : Intégration et déploiement continu chez Engie
20171122 01 - REX : Intégration et déploiement continu chez Engie20171122 01 - REX : Intégration et déploiement continu chez Engie
20171122 01 - REX : Intégration et déploiement continu chez Engie
LeClubQualiteLogicielle
 
Drupal Factory kézako ?
Drupal Factory kézako ?Drupal Factory kézako ?
Drupal Factory kézako ?
slybud
 

Similaire à Développement : mettez le turbo ! - Liferay France Symposium 2017 (20)

10 tips pour améliorer les performances de vos applications Windows 8
10 tips pour améliorer les performances de vos applications Windows 810 tips pour améliorer les performances de vos applications Windows 8
10 tips pour améliorer les performances de vos applications Windows 8
 
Relever les défis techniques d'un site internet multi-pays et multilingue - L...
Relever les défis techniques d'un site internet multi-pays et multilingue - L...Relever les défis techniques d'un site internet multi-pays et multilingue - L...
Relever les défis techniques d'un site internet multi-pays et multilingue - L...
 
Développer une Single Page Application HTML 5 pour tous les devices
Développer une Single Page Application HTML 5 pour tous les devices Développer une Single Page Application HTML 5 pour tous les devices
Développer une Single Page Application HTML 5 pour tous les devices
 
Perfug BOF devoxx2017.pptx
Perfug BOF devoxx2017.pptxPerfug BOF devoxx2017.pptx
Perfug BOF devoxx2017.pptx
 
Javascript as a first programming language : votre IC prête pour la révolution !
Javascript as a first programming language : votre IC prête pour la révolution !Javascript as a first programming language : votre IC prête pour la révolution !
Javascript as a first programming language : votre IC prête pour la révolution !
 
Conteneurs Linux ou Windows : quelles approches pour des IT agiles ?
Conteneurs Linux ou Windows : quelles approches pour des IT agiles ?Conteneurs Linux ou Windows : quelles approches pour des IT agiles ?
Conteneurs Linux ou Windows : quelles approches pour des IT agiles ?
 
20131024 qualité de code et sonar - mug lyon
20131024   qualité de code et sonar - mug lyon20131024   qualité de code et sonar - mug lyon
20131024 qualité de code et sonar - mug lyon
 
La Meta-programmation
La Meta-programmation La Meta-programmation
La Meta-programmation
 
Agile Tour Paris 2014 : Ma stack d'outils Agiles, tout un programme !, Cedric...
Agile Tour Paris 2014 : Ma stack d'outils Agiles, tout un programme !, Cedric...Agile Tour Paris 2014 : Ma stack d'outils Agiles, tout un programme !, Cedric...
Agile Tour Paris 2014 : Ma stack d'outils Agiles, tout un programme !, Cedric...
 
XebiConFr 15 - Le challenge des microservices
XebiConFr 15 - Le challenge des microservicesXebiConFr 15 - Le challenge des microservices
XebiConFr 15 - Le challenge des microservices
 
TypeScript for dummies
TypeScript for dummiesTypeScript for dummies
TypeScript for dummies
 
Au coeur du framework .net 4.5.1
Au coeur du framework .net 4.5.1Au coeur du framework .net 4.5.1
Au coeur du framework .net 4.5.1
 
Ms exp17 architectures serverless - v1.0
Ms exp17   architectures serverless - v1.0Ms exp17   architectures serverless - v1.0
Ms exp17 architectures serverless - v1.0
 
SPS Dakar 2018 - Low code, lean et agilité - Sébastien Paulet
SPS Dakar 2018 - Low code, lean et agilité - Sébastien PauletSPS Dakar 2018 - Low code, lean et agilité - Sébastien Paulet
SPS Dakar 2018 - Low code, lean et agilité - Sébastien Paulet
 
Low code, lean et agilité sur les projets SHarePoint - SPS Dakar
Low code, lean et agilité sur les projets SHarePoint - SPS DakarLow code, lean et agilité sur les projets SHarePoint - SPS Dakar
Low code, lean et agilité sur les projets SHarePoint - SPS Dakar
 
Codeurs en seine microsoft .net core plaform
Codeurs en seine microsoft  .net core plaformCodeurs en seine microsoft  .net core plaform
Codeurs en seine microsoft .net core plaform
 
Monitoring de conteneurs en production - Jonathan Raffre & Jean-Pascal Thiery
Monitoring de conteneurs en production - Jonathan Raffre & Jean-Pascal ThieryMonitoring de conteneurs en production - Jonathan Raffre & Jean-Pascal Thiery
Monitoring de conteneurs en production - Jonathan Raffre & Jean-Pascal Thiery
 
Collab Montréal 2016 - SharePoint Framework : De A à Z
Collab Montréal 2016 - SharePoint Framework : De A à ZCollab Montréal 2016 - SharePoint Framework : De A à Z
Collab Montréal 2016 - SharePoint Framework : De A à Z
 
20171122 01 - REX : Intégration et déploiement continu chez Engie
20171122 01 - REX : Intégration et déploiement continu chez Engie20171122 01 - REX : Intégration et déploiement continu chez Engie
20171122 01 - REX : Intégration et déploiement continu chez Engie
 
Drupal Factory kézako ?
Drupal Factory kézako ?Drupal Factory kézako ?
Drupal Factory kézako ?
 

Plus de Sébastien Le Marchand

Client Extensions - Episode 2 : Custom Element - 2024-04-30 - Liferay France ...
Client Extensions - Episode 2 : Custom Element - 2024-04-30 - Liferay France ...Client Extensions - Episode 2 : Custom Element - 2024-04-30 - Liferay France ...
Client Extensions - Episode 2 : Custom Element - 2024-04-30 - Liferay France ...
Sébastien Le Marchand
 
Let's revive the Liferay Marketplace together - /dev/24 2021
Let's revive the Liferay Marketplace together - /dev/24 2021Let's revive the Liferay Marketplace together - /dev/24 2021
Let's revive the Liferay Marketplace together - /dev/24 2021
Sébastien Le Marchand
 
Convert to liferay forms! - Liferay DEVCON 2021
Convert to liferay forms! - Liferay DEVCON 2021Convert to liferay forms! - Liferay DEVCON 2021
Convert to liferay forms! - Liferay DEVCON 2021
Sébastien Le Marchand
 
Convertissez vos formulaires ! - Liferay France Symposium 2020
Convertissez vos formulaires ! - Liferay France Symposium 2020Convertissez vos formulaires ! - Liferay France Symposium 2020
Convertissez vos formulaires ! - Liferay France Symposium 2020
Sébastien Le Marchand
 
Let’s discover and extend the Content Dashboard - /dev/24 2020
Let’s discover and extendthe Content Dashboard - /dev/24 2020Let’s discover and extendthe Content Dashboard - /dev/24 2020
Let’s discover and extend the Content Dashboard - /dev/24 2020
Sébastien Le Marchand
 
Liferay Gogo Scripts - Liferay France User Group - meetup #13
Liferay Gogo Scripts -  Liferay France User Group - meetup #13Liferay Gogo Scripts -  Liferay France User Group - meetup #13
Liferay Gogo Scripts - Liferay France User Group - meetup #13
Sébastien Le Marchand
 
Back from Liferay DEVCON 2018 (Liferay France User Group Meetup #10 - 15/11/2...
Back from Liferay DEVCON 2018 (Liferay France User Group Meetup #10 - 15/11/2...Back from Liferay DEVCON 2018 (Liferay France User Group Meetup #10 - 15/11/2...
Back from Liferay DEVCON 2018 (Liferay France User Group Meetup #10 - 15/11/2...
Sébastien Le Marchand
 
Recap Liferay France Symposium 2018
Recap Liferay France Symposium 2018Recap Liferay France Symposium 2018
Recap Liferay France Symposium 2018
Sébastien Le Marchand
 
Instances multiples : les pièges à éviter (Liferay User Group France)
Instances multiples : les pièges à éviter (Liferay User Group France)Instances multiples : les pièges à éviter (Liferay User Group France)
Instances multiples : les pièges à éviter (Liferay User Group France)
Sébastien Le Marchand
 
Developing faster than ever (Liferay DEVCON 2017)
Developing faster than ever (Liferay DEVCON 2017)Developing faster than ever (Liferay DEVCON 2017)
Developing faster than ever (Liferay DEVCON 2017)
Sébastien Le Marchand
 
PhoneGap Paris Meetup #6 - Pix2know - Sencha Touch
PhoneGap Paris Meetup #6 - Pix2know - Sencha TouchPhoneGap Paris Meetup #6 - Pix2know - Sencha Touch
PhoneGap Paris Meetup #6 - Pix2know - Sencha Touch
Sébastien Le Marchand
 
Using MyBatis in Alfresco custom extensions - Alfresco Devcon 2012 - Berlin
Using MyBatis in Alfresco custom extensions - Alfresco Devcon 2012 - BerlinUsing MyBatis in Alfresco custom extensions - Alfresco Devcon 2012 - Berlin
Using MyBatis in Alfresco custom extensions - Alfresco Devcon 2012 - Berlin
Sébastien Le Marchand
 
Les2012 lightning talk_exporting_and_importing_company-level_data
Les2012 lightning talk_exporting_and_importing_company-level_dataLes2012 lightning talk_exporting_and_importing_company-level_data
Les2012 lightning talk_exporting_and_importing_company-level_data
Sébastien Le Marchand
 
Liferay france symposium 2012 - montée de version d’une instance liferay
Liferay france symposium 2012 - montée de version d’une instance liferayLiferay france symposium 2012 - montée de version d’une instance liferay
Liferay france symposium 2012 - montée de version d’une instance liferay
Sébastien Le Marchand
 

Plus de Sébastien Le Marchand (14)

Client Extensions - Episode 2 : Custom Element - 2024-04-30 - Liferay France ...
Client Extensions - Episode 2 : Custom Element - 2024-04-30 - Liferay France ...Client Extensions - Episode 2 : Custom Element - 2024-04-30 - Liferay France ...
Client Extensions - Episode 2 : Custom Element - 2024-04-30 - Liferay France ...
 
Let's revive the Liferay Marketplace together - /dev/24 2021
Let's revive the Liferay Marketplace together - /dev/24 2021Let's revive the Liferay Marketplace together - /dev/24 2021
Let's revive the Liferay Marketplace together - /dev/24 2021
 
Convert to liferay forms! - Liferay DEVCON 2021
Convert to liferay forms! - Liferay DEVCON 2021Convert to liferay forms! - Liferay DEVCON 2021
Convert to liferay forms! - Liferay DEVCON 2021
 
Convertissez vos formulaires ! - Liferay France Symposium 2020
Convertissez vos formulaires ! - Liferay France Symposium 2020Convertissez vos formulaires ! - Liferay France Symposium 2020
Convertissez vos formulaires ! - Liferay France Symposium 2020
 
Let’s discover and extend the Content Dashboard - /dev/24 2020
Let’s discover and extendthe Content Dashboard - /dev/24 2020Let’s discover and extendthe Content Dashboard - /dev/24 2020
Let’s discover and extend the Content Dashboard - /dev/24 2020
 
Liferay Gogo Scripts - Liferay France User Group - meetup #13
Liferay Gogo Scripts -  Liferay France User Group - meetup #13Liferay Gogo Scripts -  Liferay France User Group - meetup #13
Liferay Gogo Scripts - Liferay France User Group - meetup #13
 
Back from Liferay DEVCON 2018 (Liferay France User Group Meetup #10 - 15/11/2...
Back from Liferay DEVCON 2018 (Liferay France User Group Meetup #10 - 15/11/2...Back from Liferay DEVCON 2018 (Liferay France User Group Meetup #10 - 15/11/2...
Back from Liferay DEVCON 2018 (Liferay France User Group Meetup #10 - 15/11/2...
 
Recap Liferay France Symposium 2018
Recap Liferay France Symposium 2018Recap Liferay France Symposium 2018
Recap Liferay France Symposium 2018
 
Instances multiples : les pièges à éviter (Liferay User Group France)
Instances multiples : les pièges à éviter (Liferay User Group France)Instances multiples : les pièges à éviter (Liferay User Group France)
Instances multiples : les pièges à éviter (Liferay User Group France)
 
Developing faster than ever (Liferay DEVCON 2017)
Developing faster than ever (Liferay DEVCON 2017)Developing faster than ever (Liferay DEVCON 2017)
Developing faster than ever (Liferay DEVCON 2017)
 
PhoneGap Paris Meetup #6 - Pix2know - Sencha Touch
PhoneGap Paris Meetup #6 - Pix2know - Sencha TouchPhoneGap Paris Meetup #6 - Pix2know - Sencha Touch
PhoneGap Paris Meetup #6 - Pix2know - Sencha Touch
 
Using MyBatis in Alfresco custom extensions - Alfresco Devcon 2012 - Berlin
Using MyBatis in Alfresco custom extensions - Alfresco Devcon 2012 - BerlinUsing MyBatis in Alfresco custom extensions - Alfresco Devcon 2012 - Berlin
Using MyBatis in Alfresco custom extensions - Alfresco Devcon 2012 - Berlin
 
Les2012 lightning talk_exporting_and_importing_company-level_data
Les2012 lightning talk_exporting_and_importing_company-level_dataLes2012 lightning talk_exporting_and_importing_company-level_data
Les2012 lightning talk_exporting_and_importing_company-level_data
 
Liferay france symposium 2012 - montée de version d’une instance liferay
Liferay france symposium 2012 - montée de version d’une instance liferayLiferay france symposium 2012 - montée de version d’une instance liferay
Liferay france symposium 2012 - montée de version d’une instance liferay
 

Développement : mettez le turbo ! - Liferay France Symposium 2017

Notes de l'éditeur

  1. En fait quatre modules OSGi sont générés. Le module