SlideShare une entreprise Scribd logo
10h40 - 11h30 - La Seine B
Du JavaScript propre ?
Challenge Accepted!
27 au 29 mars 2013	

Du JavaScript propre ?
Challenge Accepted!
Julien Jakubowski
OCTO Technology
@jak78
Romain Linsolas
Société Générale
@romaintaz
Romain Linsolas
Développeur Java & Web
Architecte Technique
@romaintaz
Julien Jakubowski
Développeur Java & Web depuis 10 ans
@jak78
Nous ne sommes pas…
Des gourous JavaScript
John Resig - jQuery
Douglas Crockford – JSLint,
"JavaScript, The Good Parts"
Parlons de JavaScript entre Javaïstes
JavaScript is to Java as Hamster is to Ham
http://coding.smashingmagazine.com/2009/07/29/misunderstanding-markup-xhtml-2-comic-strip/
http://www.flickr.com/photos/naturesauraphotography/	

 http://commons.wikimedia.org/wiki/User:DocteurCosmos
Nous allons aussi parler de…
Darth Vader MaroillesBière
Pourquoi cette présentation ?
En 2003
Le JavaScript est partout !
Runtime le plus distribué
Mobilité
Même côté serveur ( , …)
Les grands du web
Les grands du web
Nouveaux besoins
Les utilisateurs veulent des applications vivantes, réactives et
dynamiques !
Enjeu de qualité
Volume de code important
à Fini de jouer !
100,000 lignes de code JavaScript ?
Young man hidden behind table - © 2011 Richard Hernández Arrondo
Le JavaScript
c'est SALE
surprenant
Pourquoi ça fait peur ?
WAT ?
>	
  []	
  +	
  []	
  
	
  ""	
  
>	
  []	
  +	
  {}	
  
	
  [object	
  Object]	
  
>	
  {}	
  +	
  []	
  
	
  0	
  
>	
  {}	
  +	
  {}	
  
	
  NaN	
  
>	
  ++[[]][+[]]+[+[]]	
  ===	
  "10"	
  
	
  true	
  
WAT???
Gary Bernhardt
http://codemash.org
https://www.destroyallsoftware.com/talks/wat
Darth Vader MaroillesBière
Autre problème JavaScript
WAT???
Pollution de l'espace de nommage
Scope global par défaut
Tout est public par défaut
Darth Vader MaroillesBière
Et ce n'est pas tout !
Le mot clé this (plus surprenant que sale)
Ordre de déclaration de var
Etc.
Mais le plus sale
Pollution de l'espace de nommage
Tout est global par défaut
Code non testé
Oui mais…
Author : FrédériqueVoisin-Demery http://www.flickr.com/people/8514720@N04
Nous allons aussi parler de…
Darth Vader MaroillesBière
Comment coder
proprement 100,000 lignes
en JavaScript ?
On pourrait éviter le JavaScript…
Déléguer
• GWT
• JSF
• Vaadin
• Etc.
On peut aussi "améliorer" JavaScript
Langage web orienté objet pour combler les
lacunes de JavaScript
Un JavaScript à l’écriture simplifiée
Exemple de CoffeeScript
JavaScript
Architectures MV*
http://www.gettyimages.fr/detail/illustration/forklift-building-a-cube-with-smaller-illustration-libre-de-droits/109424118
Architecture MVC classique
Client
Serveur
Asynchrone
<html>
+
JS
Controller 	

View	

Model
Mes besoins aujourd'hui
Temps de réponse instantané
Gestion de réseaux lents (mobiles…)
Mode déconnecté
Architecture MV* en JavaScript
Client
Serveur
View	

 Controller	

Model	

…
Question implémentation
Frameworks optionnels, mais aident beaucoup
Pas encore de standard
Modulariser
http://www.gettyimages.fr/detail/photo/black-and-white-jigsaw-pieces-form-a-square-photo/100479289
Qu'est-ce qu'un module ?
Représente un ensemble de code
Isolation – faible couplage
Présente une interface
Un module basique - Présentation
Un module basique
Un module basique
Un module basique
Un module basique
Un module basique
Un module basique
Espace de nommage
Diviser en plusieurs fichiers .js ?
Temps de chargement
Pas de gestion des dépendances
AMD, Asynchronous Module Definition
Définition de dépendances
jQuery	

beers.js	

Mustache
AMD, Asynchronous Module Definition
Chargements parallèles, à la demande
jQuery	

 Mustache	

 beers.js	

 sodas.js	

jQuery	

beers.js	

