diff --git a/.talismanrc b/.talismanrc index c2d1aa266..05ebddd0a 100644 --- a/.talismanrc +++ b/.talismanrc @@ -3,6 +3,8 @@ fileignoreconfig: checksum: 70dcdce75bb98d7c5b05a34074ccef0412a7bbfb1755b472d66a74a144d0e882 - filename: ui/modules/referencement-organisme/tabs/AideRelationsOrganismes.tsx checksum: 7174dc73718c7b2fb9c175d783c7ca5e0d02dd85db8c7c1453a2a23d9c171461 +- filename: ui/pages/contact.tsx + checksum: d5a5f0510520b403d6cb83db5c9724b2408866c7f624f109fc9d9576944feac1 - filename: ui/pages/organismes-formation.tsx checksum: 10ba3e10dc58d0b882a87038c57b632173d3428e8a3c3ceee514deff720fdf67 - filename: ui/modules/organismes/ListeOrganismesPage.tsx diff --git a/server/static/open-api.json b/server/static/open-api.json index ddb671ab9..7b72d9246 100644 --- a/server/static/open-api.json +++ b/server/static/open-api.json @@ -5,7 +5,7 @@ "title": "API mission apprentissage", "description": "L'API mission apprentissage est à disposition des ERPs et organismes de formation qui souhaitent envoyer leur donnnées effectifs au tableau de bord de l'apprentissage.", "contact": { - "url": "https://tableaudebord-apprentissage.atlassian.net/servicedesk/customer/portal/3/group/11/create/48", + "url": "https://cfas.apprentissage.beta.gouv.fr/contact", "name": "API Support" } }, diff --git a/shared/constants/support.ts b/shared/constants/support.ts index b13334408..fff8093c1 100644 --- a/shared/constants/support.ts +++ b/shared/constants/support.ts @@ -1,35 +1,37 @@ -export const SUPPORT_PAGE_ACCUEIL = "https://tableaudebord-apprentissage.atlassian.net/servicedesk/customer/portal/3"; +export const CRISP_FAQ = "https://aide.cfas.apprentissage.beta.gouv.fr/fr/"; +export const SUPPORT_PAGE_ACCUEIL = "/contact"; -export const GESTION_COMPTE_GROUP = `${SUPPORT_PAGE_ACCUEIL}/group/14`; -export const GESTION_ORGANISME_GROUP = `${SUPPORT_PAGE_ACCUEIL}/group/8`; -export const TRANSMISSION_DONNEES_GROUP = `${SUPPORT_PAGE_ACCUEIL}/group/11`; -export const EFFECTIFS_GROUP = `${SUPPORT_PAGE_ACCUEIL}/group/9`; -export const SIFA_GROUP = `${SUPPORT_PAGE_ACCUEIL}/group/12`; -export const AUTRE_GROUP = `${SUPPORT_PAGE_ACCUEIL}/group/10`; +export const GESTION_COMPTE_GROUP = `${SUPPORT_PAGE_ACCUEIL}`; +export const GESTION_ORGANISME_GROUP = `${SUPPORT_PAGE_ACCUEIL}`; +export const TRANSMISSION_DONNEES_GROUP = `${SUPPORT_PAGE_ACCUEIL}`; +export const EFFECTIFS_GROUP = `${SUPPORT_PAGE_ACCUEIL}`; +export const SIFA_GROUP = `${SUPPORT_PAGE_ACCUEIL}`; +export const AUTRE_GROUP = `${SUPPORT_PAGE_ACCUEIL}`; -export const GC_AIDE_CREATION_ELEMENT_LINK = `${GESTION_COMPTE_GROUP}/create/36`; -export const GC_SUPPRESSION_COMPTE_ELEMENT_LINK = ` ${GESTION_COMPTE_GROUP}/create/52`; -export const GC_AUTRE_ELEMENT_LINK = `${GESTION_COMPTE_GROUP}/create/53`; +export const GC_AIDE_CREATION_ELEMENT_LINK = `${GESTION_COMPTE_GROUP}`; +export const GC_SUPPRESSION_COMPTE_ELEMENT_LINK = ` ${GESTION_COMPTE_GROUP}`; +export const GC_AUTRE_ELEMENT_LINK = `${GESTION_COMPTE_GROUP}`; -export const GO_MODIFICATION_IDENTITE_ELEMENT_LINK = `${GESTION_ORGANISME_GROUP}/create/31`; -export const GO_MODIFICATION_RELATION_ELEMENT_LINK = ` ${GESTION_ORGANISME_GROUP}/create/64`; -export const GO_AUTRE_ELEMENT_LINK = `${GESTION_ORGANISME_GROUP}/create/11`; +export const GO_MODIFICATION_IDENTITE_ELEMENT_LINK = `${GESTION_ORGANISME_GROUP}`; +export const GO_MODIFICATION_RELATION_ELEMENT_LINK = ` ${GESTION_ORGANISME_GROUP}`; +export const GO_AUTRE_ELEMENT_LINK = `${GESTION_ORGANISME_GROUP}`; -export const TD_PARAMETRAGE_ELEMENT_LINK = `${TRANSMISSION_DONNEES_GROUP}/create/39`; -export const TD_API_ELEMENT_LINK = `${TRANSMISSION_DONNEES_GROUP}/create/48`; -export const TD_MANUEL_ELEMENT_LINK = `${TRANSMISSION_DONNEES_GROUP}/create/56`; -export const TD_COMPRENDRE_ELEMENT_LINK = `${TRANSMISSION_DONNEES_GROUP}/create/44`; -export const TD_AUTRE_ELEMENT_LINK = `${TRANSMISSION_DONNEES_GROUP}/create/57`; +export const TD_PARAMETRAGE_ELEMENT_LINK = `${TRANSMISSION_DONNEES_GROUP}`; +export const TD_API_ELEMENT_LINK = `${TRANSMISSION_DONNEES_GROUP}`; +export const TD_MANUEL_ELEMENT_LINK = `${TRANSMISSION_DONNEES_GROUP}`; +export const TD_COMPRENDRE_ELEMENT_LINK = `${TRANSMISSION_DONNEES_GROUP}`; +export const TD_AUTRE_ELEMENT_LINK = `${TRANSMISSION_DONNEES_GROUP}`; -export const EFF_ERREUR_ELEMENT_LINK = `${EFFECTIFS_GROUP}/create/63`; -export const EFF_AFFICHAGE_ELEMENT_LINK = `${EFFECTIFS_GROUP}/create/46`; -export const EFF_EDITION_ELEMENT_LINK = `${EFFECTIFS_GROUP}/create/42`; -export const EFF_AUTRE_ELEMENT_LINK = `${EFFECTIFS_GROUP}/create/58`; +export const EFF_ERREUR_ELEMENT_LINK = `${EFFECTIFS_GROUP}`; +export const EFF_AFFICHAGE_ELEMENT_LINK = `${EFFECTIFS_GROUP}`; +export const EFF_EDITION_ELEMENT_LINK = `${EFFECTIFS_GROUP}`; +export const EFF_AUTRE_ELEMENT_LINK = `${EFFECTIFS_GROUP}`; -export const SIFA_EFFECTIF_INCORRECT_ELEMENT_LINK = `${SIFA_GROUP}/create/30`; -export const SIFA_REJET_ELEMENT_LINK = `${SIFA_GROUP}/create/54`; -export const SIFA_AUTRE_ELEMENT_LINK = `${SIFA_GROUP}/create/59`; +export const SIFA_EFFECTIF_INCORRECT_ELEMENT_LINK = `${SIFA_GROUP}`; +export const SIFA_REJET_ELEMENT_LINK = `${SIFA_GROUP}`; +export const SIFA_AUTRE_ELEMENT_LINK = `${SIFA_GROUP}`; -export const AUTRE_AMELIORATION_ELEMENT_LINK = `${AUTRE_GROUP}/create/55`; -export const AUTRE_ANOMALIE_ELEMENT_LINK = `${AUTRE_GROUP}/create/49`; -export const AUTRE_MODIF_RESEAU_ELEMENT_LINK = `${AUTRE_GROUP}/create/79`; +export const AUTRE_AMELIORATION_ELEMENT_LINK = `${AUTRE_GROUP}`; +export const AUTRE_ANOMALIE_ELEMENT_LINK = `${AUTRE_GROUP}`; +export const AUTRE_MODIF_RESEAU_ELEMENT_LINK = `${AUTRE_GROUP}`; +export const AUTRE_AFFELNET_LINK = `${AUTRE_GROUP}`; diff --git a/ui/common/constants/faq.ts b/ui/common/constants/faq.ts deleted file mode 100644 index 4509f1273..000000000 --- a/ui/common/constants/faq.ts +++ /dev/null @@ -1 +0,0 @@ -export const FAQ_PATH = "https://mission-apprentissage.notion.site/Page-d-Aide-FAQ-dbb1eddc954441eaa0ba7f5c6404bdc0"; // /docs/faq diff --git a/ui/components/Page/Page.tsx b/ui/components/Page/Page.tsx index 04b4863e4..33092f1d6 100644 --- a/ui/components/Page/Page.tsx +++ b/ui/components/Page/Page.tsx @@ -1,7 +1,7 @@ import { Box, Container, ContainerProps } from "@chakra-ui/react"; import React from "react"; +import { CRISP_FAQ } from "shared"; -import { FAQ_PATH } from "@/common/constants/faq"; import Link from "@/components/Links/Link"; import Section from "@/components/Section/Section"; import { Interrogation } from "@/theme/components/icons"; @@ -27,7 +27,7 @@ function Page({ children, childrenContainer, ...rest }: PageProps) { { - - Page d’aide + + Centre d’aide diff --git a/ui/components/Page/components/NavigationMenu.tsx b/ui/components/Page/components/NavigationMenu.tsx index cf0b88dc4..24674c9db 100644 --- a/ui/components/Page/components/NavigationMenu.tsx +++ b/ui/components/Page/components/NavigationMenu.tsx @@ -2,9 +2,8 @@ import { ChevronDownIcon, SettingsIcon } from "@chakra-ui/icons"; import { Box, Container, Flex, Menu, MenuButton, MenuItem, MenuList, Text, Tooltip } from "@chakra-ui/react"; import { useRouter } from "next/router"; import { ReactElement, useState } from "react"; -import { IOrganisationType, ORGANISATION_TYPE, SUPPORT_PAGE_ACCUEIL } from "shared"; +import { CRISP_FAQ, IOrganisationType, ORGANISATION_TYPE } from "shared"; -import { FAQ_PATH } from "@/common/constants/faq"; import { AuthContext } from "@/common/internal/AuthContext"; import Link from "@/components/Links/Link"; import { useOrganisationOrganisme } from "@/hooks/organismes"; @@ -278,12 +277,12 @@ const MenuQuestions = () => { )} trackPlausibleEvent("clic_homepage_page_aide")} > - Page d’aide + Centre d’aide { Glossaire - trackPlausibleEvent("clic_homepage_envoi_message")} - > - Nous envoyer un message - diff --git a/ui/modules/auth/inscription/components/SearchBySIRETForm.tsx b/ui/modules/auth/inscription/components/SearchBySIRETForm.tsx index 800e68cb9..c1c95eb7f 100644 --- a/ui/modules/auth/inscription/components/SearchBySIRETForm.tsx +++ b/ui/modules/auth/inscription/components/SearchBySIRETForm.tsx @@ -16,9 +16,9 @@ import { } from "@chakra-ui/react"; import { Field, Form, Formik } from "formik"; import { useState } from "react"; +import { SUPPORT_PAGE_ACCUEIL } from "shared"; import * as Yup from "yup"; -import { CONTACT_ADDRESS } from "@/common/constants/product"; import { siretRegex } from "@/common/domain/siret"; import { _post } from "@/common/httpClient"; import { sleep } from "@/common/utils/misc"; @@ -85,15 +85,15 @@ export default function SearchBySIRETForm({ organisation, setOrganisation }: Ins .
- Si vous pensez que c’est une erreur, veuillez nous contacter à{" "} + Si vous pensez que c’est une erreur, veuillez nous contacter :{" "} - {CONTACT_ADDRESS} + contactez-nous . diff --git a/ui/modules/auth/inscription/components/SearchByUAIForm.tsx b/ui/modules/auth/inscription/components/SearchByUAIForm.tsx index d99af0936..0f83e3ff0 100644 --- a/ui/modules/auth/inscription/components/SearchByUAIForm.tsx +++ b/ui/modules/auth/inscription/components/SearchByUAIForm.tsx @@ -16,9 +16,9 @@ import { } from "@chakra-ui/react"; import { Field, Form, Formik } from "formik"; import { useState } from "react"; +import { SUPPORT_PAGE_ACCUEIL } from "shared"; import * as Yup from "yup"; -import { CONTACT_ADDRESS } from "@/common/constants/product"; import { UAI_REGEX } from "@/common/domain/uai"; import { _post } from "@/common/httpClient"; import { sleep } from "@/common/utils/misc"; @@ -86,15 +86,15 @@ export default function SearchByUAIForm({ organisation, setOrganisation }: Inscr .
- Si vous pensez que c’est une erreur, veuillez nous contacter à{" "} + Si vous pensez que c’est une erreur, veuillez nous contacter :{" "} - {CONTACT_ADDRESS} + contactez-nous . diff --git a/ui/modules/dashboard/DashboardOrganisme.tsx b/ui/modules/dashboard/DashboardOrganisme.tsx index 28953911b..4f479ac7e 100644 --- a/ui/modules/dashboard/DashboardOrganisme.tsx +++ b/ui/modules/dashboard/DashboardOrganisme.tsx @@ -37,9 +37,10 @@ import { UAI_INCONNUE_TAG_FORMAT, UAI_INCONNUE, UAI_INCONNUE_CAPITALIZE, + GO_MODIFICATION_RELATION_ELEMENT_LINK, + CRISP_FAQ, } from "shared"; -import { FAQ_PATH } from "@/common/constants/faq"; import { convertOrganismeToExport, organismesExportColumns } from "@/common/exports"; import { _get, _post } from "@/common/httpClient"; import { AuthContext } from "@/common/internal/AuthContext"; @@ -310,7 +311,7 @@ const DashboardOrganisme = ({ organisme, modePublique }: Props) => { .
{ paramétrer {" "} votre moyen de transmission. Lire la FAQ{" "} - + “Comment transmettre ?” @@ -905,7 +906,7 @@ const DashboardOrganisme = ({ organisme, modePublique }: Props) => { Si la liste des organismes de votre réseau ci-dessus est incomplète ou erronée ,{" "} - - Contactez-nous + + Aide réseau : <>territoire}.{" "} { Concernant le Tableau de bord, demandez la suppression de votre compte utilisateur à{" "} - - notre service support - {" "} - pour pouvoir ensuite créer un nouveau sur votre dernier SIRET. + notre service support pour + pouvoir ensuite créer un nouveau sur votre dernier SIRET. diff --git a/ui/modules/voeux/AffelnetPage.tsx b/ui/modules/voeux/AffelnetPage.tsx index a19152634..fc0ab2684 100644 --- a/ui/modules/voeux/AffelnetPage.tsx +++ b/ui/modules/voeux/AffelnetPage.tsx @@ -15,6 +15,7 @@ import { } from "@chakra-ui/react"; import { useRouter } from "next/router"; import { useCallback, useMemo } from "react"; +import { AUTRE_AFFELNET_LINK } from "shared"; import { _getBlob } from "@/common/httpClient"; import { downloadObject } from "@/common/utils/browser"; @@ -324,12 +325,7 @@ function VoeuxAffelnetPage() { Vous avez une question / remarque ? - + Écrivez-nous diff --git a/ui/next.config.js b/ui/next.config.js index 20b3eaac9..c590946c1 100644 --- a/ui/next.config.js +++ b/ui/next.config.js @@ -12,15 +12,15 @@ const contentSecurityPolicy = ` block-all-mixed-content; font-src 'self' https: data:; frame-ancestors 'self' https://cfas.apprentissage.beta.gouv.fr; - frame-src 'self' https://plausible.io https://cfas.apprentissage.beta.gouv.fr https://cfas-recette.apprentissage.beta.gouv.fr https://tableau-de-bord-preprod.apprentissage.beta.gouv.fr; + frame-src 'self' https://plausible.io https://cfas.apprentissage.beta.gouv.fr https://cfas-recette.apprentissage.beta.gouv.fr https://tableau-de-bord-preprod.apprentissage.beta.gouv.fr https://plugins.crisp.chat; img-src 'self' https://files.tableau-de-bord.apprentissage.beta.gouv.fr https://www.notion.so https://mission-apprentissage.notion.site https://stats.beta.gouv.fr data:; object-src 'none'; - script-src 'self' https://plausible.io https://stats.beta.gouv.fr ${ + script-src 'self' https://plausible.io https://stats.beta.gouv.fr https://client.crisp.chat ${ process.env.NEXT_PUBLIC_ENV === "local" ? "'unsafe-eval'" : "" }; script-src-attr 'none'; style-src 'self' https: *.plausible.io 'unsafe-inline'; - connect-src 'self' https://plausible.io https://stats.beta.gouv.fr https://sentry.apprentissage.beta.gouv.fr ${ + connect-src 'self' https://plausible.io https://stats.beta.gouv.fr https://client.crisp.chat https://plugins.crisp.chat https://sentry.apprentissage.beta.gouv.fr ${ process.env.NEXT_PUBLIC_ENV === "local" ? "http://localhost:5001/" : "" }; upgrade-insecure-requests; diff --git a/ui/pages/auth/finalisation.tsx b/ui/pages/auth/finalisation.tsx index f2e7475c0..82dd584f9 100644 --- a/ui/pages/auth/finalisation.tsx +++ b/ui/pages/auth/finalisation.tsx @@ -4,8 +4,8 @@ import { useQuery } from "@tanstack/react-query"; import Head from "next/head"; import { useRouter } from "next/router"; import React, { useEffect } from "react"; +import { SUPPORT_PAGE_ACCUEIL } from "shared"; -import { CONTACT_ADDRESS } from "@/common/constants/product"; import { _post } from "@/common/httpClient"; import { getAuthServerSideProps } from "@/common/SSR/getAuthServerSideProps"; import Link from "@/components/Links/Link"; @@ -77,8 +77,8 @@ const ConfirmationPage = () => { - - {CONTACT_ADDRESS} + + Contactez-nous diff --git a/ui/pages/auth/inscription/[typeOrganisation].tsx b/ui/pages/auth/inscription/[typeOrganisation].tsx index 6946d11a3..df090867f 100644 --- a/ui/pages/auth/inscription/[typeOrganisation].tsx +++ b/ui/pages/auth/inscription/[typeOrganisation].tsx @@ -2,9 +2,8 @@ import { Box, Button, HStack, Link, Text } from "@chakra-ui/react"; import NavLink from "next/link"; import { useRouter } from "next/router"; import React, { useState } from "react"; -import { IOrganisationCreate } from "shared"; +import { IOrganisationCreate, SUPPORT_PAGE_ACCUEIL } from "shared"; -import { CONTACT_ADDRESS } from "@/common/constants/product"; import { getAuthServerSideProps } from "@/common/SSR/getAuthServerSideProps"; import { CategorieCompteInscription } from "@/modules/auth/inscription/categories"; import { SetterOrganisation } from "@/modules/auth/inscription/common"; @@ -32,13 +31,13 @@ const RegisterConfigurationOrganisationPage = () => { Contacter l'équipe : - {CONTACT_ADDRESS} + Contactez-nous {" "} diff --git a/ui/pages/auth/inscription/organisme-inconnu.tsx b/ui/pages/auth/inscription/organisme-inconnu.tsx index 559357574..99f1af638 100644 --- a/ui/pages/auth/inscription/organisme-inconnu.tsx +++ b/ui/pages/auth/inscription/organisme-inconnu.tsx @@ -1,8 +1,8 @@ import { Link, Text } from "@chakra-ui/react"; import { useRouter } from "next/router"; import React from "react"; +import { CRISP_FAQ } from "shared"; -import { FAQ_PATH } from "@/common/constants/faq"; import InscriptionWrapper from "@/modules/auth/inscription/InscriptionWrapper"; export default function InscriptionOrganismeInconnu() { @@ -21,7 +21,7 @@ export default function InscriptionOrganismeInconnu() { référentiel de l’apprentissage . Vous pouvez aussi consulter la{" "} - + FAQ {" "} du tableau de bord. diff --git a/ui/pages/contact.tsx b/ui/pages/contact.tsx new file mode 100644 index 000000000..840802c73 --- /dev/null +++ b/ui/pages/contact.tsx @@ -0,0 +1,49 @@ +import { Box, Container, Flex, Heading, Text } from "@chakra-ui/react"; +import { CRISP_FAQ } from "shared"; + +import { getAuthServerSideProps } from "@/common/SSR/getAuthServerSideProps"; +import Link from "@/components/Links/Link"; +import SimplePage from "@/components/Page/SimplePage"; + +export const getServerSideProps = async (context) => ({ props: { ...(await getAuthServerSideProps(context)) } }); + +export default function CentreDAidePage() { + return ( + + + + + + Contactez notre équipe support + +

+ Merci de prendre contact avec l’équipe du Tableau de bord de l’apprentissage. Afin que nous puissions vous + répondre dans les meilleurs délais, veuillez indiquer vos coordonnées et sélectionner ci-dessous le sujet + pour lequel vous souhaitez nous contacter. +

+ + + Avez-vous consulté notre FAQ ? + +