diff --git a/ecrire/action/autoriser.php b/ecrire/action/autoriser.php
index 45a5cde1e6378a5feed02786c84934508c52e91c..6091278e101eedb0dd5bf95315368434a228ef79 100644
--- a/ecrire/action/autoriser.php
+++ b/ecrire/action/autoriser.php
@@ -72,7 +72,7 @@ if (!$refus AND !$auth_login) {
   else
     {
       if (!function_exists('mime_content_type')) {
-	// http://doc.spip.org/@mime_content_type
+// http://doc.spip.org/@mime_content_type
 	function mime_content_type($f) {preg_match("/\.(\w+)/",$f,$r); return $r[1];}
  }
       $ct = mime_content_type($file);
diff --git a/ecrire/action/documenter.php b/ecrire/action/documenter.php
index ef39a1c0fb37095a7d49bcbb8d5b70b3ad545b49..4b538dc32794726c45ca52362cca5989940d0252 100644
--- a/ecrire/action/documenter.php
+++ b/ecrire/action/documenter.php
@@ -14,6 +14,7 @@ if (!defined("_ECRIRE_INC_VERSION")) return;
 
 include_spip('action/supprimer');
 
+// http://doc.spip.org/@action_documenter_dist
 function action_documenter_dist()
 {
 	$var_f = charger_fonction('controler_action_auteur', 'inc');
diff --git a/ecrire/action/editer_auteurs.php b/ecrire/action/editer_auteurs.php
index 89049f4803451f1d82008e52e6596ef365e78edb..af9cff03a990940e74221c8e3e067c4c7cfb56ea 100644
--- a/ecrire/action/editer_auteurs.php
+++ b/ecrire/action/editer_auteurs.php
@@ -15,7 +15,7 @@ if (!defined("_ECRIRE_INC_VERSION")) return;
 include_spip('base/abstract_sql');
 include_spip('inc/actions');
 
-// http://doc.spip.org/@action_ajouter_dist
+// http://doc.spip.org/@action_editer_auteurs_dist
 function action_editer_auteurs_dist() {
 	
 	$var_f = charger_fonction('controler_action_auteur', 'inc');
@@ -53,6 +53,7 @@ function action_editer_auteurs_dist() {
 	} else spip_log("action_editer_auteur: $arg pas compris");
 }
 
+// http://doc.spip.org/@supprimer_auteur_et_rediriger
 function supprimer_auteur_et_rediriger($id_article, $id_auteur, $redirect)
 {
 	spip_query("DELETE FROM spip_auteurs_articles WHERE id_auteur=$id_auteur AND id_article=$id_article");
diff --git a/ecrire/action/editer_rubrique.php b/ecrire/action/editer_rubrique.php
index 5aebba47917e0dc276a234370a392bf3b05553c0..bea8125ec3dd99252ba12dd27d714dbc4bd59795 100644
--- a/ecrire/action/editer_rubrique.php
+++ b/ecrire/action/editer_rubrique.php
@@ -15,7 +15,7 @@ if (!defined("_ECRIRE_INC_VERSION")) return;
 include_spip('inc/actions');
 include_spip('inc/rubriques');
 
-// http://doc.spip.org/@action_editer_article_dist
+// http://doc.spip.org/@action_editer_rubrique_dist
 function action_editer_rubrique_dist() {
 
 	$var_f = charger_fonction('controler_action_auteur', 'inc');
diff --git a/ecrire/action/instituer_auteur.php b/ecrire/action/instituer_auteur.php
index d7e32ed1df9ffd07410fb7a892dd5a8d9058b512..3c2ac467fe0d6ab0b3feb41df177b27b22eb9e21 100644
--- a/ecrire/action/instituer_auteur.php
+++ b/ecrire/action/instituer_auteur.php
@@ -12,7 +12,7 @@
 
 if (!defined("_ECRIRE_INC_VERSION")) return;
 
-// http://doc.spip.org/@action_instituer_collaboration_dist
+// http://doc.spip.org/@action_instituer_auteur_dist
 function action_instituer_auteur_dist() {
 
 	include_spip('inc/actions');
diff --git a/ecrire/action/joindre.php b/ecrire/action/joindre.php
index e8b4947ef362312d0e0d83986d7d1f01d3fc827b..53819bb1ab9aa5bf0f0b5b2fbfaba450c5e4e94f 100644
--- a/ecrire/action/joindre.php
+++ b/ecrire/action/joindre.php
@@ -161,13 +161,14 @@ function spip_action_joindre6($path, $mode, $type, $id, $id_document,$hash, $red
 
 // Zip avec les 2 options a la fois
 
+// http://doc.spip.org/@spip_action_joindre4
 function spip_action_joindre4($path, $mode, $type, $id, $id_document,$hash, $redirect, &$actifs)
 {
 	joindre_deballes($path, $mode, $type, $id, $id_document,$hash, $redirect, $actifs);
 	return spip_action_joindre5($path, $mode, $type, $id, $id_document,$hash, $redirect, $actifs);
 }
 
-// http://doc.spip.org/@spip_action_joindre6
+// http://doc.spip.org/@joindre_deballes
 function joindre_deballes($path, $mode, $type, $id, $id_document,$hash, $redirect, &$actifs)
 {
 	    define('_tmp_dir', creer_repertoire_documents($hash));
diff --git a/ecrire/action/legender.php b/ecrire/action/legender.php
index cb49d19f17822a47416f524df9c88fa747958c44..bf5b0c9d7a17430cecd0240c1345db3560e92296 100644
--- a/ecrire/action/legender.php
+++ b/ecrire/action/legender.php
@@ -20,6 +20,7 @@ include_spip('inc/actions');
 // spip_register_globals ne fournira donc pas les globales esperees
 // ==> passer par _request() qui simule $_REQUEST sans $_COOKIE
 
+// http://doc.spip.org/@action_legender_dist
 function action_legender_dist() {
 	
 	$var_f = charger_fonction('controler_action_auteur', 'inc');
diff --git a/ecrire/action/legender_auteur.php b/ecrire/action/legender_auteur.php
index ffd3610945c935243e15c2a9a7d67d4de9af2532..3a075391f67b5f3a638a34f4b62b3b26a6024609 100644
--- a/ecrire/action/legender_auteur.php
+++ b/ecrire/action/legender_auteur.php
@@ -17,6 +17,7 @@ include_spip('inc/actions');
 include_spip('inc/acces');
 include_spip('base/abstract_sql');
 
+// http://doc.spip.org/@action_legender_auteur
 function action_legender_auteur()
 {
   global $auteur_session, $bio,
@@ -208,6 +209,7 @@ if ($nom OR $statut) {
  redirige_par_entete($redirect);
 }
 
+// http://doc.spip.org/@admin_general
 function admin_general($id_auteur)
 {
 	include_spip('inc/auth');
diff --git a/ecrire/action/referencer_traduction.php b/ecrire/action/referencer_traduction.php
index 495332a53f2732079b781e5bd4c28b702f6a4fba..de98e9d1218d86aeb91aed1fc3919e6fc5178533 100644
--- a/ecrire/action/referencer_traduction.php
+++ b/ecrire/action/referencer_traduction.php
@@ -48,6 +48,7 @@ function action_referencer_traduction_dist() {
 	}
 }
 
+// http://doc.spip.org/@instituer_langue_article
 function instituer_langue_article($id_article, $id_rubrique) {
 
 	$changer_lang = _request('changer_lang');
diff --git a/ecrire/action/supprimer.php b/ecrire/action/supprimer.php
index d3de05d627d851c0d27f6645f5808cf0ed706f23..1643db848a6117092c6dcfbfdbc18e9bb3489789 100644
--- a/ecrire/action/supprimer.php
+++ b/ecrire/action/supprimer.php
@@ -64,6 +64,7 @@ function action_supprimer_rubrique($id_rubrique)
 
 }
 
+// http://doc.spip.org/@supprimer_document_et_vignette
 function supprimer_document_et_vignette($arg)
 {
 	$result = spip_query("SELECT id_vignette, fichier FROM spip_documents WHERE id_document=$arg");
diff --git a/ecrire/base/db_mysql.php b/ecrire/base/db_mysql.php
index 7964e15ea2c254f35d94181c077fa8c8398e6983..0d005cc13b5473bc197b7bed6966ee233fb8a203 100644
--- a/ecrire/base/db_mysql.php
+++ b/ecrire/base/db_mysql.php
@@ -23,6 +23,7 @@ define('SPIP_NUM', MYSQL_NUM);
 
 // fonction pour la premiere connexion
 
+// http://doc.spip.org/@base_db_mysql_dist
 function base_db_mysql_dist()
 {
 	// fichier d'init present ?
diff --git a/ecrire/exec/admin_plugin.php b/ecrire/exec/admin_plugin.php
index 53b2629c7cee8236473a403d21496451cf018b79..9e6bdfd362c24643e6d0d5b30eaca9b524dcbf03 100644
--- a/ecrire/exec/admin_plugin.php
+++ b/ecrire/exec/admin_plugin.php
@@ -300,6 +300,7 @@ function ligne_plug($plug_file, $actif, $id){
 	return $s;
 }
 
+// http://doc.spip.org/@affiche_bloc_plugin
 function affiche_bloc_plugin($plug_file, $info) {
 	$s .= debut_block_invisible("$plug_file");
 	$s .= "<div class='detailplugin'>";
diff --git a/ecrire/exec/articles.php b/ecrire/exec/articles.php
index e501fe45ce96293856435d4898ba30ce38a8bbab..0f7d72762756c30ff38786e328e905236dc01fc6 100644
--- a/ecrire/exec/articles.php
+++ b/ecrire/exec/articles.php
@@ -48,6 +48,7 @@ function exec_articles_dist()
 		fin_page();
 }
 
+// http://doc.spip.org/@articles_affiche
 function articles_affiche($id_article, $row, $cherche_auteur, $ids, $cherche_mot,  $select_groupe, $trad_err)
 {
 	global $spip_display, $spip_lang_left, $spip_lang_right, $dir_lang;
@@ -175,6 +176,7 @@ function articles_affiche($id_article, $row, $cherche_auteur, $ids, $cherche_mot
 	. fin_cadre_relief(true);
 }
 
+// http://doc.spip.org/@articles_documents
 function articles_documents($flag_editable, $type, $id)
 {
 	global $spip_lang_left;
diff --git a/ecrire/exec/auteur_infos.php b/ecrire/exec/auteur_infos.php
index d30a13b3838e9582d5109946c12a7378329c4493..6856cab934f4eff618aff2b01796a62f8e2ba69f 100644
--- a/ecrire/exec/auteur_infos.php
+++ b/ecrire/exec/auteur_infos.php
@@ -55,7 +55,7 @@ function exec_auteur_infos_dist()
 }
 
 
-// http://doc.spip.org/@exec_affiche_auteur_info_dist
+// http://doc.spip.org/@affiche_auteur_info_dist
 function affiche_auteur_info_dist($initial, $auteur,  $echec, $redirect, $ajouter_id_article)
 {
 	global $connect_id_auteur;
diff --git a/ecrire/exec/auteurs.php b/ecrire/exec/auteurs.php
index 217cd182a5f8d80bdfbbcdfaaa1767576831c885..d6abcb164a8387cc0de843a7a6d5c64229a42fd1 100644
--- a/ecrire/exec/auteurs.php
+++ b/ecrire/exec/auteurs.php
@@ -42,6 +42,7 @@ function exec_auteurs_dist()
 	echo "<div id='auteurs'>", $res, "</div>", fin_page();
 }
 
+// http://doc.spip.org/@lettres_d_auteurs
 function lettres_d_auteurs($query, $debut, $max_par_page, $tri)
 {
 	$auteurs = $lettre = array();
@@ -70,7 +71,7 @@ function lettres_d_auteurs($query, $debut, $max_par_page, $tri)
 }
 
 
-// http://doc.spip.org/@affiche_auteurs
+// http://doc.spip.org/@bandeau_auteurs
 function bandeau_auteurs($auteurs, $debut, $tri, $visiteurs, $max_par_page, $nombre_auteurs)
 {
 	global $options, $spip_lang_right, $connect_id_auteur,   $connect_statut,   $connect_toutes_rubriques;
@@ -131,6 +132,7 @@ function bandeau_auteurs($auteurs, $debut, $tri, $visiteurs, $max_par_page, $nom
 	echo "\n<br />";
 }
 
+// http://doc.spip.org/@auteurs_tranches
 function auteurs_tranches($auteurs, $debut, $lettre, $tri, $visiteurs, $max_par_page, $nombre_auteurs)
 {
 	global $options, $spip_lang_right;
@@ -222,6 +224,7 @@ function auteurs_tranches($auteurs, $debut, $lettre, $tri, $visiteurs, $max_par_
 	. fin_cadre_relief(true);
 }
 
+// http://doc.spip.org/@auteurs_href
 function auteurs_href($clic, $args='', $att='')
 {
 	$h = generer_url_ecrire('auteurs', $args);
diff --git a/ecrire/exec/controle_forum.php b/ecrire/exec/controle_forum.php
index c27ab400e5c9fe248d62c7ac0837a9eaedf0aa96..61f2a4ef911024f3ca2c7a56852bdc48ea8e45bb 100644
--- a/ecrire/exec/controle_forum.php
+++ b/ecrire/exec/controle_forum.php
@@ -281,6 +281,7 @@ function exec_controle_forum_dist()
 	}
 }
 
+// http://doc.spip.org/@affiche_tranche_forum
 function affiche_tranche_forum($debut, $i, $pack, $query)
 {
 
diff --git a/ecrire/exec/dater.php b/ecrire/exec/dater.php
index 008682e17437c5677203b7b1c544c358fc910334..2bef05b76110cf4858d6f495a0a0b5be57b50d27 100644
--- a/ecrire/exec/dater.php
+++ b/ecrire/exec/dater.php
@@ -12,6 +12,7 @@
 
 if (!defined("_ECRIRE_INC_VERSION")) return;
 
+// http://doc.spip.org/@exec_dater_dist
 function exec_dater_dist()
 {
 	global $id_article;
diff --git a/ecrire/exec/demande_mise_a_jour.php b/ecrire/exec/demande_mise_a_jour.php
index 56b3e8598266169311de1e1b2d588adf8dd1a1ea..91db164e30b92259508d4feed3d6b39755f070aa 100644
--- a/ecrire/exec/demande_mise_a_jour.php
+++ b/ecrire/exec/demande_mise_a_jour.php
@@ -13,7 +13,7 @@
 if (!defined("_ECRIRE_INC_VERSION")) return;
 
 
-// http://doc.spip.org/@demande_maj_version
+// http://doc.spip.org/@exec_demande_mise_a_jour_dist
 function exec_demande_mise_a_jour_dist() {
 	include_spip('inc/presentation');
 	debut_page();
diff --git a/ecrire/exec/discuter.php b/ecrire/exec/discuter.php
index 70068e3b21b76da923c06e11f96c4451d6adfba9..e31ba33b4d735beb158d574af7542377694c3bcc 100644
--- a/ecrire/exec/discuter.php
+++ b/ecrire/exec/discuter.php
@@ -12,6 +12,7 @@
 
 if (!defined("_ECRIRE_INC_VERSION")) return;
 
+// http://doc.spip.org/@exec_discuter_dist
 function exec_discuter_dist()
 {
 	$debut = _request('debut');
diff --git a/ecrire/exec/documenter.php b/ecrire/exec/documenter.php
index 26a54a825bceb78ee29e354170627a2cea0ece08..5fa1c7fac63dc5367258614798bc28690f6d8d96 100644
--- a/ecrire/exec/documenter.php
+++ b/ecrire/exec/documenter.php
@@ -15,6 +15,7 @@ if (!defined("_ECRIRE_INC_VERSION")) return;
 include_spip('inc/presentation');
 include_spip('inc/texte');
 
+// http://doc.spip.org/@exec_documenter_dist
 function exec_documenter_dist()
 {
 	$type = _request("type");
diff --git a/ecrire/exec/editer_auteurs.php b/ecrire/exec/editer_auteurs.php
index c4505a134104688e87786947d74eb4f68c534276..8e81dd5e46d1bcafa65a7d0b52d412011057969e 100644
--- a/ecrire/exec/editer_auteurs.php
+++ b/ecrire/exec/editer_auteurs.php
@@ -12,6 +12,7 @@
 
 if (!defined("_ECRIRE_INC_VERSION")) return;
 
+// http://doc.spip.org/@exec_editer_auteurs_dist
 function exec_editer_auteurs_dist()
 {
 	$id_article = intval(_request('id_article'));
diff --git a/ecrire/exec/editer_mot.php b/ecrire/exec/editer_mot.php
index 61ee17ae63acb0e359ee9ff64ca9efe03e35b7bb..acf76116c7d9ebb0ca4dea7b61edcf50c0889951 100644
--- a/ecrire/exec/editer_mot.php
+++ b/ecrire/exec/editer_mot.php
@@ -12,6 +12,7 @@
 
 if (!defined("_ECRIRE_INC_VERSION")) return;
 
+// http://doc.spip.org/@exec_editer_mot_dist
 function exec_editer_mot_dist()
 {
 	include_spip('inc/actions');
diff --git a/ecrire/exec/export_all.php b/ecrire/exec/export_all.php
index df713e6790c6ee3bcc90849356ba1f2374a02a16..4f3fccc33cf0743ed604de61daea6ea1ebb2daf2 100644
--- a/ecrire/exec/export_all.php
+++ b/ecrire/exec/export_all.php
@@ -56,6 +56,7 @@ if (!isset($EXPORT_tables_noexport)){
 }
 $GLOBALS['flag_ob_flush'] = function_exists('ob_flush');
 
+// http://doc.spip.org/@export_nom_fichier_dump
 function export_nom_fichier_dump($dir,$gz=true){
 	$archive = _SPIP_DUMP;
 	if ($gz) $archive .= '.gz';
diff --git a/ecrire/exec/gadgets.php b/ecrire/exec/gadgets.php
index 87412a48e7e4d2d977fd1f1ab9645c416618ebce..d73ba74e0d97fd991efbc1ee769bd03b6f93e8db 100644
--- a/ecrire/exec/gadgets.php
+++ b/ecrire/exec/gadgets.php
@@ -12,6 +12,7 @@
 
 if (!defined("_ECRIRE_INC_VERSION")) return;
 
+// http://doc.spip.org/@exec_gadgets_dist
 function exec_gadgets_dist()
 {
 	$id_rubrique = intval(_request('id_rubrique'));
diff --git a/ecrire/exec/grouper_mots.php b/ecrire/exec/grouper_mots.php
index b22d32521a9c987a5439113af332790910c7fc20..cde21e0dc77a5744a1e44c50c48e404300b5df9d 100644
--- a/ecrire/exec/grouper_mots.php
+++ b/ecrire/exec/grouper_mots.php
@@ -12,6 +12,7 @@
 
 if (!defined("_ECRIRE_INC_VERSION")) return;
 
+// http://doc.spip.org/@exec_grouper_mots_dist
 function exec_grouper_mots_dist()
 {
 	$id_groupe = intval(_request('id_groupe'));
diff --git a/ecrire/exec/iconifier.php b/ecrire/exec/iconifier.php
index 04cca72c53fa33ad356bf24cefddf03ec7929356..17c131236f072f8b7186b7359e1d92879fd898e0 100644
--- a/ecrire/exec/iconifier.php
+++ b/ecrire/exec/iconifier.php
@@ -15,6 +15,7 @@ if (!defined("_ECRIRE_INC_VERSION")) return;
 include_spip('inc/presentation');
 include_spip('inc/texte');
 
+// http://doc.spip.org/@exec_iconifier_dist
 function exec_iconifier_dist()
 {
 	global $connect_id_auteur, $connect_toutes_rubriques;;
diff --git a/ecrire/exec/informer.php b/ecrire/exec/informer.php
index f3a2a6b87854a5f2acee5b7ef52ac8329b7e57c0..645b830cf8cf0f0affbf65a88238fb17dfe5bcdb 100644
--- a/ecrire/exec/informer.php
+++ b/ecrire/exec/informer.php
@@ -14,6 +14,7 @@ if (!defined("_ECRIRE_INC_VERSION")) return;
 
 # Les informations d'une rubrique selectionnee dans le mini navigateur
 
+// http://doc.spip.org/@exec_informer_dist
 function exec_informer_dist()
 {
 	$id = intval(_request('id'));
diff --git a/ecrire/exec/instituer_auteur.php b/ecrire/exec/instituer_auteur.php
index a8259fac3beae716fb815c8c5035858e7a5917c1..393ac5df3068ed1d03b3f8b252a056fbb2900578 100644
--- a/ecrire/exec/instituer_auteur.php
+++ b/ecrire/exec/instituer_auteur.php
@@ -12,6 +12,7 @@
 
 if (!defined("_ECRIRE_INC_VERSION")) return;
 
+// http://doc.spip.org/@exec_instituer_auteur_dist
 function exec_instituer_auteur_dist()
 {
 	$script = _request('script');
diff --git a/ecrire/exec/legender.php b/ecrire/exec/legender.php
index 3ab6e375c32d1b961d328fc7f2cae7f93ee533e8..00e3d5c9b2a52d4f77b72a478575a181e858e9e3 100644
--- a/ecrire/exec/legender.php
+++ b/ecrire/exec/legender.php
@@ -12,6 +12,7 @@
 
 if (!defined("_ECRIRE_INC_VERSION")) return;
 
+// http://doc.spip.org/@exec_legender_dist
 function exec_legender_dist()
 {
 	global $id_document, $id, $type, $ancre, $script;
diff --git a/ecrire/exec/memoriser.php b/ecrire/exec/memoriser.php
index 8bf7c7f135800f0349cfe2c02cef86ec8be918f4..3dba548dad6bd84a162d7d766bf7ff8aa7ebc20a 100644
--- a/ecrire/exec/memoriser.php
+++ b/ecrire/exec/memoriser.php
@@ -12,6 +12,7 @@
 
 if (!defined("_ECRIRE_INC_VERSION")) return;
 
+// http://doc.spip.org/@exec_memoriser_dist
 function exec_memoriser_dist()
 {
 	global $flag_ob,$connect_id_auteur, $id_ajax_fonc;
diff --git a/ecrire/exec/mots_tous.php b/ecrire/exec/mots_tous.php
index c01ecabbf38b8631ebd3b939777d348646f1e97d..5626975b688b5c010e3f60eb567632791c83e8e6 100644
--- a/ecrire/exec/mots_tous.php
+++ b/ecrire/exec/mots_tous.php
@@ -170,6 +170,7 @@ while ($row_groupes = spip_fetch_array($result_groupes)) {
 echo fin_page();
 }
 
+// http://doc.spip.org/@confirmer_mot
 function confirmer_mot ($conf_mot, $son_groupe, $total)
 {
 	$row = spip_fetch_array(spip_query("SELECT * FROM spip_mots WHERE id_mot=$conf_mot"));
diff --git a/ecrire/exec/naviguer.php b/ecrire/exec/naviguer.php
index 5f40464b373e2b563429e9bdadf28909a788e452..67d4300d5edbcac1c9479b32e75c924d51ab5b93 100644
--- a/ecrire/exec/naviguer.php
+++ b/ecrire/exec/naviguer.php
@@ -370,6 +370,7 @@ if ($relief) {
 	bouton_supprimer_naviguer($id_rubrique, $id_parent, $ze_logo, $flag_editable);
 }
 
+// http://doc.spip.org/@naviguer_doc
 function naviguer_doc ($id, $type = "article", $script, $flag_editable) {
 	global $spip_lang_left;
 
diff --git a/ecrire/exec/petitionner.php b/ecrire/exec/petitionner.php
index bc2ccce52c85679c961c5eebf52e84837016d9f7..7c7b3607d84723866b2f24dc901392eec985ff69 100644
--- a/ecrire/exec/petitionner.php
+++ b/ecrire/exec/petitionner.php
@@ -12,6 +12,7 @@
 
 if (!defined("_ECRIRE_INC_VERSION")) return;
 
+// http://doc.spip.org/@exec_petitionner_dist
 function exec_petitionner_dist()
 {
 	global $id_article, $script;
diff --git a/ecrire/exec/plonger.php b/ecrire/exec/plonger.php
index 5b12894d256313a4267db64d5f0f92237ca90bb1..a1f90ab21043736e9721d5e946ef68c4196bf47a 100644
--- a/ecrire/exec/plonger.php
+++ b/ecrire/exec/plonger.php
@@ -15,6 +15,7 @@ if (!defined("_ECRIRE_INC_VERSION")) return;
 
 # afficher les sous-rubriques d'une rubrique (composant du mini-navigateur)
 
+// http://doc.spip.org/@exec_plonger_dist
 function exec_plonger_dist()
 {
 	global $id, $exclus, $col, $rac;
diff --git a/ecrire/exec/poster.php b/ecrire/exec/poster.php
index 75ea6225f3364d372689137a6ce4df1557deb7b9..1e1510daf868172c88a39d233c5cf358fadd554a 100644
--- a/ecrire/exec/poster.php
+++ b/ecrire/exec/poster.php
@@ -12,6 +12,7 @@
 
 if (!defined("_ECRIRE_INC_VERSION")) return;
 
+// http://doc.spip.org/@exec_poster_dist
 function exec_poster_dist()
 {
 	global $id_article, $script;
diff --git a/ecrire/exec/rechercher.php b/ecrire/exec/rechercher.php
index 2d57435151f78e7c368a7f917dff8d187dd63fe2..b766744ee2f653d8418df3753397ad4a15f27532 100644
--- a/ecrire/exec/rechercher.php
+++ b/ecrire/exec/rechercher.php
@@ -14,6 +14,7 @@ if (!defined("_ECRIRE_INC_VERSION")) return;
 
 # gerer un charset minimaliste en convertissant tout en unicode &#xxx;
 
+// http://doc.spip.org/@exec_rechercher_dist
 function exec_rechercher_dist()
 {
 		global $id, $exclus, $type, $rac;
diff --git a/ecrire/exec/referencer_traduction.php b/ecrire/exec/referencer_traduction.php
index e4a385cc83810e06c0bd584fff1230360a7e5d5e..9088d049613b8bbcaa83b86fb6a3961499fb4d06 100644
--- a/ecrire/exec/referencer_traduction.php
+++ b/ecrire/exec/referencer_traduction.php
@@ -12,6 +12,7 @@
 
 if (!defined("_ECRIRE_INC_VERSION")) return;
 
+// http://doc.spip.org/@exec_referencer_traduction_dist
 function exec_referencer_traduction_dist()
 {
 	$id_article = intval(_request('id_article'));
diff --git a/ecrire/exec/rubriquer.php b/ecrire/exec/rubriquer.php
index 06a19cebf9ddd360573dfb4540344745586a02ce..7d24945e20ac4e46780d0a9bb0e27c9b9312353b 100644
--- a/ecrire/exec/rubriquer.php
+++ b/ecrire/exec/rubriquer.php
@@ -14,6 +14,7 @@ if (!defined("_ECRIRE_INC_VERSION")) return;
 
 # petit moteur de recherche sur les rubriques
 
+// http://doc.spip.org/@exec_rubriquer_dist
 function exec_rubriquer_dist()
 {
 	global $id;
diff --git a/ecrire/exec/selectionner.php b/ecrire/exec/selectionner.php
index 401214d0b5d1c1ece3a6aa07f45c4b5d21a632f7..c7b63760746e17846665a48d06365a18677c71d9 100644
--- a/ecrire/exec/selectionner.php
+++ b/ecrire/exec/selectionner.php
@@ -14,6 +14,7 @@ if (!defined("_ECRIRE_INC_VERSION")) return;
 
 # afficher un mini-navigateur de rubriques
 
+// http://doc.spip.org/@exec_selectionner_dist
 function exec_selectionner_dist()
 {
 	$id = intval(_request('id'));
diff --git a/ecrire/exec/tourner.php b/ecrire/exec/tourner.php
index e0035065fd4121c3fa0d4c5e69313e1bf04aac8a..14af15092bd08de046eb6c8855b0cc90e0410d8d 100644
--- a/ecrire/exec/tourner.php
+++ b/ecrire/exec/tourner.php
@@ -12,6 +12,7 @@
 
 if (!defined("_ECRIRE_INC_VERSION")) return;
 
+// http://doc.spip.org/@exec_tourner_dist
 function exec_tourner_dist()
 {
 	global $id_document, $script, $id, $type, $ancre;
diff --git a/ecrire/extract/pdf.php b/ecrire/extract/pdf.php
index bc080314f7ae4dfb14d98e06dc0098295160c7ed..e68c4fe9ae29238b013a75f3c66da8cb310ba547 100644
--- a/ecrire/extract/pdf.php
+++ b/ecrire/extract/pdf.php
@@ -51,7 +51,7 @@ class Format_PDF {
 	var $trans_chars;
 	var $flag_mono, $flag_brut;
 
-	// http://doc.spip.org/@convertir_caracteres
+// http://doc.spip.org/@convertir_caracteres
 	function convertir_caracteres($texte) {
 		if (!$this->trans_chars) {
 			// Caracteres speciaux
@@ -75,7 +75,7 @@ class Format_PDF {
 		return $texte;
 	}
 
-	// http://doc.spip.org/@recoller_texte
+// http://doc.spip.org/@recoller_texte
 	function recoller_texte($stream) {
 		static $chars_voyelles, $chars_fusion, $chars_caps, $chars_nums, $bichars_fusion;
 		if (!$chars_voyelles) {
@@ -171,7 +171,7 @@ class Format_PDF {
 		return $extrait;
 	}
 
-	// http://doc.spip.org/@extraire_texte
+// http://doc.spip.org/@extraire_texte
 	function extraire_texte($fichier) {
 
 		$source_len = 1024*1024;
diff --git a/ecrire/inc/actions.php b/ecrire/inc/actions.php
index 6fe291c53ae2fba8537779ce17cc96a93b17732f..04a895e40236cbc644debe11ce3d730bb26c567a 100644
--- a/ecrire/inc/actions.php
+++ b/ecrire/inc/actions.php
@@ -184,6 +184,7 @@ function ajax_action_auteur($action, $id, $script, $args='', $corps=false, $args
 	}
 }
 
+// http://doc.spip.org/@ajax_action_declencheur
 function ajax_action_declencheur($request, $noeud, $fct_ajax='')
 {
 	return "'return AjaxSqueeze("
@@ -195,6 +196,7 @@ function ajax_action_declencheur($request, $noeud, $fct_ajax='')
 	. ")'";
 }
 
+// http://doc.spip.org/@ajax_action_greffe
 function ajax_action_greffe($idom, $corps)
 {
 	return _request('var_ajaxcharset')
@@ -202,6 +204,7 @@ function ajax_action_greffe($idom, $corps)
 	: "\n<div id='$idom'$atts>$corps</div>";
 }
 
+// http://doc.spip.org/@ajax_retour
 function ajax_retour($corps)
 {
 	$c = $GLOBALS['meta']["charset"];
diff --git a/ecrire/inc/auth.php b/ecrire/inc/auth.php
index 41faa6e2b2a2ff30328e3bfcf28e8dc966c801e9..5d110d7ceddc9826910c586af6a6ce12746ebf44 100644
--- a/ecrire/inc/auth.php
+++ b/ecrire/inc/auth.php
@@ -59,6 +59,7 @@ function acces_article($id_article)
 	return ($s == 'prepa' OR $s == 'prop' OR $s == 'poubelle');
 }
 
+// http://doc.spip.org/@auteurs_article
 function auteurs_article($id_article, $cond='')
 {
 	return spip_query("SELECT id_auteur FROM spip_auteurs_articles WHERE id_article=$id_article". ($cond ? " AND $cond" : ''));
diff --git a/ecrire/inc/boutons.php b/ecrire/inc/boutons.php
index 8d5babcf11ac3cee074d49e1ec52cd66d344fff1..2e2bfc2b72b45573ed1550d9636e2e7461511ad1 100644
--- a/ecrire/inc/boutons.php
+++ b/ecrire/inc/boutons.php
@@ -25,7 +25,7 @@ class Bouton {
   var $target= null;  /* pour ouvrir dans une fenetre a part */
   var $sousmenu= null;/* sous barre de boutons / onglets */
 
-  // http://doc.spip.org/@Bouton
+// http://doc.spip.org/@Bouton
   function Bouton($icone, $libelle, $url=null, $urlArg=null,
 				  $url2=null, $target=null) {
 	$this->icone  = $icone;
diff --git a/ecrire/inc/charsets.php b/ecrire/inc/charsets.php
index 9e44b16dee9352b4fa7e298fc1e0d39de0500601..4bcfe03e17625117cad9c74c3964324af36ce12f 100644
--- a/ecrire/inc/charsets.php
+++ b/ecrire/inc/charsets.php
@@ -693,6 +693,7 @@ function spip_substr($c, $start=0, $length = NULL) {
 }
 
 // version manuelle de substr utf8, pour php vieux et/ou mal installe
+// http://doc.spip.org/@spip_substr_manuelle
 function spip_substr_manuelle($c, $start, $length = NULL) {
 
 	// Cas pathologique
diff --git a/ecrire/inc/dater.php b/ecrire/inc/dater.php
index a016aa266693e827f777dd265406023dac829ad5..f6987239c3077986cd2f4f76e10dd684e544f6a7 100644
--- a/ecrire/inc/dater.php
+++ b/ecrire/inc/dater.php
@@ -17,6 +17,7 @@ include_spip('inc/texte');
 include_spip('inc/actions');
 include_spip('inc/date');
 
+// http://doc.spip.org/@inc_dater_dist
 function inc_dater_dist($id_article, $flag, $statut_article, $date, $date_redac)
 {
 	global $spip_lang_left, $spip_lang_right, $options;
diff --git a/ecrire/inc/diff.php b/ecrire/inc/diff.php
index 2aa7c283997c76187e1f1489f84000466f859478..5df4e4d871a39ed970b24cfafb7a9aec5c3713d2 100644
--- a/ecrire/inc/diff.php
+++ b/ecrire/inc/diff.php
@@ -134,13 +134,13 @@ class Diff {
 	var $diff;
 	var $fuzzy;
 
-	// http://doc.spip.org/@Diff
+// http://doc.spip.org/@Diff
 	function Diff($diff) {
 		$this->diff = $diff;
 		$this->fuzzy = true;
 	}
 
-	// http://doc.spip.org/@comparer
+// http://doc.spip.org/@comparer
 	function comparer($new, $old) {
 		$paras = $this->diff->segmenter($new);
 		$paras_old = $this->diff->segmenter($old);
@@ -217,49 +217,49 @@ class Diff {
 class DiffTexte {
 	var $r;
 
-	// http://doc.spip.org/@DiffTexte
+// http://doc.spip.org/@DiffTexte
 	function DiffTexte() {
 		$this->r = "";
 	}
 
-	// http://doc.spip.org/@_diff
+// http://doc.spip.org/@_diff
 	function _diff($p, $p_old) {
 		$diff = new Diff(new DiffPara);
 		return $diff->comparer($p, $p_old);
 	}
 
-	// http://doc.spip.org/@fuzzy
+// http://doc.spip.org/@fuzzy
 	function fuzzy() {
 		return true;
 	}
-	// http://doc.spip.org/@segmenter
+// http://doc.spip.org/@segmenter
 	function segmenter($texte) {
 		return separer_paras($texte);
 	}
 
 	// NB :  rem=\"diff-\" est un signal pour la fonction "afficher_para_modifies"
-	// http://doc.spip.org/@ajouter
+// http://doc.spip.org/@ajouter
 	function ajouter($p) {
 		$p = trim($p);
 		$this->r .= "\n\n\n<div class=\"diff-para-ajoute\" title=\""._T('diff_para_ajoute')."\">".$p."</div rem=\"diff-\">";
 	}
-	// http://doc.spip.org/@supprimer
+// http://doc.spip.org/@supprimer
 	function supprimer($p_old) {
 		$p_old = trim($p_old);
 		$this->r .= "\n\n\n<div class=\"diff-para-supprime\" title=\""._T('diff_para_supprime')."\">".$p_old."</div rem=\"diff-\">";
 	}
-	// http://doc.spip.org/@deplacer
+// http://doc.spip.org/@deplacer
 	function deplacer($p, $p_old) {
 		$this->r .= "\n\n\n<div class=\"diff-para-deplace\" title=\""._T('diff_para_deplace')."\">";
 		$this->r .= trim($this->_diff($p, $p_old));
 		$this->r .= "</div rem=\"diff-\">";
 	}
-	// http://doc.spip.org/@comparer
+// http://doc.spip.org/@comparer
 	function comparer($p, $p_old) {
 		$this->r .= "\n\n\n".$this->_diff($p, $p_old);
 	}
 	
-	// http://doc.spip.org/@resultat
+// http://doc.spip.org/@resultat
 	function resultat() {
 		return $this->r;
 	}
@@ -269,22 +269,22 @@ class DiffTexte {
 class DiffPara {
 	var $r;
 
-	// http://doc.spip.org/@DiffPara
+// http://doc.spip.org/@DiffPara
 	function DiffPara() {
 		$this->r = "";
 	}
 
-	// http://doc.spip.org/@_diff
+// http://doc.spip.org/@_diff
 	function _diff($p, $p_old) {
 		$diff = new Diff(new DiffPhrase);
 		return $diff->comparer($p, $p_old);
 	}
 
-	// http://doc.spip.org/@fuzzy
+// http://doc.spip.org/@fuzzy
 	function fuzzy() {
 		return true;
 	}
-	// http://doc.spip.org/@segmenter
+// http://doc.spip.org/@segmenter
 	function segmenter($texte) {
 		$paras = array();
 		$texte = trim($texte);
@@ -297,24 +297,24 @@ class DiffPara {
 		return $paras;
 	}
 
-	// http://doc.spip.org/@ajouter
+// http://doc.spip.org/@ajouter
 	function ajouter($p) {
 		$this->r .= "<span class=\"diff-ajoute\" title=\""._T('diff_texte_ajoute')."\">".$p."</span rem=\"diff-\">";
 	}
-	// http://doc.spip.org/@supprimer
+// http://doc.spip.org/@supprimer
 	function supprimer($p_old) {
 		$this->r .= "<span class=\"diff-supprime\" title=\""._T('diff_texte_supprime')."\">".$p_old."</span rem=\"diff-\">";
 	}
-	// http://doc.spip.org/@deplacer
+// http://doc.spip.org/@deplacer
 	function deplacer($p, $p_old) {
 		$this->r .= "<span class=\"diff-deplace\" title=\""._T('diff_texte_deplace')."\">".$this->_diff($p, $p_old)."</span rem=\"diff-\">";
 	}
-	// http://doc.spip.org/@comparer
+// http://doc.spip.org/@comparer
 	function comparer($p, $p_old) {
 		$this->r .= $this->_diff($p, $p_old);
 	}
 	
-	// http://doc.spip.org/@resultat
+// http://doc.spip.org/@resultat
 	function resultat() {
 		return $this->r;
 	}
@@ -324,16 +324,16 @@ class DiffPara {
 class DiffPhrase {
 	var $r;
 
-	// http://doc.spip.org/@DiffPhrase
+// http://doc.spip.org/@DiffPhrase
 	function DiffPhrase() {
 		$this->r = "";
 	}
 
-	// http://doc.spip.org/@fuzzy
+// http://doc.spip.org/@fuzzy
 	function fuzzy() {
 		return false;
 	}
-	// http://doc.spip.org/@segmenter
+// http://doc.spip.org/@segmenter
 	function segmenter($texte) {
 		$paras = array();
 		if (test_pcre_unicode()) {
@@ -380,20 +380,20 @@ class DiffPhrase {
 		return $paras;
 	}
 
-	// http://doc.spip.org/@ajouter
+// http://doc.spip.org/@ajouter
 	function ajouter($p) {
 		$this->r .= "<span class=\"diff-ajoute\" title=\""._T('diff_texte_ajoute')."\">".$p."</span rem=\"diff-\"> ";
 	}
-	// http://doc.spip.org/@supprimer
+// http://doc.spip.org/@supprimer
 	function supprimer($p_old) {
 		$this->r .= "<span class=\"diff-supprime\" title=\""._T('diff_texte_supprime')."\">".$p_old."</span rem=\"diff-\"> ";
 	}
-	// http://doc.spip.org/@comparer
+// http://doc.spip.org/@comparer
 	function comparer($p, $p_old) {
 		$this->r .= $p;
 	}
 
-	// http://doc.spip.org/@resultat
+// http://doc.spip.org/@resultat
 	function resultat() {
 		return $this->r;
 	}
diff --git a/ecrire/inc/discuter.php b/ecrire/inc/discuter.php
index ffcf4c7aedae4aadb8bc86c7fd534b169306ceae..3c0dd6f5e0a6fe75abf594bb81e8c096621429a6 100644
--- a/ecrire/inc/discuter.php
+++ b/ecrire/inc/discuter.php
@@ -46,6 +46,7 @@ function formulaire_discuter($query, $total, $debut, $total_afficher, $script, $
 	. $nav;
 }
 
+// http://doc.spip.org/@inc_discuter_dist
 function inc_discuter_dist($id_article, $flag, $debut=1)
 {
 	$debut = intval($debut);
diff --git a/ecrire/inc/documenter.php b/ecrire/inc/documenter.php
index 6ac41061841fc3a4c18aaf0daa02813ee5d44b43..9329b22b77d40a76ce3951fd65e5982399380266 100644
--- a/ecrire/inc/documenter.php
+++ b/ecrire/inc/documenter.php
@@ -16,7 +16,7 @@ if (!defined("_ECRIRE_INC_VERSION")) return;
 // => Nouveau : au lieu de les ignorer, on affiche desormais avec un fond gris
 // les documents et images inclus dans le texte.
 
-// http://doc.spip.org/@afficher_portfolio
+// http://doc.spip.org/@inc_documenter_dist
 function inc_documenter_dist(
 	$doc,		# tableau des documents ou numero de l'objet attachant
 	$type = "article",	# article ou rubrique ?
diff --git a/ecrire/inc/editer_article.php b/ecrire/inc/editer_article.php
index a5e37cc4835c16ee49dc36db546244cb30e1d81b..1e3c2f1d12065515922ecbc1f3804fb47d602649 100644
--- a/ecrire/inc/editer_article.php
+++ b/ecrire/inc/editer_article.php
@@ -15,7 +15,7 @@ if (!defined("_ECRIRE_INC_VERSION")) return;
 include_spip('inc/actions');
 include_spip('inc/barre');
 
-// http://doc.spip.org/@formulaire_articles_edit
+// http://doc.spip.org/@inc_editer_article
 function inc_editer_article($row, $lier_trad, $new, $champs_article) {
 
 	global $champs_extra, $spip_lang, $options, $spip_ecran, $spip_display;
diff --git a/ecrire/inc/editer_auteurs.php b/ecrire/inc/editer_auteurs.php
index e950bc808d98c3eab191306ee8f60203c069c5dc..5ad8d7a24a2a5fdaa09ce34751323964c1e7aecb 100644
--- a/ecrire/inc/editer_auteurs.php
+++ b/ecrire/inc/editer_auteurs.php
@@ -15,6 +15,7 @@ if (!defined("_ECRIRE_INC_VERSION")) return;
 include_spip('inc/presentation');
 include_spip('inc/actions');
 
+// http://doc.spip.org/@inc_editer_auteurs_dist
 function inc_editer_auteurs_dist($id_article, $flag, $cherche_auteur, $ids)
 {
 	global $options;
@@ -28,6 +29,7 @@ function inc_editer_auteurs_dist($id_article, $flag, $cherche_auteur, $ids)
 	return editer_auteurs_article($id_article, $flag, $cherche_auteur, $ids, $les_auteurs, $futurs);
 }
 
+// http://doc.spip.org/@editer_auteurs_article
 function editer_auteurs_article($id_article, $flag, $cherche_auteur, $ids, $les_auteurs, $futurs)
 {
 	global $spip_lang_left, $spip_lang_right, $options;
@@ -105,6 +107,7 @@ function editer_auteurs_article($id_article, $flag, $cherche_auteur, $ids, $les_
 	return ajax_action_greffe("editer_auteurs-$id_article", $res);
 }
 
+// http://doc.spip.org/@determiner_auteurs_article
 function determiner_auteurs_article($id_article, $cond='')
 {
 	$les_auteurs = array();
diff --git a/ecrire/inc/editer_mot.php b/ecrire/inc/editer_mot.php
index 21e1c4ce6297c71a437820cb72c704c3f859b006..6e1899258ae21f0ec53104350aac1a31857cbafa 100644
--- a/ecrire/inc/editer_mot.php
+++ b/ecrire/inc/editer_mot.php
@@ -14,7 +14,7 @@ if (!defined("_ECRIRE_INC_VERSION")) return;
 include_spip('inc/actions');
 
 
-// http://doc.spip.org/@formulaire_mots
+// http://doc.spip.org/@inc_editer_mot_dist
 function inc_editer_mot_dist($objet, $id_objet, $cherche_mot, $select_groupe, $flag) {
 	global $options, $connect_statut, $spip_lang_rtl, $spip_lang_right, $spip_lang;
 
diff --git a/ecrire/inc/envoyer_mail.php b/ecrire/inc/envoyer_mail.php
index 1404fa751d042e8cec69a81f7d0ec5714725aa32..a7512c9c38df4ded08959a9f94244b3b918f4c30 100644
--- a/ecrire/inc/envoyer_mail.php
+++ b/ecrire/inc/envoyer_mail.php
@@ -83,7 +83,7 @@ function nettoyer_caracteres_mail($t) {
 	return $t;
 }
 
-// http://doc.spip.org/@envoyer_mail
+// http://doc.spip.org/@inc_envoyer_mail_dist
 function inc_envoyer_mail_dist($email, $sujet, $texte, $from = "", $headers = "") {
 	global $hebergeur, $queue_mails;
 	include_spip('inc/charsets');
diff --git a/ecrire/inc/filtres.php b/ecrire/inc/filtres.php
index b9a99b00a7a502063cf4aa538ae8b37d1d6e6a5e..f7fb0f861869424c10d3de8567f815bc1fc2db7c 100644
--- a/ecrire/inc/filtres.php
+++ b/ecrire/inc/filtres.php
@@ -1700,6 +1700,7 @@ function f_jQuery ($texte) {
 
 // Concatenet des chaines
 // #TEXTE|concat{texte1,texte2,...}
+// http://doc.spip.org/@concat
 function concat(){
 	$tous = func_get_args();
 	$texte = "";
diff --git a/ecrire/inc/filtres_images.php b/ecrire/inc/filtres_images.php
index 2c9dd72290232bcf4927d75f927ca75a558ca900..de47700ee8ec77cb29d1c045d414ef2589fc8044 100644
--- a/ecrire/inc/filtres_images.php
+++ b/ecrire/inc/filtres_images.php
@@ -171,6 +171,7 @@ function image_alpha($im, $alpha = 63)
 	return "<img src='$dest'$tags />";
 }
 
+// http://doc.spip.org/@image_recadre
 function image_recadre($im,$width,$height,$position='center')
 {
 	$image = image_valeurs_trans($im, "recadre-$width-$height-$position");
@@ -1356,6 +1357,7 @@ function image_couleur_extraire($img, $x=10, $y=6) {
 	return $GLOBALS["couleur_extraite"]["$fichier-$x-$y"];
 }
 
+// http://doc.spip.org/@couleur_html_to_hex
 function couleur_html_to_hex($couleur){
 	$couleurs_html=array(
 		'aqua'=>'00FFFF','black'=>'000000','blue'=>'0000FF','fuchsia'=>'FF00FF','gray'=>'808080','green'=>'008000','lime'=>'00FF00','maroon'=>'800000',
diff --git a/ecrire/inc/forum.php b/ecrire/inc/forum.php
index 8163b6e29908e0bca411693502e09322b1bd71b2..ea3f66517e48bcc48300734faf26dbc5503dc07f 100644
--- a/ecrire/inc/forum.php
+++ b/ecrire/inc/forum.php
@@ -13,6 +13,7 @@
 if (!defined("_ECRIRE_INC_VERSION")) return;
 include_spip('inc/actions');
 
+// http://doc.spip.org/@affiche_navigation_forum
 function affiche_navigation_forum($script, $args, $debut, $i, $pack, $ancre, $query)
 {
 	$nav = ($i <=0) ? '' : ("<a href='" . generer_url_ecrire($script, $args) ."'>0</a> ... |\n");
diff --git a/ecrire/inc/gadgets.php b/ecrire/inc/gadgets.php
index 4b13523126b250e0a373cf9b6afeef4eed8b9240..637384dd8bcdd0e6d8e03e196e6d090858ab6f3a 100644
--- a/ecrire/inc/gadgets.php
+++ b/ecrire/inc/gadgets.php
@@ -24,6 +24,7 @@ include_spip('inc/presentation');
 //
 
 
+// http://doc.spip.org/@inc_gadgets_dist
 function inc_gadgets_dist($id_rubrique, $gadget)
 {
 	$gadget = 'gadget_' . $gadget;
@@ -469,6 +470,7 @@ function gadget_messagerie() {
 	return $gadget;
 }
 
+// http://doc.spip.org/@repercuter_gadgets
 function repercuter_gadgets($id_rubrique) {
 	if ($_COOKIE['spip_accepte_ajax'] == -1) return '';
 
diff --git a/ecrire/inc/getdocument.php b/ecrire/inc/getdocument.php
index 99b29e1d30caff6b13f6c698c59fe691244f8597..643222a65c76096e35fe2ce468e8905c3f4fd0ca 100644
--- a/ecrire/inc/getdocument.php
+++ b/ecrire/inc/getdocument.php
@@ -516,6 +516,7 @@ function examiner_les_fichiers($files, $mode, $type, $id, $id_document, $hash, $
 // Afficher un formulaire de choix: decompacter et/ou garder tel quel.
 // Passer ca en squelette un de ces jours.
 
+// http://doc.spip.org/@liste_archive_jointe
 function liste_archive_jointe($valables, $mode, $type, $id, $id_document, $hash, $redirect, $zip)
 {
 	$arg = (intval($id) .'/' .intval($id_document) . "/$mode/$type");
diff --git a/ecrire/inc/grouper_mots.php b/ecrire/inc/grouper_mots.php
index 684718f2655d2668e0bb20d313fa589d4af558a1..e151a2435e77acaef6774802e28a37fcc04dc5e0 100644
--- a/ecrire/inc/grouper_mots.php
+++ b/ecrire/inc/grouper_mots.php
@@ -16,7 +16,7 @@ include_spip('inc/presentation');
 include_spip('inc/actions');
 include_spip('base/abstract_sql');
 
-// http://doc.spip.org/@afficher_groupe_mots
+// http://doc.spip.org/@inc_grouper_mots_dist
 function inc_grouper_mots_dist($id_groupe, $cpt) {
 	global $connect_statut, $spip_lang_right, $spip_lang;
 
@@ -131,6 +131,7 @@ function afficher_groupe_mots_boucle($row, $occurrences, $total)
 	return $vals;			
 }
 
+// http://doc.spip.org/@generer_supprimer_mot
 function generer_supprimer_mot($id_mot, $id_groupe, $clic, $total)
 {
 	$cont = ($total > 1)
diff --git a/ecrire/inc/iconifier.php b/ecrire/inc/iconifier.php
index 670825f9b40a23913883a8897fc51d2f1b982e4f..46bf45c36907524a57dcde4588599fd3f7fa76ba 100644
--- a/ecrire/inc/iconifier.php
+++ b/ecrire/inc/iconifier.php
@@ -14,6 +14,7 @@ if (!defined("_ECRIRE_INC_VERSION")) return;
 
 include_spip('inc/actions');
 
+// http://doc.spip.org/@inc_iconifier_dist
 function inc_iconifier_dist($id_objet, $id,  $script) {
 
 	$texteon = $GLOBALS['logo_libelles'][($id OR $id_objet != 'id_rubrique') ? $id_objet : 'id_racine'];
diff --git a/ecrire/inc/informer.php b/ecrire/inc/informer.php
index 97887155eb86e2bcd37e6600993c2c019542f8bc..3b0dfbd03c6d58f6800a54a94c4169e217fbfd2a 100644
--- a/ecrire/inc/informer.php
+++ b/ecrire/inc/informer.php
@@ -14,6 +14,7 @@ if (!defined("_ECRIRE_INC_VERSION")) return;
 
 # Les information d'une rubrique selectionnee dans le mini navigateur
 
+// http://doc.spip.org/@inc_informer_dist
 function inc_informer_dist($id, $col, $exclus, $rac, $type)
 {
 	global $couleur_foncee,$spip_display,$spip_lang_right ;
diff --git a/ecrire/inc/instituer_article.php b/ecrire/inc/instituer_article.php
index f49a8e0a62ecf51c8aa0a91ebd23c4b68ca567c1..7e8cb065f2a9a333b6ffd906eb2ac43c8ea628e5 100644
--- a/ecrire/inc/instituer_article.php
+++ b/ecrire/inc/instituer_article.php
@@ -12,6 +12,7 @@
 
 if (!defined("_ECRIRE_INC_VERSION")) return;
 
+// http://doc.spip.org/@inc_instituer_article_dist
 function inc_instituer_article_dist($id_article, $statut=-1)
 {
 	if ($statut == -1) return demande_publication($id_article);
diff --git a/ecrire/inc/instituer_auteur.php b/ecrire/inc/instituer_auteur.php
index 16ad046ea5d52a45aa2dbecbdd2d1229608a1877..e45348bbc5db3fd5823f9324d4dcc21c87a66c59 100644
--- a/ecrire/inc/instituer_auteur.php
+++ b/ecrire/inc/instituer_auteur.php
@@ -22,7 +22,7 @@ include_spip('inc/presentation');
 // les admins restreints les voient mais 
 // ne peuvent les utiliser que pour mettre un auteur a la poubelle
 
-// http://doc.spip.org/@auteur_voir_rubriques
+// http://doc.spip.org/@inc_instituer_auteur_dist
 function inc_instituer_auteur_dist($id_auteur, $statut, $url_self)
 {
 	global $connect_toutes_rubriques, $connect_id_auteur, $connect_statut, $spip_lang_right, $spip_lang;
diff --git a/ecrire/inc/invalideur.php b/ecrire/inc/invalideur.php
index c2298d59ea73fce005b287b0cd9e32e7d8c28d0c..b9a4a5317533be6f60432e6eacef1bc7c45c6a2d 100644
--- a/ecrire/inc/invalideur.php
+++ b/ecrire/inc/invalideur.php
@@ -289,6 +289,7 @@ function code_invalideur_forums($p, $code) {
 
 
 // Fonction permettant au compilo de calculer les invalideurs d'une page
+// http://doc.spip.org/@calcul_invalideurs
 function calcul_invalideurs($corps, $primary, &$boucles, $id_boucle) {
 	if ($primary == 'id_forum'
 	OR in_array($primary, explode(',', $GLOBALS['invalider_caches']))) {
diff --git a/ecrire/inc/joindre.php b/ecrire/inc/joindre.php
index 89de4d5356d7863a47acc854325c20e5681f2a97..e6e2b1e460b87369ed078c92b498ad6c4ba038c3 100644
--- a/ecrire/inc/joindre.php
+++ b/ecrire/inc/joindre.php
@@ -19,6 +19,7 @@ include_spip('base/abstract_sql');
 // Construire un formulaire pour telecharger un fichier
 //
 
+// http://doc.spip.org/@inc_joindre_dist
 function inc_joindre_dist($script, $args, $id=0, $intitule='', $mode='', $type='', $ancre='', $id_document=0) {
 	global $spip_lang_right;
 	$vignette_de_doc = ($mode == 'vignette' AND $id_document>0);
diff --git a/ecrire/inc/lang.php b/ecrire/inc/lang.php
index 9004f2783ec6c1154a3afaf0562db1a7cf4a6d0a..feede593c75705139420762ab8a3ce588bf02895 100644
--- a/ecrire/inc/lang.php
+++ b/ecrire/inc/lang.php
@@ -485,6 +485,7 @@ function init_langues() {
 	}
 }
 
+// http://doc.spip.org/@html_lang_attributes
 function html_lang_attributes()
 {
 	return  "<html lang='"
diff --git a/ecrire/inc/layer.php b/ecrire/inc/layer.php
index 9ab4768722b25bf53f79d53d6f7e628f3dc7b7c0..6bb643984c865031395e9933cad4aaff59036eff 100644
--- a/ecrire/inc/layer.php
+++ b/ecrire/inc/layer.php
@@ -20,6 +20,7 @@ $compteur_block = 0;
 if (_request('var_ajaxcharset'))
 $compteur_block = rand(1,2500)*500;	// astuce idiote pour que les blocs ahah n'aient pas les memes numeros de triangle que la page principale (sinon le triangle d'un bloc importe par ahah agit sur un autre triangle... vivement jquery...).
 
+// http://doc.spip.org/@block_parfois_visible
 function block_parfois_visible($nom, $invite, $masque, $style='', $visible=false)
 {
 	if (!$GLOBALS['browser_layer']) return '';
@@ -46,6 +47,7 @@ function block_parfois_visible($nom, $invite, $masque, $style='', $visible=false
 }
 
 
+// http://doc.spip.org/@renomme_block
 function renomme_block($nom_block)
 {
 	global $numero_block, $compteur_block;
diff --git a/ecrire/inc/legender.php b/ecrire/inc/legender.php
index 3f9241bdf3713f5df8ee13f0a6fd41163f429a3f..412bc6cd1179234be64fb0c03818e16a2b63d15f 100644
--- a/ecrire/inc/legender.php
+++ b/ecrire/inc/legender.php
@@ -21,6 +21,7 @@ include_spip('inc/date');
 // En mode Ajax pour eviter de recharger toute la page ou il se trouve
 // (surtout si c'est un portfolio)
 
+// http://doc.spip.org/@inc_legender_dist
 function inc_legender_dist($id_document, $document, $script, $type, $id, $ancre) {
 
 	// + securite (avec le script exec=legender ca vient de dehors)
@@ -123,6 +124,7 @@ function inc_legender_dist($id_document, $document, $script, $type, $id, $ancre)
 }
 
 
+// http://doc.spip.org/@vignette_formulaire_legender
 function vignette_formulaire_legender($id_document, $document, $script, $type, $id, $ancre)
 {
 	$id_vignette = $document['id_vignette'];
@@ -180,6 +182,7 @@ function formulaire_taille($document) {
 	}
 }
 
+// http://doc.spip.org/@date_formulaire_legender
 function date_formulaire_legender($date, $id_document) {
 
 	if (ereg("([0-9]{4})-([0-9]{2})-([0-9]{2})", $date, $regs)){
diff --git a/ecrire/inc/legender_auteur.php b/ecrire/inc/legender_auteur.php
index 23649382c9b10e62cba32569d8e2634cc4ede0b0..b0cda2952dcff026770b8d466e810e98d2914cab 100644
--- a/ecrire/inc/legender_auteur.php
+++ b/ecrire/inc/legender_auteur.php
@@ -13,7 +13,7 @@
 if (!defined("_ECRIRE_INC_VERSION")) return;
 
 
-// http://doc.spip.org/@formulaire_auteur_infos
+// http://doc.spip.org/@inc_legender_auteur
 function inc_legender_auteur($id_auteur, $auteur, $initial, $ajouter_id_article, $redirect)
 {
 	global $connect_statut, $connect_toutes_rubriques,$connect_id_auteur, $options, $champs_extra  ;
diff --git a/ecrire/inc/pclzip.php b/ecrire/inc/pclzip.php
index 5f289f7f53ce5a852e706b0e02b4750f0a185d58..15ccdff651e458d5c24b2f7e895e411272c15084 100644
--- a/ecrire/inc/pclzip.php
+++ b/ecrire/inc/pclzip.php
@@ -183,6 +183,7 @@
   //   Note that no real action is taken, if the archive does not exist it is not
   //   created. Use create() for that.
   // --------------------------------------------------------------------------------
+// http://doc.spip.org/@PclZip
   function PclZip($p_zipname)
   {
     //--(MAGIC-PclTrace)--//PclTraceFctStart(__FILE__, __LINE__, 'PclZip::PclZip', "zipname=$p_zipname");
@@ -242,6 +243,7 @@
   //   The list of the added files, with a status of the add action.
   //   (see PclZip::listContent() for list entry format)
   // --------------------------------------------------------------------------------
+// http://doc.spip.org/@create
   function create($p_filelist)
   {
     //--(MAGIC-PclTrace)--//PclTraceFctStart(__FILE__, __LINE__, 'PclZip::create', "filelist='$p_filelist', ...");
@@ -428,6 +430,7 @@
   //   The list of the added files, with a status of the add action.
   //   (see PclZip::listContent() for list entry format)
   // --------------------------------------------------------------------------------
+// http://doc.spip.org/@add
   function add($p_filelist)
   {
     //--(MAGIC-PclTrace)--//PclTraceFctStart(__FILE__, __LINE__, 'PclZip::add', "filelist='$p_filelist', ...");
@@ -619,6 +622,7 @@
   //   0 on an unrecoverable failure,
   //   The list of the files in the archive.
   // --------------------------------------------------------------------------------
+// http://doc.spip.org/@listContent
   function listContent()
   {
     //--(MAGIC-PclTrace)--//PclTraceFctStart(__FILE__, __LINE__, 'PclZip::listContent', "");
@@ -680,6 +684,7 @@
   //   The list of the extracted files, with a status of the action.
   //   (see PclZip::listContent() for list entry format)
   // --------------------------------------------------------------------------------
+// http://doc.spip.org/@extract
   function extract()
   {
     //--(MAGIC-PclTrace)--//PclTraceFctStart(__FILE__, __LINE__, "PclZip::extract", "");
@@ -841,6 +846,7 @@
   //   (see PclZip::listContent() for list entry format)
   // --------------------------------------------------------------------------------
   //function extractByIndex($p_index, options...)
+// http://doc.spip.org/@extractByIndex
   function extractByIndex($p_index)
   {
     //--(MAGIC-PclTrace)--//PclTraceFctStart(__FILE__, __LINE__, "PclZip::extractByIndex", "index='$p_index', ...");
@@ -997,6 +1003,7 @@
   //   The list of the files which are still present in the archive.
   //   (see PclZip::listContent() for list entry format)
   // --------------------------------------------------------------------------------
+// http://doc.spip.org/@delete
   function delete()
   {
     //--(MAGIC-PclTrace)--//PclTraceFctStart(__FILE__, __LINE__, "PclZip::delete", "");
@@ -1062,6 +1069,7 @@
   //   ***** Deprecated *****
   //   delete(PCLZIP_OPT_BY_INDEX, $p_index) should be prefered.
   // --------------------------------------------------------------------------------
+// http://doc.spip.org/@deleteByIndex
   function deleteByIndex($p_index)
   {
     //--(MAGIC-PclTrace)--//PclTraceFctStart(__FILE__, __LINE__, "PclZip::deleteByIndex", "index='$p_index'");
@@ -1088,6 +1096,7 @@
   //   0 on failure,
   //   An array with the archive properties.
   // --------------------------------------------------------------------------------
+// http://doc.spip.org/@properties
   function properties()
   {
     //--(MAGIC-PclTrace)--//PclTraceFctStart(__FILE__, __LINE__, "PclZip::properties", "");
@@ -1167,6 +1176,7 @@
   //   1 on success.
   //   0 or a negative value on error (error code).
   // --------------------------------------------------------------------------------
+// http://doc.spip.org/@duplicate
   function duplicate($p_archive)
   {
     //--(MAGIC-PclTrace)--//PclTraceFctStart(__FILE__, __LINE__, "PclZip::duplicate", "");
@@ -1230,6 +1240,7 @@
   //   1 on success,
   //   0 or negative values on error (see below).
   // --------------------------------------------------------------------------------
+// http://doc.spip.org/@merge
   function merge($p_archive_to_add)
   {
     //--(MAGIC-PclTrace)--//PclTraceFctStart(__FILE__, __LINE__, "PclZip::merge", "");
@@ -1286,6 +1297,7 @@
   // Description :
   // Parameters :
   // --------------------------------------------------------------------------------
+// http://doc.spip.org/@errorCode
   function errorCode()
   {
     if (PCLZIP_ERROR_EXTERNAL == 1) {
@@ -1302,6 +1314,7 @@
   // Description :
   // Parameters :
   // --------------------------------------------------------------------------------
+// http://doc.spip.org/@errorName
   function errorName($p_with_code=false)
   {
     $v_name = array ( PCLZIP_ERR_NO_ERROR => 'PCLZIP_ERR_NO_ERROR',
@@ -1348,6 +1361,7 @@
   // Description :
   // Parameters :
   // --------------------------------------------------------------------------------
+// http://doc.spip.org/@errorInfo
   function errorInfo($p_full=false)
   {
     if (PCLZIP_ERROR_EXTERNAL == 1) {
@@ -1387,6 +1401,7 @@
   //   true on success,
   //   false on error, the error code is set.
   // --------------------------------------------------------------------------------
+// http://doc.spip.org/@privCheckFormat
   function privCheckFormat($p_level=0)
   {
     //--(MAGIC-PclTrace)--//PclTraceFctStart(__FILE__, __LINE__, "PclZip::privCheckFormat", "");
@@ -1444,6 +1459,7 @@
   //   1 on success.
   //   0 on failure.
   // --------------------------------------------------------------------------------
+// http://doc.spip.org/@privParseOptions
   function privParseOptions(&$p_options_list, $p_size, &$v_result_list, $v_requested_options=false)
   {
     //--(MAGIC-PclTrace)--//PclTraceFctStart(__FILE__, __LINE__, "PclZip::privParseOptions", "");
@@ -1825,6 +1841,7 @@
   //   1 on success.
   //   0 on failure.
   // --------------------------------------------------------------------------------
+// http://doc.spip.org/@privFileDescrParseAtt
   function privFileDescrParseAtt(&$p_file_list, &$p_filedescr, $v_options, $v_requested_options=false)
   {
     //--(MAGIC-PclTrace)--//PclTraceFctStart(__FILE__, __LINE__, "PclZip::privFileDescrParseAtt", "");
@@ -1940,6 +1957,7 @@
   //   1 on success.
   //   0 on failure.
   // --------------------------------------------------------------------------------
+// http://doc.spip.org/@privFileDescrExpand
   function privFileDescrExpand(&$p_filedescr_list, &$p_options)
   {
     //--(MAGIC-PclTrace)--//PclTraceFctStart(__FILE__, __LINE__, "PclZip::privFileDescrExpand", "");
@@ -2063,6 +2081,7 @@
   // Parameters :
   // Return Values :
   // --------------------------------------------------------------------------------
+// http://doc.spip.org/@privCreate
   function privCreate($p_filedescr_list, &$p_result_list, &$p_options)
   {
     //--(MAGIC-PclTrace)--//PclTraceFctStart(__FILE__, __LINE__, "PclZip::privCreate", "list");
@@ -2101,6 +2120,7 @@
   // Parameters :
   // Return Values :
   // --------------------------------------------------------------------------------
+// http://doc.spip.org/@privAdd
   function privAdd($p_filedescr_list, &$p_result_list, &$p_options)
   {
     //--(MAGIC-PclTrace)--//PclTraceFctStart(__FILE__, __LINE__, "PclZip::privAdd", "list");
@@ -2297,6 +2317,7 @@
   // Description :
   // Parameters :
   // --------------------------------------------------------------------------------
+// http://doc.spip.org/@privOpenFd
   function privOpenFd($p_mode)
   {
     //--(MAGIC-PclTrace)--//PclTraceFctStart(__FILE__, __LINE__, "PclZip::privOpenFd", 'mode='.$p_mode);
@@ -2336,6 +2357,7 @@
   // Description :
   // Parameters :
   // --------------------------------------------------------------------------------
+// http://doc.spip.org/@privCloseFd
   function privCloseFd()
   {
     //--(MAGIC-PclTrace)--//PclTraceFctStart(__FILE__, __LINE__, "PclZip::privCloseFd", "");
@@ -2365,6 +2387,7 @@
   // Return Values :
   // --------------------------------------------------------------------------------
 //  function privAddList($p_list, &$p_result_list, $p_add_dir, $p_remove_dir, $p_remove_all_dir, &$p_options)
+// http://doc.spip.org/@privAddList
   function privAddList($p_filedescr_list, &$p_result_list, &$p_options)
   {
     //--(MAGIC-PclTrace)--//PclTraceFctStart(__FILE__, __LINE__, "PclZip::privAddList", "list");
@@ -2434,6 +2457,7 @@
   //   $p_result_list : list of added files with their properties (specially the status field)
   // Return Values :
   // --------------------------------------------------------------------------------
+// http://doc.spip.org/@privAddFileList
   function privAddFileList($p_filedescr_list, &$p_result_list, &$p_options)
   {
     //--(MAGIC-PclTrace)--//PclTraceFctStart(__FILE__, __LINE__, "PclZip::privAddFileList", "filedescr_list");
@@ -2499,6 +2523,7 @@
   // Parameters :
   // Return Values :
   // --------------------------------------------------------------------------------
+// http://doc.spip.org/@privAddFile
   function privAddFile($p_filedescr, &$p_header, &$p_options)
   {
     //--(MAGIC-PclTrace)--//PclTraceFctStart(__FILE__, __LINE__, "PclZip::privAddFile", "filename='".$p_filedescr['filename']."'");
@@ -2726,6 +2751,7 @@
   // Parameters :
   // Return Values :
   // --------------------------------------------------------------------------------
+// http://doc.spip.org/@privCalculateStoredFilename
   function privCalculateStoredFilename(&$p_filedescr, &$p_options)
   {
     //--(MAGIC-PclTrace)--//PclTraceFctStart(__FILE__, __LINE__, "PclZip::privCalculateStoredFilename", "filename='".$p_filedescr['filename']."'");
@@ -2841,6 +2867,7 @@
   // Parameters :
   // Return Values :
   // --------------------------------------------------------------------------------
+// http://doc.spip.org/@privWriteFileHeader
   function privWriteFileHeader(&$p_header)
   {
     //--(MAGIC-PclTrace)--//PclTraceFctStart(__FILE__, __LINE__, "PclZip::privWriteFileHeader", 'file="'.$p_header['filename'].'", stored as "'.$p_header['stored_filename'].'"');
@@ -2890,6 +2917,7 @@
   // Parameters :
   // Return Values :
   // --------------------------------------------------------------------------------
+// http://doc.spip.org/@privWriteCentralFileHeader
   function privWriteCentralFileHeader(&$p_header)
   {
     //--(MAGIC-PclTrace)--//PclTraceFctStart(__FILE__, __LINE__, "PclZip::privWriteCentralFileHeader", 'file="'.$p_header['filename'].'", stored as "'.$p_header['stored_filename'].'"');
@@ -2946,6 +2974,7 @@
   // Parameters :
   // Return Values :
   // --------------------------------------------------------------------------------
+// http://doc.spip.org/@privWriteCentralHeader
   function privWriteCentralHeader($p_nb_entries, $p_size, $p_offset, $p_comment)
   {
     //--(MAGIC-PclTrace)--//PclTraceFctStart(__FILE__, __LINE__, "PclZip::privWriteCentralHeader", 'nb_entries='.$p_nb_entries.', size='.$p_size.', offset='.$p_offset.', comment="'.$p_comment.'"');
@@ -2977,6 +3006,7 @@
   // Parameters :
   // Return Values :
   // --------------------------------------------------------------------------------
+// http://doc.spip.org/@privList
   function privList(&$p_list)
   {
     //--(MAGIC-PclTrace)--//PclTraceFctStart(__FILE__, __LINE__, "PclZip::privList", "list");
@@ -3074,6 +3104,7 @@
   // Parameters :
   // Return Values :
   // --------------------------------------------------------------------------------
+// http://doc.spip.org/@privConvertHeader2FileInfo
   function privConvertHeader2FileInfo($p_header, &$p_info)
   {
     //--(MAGIC-PclTrace)--//PclTraceFctStart(__FILE__, __LINE__, "PclZip::privConvertHeader2FileInfo", "Filename='".$p_header['filename']."'");
@@ -3112,6 +3143,7 @@
   // Return Values :
   //   1 on success,0 or less on error (see error code list)
   // --------------------------------------------------------------------------------
+// http://doc.spip.org/@privExtractByRule
   function privExtractByRule(&$p_file_list, $p_path, $p_remove_path, $p_remove_all_path, &$p_options)
   {
     //--(MAGIC-PclTrace)--//PclTraceFctStart(__FILE__, __LINE__, "PclZip::privExtractByRule", "path='$p_path', remove_path='$p_remove_path', remove_all_path='".($p_remove_all_path?'true':'false')."'");
@@ -3494,6 +3526,7 @@
   // 1 : ... ?
   // PCLZIP_ERR_USER_ABORTED(2) : User ask for extraction stop in callback
   // --------------------------------------------------------------------------------
+// http://doc.spip.org/@privExtractFile
   function privExtractFile(&$p_entry, $p_path, $p_remove_path, $p_remove_all_path, &$p_options)
   {
     //--(MAGIC-PclTrace)--//PclTraceFctStart(__FILE__, __LINE__, 'PclZip::privExtractFile', "path='$p_path', remove_path='$p_remove_path', remove_all_path='".($p_remove_all_path?'true':'false')."'");
@@ -3896,6 +3929,7 @@
   // Parameters :
   // Return Values :
   // --------------------------------------------------------------------------------
+// http://doc.spip.org/@privExtractFileInOutput
   function privExtractFileInOutput(&$p_entry, &$p_options)
   {
     //--(MAGIC-PclTrace)--//PclTraceFctStart(__FILE__, __LINE__, 'PclZip::privExtractFileInOutput', "");
@@ -4021,6 +4055,7 @@
   // Parameters :
   // Return Values :
   // --------------------------------------------------------------------------------
+// http://doc.spip.org/@privExtractFileAsString
   function privExtractFileAsString(&$p_entry, &$p_string)
   {
     //--(MAGIC-PclTrace)--//PclTraceFctStart(__FILE__, __LINE__, 'PclZip::privExtractFileAsString', "p_entry['filename']='".$p_entry['filename']."'");
@@ -4087,6 +4122,7 @@
   // Parameters :
   // Return Values :
   // --------------------------------------------------------------------------------
+// http://doc.spip.org/@privReadFileHeader
   function privReadFileHeader(&$p_header)
   {
     //--(MAGIC-PclTrace)--//PclTraceFctStart(__FILE__, __LINE__, "PclZip::privReadFileHeader", "");
@@ -4214,6 +4250,7 @@
   // Parameters :
   // Return Values :
   // --------------------------------------------------------------------------------
+// http://doc.spip.org/@privReadCentralFileHeader
   function privReadCentralFileHeader(&$p_header)
   {
     //--(MAGIC-PclTrace)--//PclTraceFctStart(__FILE__, __LINE__, "PclZip::privReadCentralFileHeader", "");
@@ -4349,6 +4386,7 @@
   //   1 on success,
   //   0 on error;
   // --------------------------------------------------------------------------------
+// http://doc.spip.org/@privCheckFileHeaders
   function privCheckFileHeaders(&$p_local_header, &$p_central_header)
   {
     //--(MAGIC-PclTrace)--//PclTraceFctStart(__FILE__, __LINE__, "PclZip::privCheckFileHeaders", "");
@@ -4399,6 +4437,7 @@
   // Parameters :
   // Return Values :
   // --------------------------------------------------------------------------------
+// http://doc.spip.org/@privReadEndCentralDir
   function privReadEndCentralDir(&$p_central_dir)
   {
     //--(MAGIC-PclTrace)--//PclTraceFctStart(__FILE__, __LINE__, "PclZip::privReadEndCentralDir", "");
@@ -4584,6 +4623,7 @@
   // Parameters :
   // Return Values :
   // --------------------------------------------------------------------------------
+// http://doc.spip.org/@privDeleteByRule
   function privDeleteByRule(&$p_result_list, &$p_options)
   {
     //--(MAGIC-PclTrace)--//PclTraceFctStart(__FILE__, __LINE__, "PclZip::privDeleteByRule", "");
@@ -4943,6 +4983,7 @@
   //    1 : OK
   //   -1 : Unable to create directory
   // --------------------------------------------------------------------------------
+// http://doc.spip.org/@privDirCheck
   function privDirCheck($p_dir, $p_is_dir=false)
   {
     $v_result = 1;
@@ -5006,6 +5047,7 @@
   // Parameters :
   // Return Values :
   // --------------------------------------------------------------------------------
+// http://doc.spip.org/@privMerge
   function privMerge(&$p_archive_to_add)
   {
     //--(MAGIC-PclTrace)--//PclTraceFctStart(__FILE__, __LINE__, "PclZip::privMerge", "archive='".$p_archive_to_add->zipname."'");
@@ -5215,6 +5257,7 @@
   // Parameters :
   // Return Values :
   // --------------------------------------------------------------------------------
+// http://doc.spip.org/@privDuplicate
   function privDuplicate($p_archive_filename)
   {
     //--(MAGIC-PclTrace)--//PclTraceFctStart(__FILE__, __LINE__, "PclZip::privDuplicate", "archive_filename='$p_archive_filename'");
@@ -5284,6 +5327,7 @@
   // Description :
   // Parameters :
   // --------------------------------------------------------------------------------
+// http://doc.spip.org/@privErrorLog
   function privErrorLog($p_error_code=0, $p_error_string='')
   {
     if (PCLZIP_ERROR_EXTERNAL == 1) {
@@ -5301,6 +5345,7 @@
   // Description :
   // Parameters :
   // --------------------------------------------------------------------------------
+// http://doc.spip.org/@privErrorReset
   function privErrorReset()
   {
     if (PCLZIP_ERROR_EXTERNAL == 1) {
@@ -5319,6 +5364,7 @@
   // Parameters :
   // Return Values :
   // --------------------------------------------------------------------------------
+// http://doc.spip.org/@privDecrypt
   function privDecrypt($p_encryption_header, &$p_buffer, $p_size, $p_crc)
   {
     //--(MAGIC-PclTrace)--//PclTraceFctStart(__FILE__, __LINE__, 'PclZip::privDecrypt', "size=".$p_size."");
@@ -5342,6 +5388,7 @@
   // Parameters :
   // Return Values :
   // --------------------------------------------------------------------------------
+// http://doc.spip.org/@privDisableMagicQuotes
   function privDisableMagicQuotes()
   {
     //--(MAGIC-PclTrace)--//PclTraceFctStart(__FILE__, __LINE__, 'PclZip::privDisableMagicQuotes', "");
@@ -5384,6 +5431,7 @@
   // Parameters :
   // Return Values :
   // --------------------------------------------------------------------------------
+// http://doc.spip.org/@privSwapBackMagicQuotes
   function privSwapBackMagicQuotes()
   {
     //--(MAGIC-PclTrace)--//PclTraceFctStart(__FILE__, __LINE__, 'PclZip::privSwapBackMagicQuotes', "");
@@ -5426,6 +5474,7 @@
   // Parameters :
   // Return Values :
   // --------------------------------------------------------------------------------
+// http://doc.spip.org/@PclZipUtilPathReduction
   function PclZipUtilPathReduction($p_dir)
   {
     //--(MAGIC-PclTrace)--//PclTraceFctStart(__FILE__, __LINE__, "PclZipUtilPathReduction", "dir='$p_dir'");
@@ -5510,6 +5559,7 @@
   //   1 if $p_path is inside directory $p_dir
   //   2 if $p_path is exactly the same as $p_dir
   // --------------------------------------------------------------------------------
+// http://doc.spip.org/@PclZipUtilPathInclusion
   function PclZipUtilPathInclusion($p_dir, $p_path)
   {
     //--(MAGIC-PclTrace)--//PclTraceFctStart(__FILE__, __LINE__, "PclZipUtilPathInclusion", "dir='$p_dir', path='$p_path'");
@@ -5595,6 +5645,7 @@
   //             3 : src & dest gzip
   // Return Values :
   // --------------------------------------------------------------------------------
+// http://doc.spip.org/@PclZipUtilCopyBlock
   function PclZipUtilCopyBlock($p_src, $p_dest, $p_size, $p_mode=0)
   {
     //--(MAGIC-PclTrace)--//PclTraceFctStart(__FILE__, __LINE__, "PclZipUtilCopyBlock", "size=$p_size, mode=$p_mode");
@@ -5667,6 +5718,7 @@
   // Return Values :
   //   1 on success, 0 on failure.
   // --------------------------------------------------------------------------------
+// http://doc.spip.org/@PclZipUtilRename
   function PclZipUtilRename($p_src, $p_dest)
   {
     //--(MAGIC-PclTrace)--//PclTraceFctStart(__FILE__, __LINE__, "PclZipUtilRename", "source=$p_src, destination=$p_dest");
@@ -5702,6 +5754,7 @@
   // Return Values :
   //   The option text value.
   // --------------------------------------------------------------------------------
+// http://doc.spip.org/@PclZipUtilOptionText
   function PclZipUtilOptionText($p_option)
   {
     //--(MAGIC-PclTrace)--//PclTraceFctStart(__FILE__, __LINE__, "PclZipUtilOptionText", "option='".$p_option."'");
@@ -5736,6 +5789,7 @@
   // Return Values :
   //   The path translated.
   // --------------------------------------------------------------------------------
+// http://doc.spip.org/@PclZipUtilTranslateWinPath
   function PclZipUtilTranslateWinPath($p_path, $p_remove_disk_letter=true)
   {
     if (stristr(php_uname(), 'windows')) {
diff --git a/ecrire/inc/petitionner.php b/ecrire/inc/petitionner.php
index 862a89fe590b2f67a114d88112c83d352bc15b0d..4278e3cc0a50055e1ba0e92caa5c6b50f3a463de 100644
--- a/ecrire/inc/petitionner.php
+++ b/ecrire/inc/petitionner.php
@@ -16,7 +16,7 @@ include_spip('inc/presentation');
 include_spip('inc/actions');
 include_spip('inc/texte');
 
-// http://doc.spip.org/@formulaire_petitionner
+// http://doc.spip.org/@inc_petitionner_dist
 function inc_petitionner_dist($id_article, $script, $args, $modifiable)
 {
 	global $spip_lang_right, $options, $connect_statut;
diff --git a/ecrire/inc/plonger.php b/ecrire/inc/plonger.php
index 7c9c56d5e62cd70088e712b5e25ba279fefad341..b069a0ece27191629ea7a147818da577f2d35e94 100644
--- a/ecrire/inc/plonger.php
+++ b/ecrire/inc/plonger.php
@@ -12,7 +12,7 @@
 
 if (!defined("_ECRIRE_INC_VERSION")) return;
 
-// http://doc.spip.org/@mini_afficher_rubrique
+// http://doc.spip.org/@inc_plonger_dist
 function inc_plonger_dist($id_rubrique, $idom="", $list=array(), $col = 1, $exclu=0) {
 	global  $spip_lang_left;
 	
diff --git a/ecrire/inc/poster.php b/ecrire/inc/poster.php
index 0b091205212024dbee88bab54220417e990087b8..28cb89ff1d0f5e6ccdf845e4a2fc968306deff05 100644
--- a/ecrire/inc/poster.php
+++ b/ecrire/inc/poster.php
@@ -28,7 +28,7 @@ function get_forums_publics($id_article=0) {
 }
 
 // Cree le formulaire de modification du reglage des forums de l'article
-// http://doc.spip.org/@formulaire_poster
+// http://doc.spip.org/@inc_poster_dist
 function inc_poster_dist($id_article, $script, $args, $flag=false) {
 
 	global $spip_lang_right, $options, $connect_statut;
diff --git a/ecrire/inc/presentation.php b/ecrire/inc/presentation.php
index 3d8ba8af686f46abfed25a84e21144e8fe6a98e9..57a86246ff53baf1ecb550561d75b58ff5a6c3cf 100644
--- a/ecrire/inc/presentation.php
+++ b/ecrire/inc/presentation.php
@@ -382,6 +382,7 @@ function bandeau_titre_boite2($titre, $logo="", $fond="white", $texte="black", $
 // La boite des raccourcis
 // Se place a droite si l'ecran est en mode panoramique.
 
+// http://doc.spip.org/@bloc_des_raccourcis
 function bloc_des_raccourcis($bloc) {
 	global $spip_display;
 
@@ -1839,6 +1840,7 @@ function largeur_icone_bandeau_principal($texte) {
 	return $largeur;
 }
 
+// http://doc.spip.org/@bandeau_principal
 function bandeau_principal($rubrique, $sous_rubrique, $largeur)
 {
 	$res = '';
@@ -2386,6 +2388,7 @@ if (true /*$bandeau_colore*/) {
 }
 
 
+// http://doc.spip.org/@avertissement_messagerie
 function avertissement_messagerie() {
 	global $couleur_foncee;
 	global $connect_id_auteur;
@@ -2402,6 +2405,7 @@ function avertissement_messagerie() {
 }
 
 
+// http://doc.spip.org/@auteurs_recemment_connectes
 function auteurs_recemment_connectes()
 {	
 	global $connect_id_auteur;
@@ -2597,6 +2601,7 @@ function debut_droite($rubrique="", $return= false) {
 	if ($return) return $res; else echo $res;
 }
 
+// http://doc.spip.org/@liste_articles_bloques
 function liste_articles_bloques()
 {
 	global $connect_id_auteur, $couleur_foncee;
@@ -2672,6 +2677,7 @@ function debloquer_article($arg, $texte) {
 	  "</a>";
 }
 
+// http://doc.spip.org/@meme_rubrique
 function meme_rubrique($id_rubrique, $id, $type, $order='date', $limit=30)
 {
 	global $spip_lang_right, $spip_lang_left, $options;
diff --git a/ecrire/inc/referencer_traduction.php b/ecrire/inc/referencer_traduction.php
index 3f18f99687abd9e2846e49a57f7495f122f43e6d..488b2ff859674426d4160c6f628266245666cac7 100644
--- a/ecrire/inc/referencer_traduction.php
+++ b/ecrire/inc/referencer_traduction.php
@@ -14,6 +14,7 @@ if (!defined("_ECRIRE_INC_VERSION")) return;
 
 include_spip('inc/presentation');
 
+// http://doc.spip.org/@inc_referencer_traduction_dist
 function inc_referencer_traduction_dist($id_article, $flag, $id_rubrique, $id_trad, $trad_err='')
 {
 	global $connect_statut, $couleur_claire, $options, $connect_toutes_rubriques, $spip_lang_right, $dir_lang;
diff --git a/ecrire/inc/sax.php b/ecrire/inc/sax.php
index 3831e8ac3a57c876e1ae0a7e959de265dfa7fee1..b44380c66548050f785678dfcf275855289ca387 100644
--- a/ecrire/inc/sax.php
+++ b/ecrire/inc/sax.php
@@ -112,7 +112,7 @@ function defautElement($parser, $data)
   $contenu[$depth] .= $data;
 }
 
- // http://doc.spip.org/@translate_entities
+// http://doc.spip.org/@translate_entities
  function translate_entities($data)
  {
    return
diff --git a/ecrire/inc/selectionner.php b/ecrire/inc/selectionner.php
index 758d4dd985c285cd80e196bdd767b954aba65405..3746ee6bef6e3b7ffbac84f2495627b982b6e696 100644
--- a/ecrire/inc/selectionner.php
+++ b/ecrire/inc/selectionner.php
@@ -16,6 +16,7 @@ if (!defined("_ECRIRE_INC_VERSION")) return;
 // Affiche un mini-navigateur ajax positionne sur la rubrique $sel
 //
 
+// http://doc.spip.org/@inc_selectionner_dist
 function inc_selectionner_dist ($sel, $idom="",$fonction="", $exclus=0, $aff_racine=false, $recur=true) {
 
 	global $couleur_foncee, $spip_lang_right, $spip_lang_left;
@@ -87,7 +88,7 @@ function inc_selectionner_dist ($sel, $idom="",$fonction="", $exclus=0, $aff_rac
 	. "</div></div>\n<div id='$idom3'></div></div>\n";
 }
 
-// http://doc.spip.org/@mini_afficher_hierarchie
+// http://doc.spip.org/@mini_hier
 function mini_hier ($id_rubrique) {
 	
 	$id_parent = $id_rubrique;
diff --git a/ecrire/inc/texte.php b/ecrire/inc/texte.php
index 581ce06bb795aebb005409c7fb33f6fe5b537112..551ec54fb9d49ca92a90734370aa47744cd4f1b9 100644
--- a/ecrire/inc/texte.php
+++ b/ecrire/inc/texte.php
@@ -112,11 +112,13 @@ function code_echappement($rempl, $source='') {
 }
 
 // Echapper les <html>...</ html>
+// http://doc.spip.org/@traiter_echap_html_dist
 function traiter_echap_html_dist($regs) {
 	return $regs[3];
 }
 
 // Echapper les <code>...</ code>
+// http://doc.spip.org/@traiter_echap_code_dist
 function traiter_echap_code_dist($regs) {
 	$echap = entites_html($regs[3]);
 	// supprimer les sauts de ligne debut/fin
@@ -140,6 +142,7 @@ function traiter_echap_code_dist($regs) {
 }
 
 // Echapper les <cadre>...</ cadre> aka <frame>...</ frame>
+// http://doc.spip.org/@traiter_echap_cadre_dist
 function traiter_echap_cadre_dist($regs) {
 	$echap = trim(entites_html($regs[3]));
 	$total_lignes = substr_count($echap, "\n") + 1;
@@ -150,10 +153,12 @@ function traiter_echap_cadre_dist($regs) {
 	."</textarea></div></form>";
 	return $echap;
 }
+// http://doc.spip.org/@traiter_echap_frame_dist
 function traiter_echap_frame_dist($regs) {
 	return traiter_echap_cadre_dist($regs);
 }
 
+// http://doc.spip.org/@traiter_echap_script_dist
 function traiter_echap_script_dist($regs) {
 	return $regs[0];
 }
@@ -364,6 +369,7 @@ function interdire_scripts($source) {
 */
 
 // afficher joliment les <script>
+// http://doc.spip.org/@echappe_js
 function echappe_js($t,$class='') {
 	if (preg_match_all(',<script.*?($|</script.),isS', $t, $r, PREG_SET_ORDER))
 	foreach ($r as $regs)
@@ -1123,6 +1129,7 @@ function paragrapher($letexte, $forcer=true) {
 // 2=>double fleche (historiquement, liens ouvrants)
 // 3=>url
 //
+// http://doc.spip.org/@traiter_raccourci_lien
 function traiter_raccourci_lien($regs) {
 
 	// title et hreflang donnes par le raccourci ?
diff --git a/ecrire/inc/tourner.php b/ecrire/inc/tourner.php
index a704a675b8f4ef176740874776860162194ac4e7..d6bc5f3634b49f13ea38f8a3e3f72cb90d238524 100644
--- a/ecrire/inc/tourner.php
+++ b/ecrire/inc/tourner.php
@@ -17,7 +17,7 @@ include_spip('inc/documents');
 include_spip('inc/presentation');
 include_spip('inc/filtres');
 
-// http://doc.spip.org/@formulaire_tourner
+// http://doc.spip.org/@inc_tourner_dist
 function inc_tourner_dist($id_document, $document, $script, $flag, $type)
 {
 	global $spip_lang_right;
diff --git a/ecrire/inc/urls.php b/ecrire/inc/urls.php
index 7a17b3fbc09ecb0ac005bfd32667413709414ac9..98ac087ccf14cbaa9f1fa20c4fd022912a63d51e 100644
--- a/ecrire/inc/urls.php
+++ b/ecrire/inc/urls.php
@@ -102,42 +102,42 @@ function generer_url_ecrire_statistiques($id_article) {
 if (!_DIR_RESTREINT) {
 
   if (!function_exists('generer_url_article')) {
-	// http://doc.spip.org/@generer_url_article
+// http://doc.spip.org/@generer_url_article
 	function generer_url_article($id, $stat='')
 		{ return generer_url_ecrire_article($id, $stat);}
   }
   if (!function_exists('generer_url_rubrique')) {
-	// http://doc.spip.org/@generer_url_rubrique
+// http://doc.spip.org/@generer_url_rubrique
 	function generer_url_rubrique($id, $stat='')
 		{ return generer_url_ecrire_rubrique($id, $stat);}
   }
   if (!function_exists('generer_url_breve')) {
-	// http://doc.spip.org/@generer_url_breve
+// http://doc.spip.org/@generer_url_breve
 	function generer_url_breve($id, $stat='')
 		{ return generer_url_ecrire_breve($id, $stat);}
   }
   if (!function_exists('generer_url_mot')) {
-	// http://doc.spip.org/@generer_url_mot
+// http://doc.spip.org/@generer_url_mot
 	function generer_url_mot($id, $stat='')
 		{ return generer_url_ecrire_mot($id, $stat);}
   }
   if (!function_exists('generer_url_site')) {
-	// http://doc.spip.org/@generer_url_site
+// http://doc.spip.org/@generer_url_site
 	function generer_url_site($id, $stat='')
 		{ return generer_url_ecrire_site($id, $stat);}
   }
   if (!function_exists('generer_url_auteur')) {
-	// http://doc.spip.org/@generer_url_auteur
+// http://doc.spip.org/@generer_url_auteur
 	function generer_url_auteur($id, $stat='')
 		{ return generer_url_ecrire_auteur($id, $stat);}
   }
   if (!function_exists('generer_url_forum')) {
-	// http://doc.spip.org/@generer_url_forum
+// http://doc.spip.org/@generer_url_forum
 	function generer_url_forum($id, $stat='')
 		{ return generer_url_ecrire_forum($id, $stat);}
   }
   if (!function_exists('generer_url_document')) {
-	// http://doc.spip.org/@generer_url_document
+// http://doc.spip.org/@generer_url_document
 	function generer_url_document($id, $stat='')
 		{ return generer_url_ecrire_document($id, $stat);}
   }
diff --git a/ecrire/inc/utils.php b/ecrire/inc/utils.php
index 6ab79809f73350e2558b5ad48b9cfaee4e6abcef..2e4dea3ea8a656f849070719b62940ec4c01494f 100644
--- a/ecrire/inc/utils.php
+++ b/ecrire/inc/utils.php
@@ -653,6 +653,7 @@ function find_in_path ($filename) {
 }
 
 
+// http://doc.spip.org/@find_all_in_path
 function find_all_in_path($dir,$pattern){
 	$liste_fichiers=array();
 	$maxfiles = 10000;
diff --git a/ecrire/inc/vieilles_defs.php b/ecrire/inc/vieilles_defs.php
index 94bd15d8066315a588614e83e7dd48a3496dc996..fc4483bb9859b64ba09ee5f6fe87127a1ec4fed7 100644
--- a/ecrire/inc/vieilles_defs.php
+++ b/ecrire/inc/vieilles_defs.php
@@ -21,6 +21,7 @@ if (!defined("_ECRIRE_INC_VERSION")) return;
 /* reecrites conformement a la nouvelle interface.		*/
 
 
+// http://doc.spip.org/@debut_raccourcis
 function debut_raccourcis() {
         global $spip_display;
         echo "<div>&nbsp;</div>";
@@ -36,6 +37,7 @@ function debut_raccourcis() {
         }
 }
 
+// http://doc.spip.org/@fin_raccourcis
 function fin_raccourcis() {
         global $spip_display;
         
@@ -45,6 +47,7 @@ function fin_raccourcis() {
         fin_cadre_enfonce();
 }
 
+// http://doc.spip.org/@include_ecrire
 function include_ecrire($file, $silence=false) {
 	preg_match('/^((inc_)?([^.]*))(\.php[3]?)?$/', $file, $r);
 
@@ -63,10 +66,13 @@ function include_ecrire($file, $silence=false) {
 		return include_once($f);
 }
 
+// http://doc.spip.org/@lire_meta
 function lire_meta($nom) { global $meta; return $meta[$nom];}
 
+// http://doc.spip.org/@afficher_script_layer
 function afficher_script_layer(){echo $GLOBALS['browser_layer'];}
 
+// http://doc.spip.org/@test_layer
 function test_layer(){return $GLOBALS['browser_layer'];}
 
 ?>
diff --git a/ecrire/inc/virtualiser.php b/ecrire/inc/virtualiser.php
index 1a44199186fe8feb00dd35608bb403722159c788..85e335fac3b71d296ee443401d7d2318e2ea9782 100644
--- a/ecrire/inc/virtualiser.php
+++ b/ecrire/inc/virtualiser.php
@@ -13,7 +13,7 @@
 if (!defined("_ECRIRE_INC_VERSION")) return;
 include_spip('inc/actions');
 
-// http://doc.spip.org/@formulaire_virtualiser
+// http://doc.spip.org/@inc_virtualiser_dist
 function inc_virtualiser_dist($id_article, $flag, $virtuel, $script, $args)
 {
 	global $spip_lang_right, $options, $connect_statut;
diff --git a/ecrire/public/balises.php b/ecrire/public/balises.php
index 846630de31bac4f3351ae763a0da1edb04d2c80f..c39ddf6e84ccea1007a5b4a601f03b5d16831f4d 100644
--- a/ecrire/public/balises.php
+++ b/ecrire/public/balises.php
@@ -22,6 +22,7 @@
 
 if (!defined("_ECRIRE_INC_VERSION")) return;
 
+// http://doc.spip.org/@interprete_argument_balise
 function interprete_argument_balise($n,$p){
 	if (($p->param) && (!$p->param[0][0]) && (count($p->param[0])>$n))
 		return calculer_liste($p->param[0][$n],
@@ -1252,7 +1253,7 @@ function balise_GET_dist($p) {
 // #PIPELINE{insert_body}
 // #PIPELINE{insert_body,flux}
 //
-// http://doc.spip.org/@balise_INSERT_HEAD_dist
+// http://doc.spip.org/@balise_PIPELINE_dist
 function balise_PIPELINE_dist($p) {
 	$_pipe = interprete_argument_balise(1,$p);
 	$_flux = interprete_argument_balise(2,$p);
diff --git a/ecrire/public/compiler.php b/ecrire/public/compiler.php
index 3aa1bc4de58728ef1e6b3afd33addc3f1bd6e5ae..b7ed486ad08602f76bb1c32dd05d571dc157fcac 100644
--- a/ecrire/public/compiler.php
+++ b/ecrire/public/compiler.php
@@ -133,6 +133,7 @@ function calculer_boucle($id_boucle, &$boucles) {
 // il suffit (ET IL FAUT) sauvegarder les valeurs des arguments passes par
 // reference, car par definition un tel passage ne les sauvegarde pas
 
+// http://doc.spip.org/@calculer_boucle_rec
 function calculer_boucle_rec($id_boucle, &$boucles) {
 	$nom = $boucles[$id_boucle]->param[0];
 	return "\n\t\$save_numrows = (\$Numrows['$nom']);"