Mustache
Eviter les parties sales
http://www.gettyimages.fr/detail/photo/hands-of-a-blacksmith-in-his-studio-image-libre-de-droits/109889293
JsLint
Détection des ugly parts
Equivalent à PMD / Checkstyle / FindBugs pour JS
Intégration dans les IDE
Intégration dans Eclipse
Expressivité
http://www.gettyimages.fr/detail/photo/detail-of-sheet-music-image-libre-de-droits/AA004801
Qu'est-ce qu'un code expressif ?
C'est un code simple,
concis,
lisible
Mauvais exemple
Pollution, mauvaise lisibilité => SALE
Avec
Pas de pollution
Lisibilité accrue
Code propre
jQuery, c'est surtout :
• Lisibilité du code, expressivité
• Simplification de ce qui est utile : manipulation du DOM, Ajax…
Mais aussi :
• Structuration du code en plugins
• Nombreux plugins existants
Templates
A la main
Avec template (Mustache.js)
Outils de templating
Mustache
Tests automatisés
http://www.flickr.com/photos/horiavarlan/4747872021/sizes/l/in/photostream/
Tests d'IHM
Conditions réelles
Pas vraiment adapté au TDD
Selenium Windmill
TDD pour JavaScript
En Java En JavaScript
TestNG
Tests avec Jasmine
Ecosystème
University « Le fantôme, le zombie et Testacular… »
Jean-Laurent De Morlhon et Pierre Gayvallet
TDD en JavaScript
Faire du TDD pour JavaScript
Vous devez en faire en 2013 !
Vous n'avez plus d'excuses
Automatisation
Détecter et alerter
Quand un test échoue
Quand une partie sale est utilisée
S'il y a une erreur de syntaxe
à Jasmine
à JsLint
à Google Closure Compiler
Intégration dans Maven, Jenkins ou Sonar
Intégration continue avec Jenkins
http://localhost:8080/job/Test%20Jasmine/1/consol
Analyse qualité avec Sonar
D'autres outils utiles
100,000 lignes de JavaScript ?
ModulesMV* Parties sales
évitées
Expressivité AutomatisationTests
Le monde des bisounours ?
Le monde des bisounours ? Oui mais non !
Intégration
Pérennité
Apprentissage
Businessman sitting at desk with feet up - Paul Bradbury
Références
Eloquent JavaScript
http://eloquentjavascript.net/contents.html
JavaScript Garden
http://bonsaiden.github.com/JavaScript-Garden/
Learning Advanced JavaScript - J. Resig
http://ejohn.org/apps/learn/
JavaScript: the Good Parts - D. Crockford
Questions ?
@jak78 @romaintaz

Contenu connexe

Tendances

Telosys tools jug-nantes-2014-v1.2
Telosys tools jug-nantes-2014-v1.2Telosys tools jug-nantes-2014-v1.2
Telosys tools jug-nantes-2014-v1.2
Laurent Guérin
 
Hello AngularJS - Back to the future
Hello AngularJS - Back to the futureHello AngularJS - Back to the future
Hello AngularJS - Back to the future
Ouadie LAHDIOUI
 
Retour d'experience projet AngularJS
Retour d'experience projet AngularJSRetour d'experience projet AngularJS
Retour d'experience projet AngularJS
∞ François CHERPION ∞
 
MVVM par Karim PIerre Maalej
MVVM par Karim PIerre MaalejMVVM par Karim PIerre Maalej
MVVM par Karim PIerre Maalej
CocoaHeads France
 
Front end, une île qui mérite d'être visitée
Front end, une île qui mérite d'être visitéeFront end, une île qui mérite d'être visitée
Front end, une île qui mérite d'être visitéeOuadie LAHDIOUI
 
Outillage pour Windows 8 XAML
Outillage pour Windows 8 XAMLOutillage pour Windows 8 XAML
Outillage pour Windows 8 XAML
Microsoft
 
Créer des jeux 3D pour le web et pour le Windows Store avec BabylonJS/WebGL
Créer des jeux 3D pour le web et pour le Windows Store avec BabylonJS/WebGL Créer des jeux 3D pour le web et pour le Windows Store avec BabylonJS/WebGL
Créer des jeux 3D pour le web et pour le Windows Store avec BabylonJS/WebGL
Microsoft
 
Les pratiques des geants du web
Les pratiques des geants du webLes pratiques des geants du web
Les pratiques des geants du web
Stephen PERIN
 
Agile Sans Frontières
Agile Sans FrontièresAgile Sans Frontières
Agile Sans Frontières
CARA_Lyon
 
Introduction à web assembly
Introduction à web assemblyIntroduction à web assembly
Introduction à web assembly
Jérémy Buget
 
Comparatif des frameworks js mv
Comparatif des frameworks js mvComparatif des frameworks js mv
Comparatif des frameworks js mv
Mael Monnier
 
Angular JS - Paterne Gaye-Guingnido
Angular JS - Paterne Gaye-Guingnido Angular JS - Paterne Gaye-Guingnido
Angular JS - Paterne Gaye-Guingnido
SOAT
 
Wilfried woivre web api & windows azure web sites
Wilfried woivre   web api & windows azure web sitesWilfried woivre   web api & windows azure web sites
Wilfried woivre web api & windows azure web sitesAymeric Weinbach
 
Présentation de WCF
Présentation de WCFPrésentation de WCF
Présentation de WCFRomain Coste
 
Introduction aux web components
Introduction aux web componentsIntroduction aux web components
Introduction aux web components
Francois ANDRE
 
Introduction à Angularjs
Introduction à AngularjsIntroduction à Angularjs
Introduction à Angularjs
Rossi Oddet
 
Application de gestion des projets en J2EE (Spring-Hibernate) avec architectu...
Application de gestion des projets en J2EE (Spring-Hibernate) avec architectu...Application de gestion des projets en J2EE (Spring-Hibernate) avec architectu...
Application de gestion des projets en J2EE (Spring-Hibernate) avec architectu...
Saâd Zerhouni
 
Quoi de neuf dans ASP.NET 4.5
Quoi de neuf dans ASP.NET 4.5Quoi de neuf dans ASP.NET 4.5
Quoi de neuf dans ASP.NET 4.5
Microsoft
 

Tendances (20)

Telosys tools jug-nantes-2014-v1.2
Telosys tools jug-nantes-2014-v1.2Telosys tools jug-nantes-2014-v1.2
Telosys tools jug-nantes-2014-v1.2
 
Hello AngularJS - Back to the future
Hello AngularJS - Back to the futureHello AngularJS - Back to the future
Hello AngularJS - Back to the future
 
