SlideShare une entreprise Scribd logo
1  sur  51
Télécharger pour lire hors ligne
Du JavaScript dans
votre Usine Logiciel
Christophe Jollivet
Christophe Jollivet
• Neurobiologiste
• Informaticien
• Communautaire
• @jollivetc
Usine logicielle
• Construire le livrable
• compilation / dépendances
• packaging
• Exécution des tests
• Génération de métriques / doc
La solution de facilité
• drop les fichiers dans webapp
• quelques tests Selenium...
Intégration
• « A la Java »
• « A la JavaScript »
« A la Java »
Jasmine
• Framework de Test
• TestRunner
FeedBack Continue
• Testem
• capture de navigateur
• exécution en continue
Testem dans Jenkins
Jasmine dans Maven

• Jasmine-maven-plugin
Maven Tools for
JavaScript Developers
• http://mojo.codehaus.org/javascript-maventools/

• Fourni
• Tests
• Minification
• JSLint
• Archetype
<build>
<extensions>
! <extension>
!
<groupId>org.codehaus.mojo</groupId>
!
<artifactId>javascript-maven-plugin</artifactId>
! ! <version>2.0.0-alpha-1</version>
! </extension>
</extensions>
</build>
WebJar
• Dépendances transitives des librairies JS
• container Servlet3 compatible
• compatible SBT, Maven, Gradle, Leiningen
WebJar
WebJar
• Les WebJars sont dans WEB-INF/lib
WebJar
• Les WebJars sont dans WEB-INF/lib
• ce qui est sous META-INF/resources d’un
JAR sour WEB-INF/lib est accessible
WebJar
• avantages
• dépendances transitives
• pas dans le SCM
• Inconvénients
• IDE ne fait pas de complétion
« A la JavaScript »
A la JavaScript
• Ecosystème d’outils
• NPM, Grunt, Bower
A la JavaScript
A
Ecosystème d’outils FR
•
E
R
U
• NPM, Grunt, Bower
T
IN
E
P

E
H
IC
NPM
• Node Package Module
• installation d’outils et de plugins
• Permet l’installation d’outils de façon
globale
NPM
• Installation par
• MSI
• pkg
• make install
• Installeur pour Jenkins
Grunt
• The JavaScript Task Runner
• version 0.4.1
Installation

npm install -g grunt-cli
configuration
• package.json
• Gruntfile.js ou Gruntfile.coffe
package.json
• project metadata
• Grunt plugins as devDependencies
package.json
{
"name": "my-project-name",
"version": "0.1.0",
"devDependencies": {
"grunt": "~0.4.1",
"grunt-contrib-jshint": "~0.6.3",
"grunt-contrib-nodeunit": "~0.2.0",
"grunt-contrib-uglify": "~0.2.2"
}
}
package.json
• npm install
• npm install <module> --save-dev
Gruntfile.js
• Il comprend
• la fonction wrapper
• configuration du projet et tâches
• chargement plugins et tâches
• tâches personnalisées
Gruntfile.js
module.exports = function(grunt) {
// Project configuration.
grunt.initConfig({
pkg: grunt.file.readJSON('package.json'),
uglify: {
build: {
src: 'src/<%= pkg.name %>.js',
dest: 'build/<%= pkg.name %>.min.js'
}
}
});
// Load the plugin that provides the "uglify" task.
grunt.loadNpmTasks('grunt-contrib-uglify');
// Default task(s).
grunt.registerTask('default', ['uglify']);
};
CLI
• grunt <task>
• grunt --help
Istanbul

• Couverture de test
Plato

• Analyse de source JavaScript
JsDuck
• Documentation
• syntaxe à la JavaDoc
• Support de Markdown
Yeoman
• Yo : scaffolding
• Grunt : build, preview, test...
• Bower : dependency management
Yo
• Scaffolding
• installation interactive de Generator
Bower

• package manager for the web
installation

