diff --git a/Gemfile b/Gemfile index ce63d4d..b808f30 100644 --- a/Gemfile +++ b/Gemfile @@ -13,3 +13,4 @@ gem "puma" gem "tilt" gem "erubi" gem "mail" +gem "commonmarker" diff --git a/Gemfile.lock b/Gemfile.lock index 95eb8f3..9fe9cbd 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -1,6 +1,7 @@ GEM remote: https://rubygems.org/ specs: + commonmarker (2.10.1-x86_64-linux) date (3.6.0) dotenv (3.2.0) erb (6.0.7) @@ -56,10 +57,10 @@ GEM tsort (0.2.0) PLATFORMS - ruby x86_64-linux DEPENDENCIES + commonmarker dotenv erubi irb @@ -70,6 +71,7 @@ DEPENDENCIES tilt CHECKSUMS + commonmarker (2.10.1-x86_64-linux) sha256=4b2c4b9084baca131146c92dde02bcb40ef3d2768a6772648c1970bb51842734 date (3.6.0) sha256=18ac945c4e24ebd93534f8eab8c2fd8c5604b3e977105b3798d62a1e8d27b580 dotenv (3.2.0) sha256=e375b83121ea7ca4ce20f214740076129ab8514cd81378161f11c03853fe619d erb (6.0.7) sha256=c5ca6dc25b0ef974a44dc8f59fe847577122483b1968a38dec305c60bf91ee92 diff --git a/doc/legal.md b/doc/legal.md index 1f9f0fc..f598d64 100644 --- a/doc/legal.md +++ b/doc/legal.md @@ -1,66 +1,180 @@ # Informations légales et conditions d’utilisation -Les services NETig sont proposés par l’association NETig, association régie par la loi du 1er juillet 1901. Cette page présente l’éditeur du site, les règles d’utilisation des services et les informations relatives aux données personnelles. Les champs entre crochets sont à compléter avant publication. +NETig est un projet associatif régi par la loi du 1er juillet 1901. +L’association n’a pas encore été déclarée en préfecture et ne dispose donc +pas encore de la personnalité morale ni de la capacité juridique attachée +à une association déclarée. Cette information sera mise à jour après la +déclaration et sa publication au Journal officiel des associations et +fondations d’entreprises (JOAFE). ## Mentions légales -**Éditeur :** association NETig, association régie par la loi du 1er juillet 1901 -**Siège social :** [adresse complète], Brasparts, France -**RNA :** [numéro après déclaration] -**Courriel :** [contact@netig.net](mailto:contact@netig.net) -**Téléphone :** [numéro de téléphone] -**Directeur de la publication :** [nom du représentant légal] +**Éditeur du site :** [nom, prénom et coordonnées de la personne physique +qui édite actuellement le site] -**Hébergement :** Hetzner Online GmbH, Industriestr. 25, 91710 Gunzenhausen, Allemagne — [www.hetzner.com](https://www.hetzner.com/) — téléphone : +49 (0)9831 505-0. +**Directeur de la publication :** [nom et prénom] -Les services sont administrés bénévolement par l’association. Des sauvegardes quotidiennes sont conservées sur une Storage Box de Hetzner située en Finlande. +**Courriel :** [contact@netig.net](mailto:contact@netig.net) + +**Hébergement :** Hetzner Online GmbH, Industriestr. 25, 91710 Gunzenhausen, +Allemagne — [www.hetzner.com](https://www.hetzner.com/) — téléphone : ++49 (0)9831 505-0. + +Les infrastructures sont administrées bénévolement. Des sauvegardes +quotidiennes sont conservées sur une Storage Box de Hetzner située en +Finlande. ## Conditions d’utilisation ### Accès et gratuité -NETig propose des services numériques gratuits, conformément à ses statuts et à ses principes. Certains services sont accessibles au public ; d’autres peuvent être réservés aux adhérents. L’adhésion est examinée par le Noyau selon les statuts. Aucune contribution financière n’est obligatoire et les dons sont libres et volontaires ; ils ne donnent droit à aucun accès ou avantage particulier. +Les services NETig sont proposés sans facturation liée à leur utilisation. +Certains sont accessibles au public ; d’autres sont réservés aux membres +à jour de leur cotisation. -L’accès à un service dépend des ressources disponibles et peut être limité. Une disponibilité permanente n’est pas garantie. L’état des services est consultable sur la [page de statut](https://status.netig.net/status/services). Les interruptions de maintenance peuvent être annoncées par la [liste de diffusion dédiée](https://list.netig.net/subscription/form). +Conformément aux statuts, toute demande d’adhésion est examinée par le Noyau. +L’adhésion prend effet après acceptation de la demande et paiement de la +cotisation annuelle fixée par l’Assemblée générale. Elle dure un an et se +renouvelle à chaque échéance si la cotisation est payée. La création d’un +compte utilisateur, lorsqu’elle sera proposée, ne vaudra pas à elle seule +adhésion à l’association. -### Utilisation et suspension +En cas d’impayé, une relance laisse trente jours pour régler la cotisation. +Pendant ce délai, le membre n’est plus considéré comme à jour : il ne peut +pas voter en Assemblée générale et ses accès aux services réservés aux +membres à jour peuvent être suspendus. À défaut de paiement à l’expiration +de ce délai, l’adhésion prend fin. -Chaque utilisateur doit respecter la loi, la vie privée d’autrui et la sécurité des services. Les services ne doivent pas être utilisés pour diffuser des contenus illicites, envoyer des communications abusives ou perturber le fonctionnement de l’infrastructure. +Les dons sont libres et volontaires. Ils contribuent au financement des +infrastructures, ne remplacent pas la cotisation nécessaire à l’adhésion +et ne donnent droit à aucun accès ou avantage particulier. -En cas d’abus ou de risque pour les utilisateurs ou les services, NETig peut limiter ou suspendre l’accès et, si nécessaire, désactiver le compte concerné. Un avertissement préalable est donné lorsque la situation le permet ; il peut être écarté en cas d’urgence, de risque de sécurité ou d’obligation légale. Les mesures prises sont adaptées à la situation. +L’accès à chaque service dépend des ressources disponibles et peut être +limité. Une disponibilité permanente n’est pas garantie. L’état des services +est consultable sur la [page de statut](https://status.netig.net/status/services). +Les interruptions de maintenance peuvent être annoncées par la +[liste de diffusion dédiée](https://list.netig.net/subscription/form). -Chaque utilisateur reste responsable des contenus qu’il publie, envoie ou stocke. Les services ne doivent pas être considérés comme l’unique moyen de conserver des données importantes ; il est recommandé de garder ses propres copies lorsque cela est possible. +### Utilisation des services + +Chaque utilisateur doit respecter la loi, la vie privée d’autrui et la +sécurité des services. Les services ne doivent pas être utilisés pour +diffuser des contenus illicites, envoyer des communications abusives ou +perturber le fonctionnement des infrastructures. + +Chaque utilisateur reste responsable des contenus qu’il publie, envoie +ou stocke. Les services ne doivent pas être considérés comme l’unique moyen +de conserver des données importantes ; il est recommandé de garder ses +propres copies lorsque cela est possible. + +### Suspension des accès + +La personne responsable d’un service peut limiter ou suspendre un accès +de manière proportionnée en cas d’abus ou de risque pour la sécurité, +les données, le fonctionnement ou les ressources du service. Elle informe +la personne concernée et le Noyau des motifs de la mesure. + +La personne concernée peut demander au Noyau de réexaminer cette mesure. +Le Noyau répond sous quinze jours. Si le Noyau a pris ou confirmé la mesure, +la personne concernée ou tout membre peut demander son réexamen par +l’Assemblée générale. La suspension d’un accès ne met pas fin à la qualité +de membre. + +Ces dispositions ne remplacent pas la procédure d’exclusion prévue par +les statuts. ### Désactivation et récupération des données -Vous pouvez demander la désactivation d’un compte ou d’un service, ainsi que la récupération ou la suppression des données associées, en écrivant à [contact@netig.net](mailto:contact@netig.net). L’export est fourni lorsqu’il est techniquement possible. La suppression reste soumise aux obligations légales de conservation et aux délais nécessaires à l’effacement des sauvegardes. Les données présentes dans les sauvegardes disparaissent au terme de leur durée de rétention. +Pour toute demande concernant un compte ou un service, notamment sa +désactivation, l’export ou la suppression des données associées, écrivez à +[contact@netig.net](mailto:contact@netig.net). L’export est fourni lorsqu’il +est techniquement possible. La suppression reste soumise aux obligations +légales de conservation et aux délais nécessaires à l’effacement des +sauvegardes. ## Données personnelles -### Responsable et utilisation des données +### Responsable du traitement et périmètre -Le responsable des traitements est l’association NETig (coordonnées ci-dessus). Selon les services utilisés, les données traitées peuvent comprendre les coordonnées et informations nécessaires à la gestion des adhésions et des comptes, les contenus que vous choisissez de transmettre ou de stocker, les échanges avec l’association et des journaux techniques nécessaires à la sécurité et au diagnostic des services. +**Responsable du traitement :** [à compléter : identité et coordonnées de +la personne ou de la structure qui détermine actuellement les finalités +et les moyens des traitements]. -Les données sont utilisées pour gérer les adhésions et les comptes, fournir les services demandés, répondre aux sollicitations, sécuriser l’infrastructure et respecter les obligations légales. Selon le traitement, sa base juridique peut être la gestion de la relation avec l’adhérent ou l’utilisateur, le respect d’une obligation légale ou l’intérêt légitime de protéger les services et leurs utilisateurs. Les données ne sont ni vendues ni utilisées à des fins publicitaires. +La présente notice décrit les traitements réalisés sur le site netig.net, +notamment par son formulaire de contact. Les services hébergés sur d’autres +adresses peuvent mettre en œuvre des traitements propres ; leurs modalités +spécifiques doivent être présentées dans les services concernés. -### Accès et hébergement +À la date de cette notice, le site netig.net ne propose pas encore de +création de compte utilisateur ni d’adhésion en ligne. Les informations +relatives à ces fonctions seront ajoutées avant leur mise en service. -Les données sont accessibles aux personnes habilitées à administrer les services, dans la mesure nécessaire à leur fonctionnement et à leur sécurité, ainsi qu’aux prestataires techniques concernés. Les infrastructures sont hébergées chez Hetzner Online GmbH. Les sauvegardes quotidiennes sont conservées en Finlande. +### Données traitées et finalités + +Le formulaire de contact recueille le nom, l’adresse électronique, l’objet +et le contenu du message. Ces informations sont utilisées pour répondre +aux demandes et assurer le suivi des échanges. + +Des données techniques nécessaires au fonctionnement et à la sécurité du +site peuvent également être traitées, notamment dans les journaux du +serveur. Leur nature et leur durée de conservation doivent être adaptées +à leur utilité réelle. + +Les données ne sont ni vendues ni utilisées à des fins publicitaires. + +### Base juridique + +Les messages sont traités dans le cadre de l’intérêt légitime à répondre +aux sollicitations adressées au projet NETig et à assurer le suivi des +échanges. Les données techniques nécessaires à la sécurité sont traitées +dans l’intérêt légitime de protéger le site, les services et leurs +utilisateurs. + +### Destinataires et hébergement + +Les messages sont transmis à l’adresse [contact@netig.net](mailto:contact@netig.net) +et peuvent être consultés par les personnes habilitées à répondre aux +demandes. Les données techniques peuvent être accessibles aux personnes +chargées de l’administration des infrastructures et aux prestataires +techniques concernés. + +L’hébergement principal est assuré par Hetzner Online GmbH. Des sauvegardes +quotidiennes sont conservées sur une Storage Box située en Finlande. ### Conservation -Les données sont conservées pendant la durée nécessaire à leur finalité, puis supprimées ou anonymisées, sauf obligation légale ou nécessité légitime de conservation. Les sauvegardes peuvent conserver temporairement des données supprimées jusqu’à l’expiration de leur durée de rétention. Les journaux techniques et de sécurité sont conservés pendant une durée limitée, nécessaire à la sécurité et au diagnostic des services. +Les messages reçus sont conservés dans la messagerie le temps nécessaire +au traitement de la demande et au suivi des échanges, puis supprimés, +sauf nécessité de conservation plus longue ou obligation légale. -**Avant publication, NETig doit définir et indiquer les durées de conservation réellement appliquées**, notamment pour les sauvegardes et les journaux techniques : [durées à compléter]. +Les journaux techniques et les sauvegardes peuvent conserver certaines +données après leur suppression des systèmes actifs. Les durées de +conservation effectivement appliquées doivent être précisées avant +l’ouverture des services concernés : + +- **Messages de contact :** [durée à définir]. +- **Journaux techniques :** [durée à définir]. +- **Sauvegardes :** [durée de rétention à définir]. ### Vos droits -Dans les conditions prévues par la réglementation, vous pouvez demander l’accès à vos données, leur rectification ou leur effacement, la limitation de leur traitement et vous opposer à certains traitements. Vous pouvez également demander la portabilité lorsque ce droit s’applique. Pour exercer vos droits, écrivez à [contact@netig.net](mailto:contact@netig.net). Vous pouvez introduire une réclamation auprès de la [CNIL](https://www.cnil.fr/). +Dans les conditions prévues par la réglementation, vous pouvez demander +l’accès à vos données, leur rectification ou leur effacement, la limitation +de leur traitement et vous opposer à certains traitements. Vous pouvez +également demander la portabilité lorsque ce droit s’applique. + +Pour exercer vos droits, écrivez à [contact@netig.net](mailto:contact@netig.net). +Vous pouvez également introduire une réclamation auprès de la +[CNIL](https://www.cnil.fr/). ### Cookies -Le site peut utiliser des cookies strictement nécessaires au fonctionnement des sessions et à la sécurité. +Le site utilise des cookies techniques nécessaires au fonctionnement +des sessions et à la sécurité. Ils ne sont pas utilisés à des fins de +publicité ou de suivi de navigation. ## Contact -Pour toute question concernant les services, les présentes conditions ou les données personnelles, écrivez à [contact@netig.net](mailto:contact@netig.net). +Pour toute question concernant le site, les services, les présentes +conditions ou les données personnelles, écrivez à +[contact@netig.net](mailto:contact@netig.net). diff --git a/lib/document_renderer.rb b/lib/document_renderer.rb new file mode 100644 index 0000000..df82c0b --- /dev/null +++ b/lib/document_renderer.rb @@ -0,0 +1,24 @@ +require "commonmarker" + +class DocumentRenderer + DOCUMENTS = { + legal: "legal.md", + statutes: "statutes.md" + }.freeze + + def self.render(name) + filename = DOCUMENTS.fetch(name) + path = File.expand_path("../doc/#{filename}", __dir__) + markdown = File.read(path, encoding: "UTF-8") + + Commonmarker.to_html( + markdown, + options: { + render: { + hardbreaks: false, + unsafe: false + } + } + ) + end +end diff --git a/netig.rb b/netig.rb index c836819..6532bc4 100644 --- a/netig.rb +++ b/netig.rb @@ -3,6 +3,7 @@ require "roda" require_relative "config/mail" require_relative "lib/contact_form" require_relative "lib/contact_mailer" +require_relative "lib/document_renderer" class Netig < Roda plugin :render, escape: true @@ -25,12 +26,24 @@ class Netig < Roda view "index" end + r.get "statutes" do + @page_title = "Statuts — NETig" + @page_description = "Statuts de l'association NETig." + @canonical_url = "https://netig.net/statutes" + + @document_html = DocumentRenderer.render(:statutes) + + view "document" + end + r.get "legal" do @page_title = "Mentions légales — NETig" @page_description = "Mentions légales de l'association NETig." @canonical_url = "https://netig.net/legal" - view "legal" + @document_html = DocumentRenderer.render(:legal) + + view "document" end end end diff --git a/views/document.erb b/views/document.erb new file mode 100644 index 0000000..4c5eaf8 --- /dev/null +++ b/views/document.erb @@ -0,0 +1,5 @@ +
+
+ <%== @document_html %> +
+
diff --git a/views/layout.erb b/views/layout.erb index d0ada2e..c590395 100644 --- a/views/layout.erb +++ b/views/layout.erb @@ -51,6 +51,7 @@