feat(faq): dynamic substitutions support
Ce code avait été initalement codé, mais le contenu de la FAQ n'en a à ce stade plus besoin. On le garde sous le coude car c'est peu touchy et ça pourrait bientôt resservir.
This commit is contained in:
parent
e9920c76d5
commit
417cac5b83
3 changed files with 25 additions and 3 deletions
|
@ -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
|
||||
|
|
|
@ -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)
|
||||
|
|
|
@ -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 :
|
||||
|
|
Loading…
Reference in a new issue