npm install -g bower
Configuration
• bower.json
• .bowerrc
Utilisation
• bower install
• bower install <package>
• bower install <package>#<version>
Utilisation
• bower list
• bower search
bower.json
Yeoman-maven-plugin
• configuration clean et war plugin
• Intégration dans le cycle Maven
Sonar
Sonar
• Plugin dans SonarQube
• Sonar-runner
• sonar-project.properties
• Complexe sur des projets mixtes
Conclusion
• http://addyosmani.com/blog/making-maven-grunt/
• 3 solutions
• Code séparé
• ignorer outillage moderne
• Maven-exec plugin
Questions ?
https://github.com/jollivetc/JugSummerCamp

Contenu connexe

Tendances

NodeJS for Mobile App
NodeJS for Mobile AppNodeJS for Mobile App
NodeJS for Mobile AppHabib MAALEM
 
NodeJs, une introduction
NodeJs, une introductionNodeJs, une introduction
NodeJs, une introductionToxicode
 
Utilisation de node.js avec mongoDB
Utilisation de node.js avec mongoDBUtilisation de node.js avec mongoDB
Utilisation de node.js avec mongoDB13p
 
Node.js et les nouvelles technologies javascript
Node.js et les nouvelles technologies javascriptNode.js et les nouvelles technologies javascript
Node.js et les nouvelles technologies javascriptKhalid Jebbari
 
Grunt, Bower, Yeoman ou comment automatiser un projet web SPA
Grunt, Bower, Yeoman ou comment automatiser un projet web SPAGrunt, Bower, Yeoman ou comment automatiser un projet web SPA
Grunt, Bower, Yeoman ou comment automatiser un projet web SPATouchify
 
Grunt / Bower / Yeoman ou comment automatiser le développement d’un projet we...
Grunt / Bower / Yeoman ou comment automatiser le développement d’un projet we...Grunt / Bower / Yeoman ou comment automatiser le développement d’un projet we...
Grunt / Bower / Yeoman ou comment automatiser le développement d’un projet we...Microsoft
 
WordCamp Lyon 2015 - WordPress, Git et l'intégration continue
 WordCamp Lyon 2015 - WordPress, Git et l'intégration continue WordCamp Lyon 2015 - WordPress, Git et l'intégration continue
WordCamp Lyon 2015 - WordPress, Git et l'intégration continueStéphane HULARD
 
publier une application Node sur heroku
publier une application Node sur herokupublier une application Node sur heroku
publier une application Node sur herokueric German
 
Node.js et MongoDB: Mongoose
Node.js et MongoDB: MongooseNode.js et MongoDB: Mongoose
Node.js et MongoDB: Mongoosejeromegn
 
Angular + JHipster @ Paris JUG
Angular + JHipster @ Paris JUGAngular + JHipster @ Paris JUG
Angular + JHipster @ Paris JUGWilliam Marques
 
Jenkins - perdre du temps pour en gagner
Jenkins - perdre du temps pour en gagnerJenkins - perdre du temps pour en gagner
Jenkins - perdre du temps pour en gagnerGeeks Anonymes
 
Développement : mettez le turbo ! - Liferay France Symposium 2017
Développement : mettez le turbo ! - Liferay France Symposium 2017Développement : mettez le turbo ! - Liferay France Symposium 2017
Développement : mettez le turbo ! - Liferay France Symposium 2017Sébastien Le Marchand
 
Solutions Linux 2014 – Alter Way : Industrialisation des développements en Ja...
Solutions Linux 2014 – Alter Way : Industrialisation des développements en Ja...Solutions Linux 2014 – Alter Way : Industrialisation des développements en Ja...
Solutions Linux 2014 – Alter Way : Industrialisation des développements en Ja...ALTER WAY
 
Gérer son environnement de développement avec Docker
Gérer son environnement de développement avec DockerGérer son environnement de développement avec Docker
Gérer son environnement de développement avec DockerJulien Dubois
 
Créer, Pousser et Lancer un serveur RESTful en 10 min.
Créer, Pousser et Lancer un serveur RESTful en 10 min.Créer, Pousser et Lancer un serveur RESTful en 10 min.
Créer, Pousser et Lancer un serveur RESTful en 10 min.Anthony Faucogney
 
