[feat](src/Service/Pdf/Candidat.php): Améliore fiche d'adhésion avec infos communauté & associatif (en)

 feat(src/EventSubscriber/LocaleListener.php): Ajoute langues GER & ES (en)
 feat(src/EventSubscriber/SitemapSubscriber.php): Ajoute lien vers les règles (en)
 feat(templates/mails/candidat/refused.twig): Ajoute mail de refus (en)
 feat(translations/messages.ger.yaml): Ajoute traduction Allemande (en)
 feat(templates/txt-mails/candidat/refused.twig): Ajoute mail refus TXT (en)
 feat(src/Controller/LegalController.php): Ajoute la page des règles (en)
 feat(src/Dto/Join/JoinType.php): Ajoute champs civilité & communauté (en)
 feat(translations/messages.en.yaml): Ajoute traductions pour les règles (en)
 feat(translations/messages.es.yaml): Ajoute traductions Espagnoles (en)
 feat(templates/admin/joint.twig): Ajoute page de gestion des candidatures (en)
 feat(src/Dto/Contact/ContactType.php): Supprime captcha contact (en)
 feat(templates/admin/join_edit.twig): Ajoute page d'edition candidature (en)
 feat(templates/mails/candidat/new.twig): Améliore mail de notification (en)
 feat(templates/txt-mails/candidat/new.twig): Améliore mail de notification TXT (en)
 feat(templates/base.twig): Ajoute lien vers page des règles (en)
 feat(src/Controller/Admin/AdminController.php): Ajoute la gestion des candidatures (en)
 feat(templates/legal/rules.twig): Ajoute la page des règles (en)
