From 3de07e8c17d7170ddb4f87f8b4a9f21a114f8af8 Mon Sep 17 00:00:00 2001 From: Yvv Date: Mon, 2 Mar 2026 09:45:15 +0100 Subject: [PATCH] Fix: accents manquants dans seed + labels type visibles MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - Reseed avec tous les accents français corrigés (à, é, è, ê, î, ô) - Labels type-étiquette: taille augmentée, fond accent léger, visible Co-Authored-By: Claude Opus 4.6 --- backend/seed.py | 114 +++++++++--------- .../components/documents/EngagementCard.vue | 13 +- 2 files changed, 65 insertions(+), 62 deletions(-) diff --git a/backend/seed.py b/backend/seed.py index 03bad6e..801bf76 100644 --- a/backend/seed.py +++ b/backend/seed.py @@ -8,7 +8,7 @@ Sources: - Licence v0.4.0 (in progress): https://forum.monnaie-libre.fr/t/32375 - Runtime Upgrade process template -Genesis références: +Genesis references: - Licence repo: https://git.duniter.org/documents/g1_monetary_license - g1vote: https://git.duniter.org/tools/g1vote-view - g1vote live: https://g1vote-view-237903.pages.duniter.org/ @@ -256,12 +256,12 @@ GENESIS_CERTIFICATION = { }, { "title": "Règles de modifications (annexe licence)", - "url": "https://forum.monnaie-libre.fr/t/prepa-règles-de-modifications-annexe-licence-1/32409", + "url": "https://forum.monnaie-libre.fr/t/prepa-regles-de-modifications-annexe-licence-1/32409", "status": "in_progress", "posts": 9, }, { - "title": "Vote nuance licence", + "title": "Vote nuancé licence", "url": "https://forum.monnaie-libre.fr/t/processus-de-validation-licence-par-vote-nuance/31729", "status": "référence", }, @@ -271,7 +271,7 @@ GENESIS_CERTIFICATION = { "le texte de remplacement est intégré au document officiel. " "Le hash IPFS du document mis à jour est ancré on-chain via system.remark. " "Les applications (Cesium, Gecko) pointent vers le dépôt git officiel " - "qui est synchronisé avec l'etat valide par les votes." + "qui est synchronisé avec l'état validé par les votes." ), "contributors": [ {"name": "1000i100", "role": "Pilote principal, rédacteur"}, @@ -300,7 +300,7 @@ ENGAGEMENT_CERTIFICATION_ITEMS: list[dict] = [ "Cet acte est de fait l'unique relation contractuelle de notre " "toile fiduciaire. Toute certification doit s'accompagner de la " "transmission de ce document, dont le certificateur doit s'assurer " - "qu'il a ete étudié, compris et accepté par le certifié." + "qu'il a été étudié, compris et accepté par le certifié." ), }, { @@ -317,7 +317,7 @@ ENGAGEMENT_CERTIFICATION_ITEMS: list[dict] = [ "**2.** Derrière cet être humain se trouve **une seule et unique** " "clé publique créatrice de monnaie.\n\n" "La certification est un acte technique et fiduciaire, " - "pas un acte d'adhesion morale ou de sympathie." + "pas un acte d'adhésion morale ou de sympathie." ), }, # =================================================================== @@ -344,8 +344,8 @@ ENGAGEMENT_CERTIFICATION_ITEMS: list[dict] = [ "section_tag": "fondamental", "inertia_preset": "standard", "current_text": ( - "Je m'engage sur l'honneur a n'avoir et n'avoir jamais " - "qu'un seul et unique compte cocreateur de monnaie G1." + "Je m'engage sur l'honneur à n'avoir et n'avoir jamais " + "qu'un seul et unique compte cocréateur de monnaie G1." ), }, { @@ -356,7 +356,7 @@ ENGAGEMENT_CERTIFICATION_ITEMS: list[dict] = [ "section_tag": "fondamental", "inertia_preset": "standard", "current_text": ( - "Je m'engage sur l'honneur a ne certifier que des personnes " + "Je m'engage sur l'honneur à ne certifier que des personnes " "physiques qui respectent scrupuleusement ces deux présents " "engagements fondamentaux." ), @@ -374,7 +374,7 @@ ENGAGEMENT_CERTIFICATION_ITEMS: list[dict] = [ "current_text": ( "Les engagements techniques définissent les obligations " "pratiques et vérifiables du certificateur pour garantir " - "la qualite de la toile de confiance." + "la qualité de la toile de confiance." ), }, { @@ -401,14 +401,14 @@ ENGAGEMENT_CERTIFICATION_ITEMS: list[dict] = [ "inertia_preset": "standard", "current_text": ( "J'ai personnellement vérifié que c'est bien cette clé publique " - "que je m'apprête a certifier, en la comparant avec la personne " + "que je m'apprête à certifier, en la comparant avec la personne " "concernée et non par un intermédiaire." ), }, { "position": "E5", "item_type": "clause", - "title": "Joignabilité reciproque", + "title": "Joignabilité réciproque", "sort_order": 9, "section_tag": "technique", "inertia_preset": "standard", @@ -435,13 +435,13 @@ ENGAGEMENT_CERTIFICATION_ITEMS: list[dict] = [ { "position": "E7", "item_type": "clause", - "title": "Rencontre physique ou verification multi-canaux", + "title": "Rencontre physique ou vérification multi-canaux", "sort_order": 11, "section_tag": "technique", "inertia_preset": "standard", "current_text": ( "J'ai rencontré la personne physiquement (préférable), **OU** " - "j'ai vérifié a distance le lien personne / clé publique par " + "j'ai vérifié à distance le lien personne / clé publique par " "plusieurs moyens de communication différents et indépendants : " "courrier + réseau social + forum + email + visio + téléphone." ), @@ -458,7 +458,7 @@ ENGAGEMENT_CERTIFICATION_ITEMS: list[dict] = [ "inertia_preset": "standard", "current_text": ( "Les pratiques suivantes sont fortement recommandées pour " - "garantir la qualite et la sécurité de la toile de confiance." + "garantir la qualité et la sécurité de la toile de confiance." ), }, { @@ -482,10 +482,10 @@ ENGAGEMENT_CERTIFICATION_ITEMS: list[dict] = [ "section_tag": "technique", "inertia_preset": "standard", "current_text": ( - "Avant toute certification, vérifiez si le compte a deja " + "Avant toute certification, vérifiez si le compte a déjà " "reçu des certifications et de qui elles proviennent. " "Contactez les certifieurs existants en cas de doute. " - "Si un certifieurs existant ne connait pas la personne, " + "Si un certifieurs existant ne connaît pas la personne, " "alertez immédiatement les experts de la communauté." ), }, @@ -521,7 +521,7 @@ ENGAGEMENT_CERTIFICATION_ITEMS: list[dict] = [ { "position": "K1", "item_type": "preamble", - "title": "Règles abregees de la toile de confiance", + "title": "Règles abrégées de la toile de confiance", "sort_order": 17, "section_tag": "conclusion", "inertia_preset": "standard", @@ -668,7 +668,7 @@ ENGAGEMENT_CERTIFICATION_ITEMS: list[dict] = [ { "position": "X2.3", "item_type": "verification", - "title": "Questions sécurité (reponse attendue : OUI)", + "title": "Questions sécurité (réponse attendue : OUI)", "sort_order": 26, "section_tag": "annexe", "inertia_preset": "low", @@ -676,8 +676,8 @@ ENGAGEMENT_CERTIFICATION_ITEMS: list[dict] = [ "**Si NON, la certification est déconseillée.**\n\n" "- La personne a généré son document de révocation\n" "- La personne maîtrise effectivement son compte " - "(test de transfert effectue)\n" - "- La personne sait ou retrouver le présent acte d'engagement " + "(test de transfert effectué)\n" + "- La personne sait où retrouver le présent acte d'engagement " "dans sa version à jour" ), }, @@ -771,7 +771,7 @@ ENGAGEMENT_CERTIFICATION_ITEMS: list[dict] = [ "current_text": ( "Le réglage de l'inertie définit la difficulté de remplacement " "de chaque section du document. Ce réglage est lui-même soumis " - "a l'inertie la plus élevée, pour empêcher la modification " + "à l'inertie la plus élevée, pour empêcher la modification " "des règles de modification." ), }, @@ -843,8 +843,8 @@ async def seed_document_engagement_certification( description=( "Acte d'engagement des certificateurs de la toile de confiance G1. " "Document modulaire sous vote permanent : chaque item peut être " - "remplace par une alternative qui atteint le seuil d'adoption. " - "Construit a partir de la Licence G1 v0.3.0, des discussions " + "remplacé par une alternative qui atteint le seuil d'adoption. " + "Construit à partir de la Licence G1 v0.3.0, des discussions " "communautaires et de la position 'Acte d'engagement' (Yvv)." ), genesis_json=genesis, @@ -887,7 +887,7 @@ ENGAGEMENT_FORGERON_ITEMS: list[dict] = [ "title": "Intention et motivation", "sort_order": 1, "current_text": ( - "J'ai clarifié ce qui me motive a devenir forgeron, " + "J'ai clarifié ce qui me motive à devenir forgeron, " "j'en assume les raisons." ), }, @@ -914,10 +914,10 @@ ENGAGEMENT_FORGERON_ITEMS: list[dict] = [ { "position": "A4", "item_type": "verification", - "title": "Phrase de récupération aleatoire", + "title": "Phrase de récupération aléatoire", "sort_order": 4, "current_text": ( - "Je confirme que ma phrase de récupération a ete générée " + "Je confirme que ma phrase de récupération a été générée " "aléatoirement et n'est pas une phrase choisie par moi." ), }, @@ -944,10 +944,10 @@ ENGAGEMENT_FORGERON_ITEMS: list[dict] = [ { "position": "A7", "item_type": "verification", - "title": "Noeud a jour et synchronisé", + "title": "Noeud à jour et synchronisé", "sort_order": 7, "current_text": ( - "Je gère déjà un noeud a jour, correctement synchronisé et " + "Je gère déjà un noeud à jour, correctement synchronisé et " "joignable par les autres noeuds du réseau." ), }, @@ -957,7 +957,7 @@ ENGAGEMENT_FORGERON_ITEMS: list[dict] = [ "title": "API unsafe non exposée", "sort_order": 8, "current_text": ( - "J'ai veille a ne pas exposer publiquement l'api unsafe " + "J'ai veillé à ne pas exposer publiquement l'api unsafe " "de mon noeud validateur." ), }, @@ -987,8 +987,8 @@ ENGAGEMENT_FORGERON_ITEMS: list[dict] = [ "title": "Réactivité 24h", "sort_order": 11, "current_text": ( - "Je m'engage a répondre en moins de 24h aux forgerons " - "quand je suis déclare online." + "Je m'engage à répondre en moins de 24h aux forgerons " + "quand je suis déclaré online." ), }, # --- Aspirant Forgeron : Contact --- @@ -1030,24 +1030,24 @@ ENGAGEMENT_FORGERON_ITEMS: list[dict] = [ "sort_order": 15, "current_text": ( "J'ai bien compris le fonctionnement d'un réseau blockchain " - "Duniter et le role du validateur." + "Duniter et le rôle du validateur." ), }, - # --- Aspirant Forgeron : Pieges (expected: NON) --- + # --- Aspirant Forgeron : Pièges (expected: NON) --- { "position": "A16", "item_type": "rule", - "title": "Piege : harcèlement", + "title": "Piège : harcèlement", "sort_order": 16, "current_text": ( "[Piège - réponse attendue : NON] " - "J'insiste, harcele ou fais pression pour être certifié forgeron." + "J'insiste, harcèle ou fais pression pour être certifié forgeron." ), }, { "position": "A17", "item_type": "rule", - "title": "Piege : gloire et pouvoir", + "title": "Piège : gloire et pouvoir", "sort_order": 17, "current_text": ( "[Piège - réponse attendue : NON] " @@ -1071,7 +1071,7 @@ ENGAGEMENT_FORGERON_ITEMS: list[dict] = [ "title": "Intention du certifié questionnée", "sort_order": 19, "current_text": ( - "J'ai questionné l'intention du certifié a rejoindre " + "J'ai questionné l'intention du certifié à rejoindre " "les forgerons et vérifié sa motivation." ), }, @@ -1088,7 +1088,7 @@ ENGAGEMENT_FORGERON_ITEMS: list[dict] = [ { "position": "C3", "item_type": "verification", - "title": "Phrase aleatoire du certifié", + "title": "Phrase aléatoire du certifié", "sort_order": 21, "current_text": ( "Le certifié m'assure que son compte forgeron est issu d'une " @@ -1111,18 +1111,18 @@ ENGAGEMENT_FORGERON_ITEMS: list[dict] = [ "title": "Noeud du certifié vérifié", "sort_order": 23, "current_text": ( - "J'ai vérifié que le certifié gère déjà un noeud a jour, " + "J'ai vérifié que le certifié gère déjà un noeud à jour, " "correctement synchronisé et joignable." ), }, { "position": "C6", "item_type": "clause", - "title": "Configuration du certifié notee", + "title": "Configuration du certifié notée", "sort_order": 24, "current_text": ( "J'ai noté le style de configuration du noeud du certifié " - "(matériel, OS, hébergément)." + "(matériel, OS, hébergement)." ), }, { @@ -1141,8 +1141,8 @@ ENGAGEMENT_FORGERON_ITEMS: list[dict] = [ "title": "Risques offline connus du certifié", "sort_order": 26, "current_text": ( - "J'ai vérifié avec le certifié qu'il connait les risques " - "d'être déclare offline et les consequences." + "J'ai vérifié avec le certifié qu'il connaît les risques " + "d'être déclaré offline et les conséquences." ), }, # --- Certificateur Forgeron : Contact --- @@ -1152,7 +1152,7 @@ ENGAGEMENT_FORGERON_ITEMS: list[dict] = [ "title": "Joindre les certifiés", "sort_order": 27, "current_text": ( - "Je sais joindre efficacement les forgerons que j'ai certifies." + "Je sais joindre efficacement les forgerons que j'ai certifiés." ), }, { @@ -1170,7 +1170,7 @@ ENGAGEMENT_FORGERON_ITEMS: list[dict] = [ "title": "Contact sous 24h en cas de défaut", "sort_order": 29, "current_text": ( - "Je m'engage a contacter sous 24h ce forgeron si un défaut " + "Je m'engage à contacter sous 24h ce forgeron si un défaut " "concerne son noeud." ), }, @@ -1178,11 +1178,11 @@ ENGAGEMENT_FORGERON_ITEMS: list[dict] = [ { "position": "C12", "item_type": "verification", - "title": "Engagements acceptes par le certifié", + "title": "Engagements acceptés par le certifié", "sort_order": 30, "current_text": ( - "J'ai vérifié que le certifié a accepte les engagements " - "forgerons integralement." + "J'ai vérifié que le certifié a accepté les engagements " + "forgerons intégralement." ), }, { @@ -1191,7 +1191,7 @@ ENGAGEMENT_FORGERON_ITEMS: list[dict] = [ "title": "Règles consultables par le certifié", "sort_order": 31, "current_text": ( - "J'ai vérifié que le certifié sait ou consulter les règles " + "J'ai vérifié que le certifié sait où consulter les règles " "détaillées de la TdC forgeron." ), }, @@ -1201,15 +1201,15 @@ ENGAGEMENT_FORGERON_ITEMS: list[dict] = [ "title": "Délais connus du certifié", "sort_order": 32, "current_text": ( - "J'ai vérifié que le certifié connait les délais de passage " + "J'ai vérifié que le certifié connaît les délais de passage " "en ligne et hors ligne." ), }, - # --- Certificateur Forgeron : Pieges (expected: NON) --- + # --- Certificateur Forgeron : Pièges (expected: NON) --- { "position": "C15", "item_type": "rule", - "title": "Piege : certification sous pression", + "title": "Piège : certification sous pression", "sort_order": 33, "current_text": ( "[Piège - réponse attendue : NON] " @@ -1219,11 +1219,11 @@ ENGAGEMENT_FORGERON_ITEMS: list[dict] = [ { "position": "C16", "item_type": "rule", - "title": "Piege : avantage personnel", + "title": "Piège : avantage personnel", "sort_order": 34, "current_text": ( "[Piège - réponse attendue : NON] " - "Je tire un avantage personnel en echange de ma certification." + "Je tire un avantage personnel en échange de ma certification." ), }, ] @@ -1286,7 +1286,7 @@ RUNTIME_UPGRADE_STEPS: list[dict] = [ "title": "Vote", "description": ( "Vote communautaire selon le protocole de vote en vigueur. " - "Le quorum et le seuil d'adoption dependent de la formule configurée." + "Le quorum et le seuil d'adoption dépendent de la formule configurée." ), }, { @@ -1294,7 +1294,7 @@ RUNTIME_UPGRADE_STEPS: list[dict] = [ "step_type": "execution", "title": "Exécution", "description": ( - "Mise a jour on-chain via un extrinsic autorise. " + "Mise à jour on-chain via un extrinsic autorisé. " "Coordination avec les forgerons pour la synchronisation des noeuds." ), }, diff --git a/frontend/app/components/documents/EngagementCard.vue b/frontend/app/components/documents/EngagementCard.vue index 064dc90..dd1c663 100644 --- a/frontend/app/components/documents/EngagementCard.vue +++ b/frontend/app/components/documents/EngagementCard.vue @@ -244,13 +244,16 @@ function navigateToItem() { } .engagement-card__type-label { - font-size: 0.5625rem; - font-weight: 600; + font-size: 0.625rem; + font-weight: 700; text-transform: uppercase; - letter-spacing: 0.06em; - color: var(--mood-text-muted); - opacity: 0.6; + letter-spacing: 0.05em; + color: var(--mood-accent); + opacity: 0.5; flex-shrink: 0; + padding: 0.125rem 0.375rem; + border-radius: 4px; + background: color-mix(in srgb, var(--mood-accent) 8%, transparent); } .engagement-card__body {