diff --git a/src/components/LegalNotice/LegalNoticeContent.tsx b/src/components/LegalNotice/LegalNoticeContent.tsx index fb937b997ad995178c6b255ef1708c0111d286f7..66b9eedd6ec4dec558b5ba1e43b59191aa239b46 100644 --- a/src/components/LegalNotice/LegalNoticeContent.tsx +++ b/src/components/LegalNotice/LegalNoticeContent.tsx @@ -56,7 +56,8 @@ const LegalNoticeContent: React.FC = () => { <li>{t('legal.part2-2-1')}</li> <li>{t('legal.part2-2-2')}</li> <li>{t('legal.part2-2-3')}</li> - <li>{t('legal.part2-2-4')}</li> + <li>{decoreText(t('legal.part2-2-4'))}</li> + <li>{t('legal.part2-2-5')}</li> </ul> </li> <li>{t('legal.part2-3')}</li> diff --git a/src/components/LegalNotice/__snapshots__/LegalNoticeContent.spec.tsx.snap b/src/components/LegalNotice/__snapshots__/LegalNoticeContent.spec.tsx.snap index e651a2e9d8e99c743716ec0ac8e7a2033a7e9783..a76fba0e2b2c4883efee3ad5e2947ab25bd39a79 100644 --- a/src/components/LegalNotice/__snapshots__/LegalNoticeContent.spec.tsx.snap +++ b/src/components/LegalNotice/__snapshots__/LegalNoticeContent.spec.tsx.snap @@ -132,6 +132,9 @@ exports[`LegalNoticeContent component should be rendered correctly 1`] = ` <li> legal.part2-2-4 </li> + <li> + legal.part2-2-5 + </li> </ul> </li> <li> diff --git a/src/components/Terms/__snapshots__/LegalNoticeModal.spec.tsx.snap b/src/components/Terms/__snapshots__/LegalNoticeModal.spec.tsx.snap index ad5889b4e59e39795b2a2cbf15bfd1be1da30a81..71a3d1250070ddacba5bb3616288ca56ed646521 100644 --- a/src/components/Terms/__snapshots__/LegalNoticeModal.spec.tsx.snap +++ b/src/components/Terms/__snapshots__/LegalNoticeModal.spec.tsx.snap @@ -557,6 +557,9 @@ exports[`LegalNoticeModal component should be rendered correctly 1`] = ` <li> legal.part2-2-4 </li> + <li> + legal.part2-2-5 + </li> </ul> </li> <li> @@ -1166,6 +1169,9 @@ exports[`LegalNoticeModal component should be rendered correctly 1`] = ` <li> legal.part2-2-4 </li> + <li> + legal.part2-2-5 + </li> </ul> </li> <li> diff --git a/src/constants/config.json b/src/constants/config.json index 74719b52c7278646b9367eda91cc48a933aad2f4..490b05a52c0c8270376e9b449a0806e47d8b17a4 100644 --- a/src/constants/config.json +++ b/src/constants/config.json @@ -44,5 +44,5 @@ } } ], - "termsVersion": "1.0.0" + "termsVersion": "2.0.0" } diff --git a/src/locales/fr.json b/src/locales/fr.json index 390739d587ab11cb46fbbfeaae259d8d3587815b..5e963956b6dbd9e67655c78eaf6713fc1a7ad12f 100644 --- a/src/locales/fr.json +++ b/src/locales/fr.json @@ -589,10 +589,10 @@ "item3": "De l’évolution de vos consommations, des nouveautés et de la qualité du service via une lettre mensuelle. Vous pouvez à tout moment vous désinscrire de cette lettre via la page Options du service.", "part4": "Vos données privées de consommation d’énergie et d’eau sont récupérées, sauvegardées et stockées dans votre cloud personnel à votre initiative sans visibilité de la Métropole de Lyon sur leur contenu.", "part5": "Il en est de même pour les données privées de composition du logement et du foyer, fournies par vos soins. Elles restent également sans visibilité de la Métropole de Lyon sur leur contenu. ", - "part6": "Dans le cadre de l’évaluation et de l’amélioration du service, des données d’utilisation anonymisées seront remontées à des fins d’exploitation statistiques. La récupération de ces statistiques anonymisées nous permettra de s’assurer du bon fonctionnement technique de la connexion à vos données de consommation ainsi que d’évaluer l’impact global en termes de baisse des consommations énergétiques de notre service (Plus d’informations sur la manière dont votre anonymat est bien préservé dans ce processus <a href=\"https://ecolyo.com/cloud_statistiques.html\">ici</a>).", - "part7": "Au sein de votre cloud personnel, vous pouvez à tout moment exercer vos droits d’accès, de rectification, de portabilité, de limitation et d’opposition. ", + "part6": "Dans le cadre de l’évaluation et de l’amélioration du service, des données d’utilisation anonymisées et pseudonymisées seront remontées à des fins d’exploitation statistiques. La récupération de ces statistiques nous permettra de s’assurer du bon fonctionnement technique de la connexion à vos données de consommation, d’évaluer globalement l’usage de l’application via des mesures d’audience ainsi que d’évaluer l’impact global en termes de baisse des consommations énergétiques de notre service.", + "part7": "Au sein de votre cloud personnel, vous pouvez à tout moment exercer vos droits d’accès, de rectification, de portabilité, de limitation et d’opposition en consultant notamment la page Options.", "part8": "Vous pouvez également exercer vos droits d’accès, de rectification, de limitation, d’opposition et d’effacement de vos données personnelles en contactant directement le Délégué à la Protection des Données par courrier en écrivant à l’adresse :", - "part9": "Métropole de Lyon – Délégué à la Protection des Données - Direction des Affaires Juridiques et de la Commande Publique - 20, rue du Lac - BP 33569 - 69505 Lyon Cedex 03 ", + "part9": "Métropole de Lyon – Délégué à la Protection des Données - Direction des Assemblées, des Affaires Juridiques et des Assurances - 20, rue du Lac - BP 33569 - 69505 Lyon Cedex 03 ", "part10": "ou en ligne, au moyen du formulaire disponible à l'adresse suivante : ", "link1": "<a href=\"https://demarches.toodego.com/sve/proteger-mes-donnees-personnelles/\">https://demarches.toodego.com/sve/proteger-mes-donnees-personnelles/</a>", "validDataConsent": "Je consens au traitement de mes données tel que décrit ci-dessus.", @@ -610,7 +610,7 @@ "gcu": { "title": "Conditions générales d’utilisation du service", "subtitle": "Envie de prendre le temps de relire ces CGU ces Conditions Générales d’Utilisation plus tard ? Vous pourrez les retrouver dans la page Options du service.", - "version": "V2.0 du 20.08.2021", + "version": "3.0 du 27.06.2022", "content": { "title1": "Ecolyo, késako ?", "part1_1": "Ecolyo est un service proposé par la Métropole de Lyon vous permettant de suivre au même endroit vos consommations d’électricité, de gaz et d’eau, en kWh, en litres, en euros et à différentes échelles de temps. Ce service vous permet également de participer à des défis individuels et vous offre une analyse de vos consommations. Des éco-gestes vous sont aussi proposés afin de vous permettre de réduire vos consommations.", @@ -648,7 +648,7 @@ "part6_3_list1": "En réponse à vos demandes, si vous avez pris l’initiative de nous contacter. ", "part6_3_list2": "En cas de problème majeur avec la gestion de votre compte.", "part6_3_list3": "De l’évolution de vos consommations, des nouveautés et de la qualité du service via une lettre mensuelle. Vous pouvez à tout moment vous désinscrire de cette lettre via la page Options du service.", - "part6_4": "Par ailleurs, et dans le cadre de l’évaluation et de l’amélioration du service, des données d’utilisation anonymisées seront remontées à des fins d’exploitation statistiques. La récupération de ces statistiques anonymisées nous permettra de s’assurer du bon fonctionnement technique de la connexion à vos données de consommation ainsi que d’évaluer l’impact global en termes de baisse des consommations énergétiques de notre service", + "part6_4": "Par ailleurs, et dans le cadre de l’évaluation et de l’amélioration du service, des données d’utilisation anonymisées seront remontées à des fins d’exploitation statistiques. La récupération de ces statistiques anonymisées nous permettra de s’assurer du bon fonctionnement technique de la connexion à vos données de consommation ainsi que d’évaluer l’impact global en termes de baisse des consommations énergétiques de notre service. Parmi ces statistiques, des mesures d’audience de la fréquentation des différentes pages du service sont réalisées. Vous pouvez, via la page Options, à tout instant, décider de vous opposer à la récupération de ces données d’utilisation.", "title8": "Encore des questions ?", "part8_1": "N’hésitez pas à consulter la FAQ présente dans le service (page Options) ou à nous contacter via le formulaire de contact (la petite bulle jaune) présente sur l’ensemble des pages.", "part8_2": "Dernière option, contactez-nous directement à <a href=\"mailto:ecolyo@grandlyon.com\">ecolyo(at)grandlyon.com</a>.", @@ -775,7 +775,7 @@ "legal": { "read_legal": "Lire les mentions légales", "title_legal": "Mentions légales", - "version": "V2.0 du 20.08.2021", + "version": "V3.0 du 27.06.2022", "site": "Site du service Ecolyo : <a href=\"https://ecolyo.com/\"> https://ecolyo.com/</a>", "adress": "Métropole de Lyon - 20, rue du Lac – CS 33569 - 69505 Lyon cedex 03", "phone": "Tél : (33) 4 78 63 40 40", @@ -801,7 +801,8 @@ "part2-2-1": "Les données de compte de l’usager renseignées par l’usager au sein de son espace de cloud personnel Grand Lyon à des fins de gestion du compte et de communication avec l’usager ;", "part2-2-2": "Les données privées de consommation d’énergie et d’eau dont la récupération, la sauvegarde, le stockage, la synchronisation et le partage sur la plateforme de cloud personnel sont initiés par l’usager sans visibilité de la Métropole de Lyon sur leur contenu.", "part2-2-3": "Les données privées sur la composition du logement et du foyer de l’utilisateur, fournies par l’utilisateur lui-même au sein du service, sont traitées par le service sans visibilité de la Métropole de Lyon sur leur contenu.", - "part2-2-4": "Des métriques d’usage du service anonymisées et remontées périodiquement afin d’améliorer la qualité du service et d’évaluer son impact", + "part2-2-4": "Des métriques d’usage du service anonymisées et remontées périodiquement afin d’améliorer la qualité du service et d’évaluer son impact (Plus d’informations sur la manière dont votre anonymat est bien préservé dans ce processus <a href=\"https://ecolyo.com/cloud_statistiques.html\">ici</a>).", + "part2-2-5": "La Métropole réalise également des mesures d’audience à l’aide de la solution Matomo. Afin de vous fournir un meilleur service et d’améliorer votre expérience d'utilisateur, nous utilisons des solutions de mesure d’audience qui utilisent la technologie des « cookies », des fichiers texte qui sont enregistrés sur votre ordinateur et qui permettent de générer des informations envoyées aux serveurs de mesure d’audience. Sur ces serveurs, l’adresse IP est anonymisée. Les données recueillies ont uniquement pour finalité de permettre d'analyser la fréquentation de nos pages afin d'en améliorer le contenu. Il s'agit de statistiques agrégées permettant de connaître le nombre de visites et de visiteurs différents, les pages les plus populaires, les chemins préférés, les niveaux d'activité par jour de la semaine et par heure de la journée, les principales erreurs etc. Vous avez cependant le droit de vous opposer à l’utilisation de ces cookies, et donc au traitement de vos données personnelles de navigation, en vous rendant dans la page Options de notre service.", "part2-3": "L’usager est seul décisionnaire des finalités d’utilisation qu’il souhaite définir pour le traitement de ses données personnelles de consommation, à la suite de leur transmission par les partenaires du service Ecolyo sur son cloud personnel. Ainsi, dans le cadre de l’utilisation d’Ecolyo, l’usager ne recevra les données des partenaires du service : Enedis, GRDF et Eau du Grand Lyon seulement qu’à sa demande expresse après la saisie de ses identifiants.", "part2-4": "L’utilisateur est donc le seul à accéder :", "part2-4-1": "À ses données de consommation d’électricité horaires, journalières, hebdomadaires, mensuelles et annuelles.", @@ -810,7 +811,7 @@ "part2-5": "Les engagements et responsabilités de la Métropole de Lyon concernant la protection des données et la confidentialité des données Ecolyo sont précisés dans les Mentions légales et les conditions d’utilisation du cloud personnel Grand Lyon qui accueille aujourd’hui le service Ecolyo et sans lequel le service ne peut pas fonctionner. Pour plus d’informations sur les engagements et responsabilités de la Métropole de Lyon concernant la protection et la confidentialité dans le cloud personnel, nous vous invitons à vous référer <a href=\"https://manager.cozygrandlyon.cloud/tos/266b4226-8417-42fb-b911-41e86dae8581.pdf?locale=fr\">aux mentions légales et CGU du cloud personnel métropolitain.</a> ", "part2-6": "Conformément à la loi 78-17 du 6 janvier 1978 modifiée relative à l’information, aux fichiers et aux libertés, vous disposez d’un droit d’accès, de rectification et d’opposition au traitement de vos données à caractère personnel. Votre cloud personnel vous permet d’exercer ces droits directement dans cet espace sur vos données de compte. S’agissant des données de consommations d’électricité et de gaz, l’utilisateur peut supprimer son consentement à partager ses données auprès d’Enedis et de GRDF.", "part2-7": "Vous pouvez également exercer vos droits d’accès, de rectification, de limitation, d’opposition et d’effacement de vos données personnelles en contactant directement le Délégué à la Protection des Données par courrier en écrivant à l’adresse :", - "part2-8": "Métropole de Lyon – Délégué à la Protection des Données - Direction des Affaires Juridiques et de la Commande Publique - 20, rue du Lac - BP 33569 - 69505 Lyon Cedex 03 ou en ligne, au moyen du formulaire disponible à l'adresse suivante : <a href=\"https://demarches.toodego.com/sve/proteger-mes-donnees-personnelles/\">https://demarches.toodego.com/sve/proteger-mes-donnees-personnelles/.</a>", + "part2-8": "Métropole de Lyon – Délégué à la Protection des Données - Direction des Assemblées, des Affaires Juridiques et des Assurances - 20, rue du Lac - BP 33569 - 69505 Lyon Cedex 03 ou en ligne, au moyen du formulaire disponible à l'adresse suivante : <a href=\"https://demarches.toodego.com/sve/proteger-mes-donnees-personnelles/\">https://demarches.toodego.com/sve/proteger-mes-donnees-personnelles/.</a>", "part2-9": "L’exercice de ces droits sur vos données personnelles auprès de la Métropole de Lyon concerne exclusivement les données traitées dans le cadre du service « Ecolyo ».", "title3": "Dispositions légales", "part3-1": "Les divers éléments du site web (la forme, la mise en page, le fonds, la structure …) sont protégés par le droit des dessins et modèles, le droit d’auteur, le droit des marques ainsi que le droit à l’image et ils ne peuvent être copiés ou imités en tout ou partie sauf autorisation expresse de la Métropole de Lyon.", diff --git a/src/services/terms.service.spec.ts b/src/services/terms.service.spec.ts index 6eeeba252479fcd575d3aab97f6cf9ee4c52dcee..2e84053ab5f1cae8aae6e07e3aacee54de4f49e1 100644 --- a/src/services/terms.service.spec.ts +++ b/src/services/terms.service.spec.ts @@ -2,6 +2,7 @@ import { QueryResult } from 'cozy-client' import { DateTime } from 'luxon' import { Term } from 'models' import mockClient from '../../tests/__mocks__/client' +import mockConfig from '../../tests/__mocks__/mockConfig.mock' import { mockOutdatedTerm, mockTermsData, @@ -14,6 +15,9 @@ const localSpy = jest.spyOn(DateTime, 'local') const termsService = new TermsService(mockClient) +jest.mock('../constants/config.json', () => mockConfig, { + virtual: true, +}) describe('TermsService service', () => { it('should get the last term', async () => { const mockQueryResult: QueryResult<Term[]> = { diff --git a/tests/__mocks__/mockConfig.mock.ts b/tests/__mocks__/mockConfig.mock.ts new file mode 100644 index 0000000000000000000000000000000000000000..5cede83e872fa85290a48038c65befd1b95a421b --- /dev/null +++ b/tests/__mocks__/mockConfig.mock.ts @@ -0,0 +1,49 @@ +const mockConfig = { + fluidConfig: [ + { + fluidTypeId: 0, + name: 'enedis', + coefficient: 0.174, + + startDate: '2021-08-01T00:00:00.000', + dataDelayOffset: 3, + konnectorConfig: { + name: 'Enedis', + oauth: true, + slug: 'enedisgrandlyon', + siteLink: 'https://mon-compte-client.enedis.fr/', + activation: 'https://mon-compte-particulier.enedis.fr/donnees/', + }, + }, + { + fluidTypeId: 1, + name: 'egl', + coefficient: 0.00319, + startDate: '2021-01-01T00:00:00.000', + dataDelayOffset: 5, + konnectorConfig: { + name: 'Eau du Grand Lyon', + oauth: false, + slug: 'eglgrandlyon', + siteLink: 'https://www.eaudugrandlyon.com/inscription.aspx#subc-now', + activation: '', + }, + }, + { + fluidTypeId: 2, + name: 'grdf', + coefficient: 0.1121, + startDate: '2021-10-01T00:00:00.000', + dataDelayOffset: 5, + konnectorConfig: { + name: 'GRDF', + oauth: true, + slug: 'grdfgrandlyon', + siteLink: 'https://monespace.grdf.fr/monespace/connexion', + activation: '', + }, + }, + ], + termsVersion: '1.0.0', +} +export default mockConfig