diff --git a/ecrire/inc_config.php3 b/ecrire/inc_config.php3
index 9303405256f4662ca02777c5431a23f5a186e6cc..c5572a83de28cf6ca7d6098d9f86ef82287fdb8d 100644
--- a/ecrire/inc_config.php3
+++ b/ecrire/inc_config.php3
@@ -20,9 +20,6 @@ include_ecrire ("inc_meta.php3");
 include_ecrire ("inc_admin.php3");
 include_ecrire ("inc_mail.php3");
 
-// Peut-etre a deplacer par la suite
-include_ecrire ("inc_config_plug.php3");
-installer_plugins();
 
 
 //
diff --git a/ecrire/inc_config_plug.php3 b/ecrire/inc_config_plug.php3
deleted file mode 100644
index 77117d9556f23accb005361e0f60886f3c1f8dab..0000000000000000000000000000000000000000
--- a/ecrire/inc_config_plug.php3
+++ /dev/null
@@ -1,59 +0,0 @@
-<?php
-
-/***************************************************************************\
- *  SPIP, Systeme de publication pour l'internet                           *
- *                                                                         *
- *  Copyright (c) 2001-2005                                                *
- *  Arnaud Martin, Antoine Pitrou, Philippe Riviere, Emmanuel Saint-James  *
- *                                                                         *
- *  Ce programme est un logiciel libre distribue sous licence GNU/GPL.     *
- *  Pour plus de details voir le fichier COPYING.txt ou l'aide en ligne.   *
-\***************************************************************************/
-
-
-//
-// Ce fichier ne sera execute qu'une fois
-if (defined("_ECRIRE_INC_CONFIG_PLUG")) return;
-define("_ECRIRE_INC_CONFIG_PLUG", "1");
-
-
-
-function fichiers_plugins($dir) {
-	$fichiers = array();
-	$d = opendir($dir);
-	
-	while ($f = readdir($d)) {
-		if (is_file("$dir/$f") AND $f != 'remove.txt') {
-			if (ereg("^plug_.*\.php3?$", $f)) {
-				$fichiers[] = "$dir/$f";
-			}
-		} else if (is_dir("$dir/$f") AND $f != '.' AND $f != '..') {
-			$fichiers_dir = fichiers_plugins("$dir/$f");
-			while (list(,$f2) = each ($fichiers_dir))
-				$fichiers[] = $f2;
-		}
-	}	
-	
-	closedir($d);
-	
-	sort($fichiers);
-	return $fichiers;
-}
-
-function installer_plugins () {
-	$fichiers = array();
-	$fichiers = fichiers_plugins($GLOBALS['dir_ecrire']."plugins");
-
-	$plugs = "<"."?php\n\n";
-	$plugs .= "if(defined('_ECRIRE_INC_PLUGINS')) return;\n";
-	$plugs .= "define('_ECRIRE_INC_PLUGINS', '1');\n\n";
-	foreach($fichiers as $nom_fichier)
-		$plugs .= "include_plug('$nom_fichier');\n";
-	$plugs .= "\n?".">";
-
-	ecrire_fichier($GLOBALS['dir_ecrire'].'data/inc_plugins.php3', $plugs);
-}
-
-
-
-?>
\ No newline at end of file
diff --git a/ecrire/inc_filtres.php3 b/ecrire/inc_filtres.php3
index b0538a7a087fde94a04d102fe6c690ffdc0ecaee..f09ac9f67f8ebf16f1ef362f3280c8a64d879df4 100644
--- a/ecrire/inc_filtres.php3
+++ b/ecrire/inc_filtres.php3
@@ -739,6 +739,23 @@ function ajoute_popup_multi($langue_demandee, $trads, $texte) {
 	return $texte;
 }
 
