Les 115 bonnes pratiques

Rubrique Description
1 1. Spécification

Ne pas retenir les fonctionnalités non essentielles

2 1. Spécification

Quantifier précisément le besoin

3 1. Spécification

Supprimer les fonctionnalités non utilisées

4 1. Spécification

Privilégier une approche mobile first

5 2. Conception

Optimiser le parcours utilisateur

6 2. Conception

Valider le parcours utilisateur

7 2. Conception

Proposer un traitement asynchrone lorsque c'est possible

8 2. Conception

Respecter le principe de navigation rapide dans l’historique

9 2. Conception

Éviter les animations Javascript / CSS

10 2. Conception

Limiter le recours aux carrousels

11 2. Conception

Avoir un titre de page et une metadescription pertinents

12 2. Conception

Favoriser un design simple, épuré, adapté au web

13 2. Conception

Préférer la pagination au défilement infini

14 2. Conception

Préférer la saisie assistée à l'autocomplétion

15 2. Conception

N'utilisez que les portions indispensables des bibliothèques JS et CSS

16 2. Conception

Mettre en cache les données calculées souvent utilisées

17 2. Conception

Éviter le transfert de grandes quantités de données

18 2. Conception

Favoriser les pages statiques

19 2. Conception

Préférer une PWA à une application mobile native similaire au site web

20 2. Conception

Afficher des pages d'erreur statiques

21 2. Conception

Limiter le nombre d'appels aux API HTTP

22 2. Conception

Favoriser un développement sur-mesure à l'usage d'un CMS

23 2. Conception

Réduire le volume de données stockées au strict nécessaire

24 2. Conception

Ne se connecter à une base de données que si nécessaire

25 2. Conception

Favoriser le Request collapsing

26 2. Conception

Mettre en place un Circuit breaker

27 2. Conception

Mettre en place une architecture élastique

28 2. Conception

Créer une architecture applicative modulaire

29 2. Conception

Utiliser la version la plus récente du langage

30 3. Réalisation

Fournir une alternative textuelle aux contenus multimédias

31 3. Réalisation

Fournir une CSS print

32 3. Réalisation

Favoriser les polices standards

33 3. Réalisation

Ne pas afficher les documents à l'intérieur des pages

34 3. Réalisation

Utiliser le rechargement partiel d'une zone de contenu

35 3. Réalisation

Limiter le nombre de CSS

36 3. Réalisation

Découper les CSS

37 3. Réalisation

Préférer les CSS aux images

38 3. Réalisation

Utiliser les compartiments CSS

39 3. Réalisation

Modifier plusieurs propriétés CSS en 1 seule fois

40 3. Réalisation

Ecrire des sélecteurs CSS efficaces

41 3. Réalisation

Externaliser les CSS et JavaScript

42 3. Réalisation

Valider votre code avec un Linter

43 3. Réalisation

Ne pas faire de modification du DOM lorsqu’on le traverse

44 3. Réalisation

Rendre les éléments du DOM invisibles lors de leur modification

45 3. Réalisation

Ne charger des données ou du code que lorsque c'est indispensable

46 3. Réalisation

Limiter le nombre de requêtes HTTP

47 3. Réalisation

Ne pas redimensionner les images coté navigateur

48 3. Réalisation

Optimiser les images

49 3. Réalisation

Préférer les glyphs aux images

50 3. Réalisation

Utiliser le chargement paresseux

51 3. Réalisation

Réduire au maximum le repaint et le reflow

52 3. Réalisation

Eviter les blocages dus aux traitements javascript trop longs

53 3. Réalisation

Mettre en cache les objets souvent accédés en JavaScript

54 3. Réalisation

Limiter le recours aux canvas

55 3. Réalisation

Utiliser la délégation d'évènements

56 3. Réalisation

Réduire les accès au DOM via JavaScript

57 3. Réalisation

Assurer la compatibilité avec les anciens appareils et logiciels

58 3. Réalisation

