SlideShare une entreprise Scribd logo
1  sur  29
Télécharger pour lire hors ligne
Amélioration progressive
De la théorie à la pratique — Atelier Paris Web 2015
Goulven Champenois
Amélioration progressive...
Ou pas ?
Un petit quizz pour commencer
Amélioration progressive
Un escalator
Non !
Un ascenseur
Non !
Un QRcode
Oui ! Enfin, ça dépend
Un site Responsive
Non !
Un raccourcisseur d'URL
Ça dépend...
Une icône dans une barre de navigation
Non, et tant mieux !
Les freins d'un train
Point commun :
La dépendance
Appliquer l'amélioration
progressive au quotidien
Appliquer l'amélioration
progressive au quotidien
Analyser le type d'action
• Ajout
• Édition
• Réorganisation
• Suppression
Appliquer l'amélioration
progressive au quotidien
Choisir le type de contrôle adapté
• Lien versus formulaire
• Boutons radio versus liste déroulante
• Champ texte avec autocomplétion
• Etc.
Appliquer l'amélioration
progressive au quotidien
Procéder dans l'ordre :
1. Coder le HTML
2. Coder le backend
3. Styler en CSS
4. Dynamiser en JS
Travaux pratiques
Ajouter l’autocomplétion 

à un champ
https://leaverou.github.io/awesomplete/
+
=
Marquer un commentaire
comme spam
• Lien ou formulaire ?
• C’est une action qui modifie une ressource : préférer
un formulaire.
Styler des checkbox ou radio
• Plugin jQuery ou Bootstrap ? Ou pur CSS ?
Styler des checkbox ou radio
http://cdpn.io/e/BoKweG
Styler des checkbox ou radio
Pour le support IE8
• Masquer : préfixer toutes les règles CSS avec :root
• Compenser avec JS : ajouter ou retirer une classe au click sur les
labels
$('label').click(function(e){ // Fix change event not firing on inputs in IE

var input = $('#' + $(this).attr('for'));

var state = input.prop('checked');

input.prop('checked', !state);

$(this).focus();

input.change();

input.focus();

e.preventDefault();

});
Filtrer une collection
• CSS ou JS ?
cdpn.io/e/YXxxyj/
Animer un carrousel
• Plugin jQuery ou pur CSS ?
• Avec ~

http://csscience.com/responsiveslidercss3/
• Avec :target

http://cssdeck.com/labs/solitary-css3-slider-rotation-
transition
• Avec :checked+label 

http://thecodeplayer.com/walkthrough/css3-image-
slider-with-stylized-thumbnails
Animer un carrousel
Réorganiser une liste
• Liens ou formulaire ?
• Input, select, ou autre ?
• Comment faire du drag’n drop ?
Valider la saisie à la volée
• HTML, CSS, JS ?

• Côté client, serveur, ou
les deux ?
Valider la saisie à la volée
caniuse.com/form-validation
Les principes à retenir
• Ne pas imposer de dépendance
• Commencer par le HTML
• Styler les états hover/focus/valid/invalid
• Dynamiser en JS (capturer submit/click et envoyer via
AJAX)
Questions bonus
• Faut-il faire charger les web fonts par JS ?
• Mobile-first ou IE8 first ?
• Modernizr, jQuery, Zepto... ?
• Angular, Ember, React... ?
Crédits photo
• Escalator : https://upload.wikimedia.org/wikipedia/commons/7/76/
Metro_escalators,_Dupont_Circle.jpg
• Ascenseur : http://www.torange-fr.com/Interior/Interior-details/Ascenseur-
transparent-22018.html
• QRcode sur grille : http://wtfqrcodes.com/post/24848460651/grate-qr-placement
• Boston Globe responsive website, featuring Apple Newton, Antoine Lefeuvre https://
www.flickr.com/photos/69797234@N06/7203485148/
• Page d'erreur 404 : https://bitly.com/a/404notfound
• iPhone avec icônes de navigation : http://goratchet.com/
• Maglev train station, Shanghai, China : https://www.flickr.com/photos/sharonhahndarlin/
8357252808
• SPAM, AJ Cann : https://www.flickr.com/photos/ajc1/519906069

Contenu connexe

En vedette

Formby et Liverpool
Formby et LiverpoolFormby et Liverpool
Formby et Liverpoolrach0508
 