Retour d'experience projet AngularJS
Retour d'experience projet AngularJSRetour d'experience projet AngularJS
Retour d'experience projet AngularJS
 
MVVM par Karim PIerre Maalej
MVVM par Karim PIerre MaalejMVVM par Karim PIerre Maalej
MVVM par Karim PIerre Maalej
 
Front end, une île qui mérite d'être visitée
Front end, une île qui mérite d'être visitéeFront end, une île qui mérite d'être visitée
Front end, une île qui mérite d'être visitée
 
Outillage pour Windows 8 XAML
Outillage pour Windows 8 XAMLOutillage pour Windows 8 XAML
Outillage pour Windows 8 XAML
 
Créer des jeux 3D pour le web et pour le Windows Store avec BabylonJS/WebGL
Créer des jeux 3D pour le web et pour le Windows Store avec BabylonJS/WebGL Créer des jeux 3D pour le web et pour le Windows Store avec BabylonJS/WebGL
Créer des jeux 3D pour le web et pour le Windows Store avec BabylonJS/WebGL
 
Les pratiques des geants du web
Les pratiques des geants du webLes pratiques des geants du web
Les pratiques des geants du web
 
Agile Sans Frontières
Agile Sans FrontièresAgile Sans Frontières
Agile Sans Frontières
 
Introduction à web assembly
Introduction à web assemblyIntroduction à web assembly
Introduction à web assembly
 
Comparatif des frameworks js mv
Comparatif des frameworks js mvComparatif des frameworks js mv
Comparatif des frameworks js mv
 
Angular JS - Paterne Gaye-Guingnido
Angular JS - Paterne Gaye-Guingnido Angular JS - Paterne Gaye-Guingnido
Angular JS - Paterne Gaye-Guingnido
 
Wilfried woivre web api & windows azure web sites
Wilfried woivre   web api & windows azure web sitesWilfried woivre   web api & windows azure web sites
Wilfried woivre web api & windows azure web sites
 
Présentation de WCF
Présentation de WCFPrésentation de WCF
Présentation de WCF
 
Introduction aux web components
Introduction aux web componentsIntroduction aux web components
Introduction aux web components
 
Introduction à Angularjs
Introduction à AngularjsIntroduction à Angularjs
Introduction à Angularjs
 
Application de gestion des projets en J2EE (Spring-Hibernate) avec architectu...
Application de gestion des projets en J2EE (Spring-Hibernate) avec architectu...Application de gestion des projets en J2EE (Spring-Hibernate) avec architectu...
Application de gestion des projets en J2EE (Spring-Hibernate) avec architectu...
 
Quoi de neuf dans ASP.NET 4.5
Quoi de neuf dans ASP.NET 4.5Quoi de neuf dans ASP.NET 4.5
Quoi de neuf dans ASP.NET 4.5
 
Livre Blanc Web temps réel - Node JS
Livre Blanc Web temps réel - Node JSLivre Blanc Web temps réel - Node JS
Livre Blanc Web temps réel - Node JS
 
WPF MVVM
WPF MVVMWPF MVVM
WPF MVVM
 

En vedette

Intégration Continue et PHP
Intégration Continue et PHPIntégration Continue et PHP
Intégration Continue et PHP
Oswald De Riemaecker ☁
 
J2 me
J2 meJ2 me
J2 me
Daba Niang
 
Mexican Cession - Clara
Mexican Cession - ClaraMexican Cession - Clara
Mexican Cession - Clara
jmu101211
 
Mexican Cession - Charles
Mexican Cession - CharlesMexican Cession - Charles
Mexican Cession - Charles
jmu101211
 
Designkantine Nur 3 Sekunden - Haben Sie in dieser Zeit Ihre Zielgruppe überz...
Designkantine Nur 3 Sekunden - Haben Sie in dieser Zeit Ihre Zielgruppe überz...Designkantine Nur 3 Sekunden - Haben Sie in dieser Zeit Ihre Zielgruppe überz...
Designkantine Nur 3 Sekunden - Haben Sie in dieser Zeit Ihre Zielgruppe überz...Namics – A Merkle Company
 
Das geheime Buch Audebar. Der Sonnenstaat - Umrisse einer neuen Gesellschafts...
Das geheime Buch Audebar. Der Sonnenstaat - Umrisse einer neuen Gesellschafts...Das geheime Buch Audebar. Der Sonnenstaat - Umrisse einer neuen Gesellschafts...
Das geheime Buch Audebar. Der Sonnenstaat - Umrisse einer neuen Gesellschafts...
Paul Weder
 
Tangible E Business Short
Tangible E Business ShortTangible E Business Short
Tangible E Business ShortWolfgang Maass
 
Konfigurationsleitfaden Adventskalender
Konfigurationsleitfaden AdventskalenderKonfigurationsleitfaden Adventskalender
Konfigurationsleitfaden Adventskalender
Apparena
 
Ppt Testing The Constitution
Ppt   Testing The ConstitutionPpt   Testing The Constitution
Ppt Testing The Constitution
ericafischer
 
Webasto Airtop 200 Instructions
Webasto Airtop 200 InstructionsWebasto Airtop 200 Instructions
Webasto Airtop 200 Instructions
Butler Technik
 
Urlaubskatalog Teutoburger Wald
Urlaubskatalog Teutoburger WaldUrlaubskatalog Teutoburger Wald
Urlaubskatalog Teutoburger Wald
Teutoburger Wald Tourismus
 
The Treaty of Guadalupe Hidalgo
The Treaty of Guadalupe HidalgoThe Treaty of Guadalupe Hidalgo
The Treaty of Guadalupe Hidalgo
Nicolás Bravo Encina
 
