2009-09-20 12:34:28 +02:00
|
|
|
|
<?xml version="1.0" encoding="UTF-8"?>
|
2002-11-11 10:13:36 +01:00
|
|
|
|
<!DOCTYPE html
|
|
|
|
|
PUBLIC "-//ENS/Tuteurs//DTD TML 1//EN"
|
|
|
|
|
"tuteurs://DTD/tml.dtd">
|
|
|
|
|
<html>
|
|
|
|
|
<head>
|
|
|
|
|
<title>Doc. interne</title>
|
|
|
|
|
</head>
|
|
|
|
|
<body>
|
|
|
|
|
|
2009-10-04 18:30:54 +02:00
|
|
|
|
<h1>Mettre à jour le site des tuteurs ou y ajouter du contenu</h1>
|
2002-11-11 10:13:36 +01:00
|
|
|
|
|
|
|
|
|
<p>
|
2009-10-02 22:13:50 +02:00
|
|
|
|
Les pages HTML du site web des tuteurs sont produites à partir de
|
|
|
|
|
fichiers dans un format XML maison appelé TML. Tout le contenu du site
|
|
|
|
|
est sous <a href="logiciels/git/">git</a>, et l'arborescence HTML est
|
|
|
|
|
mise à jour automatiquement à chaque <code>push</code> (de la branche
|
|
|
|
|
qui va bien) dans <code>~tuteurs/www.git</code>.
|
2002-11-11 10:13:36 +01:00
|
|
|
|
</p>
|
|
|
|
|
|
2009-10-02 22:13:50 +02:00
|
|
|
|
<p>
|
|
|
|
|
Cette page décrit les étapes pour effectuer un changement sur le site,
|
|
|
|
|
et donne au passage, sans explications, le strict minimum de commandes
|
|
|
|
|
git nécessaires. Il est cependant recommandé d'aller en apprendre un
|
|
|
|
|
peu plus sur <a href="logiciels/git/">la page consacrée à git</a> ou
|
|
|
|
|
dans la doc de ce dernier.
|
|
|
|
|
</p>
|
2002-11-11 10:13:36 +01:00
|
|
|
|
|
2009-10-02 22:13:50 +02:00
|
|
|
|
<h2> Préliminaires </h2>
|
|
|
|
|
|
|
|
|
|
<h3> Le dépôt git </h3>
|
2002-12-06 18:19:11 +01:00
|
|
|
|
|
|
|
|
|
<p>
|
2009-10-02 22:13:50 +02:00
|
|
|
|
Le source TML du site web est géré par <a
|
|
|
|
|
href="logiciels/git/">git</a>, un système de contrôle de versions.
|
|
|
|
|
Pour y apporter des changements, on modifie sa propre copie du
|
|
|
|
|
source TML obtenue en clonant le dépôt git
|
|
|
|
|
<code>~tuteurs/www.git</code>, puis on envoie les changements au dépôt
|
|
|
|
|
central. Le plus simple est de travailler sur
|
|
|
|
|
son compte <code>clipper</code>, mais il est possible de le faire
|
|
|
|
|
depuis une machine personnelle, voire avec quelques précautions depuis
|
|
|
|
|
le compte <code>tuteurs</code>. (On ne modifie jamais directement les
|
|
|
|
|
fichiers du répertoire <code>~tuteurs/www</code>.)
|
2002-12-06 18:19:11 +01:00
|
|
|
|
</p>
|
|
|
|
|
|
2009-09-27 21:27:51 +02:00
|
|
|
|
<p>
|
2009-10-02 22:13:50 +02:00
|
|
|
|
La meilleure façon est de commencer par mettre une clé ssh
|
|
|
|
|
chez tuteurs (si on n'en a pas déjà) puis de faire (de chez soi ou
|
|
|
|
|
d'une machine de l'école)
|
2002-11-16 19:28:04 +01:00
|
|
|
|
</p>
|
2009-09-27 21:27:51 +02:00
|
|
|
|
<pre><span class="prompt">$</span> git clone tuteurs@clipper:www.git </pre>
|
|
|
|
|
<p class="continue">
|
|
|
|
|
Cependant, depuis les machines de l'école, on peut aussi faire
|
|
|
|
|
directement
|
2004-03-08 17:33:20 +01:00
|
|
|
|
</p>
|
2009-09-27 21:27:51 +02:00
|
|
|
|
<pre><span class="prompt">$</span> git clone ~tuteurs/www.git </pre>
|
|
|
|
|
<p class="continue">
|
|
|
|
|
sans clé ssh — du moins, il y a une magouille dans le Makefile qui
|
|
|
|
|
essaie de faire en sorte que ça marche.
|
|
|
|
|
</p>
|
2009-10-02 22:13:50 +02:00
|
|
|
|
|
|
|
|
|
<p>
|
|
|
|
|
On peut aussi (ce n'est guère utile qu'aux gens qui n'ont plus de
|
|
|
|
|
compte clipper) cloner le dépôt git sur le compte <code>tuteurs</code>
|
2009-10-04 18:30:54 +02:00
|
|
|
|
lui-même, par exemple dans <code>tmp/moi</code>.
|
2009-10-02 22:13:50 +02:00
|
|
|
|
</p>
|
2009-10-04 18:30:54 +02:00
|
|
|
|
|
|
|
|
|
<div class="attention">
|
|
|
|
|
<p>
|
|
|
|
|
Dans ce cas, il est important de veiller avant tout commit à régler
|
|
|
|
|
les nom et adresse utilisés pour identifier l'auteur du
|
|
|
|
|
commit :
|
|
|
|
|
</p>
|
2009-10-02 22:13:50 +02:00
|
|
|
|
<pre><span class="prompt">$</span> export GIT_AUTHOR_NAME="Tartempion"
|
|
|
|
|
<span class="prompt">$</span> export GIT_AUTHOR_EMAIL="tartempion@phare"</pre>
|
2009-10-04 18:30:54 +02:00
|
|
|
|
</div>
|
2009-10-02 22:13:50 +02:00
|
|
|
|
|
|
|
|
|
<p>
|
|
|
|
|
Quand on travaille depuis son propre compte, les valeurs par défaut
|
|
|
|
|
font généralement l'affaire, sinon, on peut les changer une fois pour
|
|
|
|
|
toutes <em>via</em>
|
|
|
|
|
</p>
|
|
|
|
|
<pre><span class="prompt">$</span> git config --global user.name "Tartempion"
|
|
|
|
|
<span class="prompt">$</span> git config --global user.email "tartempion@clipper"</pre>
|
|
|
|
|
|
|
|
|
|
<h3> Les outils TML </h3>
|
|
|
|
|
|
|
|
|
|
<p>
|
|
|
|
|
Plusieurs programmes utiles aux tuteurs — notamment, mais pas
|
|
|
|
|
uniquement, pour travailler sur le site web — se trouvent dans
|
|
|
|
|
<code>~tuteurs/bin</code>. C'est donc une bonne idée de l'ajouter à
|
|
|
|
|
son <code>$PATH</code>
|
|
|
|
|
</p>
|
|
|
|
|
|
|
|
|
|
<p>
|
|
|
|
|
Pour ce faire, éditez le fichier <code>.profile </code> à la racine de
|
|
|
|
|
votre compte, trouvez le passage qui parle du PATH et modifiez la fin.
|
|
|
|
|
Attention, ne pas oublier de mettre :\ (non suivi d'espace !) à la fin
|
|
|
|
|
de l'avant-dernière ligne, et de tester (en vous logguant une deuxième
|
|
|
|
|
fois) <em>avant</em> de se délogguer.
|
|
|
|
|
</p>
|
|
|
|
|
|
|
|
|
|
<pre>
|
|
|
|
|
PATH=\
|
|
|
|
|
$HOME/bin/$SYSTEMNAME:\
|
|
|
|
|
$HOME/bin:\
|
|
|
|
|
$UTILPATH:\
|
|
|
|
|
$MAINPATH:\
|
|
|
|
|
$GAMESPATH:\
|
|
|
|
|
$MISCPATH:\
|
|
|
|
|
/users/staffs/tuteurs/bin
|
|
|
|
|
</pre>
|
|
|
|
|
|
|
|
|
|
<p>
|
|
|
|
|
(Aucun de ces programmes n'est indispensable pour modifier le site
|
|
|
|
|
web. Pour travailler depuis chez soi, on a le choix de s'en passer ou
|
|
|
|
|
les récupérer avec <code>git clone tuteurs@clipper:share/tml</code> et
|
|
|
|
|
y faire les adaptations nécessaires [il y a apparemment des chemins en
|
|
|
|
|
dur].)
|
|
|
|
|
</p>
|
|
|
|
|
|
2009-09-27 21:27:51 +02:00
|
|
|
|
|
2009-10-02 22:13:50 +02:00
|
|
|
|
<h2> Créer ou modifier une page </h2>
|
2002-12-06 18:19:11 +01:00
|
|
|
|
|
2009-09-27 21:27:51 +02:00
|
|
|
|
<p>
|
|
|
|
|
Supposons que vous souhaitiez créer ou modifier la page
|
|
|
|
|
<code>unix/accents.html</code>. Pour cela, il va falloir écrire un
|
2009-10-02 22:13:50 +02:00
|
|
|
|
fichier <code>unix/accents.tml</code>.
|
|
|
|
|
</p>
|
2009-09-27 21:27:51 +02:00
|
|
|
|
|
|
|
|
|
<ul>
|
|
|
|
|
<li>
|
|
|
|
|
Commencez par synchroniser votre répertoire de travail avec le dépôt :
|
|
|
|
|
<pre><span class="prompt">$</span> git pull</pre>
|
|
|
|
|
</li>
|
|
|
|
|
<li>
|
|
|
|
|
Si <code>unix/accents.html</code> n'existe pas déjà, créez-le :
|
2009-10-02 22:19:43 +02:00
|
|
|
|
<pre><span class="prompt">$</span> cd unix
|
|
|
|
|
<span class="prompt">$</span> tmltemplate accents.tml <em>"titre court"</em> <em>"titre long"</em>
|
|
|
|
|
<span class="prompt">$</span> emacs accents.tml</pre>
|
2009-09-27 21:27:51 +02:00
|
|
|
|
Le <em>titre court</em> est celui qui apparaîtra dans l'arborescence du
|
|
|
|
|
site à gauche des pages (choississez-le concis, car l'arbre de
|
2009-10-04 18:30:54 +02:00
|
|
|
|
navigation est étroit), le <em>titre long</em> apparaîtra en
|
2009-09-27 21:27:51 +02:00
|
|
|
|
haut de la page. Pour modifier un fichier existant, idem sauf le
|
|
|
|
|
<code>tmltemplate</code>.
|
|
|
|
|
</li>
|
|
|
|
|
<li>
|
2009-10-04 18:30:54 +02:00
|
|
|
|
Écrivez le contenu du fichier. Ce dernier sera passé dans une
|
|
|
|
|
moulinette qui s'appelle <code>xsltproc</code> qui, entre autres
|
|
|
|
|
choses, ajoute automatiquement à la page un plan du site sur gauche
|
|
|
|
|
et un sommaire en début de page.
|
|
|
|
|
La moulinette TML et la feuille de style <code>tuteurs.css</code>
|
|
|
|
|
permettent de faire facilement des encadrés, de jolis prompts,
|
|
|
|
|
etc. : voyez les pages existantes pour des exemples, et la feuille
|
|
|
|
|
de style elle-même (voire la moulinette) pour tous les détails. Les
|
|
|
|
|
liens internes au site des tuteurs ne doivent pas mentionner
|
|
|
|
|
l'adresse de la racine du site. Il faut soit faire des liens
|
|
|
|
|
relatifs, soit faire référence à la racine en utilisant l'entité
|
|
|
|
|
<code>&url.tututeurs;</code>, ce qui donne des liens de la
|
|
|
|
|
forme :
|
2009-09-27 21:27:51 +02:00
|
|
|
|
<pre><a href="&url.tuteurs;docs/hublot/typo.html"></pre>
|
|
|
|
|
Il faut mettre à la fin du fichier des lignes du type:
|
|
|
|
|
<pre><div class="metainformation">
|
2009-09-20 12:27:14 +02:00
|
|
|
|
Auteur : Comptes tuteurs.
|
2009-10-02 22:13:50 +02:00
|
|
|
|
<date value="from git" />.
|
2009-09-27 21:27:51 +02:00
|
|
|
|
</div></pre>
|
2009-10-04 18:30:54 +02:00
|
|
|
|
Pour le reste, c'est du XHTML 1.0 Strict. Vous pouvez vous aider du
|
2009-09-27 21:27:51 +02:00
|
|
|
|
<a href="&url.tuteurs;internet/web/html/">tutoriel XHTML</a> des
|
2009-10-04 18:30:54 +02:00
|
|
|
|
tuteurs. Rappelons juste que toutes les balises doivent être
|
|
|
|
|
refermées, que leurs noms s'écrivent en minuscules, et qu'il est de
|
|
|
|
|
mauvais goût d'aller à la ligne sauvagement avec
|
|
|
|
|
<code><br></code>.
|
2009-09-27 21:27:51 +02:00
|
|
|
|
</li>
|
|
|
|
|
|
2009-10-02 22:13:50 +02:00
|
|
|
|
<li> Sur clipper, ou si vous avez installé les outils nécessaires,
|
|
|
|
|
vous pouvez vérifier la syntaxe de votre fichier tml avec
|
2009-09-27 21:27:51 +02:00
|
|
|
|
<pre><span class="prompt">$</span> tmlcheck accents.tml</pre>
|
2009-10-02 22:13:50 +02:00
|
|
|
|
et la convertir en html en faisant
|
2009-09-27 21:27:51 +02:00
|
|
|
|
<pre><span class="prompt">$</span> build accents.tml</pre>
|
|
|
|
|
Si vous avez fait beaucoup de modifications, il peut être utile de
|
|
|
|
|
lancer
|
2009-10-02 22:19:43 +02:00
|
|
|
|
<pre><span class="prompt">$</span> rebuild .</pre>
|
2009-10-02 22:13:50 +02:00
|
|
|
|
à la racine de votre copie de travail.
|
|
|
|
|
</li>
|
2009-09-27 21:27:51 +02:00
|
|
|
|
|
|
|
|
|
<li>
|
2009-10-02 22:13:50 +02:00
|
|
|
|
Quand vous avez terminé une modification, « commitez » en faisant :
|
2009-10-02 22:19:43 +02:00
|
|
|
|
<pre><span class="prompt">$</span> git add accents.tml
|
|
|
|
|
<span class="prompt">$</span> git commit</pre>
|
2009-09-27 21:27:51 +02:00
|
|
|
|
Tâchez de mettre un commentaire explicite.
|
|
|
|
|
</li>
|
2007-07-05 14:51:51 +02:00
|
|
|
|
|
2009-09-27 21:27:51 +02:00
|
|
|
|
<li>
|
|
|
|
|
Répétez ce qui précède autant de fois que nécessaire. À la fin,
|
|
|
|
|
installez vos modifications sur le site web avec
|
|
|
|
|
<pre><span class="prompt">$</span> make install</pre>
|
|
|
|
|
(essentiellement équivalent à <code>git push</code>).
|
2009-10-02 22:13:50 +02:00
|
|
|
|
À l'autre bout, les fichiers tml modifiés seront validés par
|
|
|
|
|
<code>tmlcheck</code>. Si tout va bien, le site web sera mis à jour
|
|
|
|
|
automatiquement. Sinon, votre commit sera rejetté : faites les
|
|
|
|
|
corrections nécessaires puis réessayez.
|
2009-09-27 21:27:51 +02:00
|
|
|
|
</li>
|
|
|
|
|
|
|
|
|
|
</ul>
|
|
|
|
|
|
2009-10-02 22:13:50 +02:00
|
|
|
|
<h2> Trucs plus avancés </h2>
|
2009-09-27 21:27:51 +02:00
|
|
|
|
|
2009-10-02 22:13:50 +02:00
|
|
|
|
<h3> Masquer une page dans l'arbre de navigation </h3>
|
2007-07-05 14:51:51 +02:00
|
|
|
|
|
2009-10-02 22:13:50 +02:00
|
|
|
|
<p>
|
|
|
|
|
Vous pouvez décider de ne pas faire apparaître une page dans l'arbre
|
|
|
|
|
de navigation qui se trouve sur la gauche des pages.
|
|
|
|
|
</p>
|
2007-07-05 14:51:51 +02:00
|
|
|
|
|
2009-09-20 12:27:14 +02:00
|
|
|
|
<p>Pour cela, le script de génération des pages regarde dans chaque
|
|
|
|
|
répertoire si un fichier <code>nolinks</code> s'y trouve. Ce fichier doit
|
|
|
|
|
contenir une liste séparée par des espaces ou des retours à la ligne de
|
|
|
|
|
choses de la forme « <code>fichier</code> » ou encore
|
|
|
|
|
« <code>répertoire/</code> ». Cela désactivera les liens éventuels vers
|
2004-03-08 18:06:30 +01:00
|
|
|
|
la page <code>fichier.html</code> ou vers l'index de
|
2009-09-20 12:27:14 +02:00
|
|
|
|
<code>répertoire</code>.</p>
|
2007-07-05 14:51:51 +02:00
|
|
|
|
|
2009-09-20 12:27:14 +02:00
|
|
|
|
<p>Par exemple, pour ne pas faire apparaître cette page de documentation
|
2004-03-08 18:06:30 +01:00
|
|
|
|
interne aux tuteurs (et quelques autres) dans l'index, la racine du
|
2009-09-20 12:27:14 +02:00
|
|
|
|
<code>CVS</code> contient :
|
2004-03-08 18:06:30 +01:00
|
|
|
|
</p>
|
2007-07-05 14:51:51 +02:00
|
|
|
|
|
2009-09-27 21:27:51 +02:00
|
|
|
|
<pre><span class="prompt">clipper ~tuteurs/www $</span> cat nolinks
|
2004-03-08 18:06:30 +01:00
|
|
|
|
doc-interne
|
|
|
|
|
aide
|
|
|
|
|
404
|
|
|
|
|
actualite
|
|
|
|
|
plan_site
|
|
|
|
|
</pre>
|
2007-07-05 14:51:51 +02:00
|
|
|
|
|
2009-10-02 22:13:50 +02:00
|
|
|
|
<p> Pour supprimer un fichier <code>nolinks</code>, procédez en
|
|
|
|
|
plusieurs étapes :</p>
|
2009-09-27 21:27:51 +02:00
|
|
|
|
|
|
|
|
|
<ul>
|
2009-10-02 22:13:50 +02:00
|
|
|
|
<li>éditez-le pour qu'íl devienne vide ;</li>
|
|
|
|
|
<li>regénérez les pages avec <code>rebuild</code> (ou <code>make
|
2009-09-20 12:27:14 +02:00
|
|
|
|
install</code>) ;</li>
|
2009-10-02 22:13:50 +02:00
|
|
|
|
<li>effacez le fichier <code>nolinks</code>.</li>
|
2009-09-27 21:27:51 +02:00
|
|
|
|
</ul>
|
|
|
|
|
|
2009-10-02 22:13:50 +02:00
|
|
|
|
<h3> Ignorer un commit dans le calcul de la dernière modification </h3>
|
|
|
|
|
|
|
|
|
|
<p>
|
|
|
|
|
La date et l'auteur de la dernière modification de chaque page sont
|
|
|
|
|
lus dans l'historique du dépôt git. Il est possible d'empêcher qu'un
|
|
|
|
|
commit donné soit pris en compte pour ce calcul. (C'est utile, par
|
|
|
|
|
exemple, si l'on a fait des modifications automatisées qui affectent
|
|
|
|
|
plein de pages sans assurer que leur contenu soit à jour.) Il suffit
|
|
|
|
|
pour cela de placer dans le message de commit la ligne magique
|
|
|
|
|
<code>Last-change: ignore this commit</code>. On peut aussi ignorer un
|
|
|
|
|
commit après coup en ajoutant son identifiant (SHA) au fichier
|
|
|
|
|
<code>.hidden_commits</code>.
|
|
|
|
|
</p>
|
|
|
|
|
|
|
|
|
|
<h3> Ajuster le nom sous lequel on apparaît dans les dernières
|
|
|
|
|
modifications </h3>
|
|
|
|
|
|
|
|
|
|
<p> Voir le fichier <code>.mailmap</code>. </p>
|
2007-07-05 15:32:07 +02:00
|
|
|
|
|
2009-10-02 22:13:50 +02:00
|
|
|
|
<h3> Quelqu'un a modifié les fichiers de <code>www</code> ! </h3>
|
|
|
|
|
|
|
|
|
|
<p>
|
|
|
|
|
Lors de la mise à jour du site, il y a un mécanisme qui essaie de
|
|
|
|
|
faire une copie de sauvegarde des modifications parasites avant de les
|
|
|
|
|
écraser. Lancer <code>git --git-dir=../www.git stash list</code>
|
|
|
|
|
depuis <code>~tuteurs/www</code> et lire la doc de <code>git
|
|
|
|
|
stash</code>
|
|
|
|
|
</p>
|
|
|
|
|
|
|
|
|
|
<h3> Doc technique </h3>
|
|
|
|
|
|
|
|
|
|
<p>
|
|
|
|
|
Quelques informations sur les scripts qui gèrent tout ça sont ou
|
|
|
|
|
devraient apparaître peu à peu dans les divers fichiers README du
|
|
|
|
|
compte tuteurs.
|
|
|
|
|
</p>
|
2004-03-08 18:06:30 +01:00
|
|
|
|
|
2007-07-05 14:51:51 +02:00
|
|
|
|
<div class="metainformation">
|
2009-09-27 21:27:51 +02:00
|
|
|
|
Auteurs : Joël Riou, Nicolas George, Éric Levieil, Marc Mezzarobba.
|
2009-09-27 22:00:55 +02:00
|
|
|
|
<date value="from git" />
|
2004-03-08 18:06:30 +01:00
|
|
|
|
</div>
|
|
|
|
|
|
2007-07-05 14:51:51 +02:00
|
|
|
|
</body>
|
2002-11-11 10:13:36 +01:00
|
|
|
|
</html>
|