{"id":23437,"date":"2016-09-02T13:24:00","date_gmt":"2016-09-02T13:24:00","guid":{"rendered":"https:\/\/site.axamit.com\/?p=631"},"modified":"2026-06-23T08:01:19","modified_gmt":"2026-06-23T08:01:19","slug":"que-sont-les-regles-de-reecriture-daem-dispatcher","status":"publish","type":"post","link":"https:\/\/axamit.com\/fr\/blog\/adobe-experience-manager\/que-sont-les-regles-de-reecriture-daem-dispatcher\/","title":{"rendered":"Que sont les r\u00e8gles de r\u00e9\u00e9criture d&rsquo;AEM Dispatcher ?"},"content":{"rendered":"<div class=\"custom-toc\"><ul><li class=\"h2-toc\"><a href=\"#rewrite-module\">Module de r\u00e9\u00e9criture<\/a><\/li><li class=\"h2-toc\"><a href=\"#repository-mappings-tree-etc-map\">Arbre des mappages de r\u00e9f\u00e9rentiel \/etc\/map<\/a><\/li><li class=\"h2-toc\"><a href=\"#resourceprovider-interface\">Interface ResourceProvider<\/a><\/li><li class=\"h2-toc\"><a href=\"#summary\">R\u00e9sum\u00e9<\/a><\/li><li class=\"h2-toc\"><a href=\"#faq\">FAQ<\/a><\/li><\/ul><\/div>\n<div class=\"wp-block-columns is-layout-flex wp-container-core-columns-is-layout-8f761849 wp-block-columns-is-layout-flex\">\n<div class=\"wp-block-column is-layout-flow wp-block-column-is-layout-flow\">\n<p class=\"wp-block-paragraph\"><em>Voir aussi :<\/em><\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><a href=\"http:\/\/axamit.com\/blog\/adobe-experience-manager\/aem-dispatcher\/\" data-type=\"post\" data-id=\"2473\">Partie 1 : Br\u00e8ve pr\u00e9sentation du Dispatcher et de ses objectifs<\/a><\/li>\n\n\n\n<li><a href=\"http:\/\/axamit.com\/blog\/adobe-experience-manager\/dispatcher-cache\/\" data-type=\"post\" data-id=\"2487\">Partie 2. Param\u00e8tres initiaux pour activer le cache<\/a><\/li>\n\n\n\n<li><a href=\"http:\/\/axamit.com\/blog\/adobe-experience-manager\/dispatcher-clear-cache\/\" data-type=\"post\" data-id=\"2488\">Partie 3. Invalidation du cache<\/a><\/li>\n<\/ul>\n<\/div>\n<\/div>\n\n<div class=\"wp-block-columns is-layout-flex wp-container-core-columns-is-layout-8f761849 wp-block-columns-is-layout-flex\">\n<div class=\"wp-block-column is-layout-flow wp-block-column-is-layout-flow\">\n<p class=\"wp-block-paragraph\">Que sont les r\u00e8gles de r\u00e9\u00e9criture du Dispatcher AEM ? Notre expert certifi\u00e9 AEM met en lumi\u00e8re les 5 meilleures fa\u00e7ons avanc\u00e9es d&rsquo;utiliser le Dispatcher pour la production et le d\u00e9veloppement.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Maintenant que vous savez comment ajuster les param\u00e8tres de base du Dispatcher, il est temps de plonger dans les r\u00e9glages avanc\u00e9s. Ces r\u00e9glages vous seront n\u00e9cessaires pour affiner l&rsquo;environnement de production et seront \u00e9galement utiles pendant le processus de d\u00e9veloppement.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Ci-dessous, je d\u00e9cris quelques outils utiles pour l&rsquo;utilisation avanc\u00e9e du Dispatcher :<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>outils de serveurs web statiques\n<ul class=\"wp-block-list\">\n<li>module de r\u00e9\u00e9criture<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li>outils AEM pour les mappages\n<ul class=\"wp-block-list\">\n<li>arbre des mappages de r\u00e9f\u00e9rentiel \/etc\/map<\/li>\n\n\n\n<li>Interface ResourceProvider<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<\/div>\n<\/div>\n\n<div class=\"wp-block-columns is-layout-flex wp-container-core-columns-is-layout-8f761849 wp-block-columns-is-layout-flex\">\n<div class=\"wp-block-column is-layout-flow wp-block-column-is-layout-flow\">\n<h2 class=\"wp-block-heading\" id=\"rewrite-module\">Module de r\u00e9\u00e9criture<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Vous pouvez activer le module de r\u00e9\u00e9criture en d\u00e9commentant la ligne suivante dans votre fichier httpd.conf :<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>LoadModule rewrite_module modules\/mod_rewrite.so\n<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Les param\u00e8tres initiaux du module de r\u00e9\u00e9criture peuvent ressembler \u00e0 ceci :<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>&lt;IfModule mod_rewrite.c&gt;\n    RewriteEngine On\n    RewriteLog \"logs\/rewrite.log\"\n    RewriteLogLevel 9\n#    your rule 1\n#    your rule 2\n    \u2026\n#    your rule n\n&lt;\/IfModule&gt;\n<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Voici un exemple simple d&rsquo;utilisation du module de r\u00e9\u00e9criture :<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>RewriteRule ^\/en(.*)\\.html$ \/content\/geometrixx\/en$1.html &#91;R]\n<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Cette r\u00e8gle de r\u00e9\u00e9criture fournit une redirection externe.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Documentation d\u00e9taill\u00e9e et utile : <a href=\"http:\/\/httpd.apache.org\/docs\/2.2\/mod\/mod_rewrite.html\" target=\"_blank\" rel=\"noopener\">http:\/\/httpd.apache.org\/docs\/2.2\/mod\/mod_rewrite.html<\/a><\/p>\n<\/div>\n<\/div>\n\n<div class=\"wp-block-columns is-layout-flex wp-container-core-columns-is-layout-8f761849 wp-block-columns-is-layout-flex\">\n<div class=\"wp-block-column is-layout-flow wp-block-column-is-layout-flow\">\n<h2 class=\"wp-block-heading\" id=\"repository-mappings-tree-etc-map\">Arbre des mappages de r\u00e9f\u00e9rentiel \/etc\/map<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Le mappage de ressources est utilis\u00e9 pour d\u00e9finir les redirections, les URL conviviales (vanity URLs) et les h\u00f4tes virtuels pour AEM :<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>\/etc\/map &#8211; arbre des mappages de ressources ;<\/li>\n\n\n\n<li>\/etc\/map\/http &#8211; mappages de ressources pour les requ\u00eates http.<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">Les d\u00e9finitions de mappages de votre instance AEM se trouvent \u00e0 l&rsquo;adresse : http:\/\/host:port\/system\/console\/jcrresolver<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Exemple : mappage qui pr\u00e9fixe toute requ\u00eate vers http:\/\/localhost:4503 avec le pr\u00e9fixe \/content :<\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li>Cr\u00e9ez un n\u0153ud sous \/etc\/map\/http de type \u201csling:Mapping\u201d avec le nom \u201clocalhost_any\u201d ;<\/li>\n\n\n\n<li>Ajoutez des propri\u00e9t\u00e9s \u00e0 ce n\u0153ud :\n<ul class=\"wp-block-list\">\n<li>Nom \u201csling:match\u201d, type \u201cString\u201d, valeur \u201clocalhost.4503\/\u201d ;<\/li>\n\n\n\n<li>Nom \u201csling:internalRedirect\u201d, type \u201cString\u201d, valeur \u201c\/content\/\u201d.<\/li>\n<\/ul>\n<\/li>\n<\/ol>\n\n\n\n<p class=\"wp-block-paragraph\">Ce mappage g\u00e9rera une requ\u00eate telle que\u00a0http:\/\/localhost:4503\/geometrixx\/en\/products.html\u00a0comme si\u00a0http:\/\/localhost:4503\/content\/geometrixx\/en\/products.html\u00a0\u00e9tait demand\u00e9e. Cet exemple rompt les requ\u00eates vers les clientlibs et vers d&rsquo;autres ressources plac\u00e9es en dehors de l&rsquo;arborescence des ressources de contenu.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Documentation d\u00e9taill\u00e9e et utile :<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><a href=\"https:\/\/docs.adobe.com\/docs\/en\/cq\/5-6-1\/deploying\/resource_mapping.html\" target=\"_blank\" rel=\"noopener\">https:\/\/docs.adobe.com\/docs\/en\/cq\/5-6-1\/deploying\/resource_mapping.html<\/a><\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><a href=\"https:\/\/sling.apache.org\/documentation\/the-sling-engine\/mappings-for-resource-resolution.html\" target=\"_blank\" rel=\"noopener\">https:\/\/sling.apache.org\/documentation\/the-sling-engine\/mappings-for-resource-resolution.html<\/a><\/p>\n<\/div>\n<\/div>\n\n<div class=\"wp-block-columns is-layout-flex wp-container-core-columns-is-layout-8f761849 wp-block-columns-is-layout-flex\">\n<div class=\"wp-block-column is-layout-flow wp-block-column-is-layout-flow\">\n<h2 class=\"wp-block-heading\" id=\"resourceprovider-interface\">Interface ResourceProvider<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Vous pouvez utiliser l&rsquo;interface ResourceProvider pour cr\u00e9er vos propres arborescences de ressources.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>public interface ResourceProvider {\n    Resource getResource(ResourceResolver var1, String var2);\n    Iterator&lt;Resource&gt; listChildren(Resource var1);\n}\n<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Vous pouvez d\u00e9finir des chemins racine pour votre impl\u00e9mentation du ResourceProvider :<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>@Properties({\n       @Property(\n               label = \"Root paths\",\n               description = \"Root paths this Sling Resource Provider will respond to\",\n               name = ResourceProvider.ROOTS,\n               value = {\"\/content\/mount\/samples\"})\n})\n<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Documentation d\u00e9taill\u00e9e et utile :\u00a0<a href=\"https:\/\/sling.apache.org\/documentation\/the-sling-engine\/resources.html\" target=\"_blank\" rel=\"noopener\">https:\/\/sling.apache.org\/documentation\/the-sling-engine\/resources.html<\/a><\/p>\n<\/div>\n<\/div>\n\n<div class=\"wp-block-columns is-layout-flex wp-container-core-columns-is-layout-8f761849 wp-block-columns-is-layout-flex\">\n<div class=\"wp-block-column is-layout-flow wp-block-column-is-layout-flow\">\n<h2 class=\"wp-block-heading\" id=\"summary\">R\u00e9sum\u00e9<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Les trois outils mentionn\u00e9s ci-dessus apportent des am\u00e9liorations suppl\u00e9mentaires lors de l&rsquo;utilisation du dispatcher :<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Module de r\u00e9\u00e9criture Httpd ;<\/li>\n\n\n\n<li>Arborescence des mappages AEM ;<\/li>\n\n\n\n<li>Interface ResourceProvider.<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">Nous n&rsquo;avons fait qu&rsquo;un bref aper\u00e7u de ces outils. Si vous souhaitez les utiliser efficacement, vous devez consulter la documentation d\u00e9taill\u00e9e correspondante pour chaque outil.<\/p>\n<\/div>\n<\/div>\n\n<div class=\"wp-block-columns is-layout-flex wp-container-core-columns-is-layout-8f761849 wp-block-columns-is-layout-flex\">\n<div class=\"wp-block-column is-layout-flow wp-block-column-is-layout-flow\">\n<h2 class=\"wp-block-heading\" id=\"faq\">FAQ<\/h2>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"how-do-you-restart-the-dispatcher-in-aem-\">Comment red\u00e9marrer le dispatcher dans AEM ?<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Le Dispatcher AEM est un module qui s&rsquo;ex\u00e9cute sur des serveurs web d&rsquo;entreprise. Par exemple, sur Apache httpd 2.4.x, la commande suivante peut \u00eatre utilis\u00e9e pour le red\u00e9marrer : sudo \/etc\/init.d\/apache2 restart.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"what-is-the-difference-between-rewrite-and-redirect-\">Quelle est la diff\u00e9rence entre la r\u00e9\u00e9criture et la redirection ?<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Les manipulations d&rsquo;URL, telles que les r\u00e9\u00e9critures et les redirections, peuvent \u00eatre utilis\u00e9es pour masquer la structure interne d&rsquo;un site web, rendre les URL conviviales et g\u00e9rer les URL h\u00e9rit\u00e9es. Avec la r\u00e9\u00e9criture, le serveur modifie l&rsquo;URL demand\u00e9e \u00e0 la vol\u00e9e, en fonction de r\u00e8gles pr\u00e9d\u00e9finies, avant de renvoyer le contenu associ\u00e9 \u00e0 l&rsquo;URL modifi\u00e9e au visiteur. L&rsquo;URL d&rsquo;origine reste visible pour le visiteur. Avec la redirection, le serveur envoie une r\u00e9ponse au navigateur du visiteur, lui indiquant de demander une URL diff\u00e9rente. Le navigateur demande ensuite la nouvelle URL et le visiteur voit la page associ\u00e9e \u00e0 cette nouvelle URL.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"what-is-the-etc-map-in-aem-\">Qu&rsquo;est-ce que la carte ETC dans AEM ?<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Le dossier \/etc\/map\/ dans AEM est utilis\u00e9 pour cr\u00e9er des d\u00e9finitions de mappage de ressources internes. Par exemple, le sous-dossier \/etc\/map\/http contient des mappages pour le protocole HTTP qui permettent de d\u00e9finir des redirections, des URL de vanit\u00e9 et des h\u00f4tes virtuels pour AEM.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"how-url-shortening-is-done-in-aem-\">Comment la r\u00e9duction d&rsquo;URL est-elle effectu\u00e9e dans AEM ?<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">La r\u00e9duction d&rsquo;URL peut \u00eatre effectu\u00e9e en utilisant Sling Resource Resolver Factory si vous avez besoin d&rsquo;appliquer des r\u00e8gles simples, telles que la suppression de nombreux sous-dossiers de la cha\u00eene d&rsquo;URL, ou en utilisant Sling Mapping pour des sc\u00e9narios plus complexes.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"how-does-sling-resolution-work-in-aem-\">Comment fonctionne la r\u00e9solution Sling dans AEM ?<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Apache Sling est utilis\u00e9 pour faire correspondre les URL de requ\u00eates entrantes \u00e0 des \u00e9l\u00e9ments de contenu sp\u00e9cifiques dans le r\u00e9f\u00e9rentiel JCR. Le r\u00e9f\u00e9rentiel a une structure hi\u00e9rarchique et chaque \u00e9l\u00e9ment de contenu qu&rsquo;il contient poss\u00e8de un chemin de ressource long et unique. Pour d\u00e9terminer le contenu correspondant, Apache Sling applique un ensemble de r\u00e8gles pr\u00e9d\u00e9finies et de filtres de type de ressource.<\/p>\n<\/div>\n<\/div>\n","protected":false},"excerpt":{"rendered":"<p>Module de r\u00e9\u00e9criture Arbre des mappages de r\u00e9f\u00e9rentiel \/etc\/map Interface ResourceProvider R\u00e9sum\u00e9 FAQ Voir aussi : Que sont [&hellip;]<\/p>\n","protected":false},"author":11,"featured_media":5015,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"inline_featured_image":false,"footnotes":""},"categories":[159],"tags":[],"class_list":["post-23437","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-adobe-experience-manager"],"acf":{"cta":"Give Us a Call","phone":"+1 (438) 383-6878","meta-description":"Comment utiliser les param\u00e8tres avanc\u00e9s du Dispatcher AEM pour affiner l'environnement de production et simplifier le d\u00e9veloppement : module de r\u00e9\u00e9criture HTTP, arbre des mappages de r\u00e9f\u00e9rentiel, interface du fournisseur de ressources."},"_links":{"self":[{"href":"https:\/\/axamit.com\/fr\/wp-json\/wp\/v2\/posts\/23437","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/axamit.com\/fr\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/axamit.com\/fr\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/axamit.com\/fr\/wp-json\/wp\/v2\/users\/11"}],"replies":[{"embeddable":true,"href":"https:\/\/axamit.com\/fr\/wp-json\/wp\/v2\/comments?post=23437"}],"version-history":[{"count":1,"href":"https:\/\/axamit.com\/fr\/wp-json\/wp\/v2\/posts\/23437\/revisions"}],"predecessor-version":[{"id":23438,"href":"https:\/\/axamit.com\/fr\/wp-json\/wp\/v2\/posts\/23437\/revisions\/23438"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/axamit.com\/fr\/wp-json\/wp\/v2\/media\/5015"}],"wp:attachment":[{"href":"https:\/\/axamit.com\/fr\/wp-json\/wp\/v2\/media?parent=23437"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/axamit.com\/fr\/wp-json\/wp\/v2\/categories?post=23437"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/axamit.com\/fr\/wp-json\/wp\/v2\/tags?post=23437"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}