SlideShare une entreprise Scribd logo
1  sur  37
FRONT END
1
Ouadie LAHDIOUI
UNE ÎLE QUI MÉRITE D'ÊTRE VISITÉE PAR TOUS LES DÉVELOPPEURS JAVA
Rabat, le13/06/3015
2
HTML 5
3
+ La dernière évolution des standards qui définissent HTML
+ Un format de données pour représenter les pages web et écrire de l’hypertexte
+ Il permet de créer des documents interopérables de manière conforme aux exigences de
l’accessibilité du web
+ Le travail sur HTML 5 a commencé fin 2003 par à un groupe de Freelancers « WhatWG »
+ En 2007 le W3C accepte la vision HTML5 en intégrant en son sein ce groupe de travail.
+ HTML 5 = nouveaux éléments + un ensemble plus large de technologies
1/4 HYPERTEXT MARKUP LANGUAGE
HTML 5
4
+ Des nouvelles balises :
2/4 NOUVEAUTÉS
+ Nouveaux types de l'élément input :
+ Les notions de type "en ligne" et "bloc" est remplacées par des catégories :
HTML 5
5
+ Web Sockets
+ Web RTC (web with Real Time Communication)
3/4 NOUVEAUTÉS
+ Évènement online et offline
+ Stockage de session et persistance côté client du WHATWG (ou DOM Storage)
+ IndexedDB
+ Utilisation de fichiers depuis des applications web
HTML 5
6
+ Utilisation de l'audio et de la video en HTML5
+ Utiliser l'API Camera
4/4 NOUVEAUTÉS
+ XMLHttpRequest Niveau 2
+ Moteur JavaScript à compilation JIT (juste à temps)
+ API Historique
+ L'attribut contentEditable
+ Évènements tactiles
+ Utilisation de la Geolocalisation
+ Détection de l'orientation de l'appareil
+ Glisser et déposer
+ API Verrouillage de la souris
+ API Plein écran
7
MOTEURS DE TEMPLATES
+ Une technique de programmation qui permet de séparer l’interface graphique du reste de
l'application
+ Solutions :
1/1
HAML
8
+ XHTML Abstraction Markup Language
+ Un langage de balisage léger pour templates
+ HAML, génére du XHTML de manière élégante et minimaliste = donc rapide
+ L’espacement et l’indentation sont importants
+ L’équivalent de HAML pour CSS est le Sass
+ Comme dit son créateur, « HAML paraît bizarre les 20 premières minutes, mais après ça,
vous irez plus vite »
1/1
9
CSS
10
+ Il y a trois façons d’insérer des CSS dans une page HTML :
1/4 CASCADING STYLE SHEETS
+ Les styles définissent la façon d’afficher les éléments HTML
+ Une recommandation du World Wide Web Consortium (W3C), au même titre que HTML ou
XML
+ Feuille de style externe
+ Feuille de style interne
+ Style en ligne
PRÉPROCESSEURS CSS
11
1/3
+ Métalangage qui permet de compiler le code CSS
+ Améliore la syntaxe du langage sans toucher à ses fondamentaux
+ Il permet d'optimiser le code en amont
+ La principale différence avec CSS est la possibilité de créer des objets et des variables
dans les feuilles de style
+ Principales fonctionnalités :
+ variables
+ fonctions
+ mixins (permettant de réaliser des sorties CSS paramétrables)
+ @import intelligent (pas côté client)
+ nesting (imbrications des sélecteurs pour éviter la répétition)
SAAS
12
+ Un langage de génération dynamique de feuilles de style
+ SassScript = langage de script qui est interprété en CSS
+ Sass est le plus mature des pré-processeurs CSS
+ Deux syntaxes existent :
1/3 SYNTACTICALLY AWESOME STYLE SHEETS
+ Syntaxe indentée : proche de Haml
+ SCSS (Sassy CSS) : un formalisme proche de CSS
+ Les fonctionnalités phares : variables, mixins, imbrication, héritage, opérateurs …
SAAS
13
+ Les variables : Stocker n'importe quelles informations (couleur, taille, texte, etc.) dans un
objet
2/3 SYNTACTICALLY AWESOME STYLE SHEETS
+ Les mixins : Réutiliser le code CSS
SAAS
14
+ Ciblage CSS
3/3 SYNTACTICALLY AWESOME STYLE SHEETS
+ Héritage
LEES
15
+ Il peut fonctionner côté serveur (avec Node.js ou Rhino) ou côté client.
1/1
+ Frère jumeau du SASS, il étends CSS avec des comportements dynamiques comme les
variables, mixins, opérations et fonctions …
+ la syntaxe de LESS est plus proche de CSS
+ SimpleLESS : un compilateur du LESS en CSS
16
JQUERY
17
1/1 WRITE LESS, DO MORE
+ Une bibliothèque javascript open-source et cross-browser
+ Elle permet de manipuler l’arbre DOM
+ Elle permet aussi de gérer les événements javascript et faire des requêtes AJAX
+ Elle repose sur la fonction : jQuery() ou $()
COFFEE SCRIPT
18
1/1
+ Un langage compilé en javascript
+ Il n’est pas interprété nativement, il doit d’abord être converti en javascript
+ Il ajoute du sucre syntaxique inspiré par Python
+ En coffee, pas besoin d’utiliser explicitement le mot clé «var» ni les «;»
+ La syntaxe est beaucoup plus agréable et lisible
+ Des experts JavaScript reconnus, et même le créateur et mainteneur principal de
JavaScript (Brendan Eich, le directeur technique de Mozilla) adorent CoffeeScript
MODERNIZER
19
1/1
+ Une bibliothèque JavaScript pour détecter des fonctionnalités spécifiques de HTML et
CSS dans les navigateurs
+ Il communique avec le navigateur de la manière suivante :
+ Demande au navigateur s’il reconnait et supporte la fonctionnalité x
+ Ne fais rien si le navigateur connais et supporte la fonctionnalité x
+ Propose une alternative, code en javascript pour la fonctionnalité x
ANGULARJS
20
Source : http://www.journaldunet.com/developpeur/outils/angular-js.shtml
1/1
+ Framework Javascript né dans les locaus de Google pour créer des applications web
riches et interactives
+ Il est construit autour des concepts :
+ Architecture MV* Model-View-Whatever (whatever works for you)
+ Single page application
+ Data-binding bi-directionnel
+ Injection de dépendance
+ Directives, Services, filtres et expressions
EMBER JS
21
1/1
+ Framwork qui facilite la réalisation des applications monopage (SPA)
+ Routage
+ Injection de dépendance
+ MVC
+ La philosophie convention plutôt que la configuration (Convention over configuration):
REACTJS
22
1/1
+ Un framwork javaScript développé par Facebook
+ Il ne gère que l'interface de l'application = partie vue de l’MVC
+ AngularJS est orienté application de gestion, c'est à dire des écrans de liste/détail pour
faire du CRUD sur des entités métier.
+ React est utilisé dans des projets exigeant à la fois un rendu visuel agréable et un
design performant
+ React n'est pas un framework full-stack, par contre une bibliothèque orientée
Composant
AUTRES
23
+ Underscore JS : Une collection de fonctions utilitaires
+ Lodash JS : Une alternative à la librairie utilitaire Underscore, plus performante, plus
consistante et ajoutant quelques fonctionnalités supplémentaires
+ Jshint : un outil qui analyse le code JavaScript afin qu'il soit de qualité
HTML + CSS + JAVA SCRIPT
24
HTML5 BOILERPLATE
25
1/1
+ Modèle pour faciliter le démarrage d'un nouveau projet web autour de HTML5
+ Bonnes pratiques
+ Des fichiers de configuration pour le serveur
+ Des feuilles de styles de base,
+ Des librairies JavaScript.
TWITTER BOOTSTRAP
26
1/1
+ Un Framework d'intégration (ou framwork CSS)
+ Bootstrap est un ensemble d'outil HTML, CSS et Javascript
+ C'est en Twitter, le réseau social qui a développé ce framework et le met librement à la
disposition des développeurs
+ Des boutons, des layouts, des tableaux, des formulaires, des alertes, des popins et
menus pour créer des interfaces visuellement efficaces et ergonomiques
+ Ainsi Bootsrap est un "CSS grid framework"
FRONT END POUR LE MOBILE
27
JQUERY MOBILE
28
1/1
+ jQuery Mobile est un framework UI HTML5 optimisé pour le tactile pour simplifier le
développement d'applications web multi-plateformes (cross-devices)
+ Ses atouts sont très nombreux, en voici les principaux :
+ Une documentation complète et bien mise à jour
+ Une très grande facilité d'utilisation et d'apprentissage
+ Personnalisable
NG-CORDOVA
29
1/1
+ Le meilleur d’AngularJS et de Cordova = ngCordova
+ L’idée est d’encapsuler des plugins Phonegap/Cordova dans des services AngularJS
+ Implémente la plupart des plugins nécessaires (photo, network, vidéo…)
IONIC
30
1/1
+ Ionic Framework est un mélange d’outils et de technos pour développer des applications
mobiles hybrides
+ Il s’appuie sur AngularJS pour la partie application web du framework et sur Cordova pour
la partie construction des applications natives
+ L'écosystème ionic :
AUTOMATISATION FRONT END
31
GRUNT
32
1/1
+ Grunt est un JavaScript Task Runner
+ Il permet de créer des tâches automatisées en JavaScript.
GULP
33
1/1
+ Un outil pour d'automatiser les tâches répétitives : compilation des SCSS ou des Coffee
Scripts, minification, compression des fichiers image, ...
+ Configuré via un fichier javascript « gulpfile.js »
BOWER
34
1/1
Télécharger un package Bower
Détail d’un package Bower
+ Un outil de gestion des dépendances
+ Il se base sur github pour télécharger les composants grâce à des tables de
correspondances « name » : « url »
YEOMAN
35
1/1
+ Yeoman est basé sur :
+ Génération du squelette de l’application
+ Gestion des dépendances
+ Automatisation des tâches
+ Un projet open-source soutenu par Google
+ Il a pour but de faire la :
CSS
+ CSS Specification : www.w3.org/Style/CSS/specs
+ SASS : www.sass-lang.com
+ LESS : www.lesscss.org
ALLER PLUS LOIN
© SQLI Enterprise – SQLI GROUP | 2015 36
JAVA SCRIPT
+ AngularJS : www.angularjs.org
+ ReactJS : www.facebook.github.io/react
+ Ng-Cordova : www.ngcordova.com
+ Ionic : www.ionicframework.com
INDUSTRIALISATION FRONT-END
+ Grunt : www.gruntjs.com
+ GulpJS : http://gulpjs.com/
+ Yeoman : www.yeoman.io
MERCI POUR VOTRE ATTENTION
37
Est-ce qu’elle mérite bien d'être visitée par tous les développeurs java ?