Social Media Guideline - A propos de Wikipédia
Social Media Guideline - A propos de WikipédiaSocial Media Guideline - A propos de Wikipédia
Social Media Guideline - A propos de WikipédiaX-PRIME GROUPE
 
Agenda 21 Donzenac - Village étape
Agenda 21 Donzenac - Village étapeAgenda 21 Donzenac - Village étape
Agenda 21 Donzenac - Village étapefnve
 
Powerpoint
PowerpointPowerpoint
Powerpointtrobat77
 
Rheinland Pfalz
Rheinland PfalzRheinland Pfalz
Rheinland PfalzYPEPTH
 
Atelier Référentiel des bonnes pratiques de performance web
Atelier Référentiel des bonnes pratiques de performance webAtelier Référentiel des bonnes pratiques de performance web
Atelier Référentiel des bonnes pratiques de performance webDelphine Malassingne
 
Operation chammal oct 2014
Operation chammal    oct 2014Operation chammal    oct 2014
Operation chammal oct 2014RP defense
 
Beispielbilder win7
Beispielbilder win7Beispielbilder win7
Beispielbilder win7isapn08s
 
Diossabe
DiossabeDiossabe
Diossabedann1
 
Social Media Report 2011/2010 - Aktuelle Untersuchung zur Nutzung von Social...
Social Media Report 2011/2010 -  Aktuelle Untersuchung zur Nutzung von Social...Social Media Report 2011/2010 -  Aktuelle Untersuchung zur Nutzung von Social...
Social Media Report 2011/2010 - Aktuelle Untersuchung zur Nutzung von Social...Stephan Tschierschwitz
 
2 admoove 100412
2 admoove 1004122 admoove 100412
2 admoove 100412AFMM
 

En vedette (18)

Formby et Liverpool
Formby et LiverpoolFormby et Liverpool
Formby et Liverpool
 
Social Media Guideline - A propos de Wikipédia
Social Media Guideline - A propos de WikipédiaSocial Media Guideline - A propos de Wikipédia
Social Media Guideline - A propos de Wikipédia
 
Agenda 21 Donzenac - Village étape
Agenda 21 Donzenac - Village étapeAgenda 21 Donzenac - Village étape
Agenda 21 Donzenac - Village étape
 
Recortables
RecortablesRecortables
Recortables
 
Modelo de datos
Modelo de datosModelo de datos
Modelo de datos
 
Herramientas Web2.0
Herramientas Web2.0Herramientas Web2.0
Herramientas Web2.0
 
Powerpoint
PowerpointPowerpoint
Powerpoint
 
Rheinland Pfalz
Rheinland PfalzRheinland Pfalz
Rheinland Pfalz
 
Asem galicia presentación rsc
Asem galicia presentación rscAsem galicia presentación rsc
Asem galicia presentación rsc
 
Sports video indexing
Sports video indexingSports video indexing
Sports video indexing
 
Atelier Référentiel des bonnes pratiques de performance web
Atelier Référentiel des bonnes pratiques de performance webAtelier Référentiel des bonnes pratiques de performance web
Atelier Référentiel des bonnes pratiques de performance web
 
Operation chammal oct 2014
Operation chammal    oct 2014Operation chammal    oct 2014
Operation chammal oct 2014
 
Beispielbilder win7
Beispielbilder win7Beispielbilder win7
Beispielbilder win7
 
Diossabe
DiossabeDiossabe
Diossabe
 
Social Media Report 2011/2010 - Aktuelle Untersuchung zur Nutzung von Social...
Social Media Report 2011/2010 -  Aktuelle Untersuchung zur Nutzung von Social...Social Media Report 2011/2010 -  Aktuelle Untersuchung zur Nutzung von Social...
Social Media Report 2011/2010 - Aktuelle Untersuchung zur Nutzung von Social...
 
Dmg2004
Dmg2004Dmg2004
Dmg2004
 
Ud cada un coa s a especie
Ud cada un coa s a especieUd cada un coa s a especie
Ud cada un coa s a especie
 
2 admoove 100412
2 admoove 1004122 admoove 100412
2 admoove 100412
 

Similaire à Amélioration progressive, de la théorie à la pratique

Développement Web - HTML5, CSS3, APIs Web
Développement Web - HTML5, CSS3, APIs WebDéveloppement Web - HTML5, CSS3, APIs Web
Développement Web - HTML5, CSS3, APIs WebYoann Gotthilf
 
