require "roda" require "rodauth" require_relative "lib/database" require_relative "config/mail" require_relative "lib/contact_form" require_relative "lib/contact_mailer" require_relative "lib/document_renderer" # Application et plugins Roda class Netig < Roda plugin :render, escape: true plugin :public plugin :default_headers, "Content-Type" => "text/html; charset=utf-8" plugin :sessions, secret: ENV.fetch("SESSION_SECRET") plugin :route_csrf, csrf_failure: :empty_403 plugin :hash_branches plugin :flash end # Authentification require_relative "config/rodauth" # Autorisations et routes secondaires require_relative "lib/authorization" require_relative "routes/noyau" require_relative "routes/contact" # Routes principales class Netig route do |r| r.rodauth r.public check_csrf! r.hash_branches # Accueil r.root do @canonical_url = "https://netig.net/" view "index" end # Statuts 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 # Mentions légales 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" @document_html = DocumentRenderer.render(:legal) view "document" end # Page temporaire r.get "temporary_page" do @page_title = "Page temporaire — NETig" @page_description = "Cette page n'existe pas encore." @canonical_url = "https://netig.net/temporary_page" view "temporary_page" end end end