```
This commit is contained in:
Serreau Jovann
2025-12-25 19:19:07 +01:00
parent 9b5718992d
commit 363b3f77a9
30 changed files with 4142 additions and 560 deletions

View File

@@ -854,25 +854,29 @@ form:
questioning: "探索中"
other: "其他"
pronouns:
il: "他 (He)"
elle: "她 (She)"
iel: "他们 (They)"
il: "他 (He/Him)"
elle: "她 (She/Her)"
iel: "他们 (They/Them)"
autre: "其他 / 自定义"
role:
cosplay: "Cosplayer (角色扮演者)"
helper: "Helper (后勤协助)"
helper: "志愿者 (后勤协助)"
photographer: "摄影师"
other: "其他"
header:
title: "申请"
title: "入会申请"
label:
name: ""
surname: ""
pseudo: "昵称"
civ: "称呼"
cross_cosplay: "你是否进行伪装/反串扮演 (Cross-Cosplay)"
trans: "是否提及跨性别身份?"
name: "姓氏"
surname: "名字"
email: "电子邮件"
phone: "联系电话"
phone: "电话号码"
birthdate: "出生日期"
gender: "性"
pronouns: "首选代词"
gender: "性取向"
pronouns: "代词"
address: "邮寄地址"
zipcode: "邮政编码"
city: "城市"
@@ -880,23 +884,157 @@ form:
insta: "Instagram 链接"
tiktok: "TikTok 链接"
facebook: "Facebook 链接"
who: "你是谁?(简单自我介绍"
who: "你是谁? (自我介绍)"
role: "你希望担任什么角色?"
section:
social: "社交媒体与作品集"
button:
submit: "提交申请"
# 反馈信息
# 成功/错误提示 (Form Feedback)
form_feedback:
success: "您的申请已成功提交!委员会将快进行审核。"
error: "发生错误,请检查您的信息。"
success: "您的申请已成功发送!理事会将快进行审核。"
error: "发生错误,请检查您填写的信息。"
join_at: 'messages'
confirmation:
title: "申请已收到! - E-Cosplay"
header: "收到申请"
message: "您的入会申请已正式提交给委员会。我们将认真审核您的申请。"
header: "收到,长官"
message: "您的入会申请已正式提交给理事会。我们将仔细审核您的申请。"
delay:
label: "预计回复时间"
value: "7 到 10 个工作日"
back_home: "返回首页"
rule_link: "协会章程"
# 内部章程 (Internal Rules)
brand_name: "E-Cosplay"
rule_page_title: "内部管理章程"
rule_title: "内部管理章程"
# 前言 (Preamble)
rules_preamble_title: "前言"
rules_preamble_text: "协会理事会于 <span class='font-bold text-gray-900'>%date%</span> 的全体大会上召集,制定了本协会内部章程。章程已获投票通过,并于 <span class='font-bold text-yellow-600 italic'>%entry_date%</span> 起正式生效。"
# 第一条:入会
rules_art1_title: "第一条:会员入会"
rules_art1_p1: "任何希望加入协会的人员必须提交申请,并由<strong>理事会成员独家审核</strong>。"
rules_art1_p2: "理事会以外的每位成员均可对申请人发表意见。入会需经理事会<strong>全票通过</strong>且无创始成员反对,方可生效。"
rules_art1_transparency: "每位成员均可查阅包含具体投票结果的正式文件,如申请被拒绝,文件中将说明理由。"
# 第二条:退出、除名、身故
rules_art2_main_title: "第二条:退出 除名 身故"
rules_art2_1_title: "自愿退出"
rules_art2_1_p1: "会员可根据个人意愿,通过电子邮件 (contact@e-cosplay.fr)、信件、Discord 或 Messenger 提出退出申请。"
rules_art2_1_notice: "需提前 15 天通知,经理事会或会员申请可缩短此期限。"
rules_art2_2_title: "除名 (Exclusion)"
rules_art2_2_reason1: "在本年度内收到 3 次警告。"
rules_art2_2_reason2: "未缴纳会费 (逾期超过 2 个月)。"
rules_art2_2_reason3: "公开诋毁或严重损害协会形象。"
rules_art2_2_reason4: "破坏或窃取机密信息并提供给其他协会。"
rules_art2_2_reason5: "对协会成员有严重不尊重行为 (侮辱、攻击或伤害)。"
rules_art2_2_procedure: "除名由<strong>理事会在闭门会议中</strong>通过特别全体大会以<strong>简单多数</strong>决定。"
rules_art2_2_transparency: "正式文件将记录投票详情及除名的具体原因,供成员查阅。"
rules_art2_3_title: "身故"
rules_art2_3_p1: "如会员身故,其会员资格自动取消。会员身份仅限个人,不可由继承人继承。"
# 第三条:创始成员除名
rules_art3_title: "第三条:创始成员除名"
rules_art3_request: "除名创始成员必须由<strong>理事会和另一名创始成员</strong>共同提出申请。"
rules_art3_ballot_title: "秘密投票"
rules_art3_ballot_desc: "采用投票箱投票。完全匿名:票面上不会显示任何成员姓名,以保护投票者。"
rules_art3_majority_title: "双重多数"
rules_art3_majority_desc: "需同时获得理事会多数票和协会成员多数票。"
rules_art3_tally_title: "计票与透明度"
rules_art3_tally_p1: "只有提出申请的创始成员在计票开始前公开宣布其个人投票意向。"
rules_art3_tally_p2: "由该成员从票箱中抽取每张选票并大声宣布:“赞成”、“反对”或“弃权”。"
# 第四条:大会
rules_art4_title: "第四条:全体大会"
rules_art4_notice: "理事会应至少提前 1 个月通知成员,并注明地点、时间和议程。"
rules_art4_normal_title: "年度全体大会 (AG Normale)"
rules_art4_normal_desc: "每年举行一次,用于年度总结及理事会换届。"
rules_art4_extra_title: "特别全体大会"
rules_art4_extra_desc: "根据理事会需求或为准备特定活动而召开。"
# 第五条:费用报销
rules_art5_title: "第五条:报销津贴"
rules_art5_p1: "只有<strong>当选的理事会成员</strong>(或由理事会委派的成员)凭<strong>证明文件</strong>方可申请报销所产生的费用。"
rules_art5_stand_title: "关于活动与展位:"
rules_art5_stand_desc: "协会参展时,将优先要求主办方提供门票。如无法实现,理事会将根据财务状况研究是否予以资助。"
# 法律信息与托管
hosting_main_title: "法律信息与托管"
hosting_bg_text: "服务器 (SERVER)"
hosting_responsibilities_label: "责任声明"
hosting_tech_operator_title: "技术运营商"
hosting_tech_operator_name: "SARL SITECONSEIL"
hosting_tech_operator_address: "27 RUE LE SERURIER<br>02100 SAINT-QUENTIN"
hosting_tech_operator_siret: "SIRET: 41866405800025"
hosting_infrastructure_title: "云基础设施"
hosting_cloud_provider: "Google Cloud Platform (GCP)"
hosting_location_detail: "荷兰 (eu-west4)"
hosting_editor_title: "网站出版商"
hosting_editor_name: "E-Cosplay 协会"
hosting_editor_address: "42 rue de Saint-Quentin<br>02800 Beautor"
hosting_editor_email: "contact@e-cosplay.fr"
hosting_editor_note: "负责内容的法律合规性。"
hosting_tech_stack_title: "技术栈"
hosting_security_title: "安全"
hosting_services_label: "服务"
hosting_cloudflare_label: "Cloudflare"
hosting_cloudflare_desc: "CDN、代理及多层抗 DDoS 攻击保护。"
hosting_monitoring_label: "监控"
hosting_monitoring_desc: "自托管 Sentry实时错误检测。"
hosting_registrars_label: "域名注册商"
hosting_registrar_name: "Infomaniak Network SA"
hosting_dns_provider: "Cloudflare DNS"
hosting_mail_system_title: "邮件系统"
hosting_mail_system_desc: "内部邮件服务器通过 Amazon SES 转发,确保通知送达率。"
hosting_privacy_alert_label: "隐私权"
hosting_privacy_alert_desc: "我们的服务器和 Amazon SES 处理本网站发送的电子邮件内容和元数据。"
hosting_compliance_title: "合规与 GDPR"
hosting_compliance_desc: "基础设施配置符合欧盟境内的安全标准和 GDPR通用数据保护条例。"
hosting_signalement_label: "违规举报"
hosting_signalement_email: "signalement@siteconseil.fr"
# 技术补充 (Addendum)
rgpd_additif_title: "技术补充条款"
rgpd_additif_collecte_title: "极简与匿名化采集"
rgpd_additif_collecte_text: "网站严格限制采集运行所需的必要技术数据(错误日志、性能)。这些数据经过汇总处理,无法追溯到特定访问者。"
rgpd_additif_consent_title: "访问者分析"
rgpd_additif_consent_text: "仅在您通过 Cookie 栏明确同意后,才会进行详细的导航习惯分析。您可以自由拒绝。"
rgpd_additif_tls_title: "通信安全 (TLS/SSL)"
rgpd_additif_update: "技术补充条款更新于 2025年11月27日 17:00。"
rgpd_section5_p1_contact_intro: "如有任何个人数据相关问题或行使第 4 节所述权利,请联系我们的数据保护专员。"
rgpd_section5_p2_dpo_id: "官方 DPO 标识 (CNIL): DPO-167945"
rgpd_section4_p1_rights_intro: "根据欧洲法规,您对自己的数据拥有基本权利。我们承诺在 30 天法定限期内处理您的请求。"
# Cookie 政策
cookie_title: "Cookie 管理"
cookie_intro_title: "简介"
cookie_intro_text: "本政策旨在告知您在访问我们网站时,存放在您设备上的 Cookie 的性质、用途及管理方式。"
cookie_types_title: "Cookie 类型"
cookie_essential_label: "必要型"
cookie_essential_desc: "网站运行所必需的(会话、安全、购物车)。"
cookie_analytics_label: "性能型"
cookie_analytics_desc: "测量受众并分析导航以优化体验。"
cookie_marketing_label: "营销型"
cookie_marketing_desc: "用于展示相关广告的用户画像。"
cookie_list_title: "技术列表"
cookie_table_name: "Cookie 名称"
cookie_table_purpose: "用途"
cookie_table_duration: "有效期"
cookie_table_session_desc: "维护用户会话及表单安全。"
cookie_table_cfbm_desc: "防机器人保护 (由 Cloudflare 提供)。"
cookie_security_title: "安全合作伙伴"
cookie_security_desc: "我们使用 Cloudflare 保护基础设施免受攻击并优化性能。"
cookie_security_link: "Cloudflare 政策"
cookie_control_title: "浏览器控制"
cookie_control_desc: "您可以通过浏览器设置禁用 Cookie但这可能会影响网站的正常使用。"
cookie_cnil_btn: "管理 Cookie (CNIL 指南)"
cookie_consent_title: "同意声明"
cookie_consent_footer: "继续浏览即表示您同意使用服务运行所必需的 Cookie。"

View File

@@ -929,44 +929,181 @@ form:
autre: "Other / Custom"
role:
cosplay: "Cosplayer"
helper: "Helper (Staff)"
helper: "Helper (Logistics)"
photographer: "Photographer"
other: "Other"
header:
title: "Application"
label:
pseudo: "Username / Handle"
civ: "Civility"
cross_cosplay: "Do you practice Cross-Cosplay?"
trans: "Mention transgender identity?"
name: "Last Name"
surname: "First Name"
email: "Email"
phone: "Phone Number"
phone: "Phone"
birthdate: "Date of Birth"
gender: "Gender"
gender: "Orientation"
pronouns: "Pronouns"
address: "Mailing Address"
zipcode: "Zip Code"
zipcode: "ZIP Code"
city: "City"
discord: "Discord Account"
insta: "Instagram Link"
tiktok: "TikTok Link"
facebook: "Facebook Link"
who: "Who are you? (Quick introduction)"
role: "What role would you like to have?"
who: "Who are you? (Quick intro)"
role: "Which role would you like to take?"
section:
social: "Social Media & Portfolio"
button:
submit: "Submit my Application"
submit: "Submit my application"
# Feedback Messages
# Success / Error messages
form_feedback:
success: "Your application has been successfully submitted! The board will review it shortly."
success: "Your application has been sent successfully! The board will review it soon."
error: "An error occurred. Please check your information."
join_at: 'messages'
confirmation:
title: "Application Received! - E-Cosplay"
header: "Message Received!"
message: "Your membership application is officially in the hands of the board. We will review it carefully."
title: "Application received! - E-Cosplay"
header: "Message received, Major!"
message: "Your membership request is officially in the hands of the board. We will review it carefully."
delay:
label: "Estimated response time"
value: "7 to 10 business days"
back_home: "Back to Home"
back_home: "Back to home"
rule_link: "Association rules"
# Internal Rules
brand_name: "E-Cosplay"
rule_page_title: "Internal Rules"
rule_title: "Internal Rules"
# Preamble
rules_preamble_title: "Preamble"
rules_preamble_text: "The association board met on <span class='font-bold text-gray-900'>%date%</span> during the general assembly to establish the internal rules of the association. They were voted on and approved for official application starting from <span class='font-bold text-yellow-600 italic'>%entry_date%</span>."
# Article 1: Membership
rules_art1_title: "Member Membership"
rules_art1_p1: "Anyone wishing to join the association must submit an application reviewed <strong>only by the board members</strong>."
rules_art1_p2: "Each member outside the board may give their opinion on the candidate. Integration is validated if the board votes with <strong>full unanimity</strong> and no founding member opposes it."
rules_art1_transparency: "A final document showing who voted for and against will be available and consultable by each member with vote details, as well as the reason for rejection in case of refusal."
# Article 2: Resignation, Exclusion, Death
rules_art2_main_title: "Article 2: Resignation Exclusion Death"
rules_art2_1_title: "Resignation"
rules_art2_1_p1: "A member's resignation is possible by their own will via email (contact@e-cosplay.fr), letter, Discord, or Messenger."
rules_art2_1_notice: "A 15-day notice period is requested, which can be waived at the request of the board or the member."
rules_art2_2_title: "Exclusion"
rules_art2_2_reason1: "3 warnings received during the current year."
rules_art2_2_reason2: "Non-payment of membership fees (over 2 months late)."
rules_art2_2_reason3: "Public disparagement or serious damage to the association's image."
rules_art2_2_reason4: "Sabotage or theft of confidential information to give to other associations."
rules_art2_2_reason5: "Serious lack of respect toward an association member (insults, assault and battery)."
rules_art2_2_procedure: "Exclusion is decided by the <strong>board in a closed committee</strong> during an Extraordinary General Meeting by <strong>simple majority</strong>."
rules_art2_2_transparency: "A final document showing who voted for and against will be available and consultable by each member with the precise motive for exclusion."
rules_art2_3_title: "Death"
rules_art2_3_p1: "In case of death, the member's status is automatically revoked. Membership is strictly personal and not transferable to heirs."
# Article 3: Founder Exclusion
rules_art3_title: "Exclusion of a founding member"
rules_art3_request: "The exclusion of a founder must be requested jointly by <strong>the board and another founding member</strong>."
rules_art3_ballot_title: "Secret Ballot"
rules_art3_ballot_desc: "Ballot box vote. Total anonymity: no member's name will be given or written on the ballot to guarantee voter protection."
rules_art3_majority_title: "Double Majority"
rules_art3_majority_desc: "Requires a majority of the board combined with a majority of the association members."
rules_art3_tally_title: "Counting & Transparency"
rules_art3_tally_p1: "Only the founder who submitted the request publicly announces their personal voting intention before the count begins."
rules_art3_tally_p2: "They draw each ballot from the box and announce aloud: 'For', 'Against', or 'Blank'."
# Article 4: Assemblies
rules_art4_title: "General Assemblies"
rules_art4_notice: "Members are summoned by the board at least 1 month in advance with details of the location, time, and agenda."
rules_art4_normal_title: "Normal GA (Annual)"
rules_art4_normal_desc: "Held once a year for the annual report and board member renewal."
rules_art4_extra_title: "Extraordinary GA"
rules_art4_extra_desc: "Triggered according to the board's needs or for specific event preparations."
# Article 5: Reimbursements
rules_art5_title: "Reimbursement Allowances"
rules_art5_p1: "Only <strong>elected board members</strong> (or members commissioned by the board) can claim reimbursement for expenses incurred upon presentation of <strong>receipts</strong>."
rules_art5_stand_title: "During events & stands:"
rules_art5_stand_desc: "When a stand is held by the association, the organizer will be asked to cover the entry ticket first. If impossible, the board will study coverage based on treasury funds."
# Hosting
hosting_main_title: "Legal Information & Hosting"
hosting_bg_text: "SERVER"
hosting_responsibilities_label: "Responsibilities"
hosting_tech_operator_title: "Technical Operator"
hosting_tech_operator_name: "SARL SITECONSEIL"
hosting_tech_operator_address: "27 RUE LE SERURIER<br>02100 SAINT-QUENTIN"
hosting_tech_operator_siret: "SIRET: 41866405800025"
hosting_infrastructure_title: "Cloud Infrastructure"
hosting_cloud_provider: "Google Cloud Platform (GCP)"
hosting_location_detail: "Netherlands (eu-west4)"
hosting_editor_title: "Site Editor"
hosting_editor_name: "E-Cosplay Association"
hosting_editor_address: "42 rue de Saint-Quentin<br>02800 Beautor"
hosting_editor_email: "contact@e-cosplay.fr"
hosting_editor_note: "Responsible for legal compliance of content."
hosting_tech_stack_title: "Tech Stack"
hosting_security_title: "Security"
hosting_services_label: "Services"
hosting_cloudflare_label: "Cloudflare"
hosting_cloudflare_desc: "CDN, Proxy & Multi-layer Anti-DDoS Protection."
hosting_monitoring_label: "Monitoring"
hosting_monitoring_desc: "Self-Hosted Sentry: Real-time error detection."
hosting_registrars_label: "Registrars"
hosting_registrar_name: "Infomaniak Network SA"
hosting_dns_provider: "Cloudflare DNS"
hosting_mail_system_title: "Esy Mail System"
hosting_mail_system_desc: "Internal mail server (mail.esy-web.dev) with Amazon SES relay to guarantee notification deliverability."
hosting_privacy_alert_label: "Privacy"
hosting_privacy_alert_desc: "Our server and Amazon SES process the content and metadata of emails sent by the site."
hosting_compliance_title: "Compliance & GDPR"
hosting_compliance_desc: "Infrastructure (GCP, Cloudflare, Sentry) is configured to respect security standards and GDPR within the European Union."
hosting_signalement_label: "Report a violation"
hosting_signalement_email: "signalement@siteconseil.fr"
# Technical Addendum
rgpd_additif_title: "Technical Addendum"
rgpd_additif_collecte_title: "Minimal and Anonymized Collection"
rgpd_additif_collecte_text: "The site is strictly limited to collecting technical data necessary for proper functioning (error logs, performance). This data is aggregated so that it is impossible to trace back to a specific visitor."
rgpd_additif_consent_title: "Visitor Analysis"
rgpd_additif_consent_text: "Detailed analysis of browsing habits is carried out exclusively following explicit consent via our cookie banner. You are free to refuse."
rgpd_additif_tls_title: "Communication Security (TLS/SSL)"
rgpd_additif_update: "Technical Addendum updated on November 27, 2025 at 5:00 PM."
rgpd_section5_p1_contact_intro: "For any questions regarding your personal data or to exercise your rights mentioned in section 4, our delegate is at your disposal."
rgpd_section5_p2_dpo_id: "Official DPO Identifier (CNIL): DPO-167945"
rgpd_section4_p1_rights_intro: "In accordance with European regulations, you have fundamental rights over your data. We commit to processing any request within a legal period of 30 days."
# Cookies
cookie_title: "Cookie Management"
cookie_intro_title: "Introduction"
cookie_intro_text: "This policy informs you about the nature, use, and management of cookies placed on your terminal when you browse our site."
cookie_types_title: "Cookie Types"
cookie_essential_label: "Essential"
cookie_essential_desc: "Necessary for the site's operation (session, security, cart)."
cookie_analytics_label: "Performance"
cookie_analytics_desc: "Audience measurement and navigation analysis for improvement."
cookie_marketing_label: "Advertising"
cookie_marketing_desc: "Profiling for displaying relevant advertisements."
cookie_list_title: "Technical List"
cookie_table_name: "Cookie Name"
cookie_table_purpose: "Purpose"
cookie_table_duration: "Lifespan"
cookie_table_session_desc: "Maintaining user session and form security."
cookie_table_cf_bm_desc: "Protection against bots (provided by Cloudflare)."
cookie_security_title: "Security Partners"
cookie_security_desc: "We use Cloudflare to protect our infrastructure against attacks and optimize performance."
cookie_security_link: "Cloudflare Policy"
cookie_control_title: "Browser Control"
cookie_control_desc: "You can block cookies via your browser settings, but this may alter the site's operation."
cookie_cnil_btn: "How to control cookies (CNIL)"
cookie_consent_title: "Consent"
cookie_consent_footer: "By continuing to browse, you accept the use of cookies necessary for the operation of the service."

File diff suppressed because it is too large Load Diff

View File

@@ -936,12 +936,16 @@ form:
header:
title: "Candidature"
label:
pseudo: "Pseudo"
civ: "Civilité"
cross_cosplay: "Pratiques-tu le Cross-Cosplay ?"
trans: "Mentionner une transidentité ?"
name: "Nom"
surname: "Prénom"
email: "Email"
phone: "Téléphone"
birthdate: "Date de naissance"
gender: "Sexe"
gender: "Orientation"
pronouns: "Pronoms"
address: "Adresse postale"
zipcode: "Code Postal"
@@ -971,3 +975,151 @@ confirmation:
label: "Délai de réponse estimé"
value: "7 à 10 jours ouvrés"
back_home: "Retour à l'accueil"
rule_link: Réglement associations
# translations/messages.fr.yaml
brand_name: "E-Cosplay"
rule_page_title: "Règlement Intérieur"
rule_title: "Règlement Intérieur"
# Préambule
rules_preamble_title: "Préambule"
rules_preamble_text: "Le bureau de l'association s'est réuni le <span class='font-bold text-gray-900'>%date%</span> lors de l'assemblée générale afin d'établir le règlement intérieur de l'association. Il a été voté et approuvé pour une mise en application officielle à partir du <span class='font-bold text-yellow-600 italic'>%entry_date%</span>."
# Article 1 : Adhésion
rules_art1_title: "Adhésion d'un membre"
rules_art1_p1: "Toute personne voulant rejoindre lassociation doit déposer une candidature examinée <strong>uniquement par les membres du bureau</strong>."
rules_art1_p2: "Chaque membre à lextérieur du bureau pourra donner son avis sur la personne. L'intégration est validée si le bureau a voté à l<strong>unanimité complète</strong> et qu'aucun membre fondateur ne s'y est opposé."
rules_art1_transparency: "Un document définitif donnant qui a voté pour et contre sera disponible et consultable par chaque membre avec le détail des votes, ainsi que le motif du rejet en cas de refus."
# Article 2 : Démission, Exclusion, Décès
rules_art2_main_title: "Article 2 : Démission Exclusion Décès"
rules_art2_1_title: "La Démission"
rules_art2_1_p1: "La démission d'un membre est possible de sa propre volonté via mail (contact@e-cosplay.fr), lettre, Discord ou Messenger."
rules_art2_1_notice: "Un préavis de 15 jours est demandé, celui-ci peut être annulé sur demande du bureau ou du membre."
rules_art2_2_title: "L'Exclusion"
rules_art2_2_reason1: "3 avertissements reçus dans l'année en cours."
rules_art2_2_reason2: "Non-paiement de la cotisation (retard de +2 mois)."
rules_art2_2_reason3: "Dénigrement public ou atteinte grave à l'image de l'association."
rules_art2_2_reason4: "Sabotage ou vol d'informations confidentielles pour les donner à d'autres associations."
rules_art2_2_reason5: "Manque de respect grave à un membre de l'association (insultes, coups et blessures)."
rules_art2_2_procedure: "L'exclusion se fait sur <strong>décision du bureau en comité fermé</strong> lors d'une Assemblée Exceptionnelle à la <strong>majorité simple</strong>."
rules_art2_2_transparency: "Un document définitif donnant qui a voté pour et contre sera disponible et consultable par chaque membre avec le motif précis de l'exclusion."
rules_art2_3_title: "Le Décès"
rules_art2_3_p1: "En cas de décès, le statut du membre est révoqué de façon automatique. L'adhésion est strictement personnelle et n'est pas transmissible aux héritiers."
# Article 3 : Exclusion Fondateur
rules_art3_title: "Exclusion d'un membre fondateur"
rules_art3_request: "L'exclusion d'un fondateur doit être demandée conjointement par <strong>le bureau et un autre membre fondateur</strong>."
rules_art3_ballot_title: "Scrutin Secret"
rules_art3_ballot_desc: "Vote à l'urne. Anonymat total : aucun nom de membre ne sera donné ni écrit sur le bulletin pour garantir la protection des votants."
rules_art3_majority_title: "Double Majorité"
rules_art3_majority_desc: "Requiert la majorité du bureau cumulée à la majorité des membres de l'association."
rules_art3_tally_title: "Dépouillement & Transparence"
rules_art3_tally_p1: "Seul le fondateur ayant déposé la demande annonce publiquement son intention de vote personnelle avant le début du dépouillement."
rules_art3_tally_p2: "Il tire chaque bulletin de l'urne et annonce à voix haute : 'Pour', 'Contre' ou 'Blanc'."
# Article 4 : Assemblées
rules_art4_title: "Les Assemblées Générales"
rules_art4_notice: "Les membres sont convoqués par le bureau au moins 1 mois avant avec précision du lieu, de l'heure et de l'ordre du jour."
rules_art4_normal_title: "AG Normale (Annuelle)"
rules_art4_normal_desc: "A lieu une fois par an pour le bilan annuel et le renouvellement des membres du bureau."
rules_art4_extra_title: "AG Exceptionnelle"
rules_art4_extra_desc: "Déclenchée selon les besoins du bureau ou pour la préparation d'événements spécifiques."
# Article 5 : Indemnités
rules_art5_title: "Indemnités de remboursement"
rules_art5_p1: "Seuls les <strong>membres élus du bureau</strong> (ou membres missionnés par le bureau) peuvent prétendre au remboursement des frais engagés sur présentation de <strong>justificatifs</strong>."
rules_art5_stand_title: "Lors des événements & stands :"
rules_art5_stand_desc: "Lorsqu'un stand est tenu par l'association, la prise en charge du ticket d'entrée sera demandée en priorité à l'organisateur. Si impossible, le bureau étudiera une prise en charge selon la trésorerie."
hosting_main_title: "Informations Légales & Hébergement"
hosting_bg_text: "SERVER"
# Section Responsabilités
hosting_responsibilities_label: "Responsabilités"
# Opérateur Technique
hosting_tech_operator_title: "Opérateur Technique"
hosting_tech_operator_name: "SARL SITECONSEIL"
hosting_tech_operator_address: "27 RUE LE SERURIER<br>02100 SAINT-QUENTIN"
hosting_tech_operator_siret: "SIRET: 41866405800025"
# Infrastructure Cloud
hosting_infrastructure_title: "Infrastructure Cloud"
hosting_cloud_provider: "Google Cloud Platform (GCP)"
hosting_location_detail: "Pays-Bas (eu-west4)"
# Éditeur
hosting_editor_title: "Éditeur du Site"
hosting_editor_name: "Association E-Cosplay"
hosting_editor_address: "42 rue de Saint-Quentin<br>02800 Beautor"
hosting_editor_email: "contact@e-cosplay.fr"
hosting_editor_note: "Responsable de la conformité légale du contenu."
# Stack Technique
hosting_tech_stack_title: "Stack Technique"
hosting_security_title: "Sécurité"
hosting_services_label: "Services"
hosting_cloudflare_label: "Cloudflare"
hosting_cloudflare_desc: "CDN, Proxy & Protection Anti-DDoS multicouche."
hosting_monitoring_label: "Monitoring"
hosting_monitoring_desc: "Sentry Self-Hosted : Détection d'erreurs en temps réel."
hosting_registrars_label: "Registrars"
hosting_registrar_name: "Infomaniak Network SA"
hosting_dns_provider: "Cloudflare DNS"
# Système Mail
hosting_mail_system_title: "Esy Mail System"
hosting_mail_system_desc: "Serveur mail interne (mail.esy-web.dev) avec relais Amazon SES pour garantir la délivrabilité des notifications."
hosting_privacy_alert_label: "Confidentialité"
hosting_privacy_alert_desc: "Notre serveur et Amazon SES traitent le contenu et les métadonnées des e-mails envoyés par le site."
# Conformité
hosting_compliance_title: "Conformité & RGPD"
hosting_compliance_desc: "L'infrastructure (GCP, Cloudflare, Sentry) est configurée pour respecter les standards de sécurité et le RGPD au sein de l'Union Européenne."
hosting_signalement_label: "Signalement d'infraction"
hosting_signalement_email: "signalement@siteconseil.fr"
# --- ADDITIF TECHNIQUE SITECONSEIL ---
rgpd_additif_title: "Additif Technique"
rgpd_additif_collecte_title: "Collecte Minimale et Anonymisée"
rgpd_additif_collecte_text: "Le site se limite strictement à la collecte de données techniques nécessaires au bon fonctionnement (logs d'erreurs, performance). Ces données sont agrégées de manière à ce qu'il soit impossible de remonter à un visiteur spécifique."
rgpd_additif_consent_title: "Analyse des Visiteurs"
rgpd_additif_consent_text: "L'analyse détaillée des habitudes de navigation est effectuée exclusivement suite à un consentement explicite via notre bannière de cookies. Vous êtes libre de refuser."
rgpd_additif_tls_title: "Sécurité des Communications (TLS/SSL)"
rgpd_additif_update: "Additif Technique mis à jour le 27 Novembre 2025 à 17h00."
rgpd_section5_p1_contact_intro: "Pour toute question relative à vos données personnelles ou pour exercer vos droits cités en section 4, notre délégué est à votre disposition."
rgpd_section5_p2_dpo_id: "Identifiant DPO Officiel (CNIL) : DPO-167945"
rgpd_section4_p1_rights_intro: "Conformément à la réglementation européenne, vous disposez de droits fondamentaux sur vos données. Nous nous engageons à traiter toute demande dans un délai légal de 30 jours."
# --- PAGE COOKIES ---
cookie_title: "Gestion des Cookies"
cookie_intro_title: "Introduction"
cookie_intro_text: "Cette politique vous informe sur la nature, l'utilisation et la gestion des cookies déposés sur votre terminal lorsque vous naviguez sur notre site."
cookie_types_title: "Types de Cookies"
cookie_essential_label: "Essentiels"
cookie_essential_desc: "Nécessaires au fonctionnement du site (session, sécurité, panier)."
cookie_analytics_label: "Performance"
cookie_analytics_desc: "Mesure d'audience et analyse de la navigation pour amélioration."
cookie_marketing_label: "Publicité"
cookie_marketing_desc: "Profilage pour affichage de publicités pertinentes."
cookie_list_title: "Liste Technique"
cookie_table_name: "Nom du Cookie"
cookie_table_purpose: "Objectif"
cookie_table_duration: "Durée de Vie"
cookie_table_session_desc: "Maintien de la session utilisateur et sécurité des formulaires."
cookie_table_cfbm_desc: "Protection contre les bots (fourni par Cloudflare)."
cookie_security_title: "Partenaires Sécurité"
cookie_security_desc: "Nous utilisons Cloudflare pour protéger notre infrastructure contre les attaques et optimiser les performances."
cookie_security_link: "Politique de Cloudflare"
cookie_control_title: "Maîtrise du navigateur"
cookie_control_desc: "Vous pouvez bloquer les cookies via vos paramètres navigateur, mais cela peut altérer le fonctionnement du site."
cookie_cnil_btn: "Maîtriser les cookies (CNIL)"
cookie_consent_title: "Consentement"
cookie_consent_footer: "En continuant votre navigation, vous acceptez l'usage des cookies nécessaires au fonctionnement du service."

File diff suppressed because it is too large Load Diff