From 1e3f09f4ca3f78a210423ecb0da86c7b3b9bef6c Mon Sep 17 00:00:00 2001 From: BenoitSerrano Date: Wed, 25 Sep 2024 10:02:35 +0200 Subject: [PATCH] Rename agent connect to pro connect (#29) * replace apostrophes * rename AgentConnect to ProConnect everywhere * add new design for landing pages * make hide notice permanent * delete useless import * change icon on landing page * redirect help to crisp * delete mention simplification acces --- index.html | 2 +- src/Datas.tsx | 40 --- src/Pages/Cgu.tsx | 298 +++++++++--------- src/Pages/Eligibility/NotEligible.tsx | 24 -- src/Pages/Eligibility/PrivateResult.tsx | 7 + src/Pages/Eligibility/PublicResult.tsx | 10 + .../Eligibility/{Eligible.tsx => Result.tsx} | 11 +- src/Pages/Eligibility/WhoIsYourBoss.tsx | 60 +--- src/Pages/Eligibility/constants.ts | 15 +- src/Pages/HomeLayout.tsx | 77 ++--- src/Pages/InConstruction.tsx | 14 - src/Pages/LegalNotices.tsx | 6 +- src/Pages/Services/Services.tsx | 22 +- src/Pages/SiteMap.tsx | 5 - src/assets/checkIdentity.svg | 59 ++-- src/assets/coding.svg | 23 -- src/assets/construction.svg | 1 - src/assets/enjoyServices.svg | 60 ++-- src/assets/enterEmail.svg | 59 ++-- src/assets/howTo.svg | 11 + src/assets/news.svg | 35 ++ src/assets/proConnect.svg | 11 - src/assets/quelService.svg | 35 -- src/assets/welcome.svg | 76 +++-- src/components/Header/Header.tsx | 108 ++++--- src/components/Header/NameChangeNotice.tsx | 36 +++ .../HowDoesItWork/HowDoesItWork.tsx | 12 +- .../WantToIntegrateProConnect.tsx | 43 +++ src/data.ts | 23 ++ src/routes/Router.tsx | 21 +- 30 files changed, 601 insertions(+), 603 deletions(-) delete mode 100644 src/Datas.tsx delete mode 100644 src/Pages/Eligibility/NotEligible.tsx create mode 100644 src/Pages/Eligibility/PrivateResult.tsx create mode 100644 src/Pages/Eligibility/PublicResult.tsx rename src/Pages/Eligibility/{Eligible.tsx => Result.tsx} (80%) delete mode 100644 src/Pages/InConstruction.tsx delete mode 100644 src/assets/coding.svg delete mode 100644 src/assets/construction.svg create mode 100644 src/assets/howTo.svg create mode 100644 src/assets/news.svg delete mode 100644 src/assets/proConnect.svg delete mode 100644 src/assets/quelService.svg create mode 100644 src/components/Header/NameChangeNotice.tsx create mode 100644 src/components/WantToIntegrateProConnect/WantToIntegrateProConnect.tsx create mode 100644 src/data.ts diff --git a/index.html b/index.html index e8b0b7a..9ca1cc4 100644 --- a/index.html +++ b/index.html @@ -4,7 +4,7 @@ - AgentConnect + ProConnect
-

Conditions générales d’utilisation d’AgentConnect

+

Conditions générales d'utilisation de ProConnect

1. Préambule

- Ce document présente les modalités d’engagement à l’utilisation - d’AgentConnect (ci-après le « Service ») pour les Agents + Ce document présente les modalités d'engagement à l'utilisation de + ProConnect (ci-après le « Service ») pour les Agents utilisateurs du Service. Il traduit leurs engagements de chacun en vue - de faciliter et de simplifier l’accès aux outils utilisés dans le - cadre professionnel pour les Utilisateurs du Service. Il s’inscrit + de faciliter et de simplifier l'accès aux outils utilisés dans le + cadre professionnel pour les Utilisateurs du Service. Il s'inscrit dans le cadre juridique suivant :

2. Objet du document

Le présent document a pour objet de définir les conditions générales - d’utilisation (CGU) d’AgentConnect par les personnes disposant d’un + d'utilisation (CGU) de ProConnect par les personnes disposant d'un compte vérifié dans le cadre de leur activité professionnelle et - exerçant au sein de la fonction publique d’Etat (administrations - centrales, services déconcentrés) et des opérateurs de l’Etat présents - dans les annexes générales au projet de loi de finances de l’année. + exerçant au sein de la fonction publique d'Etat (administrations + centrales, services déconcentrés) et des opérateurs de l'Etat présents + dans les annexes générales au projet de loi de finances de l'année.

-

3. Service « AgentConnect »

+

3. Service « ProConnect »

3.1. Définitions

- AgentConnect est un service mis en œuvre par la DINUM, dénommé - ci-après le « Service ».
+ ProConnect est un service mis en œuvre par la DINUM, dénommé ci-après + le « Service ».
Un « Agent », ou « Agent utilisateur », - est toute personne physique disposant d’un compte vérifié dans le + est toute personne physique disposant d'un compte vérifié dans le cadre de son activité professionnelle.
Un « Fournisseur de Services » (FS), entité partenaire - du Service AgentConnect qui propose un ou des services nécessitant - l’authentification en ligne des personnes habilitées à y accéder. + du Service ProConnect qui propose un ou des services nécessitant + l'authentification en ligne des personnes habilitées à y accéder.
- L’ensemble des parties prenantes au Service (Fournisseurs d’Identité, + L'ensemble des parties prenantes au Service (Fournisseurs d'Identité, Fournisseurs de Services) sont dénommées ci-après les « Partenaires ».

-

3.2. Objet d’AgentConnect

+

3.2. Objet de ProConnect

- AgentConnect met en relation des Fournisseurs d’identité et des + ProConnect met en relation des Fournisseurs d'identité et des Fournisseurs de services pour permettre de simplifier le travail des agents.
- C’est un service proposé par la DINUM qui permet aux agents de se + C'est un service proposé par la DINUM qui permet aux agents de se connecter à des services en ligne proposés par des Fournisseurs de - services autorisés préalablement. AgentConnect s’appuie sur des - comptes d’identité numérique vérifiés par ses partenaires Fournisseurs - d’identité.
- Ainsi, AgentConnect permet de + services autorisés préalablement. ProConnect s'appuie sur des comptes + d'identité numérique vérifiés par ses partenaires Fournisseurs + d'identité.
+ Ainsi, ProConnect permet de « Contribuer au décloisonnement des applications ministérielles - et à leur ouverture à l’interministériel » + et à leur ouverture à l'interministériel » conformément aux 8 missions du programme TECH.GOUV.
- Le Service AgentConnect s’adresse aux agents de la fonction publique - de l’Etat et des opérateurs présents dans les annexes générales au - projet de loi de finances de l’année.
- L’utilisation du service AgentConnect est facultative et gratuite. + Le Service ProConnect s'adresse aux agents de la fonction publique de + l'Etat et des opérateurs présents dans les annexes générales au projet + de loi de finances de l'année.
+ L'utilisation du service ProConnect est facultative et gratuite.

3.3. Fonctionnalités

- AgentConnect est un dispositif facultatif d’identification et - d’authentification pour les agents exerçant au sein de la fonction - publique d’Etat (administrations centrales, services déconcentrés) et - des opérateurs de l’Etat. + ProConnect est un dispositif facultatif d'identification et + d'authentification pour les agents exerçant au sein de la fonction + publique d'Etat (administrations centrales, services déconcentrés) et + des opérateurs de l'Etat.
- « AgentConnect » repose sur une fédération d’identité. + « ProConnect » repose sur une fédération d'identité.
- Le service AgentConnect permet à un agent d’accéder à des services en + Le service ProConnect permet à un agent d'accéder à des services en ligne en utilisant un compte déjà existant sous réserve que ce compte - fourni par le fournisseur d’identité soit reconnu par le service - AgentConnect et que l’application dispose d’un bouton de connexion - AgentConnect. + fourni par le fournisseur d'identité soit reconnu par le service + ProConnect et que l'application dispose d'un bouton de connexion + ProConnect.

-

3.4. Modalités d’utilisation d’AgentConnect

+

3.4. Modalités d'utilisation de ProConnect

- L’accès au Service est ouvert à toute personne physique ayant la - qualité d’agent de la fonction publique d’Etat ou assimilé exerçant + L'accès au Service est ouvert à toute personne physique ayant la + qualité d'agent de la fonction publique d'Etat ou assimilé exerçant dans une administration centrale, un service déconcentré ou au sein - d’un opérateur de l’Etat. + d'un opérateur de l'Etat.
- Cinématique d’usage :
- Pour accéder à un service en ligne, l’Agent utilisateur clique sur le - bouton de connexion « AgentConnect » présent sur la page - dudit service puis sélectionne un compte (fournisseur d’identité) - qu’il connait parmi ceux proposés.
- AgentConnect le redirige alors vers la page de connexion de ce compte - pour que l’agent puisse s’identifier par un moyen d’authentification.{" "} + Cinématique d'usage :
+ Pour accéder à un service en ligne, l'Agent utilisateur clique sur le + bouton de connexion « ProConnect » présent sur la page dudit + service puis sélectionne un compte (fournisseur d'identité) qu'il + connait parmi ceux proposés.
+ ProConnect le redirige alors vers la page de connexion de ce compte + pour que l'agent puisse s'identifier par un moyen d'authentification.{" "}
- L’agent utilisateur accède alors au service souhaité une fois qu’il a + L'agent utilisateur accède alors au service souhaité une fois qu'il a été authentifié par le fournisseur de service à partir des données - d’identité transmises par le fournisseur d’identité à AgentConnect.{" "} + d'identité transmises par le fournisseur d'identité à ProConnect.{" "}
- En utilisant le Service, l’Agent utilisateur reconnait être informé de - l’échange et du partage des informations nécessaires à son + En utilisant le Service, l'Agent utilisateur reconnait être informé de + l'échange et du partage des informations nécessaires à son identification et authentification. Ainsi les informations suivantes sont nécessairement échangées :

