diff --git a/.gitattributes b/.gitattributes
index dd833d439567aa9a7bdfb4975b4775a53fd0834b..d85a146ef3ff0071358dc8d49332b2a9352a70f1 100644
--- a/.gitattributes
+++ b/.gitattributes
@@ -754,6 +754,16 @@ ecrire/maj/v017.php -text
 ecrire/maj/v018.php -text
 ecrire/maj/v019.php -text
 ecrire/maj/v019_pre193.php -text
+ecrire/maj/vieille_base/1917/auxiliaires.php -text
+ecrire/maj/vieille_base/1917/create.php -text
+ecrire/maj/vieille_base/1917/serial.php -text
+ecrire/maj/vieille_base/1917/typedoc.php -text
+ecrire/maj/vieille_base/1927/auxiliaires.php -text
+ecrire/maj/vieille_base/1927/create.php -text
+ecrire/maj/vieille_base/1927/serial.php -text
+ecrire/maj/vieille_base/1927/typedoc.php -text
+ecrire/maj/vieille_base/charger.php -text
+ecrire/maj/vieille_base/create.php -text
 ecrire/prive.php -text
 ecrire/public/index.php -text
 ecrire/public/jointures.php -text
diff --git a/ecrire/base/import_all.php b/ecrire/base/import_all.php
index 6d993f1e734b359a64c2e67a13875a9fff82de55..115524adf3b3667f0fe727c5c714da943f50a53a 100644
--- a/ecrire/base/import_all.php
+++ b/ecrire/base/import_all.php
@@ -110,6 +110,9 @@ function import_all_fin($request) {
 	effacer_meta('version_archive_restauration');
 	effacer_meta('tag_archive_restauration');
 	effacer_meta('restauration_charset_sql_connexion');
+	effacer_meta('attributs_archive_restauration');
+	effacer_meta('restauration_table_prefix');
+	effacer_meta('vieille_version_installee');
 	if ($request['insertion'] == 'passe2') 
 		sql_drop_table("spip_translate");
 	 
diff --git a/ecrire/inc/import.php b/ecrire/inc/import.php
index 0215f31fbbee20ee9bdbb94c768956ab5e0b6118..f401eabf953f8d90dc68904a91019ffb72799a7a 100644
--- a/ecrire/inc/import.php
+++ b/ecrire/inc/import.php
@@ -184,6 +184,17 @@ function detruit_restaurateur()
 function import_tables($request, $dir) {
 	global $import_ok, $abs_pos,  $affiche_progression_pourcent;
 
+	// regarder si on est pas en train d'importer dans une copie des tables
+	if (isset($GLOBALS['meta']['restauration_table_prefix'])) {
+		$charger = charger_fonction('charger','maj/vieille_base');
+		$charger($GLOBALS['meta']['vieille_version_installee']);
+		$GLOBALS['serveur_vieille_base'] = 0;
+		$GLOBALS['connexions'][$GLOBALS['serveur_vieille_base']]['prefixe'] = $GLOBALS['meta']['restauration_table_prefix'];
+		// recharger les metas
+		lire_metas();
+	}
+
+
 	$abs_pos = (!isset($GLOBALS['meta']["status_restauration"])) ? 0 :
 		$GLOBALS['meta']["status_restauration"];
 
@@ -274,6 +285,33 @@ function import_tables($request, $dir) {
 		$res = '';
 		affiche_progression_javascript('100 %', $size);
 	}
+	
+	if ($GLOBALS['spip_version'] != (str_replace(',','.',$GLOBALS['meta']['version_installee']))){
+		include_spip('base/upgrade');
+		maj_base(); // upgrade jusqu'a la version courante
+	}
+	// regarder si on est pas en train d'importer dans une copie des tables
+	if (isset($GLOBALS['meta']['restauration_table_prefix_source'])){
+		$prefixe_source = $GLOBALS['meta']['restauration_table_prefix_source'];
+		
+		$GLOBALS['connexions']['-1'] = $GLOBALS['connexions'][0];
+		// rebasculer le serveur sur les bonnes tables pour finir proprement
+		$GLOBALS['connexions'][0]['prefixe'] = $prefixe_source;
+
+		$tables = import_table_choix($request);
+		// recopier les tables l'une sur l'autre
+		// il FAUT recharger les bonnes desc serial/aux avant ...
+		$GLOBALS['tables_principales'] = $GLOBALS['nouvelle_base']['tables_principales'];
+		$GLOBALS['tables_auxiliaires'] = $GLOBALS['nouvelle_base']['tables_auxiliaires'];
+		foreach ($tables as $table){
+			$res = sql_select('*',$table,'','','','','','-1');
+			while ($row = sql_fetch($res,'-1')){
+				sql_insertq($table,$row);
+			}
+			sql_drop_table($table,'','-1');
+		}
+	}
+	
 
 	return $res ;
 }
@@ -281,6 +319,21 @@ function import_tables($request, $dir) {
 // http://doc.spip.org/@import_init_meta
 function import_init_meta($tag, $atts, $charset, $request)
 {
+	$version_base = $atts['version_base'];
+	if (version_compare($version_base,$GLOBALS['spip_version'],'<')
+	 && !isset($GLOBALS['meta']['restauration_table_prefix'])
+	 && ($request['insertion']!='on')
+	 && ($request['insertion']!='passe2')){
+		// effacer les tables ici
+		$init = $request['init'];
+		$init($request);
+
+		// creer une base avec les tables dans l'ancienne version
+		// et changer de contexte
+		$creer_base_anterieure = charger_fonction('create','maj/vieille_base');
+		$creer_base_anterieure($version_base);
+	}
+	
 	$version_archive = $atts['version_archive'];
 	$insert = $request['insertion'] ;
 	ecrire_meta('attributs_archive_restauration', serialize($atts),'non');
diff --git a/ecrire/maj/vieille_base/1917/auxiliaires.php b/ecrire/maj/vieille_base/1917/auxiliaires.php
new file mode 100644
index 0000000000000000000000000000000000000000..d0610dcc855052f397ff713b0c2a36e7c9a1f5f3
--- /dev/null
+++ b/ecrire/maj/vieille_base/1917/auxiliaires.php
@@ -0,0 +1,328 @@
+<?php
+
+/***************************************************************************\
+ *  SPIP, Systeme de publication pour l'internet                           *
+ *                                                                         *
+ *  Copyright (c) 2001-2006                                                *
+ *  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.   *
+\***************************************************************************/
+
+
+if (!defined("_ECRIRE_INC_VERSION")) return;
+
+$spip_petitions = array(
+		"id_article"	=> "BIGINT (21) DEFAULT '0' NOT NULL",
+		"email_unique"	=> "CHAR (3) NOT NULL",
+		"site_obli"	=> "CHAR (3) NOT NULL",
+		"site_unique"	=> "CHAR (3) NOT NULL",
+		"message"	=> "CHAR (3) NOT NULL",
+		"texte"	=> "LONGBLOB NOT NULL",
+		"maj"	=> "TIMESTAMP");
+
+$spip_petitions_key = array(
+		"PRIMARY KEY"	=> "id_article");
+
+$spip_visites = array(
+		"date"	=> "DATE NOT NULL",
+		"visites"	=> "INT UNSIGNED NOT NULL",
+		"maj"	=> "TIMESTAMP");
+
+$spip_visites_key = array(
+		"PRIMARY KEY"	=> "date");
+
+$spip_visites_articles = array(
+		"date"	=> "DATE NOT NULL",
+		"id_article"	=> "INT UNSIGNED NOT NULL",
+		"visites"	=> "INT UNSIGNED NOT NULL",
+		"maj"	=> "TIMESTAMP");
+
+$spip_visites_articles_key = array(
+		"PRIMARY KEY"	=> "date, id_article");
+
+$spip_referers = array(
+		"referer_md5"	=> "BIGINT UNSIGNED NOT NULL",
+		"date"		=> "DATE NOT NULL",
+		"referer"	=> "VARCHAR (255) NOT NULL",
+		"visites"	=> "INT UNSIGNED NOT NULL",
+		"visites_jour"	=> "INT UNSIGNED NOT NULL",
+		"visites_veille"=> "INT UNSIGNED NOT NULL",
+		"maj"		=> "TIMESTAMP");
+
+$spip_referers_key = array(
+		"PRIMARY KEY"	=> "referer_md5");
+
+$spip_referers_articles = array(
+		"id_article"	=> "INT UNSIGNED NOT NULL",
+		"referer_md5"	=> "BIGINT UNSIGNED NOT NULL",
+		"date"		=> "DATE NOT NULL",
+		"referer"	=> "VARCHAR (255) NOT NULL",
+		"visites"	=> "INT UNSIGNED NOT NULL",
+		"maj"		=> "TIMESTAMP");
+
+$spip_referers_articles_key = array(
+		"PRIMARY KEY"	=> "id_article, referer_md5",
+		"KEY referer_md5"	=> "referer_md5");
+
+$spip_auteurs_articles = array(
+		"id_auteur"	=> "BIGINT (21) DEFAULT '0' NOT NULL",
+		"id_article"	=> "BIGINT (21) DEFAULT '0' NOT NULL");
+
+$spip_auteurs_articles_key = array(
+		"PRIMARY KEY"	=> "id_auteur, id_article",
+		"KEY id_article"	=> "id_article");
+
+$spip_auteurs_rubriques = array(
+		"id_auteur"	=> "BIGINT (21) DEFAULT '0' NOT NULL",
+		"id_rubrique"	=> "BIGINT (21) DEFAULT '0' NOT NULL");
+
+$spip_auteurs_rubriques_key = array(
+		"PRIMARY KEY"	=> "id_auteur, id_rubrique",
+		"KEY id_rubrique"	=> "id_rubrique");
+
+$spip_auteurs_messages = array(
+		"id_auteur"	=> "BIGINT (21) DEFAULT '0' NOT NULL",
+		"id_message"	=> "BIGINT (21) DEFAULT '0' NOT NULL",
+		"vu"		=> "CHAR (3) NOT NULL");
+
+$spip_auteurs_messages_key = array(
+		"PRIMARY KEY"	=> "id_auteur, id_message",
+		"KEY id_message"	=> "id_message");
+
+
+$spip_documents_articles = array(
+		"id_document"	=> "BIGINT (21) DEFAULT '0' NOT NULL",
+		"id_article"	=> "BIGINT (21) DEFAULT '0' NOT NULL");
+
+$spip_documents_articles_key = array(
+		"KEY id_document"	=> "id_document",
+		"KEY id_article"	=> "id_article");
+
+$spip_documents_rubriques = array(
+		"id_document"	=> "BIGINT (21) DEFAULT '0' NOT NULL",
+		"id_rubrique"	=> "BIGINT (21) DEFAULT '0' NOT NULL");
+
+$spip_documents_rubriques_key = array(
+		"KEY id_document"	=> "id_document",
+		"KEY id_rubrique"	=> "id_rubrique");
+
+$spip_documents_breves = array(
+		"id_document"	=> "BIGINT (21) DEFAULT '0' NOT NULL",
+		"id_breve"	=> "BIGINT (21) DEFAULT '0' NOT NULL");
+
+$spip_documents_breves_key = array(
+		"KEY id_document"	=> "id_document",
+		"KEY id_breve"	=> "id_breve");
+
+$spip_mots_articles = array(
+		"id_mot"	=> "BIGINT (21) DEFAULT '0' NOT NULL",
+		"id_article"	=> "BIGINT (21) DEFAULT '0' NOT NULL");
+
+$spip_mots_articles_key = array(
+		"PRIMARY KEY"	=> "id_article, id_mot",
+		"KEY id_mot"	=> "id_mot");
+
+$spip_mots_breves = array(
+		"id_mot"	=> "BIGINT (21) DEFAULT '0' NOT NULL",
+		"id_breve"	=> "BIGINT (21) DEFAULT '0' NOT NULL");
+
+$spip_mots_breves_key = array(
+		"PRIMARY KEY"	=> "id_breve, id_mot",
+		"KEY id_mot"	=> "id_mot");
+
+$spip_mots_rubriques = array(
+		"id_mot"	=> "BIGINT (21) DEFAULT '0' NOT NULL",
+		"id_rubrique"	=> "BIGINT (21) DEFAULT '0' NOT NULL");
+
+$spip_mots_rubriques_key = array(
+		"PRIMARY KEY"	=> "id_rubrique, id_mot",
+		"KEY id_mot"	=> "id_mot");
+
+$spip_mots_syndic = array(
+		"id_mot"	=> "BIGINT (21) DEFAULT '0' NOT NULL",
+		"id_syndic"	=> "BIGINT (21) DEFAULT '0' NOT NULL");
+
+$spip_mots_syndic_key = array(
+		"PRIMARY KEY"	=> "id_syndic, id_mot",
+		"KEY id_mot"	=> "id_mot");
+
+$spip_mots_forum = array(
+		"id_mot"	=> "BIGINT (21) DEFAULT '0' NOT NULL",
+		"id_forum"	=> "BIGINT (21) DEFAULT '0' NOT NULL");
+
+$spip_mots_forum_key = array(
+		"PRIMARY KEY"	=> "id_forum, id_mot",
+		"KEY id_mot"	=> "id_mot");
+
+$spip_mots_documents = array(
+		"id_mot"	=> "BIGINT (21) DEFAULT '0' NOT NULL",
+		"id_document"	=> "BIGINT (21) DEFAULT '0' NOT NULL");
+
+$spip_mots_documents_key = array(
+		"PRIMARY KEY"	=> "id_document, id_mot",
+		"KEY id_mot"	=> "id_mot");
+
+$spip_meta = array(
+		"nom"	=> "VARCHAR (255) NOT NULL",
+		"valeur"	=> "text DEFAULT ''",
+		"maj"	=> "TIMESTAMP");
+
+$spip_meta_key = array(
+		"PRIMARY KEY"	=> "nom");
+
+$spip_index = array(
+ 		"`hash`"	=> "BIGINT UNSIGNED NOT NULL",
+ 		"points"	=> "INT UNSIGNED DEFAULT '0' NOT NULL",
+		"id_objet"	=> "INT UNSIGNED NOT NULL",
+		"id_table"	=> "TINYINT UNSIGNED NOT NULL"	);
+
+$spip_index_key = array(
+ 		"KEY `hash`"	=> "`hash`",
+		"KEY id_objet"	=> "id_objet",
+		"KEY id_table"	=> "id_table");
+
+$spip_index_dico = array(
+		"`hash`"	=> "BIGINT UNSIGNED NOT NULL",
+		"dico"		=> "VARCHAR (30) NOT NULL");
+
+$spip_index_dico_key = array(
+		"PRIMARY KEY"	=> "dico");
+
+$spip_versions = array (
+		"id_article"	=> "bigint(21) NOT NULL",
+		"id_version"	=> "int unsigned DEFAULT '0' NOT NULL",
+		"date"	=> "datetime DEFAULT '0000-00-00 00:00:00' NOT NULL",
+		"id_auteur"	=> "bigint(21) NOT NULL",
+		"titre_version"	=> "text DEFAULT '' NOT NULL",
+		"permanent"	=> "char(3) NOT NULL",
+		"champs"	=> "text NOT NULL");
+
+$spip_versions_key = array (
+		"PRIMARY KEY"	=> "id_article, id_version",
+		"KEY date"	=> "id_article, date",
+		"KEY id_auteur"	=> "id_auteur");
+
+$spip_versions_fragments = array(
+		"id_fragment"	=> "int unsigned DEFAULT '0' NOT NULL",
+		"version_min"	=> "int unsigned DEFAULT '0' NOT NULL",
+		"version_max"	=> "int unsigned DEFAULT '0' NOT NULL",
+		"id_article"	=> "bigint(21) NOT NULL",
+		"compress"	=> "tinyint NOT NULL",
+		"fragment"	=> "longblob NOT NULL");
+
+$spip_versions_fragments_key = array(
+	     "PRIMARY KEY"	=> "id_article, id_fragment, version_min");
+
+$spip_caches = array(
+		"fichier" => "char (64) NOT NULL",
+		"id" => "char (64) NOT NULL",
+		// i=par id, t=timer, x=suppression
+		"type" => "CHAR (1) DEFAULT 'i' NOT NULL",
+		"taille" => "integer DEFAULT '0' NOT NULL");
+$spip_caches_key = array(
+		"PRIMARY KEY"	=> "fichier, id",
+		"KEY fichier" => "fichier",
+		"KEY id" => "id");
+
+$spip_ortho_cache = array(
+	"lang" => "VARCHAR(10) NOT NULL",
+	"mot" => "VARCHAR(255) BINARY NOT NULL",
+	"ok" => "TINYINT NOT NULL",
+	"suggest" => "BLOB NOT NULL",
+	"maj" => "TIMESTAMP");
+$spip_ortho_cache_key = array(
+	"PRIMARY KEY" => "lang, mot",
+	"KEY maj" => "maj");
+
+$spip_ortho_dico = array(
+	"lang" => "VARCHAR(10) NOT NULL",
+	"mot" => "VARCHAR(255) BINARY NOT NULL",
+	"id_auteur" => "BIGINT UNSIGNED NOT NULL",
+	"maj" => "TIMESTAMP");
+$spip_ortho_dico_key = array(
+	"PRIMARY KEY" => "lang, mot");
+
+
+
+
+global $tables_auxiliaires;
+
+$tables_auxiliaires['spip_petitions'] = array(
+	'field' => &$spip_petitions,
+	'key' => &$spip_petitions_key
+);
+$tables_auxiliaires['spip_visites'] = array(
+	'field' => &$spip_visites,
+	'key' => &$spip_visites_key);
+$tables_auxiliaires['spip_visites_articles'] = array(
+	'field' => &$spip_visites_articles,
+	'key' => &$spip_visites_articles_key);
+$tables_auxiliaires['spip_referers'] = array(
+	'field' => &$spip_referers,
+	'key' => &$spip_referers_key);
+$tables_auxiliaires['spip_referers_articles'] = array(
+	'field' => &$spip_referers_articles,
+	'key' => &$spip_referers_articles_key);
+$tables_auxiliaires['spip_auteurs_articles'] = array(
+	'field' => &$spip_auteurs_articles,
+	'key' => &$spip_auteurs_articles_key);
+$tables_auxiliaires['spip_auteurs_rubriques'] = array(
+	'field' => &$spip_auteurs_rubriques,
+	'key' => &$spip_auteurs_rubriques_key);
+$tables_auxiliaires['spip_auteurs_messages'] = array(
+	'field' => &$spip_auteurs_messages,
+	'key' => &$spip_auteurs_messages_key);
+$tables_auxiliaires['spip_documents_articles'] = array(
+	'field' => &$spip_documents_articles,
+	'key' => &$spip_documents_articles_key);
+$tables_auxiliaires['spip_documents_rubriques'] = array(
+	'field' => &$spip_documents_rubriques,
+	'key' => &$spip_documents_rubriques_key);
+$tables_auxiliaires['spip_documents_breves'] = array(
+	'field' => &$spip_documents_breves,
+	'key' => &$spip_documents_breves_key);
+$tables_auxiliaires['spip_mots_articles'] = array(
+	'field' => &$spip_mots_articles,
+	'key' => &$spip_mots_articles_key);
+$tables_auxiliaires['spip_mots_breves'] = array(
+	'field' => &$spip_mots_breves,
+	'key' => &$spip_mots_breves_key);
+$tables_auxiliaires['spip_mots_rubriques'] = array(
+	'field' => &$spip_mots_rubriques,
+	'key' => &$spip_mots_rubriques_key);
+$tables_auxiliaires['spip_mots_syndic'] = array(
+	'field' => &$spip_mots_syndic,
+	'key' => &$spip_mots_syndic_key);
+$tables_auxiliaires['spip_mots_forum'] = array(
+	'field' => &$spip_mots_forum,
+	'key' => &$spip_mots_forum_key);
+$tables_auxiliaires['spip_mots_documents'] = array(
+	'field' => &$spip_mots_documents,
+	'key' => &$spip_mots_documents_key);
+$tables_auxiliaires['spip_meta'] = array(
+	'field' => &$spip_meta,
+	'key' => &$spip_meta_key);
+$tables_auxiliaires['spip_index'] = array(
+	'field' => &$spip_index,
+	'key' => &$spip_index_key);
+$tables_auxiliaires['spip_index_dico'] = array(
+	'field' => &$spip_index_dico,
+	'key' => &$spip_index_dico_key);
+$tables_auxiliaires['spip_versions'] = array(
+	'field' => &$spip_versions,
+	'key' => &$spip_versions_key);
+$tables_auxiliaires['spip_versions_fragments'] = array(
+	'field' => &$spip_versions_fragments,
+	'key' => &$spip_versions_fragments_key);
+$tables_auxiliaires['spip_caches'] = array(
+	'field' => &$spip_caches,
+	'key' => &$spip_caches_key);
+$tables_auxiliaires['spip_ortho_cache'] = array(
+	'field' => &$spip_ortho_cache,
+	'key' => &$spip_ortho_cache_key);
+$tables_auxiliaires['spip_ortho_dico'] = array(
+	'field' => &$spip_ortho_dico,
+	'key' => &$spip_ortho_dico_key);
+?>
diff --git a/ecrire/maj/vieille_base/1917/create.php b/ecrire/maj/vieille_base/1917/create.php
new file mode 100644
index 0000000000000000000000000000000000000000..5057e10c30f116b30de02c41fa329c2df960752b
--- /dev/null
+++ b/ecrire/maj/vieille_base/1917/create.php
@@ -0,0 +1,62 @@
+<?php
+
+/***************************************************************************\
+ *  SPIP, Systeme de publication pour l'internet                           *
+ *                                                                         *
+ *  Copyright (c) 2001-2006                                                *
+ *  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.   *
+\***************************************************************************/
+
+if (!defined("_ECRIRE_INC_VERSION")) return;
+include_spip('maj/vieille_base/1917/serial');
+include_spip('maj/vieille_base/1917/auxiliaires');
+include_spip('maj/vieille_base/1917/typedoc');
+
+// http://doc.spip.org/@creer_base
+function maj_vieille_base_1917_create() {
+  global $tables_principales, $tables_auxiliaires, $tables_images, $tables_sequences, $tables_documents, $tables_mime;
+
+	// ne pas revenir plusieurs fois (si, au contraire, il faut pouvoir
+	// le faire car certaines mises a jour le demandent explicitement)
+	# static $vu = false;
+	# if ($vu) return; else $vu = true;
+
+	foreach($tables_principales as $k => $v)
+		spip_create_table($k, $v['field'], $v['key'], true);
+
+	foreach($tables_auxiliaires as $k => $v)
+		spip_create_table($k, $v['field'], $v['key'], false);
+
+	foreach($tables_images as $k => $v)
+		spip_query("INSERT IGNORE INTO spip_types_documents (extension, inclus, titre, id_type) VALUES ('$k', 'image', '" .
+			      (is_numeric($v) ?
+			       (strtoupper($k) . "', $v") :
+			       "$v', 0") .
+			      ")");
+
+	foreach($tables_sequences as $k => $v)
+		spip_query("INSERT IGNORE INTO spip_types_documents (extension, titre, inclus) VALUES ('$k', '$v', 'embed')");
+
+	foreach($tables_documents as $k => $v)
+		spip_query("INSERT IGNORE INTO spip_types_documents (extension, titre, inclus) VALUES ('$k', '$v', 'non')");
+
+	foreach ($tables_mime as $extension => $type_mime)
+	  spip_query("UPDATE spip_types_documents
+		SET mime_type='$type_mime' WHERE extension='$extension'");
+}
+/*
+// http://doc.spip.org/@stripslashes_base
+function stripslashes_base($table, $champs) {
+	$modifs = '';
+	reset($champs);
+	while (list(, $champ) = each($champs)) {
+		$modifs[] = $champ . '=REPLACE(REPLACE(' .$champ. ',"\\\\\'", "\'"), \'\\\\"\', \'"\')';
+	}
+	spip_query("UPDATE $table SET ".join(',', $modifs));
+
+}*/
+
+?>
\ No newline at end of file
diff --git a/ecrire/maj/vieille_base/1917/serial.php b/ecrire/maj/vieille_base/1917/serial.php
new file mode 100644
index 0000000000000000000000000000000000000000..767d0973df8de11676a3ad61e8d422d0d5d2814f
--- /dev/null
+++ b/ecrire/maj/vieille_base/1917/serial.php
@@ -0,0 +1,386 @@
+<?php
+
+/***************************************************************************\
+ *  SPIP, Systeme de publication pour l'internet                           *
+ *                                                                         *
+ *  Copyright (c) 2001-2006                                                *
+ *  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.   *
+\***************************************************************************/
+
+
+if (!defined("_ECRIRE_INC_VERSION")) return;
+
+
+$spip_articles = array(
+		"id_article"	=> "bigint(21) NOT NULL",
+		"surtitre"	=> "text NOT NULL",
+		"titre"	=> "text NOT NULL",
+		"soustitre"	=> "text NOT NULL",
+		"id_rubrique"	=> "bigint(21) DEFAULT '0' NOT NULL",
+		"descriptif"	=> "text NOT NULL",
+		"chapo"	=> "mediumtext NOT NULL",
+		"texte"	=> "longblob NOT NULL",
+		"ps"	=> "mediumtext NOT NULL",
+		"date"	=> "datetime DEFAULT '0000-00-00 00:00:00' NOT NULL",
+		"statut"	=> "varchar(10) DEFAULT '0' NOT NULL",
+		"id_secteur"	=> "bigint(21) DEFAULT '0' NOT NULL",
+		"maj"	=> "TIMESTAMP",
+		"export"	=> "VARCHAR(10) DEFAULT 'oui'",
+		"date_redac"	=> "datetime DEFAULT '0000-00-00 00:00:00' NOT NULL",
+		"visites"	=> "INTEGER DEFAULT '0' NOT NULL",
+		"referers"	=> "INTEGER DEFAULT '0' NOT NULL",
+		"popularite"	=> "DOUBLE DEFAULT '0' NOT NULL",
+		"accepter_forum"	=> "CHAR(3) NOT NULL",
+		"date_modif"	=> "datetime DEFAULT '0000-00-00 00:00:00' NOT NULL",
+		"lang"		=> "VARCHAR(10) DEFAULT '' NOT NULL",
+		"langue_choisie"	=> "VARCHAR(3) DEFAULT 'non'",
+		"id_trad"	=> "bigint(21) DEFAULT '0' NOT NULL",
+		"extra"		=> "longblob NULL",
+		"idx"		=> "ENUM('', '1', 'non', 'oui', 'idx') DEFAULT '' NOT NULL",
+		"id_version"	=> "int unsigned DEFAULT '0' NOT NULL",
+		"nom_site"	=> "tinytext NOT NULL",
+		"url_site"	=> "VARCHAR(255) NOT NULL",
+		"url_propre" => "VARCHAR(255) NOT NULL");
+
+$spip_articles_key = array(
+		"PRIMARY KEY"		=> "id_article",
+		"KEY id_rubrique"	=> "id_rubrique",
+		"KEY id_secteur"	=> "id_secteur",
+		"KEY id_trad"		=> "id_trad",
+		"KEY lang"			=> "lang",
+		"KEY statut"		=> "statut, date",
+		"KEY url_site"		=> "url_site",
+		"KEY date_modif"	=> "date_modif",
+		"KEY idx"			=> "idx",
+		"KEY url_propre"	=> "url_propre");
+
+$spip_auteurs = array(
+		"id_auteur"	=> "bigint(21) NOT NULL",
+		"nom"	=> "text NOT NULL",
+		"bio"	=> "text NOT NULL",
+		"email"	=> "tinytext NOT NULL",
+		"nom_site"	=> "tinytext NOT NULL",
+		"url_site"	=> "text NOT NULL",
+		"login"	=> "VARCHAR(255) BINARY NOT NULL",
+		"pass"	=> "tinytext NOT NULL",
+		"low_sec"	=> "tinytext NOT NULL",
+		"statut"	=> "VARCHAR(255) NOT NULL",
+		"maj"	=> "TIMESTAMP",
+		"pgp"	=> "BLOB NOT NULL",
+		"htpass"	=> "tinyblob NOT NULL",
+		"en_ligne"	=> "datetime DEFAULT '0000-00-00 00:00:00' NOT NULL",
+		"imessage"	=> "VARCHAR(3) NOT NULL",
+		"messagerie"	=> "VARCHAR(3) NOT NULL",
+		"alea_actuel"	=> "tinytext NOT NULL",
+		"alea_futur"	=> "tinytext NOT NULL",
+		"prefs"	=> "tinytext NOT NULL",
+		"cookie_oubli"	=> "tinytext NOT NULL",
+		"source"	=> "VARCHAR(10) DEFAULT 'spip' NOT NULL",
+		"lang"	=> "VARCHAR(10) DEFAULT '' NOT NULL",
+		"idx"		=> "ENUM('', '1', 'non', 'oui', 'idx') DEFAULT '' NOT NULL",
+		"url_propre" => "VARCHAR(255) NOT NULL",
+		"extra"	=> "longblob NULL");
+
+$spip_auteurs_key = array(
+		"PRIMARY KEY"	=> "id_auteur",
+		"KEY login"	=> "login",
+		"KEY statut"	=> "statut",
+		"KEY lang"	=> "lang",
+		"KEY idx"	=> "idx",
+		"KEY en_ligne"	=> "en_ligne",
+		"KEY url_propre"	=> "url_propre");
+
+$spip_breves = array(
+		"id_breve"	=> "bigint(21) NOT NULL",
+		"date_heure"	=> "datetime DEFAULT '0000-00-00 00:00:00' NOT NULL",
+		"titre"	=> "text NOT NULL",
+		"texte"	=> "longblob NOT NULL",
+		"lien_titre"	=> "text NOT NULL",
+		"lien_url"	=> "text NOT NULL",
+		"statut"	=> "varchar(6) NOT NULL",
+		"id_rubrique"	=> "bigint(21) DEFAULT '0' NOT NULL",
+		"lang"	=> "VARCHAR(10) DEFAULT '' NOT NULL",
+		"langue_choisie"	=> "VARCHAR(3) DEFAULT 'non'",
+		"maj"	=> "TIMESTAMP",
+		"idx"		=> "ENUM('', '1', 'non', 'oui', 'idx') DEFAULT '' NOT NULL",
+		"extra"	=> "longblob NULL",
+		"url_propre" => "VARCHAR(255) NOT NULL");
+
+$spip_breves_key = array(
+		"PRIMARY KEY"	=> "id_breve",
+		"KEY idx"	=> "idx",
+		"KEY id_rubrique"	=> "id_rubrique",
+		"KEY url_propre"	=> "url_propre");
+
+$spip_messages = array(
+		"id_message"	=> "bigint(21) NOT NULL",
+		"titre"	=> "text NOT NULL",
+		"texte"	=> "longblob NOT NULL",
+		"type"	=> "varchar(6) NOT NULL",
+		"date_heure"	=> "datetime DEFAULT '0000-00-00 00:00:00' NOT NULL",
+		"date_fin"	=> "datetime DEFAULT '0000-00-00 00:00:00' NOT NULL",
+		"rv"	=> "varchar(3) NOT NULL",
+		"statut"	=> "varchar(6) NOT NULL",
+		"id_auteur"	=> "bigint(21) NOT NULL",
+		"maj"	=> "TIMESTAMP");
+
+$spip_messages_key = array(
+		"PRIMARY KEY"	=> "id_message",
+		"KEY id_auteur"	=> "id_auteur");
+
+$spip_mots = array(
+		"id_mot"	=> "bigint(21) NOT NULL",
+		"titre"	=> "text NOT NULL",
+		"descriptif"	=> "text NOT NULL",
+		"texte"	=> "longblob NOT NULL",
+		"id_groupe"	=> "bigint(21) NOT NULL",
+		"type"	=> "text NOT NULL",
+		"extra"	=> "longblob NULL",
+		"idx"		=> "ENUM('', '1', 'non', 'oui', 'idx') DEFAULT '' NOT NULL",
+		"url_propre" => "VARCHAR(255) NOT NULL",
+		"maj"	=> "TIMESTAMP");
+
+$spip_mots_key = array(
+		"PRIMARY KEY"	=> "id_mot",
+		"KEY idx"	=> "idx",
+		"KEY url_propre"	=> "url_propre");
+
+$spip_groupes_mots = array(
+		"id_groupe"	=> "bigint(21) NOT NULL",
+		"titre"	=> "text NOT NULL",
+		"descriptif"	=> "text NOT NULL",
+		"texte"	=> "longblob NOT NULL",
+		"unseul"	=> "varchar(3) NOT NULL",
+		"obligatoire"	=> "varchar(3) NOT NULL",
+		"articles"	=> "varchar(3) NOT NULL",
+		"breves"	=> "varchar(3) NOT NULL",
+		"rubriques"	=> "varchar(3) NOT NULL",
+		"syndic"	=> "varchar(3) NOT NULL",
+		"minirezo"	=> "varchar(3) NOT NULL",
+		"comite"	=> "varchar(3) NOT NULL",
+		"forum"	=> "varchar(3) NOT NULL",
+		"maj"	=> "TIMESTAMP");
+
+$spip_groupes_mots_key = array(
+		"PRIMARY KEY"	=> "id_groupe");
+
+$spip_rubriques = array(
+		"id_rubrique"	=> "bigint(21) NOT NULL",
+		"id_parent"	=> "bigint(21) DEFAULT '0' NOT NULL",
+		"titre"	=> "text NOT NULL",
+		"descriptif"	=> "text NOT NULL",
+		"texte"	=> "longblob NOT NULL",
+		"id_secteur"	=> "bigint(21) DEFAULT '0' NOT NULL",
+		"maj"	=> "TIMESTAMP",
+		"export"	=> "VARCHAR(10) DEFAULT 'oui'",
+		"id_import"	=> "BIGINT DEFAULT '0'",
+		"statut"	=> "VARCHAR(10) NOT NULL",
+		"date"	=> "datetime DEFAULT '0000-00-00 00:00:00' NOT NULL",
+		"lang"	=> "VARCHAR(10) DEFAULT '' NOT NULL",
+		"langue_choisie"	=> "VARCHAR(3) DEFAULT 'non'",
+		"idx"		=> "ENUM('', '1', 'non', 'oui', 'idx') DEFAULT '' NOT NULL",
+		"extra"	=> "longblob NULL",
+		"url_propre" => "VARCHAR(255) NOT NULL",
+		"statut_tmp"	=> "VARCHAR(10) NOT NULL",
+		"date_tmp"	=> "datetime DEFAULT '0000-00-00 00:00:00' NOT NULL"
+		);
+
+$spip_rubriques_key = array(
+		"PRIMARY KEY"	=> "id_rubrique",
+		"KEY lang"	=> "lang",
+		"KEY idx"	=> "idx",
+		"KEY id_parent"	=> "id_parent",
+		"KEY url_propre"	=> "url_propre");
+
+$spip_documents = array(
+		"id_document"	=> "bigint(21) NOT NULL",
+		"id_vignette"	=> "bigint(21) DEFAULT '0' NOT NULL",
+		"id_type"	=> "bigint(21) DEFAULT '0' NOT NULL",
+		"titre"	=> "text NOT NULL",
+		"date"	=> "datetime DEFAULT '0000-00-00 00:00:00' NOT NULL",
+		"descriptif"	=> "text NOT NULL",
+		"fichier"	=> "varchar(255) NOT NULL",
+		"taille"	=> "integer NOT NULL",
+		"largeur"	=> "integer NOT NULL",
+		"hauteur"	=> "integer NOT NULL",
+		"mode"	=> "ENUM('vignette', 'document') NOT NULL",
+		"distant"	=> "VARCHAR(3) DEFAULT 'non'",
+		"idx"		=> "ENUM('', '1', 'non', 'oui', 'idx') DEFAULT '' NOT NULL",
+		"maj"	=> "TIMESTAMP");
+
+$spip_documents_key = array(
+		"PRIMARY KEY"	=> "id_document",
+		"KEY id_vignette"	=> "id_vignette",
+		"KEY mode"	=> "mode",
+		"KEY id_type"	=> "id_type");
+
+$spip_types_documents = array(
+		"id_type"	=> "bigint(21) NOT NULL",
+		"titre"	=> "text NOT NULL",
+		"descriptif"	=> "text NOT NULL",
+		"extension"	=> "varchar(10) NOT NULL",
+		"mime_type"	=> "varchar(100) NOT NULL",
+		"inclus"	=> "ENUM('non', 'image', 'embed') NOT NULL DEFAULT 'non'",
+		"upload"	=> "ENUM('oui', 'non') NOT NULL DEFAULT 'oui'",
+		"maj"	=> "TIMESTAMP");
+
+$spip_types_documents_key = array(
+		"PRIMARY KEY"	=> "id_type",
+		"UNIQUE extension"	=> "extension",
+		"KEY inclus"	=> "inclus");
+
+$spip_syndic = array(
+		"id_syndic"	=> "bigint(21) NOT NULL",
+		"id_rubrique"	=> "bigint(21) DEFAULT '0' NOT NULL",
+		"id_secteur"	=> "bigint(21) DEFAULT '0' NOT NULL",
+		"nom_site"	=> "blob NOT NULL",
+		"url_site"	=> "blob NOT NULL",
+		"url_syndic"	=> "blob NOT NULL",
+		"descriptif"	=> "blob NOT NULL",
+		"url_propre"	=> "VARCHAR(255) NOT NULL",
+		"idx"		=> "ENUM('', '1', 'non', 'oui', 'idx') DEFAULT '' NOT NULL",
+		"maj"	=> "TIMESTAMP",
+		"syndication"	=> "VARCHAR(3) NOT NULL",
+		"statut"	=> "VARCHAR(10) NOT NULL",
+		"date"	=> "datetime DEFAULT '0000-00-00 00:00:00' NOT NULL",
+		"date_syndic"	=> "datetime DEFAULT '0000-00-00 00:00:00' NOT NULL",
+		"date_index"	=> "datetime DEFAULT '0000-00-00 00:00:00' NOT NULL",
+		"extra"			=> "longblob NULL",
+		"moderation"	=> "VARCHAR(3) DEFAULT 'non'",
+		"miroir"	=> "VARCHAR(3) DEFAULT 'non'",
+		"oubli"	=> "VARCHAR(3) DEFAULT 'non'",
+		"resume"	=> "VARCHAR(3) DEFAULT 'oui'"
+);
+
+$spip_syndic_key = array(
+		"PRIMARY KEY"	=> "id_syndic",
+		"KEY id_rubrique"	=> "id_rubrique",
+		"KEY id_secteur"	=> "id_secteur",
+		"KEY idx"		=> "idx",
+		"KEY statut"	=> "statut, date_syndic",
+		"KEY url_propre"	=> "url_propre");
+
+$spip_syndic_articles = array(
+		"id_syndic_article"	=> "bigint(21) NOT NULL",
+		"id_syndic"	=> "bigint(21) DEFAULT '0' NOT NULL",
+		"titre"	=> "text NOT NULL",
+		"url"	=> "VARCHAR(255) NOT NULL",
+		"date"	=> "datetime DEFAULT '0000-00-00 00:00:00' NOT NULL",
+		"lesauteurs"	=> "text NOT NULL",
+		"maj"	=> "TIMESTAMP",
+		"statut"	=> "VARCHAR(10) NOT NULL",
+		"descriptif"	=> "blob NOT NULL",
+		"lang"	=> "VARCHAR(10) DEFAULT '' NOT NULL",
+		"url_source" => "TINYTEXT DEFAULT '' NOT NULL",
+		"source" => "TINYTEXT DEFAULT '' NOT NULL",
+		"tags" => "TEXT DEFAULT '' NOT NULL");
+
+$spip_syndic_articles_key = array(
+		"PRIMARY KEY"	=> "id_syndic_article",
+		"KEY id_syndic"	=> "id_syndic",
+		"KEY statut"	=> "statut",
+		"KEY url"	=> "url");
+
+$spip_forum = array(
+		"id_forum"	=> "bigint(21) NOT NULL",
+		"id_parent"	=> "bigint(21) DEFAULT '0' NOT NULL",
+		"id_thread"	=> "bigint(21) DEFAULT '0' NOT NULL",
+		"id_rubrique"	=> "bigint(21) DEFAULT '0' NOT NULL",
+		"id_article"	=> "bigint(21) DEFAULT '0' NOT NULL",
+		"id_breve"	=> "bigint(21) DEFAULT '0' NOT NULL",
+		"date_heure"	=> "datetime DEFAULT '0000-00-00 00:00:00' NOT NULL",
+		"titre"	=> "text NOT NULL",
+		"texte"	=> "mediumtext NOT NULL",
+		"auteur"	=> "text NOT NULL",
+		"email_auteur"	=> "text NOT NULL",
+		"nom_site"	=> "text NOT NULL",
+		"url_site"	=> "text NOT NULL",
+		"statut"	=> "varchar(8) NOT NULL",
+		"idx"		=> "ENUM('', '1', 'non', 'oui', 'idx') DEFAULT '' NOT NULL",
+		"ip"	=> "varchar(16)",
+		"maj"	=> "TIMESTAMP",
+		"id_auteur"	=> "BIGINT DEFAULT '0' NOT NULL",
+		"id_message"	=> "bigint(21) DEFAULT '0' NOT NULL",
+		"id_syndic"	=> "bigint(21) DEFAULT '0' NOT NULL");
+
+$spip_forum_key = array(
+		"PRIMARY KEY"	=> "id_forum",
+		"KEY id_parent"	=> "id_parent",
+		"KEY id_article"	=> "id_article",
+		"KEY id_breve"	=> "id_breve",
+		"KEY id_message"	=> "id_message",
+		"KEY id_syndic"	=> "id_syndic",
+		"KEY id_rubrique"	=> "id_rubrique",
+		"KEY idx"	=> "idx",
+		"KEY statut"	=> "statut, date_heure");
+
+$spip_signatures = array(
+		"id_signature"	=> "bigint(21) NOT NULL",
+		"id_article"	=> "bigint(21) DEFAULT '0' NOT NULL",
+		"date_time"	=> "datetime DEFAULT '0000-00-00 00:00:00' NOT NULL",
+		"nom_email"	=> "text NOT NULL",
+		"ad_email"	=> "text NOT NULL",
+		"nom_site"	=> "text NOT NULL",
+		"url_site"	=> "text NOT NULL",
+		"message"	=> "mediumtext NOT NULL",
+		"statut"	=> "varchar(10) NOT NULL",
+		"idx"		=> "ENUM('', '1', 'non', 'oui', 'idx') DEFAULT '' NOT NULL",
+		"maj"	=> "TIMESTAMP");
+
+$spip_signatures_key = array(
+		"PRIMARY KEY"	=> "id_signature",
+		"KEY id_article"	=> "id_article",
+		"KEY idx"		=> "idx",
+		"KEY statut" => "statut");
+
+
+$spip_ajax_fonc = array(
+		"id_ajax_fonc" => "bigint(21) NOT NULL",
+		"id_auteur" => "bigint(21) NOT NULL",
+		"variables" => "text NOT NULL",
+		"date"	=> "datetime DEFAULT '0000-00-00 00:00:00' NOT NULL",
+		"`hash`"	=> "BIGINT UNSIGNED NOT NULL" );
+
+$spip_ajax_fonc_key = array(
+		"PRIMARY KEY"		=> "id_ajax_fonc",
+		"KEY `hash`"	=> "`hash`");
+
+
+global $tables_principales;
+
+/// Attention: mes_fonctions peut avoir deja defini cette variable
+/// il faut donc rajouter, mais pas reinitialiser
+
+$tables_principales['spip_articles'] =
+	array('field' => &$spip_articles, 'key' => &$spip_articles_key);
+$tables_principales['spip_auteurs']  =
+	array('field' => &$spip_auteurs, 'key' => &$spip_auteurs_key);
+$tables_principales['spip_breves']   =
+	array('field' => &$spip_breves, 'key' => &$spip_breves_key);
+$tables_principales['spip_messages'] =
+	array('field' => &$spip_messages, 'key' => &$spip_messages_key);
+$tables_principales['spip_mots']     =
+	array('field' => &$spip_mots, 'key' => &$spip_mots_key);
+$tables_principales['spip_groupes_mots'] =
+	array('field' => &$spip_groupes_mots, 'key' => &$spip_groupes_mots_key);
+$tables_principales['spip_rubriques'] =
+	array('field' => &$spip_rubriques, 'key' => &$spip_rubriques_key);
+$tables_principales['spip_documents'] =
+	array('field' => &$spip_documents,  'key' => &$spip_documents_key);
+$tables_principales['spip_types_documents']	=
+	array('field' => &$spip_types_documents, 'key' => &$spip_types_documents_key);
+$tables_principales['spip_syndic'] =
+	array('field' => &$spip_syndic, 'key' => &$spip_syndic_key);
+$tables_principales['spip_syndic_articles']	=
+	array('field' => &$spip_syndic_articles, 'key' => &$spip_syndic_articles_key);
+$tables_principales['spip_forum'] =
+	array('field' => &$spip_forum,	'key' => &$spip_forum_key);
+$tables_principales['spip_signatures'] =
+	array('field' => &$spip_signatures, 'key' => &$spip_signatures_key);
+$tables_principales['spip_ajax_fonc'] =
+	array('field' => &$spip_ajax_fonc, 'key' => &$spip_ajax_fonc_key);
+
+?>
diff --git a/ecrire/maj/vieille_base/1917/typedoc.php b/ecrire/maj/vieille_base/1917/typedoc.php
new file mode 100644
index 0000000000000000000000000000000000000000..7defd6facd909df1bced086d7ec6e586510a5a50
--- /dev/null
+++ b/ecrire/maj/vieille_base/1917/typedoc.php
@@ -0,0 +1,197 @@
+<?php
+
+/***************************************************************************\
+ *  SPIP, Systeme de publication pour l'internet                           *
+ *                                                                         *
+ *  Copyright (c) 2001-2006                                                *
+ *  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.   *
+\***************************************************************************/
+
+
+//
+if (!defined("_ECRIRE_INC_VERSION")) return;
+
+## cette API ne sait pas gerer les aliases ; a revoir...
+
+global $tables_images, $tables_sequences, $tables_documents, $tables_mime;
+
+$tables_images = array(
+		       // Images reconnues par PHP
+		       'jpg' => 1, 
+		       'png' => 2, 
+		       'gif' => 3,
+
+		       // Autres images (peuvent utiliser le tag <img>)
+		       'bmp' => 'BMP',
+		       'psd' => 'Photoshop',
+		       'tif' => 'TIFF'
+		       );
+
+// Multimedia (peuvent utiliser le tag <embed>)
+
+$tables_sequences = array(
+			  'aiff' => 'AIFF',
+			  'asf' => 'Windows Media',
+			  'avi' => 'Windows Media',
+			  'flv' => 'Flash Video',
+			  'mid' => 'Midi',
+			  'mng' => 'MNG',
+			  'mov' => 'QuickTime',
+			  'mp3' => 'MP3',
+			  'mpg' => 'MPEG',
+			  'ogg' => 'Ogg',
+			  'qt' => 'QuickTime',
+			  'ra' => 'RealAudio',
+			  'ram' => 'RealAudio',
+			  'rm' => 'RealAudio',
+			  'swf' => 'Flash',
+			  'wav' => 'WAV',
+			  'wmv' => 'Windows Media',
+			  'svg' => 'Scalable Vector Graphics'
+			  );
+
+// Documents varies
+$tables_documents = array(
+			  'abw' => 'Abiword',
+			  'ai' => 'Adobe Illustrator',
+			  'bz2' => 'BZip',
+			  'bin' => 'Binary Data',
+			  'blend' => 'Blender',
+			  'c' => 'C source',
+			  'css' => 'Cascading Style Sheet',
+			  'deb' => 'Debian',
+			  'doc' => 'Word',
+			  'djvu' => 'DjVu',
+			  'dvi' => 'LaTeX DVI',
+			  'eps' => 'PostScript',
+			  'gz' => 'GZ',
+			  'h' => 'C header',
+			  'html' => 'HTML',
+			  'pas' => 'Pascal',
+			  'pdf' => 'PDF',
+			  'pgn' => 'Portable Game Notation',
+			  'ppt' => 'PowerPoint',
+			  'ps' => 'PostScript',
+			  'rpm' => 'RedHat/Mandrake/SuSE',
+			  'rtf' => 'RTF',
+			  'sdd' => 'StarOffice',
+			  'sdw' => 'StarOffice',
+			  'sit' => 'Stuffit',
+			  'sxc' => 'OpenOffice Calc',
+			  'sxi' => 'OpenOffice Impress',
+			  'sxw' => 'OpenOffice',
+			  'tex' => 'LaTeX',
+			  'tgz' => 'TGZ',
+			  'torrent' => 'BitTorrent',
+			  'ttf' => 'TTF Font',
+			  'txt' => 'texte',
+			  'xcf' => 'GIMP multi-layer',
+			  'xls' => 'Excel',
+			  'xml' => 'XML',
+			  'zip' => 'Zip',
+
+			// open document format
+			'odt' => 'opendocument text',
+			'ods' => 'opendocument spreadsheet',
+			'odp' => 'opendocument presentation',
+			'odg' => 'opendocument graphics',
+			'odc' => 'opendocument chart',
+			'odf' => 'opendocument formula',
+			'odb' => 'opendocument database',
+			'odi' => 'opendocument image',
+			'odm' => 'opendocument text-master',
+			'ott' => 'opendocument text-template',
+			'ots' => 'opendocument spreadsheet-template',
+			'otp' => 'opendocument presentation-template',
+			'otg' => 'opendocument graphics-template'
+			  );
+
+$tables_mime = array(
+		// Images reconnues par PHP
+		'jpg'=>'image/jpeg',
+		'png'=>'image/png',
+		'gif'=>'image/gif',
+
+		// Autres images (peuvent utiliser le tag <img>)
+		'bmp'=>'image/x-ms-bmp', // pas enregistre par IANA, variante: image/bmp
+		'psd'=>'image/x-photoshop',	// pas IANA
+		'tif'=>'image/tiff',
+
+		// Multimedia (peuvent utiliser le tag <embed>)
+		'aiff'=>'audio/x-aiff',
+		'asf'=>'video/x-ms-asf',
+		'avi'=>'video/x-msvideo',
+		'flv' => 'video/x-flv',
+		'mid'=>'audio/midi',
+		'mng'=>'video/x-mng',
+		'mov'=>'video/quicktime',
+		'mp3'=>'audio/mpeg',
+		'mpg'=>'video/mpeg',
+		'ogg'=>'application/ogg',
+		'qt' =>'video/quicktime',
+		'ra' =>'audio/x-pn-realaudio',
+		'ram'=>'audio/x-pn-realaudio',
+		'rm' =>'audio/x-pn-realaudio',
+		'swf'=>'application/x-shockwave-flash',
+		'wav'=>'audio/x-wav',
+		'wmv'=>'video/x-ms-wmv',
+		'svg'=>'image/svg+xml',
+
+		// Documents varies
+		'ai' =>'application/illustrator',
+		'abw' =>'application/abiword',
+		'bin' => 'application/octet-stream', # le tout-venant
+		'blend' => 'application/x-blender',
+		'bz2'=>'application/x-bzip2',
+		'c'  =>'text/x-csrc',
+		'css'=>'text/css',
+		'deb'=>'application/x-debian-package',
+		'doc'=>'application/msword',
+		'djvu'=>'image/vnd.djvu',
+		'dvi'=>'application/x-dvi',
+		'eps'=>'application/postscript',
+		'gz' =>'application/x-gzip',
+		'h'  =>'text/x-chdr',
+		'html'=>'text/html',
+		'pas'=>'text/x-pascal',
+		'pdf'=>'application/pdf',
+		'pgn' =>'application/x-chess-pgn',
+		'ppt'=>'application/vnd.ms-powerpoint',
+		'ps' =>'application/postscript',
+		'rpm'=>'application/x-redhat-package-manager',
+		'rtf'=>'application/rtf',
+		'sdd'=>'application/vnd.stardivision.impress',
+		'sdw'=>'application/vnd.stardivision.writer',
+		'sit'=>'application/x-stuffit',
+		'sxc'=>'application/vnd.sun.xml.calc',
+		'sxi'=>'application/vnd.sun.xml.impress',
+		'sxw'=>'application/vnd.sun.xml.writer',
+		'tex'=>'text/x-tex',
+		'tgz'=>'application/x-gtar',
+		'torrent' => 'application/x-bittorrent',
+		'ttf'=>'application/x-font-ttf',
+		'txt'=>'text/plain',
+		'xcf'=>'application/x-xcf',
+		'xls'=>'application/vnd.ms-excel',
+		'xml'=>'application/xml',
+		'zip'=>'application/zip',
+
+		// open document format
+		'odt' => 'application/vnd.oasis.opendocument.text',
+		'ods' => 'application/vnd.oasis.opendocument.spreadsheet',
+		'odp' => 'application/vnd.oasis.opendocument.presentation',
+		'odg' => 'application/vnd.oasis.opendocument.graphics',
+		'odc' => 'application/vnd.oasis.opendocument.chart',
+		'odf' => 'application/vnd.oasis.opendocument.formula',
+		'odb' => 'application/vnd.oasis.opendocument.database',
+		'odi' => 'application/vnd.oasis.opendocument.image',
+		'odm' => 'application/vnd.oasis.opendocument.text-master',
+		'ott' => 'application/vnd.oasis.opendocument.text-template',
+		'ots' => 'application/vnd.oasis.opendocument.spreadsheet-template',
+		'otp' => 'application/vnd.oasis.opendocument.presentation-template',
+		'otg' => 'application/vnd.oasis.opendocument.graphics-template'
+	);
+?>
diff --git a/ecrire/maj/vieille_base/1927/auxiliaires.php b/ecrire/maj/vieille_base/1927/auxiliaires.php
new file mode 100644
index 0000000000000000000000000000000000000000..63786f9190dac9d3d907484575f37b1137deb44b
--- /dev/null
+++ b/ecrire/maj/vieille_base/1927/auxiliaires.php
@@ -0,0 +1,329 @@
+<?php
+
+/***************************************************************************\
+ *  SPIP, Systeme de publication pour l'internet                           *
+ *                                                                         *
+ *  Copyright (c) 2001-2007                                                *
+ *  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.   *
+\***************************************************************************/
+
+
+if (!defined("_ECRIRE_INC_VERSION")) return;
+
+$spip_petitions = array(
+		"id_article"	=> "BIGINT (21) DEFAULT '0' NOT NULL",
+		"email_unique"	=> "CHAR (3) NOT NULL",
+		"site_obli"	=> "CHAR (3) NOT NULL",
+		"site_unique"	=> "CHAR (3) NOT NULL",
+		"message"	=> "CHAR (3) NOT NULL",
+		"texte"	=> "LONGBLOB NOT NULL",
+		"maj"	=> "TIMESTAMP");
+
+$spip_petitions_key = array(
+		"PRIMARY KEY"	=> "id_article");
+
+$spip_visites = array(
+		"date"	=> "DATE NOT NULL",
+		"visites"	=> "INT UNSIGNED NOT NULL",
+		"maj"	=> "TIMESTAMP");
+
+$spip_visites_key = array(
+		"PRIMARY KEY"	=> "date");
+
+$spip_visites_articles = array(
+		"date"	=> "DATE NOT NULL",
+		"id_article"	=> "INT UNSIGNED NOT NULL",
+		"visites"	=> "INT UNSIGNED NOT NULL",
+		"maj"	=> "TIMESTAMP");
+
+$spip_visites_articles_key = array(
+		"PRIMARY KEY"	=> "date, id_article");
+
+$spip_referers = array(
+		"referer_md5"	=> "BIGINT UNSIGNED NOT NULL",
+		"date"		=> "DATE NOT NULL",
+		"referer"	=> "VARCHAR (255) NOT NULL",
+		"visites"	=> "INT UNSIGNED NOT NULL",
+		"visites_jour"	=> "INT UNSIGNED NOT NULL",
+		"visites_veille"=> "INT UNSIGNED NOT NULL",
+		"maj"		=> "TIMESTAMP");
+
+$spip_referers_key = array(
+		"PRIMARY KEY"	=> "referer_md5");
+
+$spip_referers_articles = array(
+		"id_article"	=> "INT UNSIGNED NOT NULL",
+		"referer_md5"	=> "BIGINT UNSIGNED NOT NULL",
+		"date"		=> "DATE NOT NULL",
+		"referer"	=> "VARCHAR (255) NOT NULL",
+		"visites"	=> "INT UNSIGNED NOT NULL",
+		"maj"		=> "TIMESTAMP");
+
+$spip_referers_articles_key = array(
+		"PRIMARY KEY"	=> "id_article, referer_md5",
+		"KEY referer_md5"	=> "referer_md5");
+
+$spip_auteurs_articles = array(
+		"id_auteur"	=> "BIGINT (21) DEFAULT '0' NOT NULL",
+		"id_article"	=> "BIGINT (21) DEFAULT '0' NOT NULL");
+
+$spip_auteurs_articles_key = array(
+		"PRIMARY KEY"	=> "id_auteur, id_article",
+		"KEY id_article"	=> "id_article");
+
+$spip_auteurs_rubriques = array(
+		"id_auteur"	=> "BIGINT (21) DEFAULT '0' NOT NULL",
+		"id_rubrique"	=> "BIGINT (21) DEFAULT '0' NOT NULL");
+
+$spip_auteurs_rubriques_key = array(
+		"PRIMARY KEY"	=> "id_auteur, id_rubrique",
+		"KEY id_rubrique"	=> "id_rubrique");
+
+$spip_auteurs_messages = array(
+		"id_auteur"	=> "BIGINT (21) DEFAULT '0' NOT NULL",
+		"id_message"	=> "BIGINT (21) DEFAULT '0' NOT NULL",
+		"vu"		=> "CHAR (3) NOT NULL");
+
+$spip_auteurs_messages_key = array(
+		"PRIMARY KEY"	=> "id_auteur, id_message",
+		"KEY id_message"	=> "id_message");
+
+
+$spip_documents_articles = array(
+		"id_document"	=> "BIGINT (21) DEFAULT '0' NOT NULL",
+		"id_article"	=> "BIGINT (21) DEFAULT '0' NOT NULL");
+
+$spip_documents_articles_key = array(
+		"PRIMARY KEY"		=> "id_article, id_document",
+		"KEY id_document"	=> "id_document");
+
+$spip_documents_rubriques = array(
+		"id_document"	=> "BIGINT (21) DEFAULT '0' NOT NULL",
+		"id_rubrique"	=> "BIGINT (21) DEFAULT '0' NOT NULL");
+
+$spip_documents_rubriques_key = array(
+		"PRIMARY KEY"		=> "id_rubrique, id_document",
+		"KEY id_document"	=> "id_document");
+
+$spip_documents_breves = array(
+		"id_document"	=> "BIGINT (21) DEFAULT '0' NOT NULL",
+		"id_breve"	=> "BIGINT (21) DEFAULT '0' NOT NULL");
+
+$spip_documents_breves_key = array(
+		"PRIMARY KEY"		=> "id_breve, id_document",
+		"KEY id_document"	=> "id_document");
+
+$spip_mots_articles = array(
+		"id_mot"	=> "BIGINT (21) DEFAULT '0' NOT NULL",
+		"id_article"	=> "BIGINT (21) DEFAULT '0' NOT NULL");
+
+$spip_mots_articles_key = array(
+		"PRIMARY KEY"	=> "id_article, id_mot",
+		"KEY id_mot"	=> "id_mot");
+
+$spip_mots_breves = array(
+		"id_mot"	=> "BIGINT (21) DEFAULT '0' NOT NULL",
+		"id_breve"	=> "BIGINT (21) DEFAULT '0' NOT NULL");
+
+$spip_mots_breves_key = array(
+		"PRIMARY KEY"	=> "id_breve, id_mot",
+		"KEY id_mot"	=> "id_mot");
+
+$spip_mots_rubriques = array(
+		"id_mot"	=> "BIGINT (21) DEFAULT '0' NOT NULL",
+		"id_rubrique"	=> "BIGINT (21) DEFAULT '0' NOT NULL");
+
+$spip_mots_rubriques_key = array(
+		"PRIMARY KEY"	=> "id_rubrique, id_mot",
+		"KEY id_mot"	=> "id_mot");
+
+$spip_mots_syndic = array(
+		"id_mot"	=> "BIGINT (21) DEFAULT '0' NOT NULL",
+		"id_syndic"	=> "BIGINT (21) DEFAULT '0' NOT NULL");
+
+$spip_mots_syndic_key = array(
+		"PRIMARY KEY"	=> "id_syndic, id_mot",
+		"KEY id_mot"	=> "id_mot");
+
+$spip_mots_forum = array(
+		"id_mot"	=> "BIGINT (21) DEFAULT '0' NOT NULL",
+		"id_forum"	=> "BIGINT (21) DEFAULT '0' NOT NULL");
+
+$spip_mots_forum_key = array(
+		"PRIMARY KEY"	=> "id_forum, id_mot",
+		"KEY id_mot"	=> "id_mot");
+
+$spip_mots_documents = array(
+		"id_mot"	=> "BIGINT (21) DEFAULT '0' NOT NULL",
+		"id_document"	=> "BIGINT (21) DEFAULT '0' NOT NULL");
+
+$spip_mots_documents_key = array(
+		"PRIMARY KEY"	=> "id_document, id_mot",
+		"KEY id_mot"	=> "id_mot");
+
+$spip_meta = array(
+		"nom"	=> "VARCHAR (255) NOT NULL",
+		"valeur"	=> "text DEFAULT ''",
+		"impt"	=> "ENUM('non', 'oui') DEFAULT 'oui' NOT NULL",
+		"maj"	=> "TIMESTAMP");
+
+$spip_meta_key = array(
+		"PRIMARY KEY"	=> "nom");
+
+$spip_index = array(
+ 		"`hash`"	=> "BIGINT UNSIGNED NOT NULL",
+ 		"points"	=> "INT UNSIGNED DEFAULT '0' NOT NULL",
+		"id_objet"	=> "INT UNSIGNED NOT NULL",
+		"id_table"	=> "TINYINT UNSIGNED NOT NULL"	);
+
+$spip_index_key = array(
+ 		"KEY `hash`"	=> "`hash`",
+		"KEY id_objet"	=> "id_objet",
+		"KEY id_table"	=> "id_table");
+
+$spip_index_dico = array(
+		"`hash`"	=> "BIGINT UNSIGNED NOT NULL",
+		"dico"		=> "VARCHAR (30) NOT NULL");
+
+$spip_index_dico_key = array(
+		"PRIMARY KEY"	=> "dico");
+
+$spip_versions = array (
+		"id_article"	=> "bigint(21) NOT NULL",
+		"id_version"	=> "int unsigned DEFAULT '0' NOT NULL",
+		"date"	=> "datetime DEFAULT '0000-00-00 00:00:00' NOT NULL",
+		"id_auteur"	=> "VARCHAR(23) NOT NULL", # stocke aussi IP(v6)
+		"titre_version"	=> "text DEFAULT '' NOT NULL",
+		"permanent"	=> "char(3) NOT NULL",
+		"champs"	=> "text NOT NULL");
+
+$spip_versions_key = array (
+		"PRIMARY KEY"	=> "id_article, id_version",
+		"KEY date"	=> "id_article, date",
+		"KEY id_auteur"	=> "id_auteur");
+
+$spip_versions_fragments = array(
+		"id_fragment"	=> "int unsigned DEFAULT '0' NOT NULL",
+		"version_min"	=> "int unsigned DEFAULT '0' NOT NULL",
+		"version_max"	=> "int unsigned DEFAULT '0' NOT NULL",
+		"id_article"	=> "bigint(21) NOT NULL",
+		"compress"	=> "tinyint NOT NULL",
+		"fragment"	=> "longblob NOT NULL");
+
+$spip_versions_fragments_key = array(
+	     "PRIMARY KEY"	=> "id_article, id_fragment, version_min");
+
+$spip_caches = array(
+		"fichier" => "char (64) NOT NULL",
+		"id" => "char (64) NOT NULL",
+		// i=par id, t=timer, x=suppression
+		"type" => "CHAR (1) DEFAULT 'i' NOT NULL",
+		"taille" => "integer DEFAULT '0' NOT NULL");
+$spip_caches_key = array(
+		"PRIMARY KEY"	=> "fichier, id",
+		"KEY fichier" => "fichier",
+		"KEY id" => "id");
+
+$spip_ortho_cache = array(
+	"lang" => "VARCHAR(10) NOT NULL",
+	"mot" => "VARCHAR(255) BINARY NOT NULL",
+	"ok" => "TINYINT NOT NULL",
+	"suggest" => "BLOB NOT NULL",
+	"maj" => "TIMESTAMP");
+$spip_ortho_cache_key = array(
+	"PRIMARY KEY" => "lang, mot",
+	"KEY maj" => "maj");
+
+$spip_ortho_dico = array(
+	"lang" => "VARCHAR(10) NOT NULL",
+	"mot" => "VARCHAR(255) BINARY NOT NULL",
+	"id_auteur" => "BIGINT UNSIGNED NOT NULL",
+	"maj" => "TIMESTAMP");
+$spip_ortho_dico_key = array(
+	"PRIMARY KEY" => "lang, mot");
+
+
+
+
+global $tables_auxiliaires;
+
+$tables_auxiliaires['spip_petitions'] = array(
+	'field' => &$spip_petitions,
+	'key' => &$spip_petitions_key
+);
+$tables_auxiliaires['spip_visites'] = array(
+	'field' => &$spip_visites,
+	'key' => &$spip_visites_key);
+$tables_auxiliaires['spip_visites_articles'] = array(
+	'field' => &$spip_visites_articles,
+	'key' => &$spip_visites_articles_key);
+$tables_auxiliaires['spip_referers'] = array(
+	'field' => &$spip_referers,
+	'key' => &$spip_referers_key);
+$tables_auxiliaires['spip_referers_articles'] = array(
+	'field' => &$spip_referers_articles,
+	'key' => &$spip_referers_articles_key);
+$tables_auxiliaires['spip_auteurs_articles'] = array(
+	'field' => &$spip_auteurs_articles,
+	'key' => &$spip_auteurs_articles_key);
+$tables_auxiliaires['spip_auteurs_rubriques'] = array(
+	'field' => &$spip_auteurs_rubriques,
+	'key' => &$spip_auteurs_rubriques_key);
+$tables_auxiliaires['spip_auteurs_messages'] = array(
+	'field' => &$spip_auteurs_messages,
+	'key' => &$spip_auteurs_messages_key);
+$tables_auxiliaires['spip_documents_articles'] = array(
+	'field' => &$spip_documents_articles,
+	'key' => &$spip_documents_articles_key);
+$tables_auxiliaires['spip_documents_rubriques'] = array(
+	'field' => &$spip_documents_rubriques,
+	'key' => &$spip_documents_rubriques_key);
+$tables_auxiliaires['spip_documents_breves'] = array(
+	'field' => &$spip_documents_breves,
+	'key' => &$spip_documents_breves_key);
+$tables_auxiliaires['spip_mots_articles'] = array(
+	'field' => &$spip_mots_articles,
+	'key' => &$spip_mots_articles_key);
+$tables_auxiliaires['spip_mots_breves'] = array(
+	'field' => &$spip_mots_breves,
+	'key' => &$spip_mots_breves_key);
+$tables_auxiliaires['spip_mots_rubriques'] = array(
+	'field' => &$spip_mots_rubriques,
+	'key' => &$spip_mots_rubriques_key);
+$tables_auxiliaires['spip_mots_syndic'] = array(
+	'field' => &$spip_mots_syndic,
+	'key' => &$spip_mots_syndic_key);
+$tables_auxiliaires['spip_mots_forum'] = array(
+	'field' => &$spip_mots_forum,
+	'key' => &$spip_mots_forum_key);
+$tables_auxiliaires['spip_mots_documents'] = array(
+	'field' => &$spip_mots_documents,
+	'key' => &$spip_mots_documents_key);
+$tables_auxiliaires['spip_meta'] = array(
+	'field' => &$spip_meta,
+	'key' => &$spip_meta_key);
+$tables_auxiliaires['spip_index'] = array(
+	'field' => &$spip_index,
+	'key' => &$spip_index_key);
+$tables_auxiliaires['spip_index_dico'] = array(
+	'field' => &$spip_index_dico,
+	'key' => &$spip_index_dico_key);
+$tables_auxiliaires['spip_versions'] = array(
+	'field' => &$spip_versions,
+	'key' => &$spip_versions_key);
+$tables_auxiliaires['spip_versions_fragments'] = array(
+	'field' => &$spip_versions_fragments,
+	'key' => &$spip_versions_fragments_key);
+$tables_auxiliaires['spip_caches'] = array(
+	'field' => &$spip_caches,
+	'key' => &$spip_caches_key);
+$tables_auxiliaires['spip_ortho_cache'] = array(
+	'field' => &$spip_ortho_cache,
+	'key' => &$spip_ortho_cache_key);
+$tables_auxiliaires['spip_ortho_dico'] = array(
+	'field' => &$spip_ortho_dico,
+	'key' => &$spip_ortho_dico_key);
+?>
diff --git a/ecrire/maj/vieille_base/1927/create.php b/ecrire/maj/vieille_base/1927/create.php
new file mode 100644
index 0000000000000000000000000000000000000000..99182556f006f9db34f02e63bc9498dd253622b4
--- /dev/null
+++ b/ecrire/maj/vieille_base/1927/create.php
@@ -0,0 +1,52 @@
+<?php
+
+/***************************************************************************\
+ *  SPIP, Systeme de publication pour l'internet                           *
+ *                                                                         *
+ *  Copyright (c) 2001-2007                                                *
+ *  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.   *
+\***************************************************************************/
+
+if (!defined("_ECRIRE_INC_VERSION")) return;
+include_spip('maj/vieille_base/1927/serial');
+include_spip('maj/vieille_base/1927/auxiliaires');
+include_spip('maj/vieille_base/1927/typedoc');
+
+// http://doc.spip.org/@creer_base
+function maj_vieille_base_1927_create() {
+  global $tables_principales, $tables_auxiliaires, $tables_images, $tables_sequences, $tables_documents, $tables_mime;
+
+	// ne pas revenir plusieurs fois (si, au contraire, il faut pouvoir
+	// le faire car certaines mises a jour le demandent explicitement)
+	# static $vu = false;
+	# if ($vu) return; else $vu = true;
+
+	foreach($tables_principales as $k => $v)
+		spip_mysql_create($k, $v['field'], $v['key'], true);
+
+	foreach($tables_auxiliaires as $k => $v)
+		spip_mysql_create($k, $v['field'], $v['key'], false);
+
+	foreach($tables_images as $k => $v)
+		spip_query_db("INSERT IGNORE INTO spip_types_documents (extension, inclus, titre, id_type) VALUES ('$k', 'image', '" .
+			      (is_numeric($v) ?
+			       (strtoupper($k) . "', $v") :
+			       "$v', 0") .
+			      ")");
+
+	foreach($tables_sequences as $k => $v)
+		spip_query_db("INSERT IGNORE INTO spip_types_documents (extension, titre, inclus) VALUES ('$k', '$v', 'embed')");
+
+	foreach($tables_documents as $k => $v)
+		spip_query_db("INSERT IGNORE INTO spip_types_documents (extension, titre, inclus) VALUES ('$k', '$v', 'non')");
+
+	foreach ($tables_mime as $extension => $type_mime)
+	  spip_query_db("UPDATE spip_types_documents
+		SET mime_type='$type_mime' WHERE extension='$extension'");
+}
+
+
+?>
\ No newline at end of file
diff --git a/ecrire/maj/vieille_base/1927/serial.php b/ecrire/maj/vieille_base/1927/serial.php
new file mode 100644
index 0000000000000000000000000000000000000000..6e29e0dc1812454c2a8a23401208dde49575e142
--- /dev/null
+++ b/ecrire/maj/vieille_base/1927/serial.php
@@ -0,0 +1,372 @@
+<?php
+
+/***************************************************************************\
+ *  SPIP, Systeme de publication pour l'internet                           *
+ *                                                                         *
+ *  Copyright (c) 2001-2007                                                *
+ *  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.   *
+\***************************************************************************/
+
+
+if (!defined("_ECRIRE_INC_VERSION")) return;
+
+
+$spip_articles = array(
+		"id_article"	=> "bigint(21) NOT NULL",
+		"surtitre"	=> "text NOT NULL",
+		"titre"	=> "text NOT NULL",
+		"soustitre"	=> "text NOT NULL",
+		"id_rubrique"	=> "bigint(21) DEFAULT '0' NOT NULL",
+		"descriptif"	=> "text NOT NULL",
+		"chapo"	=> "mediumtext NOT NULL",
+		"texte"	=> "longblob NOT NULL",
+		"ps"	=> "mediumtext NOT NULL",
+		"date"	=> "datetime DEFAULT '0000-00-00 00:00:00' NOT NULL",
+		"statut"	=> "varchar(10) DEFAULT '0' NOT NULL",
+		"id_secteur"	=> "bigint(21) DEFAULT '0' NOT NULL",
+		"maj"	=> "TIMESTAMP",
+		"export"	=> "VARCHAR(10) DEFAULT 'oui'",
+		"date_redac"	=> "datetime DEFAULT '0000-00-00 00:00:00' NOT NULL",
+		"visites"	=> "INTEGER DEFAULT '0' NOT NULL",
+		"referers"	=> "INTEGER DEFAULT '0' NOT NULL",
+		"popularite"	=> "DOUBLE DEFAULT '0' NOT NULL",
+		"accepter_forum"	=> "CHAR(3) NOT NULL",
+		"date_modif"	=> "datetime DEFAULT '0000-00-00 00:00:00' NOT NULL",
+		"lang"		=> "VARCHAR(10) DEFAULT '' NOT NULL",
+		"langue_choisie"	=> "VARCHAR(3) DEFAULT 'non'",
+		"id_trad"	=> "bigint(21) DEFAULT '0' NOT NULL",
+		"extra"		=> "longblob NULL",
+		"idx"		=> "ENUM('', '1', 'non', 'oui', 'idx') DEFAULT '' NOT NULL",
+		"id_version"	=> "int unsigned DEFAULT '0' NOT NULL",
+		"nom_site"	=> "tinytext NOT NULL",
+		"url_site"	=> "VARCHAR(255) NOT NULL",
+		"url_propre" => "VARCHAR(255) NOT NULL");
+
+$spip_articles_key = array(
+		"PRIMARY KEY"		=> "id_article",
+		"KEY id_rubrique"	=> "id_rubrique",
+		"KEY id_secteur"	=> "id_secteur",
+		"KEY id_trad"		=> "id_trad",
+		"KEY lang"			=> "lang",
+		"KEY statut"		=> "statut, date",
+		"KEY url_site"		=> "url_site",
+		"KEY date_modif"	=> "date_modif",
+		"KEY idx"			=> "idx",
+		"KEY url_propre"	=> "url_propre");
+
+$spip_auteurs = array(
+		"id_auteur"	=> "bigint(21) NOT NULL",
+		"nom"	=> "text NOT NULL",
+		"bio"	=> "text NOT NULL",
+		"email"	=> "tinytext NOT NULL",
+		"nom_site"	=> "tinytext NOT NULL",
+		"url_site"	=> "text NOT NULL",
+		"login"	=> "VARCHAR(255) BINARY NOT NULL",
+		"pass"	=> "tinytext NOT NULL",
+		"low_sec"	=> "tinytext NOT NULL",
+		"statut"	=> "VARCHAR(255) NOT NULL",
+		"maj"	=> "TIMESTAMP",
+		"pgp"	=> "BLOB NOT NULL",
+		"htpass"	=> "tinyblob NOT NULL",
+		"en_ligne"	=> "datetime DEFAULT '0000-00-00 00:00:00' NOT NULL",
+		"imessage"	=> "VARCHAR(3) NOT NULL",
+		"messagerie"	=> "VARCHAR(3) NOT NULL",
+		"alea_actuel"	=> "tinytext NOT NULL",
+		"alea_futur"	=> "tinytext NOT NULL",
+		"prefs"	=> "tinytext NOT NULL",
+		"cookie_oubli"	=> "tinytext NOT NULL",
+		"source"	=> "VARCHAR(10) DEFAULT 'spip' NOT NULL",
+		"lang"	=> "VARCHAR(10) DEFAULT '' NOT NULL",
+		"idx"		=> "ENUM('', '1', 'non', 'oui', 'idx') DEFAULT '' NOT NULL",
+		"url_propre" => "VARCHAR(255) NOT NULL",
+		"extra"	=> "longblob NULL");
+
+$spip_auteurs_key = array(
+		"PRIMARY KEY"	=> "id_auteur",
+		"KEY login"	=> "login",
+		"KEY statut"	=> "statut",
+		"KEY lang"	=> "lang",
+		"KEY idx"	=> "idx",
+		"KEY en_ligne"	=> "en_ligne",
+		"KEY url_propre"	=> "url_propre");
+
+$spip_breves = array(
+		"id_breve"	=> "bigint(21) NOT NULL",
+		"date_heure"	=> "datetime DEFAULT '0000-00-00 00:00:00' NOT NULL",
+		"titre"	=> "text NOT NULL",
+		"texte"	=> "longblob NOT NULL",
+		"lien_titre"	=> "text NOT NULL",
+		"lien_url"	=> "text NOT NULL",
+		"statut"	=> "varchar(6) NOT NULL",
+		"id_rubrique"	=> "bigint(21) DEFAULT '0' NOT NULL",
+		"lang"	=> "VARCHAR(10) DEFAULT '' NOT NULL",
+		"langue_choisie"	=> "VARCHAR(3) DEFAULT 'non'",
+		"maj"	=> "TIMESTAMP",
+		"idx"		=> "ENUM('', '1', 'non', 'oui', 'idx') DEFAULT '' NOT NULL",
+		"extra"	=> "longblob NULL",
+		"url_propre" => "VARCHAR(255) NOT NULL");
+
+$spip_breves_key = array(
+		"PRIMARY KEY"	=> "id_breve",
+		"KEY idx"	=> "idx",
+		"KEY id_rubrique"	=> "id_rubrique",
+		"KEY url_propre"	=> "url_propre");
+
+$spip_messages = array(
+		"id_message"	=> "bigint(21) NOT NULL",
+		"titre"	=> "text NOT NULL",
+		"texte"	=> "longblob NOT NULL",
+		"type"	=> "varchar(6) NOT NULL",
+		"date_heure"	=> "datetime DEFAULT '0000-00-00 00:00:00' NOT NULL",
+		"date_fin"	=> "datetime DEFAULT '0000-00-00 00:00:00' NOT NULL",
+		"rv"	=> "varchar(3) NOT NULL",
+		"statut"	=> "varchar(6) NOT NULL",
+		"id_auteur"	=> "bigint(21) NOT NULL",
+		"maj"	=> "TIMESTAMP");
+
+$spip_messages_key = array(
+		"PRIMARY KEY"	=> "id_message",
+		"KEY id_auteur"	=> "id_auteur");
+
+$spip_mots = array(
+		"id_mot"	=> "bigint(21) NOT NULL",
+		"titre"	=> "text NOT NULL",
+		"descriptif"	=> "text NOT NULL",
+		"texte"	=> "longblob NOT NULL",
+		"id_groupe"	=> "bigint(21) NOT NULL",
+		"type"	=> "text NOT NULL",
+		"extra"	=> "longblob NULL",
+		"idx"		=> "ENUM('', '1', 'non', 'oui', 'idx') DEFAULT '' NOT NULL",
+		"url_propre" => "VARCHAR(255) NOT NULL",
+		"maj"	=> "TIMESTAMP");
+
+$spip_mots_key = array(
+		"PRIMARY KEY"	=> "id_mot",
+		"KEY idx"	=> "idx",
+		"KEY url_propre"	=> "url_propre");
+
+$spip_groupes_mots = array(
+		"id_groupe"	=> "bigint(21) NOT NULL",
+		"titre"	=> "text NOT NULL",
+		"descriptif"	=> "text NOT NULL",
+		"texte"	=> "longblob NOT NULL",
+		"unseul"	=> "varchar(3) NOT NULL",
+		"obligatoire"	=> "varchar(3) NOT NULL",
+		"articles"	=> "varchar(3) NOT NULL",
+		"breves"	=> "varchar(3) NOT NULL",
+		"rubriques"	=> "varchar(3) NOT NULL",
+		"syndic"	=> "varchar(3) NOT NULL",
+		"minirezo"	=> "varchar(3) NOT NULL",
+		"comite"	=> "varchar(3) NOT NULL",
+		"forum"	=> "varchar(3) NOT NULL",
+		"maj"	=> "TIMESTAMP");
+
+$spip_groupes_mots_key = array(
+		"PRIMARY KEY"	=> "id_groupe");
+
+$spip_rubriques = array(
+		"id_rubrique"	=> "bigint(21) NOT NULL",
+		"id_parent"	=> "bigint(21) DEFAULT '0' NOT NULL",
+		"titre"	=> "text NOT NULL",
+		"descriptif"	=> "text NOT NULL",
+		"texte"	=> "longblob NOT NULL",
+		"id_secteur"	=> "bigint(21) DEFAULT '0' NOT NULL",
+		"maj"	=> "TIMESTAMP",
+		"export"	=> "VARCHAR(10) DEFAULT 'oui'",
+		"id_import"	=> "BIGINT DEFAULT '0'",
+		"statut"	=> "VARCHAR(10) NOT NULL",
+		"date"	=> "datetime DEFAULT '0000-00-00 00:00:00' NOT NULL",
+		"lang"	=> "VARCHAR(10) DEFAULT '' NOT NULL",
+		"langue_choisie"	=> "VARCHAR(3) DEFAULT 'non'",
+		"idx"		=> "ENUM('', '1', 'non', 'oui', 'idx') DEFAULT '' NOT NULL",
+		"extra"	=> "longblob NULL",
+		"url_propre" => "VARCHAR(255) NOT NULL",
+		"statut_tmp"	=> "VARCHAR(10) NOT NULL",
+		"date_tmp"	=> "datetime DEFAULT '0000-00-00 00:00:00' NOT NULL"
+		);
+
+$spip_rubriques_key = array(
+		"PRIMARY KEY"	=> "id_rubrique",
+		"KEY lang"	=> "lang",
+		"KEY idx"	=> "idx",
+		"KEY id_parent"	=> "id_parent",
+		"KEY url_propre"	=> "url_propre");
+
+$spip_documents = array(
+		"id_document"	=> "bigint(21) NOT NULL",
+		"id_vignette"	=> "bigint(21) DEFAULT '0' NOT NULL",
+		"id_type"	=> "bigint(21) DEFAULT '0' NOT NULL",
+		"titre"	=> "text NOT NULL",
+		"date"	=> "datetime DEFAULT '0000-00-00 00:00:00' NOT NULL",
+		"descriptif"	=> "text NOT NULL",
+		"fichier"	=> "varchar(255) NOT NULL",
+		"taille"	=> "integer NOT NULL",
+		"largeur"	=> "integer NOT NULL",
+		"hauteur"	=> "integer NOT NULL",
+		"mode"	=> "ENUM('vignette', 'document') NOT NULL",
+		"distant"	=> "VARCHAR(3) DEFAULT 'non'",
+		"idx"		=> "ENUM('', '1', 'non', 'oui', 'idx') DEFAULT '' NOT NULL",
+		"maj"	=> "TIMESTAMP");
+
+$spip_documents_key = array(
+		"PRIMARY KEY"	=> "id_document",
+		"KEY id_vignette"	=> "id_vignette",
+		"KEY mode"	=> "mode",
+		"KEY id_type"	=> "id_type");
+
+$spip_types_documents = array(
+		"id_type"	=> "bigint(21) NOT NULL",
+		"titre"	=> "text NOT NULL",
+		"descriptif"	=> "text NOT NULL",
+		"extension"	=> "varchar(10) NOT NULL",
+		"mime_type"	=> "varchar(100) NOT NULL",
+		"inclus"	=> "ENUM('non', 'image', 'embed') NOT NULL DEFAULT 'non'",
+		"upload"	=> "ENUM('oui', 'non') NOT NULL DEFAULT 'oui'",
+		"maj"	=> "TIMESTAMP");
+
+$spip_types_documents_key = array(
+		"PRIMARY KEY"	=> "id_type",
+		"UNIQUE extension"	=> "extension",
+		"KEY inclus"	=> "inclus");
+
+$spip_syndic = array(
+		"id_syndic"	=> "bigint(21) NOT NULL",
+		"id_rubrique"	=> "bigint(21) DEFAULT '0' NOT NULL",
+		"id_secteur"	=> "bigint(21) DEFAULT '0' NOT NULL",
+		"nom_site"	=> "blob NOT NULL",
+		"url_site"	=> "blob NOT NULL",
+		"url_syndic"	=> "blob NOT NULL",
+		"descriptif"	=> "blob NOT NULL",
+		"url_propre"	=> "VARCHAR(255) NOT NULL",
+		"idx"		=> "ENUM('', '1', 'non', 'oui', 'idx') DEFAULT '' NOT NULL",
+		"maj"	=> "TIMESTAMP",
+		"syndication"	=> "VARCHAR(3) NOT NULL",
+		"statut"	=> "VARCHAR(10) NOT NULL",
+		"date"	=> "datetime DEFAULT '0000-00-00 00:00:00' NOT NULL",
+		"date_syndic"	=> "datetime DEFAULT '0000-00-00 00:00:00' NOT NULL",
+		"date_index"	=> "datetime DEFAULT '0000-00-00 00:00:00' NOT NULL",
+		"extra"			=> "longblob NULL",
+		"moderation"	=> "VARCHAR(3) DEFAULT 'non'",
+		"miroir"	=> "VARCHAR(3) DEFAULT 'non'",
+		"oubli"	=> "VARCHAR(3) DEFAULT 'non'",
+		"resume"	=> "VARCHAR(3) DEFAULT 'oui'"
+);
+
+$spip_syndic_key = array(
+		"PRIMARY KEY"	=> "id_syndic",
+		"KEY id_rubrique"	=> "id_rubrique",
+		"KEY id_secteur"	=> "id_secteur",
+		"KEY idx"		=> "idx",
+		"KEY statut"	=> "statut, date_syndic",
+		"KEY url_propre"	=> "url_propre");
+
+$spip_syndic_articles = array(
+		"id_syndic_article"	=> "bigint(21) NOT NULL",
+		"id_syndic"	=> "bigint(21) DEFAULT '0' NOT NULL",
+		"titre"	=> "text NOT NULL",
+		"url"	=> "VARCHAR(255) NOT NULL",
+		"date"	=> "datetime DEFAULT '0000-00-00 00:00:00' NOT NULL",
+		"lesauteurs"	=> "text NOT NULL",
+		"maj"	=> "TIMESTAMP",
+		"statut"	=> "VARCHAR(10) NOT NULL",
+		"descriptif"	=> "blob NOT NULL",
+		"lang"	=> "VARCHAR(10) DEFAULT '' NOT NULL",
+		"url_source" => "TINYTEXT DEFAULT '' NOT NULL",
+		"source" => "TINYTEXT DEFAULT '' NOT NULL",
+		"tags" => "TEXT DEFAULT '' NOT NULL");
+
+$spip_syndic_articles_key = array(
+		"PRIMARY KEY"	=> "id_syndic_article",
+		"KEY id_syndic"	=> "id_syndic",
+		"KEY statut"	=> "statut",
+		"KEY url"	=> "url");
+
+$spip_forum = array(
+		"id_forum"	=> "bigint(21) NOT NULL",
+		"id_parent"	=> "bigint(21) DEFAULT '0' NOT NULL",
+		"id_thread"	=> "bigint(21) DEFAULT '0' NOT NULL",
+		"id_rubrique"	=> "bigint(21) DEFAULT '0' NOT NULL",
+		"id_article"	=> "bigint(21) DEFAULT '0' NOT NULL",
+		"id_breve"	=> "bigint(21) DEFAULT '0' NOT NULL",
+		"date_heure"	=> "datetime DEFAULT '0000-00-00 00:00:00' NOT NULL",
+		"titre"	=> "text NOT NULL",
+		"texte"	=> "mediumtext NOT NULL",
+		"auteur"	=> "text NOT NULL",
+		"email_auteur"	=> "text NOT NULL",
+		"nom_site"	=> "text NOT NULL",
+		"url_site"	=> "text NOT NULL",
+		"statut"	=> "varchar(8) NOT NULL",
+		"idx"		=> "ENUM('', '1', 'non', 'oui', 'idx') DEFAULT '' NOT NULL",
+		"ip"	=> "varchar(16)",
+		"maj"	=> "TIMESTAMP",
+		"id_auteur"	=> "BIGINT DEFAULT '0' NOT NULL",
+		"id_message"	=> "bigint(21) DEFAULT '0' NOT NULL",
+		"id_syndic"	=> "bigint(21) DEFAULT '0' NOT NULL");
+
+$spip_forum_key = array(
+		"PRIMARY KEY"	=> "id_forum",
+		"KEY id_parent"	=> "id_parent",
+		"KEY id_article"	=> "id_article",
+		"KEY id_breve"	=> "id_breve",
+		"KEY id_message"	=> "id_message",
+		"KEY id_syndic"	=> "id_syndic",
+		"KEY id_rubrique"	=> "id_rubrique",
+		"KEY idx"	=> "idx",
+		"KEY statut"	=> "statut, date_heure");
+
+$spip_signatures = array(
+		"id_signature"	=> "bigint(21) NOT NULL",
+		"id_article"	=> "bigint(21) DEFAULT '0' NOT NULL",
+		"date_time"	=> "datetime DEFAULT '0000-00-00 00:00:00' NOT NULL",
+		"nom_email"	=> "text NOT NULL",
+		"ad_email"	=> "text NOT NULL",
+		"nom_site"	=> "text NOT NULL",
+		"url_site"	=> "text NOT NULL",
+		"message"	=> "mediumtext NOT NULL",
+		"statut"	=> "varchar(10) NOT NULL",
+		"idx"		=> "ENUM('', '1', 'non', 'oui', 'idx') DEFAULT '' NOT NULL",
+		"maj"	=> "TIMESTAMP");
+
+$spip_signatures_key = array(
+		"PRIMARY KEY"	=> "id_signature",
+		"KEY id_article"	=> "id_article",
+		"KEY idx"		=> "idx",
+		"KEY statut" => "statut");
+
+
+global $tables_principales;
+
+/// Attention: mes_fonctions peut avoir deja defini cette variable
+/// il faut donc rajouter, mais pas reinitialiser
+
+$tables_principales['spip_articles'] =
+	array('field' => &$spip_articles, 'key' => &$spip_articles_key);
+$tables_principales['spip_auteurs']  =
+	array('field' => &$spip_auteurs, 'key' => &$spip_auteurs_key);
+$tables_principales['spip_breves']   =
+	array('field' => &$spip_breves, 'key' => &$spip_breves_key);
+$tables_principales['spip_messages'] =
+	array('field' => &$spip_messages, 'key' => &$spip_messages_key);
+$tables_principales['spip_mots']     =
+	array('field' => &$spip_mots, 'key' => &$spip_mots_key);
+$tables_principales['spip_groupes_mots'] =
+	array('field' => &$spip_groupes_mots, 'key' => &$spip_groupes_mots_key);
+$tables_principales['spip_rubriques'] =
+	array('field' => &$spip_rubriques, 'key' => &$spip_rubriques_key);
+$tables_principales['spip_documents'] =
+	array('field' => &$spip_documents,  'key' => &$spip_documents_key);
+$tables_principales['spip_types_documents']	=
+	array('field' => &$spip_types_documents, 'key' => &$spip_types_documents_key);
+$tables_principales['spip_syndic'] =
+	array('field' => &$spip_syndic, 'key' => &$spip_syndic_key);
+$tables_principales['spip_syndic_articles']	=
+	array('field' => &$spip_syndic_articles, 'key' => &$spip_syndic_articles_key);
+$tables_principales['spip_forum'] =
+	array('field' => &$spip_forum,	'key' => &$spip_forum_key);
+$tables_principales['spip_signatures'] =
+	array('field' => &$spip_signatures, 'key' => &$spip_signatures_key);
+
+?>
diff --git a/ecrire/maj/vieille_base/1927/typedoc.php b/ecrire/maj/vieille_base/1927/typedoc.php
new file mode 100644
index 0000000000000000000000000000000000000000..2cb28c0c6e2021046ce32d4064f2294b4010a7ea
--- /dev/null
+++ b/ecrire/maj/vieille_base/1927/typedoc.php
@@ -0,0 +1,211 @@
+<?php
+
+/***************************************************************************\
+ *  SPIP, Systeme de publication pour l'internet                           *
+ *                                                                         *
+ *  Copyright (c) 2001-2007                                                *
+ *  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.   *
+\***************************************************************************/
+
+
+//
+if (!defined("_ECRIRE_INC_VERSION")) return;
+
+## cette API ne sait pas gerer les aliases ; a revoir...
+
+global $tables_images, $tables_sequences, $tables_documents, $tables_mime;
+
+$tables_images = array(
+		       // Images reconnues par PHP
+		       'jpg' => 1, 
+		       'png' => 2, 
+		       'gif' => 3,
+
+		       // Autres images (peuvent utiliser le tag <img>)
+		       'bmp' => 'BMP',
+		       'tif' => 'TIFF'
+		       );
+
+// Multimedia (peuvent utiliser le tag <embed>)
+
+$tables_sequences = array(
+			  'aiff' => 'AIFF',
+			  'asf' => 'Windows Media',
+			  'avi' => 'AVI',
+			  'flv' => 'Flash Video',
+			  'mid' => 'Midi',
+			  'mng' => 'MNG',
+			  'mka' => 'Matroska Audio',
+			  'mkv' => 'Matroska Video',
+			  'mov' => 'QuickTime',
+			  'mp3' => 'MP3',
+			  'mp4' => 'MPEG4',
+			  'mpg' => 'MPEG',
+			  'ogg' => 'Ogg',
+			  'qt' => 'QuickTime',
+			  'ra' => 'RealAudio',
+			  'ram' => 'RealAudio',
+			  'rm' => 'RealAudio',
+			  'svg' => 'Scalable Vector Graphics',
+			  'swf' => 'Flash',
+			  'wav' => 'WAV',
+			  'wmv' => 'Windows Media'
+			  );
+
+// Documents varies
+$tables_documents = array(
+			  'abw' => 'Abiword',
+			  'ai' => 'Adobe Illustrator',
+			  'bz2' => 'BZip',
+			  'bin' => 'Binary Data',
+			  'blend' => 'Blender',
+			  'c' => 'C source',
+			  'css' => 'Cascading Style Sheet',
+			  'csv' => 'Comma Separated Values',
+			  'deb' => 'Debian',
+			  'doc' => 'Word',
+			  'djvu' => 'DjVu',
+			  'dvi' => 'LaTeX DVI',
+			  'eps' => 'PostScript',
+			  'gz' => 'GZ',
+			  'h' => 'C header',
+			  'html' => 'HTML',
+			  'kml' => 'Keyhole Markup Language',
+			  'kmz' => 'Google Earth Placemark File',
+			  'pas' => 'Pascal',
+			  'pdf' => 'PDF',
+			  'pgn' => 'Portable Game Notation',
+			  'ppt' => 'PowerPoint',
+			  'ps' => 'PostScript',
+			  'psd' => 'Photoshop',
+			  'rpm' => 'RedHat/Mandrake/SuSE',
+			  'rtf' => 'RTF',
+			  'sdd' => 'StarOffice',
+			  'sdw' => 'StarOffice',
+			  'sit' => 'Stuffit',
+			  'sxc' => 'OpenOffice Calc',
+			  'sxi' => 'OpenOffice Impress',
+			  'sxw' => 'OpenOffice',
+			  'tex' => 'LaTeX',
+			  'tgz' => 'TGZ',
+			  'torrent' => 'BitTorrent',
+			  'ttf' => 'TTF Font',
+			  'txt' => 'texte',
+			  'xcf' => 'GIMP multi-layer',
+			  'xls' => 'Excel',
+			  'xml' => 'XML',
+			  'zip' => 'Zip',
+
+			// open document format
+			'odt' => 'opendocument text',
+			'ods' => 'opendocument spreadsheet',
+			'odp' => 'opendocument presentation',
+			'odg' => 'opendocument graphics',
+			'odc' => 'opendocument chart',
+			'odf' => 'opendocument formula',
+			'odb' => 'opendocument database',
+			'odi' => 'opendocument image',
+			'odm' => 'opendocument text-master',
+			'ott' => 'opendocument text-template',
+			'ots' => 'opendocument spreadsheet-template',
+			'otp' => 'opendocument presentation-template',
+			'otg' => 'opendocument graphics-template',
+		
+			  );
+
+$tables_mime = array(
+		// Images reconnues par PHP
+		'jpg'=>'image/jpeg',
+		'png'=>'image/png',
+		'gif'=>'image/gif',
+
+		// Autres images (peuvent utiliser le tag <img>)
+		'bmp'=>'image/x-ms-bmp', // pas enregistre par IANA, variante: image/bmp
+		'tif'=>'image/tiff',
+
+		// Multimedia (peuvent utiliser le tag <embed>)
+		'aiff'=>'audio/x-aiff',
+		'asf'=>'video/x-ms-asf',
+		'avi'=>'video/x-msvideo',
+		'flv' => 'video/x-flv',
+		'mid'=>'audio/midi',
+		'mka' => 'audio/mka',
+		'mkv' => 'video/mkv',
+		'mng'=>'video/x-mng',
+		'mov'=>'video/quicktime',
+		'mp3'=>'audio/mpeg',
+		'mp4' => 'application/mp4',
+		'mpg'=>'video/mpeg',
+		'ogg'=>'application/ogg',
+		'qt' =>'video/quicktime',
+		'ra' =>'audio/x-pn-realaudio',
+		'ram'=>'audio/x-pn-realaudio',
+		'rm' =>'audio/x-pn-realaudio',
+		'svg'=>'image/svg+xml',
+		'swf'=>'application/x-shockwave-flash',
+		'wav'=>'audio/x-wav',
+		'wmv'=>'video/x-ms-wmv',
+
+		// Documents varies
+		'ai' =>'application/illustrator',
+		'abw' =>'application/abiword',
+		'bin' => 'application/octet-stream', # le tout-venant
+		'blend' => 'application/x-blender',
+		'bz2'=>'application/x-bzip2',
+		'c'  =>'text/x-csrc',
+		'css'=>'text/css',
+		'csv'=>'text/csv',
+		'deb'=>'application/x-debian-package',
+		'doc'=>'application/msword',
+		'djvu'=>'image/vnd.djvu',
+		'dvi'=>'application/x-dvi',
+		'eps'=>'application/postscript',
+		'gz' =>'application/x-gzip',
+		'h'  =>'text/x-chdr',
+		'html'=>'text/html',
+		'kml'=>'application/vnd.google-earth.kml+xml',
+		'kmz'=>'application/vnd.google-earth.kmz',
+		'pas'=>'text/x-pascal',
+		'pdf'=>'application/pdf',
+		'pgn' =>'application/x-chess-pgn',
+		'ppt'=>'application/vnd.ms-powerpoint',
+		'ps' =>'application/postscript',
+		'psd'=>'image/x-photoshop', // pas enregistre par IANA
+		'rpm'=>'application/x-redhat-package-manager',
+		'rtf'=>'application/rtf',
+		'sdd'=>'application/vnd.stardivision.impress',
+		'sdw'=>'application/vnd.stardivision.writer',
+		'sit'=>'application/x-stuffit',
+		'sxc'=>'application/vnd.sun.xml.calc',
+		'sxi'=>'application/vnd.sun.xml.impress',
+		'sxw'=>'application/vnd.sun.xml.writer',
+		'tex'=>'text/x-tex',
+		'tgz'=>'application/x-gtar',
+		'torrent' => 'application/x-bittorrent',
+		'ttf'=>'application/x-font-ttf',
+		'txt'=>'text/plain',
+		'xcf'=>'application/x-xcf',
+		'xls'=>'application/vnd.ms-excel',
+		'xml'=>'application/xml',
+		'zip'=>'application/zip',
+
+		// open document format
+		'odt' => 'application/vnd.oasis.opendocument.text',
+		'ods' => 'application/vnd.oasis.opendocument.spreadsheet',
+		'odp' => 'application/vnd.oasis.opendocument.presentation',
+		'odg' => 'application/vnd.oasis.opendocument.graphics',
+		'odc' => 'application/vnd.oasis.opendocument.chart',
+		'odf' => 'application/vnd.oasis.opendocument.formula',
+		'odb' => 'application/vnd.oasis.opendocument.database',
+		'odi' => 'application/vnd.oasis.opendocument.image',
+		'odm' => 'application/vnd.oasis.opendocument.text-master',
+		'ott' => 'application/vnd.oasis.opendocument.text-template',
+		'ots' => 'application/vnd.oasis.opendocument.spreadsheet-template',
+		'otp' => 'application/vnd.oasis.opendocument.presentation-template',
+		'otg' => 'application/vnd.oasis.opendocument.graphics-template'
+		
+	);
+?>
diff --git a/ecrire/maj/vieille_base/charger.php b/ecrire/maj/vieille_base/charger.php
new file mode 100644
index 0000000000000000000000000000000000000000..5df2648957951d48c6093f2fef5e65625bfd0f6b
--- /dev/null
+++ b/ecrire/maj/vieille_base/charger.php
@@ -0,0 +1,47 @@
+<?php
+
+/***************************************************************************\
+ *  SPIP, Systeme de publication pour l'internet                           *
+ *                                                                         *
+ *  Copyright (c) 2001-2008                                                *
+ *  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.   *
+\***************************************************************************/
+
+if (!defined("_ECRIRE_INC_VERSION")) return;
+include_spip('base/abstract_sql');
+
+function maj_vieille_base_charger_dist($version_cible){
+	$vieilles_bases = array(
+	'1.917'=>'1917',
+	'1.927'=>'1927',
+	);
+	$version = false;
+	foreach($vieilles_bases as $v=>$n){
+		if (!$version OR version_compare($v,$version_cible,'<'))
+			$version = $n;
+	}
+	
+	include_spip('base/serial');
+	include_spip('base/auxiliaires');
+	$GLOBALS['nouvelle_base']['tables_principales'] = $GLOBALS['tables_principales'];
+	$GLOBALS['nouvelle_base']['tables_auxiliaires'] = $GLOBALS['tables_auxiliaires'];
+
+	unset($GLOBALS['tables_principales']);
+	unset($GLOBALS['tables_auxiliaires']);
+	unset($GLOBALS['tables_images']);
+	unset($GLOBALS['tables_sequences']);
+	unset($GLOBALS['tables_documents']);
+	unset($GLOBALS['tables_mime']);
+
+	// chargera les descriptions de table
+	$create = charger_fonction('create',"maj/vieille_base/$version");
+	if (!isset($GLOBALS['tables_auxiliaires']['spip_meta']['field']['impt']))
+			$GLOBALS['tables_auxiliaires']['spip_meta']['field']['impt'] = "ENUM('non', 'oui') DEFAULT 'oui' NOT NULL";
+
+	return $version;
+}
+
+?>
\ No newline at end of file
diff --git a/ecrire/maj/vieille_base/create.php b/ecrire/maj/vieille_base/create.php
new file mode 100644
index 0000000000000000000000000000000000000000..7509e2aa22db70bb30e16a7fca88a381edd575a3
--- /dev/null
+++ b/ecrire/maj/vieille_base/create.php
@@ -0,0 +1,56 @@
+<?php
+
+/***************************************************************************\
+ *  SPIP, Systeme de publication pour l'internet                           *
+ *                                                                         *
+ *  Copyright (c) 2001-2008                                                *
+ *  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.   *
+\***************************************************************************/
+
+if (!defined("_ECRIRE_INC_VERSION")) return;
+
+$serveur_vieille_base =0;
+
+function	spip_create_table($table,$fields,$keys,$autoinc){
+	static $fcreate = null;
+	$serveur = $GLOBALS['serveur_vieille_base'];
+	if (!$fcreate) $fcreate = sql_serveur('create', $serveur);
+	$fcreate($table,$fields,$keys,$autoinc,false,$serveur);
+}
+
+function maj_vieille_base_create_dist($version_cible){
+
+	$charger = charger_fonction('charger','maj/vieille_base');
+	$version = $charger($version_cible);
+
+	// choisir un nouveau prefixe de table, le noter, et switcher en redefinissant le serveur
+	$new_prefixe = "XXspip$version";
+	// ici on ecrit la meta dans la table 'officielle'
+	ecrire_meta('restauration_table_prefix',$new_prefixe,'non');
+	ecrire_meta('vieille_version_installee',$version,'non');
+	
+	//$GLOBALS['table_prefix'] = $new_prefixe;
+	//lire_metas();
+	$prefixe_source = $GLOBALS['connexions'][0]['prefixe'];
+	$GLOBALS['serveur_vieille_base'] = 0;
+	$GLOBALS['connexions'][$GLOBALS['serveur_vieille_base']] = $GLOBALS['connexions'][0];
+	$GLOBALS['connexions'][$GLOBALS['serveur_vieille_base']]['prefixe'] = $new_prefixe;
+
+	$create = charger_fonction('create',"maj/vieille_base/$version");
+	$create();
+	
+	// reecrire les metas dans la table provisoire
+	foreach($GLOBALS['meta'] as $k=>$v)
+		ecrire_meta($k,$v);
+	ecrire_meta('restauration_table_prefix_source',$prefixe_source,'non');
+	
+	// noter le numero de version installee
+	ecrire_meta('version_installee',$version_cible,'non');
+
+}
+
+
+?>
\ No newline at end of file