Comment réussir une migration de site web en seo ?
Comment réussir une migration de site web en seo ?Comment réussir une migration de site web en seo ?
Comment réussir une migration de site web en seo ?Patrick Valibus
 
Seocamp2016 : javascript et indexation, où en est-on ?
Seocamp2016 : javascript et indexation, où en est-on ?Seocamp2016 : javascript et indexation, où en est-on ?
Seocamp2016 : javascript et indexation, où en est-on ?Madeline Pinthon
 
Javascript et indexation, où en est-on ? - SEO Camp'us Paris 2016
Javascript et indexation, où en est-on ? - SEO Camp'us Paris 2016Javascript et indexation, où en est-on ? - SEO Camp'us Paris 2016
Javascript et indexation, où en est-on ? - SEO Camp'us Paris 2016iProspect France
 
Utiliser efficacement Google Analytics
Utiliser efficacement Google AnalyticsUtiliser efficacement Google Analytics
Utiliser efficacement Google AnalyticsTheFamily
 
Comment utiliser Google Analytics - Gilles Barbier, Partner chez TheFamily
Comment utiliser Google Analytics - Gilles Barbier, Partner chez TheFamilyComment utiliser Google Analytics - Gilles Barbier, Partner chez TheFamily
Comment utiliser Google Analytics - Gilles Barbier, Partner chez TheFamilyTheFamily
 
Présentation jQuery pour débutant
Présentation jQuery pour débutantPrésentation jQuery pour débutant
Présentation jQuery pour débutantStanislas Chollet
 
Intégrateurs, bousculez vos habitudes
Intégrateurs, bousculez vos habitudesIntégrateurs, bousculez vos habitudes
Intégrateurs, bousculez vos habitudesRaphaël Goetter
 
Magento et SEO : le combo parfait pour développer son e-commerce
Magento et SEO : le combo parfait pour développer son e-commerceMagento et SEO : le combo parfait pour développer son e-commerce
Magento et SEO : le combo parfait pour développer son e-commercePatrick Valibus
 
Accélérez le développement de vos interfaces web
Accélérez le développement de vos interfaces webAccélérez le développement de vos interfaces web
Accélérez le développement de vos interfaces webGrégoire Larreur de Farcy
 
jQuery mobile / PhoneGap : contenus dynamiques client-side
jQuery mobile / PhoneGap : contenus dynamiques client-sidejQuery mobile / PhoneGap : contenus dynamiques client-side
jQuery mobile / PhoneGap : contenus dynamiques client-sidemaru.maru
 
Cours yeoman backbone box2d
Cours yeoman backbone box2dCours yeoman backbone box2d
Cours yeoman backbone box2dhugomallet
 
Octo RefCard test front-end
Octo RefCard test front-endOcto RefCard test front-end
Octo RefCard test front-endClément Dubois
 
Octo Technology - Refcard Tests Web front-end
Octo Technology - Refcard Tests Web front-endOcto Technology - Refcard Tests Web front-end
Octo Technology - Refcard Tests Web front-endFrançois Petitit
 

Similaire à Amélioration progressive, de la théorie à la pratique (20)

Développement Web - HTML5, CSS3, APIs Web
Développement Web - HTML5, CSS3, APIs WebDéveloppement Web - HTML5, CSS3, APIs Web
Développement Web - HTML5, CSS3, APIs Web
 
Comment réussir une migration de site web en seo ?
Comment réussir une migration de site web en seo ?Comment réussir une migration de site web en seo ?
Comment réussir une migration de site web en seo ?
 
Seocamp2016 : javascript et indexation, où en est-on ?
Seocamp2016 : javascript et indexation, où en est-on ?Seocamp2016 : javascript et indexation, où en est-on ?
Seocamp2016 : javascript et indexation, où en est-on ?
 
Javascript et indexation, où en est-on ? - SEO Camp'us Paris 2016
Javascript et indexation, où en est-on ? - SEO Camp'us Paris 2016Javascript et indexation, où en est-on ? - SEO Camp'us Paris 2016
Javascript et indexation, où en est-on ? - SEO Camp'us Paris 2016
 
Utiliser efficacement Google Analytics
Utiliser efficacement Google AnalyticsUtiliser efficacement Google Analytics
Utiliser efficacement Google Analytics
 