- 1° Pour la gestion de l’identification de l’agent utilisateur : + 1° Pour la gestion de l'identification de l'agent utilisateur :

- 2° Pour la gestion de la traçabilité des accès de l’utilisateur les + 2° Pour la gestion de la traçabilité des accès de l'utilisateur les catégories de données à caractère personnel enregistrées sont les suivantes :

4. Roles et engagements de la DINUM @@ -246,39 +246,39 @@ function Cgu() { La DINUM met en œuvre et opère le Service conformément au cadre juridique en vigueur défini en préambule.
- La DINUM s’engage à prendre toutes les mesures nécessaires permettant + La DINUM s'engage à prendre toutes les mesures nécessaires permettant de garantir la sécurité et la confidentialité des informations échangées dans le cadre du service.
- La responsabilité de la DINUM ne peut être engagée en cas d’usurpation - d’identité ou de toute utilisation frauduleuse du Service. + La responsabilité de la DINUM ne peut être engagée en cas d'usurpation + d'identité ou de toute utilisation frauduleuse du Service.

4.2. Protection des données à caractère personnel

4.2.1 Obligations du responsable de traitement

- La DINUM s’engage à assurer la protection des données collectées dans - le cadre du Service mentionnées dans l’article 3.4 des présentes CGU. + La DINUM s'engage à assurer la protection des données collectées dans + le cadre du Service mentionnées dans l'article 3.4 des présentes CGU.
La DINUM est responsable de traitement des informations traitées dans - le cadre du Service et, à ce titre, s’engage à respecter les + le cadre du Service et, à ce titre, s'engage à respecter les obligations inhérentes à ce traitement, notamment celles relevant de - la loi n° 78-17 du 6 janvier 1978 relative à l’informatique aux + la loi n° 78-17 du 6 janvier 1978 relative à l'informatique aux fichiers et aux libertés.
- La DINUM s’engage notamment à empêcher que les données collectées + La DINUM s'engage notamment à empêcher que les données collectées soient déformées, endommagées ou que des tiers non autorisés y aient - accès, conformément aux dispositions prévues par l’ordonnance du 8 + accès, conformément aux dispositions prévues par l'ordonnance du 8 décembre 2005 relative aux échanges électroniques entre les usagers et les autorités administratives et entre les autorités administratives - et le décret n° 2010-112 du 2 février 2010 pris pour l’application des + et le décret n° 2010-112 du 2 février 2010 pris pour l'application des articles 9, 10 et 12 de cette ordonnance. A ce titre le Service est homologué.
- La DINUM et les Partenaires s’engagent à n’opérer aucune - commercialisation des informations transmises par l’Agent au moyen du + La DINUM et les Partenaires s'engagent à n'opérer aucune + commercialisation des informations transmises par l'Agent au moyen du Service, et à ne pas les communiquer à des tiers, en dehors des cas prévus par la loi.
- En cas d’incident lors de l’utilisation d’AgentConnect, l’Agent est + En cas d'incident lors de l'utilisation de ProConnect, l'Agent est invité à se rapprocher de son administration de rattachement, ou à défaut, du Fournisseur de Service auquel il souhaite accéder.

@@ -289,28 +289,28 @@ function Cgu() { loi n° 78-17 du 6 janvier 1978 -  relative à l’informatique aux fichiers et aux libertés. Ils - s’exercent, notamment s’agissant des données mentionnées au 2° de - l’article 3.4, auprès de la DINUM située au 20, avenue de Ségur, 75007 +  relative à l'informatique aux fichiers et aux libertés. Ils + s'exercent, notamment s'agissant des données mentionnées au 2° de + l'article 3.4, auprès de la DINUM située au 20, avenue de Ségur, 75007 Paris, par voie postale ou par voie électronique, dans les conditions - fixées par les modalités d’utilisation du Service. S’agissant des - données mentionnées au 1° de l’article 3.4, l’Agent utilisateur est + fixées par les modalités d'utilisation du Service. S'agissant des + données mentionnées au 1° de l'article 3.4, l'Agent utilisateur est invité à contacter les Partenaires, selon leurs propres modalités - d’exercice des droits. + d'exercice des droits.

4.2.3 Cookies

- Le Service n’utilise pas de cookies de mesure d’audience (nombre de + Le Service n'utilise pas de cookies de mesure d'audience (nombre de visites, pages consultées) mais utilise des cookies nécessaires au bon - fonctionnement du Service, respectant les conditions d’exemption du - consentement de l’internaute définies par la recommandation + fonctionnement du Service, respectant les conditions d'exemption du + consentement de l'internaute définies par la recommandation « Cookies » de la Commission nationale informatique et libertés (CNIL).

4.2.4 Durée de Conservation

Les durées de conservation des données traitées dans le cadre du - Service sont celles fixées à l’article 5 de la décision + Service sont celles fixées à l'article 5 de la décision n°DINUM-202106-01 du 1 er juin 2021.

@@ -324,21 +324,21 @@ function Cgu() { - Données relatives à AgentConnect pour la gestion de - l’identification de l’agent. + Données relatives à ProConnect pour la gestion de + l'identification de l'agent. Les données sont conservées pendant la durée de session de la personne concernée. Au-delà de cette durée, elles sont - détruites sans délai. En cas de déconnexion ou d’expiration de - la session, l’Agent doit dès lors se reconnecter à l’aide de + détruites sans délai. En cas de déconnexion ou d'expiration de + la session, l'Agent doit dès lors se reconnecter à l'aide de ses identifiants. - Données relatives à AgentConnect pour la gestion de la - traçabilité des accès de l’agent utilisateur les catégories de + Données relatives à ProConnect pour la gestion de la + traçabilité des accès de l'agent utilisateur les catégories de données à caractère personnel enregistrées sont les suivantes. @@ -350,9 +350,9 @@ function Cgu() {
-

5. Rôles et engagements de l’agent

+

5. Rôles et engagements de l'agent

- L’Agent utilisateur s’engage à respecter les présentes CGU et en + L'Agent utilisateur s'engage à respecter les présentes CGU et en particulier à :

- L’Agent est encouragé à se déconnecter à la fin de sa navigation, en - particulier lorsqu’il utilise le Service au travers d’un appareil + L'Agent est encouragé à se déconnecter à la fin de sa navigation, en + particulier lorsqu'il utilise le Service au travers d'un appareil public ou qui ne lui appartient pas.
Les données transmises aux services en ligne des Partenaires restent - de la responsabilité du Fournisseur d’identité, même si celles-ci sont + de la responsabilité du Fournisseur d'identité, même si celles-ci sont transmises par les moyens techniques mis à disposition dans le Service.
- L’Agent utilisateur peut à tout moment faire valoir ses droits d’accès - de rectification, et le cas échéant d’opposition et de suppression des + L'Agent utilisateur peut à tout moment faire valoir ses droits d'accès + de rectification, et le cas échéant d'opposition et de suppression des données à caractère personnel auprès des Partenaires. Il doit alors - s’adresser à son administration. + s'adresser à son administration.
Toute personne procédant à une fausse déclaration pour elle-même ou - pour autrui s’expose, notamment, aux sanctions prévues à l’article - 441-1 du Code Pénal, prévoyant des peines pouvant aller jusqu’à trois - ans d’emprisonnement et 45 000 euros d’amende. L’Agent utilisateur - s’engage également à ne jamais usurper l’identité d’un tiers en se - faisant passer pour celui-ci vis à vis du Service au risque d’encourir - un an d’emprisonnement et 15 000 euros d’amende sur la base de - l’article 226-4-1 du Code pénal.
- Il est également rappelé qu’est puni de trois ans d’emprisonnement et - de 45 000 euros d’amende le fait, par toute personne agissant sans - titre, de s’immiscer dans l’exercice d’une fonction publique en - accomplissant l’un des actes réservés au titulaire de cette fonction - sur la base de l’article 433-12 du Code pénal.
- En sa qualité d’Agent de la fonction publique, l’Utilisateur se doit + pour autrui s'expose, notamment, aux sanctions prévues à l'article + 441-1 du Code Pénal, prévoyant des peines pouvant aller jusqu'à trois + ans d'emprisonnement et 45 000 euros d'amende. L'Agent utilisateur + s'engage également à ne jamais usurper l'identité d'un tiers en se + faisant passer pour celui-ci vis à vis du Service au risque d'encourir + un an d'emprisonnement et 15 000 euros d'amende sur la base de + l'article 226-4-1 du Code pénal.
+ Il est également rappelé qu'est puni de trois ans d'emprisonnement et + de 45 000 euros d'amende le fait, par toute personne agissant sans + titre, de s'immiscer dans l'exercice d'une fonction publique en + accomplissant l'un des actes réservés au titulaire de cette fonction + sur la base de l'article 433-12 du Code pénal.
+ En sa qualité d'Agent de la fonction publique, l'Utilisateur se doit de respecter la loi n° 83-634 du 13 juillet 1983 portant droits et obligations des fonctionnaires, qui énonce notamment que : « Les fonctionnaires sont tenus au secret professionnel dans le cadre des règles instituées dans le code pénal. Les fonctionnaires doivent faire preuve de discrétion professionnelle pour tous les faits, informations ou documents dont ils ont connaissance dans - l’exercice ou à l’occasion de l’exercice de leurs fonctions + l'exercice ou à l'occasion de l'exercice de leurs fonctions […] ».

6. Accessibilité et disponibilité

- La loi n° 2005-102 du 11 février 2005 pour l’égalité des droits et des + La loi n° 2005-102 du 11 février 2005 pour l'égalité des droits et des chances, la participation et la citoyenneté des personnes handicapées - et son décret d’application n° 2009-546 du 14 mai 2009 font de - l’accessibilité une exigence pour tous les services de communication - publique en ligne de l’État, des collectivités territoriales et des + et son décret d'application n° 2009-546 du 14 mai 2009 font de + l'accessibilité une exigence pour tous les services de communication + publique en ligne de l'État, des collectivités territoriales et des établissements publics qui en dépendent. La DINUM est donc engagée - dans un processus d’amélioration de l’accessibilité de l’ensemble de + dans un processus d'amélioration de l'accessibilité de l'ensemble de ses sites.
La DINUM se réserve la liberté de faire évoluer, de modifier ou de suspendre, sans préavis, le Service pour des raisons de maintenance ou - pour tout autre motif jugé nécessaire. Une page d’information est - alors affichée à l’Agent utilisateur lui mentionnant cette + pour tout autre motif jugé nécessaire. Une page d'information est + alors affichée à l'Agent utilisateur lui mentionnant cette indisponibilité.
- L’indisponibilité ne donne droit à aucune indemnité. + L'indisponibilité ne donne droit à aucune indemnité.

7. Acceptation – modification – résiliation

- Les présentes conditions d’utilisation s’imposent à tout Agent + Les présentes conditions d'utilisation s'imposent à tout Agent utilisateur du Service.
- Les termes des présentes conditions générales d’utilisation peuvent - être amendés à tout moment. Il appartient à l’Agent utilisateur de - s’informer des conditions générales d’utilisation du Service en + Les termes des présentes conditions générales d'utilisation peuvent + être amendés à tout moment. Il appartient à l'Agent utilisateur de + s'informer des conditions générales d'utilisation du Service en vigueur.
La DINUM se réserve le droit de bloquer, sans préavis ni indemnité - d’aucune sorte, tout Agent utilisateur soupçonné d’une utilisation + d'aucune sorte, tout Agent utilisateur soupçonné d'une utilisation illicite ou frauduleuse ainsi que contraire aux présentes CGU.

Historique

diff --git a/src/Pages/Eligibility/NotEligible.tsx b/src/Pages/Eligibility/NotEligible.tsx deleted file mode 100644 index a5feadd..0000000 --- a/src/Pages/Eligibility/NotEligible.tsx +++ /dev/null @@ -1,24 +0,0 @@ -import notEligible from "../../assets/notEligible.svg"; - -export function NotEligible() { - return ( -
-
-
-
-
- -
-
-

Vous n'êtes pas éligible.

-

- AgentConnect est réservé aux agents publics. Les associations et - entreprises privées ne peuvent pas l'utiliser. -

-
-
-
-
-
- ); -} diff --git a/src/Pages/Eligibility/PrivateResult.tsx b/src/Pages/Eligibility/PrivateResult.tsx new file mode 100644 index 0000000..238d418 --- /dev/null +++ b/src/Pages/Eligibility/PrivateResult.tsx @@ -0,0 +1,7 @@ +import Result from "./Result"; + +export function PrivateResult() { + return ( + + ); +} diff --git a/src/Pages/Eligibility/PublicResult.tsx b/src/Pages/Eligibility/PublicResult.tsx new file mode 100644 index 0000000..26f48df --- /dev/null +++ b/src/Pages/Eligibility/PublicResult.tsx @@ -0,0 +1,10 @@ +import Result from "./Result"; + +export function PublicResult() { + return ( + + ); +} diff --git a/src/Pages/Eligibility/Eligible.tsx b/src/Pages/Eligibility/Result.tsx similarity index 80% rename from src/Pages/Eligibility/Eligible.tsx rename to src/Pages/Eligibility/Result.tsx index 56d6657..1d4bc40 100644 --- a/src/Pages/Eligibility/Eligible.tsx +++ b/src/Pages/Eligibility/Result.tsx @@ -1,6 +1,7 @@ import Button from "@codegouvfr/react-dsfr/Button"; import Lottie from "react-lottie"; import eligibleAnimation from "../../assets/Success.json"; +import WantToIntegrateProConnect from "../../components/WantToIntegrateProConnect/WantToIntegrateProConnect"; const defaultOptions = { loop: true, @@ -11,7 +12,7 @@ const defaultOptions = { }, }; -export function Eligible() { +function Result(props: { subtitle: string }) { return (
@@ -22,10 +23,7 @@ export function Eligible() {

Bonne nouvelle, vous êtes éligible !

-

- Vous pouvez dès maintenant utiliser AgentConnect pour vous - connecter à de nombreux outils et sites de l'administration -

+

{props.subtitle}

@@ -33,6 +31,9 @@ export function Eligible() {
+ ); } + +export default Result; diff --git a/src/Pages/Eligibility/WhoIsYourBoss.tsx b/src/Pages/Eligibility/WhoIsYourBoss.tsx index 22392c0..1afe451 100644 --- a/src/Pages/Eligibility/WhoIsYourBoss.tsx +++ b/src/Pages/Eligibility/WhoIsYourBoss.tsx @@ -1,14 +1,16 @@ -import eligibility from "../../assets/eligibility.svg"; import { RadioButtons } from "@codegouvfr/react-dsfr/RadioButtons"; import Button from "@codegouvfr/react-dsfr/Button"; -import coding from "../../assets/coding.svg"; import { useState } from "react"; import { bosses, bossNames, bossNameType } from "./constants"; +import eligibility from "../../assets/eligibility.svg"; +import WantToIntegrateProConnect from "../../components/WantToIntegrateProConnect/WantToIntegrateProConnect"; +import { useNavigate } from "react-router-dom"; export function WhoIsYourBoss() { const [selectedOption, setSelectedOption] = useState< bossNameType | undefined >(undefined); + const navigate = useNavigate(); return ( <>
@@ -34,51 +36,23 @@ export function WhoIsYourBoss() { })} state="default" /> - - - -
- - - -
-
-
-
- -
-
-

- Vous voulez intégrer AgentConnect sur votre site ? -

+ +
-
- - - - - - -
+ ); + + function navigateToResult() { + if (!selectedOption) { + return; + } + + navigate(`/eligibilite/${bosses[selectedOption].category}`); + } } diff --git a/src/Pages/Eligibility/constants.ts b/src/Pages/Eligibility/constants.ts index d023558..004f553 100644 --- a/src/Pages/Eligibility/constants.ts +++ b/src/Pages/Eligibility/constants.ts @@ -8,37 +8,38 @@ const bossNames = [ ] as const; type bossNameType = (typeof bossNames)[number]; +type categoryType = "public" | "private"; const bosses: Record< bossNameType, { label: string; - isEligible: boolean; + category: categoryType; } > = { fonction_publique_etat: { label: "Fonction publique d'État", - isEligible: true, + category: "public", }, fonction_publique_territoriale: { label: "Fonction publique territoriale", - isEligible: true, + category: "public", }, fonction_publique_hospitaliere: { label: "Fonction publique hospitalière", - isEligible: true, + category: "public", }, operateur_etat: { label: "Opérateur de l'État", - isEligible: true, + category: "public", }, autre_structure_public: { label: "Autre structure du service public", - isEligible: true, + category: "public", }, asso_entreprise_prive: { label: "Association ou entreprise privée", - isEligible: false, + category: "private", }, }; diff --git a/src/Pages/HomeLayout.tsx b/src/Pages/HomeLayout.tsx index a5d9781..cbbd177 100644 --- a/src/Pages/HomeLayout.tsx +++ b/src/Pages/HomeLayout.tsx @@ -3,9 +3,9 @@ import welcome from "../assets/welcome.svg"; import "./layout.css"; import { fr } from "@codegouvfr/react-dsfr"; import Button from "@codegouvfr/react-dsfr/Button"; -import whatService from "../assets/quelService.svg"; +import news from "../assets/news.svg"; import HowDoesItWork from "../components/HowDoesItWork/HowDoesItWork"; -import { tilesData } from "../Datas"; +import { tilesData } from "../data"; function HomeLayout() { return ( @@ -15,17 +15,16 @@ function HomeLayout() {

- Avec le bouton  - AgentConnect + ProConnect ,
- nous vous identifions
- sur les sites de l'administration. + la solution officielle qui vous identifie
+ en tant que professionnel.

@@ -37,41 +36,47 @@ function HomeLayout() {
-
+
-

- A quels services en ligne pouvez-vous vous connecter ? -

+

AgentConnect devient ProConnect !

+

Pourquoi ce changement ?

- Grâce au bouton AgentConnect, accédez à tous les outils de la - DINUM, -
à la Suite Numérique et à tous les services - interministériels de nos partenaires. + Les services de connexion pour les pros évoluent ! + MonComptePro, InclusionConnect et AgentConnect fusionnent pour + devenir ProConnect.

- - Découvrez l’annuaire des services  - - -
- +
+
diff --git a/src/Pages/InConstruction.tsx b/src/Pages/InConstruction.tsx deleted file mode 100644 index 6f263d1..0000000 --- a/src/Pages/InConstruction.tsx +++ /dev/null @@ -1,14 +0,0 @@ -import construction from "../assets/construction.svg"; - -function InConstruction() { - return ( -
-

Page en construction

-
- -
-
- ); -} - -export default InConstruction; diff --git a/src/Pages/LegalNotices.tsx b/src/Pages/LegalNotices.tsx index bbb81ee..ce2c746 100644 --- a/src/Pages/LegalNotices.tsx +++ b/src/Pages/LegalNotices.tsx @@ -4,10 +4,10 @@ function LegalNotices() {

Mentions légales

Éditeur

- Ce site est édité par le programme AgentConnect de la direction + Ce site est édité par le programme ProConnect de la direction interministérielle du numérique (DINUM), un service du Premier ministre.{" "}
- AgentConnect/DINUM + ProConnect/DINUM
20 avenue de Ségur 75007 Paris
Tel. accueil : 01.71.21.01.70
@@ -24,7 +24,7 @@ function LegalNotices() {

Ce site est développé en mode agile, selon un principe d’amélioration continue. Le suivi éditorial et graphique est assuré au quotidien par - AgentConnect. + ProConnect.

Propriété intellectuelle et liens vers agentconnect.gouv.fr diff --git a/src/Pages/Services/Services.tsx b/src/Pages/Services/Services.tsx index f0f1de8..976c669 100644 --- a/src/Pages/Services/Services.tsx +++ b/src/Pages/Services/Services.tsx @@ -2,7 +2,6 @@ import { ToggleSwitch } from "@codegouvfr/react-dsfr/ToggleSwitch"; import Card from "../../components/Card/Card"; import "./services.css"; import { useState } from "react"; -import coding from "../../assets/coding.svg"; import { SERVICES_LIST } from "./constants"; function Services() { @@ -19,9 +18,7 @@ function Services() { return (

Annuaire des services

-

- Connectez-vous à tous ces sites avec AgentConnect ! -

+

Connectez-vous à tous ces sites avec ProConnect !

)} -
-
-
-
- -
-
-

- Vous voulez intégrer AgentConnect sur votre site ? -

-
-
-
-
); diff --git a/src/Pages/SiteMap.tsx b/src/Pages/SiteMap.tsx index 54d3480..4ab7840 100644 --- a/src/Pages/SiteMap.tsx +++ b/src/Pages/SiteMap.tsx @@ -23,11 +23,6 @@ function SiteMap() { Feuille de route -
  • - - Aide - -
  • Plan du site diff --git a/src/assets/checkIdentity.svg b/src/assets/checkIdentity.svg index a6cdd40..4759f18 100644 --- a/src/assets/checkIdentity.svg +++ b/src/assets/checkIdentity.svg @@ -1,27 +1,34 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/src/assets/coding.svg b/src/assets/coding.svg deleted file mode 100644 index b0b4ddb..0000000 --- a/src/assets/coding.svg +++ /dev/null @@ -1,23 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - diff --git a/src/assets/construction.svg b/src/assets/construction.svg deleted file mode 100644 index 92ee86d..0000000 --- a/src/assets/construction.svg +++ /dev/null @@ -1 +0,0 @@ - diff --git a/src/assets/enjoyServices.svg b/src/assets/enjoyServices.svg index 59fbd05..330a693 100644 --- a/src/assets/enjoyServices.svg +++ b/src/assets/enjoyServices.svg @@ -1,35 +1,35 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - + + diff --git a/src/assets/enterEmail.svg b/src/assets/enterEmail.svg index 61cf320..1e186b8 100644 --- a/src/assets/enterEmail.svg +++ b/src/assets/enterEmail.svg @@ -1,27 +1,34 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/src/assets/howTo.svg b/src/assets/howTo.svg new file mode 100644 index 0000000..46319f1 --- /dev/null +++ b/src/assets/howTo.svg @@ -0,0 +1,11 @@ + + + + + + + + + + + diff --git a/src/assets/news.svg b/src/assets/news.svg new file mode 100644 index 0000000..47b1041 --- /dev/null +++ b/src/assets/news.svg @@ -0,0 +1,35 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/src/assets/proConnect.svg b/src/assets/proConnect.svg deleted file mode 100644 index c367364..0000000 --- a/src/assets/proConnect.svg +++ /dev/null @@ -1,11 +0,0 @@ - - - - - - - - - - - diff --git a/src/assets/quelService.svg b/src/assets/quelService.svg deleted file mode 100644 index 06111c7..0000000 --- a/src/assets/quelService.svg +++ /dev/null @@ -1,35 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/src/assets/welcome.svg b/src/assets/welcome.svg index 76d646d..b4e8071 100644 --- a/src/assets/welcome.svg +++ b/src/assets/welcome.svg @@ -1,30 +1,48 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/src/components/Header/Header.tsx b/src/components/Header/Header.tsx index 7256436..c99d4fb 100644 --- a/src/components/Header/Header.tsx +++ b/src/components/Header/Header.tsx @@ -1,65 +1,69 @@ import { Header as DsfrHeader } from "@codegouvfr/react-dsfr/Header"; +import NameChangeNotice from "./NameChangeNotice"; function Header() { const currentURL = window.location.pathname; return ( - - République -
    - Française - - } - homeLinkProps={{ - to: "/", - title: "Accueil - AgentConnect", - }} - id="fr-header-header-with-quick-access-items-nav-items" - navigation={[ - { - isActive: currentURL === "/", - linkProps: { - to: "/", - target: "_self", + <> + + + République +
    + Française + + } + homeLinkProps={{ + to: "/", + title: "Accueil - ProConnect", + }} + id="fr-header-header-with-quick-access-items-nav-items" + navigation={[ + { + isActive: currentURL === "/", + linkProps: { + to: "/", + target: "_self", + }, + text: "Accueil", }, - text: "Accueil", - }, - { - isActive: currentURL === "/services", - linkProps: { - to: "/services", - target: "_self", + { + isActive: currentURL === "/services", + linkProps: { + to: "/services", + target: "_self", + }, + text: "Annuaire des services", }, - text: "Annuaire des services", - }, - ]} - quickAccessItems={[ - { - iconId: "fr-icon-code-s-slash-line", - linkProps: { - to: "https://github.com/numerique-gouv/agentconnect-documentation/blob/main/README.md#-agentconnect---documentation", + ]} + quickAccessItems={[ + { + iconId: "fr-icon-code-s-slash-line", + linkProps: { + to: "https://github.com/numerique-gouv/agentconnect-documentation/blob/main/README.md#-agentconnect---documentation", + }, + text: "Intégrer ProConnect sur votre site", }, - text: "Intégrer AgentConnect sur votre site", - }, - { - iconId: "fr-icon-timer-line", - linkProps: { - to: "/feuille-de-route", + { + iconId: "fr-icon-timer-line", + linkProps: { + to: "/feuille-de-route", + }, + text: "Feuille de route", }, - text: "Feuille de route", - }, - { - iconId: "fr-icon-question-line", - linkProps: { - to: "/aide", + { + iconId: "fr-icon-question-line", + linkProps: { + to: "https://proconnect.crisp.help", + }, + text: "Aide", }, - text: "Aide", - }, - ]} - serviceTagline="Identifie les professionnels sur les sites de l'administation" - serviceTitle="AgentConnect" - /> + ]} + serviceTagline="la solution officielle qui vous identifie en tant que professionnel" + serviceTitle="ProConnect" + /> + ); } diff --git a/src/components/Header/NameChangeNotice.tsx b/src/components/Header/NameChangeNotice.tsx new file mode 100644 index 0000000..e6bf750 --- /dev/null +++ b/src/components/Header/NameChangeNotice.tsx @@ -0,0 +1,36 @@ +import { Notice } from "@codegouvfr/react-dsfr/Notice"; +import { useState } from "react"; + +const LOCAL_STORAGE_SHOULD_HIDE_NAME_CHANGE_KEY = + "LOCAL_STORAGE_SHOULD_HIDE_NAME_CHANGE"; + +function NoticeTitle() { + return ( + + AgentConnect devient ProConnect !{" "} +
    En savoir plus + + ); +} + +function NameChangeNotice() { + const shouldHideNameChange = !!localStorage.getItem( + LOCAL_STORAGE_SHOULD_HIDE_NAME_CHANGE_KEY + ); + const [isClosed, setIsClosed] = useState(shouldHideNameChange); + return ( + } + /> + ); + + function onClose() { + setIsClosed(true); + localStorage.setItem(LOCAL_STORAGE_SHOULD_HIDE_NAME_CHANGE_KEY, "1"); + } +} + +export default NameChangeNotice; diff --git a/src/components/HowDoesItWork/HowDoesItWork.tsx b/src/components/HowDoesItWork/HowDoesItWork.tsx index 8205730..fcdd1bb 100644 --- a/src/components/HowDoesItWork/HowDoesItWork.tsx +++ b/src/components/HowDoesItWork/HowDoesItWork.tsx @@ -1,17 +1,15 @@ -import React from "react"; import Tile from "../Tiles/Tile"; +import { tyleDataType } from "../../data"; -function HowDoesItWork({ tiles }: any) { +function HowDoesItWork({ tiles }: { tiles: tyleDataType[] }) { return (

    Comment ça marche ?

    - {tiles.map( - ({ illu, content }: any, index: React.Key | null | undefined) => ( - - ) - )} + {tiles.map(({ illu, content }, index) => ( + + ))}
    diff --git a/src/components/WantToIntegrateProConnect/WantToIntegrateProConnect.tsx b/src/components/WantToIntegrateProConnect/WantToIntegrateProConnect.tsx new file mode 100644 index 0000000..6df766b --- /dev/null +++ b/src/components/WantToIntegrateProConnect/WantToIntegrateProConnect.tsx @@ -0,0 +1,43 @@ +import Button from "@codegouvfr/react-dsfr/Button"; + +function WantToIntegrateProConnect() { + return ( +
    +
    +
    +
    +

    + Vous voulez intégrer ProConnect sur votre site ? +

    +
    +
    +
    + +
    + ); +} +export default WantToIntegrateProConnect; diff --git a/src/data.ts b/src/data.ts new file mode 100644 index 0000000..9de9b47 --- /dev/null +++ b/src/data.ts @@ -0,0 +1,23 @@ +import HowTo from "./assets/howTo.svg"; +import EnterEmail from "./assets/enterEmail.svg"; +import Identity from "./assets/checkIdentity.svg"; +import EnjoyServices from "./assets/enjoyServices.svg"; + +export type tyleDataType = { illu: string; content: string }; + +export const tilesData: tyleDataType[] = [ + { illu: HowTo, content: "Cliquez sur le bouton Proconnect." }, + { + illu: EnterEmail, + content: "Entrez votre adresse email professionnelle.", + }, + { + illu: Identity, + content: "Nous vérifions votre identité et votre éligibilité.", + }, + { + illu: EnjoyServices, + content: + "Accédez à tous les services partenaires en un clic tout au long de la journée !", + }, +]; diff --git a/src/routes/Router.tsx b/src/routes/Router.tsx index 303e17a..6d6a1da 100644 --- a/src/routes/Router.tsx +++ b/src/routes/Router.tsx @@ -4,13 +4,12 @@ import HomeLayout from "../Pages/HomeLayout"; import Roadmap from "../Pages/Roadmap"; import Services from "../Pages/Services"; import SiteMap from "../Pages/SiteMap"; -import InConstruction from "../Pages/InConstruction"; import Cgu from "../Pages/Cgu"; import LegalNotices from "../Pages/LegalNotices"; import Stats from "../Pages/Stats"; import EligibilityTest from "../Pages/Eligibility/EligibilityTest"; -import { Eligible } from "../Pages/Eligibility/Eligible"; -import { NotEligible } from "../Pages/Eligibility/NotEligible"; +import { PublicResult } from "../Pages/Eligibility/PublicResult"; +import { PrivateResult } from "../Pages/Eligibility/PrivateResult"; const router = createBrowserRouter([ { @@ -38,18 +37,18 @@ const router = createBrowserRouter([ ), }, { - path: "/eligibilite/eligible", + path: "/eligibilite/public", element: ( - + ), }, { - path: "/eligibilite/non-eligible", + path: "/eligibilite/private", element: ( - + ), }, @@ -61,14 +60,6 @@ const router = createBrowserRouter([ ), }, - { - path: "/aide", - element: ( - - - - ), - }, { path: "/plan-du-site", element: (