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

26
Amélioration progressive Goulven Champenois – Lyon, BlendWebMix 2015

Upload: goulven-champenois

Post on 14-Feb-2017

745 views

Category:

Internet


0 download

TRANSCRIPT

Page 1: Amélioration progressive, de la théorie à la pratique

Amélioration progressive

Goulven Champenois – Lyon, BlendWebMix 2015

Page 2: Amélioration progressive, de la théorie à la pratique

Amélioration progressive

Goulven Champenois – Lyon, BlendWebMix 2015

Le Boston Globe en 2011

sur un Apple Newton (1993-1998)

Page 3: Amélioration progressive, de la théorie à la pratique

Quand ce n'est pas de l’amélioration progressive...

Page 4: Amélioration progressive, de la théorie à la pratique

Janvier 2014

Sky broadband (FAI anglais) bloque le CDN de jQuery

Les abonnés ne peuvent plus utiliser la plupart des sites.

Quand ce n'est pas de l’amélioration progressive...

Page 5: Amélioration progressive, de la théorie à la pratique

Solution :

Ne PAS dépendre de JS.

Commencer par du HTML qui fonctionne seul.

Quand ce n'est pas de l’amélioration progressive...

Page 6: Amélioration progressive, de la théorie à la pratique

Février 2011 : Lifehacker, Gawker, Gizmodo et d’autres sites n’affichent plus rien.

À l'origine : une erreur en JS.

http://isolani.co.uk/blog/javascript/BreakingTheWebWithHashBangs

Quand ce n'est pas de l’amélioration progressive...

Page 7: Amélioration progressive, de la théorie à la pratique

Solution :

HTML5 history API

Tutoriel sur CSS tricks

Attention : pubs et scripts tierspeuvent tuer votre site aussi...

11 Steps to protect against third party script failure

Quand ce n'est pas de l’amélioration progressive...

Page 8: Amélioration progressive, de la théorie à la pratique

28 avril 2015

En Chine, tous les sites affichant le bouton « Like » de Facebook deviennent temporairement inaccessibles.

http://krebsonsecurity.com/2015/04/china-censors-facebook-net-blocks-sites-with-like-buttons/

Quand ce n'est pas de l’amélioration progressive...

Page 9: Amélioration progressive, de la théorie à la pratique

Solution :

AJAX-include

Attendre le chargement de la page pour remplacer un lien vers la page FB par le Javascript du bouton Like.

Quand ce n'est pas de l’amélioration progressive...

Page 10: Amélioration progressive, de la théorie à la pratique

– Désolé de te déranger pendant tes vacances, mais...

Page 11: Amélioration progressive, de la théorie à la pratique

Partagez vos mots de passeLaissez les intervenants configurer les valeurs non définitivesUtilisez les palettes dynamiques, des effets non destructifs...Partagez vos sources (Git)Commentez votre codeNommez vos calquesSoignez le texte de vos commits, des tickets et commentairesConfigurez les préprocesseurs sur tous les postesFormez vos collègues…Et partez très loin !

Pour sauver vos vacances…

Page 12: Amélioration progressive, de la théorie à la pratique

Autrement dit : Ne soyez pas une dépendance

Page 13: Amélioration progressive, de la théorie à la pratique

Votre code non plus

Page 14: Amélioration progressive, de la théorie à la pratique

« Commencer par la version de base, puis ajouter des améliorations pour ceux qui peuvent les gérer. »

— Tommy Olsson, 2007Dégradation élégante et amélioration progressive (traduction)

Amélioration progressive : La théorie

Page 15: Amélioration progressive, de la théorie à la pratique

1. Écrire le HTML

2. Coder le traitement côté serveur

3. Styler en CSS

4. Dynamiser en JS

Amélioration progressive : La théorie

Page 16: Amélioration progressive, de la théorie à la pratique

Un HTML bien pensé sera :

Accessible

Facile à styler

Facile à dynamiser

Amélioration progressive : La théorie

Page 17: Amélioration progressive, de la théorie à la pratique

Amélioration progressive : Exercices pratiques

Page 18: Amélioration progressive, de la théorie à la pratique

Autocomplétion

https://leaverou.github.io/awesomplete/

+=

Page 19: Amélioration progressive, de la théorie à la pratique

Styler des inputs radio ou checkbox

http://cdpn.io/e/BoKweG

Zéro Javascript !

Page 20: Amélioration progressive, de la théorie à la pratique

En pur CSS, grâce au sélecteur ~

Filtrer une liste

cdpn.io/e/YXxxyj/

Page 21: Amélioration progressive, de la théorie à la pratique

Ajouter un Carrousel

http://www.doisjeutiliser.fr/unCarrousel/

Page 22: Amélioration progressive, de la théorie à la pratique

Carrousel en pur CSS

Avec ~http://csscience.com/responsiveslidercss3/

Page 23: Amélioration progressive, de la théorie à la pratique

Carrousel en pur CSS

Avec :checked+label http://thecodeplayer.com/walkthrough/css3-image-slider-with-stylized-thumbnails

Page 24: Amélioration progressive, de la théorie à la pratique

Amélioration progressive : les 4 commandements

๏ Des dépendances tu n’imposeras pas

๏ Par le HTML tu commenceras

๏ Les événements tu captureras

๏ Un retour visuel to donneras

Page 25: Amélioration progressive, de la théorie à la pratique

Lectures utiles

• Everyone has JS, right? http://kryogenix.org/code/browser/everyonehasjs.html

• Myth-Busting Progressive Enhancement http://www.sitepoint.com/javascript-dependency-backlash-myth-busting-progressive-enhancement/

• The True Cost of Progressive Enhancement https://medium.com/@AaronGustafson/the-true-cost-of-progressive-enhancement-d395b6502979

• I have no idea what the hell I am doing http://bradfrost.com/blog/post/i-have-no-idea-what-the-hell-i-am-doing/

• Sky Broadband mistakenly blocks jQuery, breaks Internet for its users http://www.theguardian.com/technology/2014/jan/28/sky-broadband-blocks-jquery-web-critical-plugin

Page 26: Amélioration progressive, de la théorie à la pratique

Crédits photo

• Boston Globe responsive website, featuring Apple Newton, Antoine Lefeuvre https://www.flickr.com/photos/69797234@N06/7203485148/

• Infinity Pool, Sarah Ackerman : https://www.flickr.com/photos/sackerman519/5047591825

• Chain expressing freedom, Stephh : https://commons.wikimedia.org/wiki/File:Chain_expressing_freedom.JPG

• SPAM, AJ Cann : https://www.flickr.com/photos/ajc1/519906069

• Merci à Marie-Cécile Paccard pour ses retours !