diff --git a/projects/img/chess.jpg b/projects/img/chess.jpg
new file mode 100644
index 0000000..d5953af
Binary files /dev/null and b/projects/img/chess.jpg differ
diff --git a/projects/img/riichi.png b/projects/img/riichi.png
new file mode 100644
index 0000000..500188e
Binary files /dev/null and b/projects/img/riichi.png differ
diff --git a/projets.html b/projets.html
new file mode 100644
index 0000000..fcc8872
--- /dev/null
+++ b/projets.html
@@ -0,0 +1,50 @@
+
+
+
+
+
+
+
+ Projets — Adrien Decosse
+
+
+
+
+ Mes projets
+
+ Voici l'ensemble de mes projets perso que j'ai réalisés jusqu'à présent.
+
+
+
+
+
+
+
diff --git a/projets.json b/projets.json
new file mode 100644
index 0000000..8d10942
--- /dev/null
+++ b/projets.json
@@ -0,0 +1,24 @@
+[
+ {
+ "id": "riichi",
+ "title": "Riichi",
+ "description": "Simulateur et outils pour mahjong Riichi — moteurs, visualisations et tests.",
+ "tech": ["TypeScript","JS","Web"],
+ "image": "projects/img/riichi-tile.svg",
+ "repo": "https://github.com/decosse-adrien/riichi",
+ "live": "riichi/index.html",
+ "featured": true,
+ "date": "2024-03-12"
+ },
+ {
+ "id": "prototype-2",
+ "title": "Prototype 2",
+ "description": "Prototype en développement (ne pas encore mettre en avant).",
+ "tech": ["C","expérimental"],
+ "image": "projects/img/chess-pawn.svg",
+ "repo": "",
+ "live": "prototype2.html",
+ "featured": false,
+ "date": "2025-01-01"
+ }
+]
diff --git a/style.css b/style.css
index 252402c..0aaaec9 100644
--- a/style.css
+++ b/style.css
@@ -209,3 +209,26 @@ a#easteregg:active{
.markdown-content pre{background:rgba(15,23,42,0.03); padding:12px; border-radius:8px; overflow:auto}
.markdown-content blockquote{border-left:4px solid rgba(16,185,129,0.12); padding:8px 12px; color:var(--muted); background:rgba(16,185,129,0.02); border-radius:6px}
+
+/* Projects grid */
+.projects-grid{display:grid; grid-template-columns:repeat(auto-fill,minmax(280px,1fr)); gap:16px; margin-top:12px}
+.project-card{background:var(--card); border-radius:10px; padding:12px; box-shadow:0 6px 18px rgba(15,23,42,0.05); border:1px solid rgba(15,23,42,0.04)}
+.project-card .project-thumb{width:100%; height:300px; object-fit:cover; border-radius:6px; display:block; margin-bottom:10px}
+.project-card h3{margin:8px 0 6px; font-size:18px}
+.project-card .excerpt{color:var(--muted); font-size:15px; margin:0}
+.project-card .tech{margin-top:8px}
+.project-card .tag{display:inline-block; background:rgba(15,23,42,0.04); padding:4px 8px; margin-right:6px; border-radius:6px; font-size:12px}
+.project-links{margin-top:10px; display:flex; gap:8px}
+
+.projects-grid p{grid-column:1/-1}
+
+@media (max-width:900px){
+ .projects-grid{grid-template-columns:repeat(auto-fill,minmax(200px,1fr)); gap:14px}
+ .project-card .project-thumb{height:220px}
+}
+
+@media (max-width:600px){
+ .projects-grid{grid-template-columns:1fr}
+ .project-card .project-thumb{height:180px}
+}
+