Site icon Game And Me

Assurer une mise en production à l’aide de la checklist Front-end

Je suis tombé récemment sur le projet github nommé front-end checklist créé par David Dias. Ce projet récapitule tout ce qu’on trouve en terme de bonnes pratiques lors d’une mise en production. Je me suis donc dit que ca pourrait être pas mal d’en faire une version française. La checklist front-end française est donc désormais disponible ici.

Si vous respectez tout ça, et que vous intégrez aussi les bonnes pratiques de développement PSR-2, alors félicitations, vous êtes un as du développement 🙂

Pour vous donner un aperçu de cette liste, et aussi profiter un peu du contenu pour le SEO de mon site personnel, la voilà:

Table des matières

  1. Head
  2. HTML
  3. Webfonts
  4. CSS
  5. Images
  6. JavaScript
  7. Securité
  8. Performance
  9. Accessibilité
  10. SEO

Comment l’utiliser ?

Tous les élements de la Front-End Checklist sont requis dans la majorité de vos projets, mais certains peuvent être omis ou ne sont pas essentiels (par exemple, dans le cas d’une application d’administration , vous n’avez pas besoin de flux RSS). Nous avons choisi d’utiliser 3 niveaux de flexibilité:

Plusieurs resources possèdent un emoticon pour vous aider à comprendre quel type de contenu il s’agit :


Head

Notes: Vous pouvez trouver une liste de toute les balises qui peuvent être trouvées dans la section <head> d’un document HTML.

Meta tag

<!-- Doctype HTML5 -->
<!doctype html>

Les prochains 3 meta tags (Charset, X-UA Compatible and Viewport) doivent venir en premier dans le head.

<!-- Set character encoding for the document -->
<meta charset="utf-8">
<!-- Instruct Internet Explorer to use its latest rendering engine -->
<meta http-equiv="x-ua-compatible" content="ie=edge">
<!-- Viewport for responsive web design -->
<meta name="viewport" content="width=device-width, initial-scale=1">
<!-- Document Title -->
<title>Page Title less than 55 characters</title>
<!-- Meta Description -->
<meta name="description" content="Description of the page less than 150 characters">
<!-- Standard favicon -->
<link rel="icon" type="image/x-icon" href="https://example.com/favicon.ico">
<!-- Recommended favicon format -->
<link rel="icon" type="image/png" href="https://example.com/favicon.png">
<!-- Apple Touch Icon -->
<link rel="apple-touch-icon" href="/custom-icon.png">
<!-- Microsoft Tiles -->
<meta name="msapplication-config" content="browserconfig.xml" />

Le balisage xml minimum requis pour le balisage du fichier browserconfig.xml doit être:

<?xml version="1.0" encoding="utf-8"?>
<browserconfig>
   <msapplication>
     <tile>
        <square70x70logo src="small.png"/>
        <square150x150logo src="medium.png"/>
        <wide310x150logo src="wide.png"/>
        <square310x310logo src="large.png"/>
     </tile>
   </msapplication>
</browserconfig>
<!-- Helps prevent duplicate content issues -->
<link rel="canonical" href="http://example.com/2017/09/a-new-article-to-red.html">

HTML tags

<html lang="en">
<html dir="rtl">
<link rel="alternate" href="https://es.example.com/" hreflang="es">

Social meta

Facebook OG et Twitter Cards sont pour tous les sites, hautement recommandés. Les autres tags de média sociaux peuvent être utiles si vous ciblez une audience particulère et que vous voulez vous assurer un affichage particulier.

Notes: L’utilisation des balises og:image:width et og:image:height qui spécifient les dimensions des images au crawler permettent le rendu des images immédiatement sans avoir besoin de les redimensionner avec un système asynchrone.

<meta property="og:type" content="website">
<meta property="og:url" content="https://example.com/page.html">
<meta property="og:title" content="Content Title">
<meta property="og:image" content="https://example.com/image.jpg">
<meta property="og:description" content="Description Here">
<meta property="og:site_name" content="Site Name">
<meta property="og:locale" content="en_US">
<!-- Next tags are optional but recommended -->
<meta property="og:image:width" content="1200">
<meta property="og:image:height" content="630">
<meta name="twitter:card" content="summary">
<meta name="twitter:site" content="@site_account">
<meta name="twitter:creator" content="@individual_account">
<meta name="twitter:url" content="https://example.com/page.html">
<meta name="twitter:title" content="Content Title">
<meta name="twitter:description" content="Content description less than 200 characters">
<meta name="twitter:image" content="https://example.com/image.jpg">

HTML

Bonnes pratiques

HTML testing

 


Webfonts

Notes: Utiliser les webfonts peut causer des problèmes de textes invisibles avec Flash – envisager d’avoir des polices de secours et / ou d’utiliser des chargeurs webfont pour contrôler le comportement.

 


CSS

Notes: Regardez les guidelines CSS et les Guidelines Sass fournis par de nombreux développeurs Front-End. Si vous avez des doutes sur des propriétés CSS, vous pouvez visiter la Reference CSS. Il y a aussi ce court Guide pour la cohérence.

<div id="js-slider" class="my-slider">
<!-- Or -->
<div id="id-used-by-cms" class="js-slider my-slider">

Performance

CSS testing

Pixel Perfect – Chrome Extension


Images

Notes: Pour une complète compréhension de l’optimisation des images, lisez ce livre gratuit Essential Image Optimization d’Addy Osmani.

Bonnes practiques

  •  Imagemin
  •  Utiliser ImageOptim pour optimiser gratuitement vos images.
  •  Utiliser Kraken.io une alternativeincroyable pour des optimisations sur des png et des jpg . Jusqu’à 1 Mb en version gratuite.

 


JavaScript

Bonnes pratiques

Tester le JavaScript


Securité

Scan et vérification de votre site web

Bonnes pratiques


Performance

Bonnes pratiques

Préparer les requêtes à venir

<link rel="dns-prefetch" href="https://example.com">
<link rel="preconnect" href="https://example.com">
<link rel="prefetch" href="image.png">
<link rel="preload" href="app.js">

Tester la Performance


Accessibilité

Notes: Vous pouvez regader la playlist A11ycasts with Rob Dodson 

Bonnes pratiques

Headings

Repères

Sémantique

Formulaire

Tester l’accessibilité

 


SEO

 

Quitter la version mobile