Older blog entries for avdyk (starting at number 34)

23 Mar 2010 (updated 6 Feb 2012 at 08:27 UTC) »

Gérer son site web avec Mercurial

Sur ressource-toi.org, nous avons installé Mercurial. Cet article peut vous aider aussi si votre hébergeur a installé ce logiciel et que vous avec un accès ssh chez votre hébergeur.

Objectif


L'objectif de cet article est de montrer comment gérer son site web perso avec Mercurial, un gestionnaire de version de contrôle distribué. Grâce à cela, vous pourrez modifier votre site web sur n'importe quelle machine qui a les logiciel ssh et hg (mercurial) installé. De plus, vous garderez un historique des modifications de votre site.

Installation


Mercurial


Commencez par télécharger puis installer le logiciel. Ensuite, le site officiel de Mercurial contient un très bon guide de départ.

SSH


Installation via le site officiel openssh:
  • MacOS: Download, mais ssh est déjà installé par défaut!
  • Linux: Download, mais en général, votre logiciel d'installation devrait le connaître: apt-get install openssh
  • Windows: Download, cette page contient des liens vers différentes implémentations openssh pour Windows

Initialisation du repository


Connectez-vous sur resource-toi.org, et tapez la commande
$ hg init
Ensuite, pour vérifier ce qui sera mis dans le repository:
$ hg stat
Si des répertoires n'apparaissent pas, c'est parce qu'ils sont vides et que Mercurial ne tient compte que des fichiers. Vous pouvez donc ajouter un fichier vide invisible grâce à la commande touch:
$ touch repertoire/.vide
Pour ajouter tous les fichiers:
$ hg add
Ensuite, mettre à jour le contenu définitivement commit
$ hg commit -m "mettre un commentaire"
Remarque: Joffrey Hermand me fait remarquer que je n'ai pas parlé des abréviation. Effectivement, voici quelques abréviations que vous pouvez utiliser:
  • init: ini
  • status: st
  • commit: ci
  • clone: cl
  • update: up


Mettre à jour le site à chaque commit


Pour mettre à jour chaque commit, il faut mettre en place des hooks sur le serveur. Pour ce faire, tapez ceci:
  $ cat > .hg/hgrc > [hooks]
> changegroup = hg up
> EOF

Les mains dans le cambouis


De retour sur votre machine:
$ hg clone ssh://votre_login@ressource-toi.org/public_html mon_site
Ensuite, vous pouvez travailler sur votre site, le tester en local. Quand vous ajouter un fichier, n'oubliez pas hg add nom_du_fichier; pour déplacer un fichier: hg mv ancien_fichier nouveau_fichier; pour supprimer un fichier: hg rm nom_du_fichier; vous pouvez remplacer le nom du fichier par le nom d'un répertoire.
Quand vous êtes content de vos changements, hg commit -m "un commentaire" et enfin hg push pour pousser les changements vers ressource-toi.org.
Si votre hook a bien été mis en place, votre site sera automatiquement mis à jour.

Mise à jour


Il y a aussi moyen de créer un dépôt séparé de votre public_html. Effectuez les mêmes opérations sur ressource-toi, mais au lieu de créer votre dépôt directement dans public_html, créez-le dans hg/public_html (mkdir hg; cd hg; hg init public_html).

Une fois que votre dépôt est prêt, vous pouvez le cloner (cd ; hg clone hg/public_html public_html). Attention que le répertoire public_html doit être vide.

Ensuite, pour le hook, un simple hg up ne suffira pas. Il faudra d'abord se déplacer dans votre répertoire puis faire un pull et enfin un update: cd /home/votre_user/public_html/; hg pull; hg up.

Agir de la sorte vous permet d'éviter d'écraser votre répertoire public_html. Vous avez sur le serveur toujours deux clones à jour de votre site web.

Si vous ajoutez du php ou du python, je vous suggère de faire la même chose et d'avoir, pour chaque répertoire, un nouveau dépôt.

Pour un petit cours sur Mercurial, je vous ai préparé un MercuTorial https://docs.google.com/document/pub?id=1B_OvoOg0KgS-fzx30_E1b39ciOmx-G9JNaFrLmrUSiM

Syndicated 2010-03-23 15:30:00 (Updated 2012-02-06 08:22:49) from Arnaud Vandyck

L’économie du domaine public… Freud peut nous aider http://ping.fm/207As

Syndicated 2010-03-02 11:09:00 (Updated 2010-03-02 11:09:22) from Arnaud Vandyck

Ce 1er mars, ça fait dix ans que je suis au STE-Formations! ;-) (Merci à toute l'équipe de m'avoir supporté… dans tous les sens du terme ;-))

Syndicated 2010-03-01 09:01:00 (Updated 2010-03-01 09:01:14) from Arnaud Vandyck

objectif du jour: vider la Inbox avant de reprendre le travail ;-)

Syndicated 2010-02-16 10:04:00 (Updated 2010-02-16 10:04:47) from Arnaud Vandyck

L'Afrique orientale a désormais accès à Internet haut débit grâce à un nouveau câble

Syndicated 2009-07-25 06:59:00 (Updated 2009-07-25 07:01:03) from Arnaud Vandyck

25 older entries...

New Advogato Features

New HTML Parser: The long-awaited libxml2 based HTML parser code is live. It needs further work but already handles most markup better than the original parser.

Keep up with the latest Advogato features by reading the Advogato status blog.

If you're a C programmer with some spare time, take a look at the mod_virgule project page and help us with one of the tasks on the ToDo list!