Diaporama atelier 5 café projet urbain jeudi 25 avril 2013
Diaporama atelier 5 café projet urbain jeudi 25 avril 2013Diaporama atelier 5 café projet urbain jeudi 25 avril 2013
Diaporama atelier 5 café projet urbain jeudi 25 avril 2013Mairie de Montpellier
 
Schulische Präventionsarbeit - Cybermobbing
Schulische Präventionsarbeit - CybermobbingSchulische Präventionsarbeit - Cybermobbing
Schulische Präventionsarbeit - Cybermobbing
Johannes Maurek
 
Tutorial Java EE
Tutorial Java EETutorial Java EE
Tutorial Java EE
Rodrigo Cândido da Silva
 
Study Shows Divorce Risk Rises for Wives Diagnosed with a Serious Illness
Study Shows Divorce Risk Rises for Wives Diagnosed with a Serious IllnessStudy Shows Divorce Risk Rises for Wives Diagnosed with a Serious Illness
Study Shows Divorce Risk Rises for Wives Diagnosed with a Serious Illness
Brandon_Terry
 
15 2 trouble in kansas
15 2 trouble in kansas15 2 trouble in kansas
15 2 trouble in kansas
speharn
 
Dobernwindow
DobernwindowDobernwindow
Western expansion
Western expansionWestern expansion
Western expansion
spodra2
 

En vedette (20)

Intégration Continue et PHP
Intégration Continue et PHPIntégration Continue et PHP
Intégration Continue et PHP
 
J2 me
J2 meJ2 me
J2 me
 
Entourage
EntourageEntourage
Entourage
 
Mexican Cession - Clara
Mexican Cession - ClaraMexican Cession - Clara
Mexican Cession - Clara
 
Mexican Cession - Charles
Mexican Cession - CharlesMexican Cession - Charles
Mexican Cession - Charles
 
Designkantine Nur 3 Sekunden - Haben Sie in dieser Zeit Ihre Zielgruppe überz...
Designkantine Nur 3 Sekunden - Haben Sie in dieser Zeit Ihre Zielgruppe überz...Designkantine Nur 3 Sekunden - Haben Sie in dieser Zeit Ihre Zielgruppe überz...
Designkantine Nur 3 Sekunden - Haben Sie in dieser Zeit Ihre Zielgruppe überz...
 
Das geheime Buch Audebar. Der Sonnenstaat - Umrisse einer neuen Gesellschafts...
Das geheime Buch Audebar. Der Sonnenstaat - Umrisse einer neuen Gesellschafts...Das geheime Buch Audebar. Der Sonnenstaat - Umrisse einer neuen Gesellschafts...
Das geheime Buch Audebar. Der Sonnenstaat - Umrisse einer neuen Gesellschafts...
 
Tangible E Business Short
Tangible E Business ShortTangible E Business Short
Tangible E Business Short
 
Konfigurationsleitfaden Adventskalender
Konfigurationsleitfaden AdventskalenderKonfigurationsleitfaden Adventskalender
Konfigurationsleitfaden Adventskalender
 
Ppt Testing The Constitution
Ppt   Testing The ConstitutionPpt   Testing The Constitution
Ppt Testing The Constitution
 
Webasto Airtop 200 Instructions
Webasto Airtop 200 InstructionsWebasto Airtop 200 Instructions
Webasto Airtop 200 Instructions
 
Urlaubskatalog Teutoburger Wald
Urlaubskatalog Teutoburger WaldUrlaubskatalog Teutoburger Wald
Urlaubskatalog Teutoburger Wald
 
The Treaty of Guadalupe Hidalgo
The Treaty of Guadalupe HidalgoThe Treaty of Guadalupe Hidalgo
The Treaty of Guadalupe Hidalgo
 
Diaporama atelier 5 café projet urbain jeudi 25 avril 2013
Diaporama atelier 5 café projet urbain jeudi 25 avril 2013Diaporama atelier 5 café projet urbain jeudi 25 avril 2013
Diaporama atelier 5 café projet urbain jeudi 25 avril 2013
 
Schulische Präventionsarbeit - Cybermobbing
Schulische Präventionsarbeit - CybermobbingSchulische Präventionsarbeit - Cybermobbing
Schulische Präventionsarbeit - Cybermobbing
 
Tutorial Java EE
Tutorial Java EETutorial Java EE
Tutorial Java EE
 
Study Shows Divorce Risk Rises for Wives Diagnosed with a Serious Illness
Study Shows Divorce Risk Rises for Wives Diagnosed with a Serious IllnessStudy Shows Divorce Risk Rises for Wives Diagnosed with a Serious Illness
Study Shows Divorce Risk Rises for Wives Diagnosed with a Serious Illness
 
15 2 trouble in kansas
15 2 trouble in kansas15 2 trouble in kansas
15 2 trouble in kansas
 
Dobernwindow
DobernwindowDobernwindow
Dobernwindow
 
Western expansion
Western expansionWestern expansion
Western expansion
 

Similaire à Du JavaScript propre ? Challenge accepted!

Du JavaScript propre ? Challenge accepted ! @Devoxx France 2013
Du JavaScript propre ? Challenge accepted ! @Devoxx France 2013Du JavaScript propre ? Challenge accepted ! @Devoxx France 2013
Du JavaScript propre ? Challenge accepted ! @Devoxx France 2013Julien Jakubowski
 
