diff --git a/.dockerignore b/.dockerignore new file mode 100644 index 0000000..84b1ee2 --- /dev/null +++ b/.dockerignore @@ -0,0 +1,5 @@ +node_modules +.next +.git +.gitignore +README.md diff --git a/Dockerfile b/Dockerfile new file mode 100644 index 0000000..22c10fa --- /dev/null +++ b/Dockerfile @@ -0,0 +1,17 @@ +FROM node:22-alpine AS builder +WORKDIR /app +COPY package*.json ./ +RUN npm ci +COPY . . +RUN npm run build + +FROM node:22-alpine AS runner +WORKDIR /app +ENV NODE_ENV=production +ENV HOSTNAME=0.0.0.0 +ENV PORT=3000 +COPY --from=builder /app/.next/standalone ./ +COPY --from=builder /app/.next/static ./.next/static +COPY --from=builder /app/public ./public +EXPOSE 3000 +CMD ["node", "server.js"] diff --git a/next.config.ts b/next.config.ts index 66e1566..fdfc499 100644 --- a/next.config.ts +++ b/next.config.ts @@ -1,7 +1,7 @@ import type { NextConfig } from "next"; const nextConfig: NextConfig = { - /* config options here */ + output: "standalone", reactCompiler: true, }; diff --git a/public/robots.txt b/public/robots.txt new file mode 100644 index 0000000..858ff24 --- /dev/null +++ b/public/robots.txt @@ -0,0 +1,5 @@ +User-agent: * +Allow: / +Disallow: /api/ + +Sitemap: https://myinfomate.be/sitemap.xml diff --git a/src/app/confidentialite/page.tsx b/src/app/confidentialite/page.tsx new file mode 100644 index 0000000..2f838b6 --- /dev/null +++ b/src/app/confidentialite/page.tsx @@ -0,0 +1,74 @@ +import type { Metadata } from "next"; +import Link from "next/link"; + +export const metadata: Metadata = { + title: "Politique de confidentialité | MyInfoMate", + description: "Politique de confidentialité et traitement des données personnelles de MyInfoMate.", + alternates: { canonical: "/confidentialite" }, +}; + +export default function Confidentialite() { + return ( +
+
+ + ← Retour + + +

Politique de confidentialité

+ +
+

Responsable du traitement

+

+ Thomas Fransolet — UNOV
+ Rue René Copette 3, 5020 Namur, Belgique
+ Email : contact@unov.be +

+
+ +
+

Données collectées

+

+ Le formulaire de contact collecte les données suivantes : prénom, nom, adresse email, et le message saisi. Ces données sont transmises à UNOV à des fins de réponse à votre demande. +

+
+ +
+

Finalité et base légale

+

+ Les données collectées sont traitées uniquement pour répondre à votre prise de contact. La base légale est l'intérêt légitime (art. 6.1.f du RGPD). +

+
+ +
+

Conservation des données

+

+ Les données ne sont pas stockées sur nos serveurs. Elles sont transmises par email via le service Formspree (formspree.io) et ne sont pas conservées au-delà de la réception du message. +

+
+ +
+

Sous-traitant

+

+ L'envoi du formulaire utilise le service Formspree, Inc. (États-Unis), qui agit en qualité de sous-traitant. Le transfert est encadré par les clauses contractuelles types de la Commission européenne. Pour plus d'informations : politique de confidentialité de Formspree. +

+
+ +
+

Vos droits

+

+ Conformément au RGPD, vous disposez d'un droit d'accès, de rectification, d'effacement, de limitation, d'opposition et de portabilité de vos données. Pour exercer ces droits, contactez-nous à contact@unov.be.

+ Vous avez également le droit d'introduire une réclamation auprès de l'Autorité de protection des données (APD) belge : autoriteprotectiondonnees.be. +

+
+ +
+

Cookies

+

+ Ce site n'utilise pas de cookies de traçage ou publicitaires. Aucun outil d'analyse comportementale n'est actif. +

+
+
+
+ ); +} diff --git a/src/app/layout.tsx b/src/app/layout.tsx index 3c92693..3cb20d1 100644 --- a/src/app/layout.tsx +++ b/src/app/layout.tsx @@ -2,11 +2,29 @@ import type { Metadata } from "next"; import "./globals.css"; export const metadata: Metadata = { + metadataBase: new URL("https://myinfomate.be"), title: "MyInfoMate | La technologie au service de l'expérience visiteur", description: "La solution SaaS pour digitaliser l'expérience de vos visiteurs. Créativité et technologie au service de l'expérience visiteur.", icons: { icon: "/myinfomate-logo.png", }, + openGraph: { + title: "MyInfoMate | La technologie au service de l'expérience visiteur", + description: "La solution SaaS pour digitaliser l'expérience de vos visiteurs. Créativité et technologie au service de l'expérience visiteur.", + url: "https://myinfomate.be", + siteName: "MyInfoMate", + locale: "fr_BE", + type: "website", + images: [{ url: "/myinfomate-logo.png" }], + }, + twitter: { + card: "summary_large_image", + title: "MyInfoMate | La technologie au service de l'expérience visiteur", + description: "La solution SaaS pour digitaliser l'expérience de vos visiteurs. Créativité et technologie au service de l'expérience visiteur.", + }, + alternates: { + canonical: "/", + }, }; export default function RootLayout({ diff --git a/src/app/mentions-legales/page.tsx b/src/app/mentions-legales/page.tsx new file mode 100644 index 0000000..39961f9 --- /dev/null +++ b/src/app/mentions-legales/page.tsx @@ -0,0 +1,65 @@ +import type { Metadata } from "next"; +import Link from "next/link"; + +export const metadata: Metadata = { + title: "Mentions légales | MyInfoMate", + description: "Mentions légales du site MyInfoMate.", + alternates: { canonical: "/mentions-legales" }, +}; + +export default function MentionsLegales() { + return ( +
+
+ + ← Retour + + +

Mentions légales

+ +
+

Éditeur du site

+

+ Le présent site est édité par :
+ Thomas Fransolet, personne physique exerçant une activité sous l'enseigne UNOV
+ Numéro d'entreprise BCE : 0776.895.467
+ Rue René Copette 3, 5020 Namur, Belgique
+ Email : contact@unov.be
+ Téléphone : +32 498 07 95 35 +

+
+ +
+

Hébergement

+

+ Ce site est hébergé par :
+ OVH SAS
+ 2 rue Kellermann, 59100 Roubaix, France
+ www.ovh.com +

+
+ +
+

Propriété intellectuelle

+

+ L'ensemble des contenus présents sur ce site (textes, images, logos, graphismes) sont la propriété exclusive de Thomas Fransolet / UNOV, sauf mention contraire. Toute reproduction, distribution ou utilisation sans autorisation préalable est interdite. +

+
+ +
+

Responsabilité

+

+ UNOV s'efforce de maintenir les informations publiées sur ce site à jour et exactes. Nous déclinons toute responsabilité en cas d'erreurs, d'omissions ou de résultats obtenus par un usage inapproprié de ces informations. +

+
+ +
+

Droit applicable

+

+ Le présent site est soumis au droit belge. Tout litige relatif à son utilisation relève de la compétence exclusive des tribunaux de Namur, Belgique. +

+
+
+
+ ); +} diff --git a/src/app/page.tsx b/src/app/page.tsx index 0ed0aea..cdf4caf 100644 --- a/src/app/page.tsx +++ b/src/app/page.tsx @@ -1027,7 +1027,7 @@ export default function Home() {