diff --git a/client/src/layout/components/footer/index.tsx b/client/src/layout/components/footer/index.tsx index 059ae65c..1cff5388 100644 --- a/client/src/layout/components/footer/index.tsx +++ b/client/src/layout/components/footer/index.tsx @@ -292,6 +292,11 @@ export default function MainFooter() { id: "layout.footer.accessibility", })} */} + + {intl.formatMessage({ + id: "layout.footer.legals", + })} + { + const locale = key.match(/\.\/locales\/(.+)\.json$/)?.[1]; + if (locale) { + return { ...acc, [locale]: modules[key] }; + } + return acc; +}, {}); + +const P = (children) => ; + +const brFormating = { + br: () => , +}; +const etalabFormating = { + etalab: (chunks) => {chunks}, +}; + +export default function LegalNotice() { + const { locale } = useDSFRConfig(); + const intl = createIntl({ locale, messages: messages[locale] }); + + return ( + + + + + {intl.formatMessage({ id: "app.legals.breadcrumb.home" })} + + + {intl.formatMessage({ id: "app.legals.breadcrumb.current" })} + + + + + {intl.formatMessage({ id: "app.legals.title" })} + + + + + + + + + {intl.formatMessage({ id: "app.legals.editor" })} + + + + {intl.formatMessage({ id: "app.legals.editor.1" })} + + {intl.formatMessage({ id: "app.legals.editor.2" }, brFormating)} + + + {intl.formatMessage({ id: "app.legals.editor.3" }, brFormating)} + + + + + + {intl.formatMessage({ id: "app.legals.hosting" })} + + + {intl.formatMessage({ id: "app.legals.hosting.1" }, brFormating)} + + + + + {intl.formatMessage({ id: "app.legals.conceptor" })} + + + {intl.formatMessage({ id: "app.legals.conceptor.1" })} + + + + + {intl.formatMessage({ id: "app.legals.stats" })} + + + {intl.formatMessage({ id: "app.legals.stats.1" })} + + + + + {intl.formatMessage({ id: "app.legals.cookies" })} + + + + {intl.formatMessage({ id: "app.legals.cookies.1" })} + + + {intl.formatMessage({ id: "app.legals.cookies.2" })} + + + + + + {intl.formatMessage({ id: "app.legals.reuse" })} + + + + {intl.formatMessage({ id: "app.legals.reuse.1" }, etalabFormating)} + + + {intl.formatMessage({ id: "app.legals.reuse.2" })} + + + {intl.formatMessage({ id: "app.legals.reuse.3" })} + + + + + + {intl.formatMessage({ id: "app.legals.hypertext" })} + + + {intl.formatMessage({ id: "app.legals.hypertext.1" })} + + + + + {intl.formatMessage({ id: "app.legals.responsability" })} + + + {intl.formatMessage({ id: "app.legals.responsability.1" })} + + + {intl.formatMessage({ id: "app.legals.responsability.2" })} + + + {intl.formatMessage({ id: "app.legals.responsability.3" })} + + + + + {intl.formatMessage({ id: "app.legals.accessibility" })} + + + {intl.formatMessage({ id: "app.legals.accessibility.1" })} + + + + + + + ); +} \ No newline at end of file diff --git a/client/src/pages/about/legal-notices/locales/en.json b/client/src/pages/about/legal-notices/locales/en.json new file mode 100644 index 00000000..74b86380 --- /dev/null +++ b/client/src/pages/about/legal-notices/locales/en.json @@ -0,0 +1,30 @@ +{ + "app.legals.breadcrumb.home": "Home", + "app.legals.breadcrumb.current": "Legal Notices", + "app.legals.title": "Legal Notices", + "app.legals.editor": "Website Editor", + "app.legals.editor.1": "Ministry of Higher Education and Research", + "app.legals.editor.2": "General Directorate for Higher Education and Professional IntegrationGeneral Directorate for Research and InnovationSub-directorate for Information Systems and Statistical Studies (SIES)Department of Engineering and Data Science", + "app.legals.editor.3": "1 rue Descartes75231 Paris cedex 05", + "app.legals.hosting": "Hosting", + "app.legals.hosting.1": "OVHRCS Roubaix – Tourcoing 424 761 419 00045APE Code 6202AVAT No: FR 22 424 761 419Headquarters: 2 rue Kellermann - 59100 Roubaix - France.", + "app.legals.stats": "Statistics Manager", + "app.legals.stats.1": "Matomo", + "app.legals.conceptor": "Website Design and Management", + "app.legals.conceptor.1": "The editorial and graphic monitoring, as well as the technical design and ergonomics of the site, are exclusively provided by the Department of Engineering and Data Science of the Ministry of Higher Education and Research.", + "app.legals.cookies": "Audience Measurement Cookies", + "app.legals.cookies.1": "When visiting our site, cookies are deposited on your computer, mobile, or tablet.", + "app.legals.cookies.2": "The only cookies used by this site are those intended for audience measurement and do not collect personal data. Audience measurement tools are deployed to obtain information about visitors' navigation. They allow us to understand how users arrive on a site and reconstruct their journey.", + "app.legals.hypertext": "Hypertext Links", + "app.legals.hypertext.1": "Numerous links to other sites, private or official, French or foreign, are proposed. Their presence does not engage the Government Information Service regarding their content and is only intended to allow the user to find other documentary resources on the subject consulted more easily.", + "app.legals.responsability": "Disclaimer", + "app.legals.responsability.1": "The information provided on this site is offered as a service to the public. Despite all the care taken in processing the reference frameworks, aligning and interconnecting the data presented, the elements posted on scanR cannot in any way claim to be accurate and do not engage the responsibility of the Ministry of Higher Education and Research.", + "app.legals.responsability.2": "The information and/or documents available on this site may be modified at any time and are subject to regular updates.", + "app.legals.responsability.3": "The Ministry of Higher Education and Research cannot be held responsible in any way for any damage of any kind resulting from the interpretation or use of the information and/or documents available on this site.", + "app.legals.accessibility": "Accessibility", + "app.legals.accessibility.1": "The scanR site is developed according to the recommendations of the General Accessibility Improvement Framework (RGAA) and W3C standards. We are committed to continuously improving the accessibility of our content to facilitate access to information.", + "app.legals.reuse": "Reuse of Content and Links", + "app.legals.reuse.1": "Unless explicitly stated as intellectual property owned by third parties, the content of this site is offered under the Etalab 2.0 open license.", + "app.legals.reuse.2": "You are free to reproduce, copy, modify, extract, transform, communicate, distribute, publish, transmit, and exploit them, provided that you mention their source, their date of last update, and do not mislead third parties about the information contained therein.", + "app.legals.reuse.3": "Any public or private site is authorized to establish, without prior authorization, a link (including deep linking) to the information disseminated on this site." +} \ No newline at end of file diff --git a/client/src/pages/about/legal-notices/locales/fr.json b/client/src/pages/about/legal-notices/locales/fr.json new file mode 100644 index 00000000..f8c61ce0 --- /dev/null +++ b/client/src/pages/about/legal-notices/locales/fr.json @@ -0,0 +1,30 @@ +{ + "app.legals.breadcrumb.home": "Accueil", + "app.legals.breadcrumb.current": "Mentions légales", + "app.legals.title": "Mentions légales", + "app.legals.editor": "Éditeur du site", + "app.legals.editor.1": "Ministère de l'Enseignement supérieur et de la Recherche", + "app.legals.editor.2": "Direction générale de l'enseignement supérieur et de l'insertion professionnelleDirection générale de la recherche et de l'innovationSous-direction des systèmes d'information et des études statistiques (SIES)Département ingénierie et science des données", + "app.legals.editor.3": "1 rue Descartes75231 Paris cedex 05", + "app.legals.hosting": "Hébergement", + "app.legals.hosting.1": "OVHRCS Roubaix – Tourcoing 424 761 419 00045Code APE 6202AN° TVA : FR 22 424 761 419Siège social : 2 rue Kellermann - 59100 Roubaix - France.", + "app.legals.stats": "Gestionnaire des statistiques", + "app.legals.stats.1": "Matomo", + "app.legals.conceptor": "Conception et gestion du site", + "app.legals.conceptor.1": "Le suivi éditorial et graphique ainsi que la conception technique du site et son ergonomie sont exclusivement assurés par le Département ingénierie et science des données du Ministère de l'Enseignement supérieur et de la Recherche.", + "app.legals.cookies": "Cookies de mesure d'audience", + "app.legals.cookies.1": "Lors de la consultation de notre site, des cookies sont déposés sur votre ordinateur, votre mobile ou votre tablette.", + "app.legals.cookies.2": "Les seuls cookies utilisés par ce site sont ceux destinés à la mesure d'audience et ne collectent pas de données personnelles. Les outils de mesures d'audience sont déployés afin d'obtenir des informations sur la navigation des visiteurs. Ils permettent notamment de comprendre comment les utilisateurs arrivent sur un site et de reconstituer leur parcours.", + "app.legals.hypertext": "Liens hypertextes", + "app.legals.hypertext.1": "De nombreux liens vers d’autres sites, privés ou officiels, français ou étrangers, sont proposés. Leur présence ne saurait engager le Service d’information du Gouvernement quant à leur contenu et ne vise qu’à permettre à l’internaute de trouver plus facilement d’autres ressources documentaires sur le sujet consulté.", + "app.legals.responsability": "Clause de responsabilité", + "app.legals.responsability.1": "Les informations proposées sur ce site le sont à titre de service rendu au public. Malgré tout le soin apporté au traitement des référentiels, à l'alignement et à l'inter-connexion des données présentées, les éléments mis en ligne sur scanR ne sauraient, de quelque manière que ce soit, prétendre à l’exactitude et engager la responsabilité du Ministère de l'Enseignement supérieur et de la Recherche.", + "app.legals.responsability.2": "Les informations et/ou documents disponibles sur ce site sont susceptibles d’être modifiés à tout moment, et font l’objet de mises à jour régulières.", + "app.legals.responsability.3": "Le Ministère de l'Enseignement supérieur et de la Recherche ne pourra en aucun cas être tenu responsable de tout dommage de quelque nature qu’il soit résultant de l’interprétation ou de l’utilisation des informations et/ou documents disponibles sur ce site.", + "app.legals.accessibility": "Accessibilité", + "app.legals.accessibility.1": "Le site scanR est développé selon les recommandations du Référentiel général d'amélioration de l'accessibilité (RGAA) et les normes W3C. Nous nous sommes engagés à améliorer en permanence l’accessibilité de nos contenus pour que l’accès à l’information soit facilité.", + "app.legals.reuse": "Réutilisation des contenus et liens", + "app.legals.reuse.1": "Sauf mention explicite de propriété intellectuelle détenue par des tiers, les contenus de ce site sont proposés sous licence ouverte Etalab 2.0.", + "app.legals.reuse.2": "Vous êtes notamment libres de les reproduire, copier, modifier, extraire, transformer, communiquer diffuser, redistribuer, publier, transmettre et exploiter sous réserve de mentionner leur source, leur date de dernière mise à jour et ne pas induire en erreur des tiers quant aux informations qui y figurent.", + "app.legals.reuse.3": "Tout site public ou privé est autorisé à établir, sans autorisation préalable, un lien (y compris profond) vers les informations diffusées sur ce site." +} \ No newline at end of file diff --git a/client/src/router.tsx b/client/src/router.tsx index 37b0b80a..22c10624 100644 --- a/client/src/router.tsx +++ b/client/src/router.tsx @@ -25,6 +25,7 @@ import PublicationIdParser from "./components/publication-id-parser"; import ScanrPublicationsDocs from "./pages/docs/objects/publications"; import { DocsLayout } from "./pages/docs/layout"; import ProjectsDocs from "./pages/docs/objects/projects"; +import LegalNotices from "./pages/about/legal-notices"; function ScrollToTopOnLocationChange() { const { pathname } = useLocation(); @@ -52,6 +53,7 @@ export default function Router() { QuickStart} /> Overview} /> + } /> } /> } /> } />
+ {intl.formatMessage({ id: "app.legals.cookies.1" })} +
+ {intl.formatMessage({ id: "app.legals.cookies.2" })} +
+ {intl.formatMessage({ id: "app.legals.reuse.1" }, etalabFormating)} +
+ {intl.formatMessage({ id: "app.legals.reuse.2" })} +
+ {intl.formatMessage({ id: "app.legals.reuse.3" })} +
+ {intl.formatMessage({ id: "app.legals.responsability.1" })} +
+ {intl.formatMessage({ id: "app.legals.responsability.2" })} +
+ {intl.formatMessage({ id: "app.legals.responsability.3" })} +