Contenu connexe

Tendances

Apache camel et les entreprise integration patterns
Apache camel et les entreprise integration patternsApache camel et les entreprise integration patterns
Apache camel et les entreprise integration patternsOuadie LAHDIOUI
 
AngularJS - Présentation (french)
AngularJS - Présentation (french)AngularJS - Présentation (french)
AngularJS - Présentation (french)Yacine Rezgui
 
Asp.net Tutorials de L'application "Organizer"
Asp.net Tutorials de L'application "Organizer"Asp.net Tutorials de L'application "Organizer"
Asp.net Tutorials de L'application "Organizer"Nazih Heni
 
Le futur de AngularJS (2.0)
Le futur de AngularJS (2.0)Le futur de AngularJS (2.0)
Le futur de AngularJS (2.0)Clément Dubois
 
ASP.NET MVC, Web API & KnockoutJS
ASP.NET MVC, Web API & KnockoutJSASP.NET MVC, Web API & KnockoutJS
ASP.NET MVC, Web API & KnockoutJSRenaud Dumont
 
Symfony with angular.pptx
Symfony with angular.pptxSymfony with angular.pptx
Symfony with angular.pptxEsokia
 
M20486 formation-developper-des-applications-web-asp-net-mvc-4
M20486 formation-developper-des-applications-web-asp-net-mvc-4M20486 formation-developper-des-applications-web-asp-net-mvc-4
M20486 formation-developper-des-applications-web-asp-net-mvc-4CERTyou Formation
 
