From 579f7b40303e5c6ae51cf9cc120cca01087236a2 Mon Sep 17 00:00:00 2001 From: Arthur DANJOU Date: Tue, 16 Dec 2025 16:38:33 +0100 Subject: [PATCH] =?UTF-8?q?fix:=20mettre=20=C3=A0=20jour=20la=20configurat?= =?UTF-8?q?ion=20des=20collections=20et=20des=20fichiers=20de=20contenu=20?= =?UTF-8?q?pour=20une=20meilleure=20gestion=20des=20donn=C3=A9es?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- bun.lock | 16 ++++------------ content.config.ts | 12 ++++++------ content/contact.json | 2 +- content/experiences/hackathon-dirisi.md | 13 +++++++++++++ content/languages.json | 2 +- content/skills.json | 2 +- nuxt.config.ts | 20 +++++++++++++++----- package.json | 2 -- 8 files changed, 41 insertions(+), 28 deletions(-) create mode 100644 content/experiences/hackathon-dirisi.md diff --git a/bun.lock b/bun.lock index d7373d3..5d51b67 100644 --- a/bun.lock +++ b/bun.lock @@ -5,7 +5,6 @@ "": { "name": "artrag", "dependencies": { - "@libsql/client": "^0.15.15", "@nuxt/content": "3.9.0", "@nuxt/eslint": "1.12.1", "@nuxthub/core": "0.10.1", @@ -13,7 +12,6 @@ "better-sqlite3": "12.5.0", "drizzle-kit": "^0.31.8", "drizzle-orm": "^0.45.1", - "nitro-cloudflare-dev": "^0.2.2", "nuxt": "4.2.2", "nuxt-studio": "1.0.0-alpha.4", "vue": "3.5.25", @@ -25,7 +23,7 @@ "eslint": "9.39.2", "typescript": "5.9.3", "vue-tsc": "3.1.8", - "wrangler": "^4.55.0", + "wrangler": "4.55.0", }, }, }, @@ -1038,7 +1036,7 @@ "detab": ["detab@3.0.2", "", {}, "sha512-7Bp16Bk8sk0Y6gdXiCtnpGbghn8atnTJdd/82aWvS5ESnlcNvgUc10U2NYS0PAiDSGjWiI8qs/Cv1b2uSGdQ8w=="], - "detect-libc": ["detect-libc@2.0.2", "", {}, "sha512-UX6sGumvvqSaXgdKGUsgZWqcUyIXZ/vZTrlRT/iobiKhGL0zL4d3osHj3uqllWJK+i+sixDS/3COVEOFbupFyw=="], + "detect-libc": ["detect-libc@2.1.2", "", {}, "sha512-Btj2BOOO83o3WyH59e8MgXsxEQVcarkUOpEYrubB0urwnN10yQ364rsiByU11nZlqWYZm05i/of7io4mzihBtQ=="], "devalue": ["devalue@5.6.1", "", {}, "sha512-jDwizj+IlEZBunHcOuuFVBnIMPAEHvTsJj0BcIp94xYguLRVBcXO853px/MyIJvbVzWdsGvrRweIUWJw8hBP7A=="], @@ -1670,8 +1668,6 @@ "negotiator": ["negotiator@1.0.0", "", {}, "sha512-8Ofs/AUQh8MaEcrlq5xOX0CQ9ypTF5dl78mjlMNfOK08fzpgTHQRQPBxcPlEtIw0yRpws+Zo/3r+5WRby7u3Gg=="], - "nitro-cloudflare-dev": ["nitro-cloudflare-dev@0.2.2", "", { "dependencies": { "consola": "^3.4.0", "mlly": "^1.7.4", "pkg-types": "^2.1.0" } }, "sha512-aZfNTVdgXPQeAmXW0Tw8hm3usAHr4qVG4Bg3WhHBGeZYuXr9OyT04Ztb+STkMzhyaXvfMHViAaPUPg06iAYqag=="], - "nitropack": ["nitropack@2.12.9", "", { "dependencies": { "@cloudflare/kv-asset-handler": "^0.4.0", "@rollup/plugin-alias": "^5.1.1", "@rollup/plugin-commonjs": "^28.0.9", "@rollup/plugin-inject": "^5.0.5", "@rollup/plugin-json": "^6.1.0", "@rollup/plugin-node-resolve": "^16.0.3", "@rollup/plugin-replace": "^6.0.2", "@rollup/plugin-terser": "^0.4.4", "@vercel/nft": "^0.30.3", "archiver": "^7.0.1", "c12": "^3.3.1", "chokidar": "^4.0.3", "citty": "^0.1.6", "compatx": "^0.2.0", "confbox": "^0.2.2", "consola": "^3.4.2", "cookie-es": "^2.0.0", "croner": "^9.1.0", "crossws": "^0.3.5", "db0": "^0.3.4", "defu": "^6.1.4", "destr": "^2.0.5", "dot-prop": "^10.1.0", "esbuild": "^0.25.11", "escape-string-regexp": "^5.0.0", "etag": "^1.8.1", "exsolve": "^1.0.7", "globby": "^15.0.0", "gzip-size": "^7.0.0", "h3": "^1.15.4", "hookable": "^5.5.3", "httpxy": "^0.1.7", "ioredis": "^5.8.2", "jiti": "^2.6.1", "klona": "^2.0.6", "knitwork": "^1.2.0", "listhen": "^1.9.0", "magic-string": "^0.30.21", "magicast": "^0.5.0", "mime": "^4.1.0", "mlly": "^1.8.0", "node-fetch-native": "^1.6.7", "node-mock-http": "^1.0.3", "ofetch": "^1.5.0", "ohash": "^2.0.11", "pathe": "^2.0.3", "perfect-debounce": "^2.0.0", "pkg-types": "^2.3.0", "pretty-bytes": "^7.1.0", "radix3": "^1.1.2", "rollup": "^4.52.5", "rollup-plugin-visualizer": "^6.0.5", "scule": "^1.3.0", "semver": "^7.7.3", "serve-placeholder": "^2.0.2", "serve-static": "^2.2.0", "source-map": "^0.7.6", "std-env": "^3.10.0", "ufo": "^1.6.1", "ultrahtml": "^1.6.0", "uncrypto": "^0.1.3", "unctx": "^2.4.1", "unenv": "^2.0.0-rc.23", "unimport": "^5.5.0", "unplugin-utils": "^0.3.1", "unstorage": "^1.17.1", "untyped": "^2.0.0", "unwasm": "^0.3.11", "youch": "^4.1.0-beta.11", "youch-core": "^0.3.3" }, "peerDependencies": { "xml2js": "^0.6.2" }, "optionalPeers": ["xml2js"], "bin": { "nitro": "dist/cli/index.mjs", "nitropack": "dist/cli/index.mjs" } }, "sha512-t6qqNBn2UDGMWogQuORjbL2UPevB8PvIPsPHmqvWpeGOlPr4P8Oc5oA8t3wFwGmaolM2M/s2SwT23nx9yARmOg=="], "node-abi": ["node-abi@3.80.0", "", { "dependencies": { "semver": "^7.3.5" } }, "sha512-LyPuZJcI9HVwzXK1GPxWNzrr+vr8Hp/3UqlmWxxh8p54U1ZbclOqbSog9lWHaCX+dBaiGi6n/hIX+mKu74GmPA=="], @@ -2406,8 +2402,6 @@ "@libsql/isomorphic-ws/ws": ["ws@8.18.3", "", { "peerDependencies": { "bufferutil": "^4.0.1", "utf-8-validate": ">=5.0.2" }, "optionalPeers": ["bufferutil", "utf-8-validate"] }, "sha512-PEIGCY5tSlUt50cqyMXfCzX+oOPqN0vuGqWzbcJ2xvnkzkq46oOpz7dQaTDBdfICb4N14+GARUDw2XV2N4tvzg=="], - "@mapbox/node-pre-gyp/detect-libc": ["detect-libc@2.1.2", "", {}, "sha512-Btj2BOOO83o3WyH59e8MgXsxEQVcarkUOpEYrubB0urwnN10yQ364rsiByU11nZlqWYZm05i/of7io4mzihBtQ=="], - "@mapbox/node-pre-gyp/node-fetch": ["node-fetch@2.7.0", "", { "dependencies": { "whatwg-url": "^5.0.0" }, "peerDependencies": { "encoding": "^0.1.0" }, "optionalPeers": ["encoding"] }, "sha512-c4FRfUm/dbcWZ7U+1Wq0AwCyFL+3nt2bEw05wfxSz+DWpWsitgmSgYmy2dQdWyKC1694ELPqMs/YzUSNozLt8A=="], "@modelcontextprotocol/sdk/ajv": ["ajv@8.17.1", "", { "dependencies": { "fast-deep-equal": "^3.1.3", "fast-uri": "^3.0.1", "json-schema-traverse": "^1.0.0", "require-from-string": "^2.0.2" } }, "sha512-B/gBuNg5SiMTrPkC+A2+cW0RszwxYmn6VYxB/inlBStS5nx6xHIt/ehKRhIMhqusl7a8LjQoZnjCs5vhwxOQ1g=="], @@ -2576,6 +2570,8 @@ "lazystream/readable-stream": ["readable-stream@2.3.8", "", { "dependencies": { "core-util-is": "~1.0.0", "inherits": "~2.0.3", "isarray": "~1.0.0", "process-nextick-args": "~2.0.0", "safe-buffer": "~5.1.1", "string_decoder": "~1.1.1", "util-deprecate": "~1.0.1" } }, "sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA=="], + "libsql/detect-libc": ["detect-libc@2.0.2", "", {}, "sha512-UX6sGumvvqSaXgdKGUsgZWqcUyIXZ/vZTrlRT/iobiKhGL0zL4d3osHj3uqllWJK+i+sixDS/3COVEOFbupFyw=="], + "listhen/pathe": ["pathe@1.1.2", "", {}, "sha512-whLdWMYL2TwI08hn8/ZqAbrVemu0LNaNNJZX73O6qaIdCTfXutsLhMkjdENX0qhsQ9uIimo4/aQOmXkoon2nDQ=="], "magic-regexp/unplugin": ["unplugin@2.3.10", "", { "dependencies": { "@jridgewell/remapping": "^2.3.5", "acorn": "^8.15.0", "picomatch": "^4.0.3", "webpack-virtual-modules": "^0.6.2" } }, "sha512-6NCPkv1ClwH+/BGE9QeoTIl09nuiAt0gS28nn1PvYXsGKRwM2TCbFA2QiilmehPDTXIe684k4rZI1yl3A1PCUw=="], @@ -2626,8 +2622,6 @@ "postcss/nanoid": ["nanoid@3.3.11", "", { "bin": { "nanoid": "bin/nanoid.cjs" } }, "sha512-N8SpfPUnUp1bK+PMYW8qSWdl9U+wwNWI4QKxOYDy9JAro3WMX7p2OeVRF9v+347pnakNevPmiHhNmZ2HbFA76w=="], - "prebuild-install/detect-libc": ["detect-libc@2.1.2", "", {}, "sha512-Btj2BOOO83o3WyH59e8MgXsxEQVcarkUOpEYrubB0urwnN10yQ364rsiByU11nZlqWYZm05i/of7io4mzihBtQ=="], - "prompts/kleur": ["kleur@3.0.3", "", {}, "sha512-eTIzlVOSUR+JxdDFepEYcBMtZ9Qqdef+rnzWdRZuMbOywu5tO2w2N7rqjoANZ5k9vywhL6Br1VRjUIgTQx4E8w=="], "rc/strip-json-comments": ["strip-json-comments@2.0.1", "", {}, "sha512-4gB8na07fecVVkOI6Rs4e7T6NOTki5EmL7TUduTs6bu3EdnSycntVJ4re8kgZA+wx9IueI2Y11bfbgwtzuE0KQ=="], @@ -2644,8 +2638,6 @@ "router/path-to-regexp": ["path-to-regexp@8.3.0", "", {}, "sha512-7jdwVIRtsP8MYpdXSwOS0YdD0Du+qOoF/AEPIt88PcCFrZCzx41oxku1jD88hZBwbNUIEfpqvuhjFaMAqMTWnA=="], - "sharp/detect-libc": ["detect-libc@2.1.2", "", {}, "sha512-Btj2BOOO83o3WyH59e8MgXsxEQVcarkUOpEYrubB0urwnN10yQ364rsiByU11nZlqWYZm05i/of7io4mzihBtQ=="], - "socket.io-client/debug": ["debug@4.3.7", "", { "dependencies": { "ms": "^2.1.3" } }, "sha512-Er2nc/H7RrMXZBFCEim6TCmMk02Z8vLC2Rbi1KEBggpo0fS6l0S1nnapwmIi3yW/+GOJap1Krg4w0Hg80oCqgQ=="], "socket.io-parser/debug": ["debug@4.3.7", "", { "dependencies": { "ms": "^2.1.3" } }, "sha512-Er2nc/H7RrMXZBFCEim6TCmMk02Z8vLC2Rbi1KEBggpo0fS6l0S1nnapwmIi3yW/+GOJap1Krg4w0Hg80oCqgQ=="], diff --git a/content.config.ts b/content.config.ts index 9b590d2..aa6c643 100644 --- a/content.config.ts +++ b/content.config.ts @@ -3,7 +3,7 @@ import { defineCollection, defineContentConfig, z } from '@nuxt/content' export default defineContentConfig({ collections: { projects: defineCollection({ - type: 'page', + type: 'data', source: 'projects/*.md', schema: z.object({ slug: z.string(), @@ -34,7 +34,7 @@ export default defineContentConfig({ }) }), skills: defineCollection({ - type: 'page', + type: 'data', source: 'skills.json', schema: z.object({ description: z.string(), @@ -74,7 +74,7 @@ export default defineContentConfig({ }) }), contact: defineCollection({ - type: 'page', + type: 'data', source: 'contact.json', schema: z.object({ body: z.array(z.object({ @@ -86,11 +86,11 @@ export default defineContentConfig({ }) }), hobbies: defineCollection({ - type: 'page', + type: 'data', source: 'hobbies.md' }), languages: defineCollection({ - type: 'page', + type: 'data', source: 'languages.json', schema: z.object({ body: z.array(z.object({ @@ -101,7 +101,7 @@ export default defineContentConfig({ }) }), profile: defineCollection({ - type: 'page', + type: 'data', source: 'profile.md' }), documentation: defineCollection({ diff --git a/content/contact.json b/content/contact.json index 42b9e03..a8f129a 100644 --- a/content/contact.json +++ b/content/contact.json @@ -1,5 +1,5 @@ { - "body": [ + "contact": [ { "name": "Personal Email", "icon": "i-ph-envelope-simple-duotone", diff --git a/content/experiences/hackathon-dirisi.md b/content/experiences/hackathon-dirisi.md new file mode 100644 index 0000000..cff80ec --- /dev/null +++ b/content/experiences/hackathon-dirisi.md @@ -0,0 +1,13 @@ +--- +title: Hackahton CND +description: +company: Commissariat au numérique de défense (CND), French Armies ministry +companyUrl: https://www.defense.gouv.fr/cnd +location: Fort du Mont-Valérien, Suresnes, France +startDate: 2025-11 +endDate: 2025-11 +tags: + - python + - ai + - hackathon +--- diff --git a/content/languages.json b/content/languages.json index f068fa1..4b79dd2 100644 --- a/content/languages.json +++ b/content/languages.json @@ -1,5 +1,5 @@ { - "body": [ + "languages": [ { "name": "French", "level": "Native", diff --git a/content/skills.json b/content/skills.json index 0480c32..8d36937 100644 --- a/content/skills.json +++ b/content/skills.json @@ -1,6 +1,6 @@ { "description": "As a software engineer and mathematics student, I combine scientific rigor with technical pragmatism to design solutions tailored to the challenges of data and mathematical projects. My approach focuses on a deep understanding of needs, from data preparation to deployment, while emphasizing modeling and performance optimization.Passionate about artificial intelligence and data science, I strive to balance innovation with statistical robustness. Always eager to learn, I explore both technological advancements and entrepreneurial or financial challenges. Curious and enthusiastic, I enjoy sharing knowledge and discovering new concepts, whether in theorems or emerging technologies.", - "body": [ + "skills": [ { "id": "programming", "name": "Programming", diff --git a/nuxt.config.ts b/nuxt.config.ts index b5bda82..8916709 100644 --- a/nuxt.config.ts +++ b/nuxt.config.ts @@ -1,6 +1,12 @@ export default defineNuxtConfig({ - modules: ['nitro-cloudflare-dev'], + modules: [ + '@nuxthub/core', + '@nuxt/eslint', + '@nuxt/content', + '@nuxtjs/mcp-toolkit', + 'nuxt-studio' + ], devtools: { enabled: true, @@ -45,12 +51,16 @@ export default defineNuxtConfig({ } }, + content: { + database: { + type: 'd1', + bindingName: 'artapi' + } + }, + hub: { cache: true, - db: { - driver: 'd1', - dialect: 'sqlite' - } + db: 'sqlite' }, eslint: { diff --git a/package.json b/package.json index 9df21d3..095bb8e 100644 --- a/package.json +++ b/package.json @@ -12,7 +12,6 @@ "cf-typegen": "wrangler types" }, "dependencies": { - "@libsql/client": "^0.15.15", "@nuxt/content": "3.9.0", "@nuxt/eslint": "1.12.1", "@nuxthub/core": "0.10.1", @@ -20,7 +19,6 @@ "better-sqlite3": "12.5.0", "drizzle-kit": "^0.31.8", "drizzle-orm": "^0.45.1", - "nitro-cloudflare-dev": "^0.2.2", "nuxt": "4.2.2", "nuxt-studio": "1.0.0-alpha.4", "vue": "3.5.25",