diff --git a/app/controllers/faq_controller.rb b/app/controllers/faq_controller.rb index deafe5984..7f0009c30 100644 --- a/app/controllers/faq_controller.rb +++ b/app/controllers/faq_controller.rb @@ -21,7 +21,7 @@ class FAQController < ApplicationController application_base_url: Current.application_base_url, application_name: Current.application_name, contact_email: Current.contact_email - } + }.merge(dynamic_substitutions) FAQsLoaderService.new(substitutions) end @@ -36,4 +36,13 @@ class FAQController < ApplicationController rescue KeyError raise ActionController::RoutingError.new("FAQ not found: #{path}") end + + # Hash of dynamic values used for substitutions. + # The values are fetched from or calculated into the Rails cache. + def dynamic_substitutions + { + # Example: + # procedures_count: Rails.cache.fetch("faq/procedures_count", expires_in: 1.day) { helpers.number_with_delimiter(Procedure.publiee.count, delimiter: ' ') }, + } + end end diff --git a/app/services/faqs_loader_service.rb b/app/services/faqs_loader_service.rb index 563a05775..be2434d83 100644 --- a/app/services/faqs_loader_service.rb +++ b/app/services/faqs_loader_service.rb @@ -9,13 +9,13 @@ class FAQsLoaderService def initialize(substitutions) @substitutions = substitutions - @faqs_by_path ||= Rails.cache.fetch(["faqs_data", ApplicationVersion.current, substitutions], expires_in: 1.week) do + @faqs_by_path ||= Rails.cache.fetch(["faqs_data", ApplicationVersion.current, substitutions], expires_in: 1.day) do load_faqs end end def find(path) - Rails.cache.fetch(["faq", path, ApplicationVersion.current, substitutions], expires_in: 1.week) do + Rails.cache.fetch(["faq", path, ApplicationVersion.current, substitutions], expires_in: 1.day) do file_path = @faqs_by_path.fetch(path).fetch(:file_path) parse_with_substitutions(file_path) diff --git a/doc/faqs/usager/comment-trouver-ma-demarche.fr.md b/doc/faqs/usager/comment-trouver-ma-demarche.fr.md index 49fff79ae..4d4a368d6 100644 --- a/doc/faqs/usager/comment-trouver-ma-demarche.fr.md +++ b/doc/faqs/usager/comment-trouver-ma-demarche.fr.md @@ -9,6 +9,19 @@ title: "Comment trouver ma démarche ?" # Comment trouver ma démarche ? +> [!INFO] +> *%{application_name}* est un service de la direction interministérielle du numérique, service du Premier ministre, +intervenant sous l’égide du ministère de la Transformation et de la Fonction publiques, +permettant aux administrations publiques de l’État, aux opérateurs et collectivités de dématérialiser leurs démarches administratives. + +> À ce jour, [%{procedures_count} formulaires sont disponibles sur %{application_name}](/stats), mis en oeuvre par %{services_count} services et organismes publics. +> +> Les administrations peuvent utiliser d’autres dispositifs de dématérialisation et dont vous pouvez retrouver les informations sur le site [services-public.fr](https://www.service-public.fr), ou bien à partir des sites internet de chaque organisme. + +> Ce site ne répertorie donc pas l’ensemble des démarches en ligne déployées par les administrations et services publics. Nous vous invitons à parcourir [service-public.fr](https://www.service-public.fr), le site officiel d’information et de démarches administratives si vous avez une question sur vos droits, une démarche à faire pour être davantage guidé(e). +> +> Pour effectuer un dépôt sur %{application_name} vous devez notamment disposer d’un lien qui vous a été communiqué par l’administration. + ## 1. Trouver le lien de votre démarche Pour déposer un dossier sur %{application_name}, il est nécessaire de disposer du lien de la démarche qui vous intéresse. Il ressemble à un lien de cette forme :