Soirée OSGi au Paris Jug (14/10/2008)
Soirée OSGi au Paris Jug (14/10/2008)Soirée OSGi au Paris Jug (14/10/2008)
Soirée OSGi au Paris Jug (14/10/2008)Cyrille Le Clerc
 
Javascript proprement
Javascript proprementJavascript proprement
Javascript proprement
Guillaume Collic
 
M1 presentation OSGi
M1 presentation OSGiM1 presentation OSGi
M1 presentation OSGi
Velossity
 
Chap1_PresentationJava.pdf
Chap1_PresentationJava.pdfChap1_PresentationJava.pdf
Chap1_PresentationJava.pdf
sayf7
 
Performances Web Mobile
Performances Web MobilePerformances Web Mobile
Performances Web Mobile
Willy Leloutre
 
J2eeintro
J2eeintroJ2eeintro
J2eeintromedbmb
 
Introduction to Rust in Production - Servo Mozilla project (Talk)
Introduction to Rust in Production - Servo Mozilla project (Talk)Introduction to Rust in Production - Servo Mozilla project (Talk)
Introduction to Rust in Production - Servo Mozilla project (Talk)
Quentin Frémeaux
 
Présentation de BackBone.JS
Présentation de BackBone.JSPrésentation de BackBone.JS
Présentation de BackBone.JSNoirdes
 
Connected Developper Ep2 (20 04-2013)
Connected Developper Ep2 (20 04-2013)Connected Developper Ep2 (20 04-2013)
Connected Developper Ep2 (20 04-2013)Badr Hakkari
 
RefCard Tests sur tous les fronts
RefCard Tests sur tous les frontsRefCard Tests sur tous les fronts
RefCard Tests sur tous les fronts
OCTO Technology
 
Expresso Rennes Atalante - Html5 / Css3D - 17 sept. 2013
Expresso Rennes Atalante - Html5 / Css3D - 17 sept. 2013Expresso Rennes Atalante - Html5 / Css3D - 17 sept. 2013
Expresso Rennes Atalante - Html5 / Css3D - 17 sept. 2013
MBA Multimedia
 
jQuery GTI780 & MTI780 ETS A09
jQuery   GTI780 & MTI780   ETS   A09jQuery   GTI780 & MTI780   ETS   A09
jQuery GTI780 & MTI780 ETS A09
Claude Coulombe
 
Domain-Specific Languages avec Groovy
Domain-Specific Languages avec GroovyDomain-Specific Languages avec Groovy
Domain-Specific Languages avec GroovyGuillaume Laforge
 
GWT Approfondissement - GTI780 & MTI780 - ETS - A09
GWT Approfondissement  - GTI780 & MTI780 - ETS - A09GWT Approfondissement  - GTI780 & MTI780 - ETS - A09
GWT Approfondissement - GTI780 & MTI780 - ETS - A09
Claude Coulombe
 
HTML5/CSS3D - Expresso Rennes Atalante - 17 sept. 2013
HTML5/CSS3D - Expresso Rennes Atalante - 17 sept. 2013HTML5/CSS3D - Expresso Rennes Atalante - 17 sept. 2013
HTML5/CSS3D - Expresso Rennes Atalante - 17 sept. 2013
Julien LE THUAUT
 
Introduction à Spring.pdf
Introduction à Spring.pdfIntroduction à Spring.pdf
Introduction à Spring.pdf
badrfathallah2
 
La mobilité dans Drupal
La mobilité dans DrupalLa mobilité dans Drupal
La mobilité dans Drupal
Adyax
 
Java entreprise edition et industrialisation du génie logiciel par m.youssfi
Java entreprise edition et industrialisation du génie logiciel par m.youssfiJava entreprise edition et industrialisation du génie logiciel par m.youssfi
Java entreprise edition et industrialisation du génie logiciel par m.youssfi
ENSET, Université Hassan II Casablanca
 
jQuery vs AngularJS
jQuery vs AngularJS jQuery vs AngularJS
jQuery vs AngularJS
Safwen Chibeni
 

Similaire à Du JavaScript propre ? Challenge accepted! (20)

Du JavaScript propre ? Challenge accepted ! @Devoxx France 2013
Du JavaScript propre ? Challenge accepted ! @Devoxx France 2013Du JavaScript propre ? Challenge accepted ! @Devoxx France 2013
Du JavaScript propre ? Challenge accepted ! @Devoxx France 2013
 
Soirée OSGi au Paris Jug (14/10/2008)
Soirée OSGi au Paris Jug (14/10/2008)Soirée OSGi au Paris Jug (14/10/2008)
Soirée OSGi au Paris Jug (14/10/2008)
 
Javascript proprement
Javascript proprementJavascript proprement
Javascript proprement
 
M1 presentation OSGi
M1 presentation OSGiM1 presentation OSGi
M1 presentation OSGi
 
Chap1_PresentationJava.pdf
Chap1_PresentationJava.pdfChap1_PresentationJava.pdf
Chap1_PresentationJava.pdf
 
Performances Web Mobile
Performances Web MobilePerformances Web Mobile
Performances Web Mobile
 
J2eeintro
J2eeintroJ2eeintro
J2eeintro
 
Introduction to Rust in Production - Servo Mozilla project (Talk)
Introduction to Rust in Production - Servo Mozilla project (Talk)Introduction to Rust in Production - Servo Mozilla project (Talk)
Introduction to Rust in Production - Servo Mozilla project (Talk)
 
Présentation de BackBone.JS
Présentation de BackBone.JSPrésentation de BackBone.JS
Présentation de BackBone.JS
 