Asp.net Présentation de L'application "Organizer"
Asp.net Présentation de L'application "Organizer"Asp.net Présentation de L'application "Organizer"
Asp.net Présentation de L'application "Organizer"Nazih Heni
 
Soirée 3T Soat - Asp.net MVC
Soirée 3T Soat - Asp.net MVCSoirée 3T Soat - Asp.net MVC
Soirée 3T Soat - Asp.net MVCSOAT
 
Principes De Base De Asp .Net
Principes De Base De Asp .NetPrincipes De Base De Asp .Net
Principes De Base De Asp .NetGregory Renard
 
ASP.NET from Zero to Hero
ASP.NET from Zero to HeroASP.NET from Zero to Hero
ASP.NET from Zero to HeroCellenza
 
ASP.NET MVC 6
ASP.NET MVC 6ASP.NET MVC 6
ASP.NET MVC 6Microsoft
 
ASP.NET MVC 5 et Web API 2
ASP.NET MVC 5 et Web API 2ASP.NET MVC 5 et Web API 2
ASP.NET MVC 5 et Web API 2Microsoft
 
Active Server Pages (ASP)
Active Server Pages (ASP)Active Server Pages (ASP)
Active Server Pages (ASP)Saïd Radhouani
 

Tendances (20)

Apache camel et les entreprise integration patterns
Apache camel et les entreprise integration patternsApache camel et les entreprise integration patterns
Apache camel et les entreprise integration patterns
 
AngularJS - Présentation (french)
AngularJS - Présentation (french)AngularJS - Présentation (french)
AngularJS - Présentation (french)
 
Asp.net Tutorials de L'application "Organizer"
Asp.net Tutorials de L'application "Organizer"Asp.net Tutorials de L'application "Organizer"
Asp.net Tutorials de L'application "Organizer"
 
Le futur de AngularJS (2.0)
Le futur de AngularJS (2.0)Le futur de AngularJS (2.0)
Le futur de AngularJS (2.0)
 
ASP.NET MVC, Web API & KnockoutJS
ASP.NET MVC, Web API & KnockoutJSASP.NET MVC, Web API & KnockoutJS
ASP.NET MVC, Web API & KnockoutJS
 
Symfony with angular.pptx
Symfony with angular.pptxSymfony with angular.pptx
Symfony with angular.pptx
 
M20486 formation-developper-des-applications-web-asp-net-mvc-4
M20486 formation-developper-des-applications-web-asp-net-mvc-4M20486 formation-developper-des-applications-web-asp-net-mvc-4
M20486 formation-developper-des-applications-web-asp-net-mvc-4
 
Asp.net Présentation de L'application "Organizer"
Asp.net Présentation de L'application "Organizer"Asp.net Présentation de L'application "Organizer"
Asp.net Présentation de L'application "Organizer"
 
Soirée 3T Soat - Asp.net MVC
Soirée 3T Soat - Asp.net MVCSoirée 3T Soat - Asp.net MVC
Soirée 3T Soat - Asp.net MVC
 
Jquery Mobile vs Twitter Bootstrap
Jquery Mobile vs Twitter BootstrapJquery Mobile vs Twitter Bootstrap
Jquery Mobile vs Twitter Bootstrap
 
Introduction à ASP.NET
Introduction à ASP.NETIntroduction à ASP.NET
Introduction à ASP.NET
 
