diff --git a/ICHLL_Brenon.md b/ICHLL_Brenon.md
index 0bbc601beda531f57373bc6306d57c5f563da78b..3c5f877381a4133db08501ebc020b713c52b5b8b 100644
--- a/ICHLL_Brenon.md
+++ b/ICHLL_Brenon.md
@@ -171,6 +171,8 @@ representing this network as a directed graph, using elements of XML-TEI as
 nodes and placing edges if the destination node may be contained within the
 source node according to the schema.
 
+![The subgraph of the *dictionaries* module](ressources/dictionaries.png)
+
 By iterating several times the operation of moving on that graph along one edge,
 that is, by considering the transitive closure of the relation "be connected by
 an edge" we define *inclusion paths* which allow us to explore which elements
diff --git a/Makefile b/Makefile
index 4d7cc1b6f898c1a55fc30d9510365f5d7d86c7af..68cf0b686b8c3b69f0516cbb3081ac5caa3fb9dc 100644
--- a/Makefile
+++ b/Makefile
@@ -1,7 +1,7 @@
-FIGURES = ressources/cathète_t9.png
+FIGURES = cathète_t9.png dictionaries.png
 SNIPPETS = $(wildcard snippets/*.md)
 FILE_NAME = ICHLL_Brenon
-DEPEDENCIES = $(FIGURES) $(SNIPPETS:%.md=%.png)
+DEPEDENCIES = $(FIGURES:%=ressources/%) $(SNIPPETS:%.md=%.png)
 
 all: $(FILE_NAME).pdf
 
@@ -14,6 +14,9 @@ ICHLL_Brenon.docx: $(DEPEDENCIES)
 %.png: %.pdf
 	pdftocairo -png -singlefile -r 400 $^ $(basename $@)
 
+%.png: %.gv
+	dot -Tpng $< -o $@
+
 %.docx: %.md
 	LANG=fr_FR.UTF-8 pandoc $< -o $@
 
diff --git a/manifest.scm b/manifest.scm
index 77f085ae7e2c12df44c5cbcc7bf72f557aa8ae86..950bbdfadf85e9b14c8e4df8f0257dd1c7affec2 100644
--- a/manifest.scm
+++ b/manifest.scm
@@ -1,8 +1,9 @@
 (use-modules (guix packages)
              (gnu packages base)
+             (gnu packages graphviz)
              (gnu packages haskell-xyz)
              (gnu packages pdf)
              (gnu packages tex))
 
 (packages->manifest
-  (list gnu-make pandoc poppler texlive))
+  (list gnu-make graphviz pandoc poppler texlive))
diff --git a/ressources/dictionaries.gv b/ressources/dictionaries.gv
new file mode 100644
index 0000000000000000000000000000000000000000..d31cc95cb3ec8dbd04dcb4da6068649177257beb
--- /dev/null
+++ b/ressources/dictionaries.gv
@@ -0,0 +1,36 @@
+digraph g {
+	rankdir="TB";
+	case -> lang, oRef, pRef;
+	colloc -> lang, oRef, pRef;
+	def -> lang, oRef, pRef;
+	dictScrap -> oRef, pron, iType, xr, hom, def, pos, gram, orth, etym, hyph, pRef, sense, gramGrp, colloc, re, usg, lang, mood, number, lbl, gen, subc, case, superEntry, per, syll, tns, form;
+	entry -> dictScrap, form, lbl, xr, hom, etym, sense, gramGrp, def, re, usg, entry;
+	entryFree -> oRef, pron, iType, xr, hom, def, pos, gram, orth, etym, hyph, pRef, sense, gramGrp, colloc, re, usg, lang, mood, number, lbl, gen, subc, case, superEntry, per, syll, tns, form;
+	etym -> oRef, lang, lbl, xr, etym, pRef, gramGrp, def, usg;
+	form -> oRef, pron, iType, pos, gram, orth, pRef, hyph, gramGrp, colloc, usg, lang, mood, stress, number, lbl, gen, subc, case, per, syll, tns, form;
+	gen -> lang, oRef, pRef;
+	gram -> lang, oRef, pRef;
+	gramGrp -> oRef, lang, mood, gen, subc, pos, iType, gram, number, lbl, case, pRef, per, tns, gramGrp, colloc, usg;
+	hom -> dictScrap, form, lbl, xr, sense, etym, gramGrp, def, re, usg, entry;
+	hyph -> lang, oRef, pRef;
+	iType -> lang, oRef, pRef;
+	lang -> lang, oRef, pRef;
+	lbl -> lang, oRef, pRef;
+	mood -> lang, oRef, pRef;
+	number -> lang, oRef, pRef;
+	oRef -> oRef;
+	orth -> lang, oRef, pRef;
+	per -> lang, oRef, pRef;
+	pos -> lang, oRef, pRef;
+	pRef -> pRef;
+	pron -> lang, oRef, pRef;
+	re -> oRef, lang, dictScrap, form, lbl, xr, etym, pRef, sense, gramGrp, def, re, usg, entry;
+	sense -> oRef, lang, dictScrap, form, lbl, xr, etym, pRef, sense, gramGrp, def, re, usg, entry;
+	stress -> lang, oRef, pRef;
+	subc -> lang, oRef, pRef;
+	superEntry -> form, dictScrap, entry;
+	syll -> lang, oRef, pRef;
+	tns -> lang, oRef, pRef;
+	usg -> lang, oRef, pRef;
+	xr -> lang, oRef, lbl, pRef, usg;
+}