
![]()
Afin de permettre à pratiquement chacun de contribuer à changer les pages web de l'association, tout en gardant un minimum de contrôle et de sauvegardes (on sait qui a fait quoi, et on a un moyen de revenir en arrière si une bêtise a été faite (genre : le bourrin qui ouvre une page ciselée en HTML4 strict avec Frontpage ou Communicator, ajoute une faute d'orthographe, et resauvegarde le tout avec du chteumeul que même mon imprimante 9 aiguilles elle fait un bluescreen dessus)), on a mis en place le système de contrôle de révisions CVS, qui permet à plusieurs utilisateurs de travailler simultanément, en plus de retenir toutes les versions de tous les fichiers, qui a fait ces modifs et quel est le commentaire des modifications.
Pour plus de puissance d'utilisation :
Pas grand chose, enfin bon quelques classiques quand même (ne pas s'inquiéter, c'est loin d'être aussi dur que ça n'y paraît) :
Accessoirement, un bon Bescherelle ne peut pas faire de mal, on passe réellement pour des charlots (et c'est inadmissible) si, futurs profs, nous ne sommes pas capables d'écrire avec une orthographe et une syntaxe correctes (même si le style peut être lourd et non littéraire ;-) ).
Chacun embarque une copie privée de tout le site (moins les pages utilisateur), y travaille. Quand un ensemble cohérent de modifications a été fait, le système CVS est appelé pour réintégrer les modifications dans la base centralisée. Cinq minutes après, le site web 'officiel' est à jour.
Avant de commencer, je ne saurais trop recommander d'aller lire une ou deux docs sur le fonctionnement intime de CVS (y'a assez de pointeurs là-haut), mais dans un premier temps, voici comment faire :
export CVSROOT=/home/httpd/CVS-Repository
Une fois cette formalité passée, ou bien si c'était déjà fait, on peut se créer un répertoire perso pour bosser sur le site du crans.mkdir ~/www
Puis on importe la section du site qui nous intéresse (et celle-ci seulement !). Inutile de copier les centaines de Mo que représente le site entier juste pour modifier une seule page... Supposons que l'on veuille travailler sur la partie "La vie @ Crans" du site principal. La manip est la suivante :cd ~/www mkdir mycrans cd mycrans
cvs co web/vie/
Ceci extrait une copie partielle du site web dans son répertoire perso, elle est accessible à l'adresse http://www.crans.org/~toto/mycrans/web/sous-repertoire/ (en supposant que ton login soit toto).
Mais supposons maintenant que je veuille créer un sous répertoire qui n'existe pas encore, par exemple "Pizza et Japonais".
On crée au préalable le répertoire en question :cd ~/www/mycrans mkdir -p web/vie/pizza-et-japonais/puis on l'ajoute au CVS :cvs add web/vie/pizza-et-japonais/
On peut également ne mettre à jour qu'un seul fichier de la même manière, ce qui est bien plus rapide que de mettre à jour toute l'arborescence :cd ~/www/mycrans/web/sous-repertoire-de-travail/ cvs up -d
cd ~/www/mycrans/web/sous-repertoire-de-travail/ cvs up -d foo.html
cvs add foo.html
Remarque importante : à cause de la machinerie interne qui nous permet de gérer le site web, il ne faut utiliser que des noms de fichiers ou de répertoires ne contenant pas d'espaces, et surtout, ne pas ajouter de tels fichiers ou répertoires au repository CVS.
cd ~/www/mycrans/web/toto/titi cvs rm -f foo.html
(CVS se charge de faire l'effacement)
Une fois que l'on a signalé à CVS qu'un fichier lui appartient, il
détecte tout seul les modifications, lorsqu'on effectue l'expédition...
étape suivante !
Une fois que l'on a réalisé un ensemble de modifications cohérent, et surtout que l'on a vérifié dans son browser à l'adresse http://www.crans.org/~toto/mycrans/web/sous-repertoire/ que les pages qu'on a ajoutées/modifiées sont comme on le souhaitait, on peut les expédier sur le serveur, avec cette commande :
On peut aussi n'effectuer le commit que sur un seul fichier, celui que l'on vient de modifier :cd ~/www/mycrans/web/sous-repertoire/ cvs commit
cd ~/www/mycrans/web/sous-repertoire/ cvs commit foo.html
Le machin va demander un commentaire sur les modifications, une ligne ou deux. Taper
pour commencer à écrire, puis control-C pour sortir du mode insertion une fois que le commentaire sera tapé, et enfini
pour sortir de l'éditeur.:wq!
Quand tout est fini, que les modifications ont été testées et envoyées, et que l'on ne prévoit pas de s'y remettre avant un moment, il est de bon ton d'effacer son répertoire temporaire, chaque zone de travail prend pas mal de Mo sur le disque du serveur :
rm -rf ~/www/mycrans
Mais bon, il ne s'agit pas de faire un checkout et de tout effacer une fois tous les deux jours... N'effacez votre copie de l'arborescence CVS que si vous n'allez pas retravailler dessus avant un bon moment.
Faire attention à l'outil que l'on utilise pour éditer une
page déjà existante.
Ne pas ouvrir et pourrir une page avec FrontPage ou Communicator (voire
Word) si elle a été écrite proprement et à la main en HTML4 certifié !
Si une page a en bas un lien sur le validateur (comme celle-ci), penser à vérifier que
les modifs n'ont pas introduit d'erreurs de syntaxe HTML4.
Réfléchir aux implications de ce que l'on écrit.
Les choses n'ayant pas vocation à être montrées à l'extérieur de la zone
CRANS (en particulier, tout ce qui concerne les détails de configuration
réseau, schémas de topologie, entrailles de Zamok, etc.), doivent
impérativement être mise dans un sous-répertoire de "cransonly"
(en fait, n'importe où, du moment que le chemin comporte la chaîne "cransonly").
Ne mettre que ce qui est du domaine général de l'association
CRANS.
Les pages perso ont leur place dans l'espace 'pages perso' et non dans
les pages de l'assoce ! Nul besoin, donc, d'utiliser CVS pour modifier
vos pages perso. Allez plutôt voir là.
Certaines pages sont regénérées de façon 'magique' et n'apparaissent pas dans l'arborescence contrôlée par CVS. Ceci inclut : l'annuaire (listes par prénom/nom), la liste des pages perso, les graphiques MRTG (sauf le tableau de bord principal), et la page d'autostatus. Pour modifier le contenu et l'apparence de ces pages, utiliser CSS (les feuilles de style, elles, sont dans l'arbo) ou aller modifier les scripts dans /CRANS (caveat emptor !)
Toutes les 15 minutes environ, le système envoie un compte-rendu des commits effectués par tous les membres du groupe webcvs ainsi qu'un lien vers le diff entre les deux version du fichier modifié, dans le newsgroup crans.cvs-checkins. Ça peut être une bonne idée de le consulter....
![]()
Ce système peut paraître un peu lourd, mais est indispensable dès que l'on travaille à (potentiellement) beaucoup sur les mêmes fichiers.
top |
|
dernière
modif le
05.12.04
par Benoit.
|
![]() |
|||
| |
|
![]() |
|
| |
|||
| |
|||
| |
|||
| |
|||
| |
|||
| |
|||
| |
|||
![]() |
|||