diff --git a/.gitmodules b/.gitmodules
new file mode 100644
index 0000000000000000000000000000000000000000..822f448577fd54bc1a81827516065bc405f49fb7
--- /dev/null
+++ b/.gitmodules
@@ -0,0 +1,3 @@
+[submodule "css/tufte-css"]
+	path = css/tufte-css
+	url = https://github.com/edwardtufte/tufte-css.git
diff --git a/Makefile b/Makefile
new file mode 100644
index 0000000000000000000000000000000000000000..4df1de671c26d45b8d360d2a3857561e2efb6d92
--- /dev/null
+++ b/Makefile
@@ -0,0 +1,36 @@
+OPTIONS = --filter=pandoc-numbering
+OPTIONS += --filter=pandoc-crossref
+
+PDFOPTIONS = --highlight-style kate
+PDFOPTIONS += --pdf-engine pdflatex
+PDFOPTIONS += --number-sections
+PDFOPTIONS += --template=./default.latex
+
+
+HTMLOPTIONS += -t html5
+HTMLOPTIONS += -c css/tufte-css/tufte.css
+HTMLOPTIONS += --self-contained
+HTMLOPTIONS += --mathjax=MathJax.js
+
+MD=$(wildcard *.md)
+HTML=$(MD:%.md=%.html)
+PDF=$(MD:%.md=%.pdf)
+
+
+all: $(HTML) $(PDF)
+
+%.pdf: %.md Makefile
+	pandoc -s $(OPTIONS) $(PDFOPTIONS) -o $@ $<
+
+%.html: %.md Makefile
+	pandoc -s $(OPTIONS) $(HTMLOPTIONS) -o $@ $<
+
+deploy: all
+	mkdir -p prog_seq_c_tp/shortest_path
+	cp graphe.html prog_seq_c_tp/shortest_path/index.html
+	cp graphe.pdf prog_seq_c_tp/shortest_path/graphe.pdf
+	cp xml_parser.h xml_parser.h prog_seq_c_tp/shortest_path/
+
+
+clean:
+	rm -rf *.html *.pdf prog_seq_c_tp
diff --git a/css/tufte-css b/css/tufte-css
new file mode 160000
index 0000000000000000000000000000000000000000..c414b9117d5b39bdb747a172822333fc1043aee3
--- /dev/null
+++ b/css/tufte-css
@@ -0,0 +1 @@
+Subproject commit c414b9117d5b39bdb747a172822333fc1043aee3