Connected Developper Ep2 (20 04-2013)
Connected Developper Ep2 (20 04-2013)Connected Developper Ep2 (20 04-2013)
Connected Developper Ep2 (20 04-2013)
 
RefCard Tests sur tous les fronts
RefCard Tests sur tous les frontsRefCard Tests sur tous les fronts
RefCard Tests sur tous les fronts
 
Expresso Rennes Atalante - Html5 / Css3D - 17 sept. 2013
Expresso Rennes Atalante - Html5 / Css3D - 17 sept. 2013Expresso Rennes Atalante - Html5 / Css3D - 17 sept. 2013
Expresso Rennes Atalante - Html5 / Css3D - 17 sept. 2013
 
jQuery GTI780 & MTI780 ETS A09
jQuery   GTI780 & MTI780   ETS   A09jQuery   GTI780 & MTI780   ETS   A09
jQuery GTI780 & MTI780 ETS A09
 
Domain-Specific Languages avec Groovy
Domain-Specific Languages avec GroovyDomain-Specific Languages avec Groovy
Domain-Specific Languages avec Groovy
 
GWT Approfondissement - GTI780 & MTI780 - ETS - A09
GWT Approfondissement  - GTI780 & MTI780 - ETS - A09GWT Approfondissement  - GTI780 & MTI780 - ETS - A09
GWT Approfondissement - GTI780 & MTI780 - ETS - A09
 
HTML5/CSS3D - Expresso Rennes Atalante - 17 sept. 2013
HTML5/CSS3D - Expresso Rennes Atalante - 17 sept. 2013HTML5/CSS3D - Expresso Rennes Atalante - 17 sept. 2013
HTML5/CSS3D - Expresso Rennes Atalante - 17 sept. 2013
 
Introduction à Spring.pdf
Introduction à Spring.pdfIntroduction à Spring.pdf
Introduction à Spring.pdf
 
La mobilité dans Drupal
La mobilité dans DrupalLa mobilité dans Drupal
La mobilité dans Drupal
 
Java entreprise edition et industrialisation du génie logiciel par m.youssfi
Java entreprise edition et industrialisation du génie logiciel par m.youssfiJava entreprise edition et industrialisation du génie logiciel par m.youssfi
Java entreprise edition et industrialisation du génie logiciel par m.youssfi
 
jQuery vs AngularJS
jQuery vs AngularJS jQuery vs AngularJS
jQuery vs AngularJS
 

Plus de OCTO Technology

Le Comptoir OCTO - Équipes infra et prod, ne ratez pas l'embarquement pour l'...
Le Comptoir OCTO - Équipes infra et prod, ne ratez pas l'embarquement pour l'...Le Comptoir OCTO - Équipes infra et prod, ne ratez pas l'embarquement pour l'...
Le Comptoir OCTO - Équipes infra et prod, ne ratez pas l'embarquement pour l'...
OCTO Technology
 
Le Comptoir OCTO - Qu’apporte l’analyse de cycle de vie lors d’un audit d’éco...
Le Comptoir OCTO - Qu’apporte l’analyse de cycle de vie lors d’un audit d’éco...Le Comptoir OCTO - Qu’apporte l’analyse de cycle de vie lors d’un audit d’éco...
Le Comptoir OCTO - Qu’apporte l’analyse de cycle de vie lors d’un audit d’éco...
OCTO Technology
 
Le Comptoir OCTO - Améliorer le Time to Market grâce au Headless : la recette...
Le Comptoir OCTO - Améliorer le Time to Market grâce au Headless : la recette...Le Comptoir OCTO - Améliorer le Time to Market grâce au Headless : la recette...
Le Comptoir OCTO - Améliorer le Time to Market grâce au Headless : la recette...
OCTO Technology
 
Le Comptoir OCTO - Qu'apporte l'analyse de cycle de vie d'un audit d'éco-conc...
Le Comptoir OCTO - Qu'apporte l'analyse de cycle de vie d'un audit d'éco-conc...Le Comptoir OCTO - Qu'apporte l'analyse de cycle de vie d'un audit d'éco-conc...
Le Comptoir OCTO - Qu'apporte l'analyse de cycle de vie d'un audit d'éco-conc...
OCTO Technology
 
Le Comptoir OCTO - Se conformer à la CSRD : un levier d'action insoupçonné
Le Comptoir OCTO - Se conformer à la CSRD : un levier d'action insoupçonnéLe Comptoir OCTO - Se conformer à la CSRD : un levier d'action insoupçonné
Le Comptoir OCTO - Se conformer à la CSRD : un levier d'action insoupçonné
OCTO Technology
 
Le Comptoir OCTO - MLOps : Les patterns MLOps dans le cloud
Le Comptoir OCTO - MLOps : Les patterns MLOps dans le cloudLe Comptoir OCTO - MLOps : Les patterns MLOps dans le cloud
Le Comptoir OCTO - MLOps : Les patterns MLOps dans le cloud
OCTO Technology
 
La Grosse Conf 2024 - Philippe Stepniewski -Atelier - Live coding d'une base ...
La Grosse Conf 2024 - Philippe Stepniewski -Atelier - Live coding d'une base ...La Grosse Conf 2024 - Philippe Stepniewski -Atelier - Live coding d'une base ...
La Grosse Conf 2024 - Philippe Stepniewski -Atelier - Live coding d'une base ...
OCTO Technology
 
La Grosse Conf 2024 - Philippe Prados - Atelier - RAG : au-delà de la démonst...
La Grosse Conf 2024 - Philippe Prados - Atelier - RAG : au-delà de la démonst...La Grosse Conf 2024 - Philippe Prados - Atelier - RAG : au-delà de la démonst...
La Grosse Conf 2024 - Philippe Prados - Atelier - RAG : au-delà de la démonst...
OCTO Technology
 
