Skip to content

Commit

Permalink
fix: wordings
Browse files Browse the repository at this point in the history
  • Loading branch information
jonat75 committed May 24, 2024
1 parent f7bbc8e commit 400ded7
Show file tree
Hide file tree
Showing 30 changed files with 148 additions and 127 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,7 @@ export interface MonCompteProProfile {
updated_at: Date;
}

const ISSUER = (appTest: boolean) => `https://app${appTest ? "-test" : ""}.moncomptepro.beta.gouv.fr`;
const ISSUER = (appTest: boolean) => `https://app${appTest ? "-sandbox" : ""}.moncomptepro.beta.gouv.fr`;
export function MonCompteProProvider<P extends MonCompteProProfile>(
options: OAuthUserConfig<P> & { appTest?: boolean },
): OAuthConfig<P> {
Expand Down
123 changes: 67 additions & 56 deletions packages/app/src/app/(default)/cgu/page.tsx
Original file line number Diff line number Diff line change
@@ -1,9 +1,8 @@
import { Container, Grid, GridCol } from "@design-system";
import Link from "next/link";

const title = "Conditions d’utilisation";
const title = "Conditions générales d’utilisation";
const description =
"Les présentes conditions générales d’utilisation (dites «CGU») fixent le cadre juridique de la Plateforme EgaPro et définissent les conditions d’accès et d’utilisation des services par l’Utilisateur.";
"Les présentes conditions générales d’utilisation (ci-après « CGU ») fixent le cadre juridique de la Plateforme Egapro et définissent les conditions d’accès et d’utilisation des services par l’Utilisateur.";

export const metadata = {
title,
Expand All @@ -20,91 +19,97 @@ const Cgu = () => {
<Grid align="center">
<GridCol md={10} lg={8}>
<h1>{title}</h1>
<p>{description}</p>
<h2>Article 1 - Champ d’application</h2>
<p>
Les présentes conditions générales d’utilisation (dites «CGU») fixent le cadre juridique de la Plateforme
EgaPro et définissent les conditions d’accès et d’utilisation des services par l’Utilisateur.
La Plateforme Egapro est d’accès libre et gratuit à tout Utilisateur. La simple visite de la Plateforme
suppose l’acceptation par tout Utilisateur des présentes conditions générales d’utilisation.
</p>
<h2>Champ d’application</h2>
<p>
La Plateforme est d’accès libre et gratuit à tout Utilisateur. La simple visite de la Plateforme suppose
l’acceptation par tout Utilisateur des présentes conditions générales d’utilisation.
L’inscription sur la Plateforme peut entraîner l’application de conditions spécifiques, listées dans les
présentes CGU.
</p>
<h2>Article 2 - Objet</h2>
<p>
L’inscription sur la Plateforme peut entraîner l’application de conditions spécifiques, listées dans les
présentes Conditions d’Utilisation.
La Plateforme Egapro permet aux entreprises de déclarer aux services du ministre chargé du travail leurs
résultats de l’index de l’égalité professionnelle entre les femmes et les hommes et, si elles sont
assujetties, de la représentation équilibrée entre les femmes et les hommes dans les postes de direction.
</p>
<p>
L’index de l’égalité professionnelle a été conçu pour faire progresser au sein des entreprises d’au moins 50
salariés l’égalité salariale entre les femmes et les hommes. Il permet de mesurer, en toute transparence,
les écarts de rémunération entre les sexes et de mettre en évidence leurs points de progression. Lorsque des
disparités salariales sont constatées, des mesures de correction doivent être prises.
</p>
<h2>Objet</h2>
<p>EgaPro met en place deux index conçus pour lutter contre l’inégalité entre les femmes et les hommes.</p>
<p>
Le premier Index Egapro est un outil de calcul et de déclaration visant à faire progresser au sein des
entreprises l’égalité salariale entre les femmes et les hommes. Il permet aux entreprises de mesurer, en
toute transparence, les écarts de rémunération entre les sexes et de mettre en évidence leurs points de
progression
Afin d’accélérer la participation des femmes à la vie économique et professionnelle, l’obligation de
représentation équilibrée, parmi les cadres dirigeants et les membres des instances dirigeantes, vise à une
plus grande égalité entre les femmes et les hommes dans les entreprises qui emploient au moins 1000 salariés
pour le troisième exercice consécutif. Cette obligation est accompagnée d’une obligation de transparence en
la matière.
</p>
<h2>Article 3 - Fonctionnalités</h2>
<h3 className="fr-text--xl">
3.1 Egapro sur l’index de l’égalité professionnelle entre les femmes et les hommes
</h3>
<p>
Le second Index Egapro est un outil visant à faire progresser au sein des entreprises l’égalité
professionnelle et la représentation équilibrée femmes‑hommes dans les services dirigeants. Il permet aux
entreprises de mesurer, en toute transparence, les écarts de représentation dans les services dirigeants et
de mettre en évidence leurs points de progression.
Egapro a mis en place un simulateur-calculateur, permettant à tout Utilisateur, sans se créer de compte et
après avoir saisi les données de son entreprise, d’obtenir automatiquement le résultat de chacun des
indicateurs et de l’index. A la suite des calculs, l’Utilisateur a la possibilité de procéder à la
déclaration.
</p>
<h2>Fonctionnalités</h2>
<h3 className="fr-text--xl">Index EgaPro sur l’égalité professionnelle</h3>
<p>
EgaPro a mis en place un simulateur en ligne grâce auquel tout utilisateur, sans se créer de compte, peut
remplir des informations concernant son entreprise afin de calculer son Index et de connaître les écarts de
salaire entre hommes et femmes au sein de sa structure. Dans le cadre du remplissage de ce formulaire,
l’utilisateur a la possibilité de renseigner son adresse email afin d’enregistrer les données fournies et de
remplir sa déclaration plus tard.
Egapro a mis en place une déclaration pour que l’Utilisateur puisse transmettre aux services du ministre
chargé du travail les résultats obtenus aux indicateurs et à l’index ainsi que toutes les informations
nécessaires.
</p>
<p>
EgaPro propose également un formulaire de déclaration de cet Index afin qu’il soit transmis au Ministère du
Travail.
Egapro utilise le service d’identification MonComptePro pour garantir l’appartenance de l’Utilisateur à
l’entreprise déclarante. L’Utilisateur doit créer un compte MonComptePro, en renseignant notamment son
adresse mail, et s’identifier avec ce compte pour déclarer sur Egapro.
</p>
<p>La plateforme propose également une FAQ et un moteur de recherche.</p>
<h3 className="fr-text--xl">
Index EgaPro sur la représentation équilibrée entre hommes et femmes au sein des postes dirigeants des
3.2 Egapro sur la représentation équilibrée entre les femmes et les hommes dans les postes de direction des
grandes entreprises
</h3>
<p>
EgaPro a mis en place une déclaration sur la représentation équilibrée afin qu’elle soit transmise au
Ministère du Travail. Tout utilisateur, sans se créer de compte, peut remplir des informations le
concernant, des informations concernant son entreprise en prenant en compte la période de référence, les
écarts de représentation. Le déclarant renseigne son nom, prénom, son adresse e-mail, son numéro de
téléphone mais également le numéro Siren de son entreprise afin de réaliser sa déclaration concernant la
représentation équilibrée.
Egapro a mis en place une déclaration pour que l’Utilisateur puisse transmettre aux services du ministre
chargé du travail les écarts éventuels de représentation parmi les cadres dirigeants et les membres des
instances dirigeantes de son entreprise ainsi que toutes les informations nécessaires.
</p>
<p>
Le code du logiciel est libre, et peut donc être vérifié et amélioré par tous&nbsp;:{" "}
<Link href="https://egapro.travail.gouv.fr/">https://egapro.travail.gouv.fr/</Link>
Egapro utilise le service d’identification MonComptePro pour garantir l’appartenance de l’Utilisateur à
l’entreprise déclarante. L’Utilisateur doit créer un compte MonComptePro, en renseignant notamment son
adresse mail, et s’identifier avec ce compte pour déclarer sur Egapro.
</p>
<h2>Responsabilités</h2>
<h3 className="fr-text--xl">EgaPro</h3>
<h2>Article 4 - Responsabilités</h2>
<h3 className="fr-text--xl">4.1 L’Éditeur de la Plateforme</h3>
<p>
Les sources des informations diffusées sur la Plateforme sont réputées fiables mais le site ne garantit pas
Les sources des informations diffusées sur Egapro sont réputées fiables mais la Plateforme ne garantit pas
qu’il soit exempt de défauts, d’erreurs ou d’omissions.
</p>
<p>
Tout événement dû à un cas de force majeure ayant pour conséquence un dysfonctionnement de la Plateforme et
sous réserve de toute interruption ou modification en cas de maintenance, n'engage pas la responsabilité de
EgaPro.
l’Éditeur.
</p>
<p>L’éditeur s’engage à mettre en œuvre toutes mesures appropriées, afin de protéger les données traitées.</p>
<p>L’Éditeur s’engage à mettre en œuvre toutes mesures appropriées, afin de protéger les données traitées.</p>
<p>
L’éditeur s’engage à la sécurisation de la Plateforme, notamment en prenant toutes les mesures nécessaires
Il s’engage à la sécurisation de la Plateforme, notamment en prenant toutes les mesures nécessaires
permettant de garantir la sécurité et la confidentialité des informations fournies.
</p>
<p>
L’éditeur fournit les moyens nécessaires et raisonnables pour assurer un accès continu, sans contrepartie
L’Éditeur fournit les moyens nécessaires et raisonnables pour assurer un accès continu, sans contrepartie
financière, à la Plateforme. Il se réserve la liberté de faire évoluer, de modifier ou de suspendre, sans
préavis, la plateforme pour des raisons de maintenance ou pour tout autre motif jugé nécessaire.
</p>
<p>
Ce site peut mettre à disposition des liens pouvant orienter l’utilisateur vers des sites réalisés par des
tiers extérieurs. Ces tiers sont les seuls responsables du contenu publié par leur soin. L’équipe n’a aucun
contrôle sur le contenu de ces sites, ces contenus ne sauraient engager la responsabilité de
l’administration.
La Plateforme peut mettre à disposition des liens pouvant orienter l’Utilisateur vers des sites réalisés par
des tiers extérieurs. Ces tiers sont les seuls responsables du contenu publié par leur soin. L’équipe de la
Plateforme n’a aucun contrôle sur le contenu de ces sites, ces contenus ne sauraient engager la
responsabilité de l’Éditeur.
</p>
<h3 className="fr-text--xl">L’Utilisateur</h3>
<h3 className="fr-text--xl">4.2 L’Utilisateur</h3>
<p>
Toute information transmise par l'Utilisateur est de sa seule responsabilité. Il est rappelé que toute
personne procédant à une fausse déclaration pour elle-même ou pour autrui s’expose, notamment, aux sanctions
Expand All @@ -117,13 +122,19 @@ const Cgu = () => {
</p>
<p>
Le contenu de l'Utilisateur peut être à tout moment et pour n'importe quelle raison supprimé ou modifié par
le site, sans préavis.
l’équipe de la Plateforme, sans préavis.
</p>
<p>
L’Utilisateur s’engage être titulaire d’un mandat ou d’une autorisation pour réaliser la déclaration au nom
et pour le compte de l’entreprise.
</p>
<h2>Mise à jour des conditions d’utilisation</h2>
<p>La violation de ces dispositions entrainera la suspension du compte.</p>
<h2>Article 5 - Mise à jour des conditions générales d’utilisation</h2>
<p>
Les termes des présentes conditions d’utilisation peuvent être amendés à tout moment, sans préavis, en
fonction des modifications apportées à la plateforme, de l’évolution de la législation ou pour tout autre
motif jugé nécessaire.
Les termes des présentes conditions générales d’utilisation peuvent être amendés à tout moment, sans
préavis, en fonction des modifications apportées à la plateforme, de l’évolution de la législation ou pour
tout autre motif jugé nécessaire. Chaque modification donne lieu à une nouvelle version qui est acceptée par
les parties.
</p>
</GridCol>
</Grid>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,7 @@ export const EditButton = ({ déclaration, year }: PropsWithChildren<Props>) =>

const date = déclaration["declaration-existante"].date;

const olderThanOneYear = session?.data?.staff
const olderThanOneYear = session?.data?.user.staff
? false
: date === undefined || isAfter(new Date(), add(new Date(date), { years: 1 }));
const saveAndGoNext = async (
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -82,13 +82,13 @@ const RecapPage = async ({ params: { siren, year: strYear } }: NextServerPagePro

const declarationDate = déclaration["declaration-existante"].date;

const canEdit = canEditSiren(session?.user)(siren);

if (!declarationDate) return <SkeletonForm fields={8} />;
const olderThanOneYear = session?.user?.staff
? false
: isAfter(new Date(), add(new Date(declarationDate), { years: 1 }));

// eslint-disable-next-line @typescript-eslint/ban-ts-comment
// @ts-expect-error
const olderThanOneYear = session?.data?.user.staff
? false
: declarationDate === undefined || isAfter(new Date(), add(new Date(declarationDate), { years: 1 }));
return (
<>
<Alert
Expand All @@ -104,24 +104,20 @@ const RecapPage = async ({ params: { siren, year: strYear } }: NextServerPagePro
/>
<RecapDeclaration déclaration={déclaration} />

{canEdit && year && (
<>
<EditButton déclaration={déclaration} year={year} />

<Grid align="center" mb="6w">
<GridCol md={10} lg={8}>
<DownloadCard
title="Télécharger le récapitulatif"
endDetail="PDF"
href={`/index-egapro/declaration/${siren}/${year}/pdf`}
filename={`declaration_egapro_${siren}_${year + 1}.pdf`}
fileType="application/pdf"
desc={`Année ${year + 1} au titre des données ${year}`}
/>
</GridCol>
</Grid>
</>
)}
<EditButton déclaration={déclaration} year={year} />

<Grid align="center" mb="6w">
<GridCol md={10} lg={8}>
<DownloadCard
title="Télécharger le récapitulatif"
endDetail="PDF"
href={`/index-egapro/declaration/${siren}/${year}/pdf`}
filename={`declaration_egapro_${siren}_${year + 1}.pdf`}
fileType="application/pdf"
desc={`Année ${year + 1} au titre des données ${year}`}
/>
</GridCol>
</Grid>
</>
);
};
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -202,6 +202,7 @@ export const AugmentationEtPromotionsForm = () => {
name="résultat"
hintText={"(il s'agit de l'écart absolu de taux d’augmentations, arrondi à la première décimale.)"}
min={0}
roundNumber={1}
/>

<Input
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -172,7 +172,7 @@ export const AugmentationsForm = () => {
{estCalculable === "oui" && (
<>
<p>
<strong>Écarts de taux d’augmentations par CSP en %</strong>
<strong>Écarts de taux d’augmentations par CSP en % *</strong>
</p>

<p>
Expand All @@ -198,6 +198,7 @@ export const AugmentationsForm = () => {
label="Résultat final obtenu à l'indicateur en % *"
name="résultat"
min={0}
roundNumber={1}
hintText={
"(il s'agit de la valeur absolue de l’écart global de taux d’augmentations, arrondie à la première décimale.)"
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -26,7 +26,7 @@ const CommencerPage = async () => {
const isEmailLogin = config.api.security.auth.isEmailLogin;

const monCompteProHost = `https://app${
config.api.security.moncomptepro.appTest ? "-test" : ""
config.api.security.moncomptepro.appTest ? "-sandbox" : ""
}.moncomptepro.beta.gouv.fr`;

if (!session.user.companies.length && !session.user.staff) {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@ const DeclarantPage = async () => {
const session = await getServerSession(authConfig);
if (!session) return null;
const monCompteProUrl = `https://app${
config.api.security.moncomptepro.appTest ? "-test" : ""
config.api.security.moncomptepro.appTest ? "-sandbox" : ""
}.moncomptepro.beta.gouv.fr`;

return (
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -204,6 +204,7 @@ export const PromotionsForm = () => {
label="Résultat final obtenu à l'indicateur en % *"
name="résultat"
min={0}
roundNumber={1}
hintText={
"(il s'agit de la valeur absolue de l’écart global de taux de promotions, arrondie à la première décimale.)"
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@ import { SkeletonForm } from "@components/utils/skeleton/SkeletonForm";
import { ClientAnimate } from "@design-system/utils/client/ClientAnimate";
import { zodResolver } from "@hookform/resolvers/zod";
import { useDeclarationFormManager } from "@services/apiClient/useDeclarationFormManager";
import { isBefore, parseISO } from "date-fns";
import { isBefore, isEqual, parseISO } from "date-fns";
import { produce } from "immer";
import { redirect, useRouter } from "next/navigation";
import { FormProvider, useForm } from "react-hook-form";
Expand Down Expand Up @@ -72,10 +72,10 @@ export const PublicationForm = () => {
const choixSiteWeb = watch("choixSiteWeb");

const onSubmit = async (data: FormType) => {
if (isBefore(parseISO(data.date), parseISO(endOfPeriod))) {
if (isBefore(parseISO(data.date), parseISO(endOfPeriod)) || isEqual(parseISO(data.date), parseISO(endOfPeriod))) {
return setError("date", {
type: "manual",
message: `La date de publication ne peut précéder la date de fin de la période de référence (${formatIsoToFr(
message: `La date de publication doit être postérieure à la date de fin de la période de référence (${formatIsoToFr(
endOfPeriod,
)})`,
});
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -107,6 +107,7 @@ export const RemunerationResultatForm = () => {
label="Résultat final obtenu à l'indicateur en % *"
name="résultat"
min={0}
roundNumber={1}
hintText={
"(il s'agit de la valeur absolue de l’écart global de rémunération, arrondie à la première décimale)"
}
Expand Down
Loading

0 comments on commit 400ded7

Please sign in to comment.