diff --git a/ecrire/exec/articles_edit.php b/ecrire/exec/articles_edit.php
index f881fd7b901d78358bb5c58d168512f6bb3cbbb0..bf8dac54a254bb139b1158faaee6bf342e62d003 100644
--- a/ecrire/exec/articles_edit.php
+++ b/ecrire/exec/articles_edit.php
@@ -287,9 +287,26 @@ function exec_articles_edit_dist()
 	if (!$row) die ("<h3>"._T('info_acces_interdit')."</h3>");
 
 	$id_article = $row['id_article'];
+
+	// si une ancienne revision est demandee, la charger
+	// en lieu et place de l'actuelle ; attention les champs
+	// qui etaient vides ne sont pas vide's. Ca permet de conserver
+	// des complements ajoutes "orthogonalement", et ca fait un code
+	// plus generique.
+	if ($id_version = intval(_request('id_version'))) {
+		include_spip('inc/revisions');
+		if ($textes = recuperer_version($id_article, $id_version)) {
+			foreach ($textes as $champ => $contenu)
+				$row[$champ] = $contenu;
+		}
+	}
+
+
 	$id_rubrique = $row['id_rubrique'];
 	$titre = $row['titre'];
 
+	if ($id_version) $titre.= ' ('._T('version')." $id_version)";
+
 	debut_page(_T('titre_page_articles_edit', array('titre' => $titre)),
 		   "documents", "articles", "hauteurTextarea();", 
 		   "",
diff --git a/ecrire/exec/articles_versions.php b/ecrire/exec/articles_versions.php
index 3bf48062eae14565c7843e19ae336096eb337f89..036f4253dd88d914be3edf9fedd60e8fddc7e71b 100644
--- a/ecrire/exec/articles_versions.php
+++ b/ecrire/exec/articles_versions.php
@@ -200,7 +200,7 @@ $flag_editable = (acces_rubrique($id_rubrique)
 	OR ($flag_auteur AND ($statut_article == 'prepa' OR $statut_article == 'prop' OR $statut_article == 'poubelle')));
 
 if ($flag_editable)
-	icone(_T('icone_modifier_article'), generer_url_ecrire("articles_edit","id_article=$id_article"), "article-24.gif", "edit.gif");
+	icone(_T('icone_modifier_article').'<br />('._T('version')." $id_version)", generer_url_ecrire("articles_edit","id_article=$id_article&id_version=$id_version"), "article-24.gif", "edit.gif");
 
 echo "</td>";