Audit de site WordPress
Audit de site WordPressAudit de site WordPress
Audit de site WordPress
 
Comment utiliser Google Analytics - Gilles Barbier, Partner chez TheFamily
Comment utiliser Google Analytics - Gilles Barbier, Partner chez TheFamilyComment utiliser Google Analytics - Gilles Barbier, Partner chez TheFamily
Comment utiliser Google Analytics - Gilles Barbier, Partner chez TheFamily
 
Présentation jQuery pour débutant
Présentation jQuery pour débutantPrésentation jQuery pour débutant
Présentation jQuery pour débutant
 
Intégrateurs, bousculez vos habitudes
Intégrateurs, bousculez vos habitudesIntégrateurs, bousculez vos habitudes
Intégrateurs, bousculez vos habitudes
 
HTML5, le nouveau buzzword
HTML5, le nouveau buzzwordHTML5, le nouveau buzzword
HTML5, le nouveau buzzword
 
Support de Cours JSF2 Première partie Intégration avec Spring
Support de Cours JSF2 Première partie Intégration avec SpringSupport de Cours JSF2 Première partie Intégration avec Spring
Support de Cours JSF2 Première partie Intégration avec Spring
 
Magento et SEO : le combo parfait pour développer son e-commerce
Magento et SEO : le combo parfait pour développer son e-commerceMagento et SEO : le combo parfait pour développer son e-commerce
Magento et SEO : le combo parfait pour développer son e-commerce
 
Accélérez le développement de vos interfaces web
Accélérez le développement de vos interfaces webAccélérez le développement de vos interfaces web
Accélérez le développement de vos interfaces web
 
Html5 now light
Html5 now lightHtml5 now light
Html5 now light
 
jQuery mobile / PhoneGap : contenus dynamiques client-side
jQuery mobile / PhoneGap : contenus dynamiques client-sidejQuery mobile / PhoneGap : contenus dynamiques client-side
jQuery mobile / PhoneGap : contenus dynamiques client-side
 
Cours yeoman backbone box2d
Cours yeoman backbone box2dCours yeoman backbone box2d
Cours yeoman backbone box2d
 
HTML5
HTML5HTML5
HTML5
 
Octo RefCard test front-end
Octo RefCard test front-endOcto RefCard test front-end
Octo RefCard test front-end
 
Octo Technology - Refcard Tests Web front-end
Octo Technology - Refcard Tests Web front-endOcto Technology - Refcard Tests Web front-end
Octo Technology - Refcard Tests Web front-end
 
Javascript proprement
Javascript proprementJavascript proprement
Javascript proprement
 

Plus de Goulven Champenois

TECHnosterone and UXtrogens: field check
TECHnosterone and UXtrogens: field checkTECHnosterone and UXtrogens: field check
TECHnosterone and UXtrogens: field checkGoulven Champenois
 
Objectif zéro déchet (hévéa)
Objectif   zéro déchet (hévéa)Objectif   zéro déchet (hévéa)
Objectif zéro déchet (hévéa)Goulven Champenois
 
Pourquoi tous les développeurs sont ils barbus ?
Pourquoi tous les développeurs sont ils barbus ?Pourquoi tous les développeurs sont ils barbus ?
Pourquoi tous les développeurs sont ils barbus ?Goulven Champenois
 
Burnout - Rallumons la flamme !
Burnout - Rallumons la flamme !Burnout - Rallumons la flamme !
Burnout - Rallumons la flamme !Goulven Champenois
 
Guérir le burnout, c'est possible ! Mix-IT 2016
Guérir le burnout, c'est possible ! Mix-IT 2016Guérir le burnout, c'est possible ! Mix-IT 2016
Guérir le burnout, c'est possible ! Mix-IT 2016Goulven Champenois
 
Amélioration progressive, de la théorie à la pratique
Amélioration progressive, de la théorie à la pratiqueAmélioration progressive, de la théorie à la pratique
Amélioration progressive, de la théorie à la pratiqueGoulven Champenois
 
Intitulés de poste, bas les masques
Intitulés de poste, bas les masquesIntitulés de poste, bas les masques
Intitulés de poste, bas les masquesGoulven Champenois
 
Mobile et accessibilité, une partie à Troie
Mobile et accessibilité, une partie à TroieMobile et accessibilité, une partie à Troie
Mobile et accessibilité, une partie à TroieGoulven Champenois
 