Initiation à ASP.NET 4.0
Initiation à ASP.NET 4.0Initiation à ASP.NET 4.0
Initiation à ASP.NET 4.0
 
AngularJS
AngularJSAngularJS
AngularJS
 
Principes De Base De Asp .Net
Principes De Base De Asp .NetPrincipes De Base De Asp .Net
Principes De Base De Asp .Net
 
ASP.NET from Zero to Hero
ASP.NET from Zero to HeroASP.NET from Zero to Hero
ASP.NET from Zero to Hero
 
ASP.NET MVC 6
ASP.NET MVC 6ASP.NET MVC 6
ASP.NET MVC 6
 
Formation adobeflex
Formation adobeflexFormation adobeflex
Formation adobeflex
 
ASP.NET MVC 5 et Web API 2
ASP.NET MVC 5 et Web API 2ASP.NET MVC 5 et Web API 2
ASP.NET MVC 5 et Web API 2
 
JavaFX et le JDK9
JavaFX et le JDK9JavaFX et le JDK9
JavaFX et le JDK9
 
Active Server Pages (ASP)
Active Server Pages (ASP)Active Server Pages (ASP)
Active Server Pages (ASP)
 

En vedette

Real-Time applications avec la spécification Java (JSR 356) et le protocole W...
Real-Time applications avec la spécification Java (JSR 356) et le protocole W...Real-Time applications avec la spécification Java (JSR 356) et le protocole W...
Real-Time applications avec la spécification Java (JSR 356) et le protocole W...Ouadie LAHDIOUI
 
REST : Modèle de maturité de Richardson, Pour évaluer la RESTitude de votre API
REST : Modèle de maturité de Richardson, Pour évaluer la RESTitude de votre APIREST : Modèle de maturité de Richardson, Pour évaluer la RESTitude de votre API
REST : Modèle de maturité de Richardson, Pour évaluer la RESTitude de votre APIOuadie LAHDIOUI
 
Présentation Dynamiser la fréquentation d’un site web
Présentation Dynamiser la fréquentation d’un site webPrésentation Dynamiser la fréquentation d’un site web
Présentation Dynamiser la fréquentation d’un site webguest525529
 
Apprenez à créer votre site Web avec HTML5 et CSS3
Apprenez à créer votre site Web avec HTML5 et CSS3Apprenez à créer votre site Web avec HTML5 et CSS3
Apprenez à créer votre site Web avec HTML5 et CSS3Mehdi Sisyphe
 
Créer du trafic sur son site
Créer du trafic sur son siteCréer du trafic sur son site
Créer du trafic sur son siteLaurent Evain
 
Cours php & Mysql - 1ére partie
Cours php & Mysql - 1ére partieCours php & Mysql - 1ére partie
Cours php & Mysql - 1ére partiekadzaki
 
Personnaliser le back office de WordPress pour votre client
Personnaliser le back office de WordPress pour votre clientPersonnaliser le back office de WordPress pour votre client
Personnaliser le back office de WordPress pour votre clientBenjamin Denis
 
Choisir les bons Hooks dans vos Développements WordPress
Choisir les bons Hooks dans vos Développements WordPressChoisir les bons Hooks dans vos Développements WordPress
Choisir les bons Hooks dans vos Développements WordPressBoiteaweb
 
Comment se charge WordPress ? Le loading du core.
Comment se charge WordPress ? Le loading du core.Comment se charge WordPress ? Le loading du core.
Comment se charge WordPress ? Le loading du core.Boiteaweb
 
Speed whells
Speed whellsSpeed whells
Speed whellsalvaro
 
Presentación importancia redes sociales
Presentación importancia redes socialesPresentación importancia redes sociales
Presentación importancia redes socialesVeronica Alvarez
 
Présentation du Progiciel ProPlus.Net:La solution de suivi de production à co...
Présentation du Progiciel ProPlus.Net:La solution de suivi de production à co...Présentation du Progiciel ProPlus.Net:La solution de suivi de production à co...
Présentation du Progiciel ProPlus.Net:La solution de suivi de production à co...Link Software International
 
Marché Broussard
Marché BroussardMarché Broussard
Marché BroussardGat988
 
Présentation de Bano
Présentation de BanoPrésentation de Bano
Présentation de BanoSemWebPro
 
William martha 08-06
William  martha 08-06William  martha 08-06
William martha 08-06ramosmartha
 
Speed whells
Speed whellsSpeed whells
Speed whellsalvaro
 

En vedette (20)

Real-Time applications avec la spécification Java (JSR 356) et le protocole W...
Real-Time applications avec la spécification Java (JSR 356) et le protocole W...Real-Time applications avec la spécification Java (JSR 356) et le protocole W...
Real-Time applications avec la spécification Java (JSR 356) et le protocole W...
 
REST : Modèle de maturité de Richardson, Pour évaluer la RESTitude de votre API
REST : Modèle de maturité de Richardson, Pour évaluer la RESTitude de votre APIREST : Modèle de maturité de Richardson, Pour évaluer la RESTitude de votre API
REST : Modèle de maturité de Richardson, Pour évaluer la RESTitude de votre API
 
Debug like a doctor
Debug like a doctorDebug like a doctor
Debug like a doctor
 
Présentation Dynamiser la fréquentation d’un site web
Présentation Dynamiser la fréquentation d’un site webPrésentation Dynamiser la fréquentation d’un site web
Présentation Dynamiser la fréquentation d’un site web
 