Enib cours c.a.i. web - séance #6 : introduction à node js
Enib   cours c.a.i. web - séance #6 : introduction à node jsEnib   cours c.a.i. web - séance #6 : introduction à node js
Enib cours c.a.i. web - séance #6 : introduction à node jsHoracio Gonzalez
 

Tendances (20)

NodeJS for Mobile App
NodeJS for Mobile AppNodeJS for Mobile App
NodeJS for Mobile App
 
NodeJs, une introduction
NodeJs, une introductionNodeJs, une introduction
NodeJs, une introduction
 
Utilisation de node.js avec mongoDB
Utilisation de node.js avec mongoDBUtilisation de node.js avec mongoDB
Utilisation de node.js avec mongoDB
 
Node.js et les nouvelles technologies javascript
Node.js et les nouvelles technologies javascriptNode.js et les nouvelles technologies javascript
Node.js et les nouvelles technologies javascript
 
Grunt, Bower, Yeoman ou comment automatiser un projet web SPA
Grunt, Bower, Yeoman ou comment automatiser un projet web SPAGrunt, Bower, Yeoman ou comment automatiser un projet web SPA
Grunt, Bower, Yeoman ou comment automatiser un projet web SPA
 
Grunt / Bower / Yeoman ou comment automatiser le développement d’un projet we...
Grunt / Bower / Yeoman ou comment automatiser le développement d’un projet we...Grunt / Bower / Yeoman ou comment automatiser le développement d’un projet we...
Grunt / Bower / Yeoman ou comment automatiser le développement d’un projet we...
 
WordCamp Lyon 2015 - WordPress, Git et l'intégration continue
 WordCamp Lyon 2015 - WordPress, Git et l'intégration continue WordCamp Lyon 2015 - WordPress, Git et l'intégration continue
WordCamp Lyon 2015 - WordPress, Git et l'intégration continue
 
publier une application Node sur heroku
publier une application Node sur herokupublier une application Node sur heroku
publier une application Node sur heroku
 
Node.js et MongoDB: Mongoose
Node.js et MongoDB: MongooseNode.js et MongoDB: Mongoose
Node.js et MongoDB: Mongoose
 
Angular + JHipster @ Paris JUG
Angular + JHipster @ Paris JUGAngular + JHipster @ Paris JUG
Angular + JHipster @ Paris JUG
 
Jenkins - perdre du temps pour en gagner
Jenkins - perdre du temps pour en gagnerJenkins - perdre du temps pour en gagner
Jenkins - perdre du temps pour en gagner
 
Développement : mettez le turbo ! - Liferay France Symposium 2017
Développement : mettez le turbo ! - Liferay France Symposium 2017Développement : mettez le turbo ! - Liferay France Symposium 2017
Développement : mettez le turbo ! - Liferay France Symposium 2017
 
CasperJS
CasperJSCasperJS
CasperJS
 
Solutions Linux 2014 – Alter Way : Industrialisation des développements en Ja...
Solutions Linux 2014 – Alter Way : Industrialisation des développements en Ja...Solutions Linux 2014 – Alter Way : Industrialisation des développements en Ja...
Solutions Linux 2014 – Alter Way : Industrialisation des développements en Ja...
 
Ze cloud chez Palo it
Ze cloud chez Palo itZe cloud chez Palo it
Ze cloud chez Palo it
 
Gérer son environnement de développement avec Docker
Gérer son environnement de développement avec DockerGérer son environnement de développement avec Docker
Gérer son environnement de développement avec Docker
 
Créer, Pousser et Lancer un serveur RESTful en 10 min.
Créer, Pousser et Lancer un serveur RESTful en 10 min.Créer, Pousser et Lancer un serveur RESTful en 10 min.
Créer, Pousser et Lancer un serveur RESTful en 10 min.
 
Jenkins Workflow
Jenkins WorkflowJenkins Workflow
Jenkins Workflow
 
