Livereload est une extension multi-navigateur qui permet de recharger tout ou partie d’une page quand un fichier a changé sur le disque.
C’est très pratique pour développer un site Web puisque si vous modifiez un template, un fichier JavaScript, une image ou un fichier CSS, vous n’avez pas besoin de cliquer sur la fenêtre du navigateur et appuyez sur F5 pour voir le résultat. Si vous avez un double écran (et si vous faites du dev Web, vous devriez), vous ne quittez pas votre éditeur de code.
L’extension est gratuite, mais le serveur existe en plusieurs version. Il y a une version graphique pour Windows et Mac qui est payante. Si vous avez un peu de budget et pas envie de vous prendre la tête, achetez là et arrêtez la lecture de l’article, c’est beaucoup plus facile.
Sinon, suivez le guide pour la version gratos en ligne de commande.
Installation
Il existe une version Python en ligne de commande du serveur : Python livereload. Il y a aussi une version pour les rubistes.
Je vous invite donc à l’installer avec pip:
pip install livereload |
Il vous faudra aussi l’extension de navigateur.
Après, depuis votre terminal, mettez vous dans le dossier que vous voulez surveiller (par exemple le dossier contenant vos fichiers CSS), et lancez le serveur :
livereload |
Et activez l’extension pour la page que vous voulez recharger automatiquement. Normalement, c’est juste un clic sur un bouton.
C’est bon, votre page devrait recharger automatiquement.
Rechargement à la carte
On peut choisir ce qu’on va recharger plus précisément en créant un fichier de configuration.
Créez un fichier de code Python nommé “Guardfile”, sans l’extension “.py”. Il va ressembler à ceci :
#!/usr/bin/env python # -*- coding: utf-8 -*- from livereload.task import Task # watcher les js ou les css Task.add('chemin/relatif/vers/fichier/a/surveiller.css') Task.add('chemin/relatif/vers/fichier/a/surveiller.js') # watcher les images ou les templates Task.add('chemin/relatif/vers/dossier/a/surveiller') |
Et lancez la commande livereload
en étant dans le même dossier que ce fichier. Notez que le serveur ne parse ce fichier que quand l’extension est activée et que vous avez visité la page au moins une fois.
On peut même demander d’effectuer des tâches avant le rechargement de la page. Cela peut être des tâches complètement arbitraires, mais des raccourcis existent pour les tâches les plus courantes, telle que minifier du JS ou compiler un pre-processeur CSS.
Par exemple, j’utilise cette fonctionnalité pour compiler mes fichiers LESS CSS à chaque modification.
Pour cela, il faut installer le compilateur LESS. Sous Ubuntu, ça se fait en deux coups de cuillère à pot :
sudo apt-get install npm sudo npm install -g less |
Et dans le Guardfile, il faut ajouter un code du style :
from livereload.task import Task from livereload.compiler import lessc Task.add('../apps/core/static/less/boostrap/boostrap.less', lessc('../apps/core/static/less/boostrap/boostrap.less', '../apps/core/static/css/boostrap.css')) |
Il y a un a tas d’options donc checkez la doc, mais aussi le code source car la doc n’est pas exhaustive.
Plutôt Guardfile ? non
Sinon super cool, merci Sam
npm install -g lesscss
npm install -g less
Merci pour l’article
Bien vu les gars.
mais d’où vient cette photo??
c’est pour un ami.
Je pense que c’est http://imposetonanonymat.com/, mais je suis pas certain.
c’est bien !