Apprenez à créer votre site Web avec HTML5 et CSS3
Apprenez à créer votre site Web avec HTML5 et CSS3Apprenez à créer votre site Web avec HTML5 et CSS3
Apprenez à créer votre site Web avec HTML5 et CSS3
 
Créer du trafic sur son site
Créer du trafic sur son siteCréer du trafic sur son site
Créer du trafic sur son site
 
Cours php & Mysql - 1ére partie
Cours php & Mysql - 1ére partieCours php & Mysql - 1ére partie
Cours php & Mysql - 1ére partie
 
Personnaliser le back office de WordPress pour votre client
Personnaliser le back office de WordPress pour votre clientPersonnaliser le back office de WordPress pour votre client
Personnaliser le back office de WordPress pour votre client
 
Choisir les bons Hooks dans vos Développements WordPress
Choisir les bons Hooks dans vos Développements WordPressChoisir les bons Hooks dans vos Développements WordPress
Choisir les bons Hooks dans vos Développements WordPress
 
Comment se charge WordPress ? Le loading du core.
Comment se charge WordPress ? Le loading du core.Comment se charge WordPress ? Le loading du core.
Comment se charge WordPress ? Le loading du core.
 
Speed whells
Speed whellsSpeed whells
Speed whells
 
Presentación importancia redes sociales
Presentación importancia redes socialesPresentación importancia redes sociales
Presentación importancia redes sociales
 
Proyecto Individual Mantulak Mario
Proyecto Individual Mantulak MarioProyecto Individual Mantulak Mario
Proyecto Individual Mantulak Mario
 
Présentation du Progiciel ProPlus.Net:La solution de suivi de production à co...
Présentation du Progiciel ProPlus.Net:La solution de suivi de production à co...Présentation du Progiciel ProPlus.Net:La solution de suivi de production à co...
Présentation du Progiciel ProPlus.Net:La solution de suivi de production à co...
 
Marché Broussard
Marché BroussardMarché Broussard
Marché Broussard
 
Résultats des mutuelles d'assurance du GEMA et enjeux 2015
Résultats des mutuelles d'assurance du GEMA et enjeux 2015Résultats des mutuelles d'assurance du GEMA et enjeux 2015
Résultats des mutuelles d'assurance du GEMA et enjeux 2015
 
Viaje de estudios
Viaje de estudiosViaje de estudios
Viaje de estudios
 
Présentation de Bano
Présentation de BanoPrésentation de Bano
Présentation de Bano
 
William martha 08-06
William  martha 08-06William  martha 08-06
William martha 08-06
 
Speed whells
Speed whellsSpeed whells
Speed whells
 

Similaire à Front end, une île qui mérite d'être visitée

HTML5, le web de demain - BNSA
HTML5, le web de demain - BNSAHTML5, le web de demain - BNSA
HTML5, le web de demain - BNSABNSA - Aquitaine
 
L'histoire d'html5 pour les développeurs windows phone 8
L'histoire d'html5 pour les développeurs windows phone 8L'histoire d'html5 pour les développeurs windows phone 8
L'histoire d'html5 pour les développeurs windows phone 8davrous
 
Réussir son projet Drupal
Réussir son projet DrupalRéussir son projet Drupal
Réussir son projet DrupalAdyax
 
Introduction aux Technologies Web élaborée par Marouan OMEZZINE
Introduction aux Technologies Web élaborée par Marouan OMEZZINEIntroduction aux Technologies Web élaborée par Marouan OMEZZINE
Introduction aux Technologies Web élaborée par Marouan OMEZZINEMarouan OMEZZINE
 
developpement web framework cms developpement brute
developpement web framework cms developpement brutedeveloppement web framework cms developpement brute
developpement web framework cms developpement bruteYounesOuladSayad1
 
Les apports d'HTML5 pour l'interopérabilité des applications géospatiales
Les apports d'HTML5 pour l'interopérabilité des applications géospatialesLes apports d'HTML5 pour l'interopérabilité des applications géospatiales
Les apports d'HTML5 pour l'interopérabilité des applications géospatialesGaëtan LAVENU
 
JavaScript aussi sur le serveur et jusque dans le cloud?
JavaScript aussi sur le serveur et jusque dans le cloud?JavaScript aussi sur le serveur et jusque dans le cloud?
JavaScript aussi sur le serveur et jusque dans le cloud?Microsoft
 
De l'Open Source à l'Open API (in French)
De l'Open Source à l'Open API (in French)De l'Open Source à l'Open API (in French)
De l'Open Source à l'Open API (in French)Restlet
 
Server Side Javascript in the cloud
Server Side Javascript in the cloudServer Side Javascript in the cloud
Server Side Javascript in the cloudstefounet
 
JavaScript aussi sur le serveur et jusque dans le cloud?
JavaScript aussi sur le serveur et jusque dans le cloud?JavaScript aussi sur le serveur et jusque dans le cloud?
JavaScript aussi sur le serveur et jusque dans le cloud?benjguin
 
La plateforme Web Microsoft
La plateforme Web MicrosoftLa plateforme Web Microsoft
La plateforme Web MicrosoftChristophe Lauer
 