Enib cours c.a.i. web - séance #6 : introduction à node js
Enib   cours c.a.i. web - séance #6 : introduction à node jsEnib   cours c.a.i. web - séance #6 : introduction à node js
Enib cours c.a.i. web - séance #6 : introduction à node js
 
Introduction à Angular 2
Introduction à Angular 2Introduction à Angular 2
Introduction à Angular 2
 

En vedette

Industrialisation Front-end - introduction
Industrialisation Front-end - introductionIndustrialisation Front-end - introduction
Industrialisation Front-end - introductionhalleck45
 
Architecture du web et ontologie d opérations
Architecture du web et ontologie d opérationsArchitecture du web et ontologie d opérations
Architecture du web et ontologie d opérationsAlexandre Monnin
 
Industrialiser le dev. front end · Boris Schapira · Bdx.io
Industrialiser le dev. front end · Boris Schapira · Bdx.ioIndustrialiser le dev. front end · Boris Schapira · Bdx.io
Industrialiser le dev. front end · Boris Schapira · Bdx.ioBoris SCHAPIRA
 
DevOps - from idea to production
DevOps - from idea to productionDevOps - from idea to production
DevOps - from idea to productionHabib MAALEM
 
Quand utiliser MongoDB … Et quand vous en passer…
Quand utiliser MongoDB	… Et quand vous en passer…Quand utiliser MongoDB	… Et quand vous en passer…
Quand utiliser MongoDB … Et quand vous en passer…MongoDB
 
JavaScript code academy - introduction
JavaScript code academy - introductionJavaScript code academy - introduction
JavaScript code academy - introductionJaroslav Kubíček
 
Formation JavaScript full-stack (JS, jQuery, Node.js...)
Formation JavaScript full-stack (JS, jQuery, Node.js...)Formation JavaScript full-stack (JS, jQuery, Node.js...)
Formation JavaScript full-stack (JS, jQuery, Node.js...)guicara
 
HTML5, Spring, NoSQL et mobilité
HTML5, Spring, NoSQL et mobilitéHTML5, Spring, NoSQL et mobilité
HTML5, Spring, NoSQL et mobilitéJulien Dubois
 
Initiation Webperf : Comprendre, analyser et optimiser les performances web F...
Initiation Webperf : Comprendre, analyser et optimiser les performances web F...Initiation Webperf : Comprendre, analyser et optimiser les performances web F...
Initiation Webperf : Comprendre, analyser et optimiser les performances web F...Kenny Dits
 
Introduction aux technologies du Web (2)
Introduction aux technologies du Web (2)Introduction aux technologies du Web (2)
Introduction aux technologies du Web (2)Saïd Radhouani
 
Cours 2/3 - Architecture Web
Cours 2/3 - Architecture WebCours 2/3 - Architecture Web
Cours 2/3 - Architecture WebAdyax
 
Cours 1/3 "Architecture Web"
Cours 1/3 "Architecture Web"Cours 1/3 "Architecture Web"
Cours 1/3 "Architecture Web"Adyax
 
Petit déjeuner OCTO Technology - Nouvelles Architectures Web Front-End et APIs
Petit déjeuner OCTO Technology - Nouvelles Architectures Web Front-End et APIsPetit déjeuner OCTO Technology - Nouvelles Architectures Web Front-End et APIs
Petit déjeuner OCTO Technology - Nouvelles Architectures Web Front-End et APIsOCTO Technology
 
Palestra node.js
Palestra   node.js Palestra   node.js
Palestra node.js Suissa
 

En vedette (16)

Industrialisation Front-end - introduction
Industrialisation Front-end - introductionIndustrialisation Front-end - introduction
Industrialisation Front-end - introduction
 
Architecture du web et ontologie d opérations
Architecture du web et ontologie d opérationsArchitecture du web et ontologie d opérations
Architecture du web et ontologie d opérations
 
Industrialiser le dev. front end · Boris Schapira · Bdx.io
Industrialiser le dev. front end · Boris Schapira · Bdx.ioIndustrialiser le dev. front end · Boris Schapira · Bdx.io
Industrialiser le dev. front end · Boris Schapira · Bdx.io
 