Responsive l'indispensable révolution des outils et processus
Responsive l'indispensable révolution des outils et processusResponsive l'indispensable révolution des outils et processus
Responsive l'indispensable révolution des outils et processusGoulven Champenois
 
Poids des pages, attention danger
Poids des pages, attention dangerPoids des pages, attention danger
Poids des pages, attention dangerGoulven Champenois
 
1001 techniques pour exploser un projet (et comment les éviter)
1001 techniques pour exploser un projet (et comment les éviter)1001 techniques pour exploser un projet (et comment les éviter)
1001 techniques pour exploser un projet (et comment les éviter)Goulven Champenois
 
Pourquoi passer au web mobile avec le design réactif
Pourquoi passer au web mobile avec le design réactifPourquoi passer au web mobile avec le design réactif
Pourquoi passer au web mobile avec le design réactifGoulven Champenois
 
Développer pour le web mobile : outils et techniques
Développer pour le web mobile : outils et techniquesDévelopper pour le web mobile : outils et techniques
Développer pour le web mobile : outils et techniquesGoulven Champenois
 

Plus de Goulven Champenois (18)

TECHnosterone and UXtrogens: field check
TECHnosterone and UXtrogens: field checkTECHnosterone and UXtrogens: field check
TECHnosterone and UXtrogens: field check
 
Objectif zéro déchet (hévéa)
Objectif   zéro déchet (hévéa)Objectif   zéro déchet (hévéa)
Objectif zéro déchet (hévéa)
 
Objectif : zéro déchet
Objectif : zéro déchetObjectif : zéro déchet
Objectif : zéro déchet
 
Attention Déchets
Attention DéchetsAttention Déchets
Attention Déchets
 
Pourquoi tous les développeurs sont ils barbus ?
Pourquoi tous les développeurs sont ils barbus ?Pourquoi tous les développeurs sont ils barbus ?
Pourquoi tous les développeurs sont ils barbus ?
 
UX et santé
UX et santéUX et santé
UX et santé
 
Burnout - Rallumons la flamme !
Burnout - Rallumons la flamme !Burnout - Rallumons la flamme !
Burnout - Rallumons la flamme !
 
Pour un Web inclusif
Pour un Web inclusifPour un Web inclusif
Pour un Web inclusif
 
Guérir le burnout (E1 2016)
Guérir le burnout (E1 2016)Guérir le burnout (E1 2016)
Guérir le burnout (E1 2016)
 
Guérir le burnout, c'est possible ! Mix-IT 2016
Guérir le burnout, c'est possible ! Mix-IT 2016Guérir le burnout, c'est possible ! Mix-IT 2016
Guérir le burnout, c'est possible ! Mix-IT 2016
 
Amélioration progressive, de la théorie à la pratique
Amélioration progressive, de la théorie à la pratiqueAmélioration progressive, de la théorie à la pratique
Amélioration progressive, de la théorie à la pratique
 
Intitulés de poste, bas les masques
Intitulés de poste, bas les masquesIntitulés de poste, bas les masques
Intitulés de poste, bas les masques
 
Mobile et accessibilité, une partie à Troie
Mobile et accessibilité, une partie à TroieMobile et accessibilité, une partie à Troie
Mobile et accessibilité, une partie à Troie
 
Responsive l'indispensable révolution des outils et processus
Responsive l'indispensable révolution des outils et processusResponsive l'indispensable révolution des outils et processus
Responsive l'indispensable révolution des outils et processus
 
Poids des pages, attention danger
Poids des pages, attention dangerPoids des pages, attention danger
Poids des pages, attention danger
 
1001 techniques pour exploser un projet (et comment les éviter)
1001 techniques pour exploser un projet (et comment les éviter)1001 techniques pour exploser un projet (et comment les éviter)
1001 techniques pour exploser un projet (et comment les éviter)
 
Pourquoi passer au web mobile avec le design réactif
Pourquoi passer au web mobile avec le design réactifPourquoi passer au web mobile avec le design réactif
Pourquoi passer au web mobile avec le design réactif
 
Développer pour le web mobile : outils et techniques
Développer pour le web mobile : outils et techniquesDévelopper pour le web mobile : outils et techniques
Développer pour le web mobile : outils et techniques
 

Amélioration progressive, de la théorie à la pratique