diff --git a/README.md b/README.md index e5872900..89223bef 100644 --- a/README.md +++ b/README.md @@ -2,3 +2,19 @@ Storybook URL : Production URL : + +## Description + +GitOps +Utiliser react-dsfr +sentry / matomo +tooling (lint/tests) +best practices next/TS +Best practices HTTP (CSP) +Pages de base +homepage +mentions-legales +CGU +accessibilité +healthz +stats cf 1000jours/stats diff --git a/scripts/__tests__/prebuild.test.ts b/scripts/__tests__/prebuild.test.ts index 6ecb7694..bda6723a 100644 --- a/scripts/__tests__/prebuild.test.ts +++ b/scripts/__tests__/prebuild.test.ts @@ -11,8 +11,7 @@ describe("robots.txt", () => { const host = "localhost"; const robotsProd = [ "User-agent: *", - "Disallow: /assets/", - "Disallow: /images/", + "Allow: /", "", `Sitemap: https://${host}/sitemap.xml`, ].join("\n"); diff --git a/src/components/index.ts b/src/components/index.ts index cbff5622..9167d5d6 100644 --- a/src/components/index.ts +++ b/src/components/index.ts @@ -4,3 +4,4 @@ export { default as Layout } from "./layout"; export * from "./header/type"; export * from "./footer/type"; export * from "./landing"; +export * from "./mention"; diff --git a/src/components/mention/index.ts b/src/components/mention/index.ts new file mode 100644 index 00000000..7eb97f7e --- /dev/null +++ b/src/components/mention/index.ts @@ -0,0 +1 @@ +export * from "./part"; diff --git a/src/components/mention/part.tsx b/src/components/mention/part.tsx new file mode 100644 index 00000000..1f031f80 --- /dev/null +++ b/src/components/mention/part.tsx @@ -0,0 +1,16 @@ +export type MentionPartProps = { + title: string; + description: string; + children?: React.ReactNode | React.ReactNode[]; + divProps?: React.HTMLAttributes; +}; + +export const MentionPart = (props: MentionPartProps): JSX.Element => { + return ( +
+

{props.title}

+

{props.description}

+ {props.children} +
+ ); +}; diff --git a/src/pages/cgu.tsx b/src/pages/cgu.tsx new file mode 100644 index 00000000..7dd66510 --- /dev/null +++ b/src/pages/cgu.tsx @@ -0,0 +1,52 @@ +import { MentionPart } from "@components"; +import type { NextPage } from "next"; +import { NextSeo } from "next-seo"; +import React from "react"; + +const Index: NextPage = () => { + return ( + <> + +
+

Conditions générales d'utilisation

+
+ + + + + + +
+
+ + ); +}; + +export default Index; diff --git a/src/pages/healthz.tsx b/src/pages/healthz.tsx index 46820632..f3a67bc4 100644 --- a/src/pages/healthz.tsx +++ b/src/pages/healthz.tsx @@ -1,9 +1,25 @@ +import type { NextPage } from "next"; +import { NextSeo } from "next-seo"; import React from "react"; -export default function Healthz() { +const Index: NextPage = () => { return ( -
-

App is up and running

-
+ <> + +
+

App is up and running

+
+ ); -} +}; + +export default Index; diff --git a/src/pages/index.tsx b/src/pages/index.tsx index 7c27d04b..feda9ef4 100644 --- a/src/pages/index.tsx +++ b/src/pages/index.tsx @@ -3,7 +3,7 @@ import { Row } from "@dataesr/react-dsfr"; import type { NextPage } from "next"; import { NextSeo } from "next-seo"; -const Home: NextPage = () => { +const Index: NextPage = () => { return ( <> { ); }; -export default Home; +export default Index; diff --git a/src/pages/mention-legales.tsx b/src/pages/mention-legales.tsx new file mode 100644 index 00000000..a93cf92e --- /dev/null +++ b/src/pages/mention-legales.tsx @@ -0,0 +1,95 @@ +import { MentionPart } from "@components"; +import { Title } from "@dataesr/react-dsfr"; +import type { NextPage } from "next"; +import { NextSeo } from "next-seo"; +import React from "react"; + +const Index: NextPage = () => { + return ( + <> + +
+

Mentions légales

+
+ +
+ Tour Mirabeau
+ 39-43 Quai André Citroën
+ 75015 PARIS
+ Téléphone: 01 40 56 60 00 +
+
+ + +

+ Microsoft Azure
+ 37 Quai du Président Roosevelt
+ 92130 Issy-les-Moulineaux +

+
+ + + Signaler un dysfonctionnement + +

+ Si vous rencontrez un défaut d’accessibilité vous empêchant + d’accéder à un contenu ou une fonctionnalité du site, merci de + nous en faire part. Si vous n’obtenez pas de réponse rapide de + notre part, vous êtes en droit de faire parvenir vos doléances ou + une demande de saisine au Défenseur des droits. +

+ +

+ Pour en savoir plus sur la politique d’accessibilité numérique de + l’État : + + numerique.gouv.fr/publications/rgaa-accessibilite + +

+
+ +
+
+ + ); +}; + +export default Index;