Conférence de David Sferruzza
Voir les slides
Voir la vidéo


Sites web

Le site web est un logiciel qui s’exécute sur un serveur pour délivrer du contenu grâce au protocole HTTP d’un bout à l’autre du réseau Internet.

Les navigateurs web permettent d’appeler ces contenus, de les interpréter et de les afficher.

 

Sites statiques

Les sites statiques ne sont pas évolutif, le contenu à été écrit au préalable et ne peut être modifié simplement.

Sites dynamiques

Ces sites sont évolutifs, les clients peuvent eux-même modifier leurs contenus de façon simplifiée.

Les sites dynamiques sont beaucoup plus puissants.


Content Management System (CMS)

Un CMS est un site dynamique pré-développé permettant de gérer les contenus sans avoir besoin de connaissances techniques. Comme par exemple WordPress, Drupal, PrestaShop, …


Prenons du recul

Quand on fait un site web, il faut évaluer les risques / opportunités des solutions qui marchent pour choisir la meilleure.

Faire un site dynamique c’est cool si c’est les cas d’usage l’impose et si on a accès à des abstractions et pour le CMS il n’y a pas besoin de réinventer la roue ou de développeur dans certains cas.


Projet du jour

Avoir un site :

  • au contenu gérable par des non-développeurs
  • permettant de délivrer du contenu (peu d’interactions)
  • au rendu spécifique et performant
  • facile à maintenir sur le long terme

Approche naïve

On édite et déploie manuellement des fichiers HTML, CSS, JS, … et on utilise Git pour tout versionner.

Seulement il s’agit de travail répétitif et de déploiement sujet à erreurs humaines.


Générateur de site statiques

Le générateur de site va permettre d’ajouter une étape de construction pou séparer ce que le développeur écrit du produit fini.

Cela permet d’utiliser des abstractions et des fonctionnalités pré-développées comme la pagination ou encore le système de blog.

Il existe beaucoup de générateurs comme Jekyll, Hugo, Gatsby, …

Les critères pour choisir un générateur sont :

  • les fonctionnalités
  • le format d’entrée
  • le langage utilisé
  • la facilité d’installation 

Avec un générateur, une fois la technologie maîtrisée, le développement du site est plus rapide et sa maintenance plus facile.


Intégration continue

L’intégration continue est un système lance des tâches à chaque fois qu’une nouvelle version du code est publiée.

Cela permet de :

  • générer
  • vérifier (éviter le « ça marche sur ma machine », lancer les tests automatisés)
  • déployer

Pour un site statique, on veut surtout générer le site et le déployer.


Générateur de contenus

Dans la plupart des générateurs, le contenu est à écrire en Markdown et il faut savoir manipuler Git, ce qui constitue un frein pour les non-développeurs

Il existe des services d’interface graphique d’édition comme Contentful, Prismic, Strapi qui permettent de

  1. Configurer le schéma des données
  2. Saisir les contenus via une interface graphique
  3. À chaque génération du site, récupèrer les contenus via une API

Conclusion

Si le besoin est de créer un site web avec peu d’interactions et d’écrire du contenu gérable par des non-développeurs, il est possible de faire des sites web statiques facilement.

  • facilité de développement
    (versionnement, abstractions, outils)
  • facilité d’édition
    (admin UI, CI/CD, multiples sources de données)
  • avantages des sites statiques
    (sécurité, performances, simplicité)