81 lines
1.9 KiB
Ruby
81 lines
1.9 KiB
Ruby
# Initialisation de l'environnement
|
|
require_relative "config/boot"
|
|
|
|
# Dépendances externes
|
|
require "roda"
|
|
require "rodauth"
|
|
|
|
# Composants de l'application
|
|
require_relative "lib/database"
|
|
require_relative "config/mail"
|
|
require_relative "lib/contact_form"
|
|
require_relative "lib/contact_mailer"
|
|
require_relative "lib/document_renderer"
|
|
|
|
# Configuration de 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
|
|
|
|
# Configuration de l'authentification
|
|
require_relative "config/rodauth"
|
|
|
|
# Autorisations et routes dédiées
|
|
require_relative "lib/authorization"
|
|
require_relative "routes/noyau"
|
|
require_relative "routes/contact"
|
|
|
|
# Routes des pages publiques
|
|
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
|