Remplacer les boutons officiels de partage des réseaux sociaux

59 3. Réalisation

Économiser la bande passante grâce aux ServiceWorker

60 3. Réalisation

Valider les pages auprès du W3C

61 3. Réalisation

Optimiser la taille des cookies

62 3. Réalisation

Choisir un format de données adapté

63 3. Réalisation

Stocker les données statiques localement

64 3. Réalisation

Eviter d'effectuer des requêtes SQL à l’intérieur d’une boucle

65 3. Réalisation

Optimiser les requêtes aux bases de données

66 3. Réalisation

Choisir les technologies les plus adaptées

67 3. Réalisation

Utiliser certains forks applicatifs orientés `performance`

68 3. Réalisation

Bien choisir son thème et limiter les extensions dans un CMS

69 4. Production

Utiliser un CDN

70 4. Production

Utiliser tous les niveaux de cache du CMS

71 4. Production

Mettre en cache les réponses Ajax

72 4. Production

Mettre les caches entièrement en RAM

73 4. Production

Utiliser un cache HTTP

74 4. Production

Ajouter des entêtes Expires ou Cache-Control

75 4. Production

Combiner les fichiers CSS et JavaScript

76 4. Production

Compresser les fichiers texte : CSS, JS, HTML et SVG

77 4. Production

Minifier les fichiers CSS, JavaScript, HTML et SVG

78 4. Production

Définir une politique d'expiration et suppression des données

79 4. Production

Stocker les données dans le cloud

80 4. Production

Héberger les ressources statiques sur un domaine sans cookie

81 4. Production

Limiter le nombre de domaine servant les ressources

82 4. Production

Privilégier HTTP/2 à HTTP/1

83 4. Production

Favoriser HSTS Preload list aux redirections 301

84 4. Production

Désactiver le DNS lookup d’Apache

85 4. Production

Utiliser un serveur asynchrone

86 4. Production

Réduire au nécessaire les logs des serveurs

87 4. Production

Supprimer tous les warning et toutes les notices

88 4. Production

Apache Vhost : désactiver le AllowOverride

89 4. Production

Mettre en place un sitemap efficient

90 4. Production

Adapter la qualité de service et le niveau de disponibilité

91 4. Production

Utiliser des serveurs virtualisés

92 4. Production

Optimiser l'efficacité énergétique des serveurs

93 4. Production

Installer le minimum requis sur le serveur

94 4. Production

Privilégier une électricité à plus faibles impacts environnementaux

95 4. Production

Choisir un hébergeur éco-responsable

96 4. Production

S’appuyer sur les services managés

97 5. Utilisation

Optimiser et générer les médias avant importation sur un CMS

98 5. Utilisation

Limiter l'utilisation des GIFs animés

99 5. Utilisation

Optimiser les images vectorielles

100 5. Utilisation

Eviter d'utiliser des images matricielles pour l'interface

101 5. Utilisation

N'utiliser que des fichiers double opt-in

102 5. Utilisation

Limiter la taille des emails envoyés

103 5. Utilisation

Limiter les emails lourds et redondants

104 5. Utilisation

Encoder les sons en dehors du CMS

105 5. Utilisation

Adapter les sons aux contextes d'écoute

106 5. Utilisation

Éviter la lecture et le chargement automatique des vidéos et des sons

107 5. Utilisation

Adapter les vidéos aux contextes de visualisation

108 5. Utilisation

Compresser les documents

109 5. Utilisation

Optimiser les PDF

110 5. Utilisation

Adapter les textes au web

111 5. Utilisation

Limiter les outils d'analytics et les données collectées

112 6. Support / maintenance / fin de vie

Eviter les redirections

113 6. Support / maintenance / fin de vie

Désactiver les logs binaires

114 6. Support / maintenance / fin de vie

Avoir une stratégie de fin de vie des contenus

115 6. Support / maintenance / fin de vie

Mettre en place un plan de fin de vie du site