+// Raccourci ancre [#ancre<-]
+function avant_propre_ancres($texte) {
+	$regexp = "|\[#?([^][]*)<-\]|";
+	if (preg_match_all($regexp, $texte, $matches, PREG_SET_ORDER))
+	foreach ($matches as $regs)
+		$texte = str_replace($regs[0],
+		'<a name="'.entites_html($regs[1]).'"></a>', $texte);
+	return $texte;
+}
+
+// Raccourci typographique <sc></sc>
+function avant_typo_smallcaps($texte) {
+	$texte = str_replace("<sc>", "<span style=\"font-variant: small-caps\">", $texte);
+	$texte = str_replace("</sc>", "</span>", $texte);
+	
+	return $texte;
+}
 
 function extraire_attribut($balise, $attribut) {
 # la mise en facteur ne marche pas....
diff --git a/ecrire/inc_texte.php3 b/ecrire/inc_texte.php3
index b90acd070bdbeb90fa98eca355d28644498a3ab7..ed494b28dae62d61c090a63222508caf5bba50ce 100644
--- a/ecrire/inc_texte.php3
+++ b/ecrire/inc_texte.php3
@@ -76,17 +76,30 @@ function nettoyer_chapo($chapo){
 
 // points d'entree de pre- et post-traitement pour propre() et typo()
 function spip_avant_propre ($letexte) {
+	$letexte = avant_propre_ancres($letexte);
 	$letexte = extraire_multi($letexte);
-	return appliquer_fonction ("avant_propre", $letexte);
+
+	if (function_exists('avant_propre'))
+		$letexte = avant_propre($letexte);
+
+	return $letexte;
 }
 
 function spip_apres_propre ($letexte) {
-	return appliquer_fonction ("apres_propre", $letexte);
+	if (function_exists('apres_propre'))
+		$letexte = apres_propre($letexte);
+
+	return $letexte;
 }
 
 function spip_avant_typo ($letexte) {
 	$letexte = extraire_multi($letexte);
-	return appliquer_fonction ("avant_typo", $letexte);
+	$letexte = avant_typo_smallcaps($letexte);
+
+	if (function_exists('avant_typo'))
+		$letexte = avant_typo($letexte);
+
+	return $letexte;
 }
 
 function spip_apres_typo ($letexte) {
@@ -99,7 +112,10 @@ function spip_apres_typo ($letexte) {
 	if (!_DIR_RESTREINT AND $GLOBALS['revision_nbsp'])
 		$letexte = ereg_replace('&nbsp;', '<span class="spip-nbsp">&nbsp;</span>', $letexte);
 
-	return appliquer_fonction ("apres_typo", $letexte);
+	if (function_exists('apres_typo'))
+		$letexte = apres_typo($letexte);
+
+	return $letexte;
 }
 
 
@@ -248,7 +264,7 @@ function supprime_img($letexte) {
 }
 
 # il y a 3 couples de fonctions homonymes au prefixe _doublons pres
-# pour éviter à tous les appels de se trimbaler ce qui concerne les squelettes
+# pour eviter a tous les appels de se trimbaler ce qui concerne les squelettes
 
 function echappe_retour_doublon($letexte, $les_echap, $source, &$doublons)
 {
@@ -698,9 +714,6 @@ function traiter_raccourcis_generale($letexte) {
 
 	// Appeler la fonction de pre_traitement
 	$letexte = spip_avant_propre ($letexte);
-	// Appeler les fonctions complementaires
-	$letexte = appliquer_fonction_avant("propre", $letexte);
-
 
 	// Puce
 	if (!$lang_dir) {
@@ -919,9 +932,6 @@ function traiter_raccourcis_generale($letexte) {
 	$letexte = ereg_replace('(<p class="spip">)?[[:space:]]*<ul', "<ul", $letexte);
 	$letexte = ereg_replace('</ul>[[:space:]]*(</p>)?', '</ul>', $letexte);
 
-	// Appeler les fonctions complementaires
-	$letexte = appliquer_fonction_apres("propre", $letexte);
-
 	// Appeler la fonction de post-traitement
 	$letexte = spip_apres_propre ($letexte);
 
diff --git a/ecrire/inc_version.php3 b/ecrire/inc_version.php3
index b17b8206ac1ca93f29251e9757fc3b54a2ffdf7e..c30123c549aab4daa50c75d4c5c308fa77fd97fe 100644
--- a/ecrire/inc_version.php3
+++ b/ecrire/inc_version.php3
@@ -246,7 +246,7 @@ $convert_command = 'convert';
 
 // creation des vignettes avec pnmscale
 // Note: plus facile a installer par FTP,
-// voir http://gallery.menalto.com/modules.php?op=modload&name=GalleryFAQ&file=index&myfaq=yes&id_cat=2
+// voir http://gallery.menalto.com/modules.php?op=modload&name=GalleryFAQ&file=index&myfaq=yes&id_cat=2#43
 $pnmscale_command = 'pnmscale';
 
 // faut-il passer les connexions MySQL en mode debug ?
@@ -336,8 +336,7 @@ define_once('_DIR_INCLUDE', _DIR_RESTREINT);
 define_once('_DIR_PREFIX1', (_DIR_RESTREINT ? "" : "../"));
 define_once('_DIR_PREFIX2', _DIR_RESTREINT);
 
-// les repertoires des logos, des pieces rapportees, du CACHE et des sessions
-
+// les repertoires des logos, des documents joints, du CACHE et des sessions
 define_once('_DIR_IMG', _DIR_PREFIX1 ."IMG/");
 define_once('_DIR_DOC', _DIR_PREFIX1 ."IMG/");
 define_once('_DIR_CACHE', _DIR_PREFIX1 ."CACHE/");
@@ -346,11 +345,6 @@ define_once('_DIR_SESSIONS', _DIR_PREFIX2 . "data/");
 define_once('_DIR_TRANSFERT', _DIR_PREFIX2 . "upload/");
 
 
-## c'est tres bete de charger ce fichier a chaque hit sur le serveur !
-if (@file_exists(_DIR_SESSIONS . 'inc_plugins.php3')) {
-	include(_DIR_SESSIONS . 'inc_plugins.php3');
-}
-
 // exemples de redefinition possible, 
 // SOUS RESERVE QUE php.ini N'AIT PAS pas openbasedir=. !!!!!!
 // il est recommande de mettre les deux premiers en dehors de l'arbo http
@@ -570,61 +564,6 @@ function spip_query($query) {
 	return spip_query_db($query);
 }
 
-function appliquer_fonction($lafonction, $entree) {
-
-	$sortie = $entree;
-	
-	if (isset($GLOBALS["fonctions"]["$lafonction"]["avant"])) {
-		foreach ($GLOBALS["fonctions"]["$lafonction"]["avant"] as $key => $value) {
-			if (@function_exists($value)) $sortie = $value($sortie);
-		}
-	}
-	
-	if (@function_exists($lafonction)) $sortie = $lafonction($sortie);
-
-	if (isset($GLOBALS["fonctions"]["$lafonction"]["apres"])) {
-		foreach ($GLOBALS["fonctions"]["$lafonction"]["apres"] as $key => $value) {
-			if (@function_exists($value)) $sortie = $value($sortie);
-		}
-	}	
-	return $sortie;
-}
-
-function appliquer_fonction_avant($lafonction, $entree) {
-	$sortie = $entree;
-	
-	if (isset($GLOBALS["fonctions"]["$lafonction"]["avant"])) {
-		foreach ($GLOBALS["fonctions"]["$lafonction"]["avant"] as $key => $value) {
-			if (@function_exists($value)) $sortie = $value($sortie);
-		}
-	}
-			
-	return $sortie;
-}
-
-function appliquer_fonction_apres($lafonction, $entree) {
-
-	$sortie = $entree;
-	
-	if (isset($GLOBALS["fonctions"]["$lafonction"]["apres"])) {
-		foreach ($GLOBALS["fonctions"]["$lafonction"]["apres"] as $key => $value) {
-			if (@function_exists($value)) $sortie = $value($sortie);
-		}
-	}	
-		
-	return $sortie;
-}
-
-
-// Destine a "completer" une fonction
-function completer_fonction($fonction_base, $fonction_avant="", $fonction_apres="") {
-	if (strlen($fonction_avant) > 0) 
-		$GLOBALS["fonctions"]["$fonction_base"]["avant"][] = $fonction_avant;
-		
-	if (strlen($fonction_apres) > 0) 
-		$GLOBALS["fonctions"]["$fonction_base"]["apres"][] = $fonction_apres;	
-}
-
 
 //
 // Infos de config PHP
diff --git a/ecrire/plugins/plug_ancres.php b/ecrire/plugins/plug_ancres.php
deleted file mode 100644
index 458d273241ba78d41a40e5acc32ef212f6516a32..0000000000000000000000000000000000000000
--- a/ecrire/plugins/plug_ancres.php
+++ /dev/null
@@ -1,17 +0,0 @@
-<?php
-
-// Ce plug-in ajoute le raccourci ancre [#ancre<-]
-
-function avant_propre_ancres($texte) {
-	$regexp = "|\[#?([^][]*)<-\]|";
-	if (preg_match_all($regexp, $texte, $matches, PREG_SET_ORDER))
-	foreach ($matches as $regs)
-		$texte = str_replace($regs[0],
-		'<a name="'.entites_html($regs[1]).'"></a>', $texte);
-
-	return $texte;
-}
-
-completer_fonction("propre", "avant_propre_ancres", "");
-
-?>
\ No newline at end of file
diff --git a/ecrire/plugins/plug_couleurs.php b/ecrire/plugins/plug_couleurs.php
deleted file mode 100644
index 5e03e9058312a1915c43c7d73c47f7e2d2883689..0000000000000000000000000000000000000000
--- a/ecrire/plugins/plug_couleurs.php
+++ /dev/null
@@ -1,30 +0,0 @@
-<?php
-
-// Ce plug-in ajoute des couleurs a l'interface
-
-global $couleurs_spip;
-
-$couleurs_spip[10] = array (
-		"couleur_foncee" => "#508A72",
-		"couleur_claire" => "#A5DFC7",
-		"couleur_lien" => "#657701",
-		"couleur_lien_off" => "#A6C113"
-);
-
-
-$couleurs_spip[11] = array (
-		"couleur_foncee" => "#949064",
-		"couleur_claire" => "#DFDBA5",
-		"couleur_lien" => "#657701",
-		"couleur_lien_off" => "#A6C113"
-);
-
-$couleurs_spip[12] = array (
-		"couleur_foncee" => "#6770AC",
-		"couleur_claire" => "#F8D768",
-		"couleur_lien" => "#363F7A",
-		"couleur_lien_off" => "#747DB4"
-);
-
-
-?>
\ No newline at end of file
diff --git a/ecrire/plugins/plug_small_caps.php b/ecrire/plugins/plug_small_caps.php
deleted file mode 100644
index 3b440e1fbad78eb6c2eec7e0469e45d4a5405b92..0000000000000000000000000000000000000000
--- a/ecrire/plugins/plug_small_caps.php
+++ /dev/null
@@ -1,13 +0,0 @@
-<?php
-// Ce plug-in ajoute le raccourci typographique <sc></sc>
-
-function avant_typo_smallcaps($texte) {
-	$texte = str_replace("<sc>", "<span style=\"font-variant: small-caps\">", $texte);
-	$texte = str_replace("</sc>", "</span>", $texte);
-	
-	return $texte;
-}
-
-completer_fonction("propre", "avant_typo_smallcaps", "");
-
-?>
\ No newline at end of file
diff --git a/inc-calcul.php3 b/inc-calcul.php3
index f1fea1bf288b0c3b55000bd1b3935e297a3339ed..c0297bf567b194e409cf98696268c60fc7b172d9 100644
--- a/inc-calcul.php3
+++ b/inc-calcul.php3
@@ -31,9 +31,7 @@ include_ecrire("inc_forum.php3");
 include_ecrire("inc_debug_sql.php3");
 include_local("inc-calcul-outils.php3");
 
-// Ce fichier peut contenir une affectation de $dossier_squelettes  indiquant
-// le repertoire du source des squelettes (les pseudo-html avec BOUCLE...)
-
+// NB: Ce fichier peut initialiser $dossier_squelettes (old-style)
 if ($f = find_in_path("mes_fonctions.php3"))
 	include_local ($f);
 
diff --git a/inc-compilo.php3 b/inc-compilo.php3
index dac3c45d7fddfa971588132597c1c11d4ba6348c..e66aa06ead0270d86ca473d75fe9ecde250514e7 100644
--- a/inc-compilo.php3
+++ b/inc-compilo.php3
@@ -46,19 +46,18 @@ include_ecrire('inc_serialbase.php3');
 // Calculer un <INCLURE()>
 //
 function calculer_inclure($fichier, $params, $id_boucle, &$boucles) {
-	global $dossier_squelettes;
 
 	$l = array();
 	if ($params) {
 		foreach($params as $var => $val) {
 			if ($val) {
-			  $val = trim($val);
-			  $val = ereg_replace('^["\'](.*)["\']$', "\\1",$val);
-			  $l[] = "\'$var\' => \'" .
-				 addslashes(calculer_param_dynamique($val,
-								     $boucles,
-								     $idb)) .
-				  "\'";
+				$val = trim($val);
+				$val = ereg_replace('^["\'](.*)["\']$', "\\1",$val);
+				$l[] = "\'$var\' => \'" .
+					addslashes(calculer_param_dynamique($val,
+						$boucles,
+						$idb)) .
+					"\'";
 			}
 			else {
 			// Cas de la langue : passer $spip_lang
diff --git a/inc-public-global.php3 b/inc-public-global.php3
index 6894f5397889e138be8788a9897418ace8adc58a..bb33de601ed2436aab889731b68e69000781b283 100644
--- a/inc-public-global.php3
+++ b/inc-public-global.php3
@@ -76,11 +76,6 @@ function calcule_header_et_page ($fond, $delais) {
 	AND ($GLOBALS['_COOKIE']['spip_admin']
 	OR $GLOBALS['_COOKIE']['spip_debug'])))
 		include_local(find_in_path('inc-formulaire_admin.php3'));
-		# attention, cet include ne considere pas forcement le
-		# $dossier_squelettes defini dans mes_fonctions.php3, mais si
-		# on incluait mes_fonctions.php3 on masquerait au webmestre l'erreur,
-		# courante, qui est de croire que ce fichier est toujours inclus.
-
 
 	$tableau_des_erreurs = array();
 	$page = afficher_page_globale ($fond, $delais, $use_cache);