DevOps - from idea to production
DevOps - from idea to productionDevOps - from idea to production
DevOps - from idea to production
 
Quand utiliser MongoDB … Et quand vous en passer…
Quand utiliser MongoDB	… Et quand vous en passer…Quand utiliser MongoDB	… Et quand vous en passer…
Quand utiliser MongoDB … Et quand vous en passer…
 
JavaScript code academy - introduction
JavaScript code academy - introductionJavaScript code academy - introduction
JavaScript code academy - introduction
 
Formation JavaScript full-stack (JS, jQuery, Node.js...)
Formation JavaScript full-stack (JS, jQuery, Node.js...)Formation JavaScript full-stack (JS, jQuery, Node.js...)
Formation JavaScript full-stack (JS, jQuery, Node.js...)
 
De Devoxx au CAC40
De Devoxx au CAC40De Devoxx au CAC40
De Devoxx au CAC40
 
HTML5, Spring, NoSQL et mobilité
HTML5, Spring, NoSQL et mobilitéHTML5, Spring, NoSQL et mobilité
HTML5, Spring, NoSQL et mobilité
 
Initiation Webperf : Comprendre, analyser et optimiser les performances web F...
Initiation Webperf : Comprendre, analyser et optimiser les performances web F...Initiation Webperf : Comprendre, analyser et optimiser les performances web F...
Initiation Webperf : Comprendre, analyser et optimiser les performances web F...
 
Introduction aux technologies du Web (2)
Introduction aux technologies du Web (2)Introduction aux technologies du Web (2)
Introduction aux technologies du Web (2)
 
Cours 2/3 - Architecture Web
Cours 2/3 - Architecture WebCours 2/3 - Architecture Web
Cours 2/3 - Architecture Web
 
Cours 1/3 "Architecture Web"
Cours 1/3 "Architecture Web"Cours 1/3 "Architecture Web"
Cours 1/3 "Architecture Web"
 
Petit déjeuner OCTO Technology - Nouvelles Architectures Web Front-End et APIs
Petit déjeuner OCTO Technology - Nouvelles Architectures Web Front-End et APIsPetit déjeuner OCTO Technology - Nouvelles Architectures Web Front-End et APIs
Petit déjeuner OCTO Technology - Nouvelles Architectures Web Front-End et APIs
 
Palestra node.js
Palestra   node.js Palestra   node.js
Palestra node.js
 
Conférence #nwx - node.js - 20121023
Conférence #nwx - node.js - 20121023Conférence #nwx - node.js - 20121023
Conférence #nwx - node.js - 20121023
 

Similaire à JavaScript dans l'usine logicielle

Presentation of GWT 2.4 (PowerPoint version)
Presentation of GWT 2.4 (PowerPoint version)Presentation of GWT 2.4 (PowerPoint version)
Presentation of GWT 2.4 (PowerPoint version)Celinio Fernandes
 
Presentation of GWT 2.4 (PDF version)
Presentation of GWT 2.4 (PDF version)Presentation of GWT 2.4 (PDF version)
Presentation of GWT 2.4 (PDF version)Celinio Fernandes
 
Maven/Ivy vs OSGi (Toulouse Jug 26-05-2011)
Maven/Ivy vs OSGi (Toulouse Jug 26-05-2011)Maven/Ivy vs OSGi (Toulouse Jug 26-05-2011)
Maven/Ivy vs OSGi (Toulouse Jug 26-05-2011)hibnico
 
Du JavaScript dans mon projet
Du JavaScript dans mon projetDu JavaScript dans mon projet
Du JavaScript dans mon projetjollivetc
 
Devoxx java script-1280-720
Devoxx java script-1280-720Devoxx java script-1280-720
Devoxx java script-1280-720Romain Linsolas
 
SLIDES-625.1.1-IDL-4-build tools maven.pdf
SLIDES-625.1.1-IDL-4-build tools maven.pdfSLIDES-625.1.1-IDL-4-build tools maven.pdf
SLIDES-625.1.1-IDL-4-build tools maven.pdfArouNa3
 