Le Comptoir OCTO - Maîtriser le RAG : connecter les modèles d’IA génératives ...
Le Comptoir OCTO - Maîtriser le RAG : connecter les modèles d’IA génératives ...Le Comptoir OCTO - Maîtriser le RAG : connecter les modèles d’IA génératives ...
Le Comptoir OCTO - Maîtriser le RAG : connecter les modèles d’IA génératives ...
OCTO Technology
 
OCTO Talks - Les IA s'invitent au chevet des développeurs
OCTO Talks - Les IA s'invitent au chevet des développeursOCTO Talks - Les IA s'invitent au chevet des développeurs
OCTO Talks - Les IA s'invitent au chevet des développeurs
OCTO Technology
 
OCTO Talks - Lancement du livre Culture Test
OCTO Talks - Lancement du livre Culture TestOCTO Talks - Lancement du livre Culture Test
OCTO Talks - Lancement du livre Culture Test
OCTO Technology
 
Le Comptoir OCTO - Green AI, comment éviter que votre votre potion magique d’...
Le Comptoir OCTO - Green AI, comment éviter que votre votre potion magique d’...Le Comptoir OCTO - Green AI, comment éviter que votre votre potion magique d’...
Le Comptoir OCTO - Green AI, comment éviter que votre votre potion magique d’...
OCTO Technology
 
OCTO Talks - State of the art Architecture dans les frontend web
OCTO Talks - State of the art Architecture dans les frontend webOCTO Talks - State of the art Architecture dans les frontend web
OCTO Talks - State of the art Architecture dans les frontend web
OCTO Technology
 
Refcard GraphQL
Refcard GraphQLRefcard GraphQL
Refcard GraphQL
OCTO Technology
 
Comptoir OCTO ALD Automotive/Leaseplan
Comptoir OCTO ALD Automotive/LeaseplanComptoir OCTO ALD Automotive/Leaseplan
Comptoir OCTO ALD Automotive/Leaseplan
OCTO Technology
 
Le Comptoir OCTO - Comment optimiser les stocks en linéaire par la Data ?
Le Comptoir OCTO - Comment optimiser les stocks en linéaire par la Data ? Le Comptoir OCTO - Comment optimiser les stocks en linéaire par la Data ?
Le Comptoir OCTO - Comment optimiser les stocks en linéaire par la Data ?
OCTO Technology
 
Le Comptoir OCTO - Retour sur 5 ans de mise en oeuvre : Comment le RGPD a réi...
Le Comptoir OCTO - Retour sur 5 ans de mise en oeuvre : Comment le RGPD a réi...Le Comptoir OCTO - Retour sur 5 ans de mise en oeuvre : Comment le RGPD a réi...
Le Comptoir OCTO - Retour sur 5 ans de mise en oeuvre : Comment le RGPD a réi...
OCTO Technology
 
Le Comptoir OCTO - Affinez vos forecasts avec la planification distribuée et...
Le Comptoir OCTO -  Affinez vos forecasts avec la planification distribuée et...Le Comptoir OCTO -  Affinez vos forecasts avec la planification distribuée et...
Le Comptoir OCTO - Affinez vos forecasts avec la planification distribuée et...
OCTO Technology
 
Le Comptoir OCTO - La formation au cœur de la stratégie d’éco-conception
Le Comptoir OCTO - La formation au cœur de la stratégie d’éco-conceptionLe Comptoir OCTO - La formation au cœur de la stratégie d’éco-conception
Le Comptoir OCTO - La formation au cœur de la stratégie d’éco-conception
OCTO Technology
 
Le Comptoir OCTO - Une vision de plateforme sans leadership tech n’est qu’hal...
Le Comptoir OCTO - Une vision de plateforme sans leadership tech n’est qu’hal...Le Comptoir OCTO - Une vision de plateforme sans leadership tech n’est qu’hal...
Le Comptoir OCTO - Une vision de plateforme sans leadership tech n’est qu’hal...
OCTO Technology
 

Plus de OCTO Technology (20)

Le Comptoir OCTO - Équipes infra et prod, ne ratez pas l'embarquement pour l'...
Le Comptoir OCTO - Équipes infra et prod, ne ratez pas l'embarquement pour l'...Le Comptoir OCTO - Équipes infra et prod, ne ratez pas l'embarquement pour l'...
Le Comptoir OCTO - Équipes infra et prod, ne ratez pas l'embarquement pour l'...
 
Le Comptoir OCTO - Qu’apporte l’analyse de cycle de vie lors d’un audit d’éco...
Le Comptoir OCTO - Qu’apporte l’analyse de cycle de vie lors d’un audit d’éco...Le Comptoir OCTO - Qu’apporte l’analyse de cycle de vie lors d’un audit d’éco...
Le Comptoir OCTO - Qu’apporte l’analyse de cycle de vie lors d’un audit d’éco...
 
Le Comptoir OCTO - Améliorer le Time to Market grâce au Headless : la recette...
Le Comptoir OCTO - Améliorer le Time to Market grâce au Headless : la recette...Le Comptoir OCTO - Améliorer le Time to Market grâce au Headless : la recette...
Le Comptoir OCTO - Améliorer le Time to Market grâce au Headless : la recette...
 