PRESENTATION_webclient.pptx
PRESENTATION_webclient.pptxPRESENTATION_webclient.pptx
PRESENTATION_webclient.pptxAleskaVargas2
 
Flex, une techno RIA incontournable pour les futures app web ?
Flex, une techno RIA incontournable pour les futures app web ?Flex, une techno RIA incontournable pour les futures app web ?
Flex, une techno RIA incontournable pour les futures app web ?GreenIvory
 
Google Web Toolkit 1.5 Presentation Web Creative Common
Google Web Toolkit 1.5 Presentation Web Creative CommonGoogle Web Toolkit 1.5 Presentation Web Creative Common
Google Web Toolkit 1.5 Presentation Web Creative CommonStéphane Liétard
 
Glossaire web pour les profanes - Webdesign
Glossaire web pour les profanes - WebdesignGlossaire web pour les profanes - Webdesign
Glossaire web pour les profanes - WebdesignRelax In The Air
 
Programmation Web developpement dynamique
Programmation Web developpement dynamiqueProgrammation Web developpement dynamique
Programmation Web developpement dynamiqueYounesOuladSayad1
 
Responsible Design ou Le web moderne à destination de tous
Responsible Design ou Le web moderne à destination de tousResponsible Design ou Le web moderne à destination de tous
Responsible Design ou Le web moderne à destination de tousjwajsberg
 

Similaire à Front end, une île qui mérite d'être visitée (20)

HTML5, le web de demain - BNSA
HTML5, le web de demain - BNSAHTML5, le web de demain - BNSA
HTML5, le web de demain - BNSA
 
jQuery mobile vs Twitter bootstrap
jQuery mobile vs Twitter bootstrapjQuery mobile vs Twitter bootstrap
jQuery mobile vs Twitter bootstrap
 
L'histoire d'html5 pour les développeurs windows phone 8
L'histoire d'html5 pour les développeurs windows phone 8L'histoire d'html5 pour les développeurs windows phone 8
L'histoire d'html5 pour les développeurs windows phone 8
 
Réussir son projet Drupal
Réussir son projet DrupalRéussir son projet Drupal
Réussir son projet Drupal
 
Introduction aux Technologies Web élaborée par Marouan OMEZZINE
Introduction aux Technologies Web élaborée par Marouan OMEZZINEIntroduction aux Technologies Web élaborée par Marouan OMEZZINE
Introduction aux Technologies Web élaborée par Marouan OMEZZINE
 
developpement web framework cms developpement brute
developpement web framework cms developpement brutedeveloppement web framework cms developpement brute
developpement web framework cms developpement brute
 
Les apports d'HTML5 pour l'interopérabilité des applications géospatiales
Les apports d'HTML5 pour l'interopérabilité des applications géospatialesLes apports d'HTML5 pour l'interopérabilité des applications géospatiales
Les apports d'HTML5 pour l'interopérabilité des applications géospatiales
 
JavaScript aussi sur le serveur et jusque dans le cloud?
JavaScript aussi sur le serveur et jusque dans le cloud?JavaScript aussi sur le serveur et jusque dans le cloud?
JavaScript aussi sur le serveur et jusque dans le cloud?
 
De l'Open Source à l'Open API (in French)
De l'Open Source à l'Open API (in French)De l'Open Source à l'Open API (in French)
De l'Open Source à l'Open API (in French)
 
Server Side Javascript in the cloud
Server Side Javascript in the cloudServer Side Javascript in the cloud
Server Side Javascript in the cloud
 
JavaScript aussi sur le serveur et jusque dans le cloud?
JavaScript aussi sur le serveur et jusque dans le cloud?JavaScript aussi sur le serveur et jusque dans le cloud?
JavaScript aussi sur le serveur et jusque dans le cloud?
 
La plateforme Web Microsoft
La plateforme Web MicrosoftLa plateforme Web Microsoft
La plateforme Web Microsoft
 
PRESENTATION_webclient.pptx
PRESENTATION_webclient.pptxPRESENTATION_webclient.pptx
PRESENTATION_webclient.pptx
 
HTML5 & SilverLight 5
HTML5 & SilverLight 5HTML5 & SilverLight 5
HTML5 & SilverLight 5
 
RIA
RIARIA
RIA
 
Flex, une techno RIA incontournable pour les futures app web ?
Flex, une techno RIA incontournable pour les futures app web ?Flex, une techno RIA incontournable pour les futures app web ?
Flex, une techno RIA incontournable pour les futures app web ?
 
Google Web Toolkit 1.5 Presentation Web Creative Common
Google Web Toolkit 1.5 Presentation Web Creative CommonGoogle Web Toolkit 1.5 Presentation Web Creative Common
Google Web Toolkit 1.5 Presentation Web Creative Common
 
Glossaire web pour les profanes - Webdesign
Glossaire web pour les profanes - WebdesignGlossaire web pour les profanes - Webdesign
Glossaire web pour les profanes - Webdesign
 
Programmation Web developpement dynamique
Programmation Web developpement dynamiqueProgrammation Web developpement dynamique
Programmation Web developpement dynamique
 
Responsible Design ou Le web moderne à destination de tous
Responsible Design ou Le web moderne à destination de tousResponsible Design ou Le web moderne à destination de tous
Responsible Design ou Le web moderne à destination de tous
 