JCertif 2012 : Maven par la pratique
JCertif 2012 : Maven par la pratiqueJCertif 2012 : Maven par la pratique
JCertif 2012 : Maven par la pratiqueRossi Oddet
 
Open XKE - Introduire le Continuous Delivery dans votre entreprise par Jean-L...
Open XKE - Introduire le Continuous Delivery dans votre entreprise par Jean-L...Open XKE - Introduire le Continuous Delivery dans votre entreprise par Jean-L...
Open XKE - Introduire le Continuous Delivery dans votre entreprise par Jean-L...Publicis Sapient Engineering
 
Être productif avec JHipster - Devoxx France 2017
Être productif avec JHipster - Devoxx France 2017Être productif avec JHipster - Devoxx France 2017
Être productif avec JHipster - Devoxx France 2017Julien Dubois
 
MS365 Developer Bootcamp 2020 à Montréal - Trucs & Astuces SharePoint Framework
MS365 Developer Bootcamp 2020 à Montréal - Trucs & Astuces SharePoint FrameworkMS365 Developer Bootcamp 2020 à Montréal - Trucs & Astuces SharePoint Framework
MS365 Developer Bootcamp 2020 à Montréal - Trucs & Astuces SharePoint FrameworkLaurent Sittler
 
Intégration continue des projets PHP avec Jenkins
Intégration continue des projets PHP avec JenkinsIntégration continue des projets PHP avec Jenkins
Intégration continue des projets PHP avec JenkinsHugo Hamon
 

Similaire à JavaScript dans l'usine logicielle (20)

Presentation of GWT 2.4 (PowerPoint version)
Presentation of GWT 2.4 (PowerPoint version)Presentation of GWT 2.4 (PowerPoint version)
Presentation of GWT 2.4 (PowerPoint version)
 
Presentation of GWT 2.4 (PDF version)
Presentation of GWT 2.4 (PDF version)Presentation of GWT 2.4 (PDF version)
Presentation of GWT 2.4 (PDF version)
 
Maven
MavenMaven
Maven
 
Maven/Ivy vs OSGi (Toulouse Jug 26-05-2011)
Maven/Ivy vs OSGi (Toulouse Jug 26-05-2011)Maven/Ivy vs OSGi (Toulouse Jug 26-05-2011)
Maven/Ivy vs OSGi (Toulouse Jug 26-05-2011)
 
Du JavaScript dans mon projet
Du JavaScript dans mon projetDu JavaScript dans mon projet
Du JavaScript dans mon projet
 
Gradle_LyonJUG
Gradle_LyonJUGGradle_LyonJUG
Gradle_LyonJUG
 
Présentation1
Présentation1Présentation1
Présentation1
 
Devoxx java script-1280-720
Devoxx java script-1280-720Devoxx java script-1280-720
Devoxx java script-1280-720
 
Soiree Maven 2
Soiree Maven 2Soiree Maven 2
Soiree Maven 2
 
Maven et industrialisation du logiciel
Maven et industrialisation du logicielMaven et industrialisation du logiciel
Maven et industrialisation du logiciel
 
SLIDES-625.1.1-IDL-4-build tools maven.pdf
SLIDES-625.1.1-IDL-4-build tools maven.pdfSLIDES-625.1.1-IDL-4-build tools maven.pdf
SLIDES-625.1.1-IDL-4-build tools maven.pdf
 
Maven
MavenMaven
Maven
 
gradle_nantesjug
gradle_nantesjuggradle_nantesjug
gradle_nantesjug
 
JCertif 2012 : Maven par la pratique
JCertif 2012 : Maven par la pratiqueJCertif 2012 : Maven par la pratique
JCertif 2012 : Maven par la pratique
 
Gradle_ToulouseJUG
Gradle_ToulouseJUGGradle_ToulouseJUG
Gradle_ToulouseJUG
 
