diff --git a/ecrire/base/abstract_sql.php b/ecrire/base/abstract_sql.php
index 318ffbc2736b1804116e41a6dce29044c18b5c1d..d65d1376843c4fbb2db14e4631f739a1bf882d80 100644
--- a/ecrire/base/abstract_sql.php
+++ b/ecrire/base/abstract_sql.php
@@ -256,7 +256,8 @@ function sql_get_select($select = array(), $from = array(), $where = array(),
  * @param string $serveur
  * 		Le serveur sollicite (pour retrouver la connexion)
  * @param bool|string $option
- * 		Peut avoir 3 valeurs : 
+ * 		Peut avoir 3 valeurs :
+ * 
  * 		- false -> ne pas l'executer mais la retourner, 
  * 		- continue -> ne pas echouer en cas de serveur sql indisponible,
  * 		- true -> executer la requete.
@@ -433,17 +434,18 @@ function sql_listdbs($serveur='', $option=true) {
  *
  * @api
  * @param string $nom
- * 		Nom de la base a utiliser
+ *     Nom de la base a utiliser
  * @param string $serveur
- * 		Nom du connecteur
+ *     Nom du connecteur
  * @param bool|string $option
- * 		Peut avoir 2 valeurs : 
- * 		- true -> executer la requete
- * 		- continue -> ne pas echouer en cas de serveur sql indisponible
+ *     Peut avoir 2 valeurs :
+ * 
+ *     - true -> executer la requete
+ *     - continue -> ne pas echouer en cas de serveur sql indisponible
  * 
  * @return bool|string
- * 		True ou nom de la base en cas de success.
- * 		False en cas d'erreur.
+ *     - True ou nom de la base en cas de success.
+ *     - False en cas d'erreur.
 **/
 function sql_selectdb($nom, $serveur='', $option=true)
 {
@@ -496,7 +498,37 @@ function sql_insertq($table, $couples=array(), $desc=array(), $serveur='', $opti
 	return $r;
 }
 
-// http://doc.spip.org/@sql_insertq_multi
+/**
+ * Insère plusieurs lignes d'un coup dans une table
+ *
+ * Insère en une opération plusieurs éléments au schéma identique
+ * dans une table de la base de données. Lorsque les portages le permettent,
+ * ils utilisent une seule requête SQL pour réaliser l’ajout.
+ *
+ * @api
+ * @see sql_insertq()
+ * 
+ * @param string $table
+ *     Nom de la table SQL
+ * @param array $couples
+ *     Tableau de tableaux associatifs (nom => valeur)
+ * @param array $desc
+ *     Tableau de description des colonnes de la table SQL utilisée
+ *     (il sera calculé si nécessaire s'il n'est pas transmis).
+ * @param string $serveur
+ *     Nom du connecteur
+ * @param bool|string $option
+ *     Peut avoir 3 valeurs :
+ * 
+ *     - false : ne pas l'exécuter mais la retourner, 
+ *     - true : exécuter la requête
+ *     - 'continue' : ne pas échouer en cas de serveur sql indisponible
+ * 
+ * @return bool|string
+ *     - True en cas de succès,
+ *     - Texte de la requête si demandé,
+ *     - False en cas d'erreur.
+**/
 function sql_insertq_multi($table, $couples=array(), $desc=array(), $serveur='', $option=true)
 {
 	$f = sql_serveur('insertq_multi', $serveur,  $option==='continue' OR $option===false);
@@ -680,11 +712,30 @@ function sql_create_base($nom, $serveur='', $option=true)
 	return $r;
 }
 
-// Fonction pour creer une vue 
-// nom : nom de la vue,
-// select_query : une requete select, idealement cree avec $req = sql_select()
-// (en mettant $option du sql_select a false pour recuperer la requete)
-// http://doc.spip.org/@sql_create_view
+
+/**
+ * Crée une vue SQL
+ *
+ * @api
+ * @see sql_get_select() Pour obtenir le texte de la requête SELECT pour créer la vue.
+ * 
+ * @param string $nom
+ *     Nom de la vue
+ * @param string $select_query
+ *     Une requête SELECT, idéalement crée avec `sql_get_select(...)`
+ * @param string $serveur
+ *     Nom du connecteur
+ * @param bool|string $option
+ *     Peut avoir 3 valeurs :
+ * 
+ *     - false : ne pas l'exécuter mais la retourner, 
+ *     - true : exécuter la requête
+ *     - 'continue' : ne pas échouer en cas de serveur sql indisponible
+ * @return bool|string
+ *     - true si succès,
+ *     - texte de la requête si demandé
+ *     - false en cas d'échec.
+**/
 function sql_create_view($nom, $select_query, $serveur='', $option=true) {
 	$f = sql_serveur('create_view', $serveur,  $option==='continue' OR $option===false);
 	if (!is_string($f) OR !$f) return false;
diff --git a/ecrire/inc/charger_php_extension.php b/ecrire/inc/charger_php_extension.php
index 35f1722d03c4f652c6780980371f2398ff69c543..8f6b039ba804bf42fc6d9625486dccf8d1fe17aa 100644
--- a/ecrire/inc/charger_php_extension.php
+++ b/ecrire/inc/charger_php_extension.php
@@ -1,20 +1,34 @@
 <?php
 
+/**
+ * Chargement d'une extension PHP
+ *
+ * @package SPIP\Core\Outils
+**/
+
 if (!defined('_ECRIRE_INC_VERSION')) return;
 
-// cette fonction (adaptee de phpMyAdmin)
-// permet de charger un module php
-// dont le nom est donne en argument (ex: 'mysql')
-// retourne true en cas de succes
-//
-// 3 etapes :
-// - 1) si le module est deja charge, on sort vainqueur
-// - 2) on teste si l'on a la possibilite de charger un module
-// via la meta 'dl_allowed'. Si elle n'est pas renseignee, 
-// elle sera cree en fonction des parametres de php
-// - 3) si l'on peut, on charge le module par la fonction dl()
-//
-// http://doc.spip.org/@inc_charger_php_extension_dist
+/**
+ * Permet de charger un module PHP dont le nom est donné en argument
+ *
+ * Fonction adaptée de phpMyAdmin.
+ *
+ * Trois étapes :
+ *
+ * 1) si le module est deja charge, on sort vainqueur
+ * 2) on teste si l'on a la possibilité de charger un module
+ *    via la meta `dl_allowed`. Si elle n'est pas renseignée,
+ *    elle sera crée en fonction des paramètres de php
+ * 3) si l'on peut, on charge le module par la fonction `dl()`
+ *
+ * @note
+ *     La fonction `dl()` n'est plus présente à partir de PHP 5.3.
+ * 
+ * @param string $module
+ *     Nom du module à charger (tel que 'mysql')
+ * @return bool
+ *     true en cas de succes
+**/
 function inc_charger_php_extension_dist($module){
 	if (extension_loaded($module)) {
 		return true;
diff --git a/ecrire/inc/filtres.php b/ecrire/inc/filtres.php
index fa05dc7ef5cca445a31cce9b1498f1f5bc3d18ad..ad26a5cf47190c7f2416042287e7d4326c04ba6d 100644
--- a/ecrire/inc/filtres.php
+++ b/ecrire/inc/filtres.php
@@ -2798,9 +2798,29 @@ function match($texte, $expression, $modif="UimsS",$capte=0) {
 	return false;
 }
 
-// filtre replace pour faire des operations avec expression reguliere
-// [(#TEXTE|replace{^ceci$,cela,UimsS})]
-// http://doc.spip.org/@replace
+
+/**
+ * Remplacement de texte à base d'expression régulière
+ *
+ * @filtre replace
+ * @link http://www.spip.net/4309
+ * @see match()
+ * @example
+ *     ```
+ *     [(#TEXTE|replace{^ceci$,cela,UimsS})]
+ *     ```
+ * 
+ * @param string $texte
+ *     Texte
+ * @param string $expression
+ *     Expression régulière
+ * @param string $replace
+ *     Texte de substitution des éléments trouvés
+ * @param string $modif
+ *     Modificateurs pour l'expression régulière.
+ * @return string
+ *     Texte 
+**/
 function replace($texte, $expression, $replace='', $modif="UimsS") {
 	$expression=str_replace("\/","/", $expression);
 	$expression=str_replace("/","\/",$expression);
diff --git a/ecrire/inc/headers.php b/ecrire/inc/headers.php
index ee167cbd9a20a7ea2cea214c53cdb25a704f1437..20fc6e7b4e1fd1e3cf7dd5b5a5f7029d12ad87e5 100644
--- a/ecrire/inc/headers.php
+++ b/ecrire/inc/headers.php
@@ -124,7 +124,23 @@ function redirige_formulaire($url, $equiv = '', $format='message') {
 	}
 }
 
-// http://doc.spip.org/@redirige_url_ecrire
+/**
+ * Effectue une redirection par header PHP vers un script de l’interface privée
+ *
+ * @uses redirige_par_entete() Qui tue le script PHP.
+ * @example
+ *     ```
+ *     include_spip('inc/headers');
+ *     redirige_url_ecrire('rubriques','id_rubrique=' . $id_rubrique);
+ *     ```
+ * 
+ * @param string $script
+ *     Nom de la page privée (exec)
+ * @param string args
+ *     Arguments à transmettre. Exemple `etape=1&autre=oui`
+ * @param string $equiv
+ * @return void
+**/
 function redirige_url_ecrire($script='', $args='', $equiv='') {
 	return redirige_par_entete(generer_url_ecrire($script, $args, true), $equiv);
 }
diff --git a/ecrire/inc/meta.php b/ecrire/inc/meta.php
index 2b328f2e061ee4ee9660e67e307d7149a9810c66..11d27d2b0c00cb251dc468e9586e49809e1dad1c 100644
--- a/ecrire/inc/meta.php
+++ b/ecrire/inc/meta.php
@@ -10,6 +10,12 @@
  *  Pour plus de details voir le fichier COPYING.txt ou l'aide en ligne.   *
 \***************************************************************************/
 
+/**
+ * Gestion des meta de configuration
+ *
+ * @package SPIP\Core\Configuration
+**/
+
 if (!defined('_ECRIRE_INC_VERSION')) return;
 
 // Les parametres generaux du site sont dans une table SQL;
@@ -85,9 +91,16 @@ function lire_metas($table='meta') {
 	return $GLOBALS[$table];
 }
 
-// Mettre en cache la liste des meta, sauf les valeurs sensibles 
-// pour qu'elles ne soient pas visibiles dans un fichier.souvent en 777
-// http://doc.spip.org/@touch_meta
+
+/**
+ * Mettre en cache la liste des meta, sauf les valeurs sensibles
+ * pour qu'elles ne soient pas visibiles dans un fichier (souvent en 777)
+ *
+ * @param bool|int $antidate
+ *      Date de modification du fichier à appliquer si indiqué (timestamp)
+ * @param string $table
+ *      Table SQL d'enregistrement des meta.
+**/
 function touch_meta($antidate= false, $table='meta'){
 	$file = cache_meta($table);
 	if (!$antidate OR !@touch($file, $antidate)) {
@@ -103,7 +116,18 @@ function touch_meta($antidate= false, $table='meta'){
 	}
 }
 
-// http://doc.spip.org/@effacer_meta
+/**
+ * Supprime une meta
+ *
+ * @see ecrire_config()
+ * @see effacer_config()
+ * @see lire_config()
+ * 
+ * @param string $nom
+ *     Nom de la meta
+ * @param string $table
+ *     Table SQL d'enregistrement de la meta.
+**/
 function effacer_meta($nom, $table='meta') {
 	// section critique sur le cache:
 	// l'invalider avant et apres la MAJ de la BD
@@ -117,7 +141,22 @@ function effacer_meta($nom, $table='meta') {
 	if (!isset($touch[$table])) {touch_meta($antidate, $table); $touch[$table] = false;}
 }
 
-// http://doc.spip.org/@ecrire_meta
+/**
+ * Met à jour où crée une meta avec la clé et valeur indiquée
+ *
+ * @see ecrire_config()
+ * @see effacer_config()
+ * @see lire_config()
+ * 
+ * @param string $nom
+ *     Nom de la meta
+ * @param string $valeur
+ *     Valeur à enregistrer
+ * @param bool|null $importable
+ *     Cette meta s'importe-elle avec une restauration de sauvegarde ?
+ * @param string $table
+ *     Table SQL d'enregistrement de la meta.
+**/
 function ecrire_meta($nom, $valeur, $importable = NULL, $table='meta') {
 
 	static $touch = array();
@@ -151,13 +190,20 @@ function ecrire_meta($nom, $valeur, $importable = NULL, $table='meta') {
 	if (!isset($touch[$table])) {touch_meta($antidate, $table); $touch[$table] = false;}
 }
 
-function cache_meta($table='meta')
-{
+/**
+ * Retourne le nom du fichier cache d'une table SQL de meta
+ *
+ * @param string $table
+ *     Table SQL d'enregistrement des meta.
+ * @return string
+ *     Nom du fichier cache
+**/
+function cache_meta($table='meta') {
 	return ($table=='meta') ? _FILE_META : (_DIR_CACHE . $table . '.php');
 }
 
 /**
- * Une fonction pour installer une table de configuration supplementaire
+ * Installer une table de configuration supplementaire
  * @param string $table
  */
 function installer_table_meta($table) {
@@ -172,8 +218,9 @@ function installer_table_meta($table) {
 }
 
 /**
- * Une fonction pour supprimer une table de configuration supplementaire
- * si $force=true, on ne verifie pas qu'elle est bien vide
+ * Supprimer une table de configuration supplémentaire
+ * 
+ * Si $force=true, on ne verifie pas qu'elle est bien vide
  * 
  * @param string $table
  * @param bool $force
diff --git a/ecrire/inc/session.php b/ecrire/inc/session.php
index c814a771477dc0c7ab8938f3b14c1be98b305af9..c1a39030d22d7da69b49e0947c2b588b8c3ccdde 100644
--- a/ecrire/inc/session.php
+++ b/ecrire/inc/session.php
@@ -249,8 +249,6 @@ function verifier_session($change=false) {
 /**
  * Lire une valeur dans la session SPIP
  *
- * http://doc.spip.org/@session_get
- *
  * @param string $nom
  * @return mixed
  */
@@ -260,8 +258,7 @@ function session_get($nom) {
 
 
 /**
- * Ajouter une donnee dans la session SPIP
- * http://doc.spip.org/@session_set
+ * Ajouter une donnée dans la session SPIP
  *
  * @param string $nom
  * @param null $val
diff --git a/ecrire/inc/utils.php b/ecrire/inc/utils.php
index 2d1cebf70a60ed9fd05e80b418e5604d1b9a8acf..924899891105ad0959ee69b5aae9854786aa9d92 100644
--- a/ecrire/inc/utils.php
+++ b/ecrire/inc/utils.php
@@ -241,7 +241,7 @@ function journal($phrase, $opt = array()) {
  * @api
  * @param string $var
  *     Clé souhaitée
- * @param bool|array $var
+ * @param bool|array $c
  *     Tableau transmis (sinon cherche dans GET ou POST)
  * @return mixed|null
  *     - null si la clé n'a pas été trouvée
@@ -313,19 +313,22 @@ function tester_url_absolue($url){
 }
 
 /**
- * Prend une URL et lui ajoute/retire un parametre.
- * Exemples : [(#SELF|parametre_url{suite,18})] (ajout)
- *            [(#SELF|parametre_url{suite,''})] (supprime)
- *            [(#SELF|parametre_url{suite})]    (prend $suite dans la _request)
- *            [(#SELF|parametre_url{suite[],1})] (tableaux valeurs multiples)
+ * Prend une URL et lui ajoute/retire un paramètre
  *
- * http://doc.spip.org/@parametre_url
+ * @filtre parametre_url
+ * @link http://www.spip.net/4255
+ * @example
+ *     ```
+ *     [(#SELF|parametre_url{suite,18})] (ajout)
+ *     [(#SELF|parametre_url{suite,''})] (supprime)
+ *     [(#SELF|parametre_url{suite[],1})] (tableaux valeurs multiples)
+ *     ```
  *
- * @param string $url
- * @param string $c
- * @param string|array $v
- * @param string $sep
- * @return string
+ * @param string $url URL
+ * @param string $c Nom du paramètre
+ * @param string|array|null $v Valeur du paramètre
+ * @param string $sep Séparateur entre les paramètres
+ * @return string URL
  */
 function parametre_url($url, $c, $v=NULL, $sep='&amp;') {
 	// requete erronnee : plusieurs variable dans $c et aucun $v
@@ -496,14 +499,28 @@ function test_plugin_actif($plugin){
 
 /**
  * Traduction des textes de SPIP
- * http://doc.spip.org/@_T
  *
+ * Traduit une clé de traduction en l'obtenant dans les fichiers de langues.
+ * 
+ * @api
+ * @uses inc_traduire_dist()
+ * @uses _L()
+ * @example
+ *     ```
+ *     _T('bouton_enregistrer')
+ *     _T('medias:image_tourner_droite')
+ *     _T('medias:erreurs', array('nb'=>3)
+ *     ```
+ * 
  * @param string $texte
+ *     Clé de traduction
  * @param array $args
+ *     Couples (variable => valeur) pour passer des variables à la chaîne traduite
  * @param array $options
- *   string class : nom d'une classe a ajouter sur un span pour encapsuler la chaine
- *   bool force : forcer un retour meme si la chaine n'a pas de traduction
- * @return mixed|string
+ *     - string class : nom d'une classe a ajouter sur un span pour encapsuler la chaine
+ *     - bool force : forcer un retour meme si la chaine n'a pas de traduction
+ * @return string
+ *     Texte
  */
 function _T($texte, $args=array(), $options=array()) {
 	static $traduire=false ;
@@ -552,9 +569,28 @@ function _T($texte, $args=array(), $options=array()) {
 
 }
 
-// Remplacer les variables @....@ par leur valeur dans une chaine de langue.
-// Aussi appelee quand une chaine n'est pas encore dans les fichiers de langue
-// http://doc.spip.org/@_L
+
+/**
+ * Remplace les variables `@...@` par leur valeur dans une chaîne de langue.
+ *
+ * Cette fonction est également appelée dans le code source de SPIP quand une
+ * chaîne n'est pas encore dans les fichiers de langue.
+ *
+ * @see _T()
+ * @example
+ *     ```
+ *     _L('Texte avec @nb@ ...', array('nb'=>3)
+ *     ```
+ * 
+ * @param string $text
+ *     Texte
+ * @param array $args
+ *     Couples (variable => valeur) à transformer dans le texte
+ * @param string|null $class
+ *     Encapsule les valeurs dans un span avec cette classe si transmis.
+ * @return string
+ *     Texte
+ */
 function _L($text, $args=array(), $class=null) {
 	$f = $text;
 	if (is_array($args)) {
@@ -1323,7 +1359,30 @@ function url_de_($http,$host,$request,$prof=0){
 // Attention, X?y=z et "X/?y=z" sont completement differents!
 // http://httpd.apache.org/docs/2.0/mod/mod_dir.html
 
-// http://doc.spip.org/@generer_url_ecrire
+/**
+ * Crée une URL vers un script de l'espace privé
+ *
+ * @example
+ *     ```
+ *     generer_url_ecrire('admin_plugin')
+ *     ```
+ * 
+ * @param string $script
+ *     Nom de la page privée (xx dans exec=xx)
+ * @param string $args
+ *     Arguments à transmettre, tel que `arg1=yy&arg2=zz`
+ * @param bool $no_entities
+ *     Si false : transforme les `&` en `&amp;`
+ * @param bool|string $rel
+ *     URL relative ?
+ *
+ *     - false : l’URL sera complète et contiendra l’URL du site
+ *     - true : l’URL sera relavive.
+ *     - string : on transmet l'url à la fonction
+ * @param string $action
+ *     - Fichier d'exécution public (spip.php par défaut)
+ * @return string URL
+**/
 function generer_url_ecrire($script='', $args="", $no_entities=false, $rel=false) {
 	if (!$rel)
 		$rel = url_de_base() . _DIR_RESTREINT_ABS . _SPIP_ECRIRE_SCRIPT;
@@ -1350,9 +1409,20 @@ function generer_url_retour($script, $args="")
 // Adresse des scripts publics (a passer dans inc-urls...)
 //
 
-// Detecter le fichier de base, a la racine, comme etant spip.php ou ''
-// dans le cas de '', un $default = './' peut servir (comme dans urls/page.php)
-// http://doc.spip.org/@get_spip_script
+
+/**
+ * Retourne le nom du fichier d'exécution de SPIP
+ *
+ * @see _SPIP_SCRIPT
+ * @note
+ *   Detecter le fichier de base, a la racine, comme etant spip.php ou ''
+ *   dans le cas de '', un $default = './' peut servir (comme dans urls/page.php)
+ * 
+ * @param string $default
+ *     Script par défaut
+ * @return string
+ *     Nom du fichier (constante _SPIP_SCRIPT), sinon nom par défaut
+**/
 function get_spip_script($default='') {
 	# cas define('_SPIP_SCRIPT', '');
 	if (_SPIP_SCRIPT)
@@ -1361,7 +1431,29 @@ function get_spip_script($default='') {
 		return $default;
 }
 
-// http://doc.spip.org/@generer_url_public
+/**
+ * Crée une URL vers une page publique de SPIP
+ *
+ * @example
+ *     ```
+ *     generer_url_public("rubrique","id_rubrique=$id_rubrique")
+ *     ```
+ * 
+ * @param string $script
+ *     Nom de la page
+ * @param string $args
+ *     Arguments à transmettre, tel que `arg1=yy&arg2=zz`
+ * @param bool $no_entities
+ *     Si false : transforme les `&` en `&amp;`
+ * @param bool $rel
+ *     URL relative ?
+ *
+ *     - false : l’URL sera complète et contiendra l’URL du site
+ *     - true : l’URL sera relavive.
+ * @param string $action
+ *     - Fichier d'exécution public (spip.php par défaut)
+ * @return string URL
+**/
 function generer_url_public($script='', $args="", $no_entities=false, $rel=true, $action='') {
 	// si le script est une action (spip_pass, spip_inscription),
 	// standardiser vers la nouvelle API
@@ -1768,10 +1860,10 @@ function spip_initialisation_suite() {
 	if (!defined('_DOCTYPE_AIDE')) define('_DOCTYPE_AIDE',
 	       "<!DOCTYPE html PUBLIC '-//W3C//DTD HTML 4.01 Frameset//EN' 'http://www.w3.org/TR/1999/REC-html401-19991224/frameset.dtd'>");
 
-	// L'adresse de base du site ; on peut mettre '' si la racine est geree par
-	// le script de l'espace public, alias  index.php
+	/** L'adresse de base du site ; on peut mettre '' si la racine est gerée par
+	 * le script de l'espace public, alias index.php */
 	if (!defined('_SPIP_SCRIPT')) define('_SPIP_SCRIPT', 'spip.php');
-	// argument page, personalisable en cas de conflit avec un autre script
+	/** Argument page, personalisable en cas de conflit avec un autre script */
 	if (!defined('_SPIP_PAGE')) define('_SPIP_PAGE', 'page');
 
 	// le script de l'espace prive
@@ -2254,8 +2346,19 @@ function tester_url_ecrire($nom){
 	return $exec[$nom] = ((find_in_path("{$nom}.php",'exec/') OR charger_fonction($nom,'exec',true))?$nom:'');
 }
 
-// Charger dynamiquement une extension php
-// http://doc.spip.org/@charger_php_extension
+
+/**
+ * Tente de charger dynamiquement une extension PHP
+ *
+ * @example
+ *     ```
+ *     $ok = charger_php_extension('sqlite');
+ *     ```
+ * @uses inc_charger_php_extension_dist() Si la librairie n'est pas déjà charchée
+ * 
+ * @param string $module Nom du module à charger
+ * @return bool true si le module est chargé
+**/
 function charger_php_extension($module) {
 	if (extension_loaded($module)) {
 		return true;
@@ -2265,10 +2368,15 @@ function charger_php_extension($module) {
 	}
 }
 
-// Renvoie TRUE si et seulement si la configuration autorise
-// le code HTML5 sur le site public
+
+/**
+ * Indique si le code HTML5 est permis sur le site public
+ *
+ * @return bool
+ *     true si et seulement si la configuration autorise le code HTML5 sur le site public
+**/
 function html5_permis() {
-        return (isset($GLOBALS['meta']['version_html_max'])
+	return (isset($GLOBALS['meta']['version_html_max'])
 		AND ('html5' == $GLOBALS['meta']['version_html_max']));
 }
 
@@ -2277,18 +2385,34 @@ function html5_permis() {
  * desormais depreciees ; plutot que d'obliger tout le monde a charger
  * vieilles_defs, on va assumer l'histoire de ces 3 fonctions ubiquitaires
  */
-// Fonction depreciee
-// http://doc.spip.org/@lire_meta
+
+/**
+ * lire_meta : fonction dépréciée
+ * @deprecated Utiliser `$GLOBALS['meta'][$nom]` ou `lire_config('nom')`
+ * @see lire_config()
+ * @param string $nom Clé de meta à lire
+ * @return mixed Valeur de la meta.
+**/
 function lire_meta($nom) {
 	return $GLOBALS['meta'][$nom];
 }
 
-// Fonction depreciee
-// http://doc.spip.org/@ecrire_metas
+
+/**
+ * ecrire_metas : fonction dépréciée
+ * @deprecated
+**/
 function ecrire_metas() {}
 
-// Fonction depreciee, cf. http://doc.spip.org/@sql_fetch
-// http://doc.spip.org/@spip_fetch_array
+/**
+ * Retourne une ligne d'un résultat de requête mysql (déprécié)
+ *
+ * @see sql_fetch()
+ * @deprecated Utiliser sql_fetch()
+ * @param Ressource $r Ressource mysql
+ * @param int|null $t Type de retour
+ * @return array|void|bool Tableau de la ligne SQL
+**/
 function spip_fetch_array($r, $t=NULL) {
 	if (!isset($t)) {
 		if ($r) return sql_fetch($r);
diff --git a/ecrire/public/sandbox.php b/ecrire/public/sandbox.php
index 6f7747254ecf6fe951ce6d0a42a2dad0f49e6bf7..e4037fa08b2aa438f58f34597d53835664bfb4b2 100644
--- a/ecrire/public/sandbox.php
+++ b/ecrire/public/sandbox.php
@@ -125,6 +125,8 @@ function sandbox_composer_interdire_scripts($code, &$p){
  * La fonction accèpte plusieurs tableaux de filtres à partir du 3ème argument
  * qui seront appliqués dans l'ordre
  *
+ * @uses echapper_php_callback()
+ * 
  * @param array $skel
  * @param string $corps
  * @param array $filtres
@@ -157,17 +159,16 @@ function sandbox_filtrer_squelette($skel, $corps, $filtres){
 
 
 /**
- * Callback pour échapper du code PHP
+ * Callback pour échapper du code PHP (les séquences `<?php ... ?>`)
  *
  * Rappeler la fonction sans paramètre pour obtenir les substitutions réalisées.
+ *
+ * @see sandbox_filtrer_squelette()
  * 
  * @param array|null $r
- *
  *     - array : ce sont les captures de la regex à échapper
  *     - NULL : demande à dépiler tous les échappements réalisés
- * 
  * @return string|array
- * 
  *     - string : hash de substitution du code php lorsque `$r` est un array
  *     - array : Liste( liste des codes PHP, liste des substitutions )
 **/
diff --git a/ecrire/req/mysql.php b/ecrire/req/mysql.php
index a2ef128b4f8809de3ff4d4146c6a336b015c865e..9df0275cf5550470291930071ce4018253db23b5 100644
--- a/ecrire/req/mysql.php
+++ b/ecrire/req/mysql.php
@@ -547,11 +547,12 @@ function spip_mysql_create_base($nom, $serveur='',$requeter=true) {
   return spip_mysql_query("CREATE DATABASE `$nom`", $serveur, $requeter);
 }
 
-// Fonction de creation d'une vue SQL nommee $nom
-// http://doc.spip.org/@spip_mysql_create_view
+
 /**
- * @param $nom
- * @param $query_select
+ * Fonction de création d'une vue SQL nommée $nom
+ * 
+ * @param string $nom
+ * @param string $query_select
  * @param string $serveur
  * @param bool $requeter
  * @return array|bool|null|resource|string