Front end, une île qui mérite d'être visitée

  • 1. FRONT END 1 Ouadie LAHDIOUI UNE ÎLE QUI MÉRITE D'ÊTRE VISITÉE PAR TOUS LES DÉVELOPPEURS JAVA Rabat, le13/06/3015
  • 2. 2
  • 3. HTML 5 3 + La dernière évolution des standards qui définissent HTML + Un format de données pour représenter les pages web et écrire de l’hypertexte + Il permet de créer des documents interopérables de manière conforme aux exigences de l’accessibilité du web + Le travail sur HTML 5 a commencé fin 2003 par à un groupe de Freelancers « WhatWG » + En 2007 le W3C accepte la vision HTML5 en intégrant en son sein ce groupe de travail. + HTML 5 = nouveaux éléments + un ensemble plus large de technologies 1/4 HYPERTEXT MARKUP LANGUAGE
  • 4. HTML 5 4 + Des nouvelles balises : 2/4 NOUVEAUTÉS + Nouveaux types de l'élément input : + Les notions de type "en ligne" et "bloc" est remplacées par des catégories :
  • 5. HTML 5 5 + Web Sockets + Web RTC (web with Real Time Communication) 3/4 NOUVEAUTÉS + Évènement online et offline + Stockage de session et persistance côté client du WHATWG (ou DOM Storage) + IndexedDB + Utilisation de fichiers depuis des applications web
  • 6. HTML 5 6 + Utilisation de l'audio et de la video en HTML5 + Utiliser l'API Camera 4/4 NOUVEAUTÉS + XMLHttpRequest Niveau 2 + Moteur JavaScript à compilation JIT (juste à temps) + API Historique + L'attribut contentEditable + Évènements tactiles + Utilisation de la Geolocalisation + Détection de l'orientation de l'appareil + Glisser et déposer + API Verrouillage de la souris + API Plein écran
  • 7. 7 MOTEURS DE TEMPLATES + Une technique de programmation qui permet de séparer l’interface graphique du reste de l'application + Solutions : 1/1
  • 8. HAML 8 + XHTML Abstraction Markup Language + Un langage de balisage léger pour templates + HAML, génére du XHTML de manière élégante et minimaliste = donc rapide + L’espacement et l’indentation sont importants + L’équivalent de HAML pour CSS est le Sass + Comme dit son créateur, « HAML paraît bizarre les 20 premières minutes, mais après ça, vous irez plus vite » 1/1
  • 9. 9
  • 10. CSS 10 + Il y a trois façons d’insérer des CSS dans une page HTML : 1/4 CASCADING STYLE SHEETS + Les styles définissent la façon d’afficher les éléments HTML + Une recommandation du World Wide Web Consortium (W3C), au même titre que HTML ou XML + Feuille de style externe + Feuille de style interne + Style en ligne
  • 11. PRÉPROCESSEURS CSS 11 1/3 + Métalangage qui permet de compiler le code CSS + Améliore la syntaxe du langage sans toucher à ses fondamentaux + Il permet d'optimiser le code en amont + La principale différence avec CSS est la possibilité de créer des objets et des variables dans les feuilles de style + Principales fonctionnalités : + variables + fonctions + mixins (permettant de réaliser des sorties CSS paramétrables) + @import intelligent (pas côté client) + nesting (imbrications des sélecteurs pour éviter la répétition)
  • 12. SAAS 12 + Un langage de génération dynamique de feuilles de style + SassScript = langage de script qui est interprété en CSS + Sass est le plus mature des pré-processeurs CSS + Deux syntaxes existent : 1/3 SYNTACTICALLY AWESOME STYLE SHEETS + Syntaxe indentée : proche de Haml + SCSS (Sassy CSS) : un formalisme proche de CSS + Les fonctionnalités phares : variables, mixins, imbrication, héritage, opérateurs …
  • 13. SAAS 13 + Les variables : Stocker n'importe quelles informations (couleur, taille, texte, etc.) dans un objet 2/3 SYNTACTICALLY AWESOME STYLE SHEETS + Les mixins : Réutiliser le code CSS
  • 14. SAAS 14 + Ciblage CSS 3/3 SYNTACTICALLY AWESOME STYLE SHEETS + Héritage
  • 15. LEES 15 + Il peut fonctionner côté serveur (avec Node.js ou Rhino) ou côté client. 1/1 + Frère jumeau du SASS, il étends CSS avec des comportements dynamiques comme les variables, mixins, opérations et fonctions … + la syntaxe de LESS est plus proche de CSS + SimpleLESS : un compilateur du LESS en CSS
  • 16. 16
  • 17. JQUERY 17 1/1 WRITE LESS, DO MORE + Une bibliothèque javascript open-source et cross-browser + Elle permet de manipuler l’arbre DOM + Elle permet aussi de gérer les événements javascript et faire des requêtes AJAX + Elle repose sur la fonction : jQuery() ou $()
  • 18. COFFEE SCRIPT 18 1/1 + Un langage compilé en javascript + Il n’est pas interprété nativement, il doit d’abord être converti en javascript + Il ajoute du sucre syntaxique inspiré par Python + En coffee, pas besoin d’utiliser explicitement le mot clé «var» ni les «;» + La syntaxe est beaucoup plus agréable et lisible + Des experts JavaScript reconnus, et même le créateur et mainteneur principal de JavaScript (Brendan Eich, le directeur technique de Mozilla) adorent CoffeeScript
  • 19. MODERNIZER 19 1/1 + Une bibliothèque JavaScript pour détecter des fonctionnalités spécifiques de HTML et CSS dans les navigateurs + Il communique avec le navigateur de la manière suivante : + Demande au navigateur s’il reconnait et supporte la fonctionnalité x + Ne fais rien si le navigateur connais et supporte la fonctionnalité x + Propose une alternative, code en javascript pour la fonctionnalité x
  • 20. ANGULARJS 20 Source : http://www.journaldunet.com/developpeur/outils/angular-js.shtml 1/1 + Framework Javascript né dans les locaus de Google pour créer des applications web riches et interactives + Il est construit autour des concepts : + Architecture MV* Model-View-Whatever (whatever works for you) + Single page application + Data-binding bi-directionnel + Injection de dépendance + Directives, Services, filtres et expressions
  • 21. EMBER JS 21 1/1 + Framwork qui facilite la réalisation des applications monopage (SPA) + Routage + Injection de dépendance + MVC + La philosophie convention plutôt que la configuration (Convention over configuration):
  • 22. REACTJS 22 1/1 + Un framwork javaScript développé par Facebook + Il ne gère que l'interface de l'application = partie vue de l’MVC + AngularJS est orienté application de gestion, c'est à dire des écrans de liste/détail pour faire du CRUD sur des entités métier. + React est utilisé dans des projets exigeant à la fois un rendu visuel agréable et un design performant + React n'est pas un framework full-stack, par contre une bibliothèque orientée Composant
  • 23. AUTRES 23 + Underscore JS : Une collection de fonctions utilitaires + Lodash JS : Une alternative à la librairie utilitaire Underscore, plus performante, plus consistante et ajoutant quelques fonctionnalités supplémentaires + Jshint : un outil qui analyse le code JavaScript afin qu'il soit de qualité
  • 24. HTML + CSS + JAVA SCRIPT 24
  • 25. HTML5 BOILERPLATE 25 1/1 + Modèle pour faciliter le démarrage d'un nouveau projet web autour de HTML5 + Bonnes pratiques + Des fichiers de configuration pour le serveur + Des feuilles de styles de base, + Des librairies JavaScript.
  • 26. TWITTER BOOTSTRAP 26 1/1 + Un Framework d'intégration (ou framwork CSS) + Bootstrap est un ensemble d'outil HTML, CSS et Javascript + C'est en Twitter, le réseau social qui a développé ce framework et le met librement à la disposition des développeurs + Des boutons, des layouts, des tableaux, des formulaires, des alertes, des popins et menus pour créer des interfaces visuellement efficaces et ergonomiques + Ainsi Bootsrap est un "CSS grid framework"
  • 27. FRONT END POUR LE MOBILE 27
  • 28. JQUERY MOBILE 28 1/1 + jQuery Mobile est un framework UI HTML5 optimisé pour le tactile pour simplifier le développement d'applications web multi-plateformes (cross-devices) + Ses atouts sont très nombreux, en voici les principaux : + Une documentation complète et bien mise à jour + Une très grande facilité d'utilisation et d'apprentissage + Personnalisable
  • 29. NG-CORDOVA 29 1/1 + Le meilleur d’AngularJS et de Cordova = ngCordova + L’idée est d’encapsuler des plugins Phonegap/Cordova dans des services AngularJS + Implémente la plupart des plugins nécessaires (photo, network, vidéo…)
  • 30. IONIC 30 1/1 + Ionic Framework est un mélange d’outils et de technos pour développer des applications mobiles hybrides + Il s’appuie sur AngularJS pour la partie application web du framework et sur Cordova pour la partie construction des applications natives + L'écosystème ionic :
  • 32. GRUNT 32 1/1 + Grunt est un JavaScript Task Runner + Il permet de créer des tâches automatisées en JavaScript.
  • 33. GULP 33 1/1 + Un outil pour d'automatiser les tâches répétitives : compilation des SCSS ou des Coffee Scripts, minification, compression des fichiers image, ... + Configuré via un fichier javascript « gulpfile.js »
  • 34. BOWER 34 1/1 Télécharger un package Bower Détail d’un package Bower + Un outil de gestion des dépendances + Il se base sur github pour télécharger les composants grâce à des tables de correspondances « name » : « url »
  • 35. YEOMAN 35 1/1 + Yeoman est basé sur : + Génération du squelette de l’application + Gestion des dépendances + Automatisation des tâches + Un projet open-source soutenu par Google + Il a pour but de faire la :
  • 36. CSS + CSS Specification : www.w3.org/Style/CSS/specs + SASS : www.sass-lang.com + LESS : www.lesscss.org ALLER PLUS LOIN © SQLI Enterprise – SQLI GROUP | 2015 36 JAVA SCRIPT + AngularJS : www.angularjs.org + ReactJS : www.facebook.github.io/react + Ng-Cordova : www.ngcordova.com + Ionic : www.ionicframework.com INDUSTRIALISATION FRONT-END + Grunt : www.gruntjs.com + GulpJS : http://gulpjs.com/ + Yeoman : www.yeoman.io
  • 37. MERCI POUR VOTRE ATTENTION 37 Est-ce qu’elle mérite bien d'être visitée par tous les développeurs java ?