Le Comptoir OCTO - Qu'apporte l'analyse de cycle de vie d'un audit d'éco-conc...
Le Comptoir OCTO - Qu'apporte l'analyse de cycle de vie d'un audit d'éco-conc...Le Comptoir OCTO - Qu'apporte l'analyse de cycle de vie d'un audit d'éco-conc...
Le Comptoir OCTO - Qu'apporte l'analyse de cycle de vie d'un audit d'éco-conc...
 
Le Comptoir OCTO - Se conformer à la CSRD : un levier d'action insoupçonné
Le Comptoir OCTO - Se conformer à la CSRD : un levier d'action insoupçonnéLe Comptoir OCTO - Se conformer à la CSRD : un levier d'action insoupçonné
Le Comptoir OCTO - Se conformer à la CSRD : un levier d'action insoupçonné
 
Le Comptoir OCTO - MLOps : Les patterns MLOps dans le cloud
Le Comptoir OCTO - MLOps : Les patterns MLOps dans le cloudLe Comptoir OCTO - MLOps : Les patterns MLOps dans le cloud
Le Comptoir OCTO - MLOps : Les patterns MLOps dans le cloud
 
La Grosse Conf 2024 - Philippe Stepniewski -Atelier - Live coding d'une base ...
La Grosse Conf 2024 - Philippe Stepniewski -Atelier - Live coding d'une base ...La Grosse Conf 2024 - Philippe Stepniewski -Atelier - Live coding d'une base ...
La Grosse Conf 2024 - Philippe Stepniewski -Atelier - Live coding d'une base ...
 
La Grosse Conf 2024 - Philippe Prados - Atelier - RAG : au-delà de la démonst...
La Grosse Conf 2024 - Philippe Prados - Atelier - RAG : au-delà de la démonst...La Grosse Conf 2024 - Philippe Prados - Atelier - RAG : au-delà de la démonst...
La Grosse Conf 2024 - Philippe Prados - Atelier - RAG : au-delà de la démonst...
 
Le Comptoir OCTO - Maîtriser le RAG : connecter les modèles d’IA génératives ...
Le Comptoir OCTO - Maîtriser le RAG : connecter les modèles d’IA génératives ...Le Comptoir OCTO - Maîtriser le RAG : connecter les modèles d’IA génératives ...
Le Comptoir OCTO - Maîtriser le RAG : connecter les modèles d’IA génératives ...
 
OCTO Talks - Les IA s'invitent au chevet des développeurs
OCTO Talks - Les IA s'invitent au chevet des développeursOCTO Talks - Les IA s'invitent au chevet des développeurs
OCTO Talks - Les IA s'invitent au chevet des développeurs
 
OCTO Talks - Lancement du livre Culture Test
OCTO Talks - Lancement du livre Culture TestOCTO Talks - Lancement du livre Culture Test
OCTO Talks - Lancement du livre Culture Test
 
Le Comptoir OCTO - Green AI, comment éviter que votre votre potion magique d’...
Le Comptoir OCTO - Green AI, comment éviter que votre votre potion magique d’...Le Comptoir OCTO - Green AI, comment éviter que votre votre potion magique d’...
Le Comptoir OCTO - Green AI, comment éviter que votre votre potion magique d’...
 
OCTO Talks - State of the art Architecture dans les frontend web
OCTO Talks - State of the art Architecture dans les frontend webOCTO Talks - State of the art Architecture dans les frontend web
OCTO Talks - State of the art Architecture dans les frontend web
 
Refcard GraphQL
Refcard GraphQLRefcard GraphQL
Refcard GraphQL
 
Comptoir OCTO ALD Automotive/Leaseplan
Comptoir OCTO ALD Automotive/LeaseplanComptoir OCTO ALD Automotive/Leaseplan
Comptoir OCTO ALD Automotive/Leaseplan
 
Le Comptoir OCTO - Comment optimiser les stocks en linéaire par la Data ?
Le Comptoir OCTO - Comment optimiser les stocks en linéaire par la Data ? Le Comptoir OCTO - Comment optimiser les stocks en linéaire par la Data ?
Le Comptoir OCTO - Comment optimiser les stocks en linéaire par la Data ?
 
Le Comptoir OCTO - Retour sur 5 ans de mise en oeuvre : Comment le RGPD a réi...
Le Comptoir OCTO - Retour sur 5 ans de mise en oeuvre : Comment le RGPD a réi...Le Comptoir OCTO - Retour sur 5 ans de mise en oeuvre : Comment le RGPD a réi...
Le Comptoir OCTO - Retour sur 5 ans de mise en oeuvre : Comment le RGPD a réi...
 
Le Comptoir OCTO - Affinez vos forecasts avec la planification distribuée et...
Le Comptoir OCTO -  Affinez vos forecasts avec la planification distribuée et...Le Comptoir OCTO -  Affinez vos forecasts avec la planification distribuée et...
Le Comptoir OCTO - Affinez vos forecasts avec la planification distribuée et...
 
Le Comptoir OCTO - La formation au cœur de la stratégie d’éco-conception
Le Comptoir OCTO - La formation au cœur de la stratégie d’éco-conceptionLe Comptoir OCTO - La formation au cœur de la stratégie d’éco-conception
Le Comptoir OCTO - La formation au cœur de la stratégie d’éco-conception
 
Le Comptoir OCTO - Une vision de plateforme sans leadership tech n’est qu’hal...
Le Comptoir OCTO - Une vision de plateforme sans leadership tech n’est qu’hal...Le Comptoir OCTO - Une vision de plateforme sans leadership tech n’est qu’hal...
Le Comptoir OCTO - Une vision de plateforme sans leadership tech n’est qu’hal...
 

Du JavaScript propre ? Challenge accepted!