Open XKE - Introduire le Continuous Delivery dans votre entreprise par Jean-L...
Open XKE - Introduire le Continuous Delivery dans votre entreprise par Jean-L...Open XKE - Introduire le Continuous Delivery dans votre entreprise par Jean-L...
Open XKE - Introduire le Continuous Delivery dans votre entreprise par Jean-L...
 
Être productif avec JHipster - Devoxx France 2017
Être productif avec JHipster - Devoxx France 2017Être productif avec JHipster - Devoxx France 2017
Être productif avec JHipster - Devoxx France 2017
 
Gradle_ToursJUG
Gradle_ToursJUGGradle_ToursJUG
Gradle_ToursJUG
 
MS365 Developer Bootcamp 2020 à Montréal - Trucs & Astuces SharePoint Framework
MS365 Developer Bootcamp 2020 à Montréal - Trucs & Astuces SharePoint FrameworkMS365 Developer Bootcamp 2020 à Montréal - Trucs & Astuces SharePoint Framework
MS365 Developer Bootcamp 2020 à Montréal - Trucs & Astuces SharePoint Framework
 
Intégration continue des projets PHP avec Jenkins
Intégration continue des projets PHP avec JenkinsIntégration continue des projets PHP avec Jenkins
Intégration continue des projets PHP avec Jenkins
 

Plus de jollivetc

A la découverte de la réalité augmentée avec ARCore - Snowcamp.io
A la découverte de la réalité augmentée avec ARCore - Snowcamp.ioA la découverte de la réalité augmentée avec ARCore - Snowcamp.io
A la découverte de la réalité augmentée avec ARCore - Snowcamp.iojollivetc
 
Capteurs connectés et data visualisation pour mesurer la pénibilité au travai...
Capteurs connectés et data visualisation pour mesurer la pénibilité au travai...Capteurs connectés et data visualisation pour mesurer la pénibilité au travai...
Capteurs connectés et data visualisation pour mesurer la pénibilité au travai...jollivetc
 
JavaScript pour le développeur Java
JavaScript pour le développeur JavaJavaScript pour le développeur Java
JavaScript pour le développeur Javajollivetc
 
JavaScript pour le développeur Java
JavaScript pour le développeur JavaJavaScript pour le développeur Java
JavaScript pour le développeur Javajollivetc
 
Javascript pour le développeur Java
Javascript pour le développeur JavaJavascript pour le développeur Java
Javascript pour le développeur Javajollivetc
 
Pourquoi et comment j'ai appris JavaScript
Pourquoi et comment j'ai appris JavaScriptPourquoi et comment j'ai appris JavaScript
Pourquoi et comment j'ai appris JavaScriptjollivetc
 
Guide javascript
Guide javascriptGuide javascript
Guide javascriptjollivetc
 

Plus de jollivetc (7)

A la découverte de la réalité augmentée avec ARCore - Snowcamp.io
A la découverte de la réalité augmentée avec ARCore - Snowcamp.ioA la découverte de la réalité augmentée avec ARCore - Snowcamp.io
A la découverte de la réalité augmentée avec ARCore - Snowcamp.io
 
Capteurs connectés et data visualisation pour mesurer la pénibilité au travai...
Capteurs connectés et data visualisation pour mesurer la pénibilité au travai...Capteurs connectés et data visualisation pour mesurer la pénibilité au travai...
Capteurs connectés et data visualisation pour mesurer la pénibilité au travai...
 
JavaScript pour le développeur Java
JavaScript pour le développeur JavaJavaScript pour le développeur Java
JavaScript pour le développeur Java
 
JavaScript pour le développeur Java
JavaScript pour le développeur JavaJavaScript pour le développeur Java
JavaScript pour le développeur Java
 
Javascript pour le développeur Java
Javascript pour le développeur JavaJavascript pour le développeur Java
Javascript pour le développeur Java
 
Pourquoi et comment j'ai appris JavaScript
Pourquoi et comment j'ai appris JavaScriptPourquoi et comment j'ai appris JavaScript
Pourquoi et comment j'ai appris JavaScript
 
Guide javascript
Guide javascriptGuide javascript
Guide javascript
 

JavaScript dans l'usine logicielle