diff --git a/.gitattributes b/.gitattributes
index 757ded9a7544411d8eff25b69d2ee6ca7637478f..cd345b18edbf5cef718138fe8a81259b79febe99 100644
--- a/.gitattributes
+++ b/.gitattributes
@@ -147,6 +147,8 @@ css/ie.css.html -text
 css/ie6.css -text
 css/ie7.css -text
 /datepicker_lang.js.html -text
+dev/gen_articles.html -text
+dev/motconf.html -text
 documents/casiertypo.png -text
 documents/contact.jpg -text
 documents/facebook.png -text
@@ -359,7 +361,6 @@ modeles/mod_lien_detail.html -text
 modeles/popup.html -text
 modeles/secteur_pdf.html -text
 /mot.html -text
-/motconf.html -text
 /mots_filtres.html -text
 /mots_filtres_agenda.html -text
 /motsfonctionnels.html -text
diff --git a/dev/gen_articles.html b/dev/gen_articles.html
new file mode 100644
index 0000000000000000000000000000000000000000..c3a7e909dbd12b9f5e833f4ba3cf0d58da980e80
--- /dev/null
+++ b/dev/gen_articles.html
@@ -0,0 +1,38 @@
+#HTTP_HEADER{Content-Type: text/plain; charset=#CHARSET}
+<BOUCLE_ListeRubriques(RUBRIQUES){racine}{par num titre}{tout}>
+	create_rubrique("[(#TITRE*|sc_NewLine2str)]", '0', "[(#DESCRIPTIF*|sc_NewLine2str)]");[(#REM)
+	]<BOUCLE_MotsRub(MOTS){id_rubrique}>
+		create_rubrique_mot("[(#INFO_TITRE*{rubrique,#ID_RUBRIQUE}|sc_NewLine2str)]", "[(#TITRE*|sc_NewLine2str)]", "[(#INFO_TITRE*{groupe_mot,#ID_GROUPE}|sc_NewLine2str)]");[(#REM)
+	]</BOUCLE_MotsRub>[(#REM)
+	]<BOUCLE_ListeSsRubriques(RUBRIQUES){id_parent}{par num titre}{tout}>
+		create_rubrique("[(#TITRE*|sc_NewLine2str)]", #ID_PARENT, "[(#DESCRIPTIF*|sc_NewLine2str)]");[(#REM)
+	]<BOUCLE_MotsSsRub(MOTS){id_rubrique}>
+			create_rubrique_mot("[(#INFO_TITRE*{rubrique,#ID_RUBRIQUE}|sc_NewLine2str)]", "[(#TITRE*|sc_NewLine2str)]", "[(#INFO_TITRE*{groupe_mot,#ID_GROUPE}|sc_NewLine2str)]");[(#REM)
+	]</BOUCLE_MotsSsRub><BOUCLE_SSRub(BOUCLE_ListeSsRubriques) />[(#REM)
+	]</BOUCLE_ListeSsRubriques>
+	
+</BOUCLE_ListeRubriques>
+
+<BOUCLE_ListeArticles(ARTICLES){par id_rubrique}>
+	/* #TITRE* */
+	if ($article == "[(#TITRE*|sc_NewLine2str)]") {
+		$contenu[(#VAL{91}|chr)]'titre'[(#VAL{93}|chr)] = "[(#TITRE*|sc_NewLine2str)]";[
+		$contenu[(#VAL{91}|chr)]'chapo'[(#VAL{93}|chr)] = <<<EOF
+(#CHAPO*)
+EOF;][
+		$contenu[(#VAL{91}|chr)]'texte'[(#VAL{93}|chr)] = <<<EOF
+(#TEXTE*)
+EOF;][
+		$contenu[(#VAL{91}|chr)]'ps'[(#VAL{93}|chr)] = <<<EOF
+(#PS*)
+EOF;][
+		$contenu[(#VAL{91}|chr)]'surtitre'[(#VAL{93}|chr)] = "(#SURTITRE*|sc_NewLine2str)";][
+		$contenu[(#VAL{91}|chr)]'soustitre'[(#VAL{93}|chr)] = "(#SOUSTITRE*|sc_NewLine2str)";][
+		$contenu[(#VAL{91}|chr)]'nom_site'[(#VAL{93}|chr)] = "(#NOM_SITE*|sc_NewLine2str)";][
+		$contenu[(#VAL{91}|chr)]'url_site'[(#VAL{93}|chr)] = "(#URL_SITE*|sc_NewLine2str)";]
+	}
+	$article#ID_ARTICLE = trouve_article_sc("[(#TITRE*|sc_NewLine2str)]");
+		create_article($article#ID_ARTICLE, "[(#INFO_TITRE*{rubrique,#ID_RUBRIQUE}|sc_NewLine2str)]");
+
+
+</BOUCLE_ListeArticles>
\ No newline at end of file
diff --git a/motconf.html b/dev/motconf.html
similarity index 100%
rename from motconf.html
rename to dev/motconf.html