avdyk

vendredi 14 janvier 2011

mardi 23 mars 2010

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 << EOF
> [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

mardi 2 mars 2010

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

lundi 1 mars 2010

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 ;-))

mardi 16 février 2010

http://ping.fm/sF2LP animation
objectif du jour: vider la Inbox avant de reprendre le travail ;-)

vendredi 8 janvier 2010

a mis en place Ping.fm! Yeah! ;-)