From 1611ad74407b92df1aa6c735337313fff08a13a9 Mon Sep 17 00:00:00 2001 From: Puechberty Arthur Date: Mon, 2 Mar 2026 13:38:13 +0100 Subject: [PATCH] add form site --- .gitignore | 17 ++ dev.db | Bin 0 -> 36864 bytes docker-compose.yml | 19 ++ next.config.ts | 49 +++- package-lock.json | 146 +++++++++- package.json | 7 +- .../20260202210607_init/migration.sql | 26 ++ prisma/migrations/migration_lock.toml | 3 + prisma/schema.prisma | 33 +++ public/favicon.ico | Bin 0 -> 19151 bytes public/file.svg | 1 - public/globe.svg | 1 - public/icon-192x192.png | Bin 0 -> 19151 bytes public/icon-512x512.png | Bin 0 -> 69540 bytes public/next.svg | 1 - public/vercel.svg | 1 - public/window.svg | 1 - src/app/api/forms/[publicId]/route.ts | 157 ++++++++++ src/app/api/forms/route.ts | 87 ++++++ src/app/creer/layout.tsx | 22 ++ src/app/creer/page.tsx | 269 ++++++++++++++++++ src/app/error.tsx | 46 +++ src/app/favicon.ico | Bin 25931 -> 0 bytes .../[publicId]/FormResponseClient.tsx | 261 +++++++++++++++++ src/app/formulaire/[publicId]/page.tsx | 57 ++++ .../formulaire/[publicId]/resultats/page.tsx | 248 ++++++++++++++++ src/app/formulaire/[publicId]/succes/page.tsx | 155 ++++++++++ src/app/globals.css | 42 ++- src/app/layout.tsx | 135 ++++++++- src/app/loading.tsx | 10 + src/app/manifest.ts | 37 +++ src/app/mes-formulaires/layout.tsx | 22 ++ src/app/mes-formulaires/page.tsx | 194 +++++++++++++ src/app/not-found.tsx | 29 ++ src/app/opengraph-image.tsx | 109 +++++++ src/app/page.tsx | 265 +++++++++++++---- src/app/robots.ts | 22 ++ src/app/sitemap.ts | 27 ++ src/components/FieldEditor.tsx | 185 ++++++++++++ src/components/Header.tsx | 124 ++++++++ src/lib/localStorage.ts | 38 +++ src/lib/prisma.ts | 9 + src/types/form.ts | 47 +++ 43 files changed, 2805 insertions(+), 97 deletions(-) create mode 100644 dev.db create mode 100644 docker-compose.yml create mode 100644 prisma/migrations/20260202210607_init/migration.sql create mode 100644 prisma/migrations/migration_lock.toml create mode 100644 prisma/schema.prisma create mode 100644 public/favicon.ico delete mode 100644 public/file.svg delete mode 100644 public/globe.svg create mode 100644 public/icon-192x192.png create mode 100644 public/icon-512x512.png delete mode 100644 public/next.svg delete mode 100644 public/vercel.svg delete mode 100644 public/window.svg create mode 100644 src/app/api/forms/[publicId]/route.ts create mode 100644 src/app/api/forms/route.ts create mode 100644 src/app/creer/layout.tsx create mode 100644 src/app/creer/page.tsx create mode 100644 src/app/error.tsx delete mode 100644 src/app/favicon.ico create mode 100644 src/app/formulaire/[publicId]/FormResponseClient.tsx create mode 100644 src/app/formulaire/[publicId]/page.tsx create mode 100644 src/app/formulaire/[publicId]/resultats/page.tsx create mode 100644 src/app/formulaire/[publicId]/succes/page.tsx create mode 100644 src/app/loading.tsx create mode 100644 src/app/manifest.ts create mode 100644 src/app/mes-formulaires/layout.tsx create mode 100644 src/app/mes-formulaires/page.tsx create mode 100644 src/app/not-found.tsx create mode 100644 src/app/opengraph-image.tsx create mode 100644 src/app/robots.ts create mode 100644 src/app/sitemap.ts create mode 100644 src/components/FieldEditor.tsx create mode 100644 src/components/Header.tsx create mode 100644 src/lib/localStorage.ts create mode 100644 src/lib/prisma.ts create mode 100644 src/types/form.ts diff --git a/.gitignore b/.gitignore index 5ef6a52..8a5ddd2 100644 --- a/.gitignore +++ b/.gitignore @@ -39,3 +39,20 @@ yarn-error.log* # typescript *.tsbuildinfo next-env.d.ts + +/src/generated/prisma + +# prisma / sqlite local databases +prisma/*.db +prisma/*.db-* +prisma/data/*.db +prisma/data/*.db-* +data/*.db +data/*.db-* + +# editor / ide +.vscode/ +.idea/ + +# os files +Thumbs.db diff --git a/dev.db b/dev.db new file mode 100644 index 0000000000000000000000000000000000000000..7067c81942eb9686aa9fcbe436f0fd61e1694b95 GIT binary patch literal 36864 zcmeI&O>g2x7zc2B6GB24rI(0Pq>(QPQt4vMt5&K?!C9dtBx{Vi>BTbkuxo`E7aOVD zTehnn`w99Ldg@oHs(y~1dh9b`LkK}?)gD^(A7Q{V;~CHInE@Q9`>O4QoDC+^ksUHk z`dE@>>2t;;NlMUmL|dH1{(iheukyY3+ukOmPrvok$A3tNshpJl_4wzflk`ui-=BV# z`hhZ#AOHafKmY;|fB*#k+XB{MGV|<2zDs&zmw$6XzZorm)*pIK%e8L#JCSkJF!Z{q zvtFn5s;9G7r>VbY%0^X%U3C`O%DED^p=A5XWJaY9K3a7UaA(THm;7Da!{PQG*6OZx zu`E%t?^}sv=JZtlz(cz~aR`KxuUJt zZnJBnby+uV*h~H9lSLizYr6HYUR37Vq5YtRsD#F8hup1)3TqOf*}BwMoiz1}darG= zM$a(xj%kU~u35jlUL4%G>U2$`-s+gEQ??eTVGSrW3cI*6^wx`xI7@b}L}!>~hJK+_ zgAKhKg@X!dh*=Szrry>ml#P0~QE%!Zr*|#REY3+~pB)@z8mF=}4_EN@kS--GdlpXS z`&Mjcsqwqy`{#Sf%*l!T;bx96=7rey*U?4R-vST4aL6B5b$Q@SJwNm&<3)uyMjju! z!Q;oQX3Ki0qeGYT_0iIQ5=Ld_)BM;n2U6Ly{e#T&lWp8W%~Hj4;=8Y8T1cw=y)|dH z{HYg=Y-{Abnc6}k*vxsd9)isZYXK2U;X#@&ihFBeId|jf{gyko!HfdCme$tNGB#r` zc*|YOrnRt2@v4YwEk|RG?GZ&kN{=--oV=k>ZzNGQYHT_g4ynVw?cCn)^+A_GXiq6T z_iKno<66rh)6!WiS7$bz@^NT|-iXt|BR}fS_Whwp4Fw_h1IwAr#`BTV`qf|P27P*V zX|3wb%?9(SY~#s6=1X=12.4.0" } }, + "node_modules/@prisma/client": { + "version": "5.22.0", + "resolved": "https://registry.npmjs.org/@prisma/client/-/client-5.22.0.tgz", + "integrity": "sha512-M0SVXfyHnQREBKxCgyo7sffrKttwE6R8PMq330MIUF0pTwjUhLbW84pFDlf06B27XyCR++VtjugEnIHdr07SVA==", + "hasInstallScript": true, + "license": "Apache-2.0", + "engines": { + "node": ">=16.13" + }, + "peerDependencies": { + "prisma": "*" + }, + "peerDependenciesMeta": { + "prisma": { + "optional": true + } + } + }, + "node_modules/@prisma/debug": { + "version": "5.22.0", + "resolved": "https://registry.npmjs.org/@prisma/debug/-/debug-5.22.0.tgz", + "integrity": "sha512-AUt44v3YJeggO2ZU5BkXI7M4hu9BF2zzH2iF2V5pyXT/lRTyWiElZ7It+bRH1EshoMRxHgpYg4VB6rCM+mG5jQ==", + "license": "Apache-2.0" + }, + "node_modules/@prisma/engines": { + "version": "5.22.0", + "resolved": "https://registry.npmjs.org/@prisma/engines/-/engines-5.22.0.tgz", + "integrity": "sha512-UNjfslWhAt06kVL3CjkuYpHAWSO6L4kDCVPegV6itt7nD1kSJavd3vhgAEhjglLJJKEdJ7oIqDJ+yHk6qO8gPA==", + "hasInstallScript": true, + "license": "Apache-2.0", + "dependencies": { + "@prisma/debug": "5.22.0", + "@prisma/engines-version": "5.22.0-44.605197351a3c8bdd595af2d2a9bc3025bca48ea2", + "@prisma/fetch-engine": "5.22.0", + "@prisma/get-platform": "5.22.0" + } + }, + "node_modules/@prisma/engines-version": { + "version": "5.22.0-44.605197351a3c8bdd595af2d2a9bc3025bca48ea2", + "resolved": "https://registry.npmjs.org/@prisma/engines-version/-/engines-version-5.22.0-44.605197351a3c8bdd595af2d2a9bc3025bca48ea2.tgz", + "integrity": "sha512-2PTmxFR2yHW/eB3uqWtcgRcgAbG1rwG9ZriSvQw+nnb7c4uCr3RAcGMb6/zfE88SKlC1Nj2ziUvc96Z379mHgQ==", + "license": "Apache-2.0" + }, + "node_modules/@prisma/fetch-engine": { + "version": "5.22.0", + "resolved": "https://registry.npmjs.org/@prisma/fetch-engine/-/fetch-engine-5.22.0.tgz", + "integrity": "sha512-bkrD/Mc2fSvkQBV5EpoFcZ87AvOgDxbG99488a5cexp5Ccny+UM6MAe/UFkUC0wLYD9+9befNOqGiIJhhq+HbA==", + "license": "Apache-2.0", + "dependencies": { + "@prisma/debug": "5.22.0", + "@prisma/engines-version": "5.22.0-44.605197351a3c8bdd595af2d2a9bc3025bca48ea2", + "@prisma/get-platform": "5.22.0" + } + }, + "node_modules/@prisma/get-platform": { + "version": "5.22.0", + "resolved": "https://registry.npmjs.org/@prisma/get-platform/-/get-platform-5.22.0.tgz", + "integrity": "sha512-pHhpQdr1UPFpt+zFfnPazhulaZYCUqeIcPpJViYoq9R+D/yw4fjE+CtnsnKzPYm0ddUbeXUzjGVGIRVgPDCk4Q==", + "license": "Apache-2.0", + "dependencies": { + "@prisma/debug": "5.22.0" + } + }, "node_modules/@rtsao/scc": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/@rtsao/scc/-/scc-1.1.0.tgz", @@ -1562,7 +1629,6 @@ "integrity": "sha512-WPigyYuGhgZ/cTPRXB2EwUw+XvsRA3GqHlsP4qteqrnnjDrApbS7MxcGr/hke5iUoeB7E/gQtrs9I37zAJ0Vjw==", "dev": true, "license": "MIT", - "peer": true, "dependencies": { "csstype": "^3.2.2" } @@ -1577,6 +1643,13 @@ "@types/react": "^19.2.0" } }, + "node_modules/@types/uuid": { + "version": "10.0.0", + "resolved": "https://registry.npmjs.org/@types/uuid/-/uuid-10.0.0.tgz", + "integrity": "sha512-7gqG38EyHgyP1S+7+xomFtL+ZNHcKv6DwNaCZmJmo1vgMugyF3TCnXVg4t1uk89mLNwnLtnY3TpOpCOyp1/xHQ==", + "dev": true, + "license": "MIT" + }, "node_modules/@typescript-eslint/eslint-plugin": { "version": "8.54.0", "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-8.54.0.tgz", @@ -1622,7 +1695,6 @@ "integrity": "sha512-BtE0k6cjwjLZoZixN0t5AKP0kSzlGu7FctRXYuPAm//aaiZhmfq1JwdYpYr1brzEspYyFeF+8XF5j2VK6oalrA==", "dev": true, "license": "MIT", - "peer": true, "dependencies": { "@typescript-eslint/scope-manager": "8.54.0", "@typescript-eslint/types": "8.54.0", @@ -2122,7 +2194,6 @@ "integrity": "sha512-NZyJarBfL7nWwIq+FDL6Zp/yHEhePMNnnJ0y3qfieCrmNvYct8uvtiV41UvlSe6apAfk0fY1FbWx+NwfmpvtTg==", "dev": true, "license": "MIT", - "peer": true, "bin": { "acorn": "bin/acorn" }, @@ -2463,7 +2534,6 @@ } ], "license": "MIT", - "peer": true, "dependencies": { "baseline-browser-mapping": "^2.9.0", "caniuse-lite": "^1.0.30001759", @@ -2782,6 +2852,18 @@ "node": ">=0.10.0" } }, + "node_modules/dotenv": { + "version": "17.2.3", + "resolved": "https://registry.npmjs.org/dotenv/-/dotenv-17.2.3.tgz", + "integrity": "sha512-JVUnt+DUIzu87TABbhPmNfVdBDt18BLOWjMUFJMSi/Qqg7NTYtabbvSNJGOJ7afbRuv9D/lngizHtP7QyLQ+9w==", + "license": "BSD-2-Clause", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://dotenvx.com" + } + }, "node_modules/dunder-proto": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/dunder-proto/-/dunder-proto-1.0.1.tgz", @@ -3031,7 +3113,6 @@ "integrity": "sha512-LEyamqS7W5HB3ujJyvi0HQK/dtVINZvd5mAAp9eT5S/ujByGjiZLCzPcHVzuXbpJDJF/cxwHlfceVUDZ2lnSTw==", "dev": true, "license": "MIT", - "peer": true, "dependencies": { "@eslint-community/eslint-utils": "^4.8.0", "@eslint-community/regexpp": "^4.12.1", @@ -3591,6 +3672,20 @@ "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/fsevents": { + "version": "2.3.3", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.3.tgz", + "integrity": "sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==", + "hasInstallScript": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": "^8.16.0 || ^10.6.0 || >=11.0.0" + } + }, "node_modules/function-bind": { "version": "1.1.2", "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.2.tgz", @@ -5341,6 +5436,25 @@ "node": ">= 0.8.0" } }, + "node_modules/prisma": { + "version": "5.22.0", + "resolved": "https://registry.npmjs.org/prisma/-/prisma-5.22.0.tgz", + "integrity": "sha512-vtpjW3XuYCSnMsNVBjLMNkTj6OZbudcPPTPYHqX0CJfpcdWciI1dM8uHETwmDxxiqEwCIE6WvXucWUetJgfu/A==", + "hasInstallScript": true, + "license": "Apache-2.0", + "dependencies": { + "@prisma/engines": "5.22.0" + }, + "bin": { + "prisma": "build/index.js" + }, + "engines": { + "node": ">=16.13" + }, + "optionalDependencies": { + "fsevents": "2.3.3" + } + }, "node_modules/prop-types": { "version": "15.8.1", "resolved": "https://registry.npmjs.org/prop-types/-/prop-types-15.8.1.tgz", @@ -5389,7 +5503,6 @@ "resolved": "https://registry.npmjs.org/react/-/react-19.2.3.tgz", "integrity": "sha512-Ku/hhYbVjOQnXDZFv2+RibmLFGwFdeeKHFcOTlrt7xplBnya5OGn/hIRDsqDiSUcfORsDC7MPxwork8jBwsIWA==", "license": "MIT", - "peer": true, "engines": { "node": ">=0.10.0" } @@ -5399,7 +5512,6 @@ "resolved": "https://registry.npmjs.org/react-dom/-/react-dom-19.2.3.tgz", "integrity": "sha512-yELu4WmLPw5Mr/lmeEpox5rw3RETacE++JgHqQzd2dg+YbJuat3jH4ingc+WPZhxaoFzdv9y33G+F7Nl5O0GBg==", "license": "MIT", - "peer": true, "dependencies": { "scheduler": "^0.27.0" }, @@ -6088,7 +6200,6 @@ "integrity": "sha512-5gTmgEY/sqK6gFXLIsQNH19lWb4ebPDLA4SdLP7dsWkIXHWlG66oPuVvXSGFPppYZz8ZDZq0dYYrbHfBCVUb1Q==", "dev": true, "license": "MIT", - "peer": true, "engines": { "node": ">=12" }, @@ -6251,7 +6362,6 @@ "integrity": "sha512-jl1vZzPDinLr9eUt3J/t7V6FgNEw9QjvBPdysz9KfQDD41fQrC2Y4vKQdiaUpFT4bXlb1RHhLpp8wtm6M5TgSw==", "dev": true, "license": "Apache-2.0", - "peer": true, "bin": { "tsc": "bin/tsc", "tsserver": "bin/tsserver" @@ -6386,6 +6496,19 @@ "punycode": "^2.1.0" } }, + "node_modules/uuid": { + "version": "13.0.0", + "resolved": "https://registry.npmjs.org/uuid/-/uuid-13.0.0.tgz", + "integrity": "sha512-XQegIaBTVUjSHliKqcnFqYypAd4S+WCYt5NIeRs6w/UAry7z8Y9j5ZwRRL4kzq9U3sD6v+85er9FvkEaBpji2w==", + "funding": [ + "https://github.com/sponsors/broofa", + "https://github.com/sponsors/ctavan" + ], + "license": "MIT", + "bin": { + "uuid": "dist-node/bin/uuid" + } + }, "node_modules/which": { "version": "2.0.2", "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", @@ -6527,7 +6650,6 @@ "integrity": "sha512-rftlrkhHZOcjDwkGlnUtZZkvaPHCsDATp4pGpuOOMDaTdDDXF91wuVDJoWoPsKX/3YPQ5fHuF3STjcYyKr+Qhg==", "dev": true, "license": "MIT", - "peer": true, "funding": { "url": "https://github.com/sponsors/colinhacks" } diff --git a/package.json b/package.json index cb76974..816758a 100644 --- a/package.json +++ b/package.json @@ -9,15 +9,20 @@ "lint": "eslint" }, "dependencies": { + "@prisma/client": "^5.22.0", + "dotenv": "^17.2.3", "next": "16.1.6", + "prisma": "^5.22.0", "react": "19.2.3", - "react-dom": "19.2.3" + "react-dom": "19.2.3", + "uuid": "^13.0.0" }, "devDependencies": { "@tailwindcss/postcss": "^4", "@types/node": "^20", "@types/react": "^19", "@types/react-dom": "^19", + "@types/uuid": "^10.0.0", "eslint": "^9", "eslint-config-next": "16.1.6", "tailwindcss": "^4", diff --git a/prisma/migrations/20260202210607_init/migration.sql b/prisma/migrations/20260202210607_init/migration.sql new file mode 100644 index 0000000..34d3352 --- /dev/null +++ b/prisma/migrations/20260202210607_init/migration.sql @@ -0,0 +1,26 @@ +-- CreateTable +CREATE TABLE "Form" ( + "id" TEXT NOT NULL PRIMARY KEY, + "title" TEXT NOT NULL, + "description" TEXT, + "fields" TEXT NOT NULL, + "secretKey" TEXT NOT NULL, + "publicId" TEXT NOT NULL, + "createdAt" DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP, + "updatedAt" DATETIME NOT NULL +); + +-- CreateTable +CREATE TABLE "Response" ( + "id" TEXT NOT NULL PRIMARY KEY, + "formId" TEXT NOT NULL, + "data" TEXT NOT NULL, + "createdAt" DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP, + CONSTRAINT "Response_formId_fkey" FOREIGN KEY ("formId") REFERENCES "Form" ("id") ON DELETE CASCADE ON UPDATE CASCADE +); + +-- CreateIndex +CREATE UNIQUE INDEX "Form_secretKey_key" ON "Form"("secretKey"); + +-- CreateIndex +CREATE UNIQUE INDEX "Form_publicId_key" ON "Form"("publicId"); diff --git a/prisma/migrations/migration_lock.toml b/prisma/migrations/migration_lock.toml new file mode 100644 index 0000000..2a5a444 --- /dev/null +++ b/prisma/migrations/migration_lock.toml @@ -0,0 +1,3 @@ +# Please do not edit this file manually +# It should be added in your version-control system (e.g., Git) +provider = "sqlite" diff --git a/prisma/schema.prisma b/prisma/schema.prisma new file mode 100644 index 0000000..97e410e --- /dev/null +++ b/prisma/schema.prisma @@ -0,0 +1,33 @@ +// This is your Prisma schema file, +// learn more about it in the docs: https://pris.ly/d/prisma-schema + +generator client { + provider = "prisma-client-js" +} + +datasource db { + provider = "sqlite" + url = env("DATABASE_URL") +} + +// Modèle pour les formulaires +model Form { + id String @id @default(uuid()) + title String + description String? + fields String // JSON stringified des champs du formulaire + secretKey String @unique // Clé secrète pour accéder aux résultats + publicId String @unique // ID public pour partager le formulaire + createdAt DateTime @default(now()) + updatedAt DateTime @updatedAt + responses Response[] +} + +// Modèle pour les réponses aux formulaires +model Response { + id String @id @default(uuid()) + formId String + form Form @relation(fields: [formId], references: [id], onDelete: Cascade) + data String // JSON stringified des réponses + createdAt DateTime @default(now()) +} diff --git a/public/favicon.ico b/public/favicon.ico new file mode 100644 index 0000000000000000000000000000000000000000..7de09f291d31550c3cbadcf8ae7654d5efadac33 GIT binary patch literal 19151 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%0AN71h_9VZ{O+PI;SXyvnMiR6B86A?4w|?h=>j) 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 \ No newline at end of file diff --git a/public/globe.svg b/public/globe.svg deleted file mode 100644 index 567f17b..0000000 --- a/public/globe.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/public/icon-192x192.png b/public/icon-192x192.png new file mode 100644 index 0000000000000000000000000000000000000000..7de09f291d31550c3cbadcf8ae7654d5efadac33 GIT binary patch literal 19151 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%0AN71h_9VZ{O+PI;SXyvnMiR6B86A?4w|?h=>j) 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 literal 0 HcmV?d00001 diff --git a/public/next.svg b/public/next.svg deleted file mode 100644 index 5174b28..0000000 --- a/public/next.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/public/vercel.svg b/public/vercel.svg deleted file mode 100644 index 7705396..0000000 --- a/public/vercel.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/public/window.svg b/public/window.svg deleted file mode 100644 index b2b2a44..0000000 --- a/public/window.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/app/api/forms/[publicId]/route.ts b/src/app/api/forms/[publicId]/route.ts new file mode 100644 index 0000000..0c38848 --- /dev/null +++ b/src/app/api/forms/[publicId]/route.ts @@ -0,0 +1,157 @@ +import { NextRequest, NextResponse } from "next/server" +import { prisma } from "@/lib/prisma" + +// GET - Récupérer les réponses (nécessite la clé secrète) +export async function GET( + request: NextRequest, + context: { params: Promise<{ publicId: string }> } +) { + try { + const { publicId } = await context.params + const { searchParams } = new URL(request.url) + const secretKey = searchParams.get("secret") + + if (!secretKey) { + return NextResponse.json( + { error: "Clé secrète requise" }, + { status: 401 } + ) + } + + const form = await prisma.form.findUnique({ + where: { publicId }, + include: { + responses: { + orderBy: { createdAt: "desc" }, + }, + }, + }) + + if (!form) { + return NextResponse.json( + { error: "Formulaire non trouvé" }, + { status: 404 } + ) + } + + // Vérifier la clé secrète + if (form.secretKey !== secretKey) { + return NextResponse.json( + { error: "Accès non autorisé" }, + { status: 403 } + ) + } + + return NextResponse.json({ + form: { + id: form.id, + title: form.title, + description: form.description, + fields: JSON.parse(form.fields), + publicId: form.publicId, + createdAt: form.createdAt, + }, + responses: form.responses.map((response) => ({ + id: response.id, + data: JSON.parse(response.data), + createdAt: response.createdAt, + })), + }) + } catch (error) { + console.error("Error fetching responses:", error) + return NextResponse.json( + { error: "Erreur lors de la récupération des réponses" }, + { status: 500 } + ) + } +} + +// POST - Soumettre une réponse +export async function POST( + request: NextRequest, + context: { params: Promise<{ publicId: string }> } +) { + try { + const { publicId } = await context.params + const body = await request.json() + const { data } = body + + const form = await prisma.form.findUnique({ + where: { publicId }, + }) + + if (!form) { + return NextResponse.json( + { error: "Formulaire non trouvé" }, + { status: 404 } + ) + } + + const response = await prisma.response.create({ + data: { + formId: form.id, + data: JSON.stringify(data), + }, + }) + + return NextResponse.json({ + success: true, + responseId: response.id, + }) + } catch (error) { + console.error("Error submitting response:", error) + return NextResponse.json( + { error: "Erreur lors de la soumission de la réponse" }, + { status: 500 } + ) + } +} + +// DELETE - Supprimer le formulaire (nécessite la clé secrète) +export async function DELETE( + request: NextRequest, + context: { params: Promise<{ publicId: string }> } +) { + try { + const { publicId } = await context.params + const { searchParams } = new URL(request.url) + const secretKey = searchParams.get("secret") + + if (!secretKey) { + return NextResponse.json( + { error: "Clé secrète requise" }, + { status: 401 } + ) + } + + const form = await prisma.form.findUnique({ + where: { publicId }, + }) + + if (!form) { + return NextResponse.json( + { error: "Formulaire non trouvé" }, + { status: 404 } + ) + } + + if (form.secretKey !== secretKey) { + return NextResponse.json( + { error: "Accès non autorisé" }, + { status: 403 } + ) + } + + await prisma.form.delete({ + where: { publicId }, + }) + + return NextResponse.json({ success: true }) + } catch (error) { + console.error("Error deleting form:", error) + return NextResponse.json( + { error: "Erreur lors de la suppression du formulaire" }, + { status: 500 } + ) + } +} diff --git a/src/app/api/forms/route.ts b/src/app/api/forms/route.ts new file mode 100644 index 0000000..779b306 --- /dev/null +++ b/src/app/api/forms/route.ts @@ -0,0 +1,87 @@ +import { NextRequest, NextResponse } from "next/server" +import { prisma } from "@/lib/prisma" +import { v4 as uuidv4 } from "uuid" +import crypto from "crypto" + +export async function POST(request: NextRequest) { + try { + const body = await request.json() + const { title, description, fields } = body + + if (!title || !fields || fields.length === 0) { + return NextResponse.json( + { error: "Titre et champs requis" }, + { status: 400 } + ) + } + + const publicId = uuidv4().slice(0, 8) // ID court pour l'URL publique + const secretKey = crypto.randomBytes(32).toString("hex") // Clé secrète longue + + const form = await prisma.form.create({ + data: { + title, + description: description || null, + fields: JSON.stringify(fields), + publicId, + secretKey, + }, + }) + + return NextResponse.json({ + id: form.id, + publicId: form.publicId, + secretKey: form.secretKey, + }) + } catch (error) { + console.error("Error creating form:", error) + return NextResponse.json( + { error: "Erreur lors de la création du formulaire" }, + { status: 500 } + ) + } +} + +export async function GET(request: NextRequest) { + try { + const { searchParams } = new URL(request.url) + const publicId = searchParams.get("publicId") + + if (!publicId) { + return NextResponse.json( + { error: "ID public requis" }, + { status: 400 } + ) + } + + const form = await prisma.form.findUnique({ + where: { publicId }, + select: { + id: true, + title: true, + description: true, + fields: true, + publicId: true, + createdAt: true, + }, + }) + + if (!form) { + return NextResponse.json( + { error: "Formulaire non trouvé" }, + { status: 404 } + ) + } + + return NextResponse.json({ + ...form, + fields: JSON.parse(form.fields), + }) + } catch (error) { + console.error("Error fetching form:", error) + return NextResponse.json( + { error: "Erreur lors de la récupération du formulaire" }, + { status: 500 } + ) + } +} diff --git a/src/app/creer/layout.tsx b/src/app/creer/layout.tsx new file mode 100644 index 0000000..1db08e4 --- /dev/null +++ b/src/app/creer/layout.tsx @@ -0,0 +1,22 @@ +import { Metadata } from "next" + +export const metadata: Metadata = { + title: "Créer un formulaire gratuit en ligne", + description: "Créez votre formulaire personnalisé en quelques clics. Ajoutez des champs texte, email, sélection et plus. Partagez votre formulaire instantanément avec un lien unique. Gratuit et sans inscription.", + alternates: { + canonical: "https://form.arthurp.fr/creer", + }, + openGraph: { + title: "Créer un formulaire gratuit | FormCraft", + description: "Créez votre formulaire personnalisé en quelques clics et partagez-le instantanément.", + url: "https://form.arthurp.fr/creer", + }, +} + +export default function CreerLayout({ + children, +}: { + children: React.ReactNode +}) { + return children +} diff --git a/src/app/creer/page.tsx b/src/app/creer/page.tsx new file mode 100644 index 0000000..3cc26a6 --- /dev/null +++ b/src/app/creer/page.tsx @@ -0,0 +1,269 @@ +"use client" + +import { useState } from "react" +import { useRouter } from "next/navigation" +import { v4 as uuidv4 } from "uuid" +import { FormField, FieldType } from "@/types/form" +import { saveForm } from "@/lib/localStorage" +import FieldEditor from "@/components/FieldEditor" + +const fieldTypes: { type: FieldType; label: string; icon: React.ReactNode }[] = [ + { + type: "text", + label: "Texte court", + icon: + }, + { + type: "textarea", + label: "Texte long", + icon: + }, + { + type: "email", + label: "Email", + icon: + }, + { + type: "number", + label: "Nombre", + icon: + }, + { + type: "phone", + label: "Téléphone", + icon: + }, + { + type: "date", + label: "Date", + icon: + }, + { + type: "time", + label: "Heure", + icon: + }, + { + type: "select", + label: "Liste déroulante", + icon: + }, + { + type: "radio", + label: "Choix unique", + icon: + }, + { + type: "checkbox", + label: "Choix multiple", + icon: + }, +] + +export default function CreateFormPage() { + const router = useRouter() + const [title, setTitle] = useState("") + const [description, setDescription] = useState("") + const [fields, setFields] = useState([]) + const [isSubmitting, setIsSubmitting] = useState(false) + const [error, setError] = useState("") + + const addField = (type: FieldType) => { + const newField: FormField = { + id: uuidv4(), + type, + label: "", + placeholder: "", + required: false, + options: type === "select" || type === "radio" || type === "checkbox" ? ["Option 1"] : undefined, + } + setFields([...fields, newField]) + } + + const updateField = (id: string, updates: Partial) => { + setFields(fields.map(field => + field.id === id ? { ...field, ...updates } : field + )) + } + + const removeField = (id: string) => { + setFields(fields.filter(field => field.id !== id)) + } + + const moveField = (id: string, direction: "up" | "down") => { + const index = fields.findIndex(field => field.id === id) + if ( + (direction === "up" && index === 0) || + (direction === "down" && index === fields.length - 1) + ) return + + const newFields = [...fields] + const swapIndex = direction === "up" ? index - 1 : index + 1 + ;[newFields[index], newFields[swapIndex]] = [newFields[swapIndex], newFields[index]] + setFields(newFields) + } + + const handleSubmit = async () => { + if (!title.trim()) { + setError("Veuillez entrer un titre pour votre formulaire") + return + } + + if (fields.length === 0) { + setError("Veuillez ajouter au moins un champ à votre formulaire") + return + } + + const emptyLabels = fields.some(field => !field.label.trim()) + if (emptyLabels) { + setError("Veuillez remplir le libellé de tous les champs") + return + } + + setIsSubmitting(true) + setError("") + + try { + const response = await fetch("/api/forms", { + method: "POST", + headers: { "Content-Type": "application/json" }, + body: JSON.stringify({ title, description, fields }), + }) + + if (!response.ok) { + throw new Error("Erreur lors de la création du formulaire") + } + + const data = await response.json() + + // Sauvegarder dans le localStorage + saveForm({ + publicId: data.publicId, + secretKey: data.secretKey, + title: title, + createdAt: new Date().toISOString(), + }) + + router.push(`/formulaire/${data.publicId}/succes?secret=${data.secretKey}`) + } catch { + setError("Une erreur est survenue. Veuillez réessayer.") + } finally { + setIsSubmitting(false) + } + } + + return ( +
+
+
+

Créer un formulaire

+

Ajoutez des champs et personnalisez votre formulaire

+
+ + {/* Titre et description */} +
+
+
+ + setTitle(e.target.value)} + placeholder="Ex: Formulaire d'inscription" + className="w-full px-4 py-3 border border-gray-300 rounded-lg focus:ring-2 focus:ring-blue-500 focus:border-transparent transition-colors" + /> +
+
+ +