Fermer

avril 9, 2022

Intégration Talend et Slack – Perficient Blogs


Si votre entreprise utilise Talend pour l'intégration de données et Slack pour la communication professionnelle, il est intéressant d'intégrer les deux. Talend permettra aux utilisateurs de Slack de se connecter aux informations dont ils ont besoin. Envoyer un message ou envoyer un fichier à Slack, les deux peuvent être réalisés en utilisant Talend.

Voici deux exemples de scénarios pour montrer comment c'est fait.

  1. Envoi de messages à Slack via Talend.

    Slack utilise lechat.postMessage API pour envoyer des messages aux canaux Slack.

    Dans Talend, unpeineLe composant est utilisé pour l'appel d'API.

    Peine

    Comp de Trest

    Le type de contenu ici est application/json. Le jeton d'autorisation fourni doit être une autorisation au porteur.

    Dans le corps HTTP – les instructions sont écrites en json puisque nous avons sélectionné application/json comme type de contenu. La balise de canal doit avoir l'ID de canal du canal Slack où le message est envoyé. La balise de message doit contenir le message que vous souhaitez imprimer dans le canal. De plus, les valeurs d'ID de canal et de message sont contextualisées pour une meilleure gestion du code. Enfin, exécutez le travail avec succès.

    De plus, ajoutez un bot slack aux canaux de Slack où vous souhaitez que les API interagissent. Dans Slack, un bot est contrôlé par programmation via un jeton d'utilisateur de bot qui peut accéder à une ou plusieurs API de Slack. Un bot peut publier des messages et télécharger des fichiers.

    Voici un exemple de message lâche dupeineComposant d'un Job Talend.

    Message mou

  2. Envoi du fichier vers Slack via Talend.

    LetSystème Le composant est utilisé pour envoyer des fichiers de Talend vers Slack. Il est utilisé pour exécuter des commandes shell depuis Talend.

    Tsystème

    Slack utilise lefichiers.upload API pour télécharger des fichiers sur les canaux Slack.

    Créez un fichier de script shell -> slack_upload.sh

    Utilisez la commande suivante :

    #!/bin/bash curl -F fichier=@$1 -F canaux=$2 -F titre=$3 -H Autorisation :https://slack.com/api/files.upload

    Disséquer la requête :

    1. Curl vous permet de parler au serveur en spécifiant l'URL et les données que vous souhaitez envoyer.
    2. La commande -F émet une requête http avec les données de soumission du formulaire.
    3. Les paramètres que nous avons définis sont : Fichier – Chemin et nom du fichier à télécharger ; Canal – Canal Slack ; Titre – Titre du message Slack.
    4. -H agit comme en-tête d'une requête.
    5. La balise d'autorisation attend le jeton Bearer nécessaire à l'autorisation
    6. Enfin, l'API de téléchargement de fichiers Slack – files.upload est appelée.

     

    Dans letSystèmecomposant – exécutez le script slack_upload.sh.

    Syntaxe –

    sh </p><pre class="EnlighterJSRAW" data-enlighter-language="shell">sh /home/user/slack_upload.sh /home/user/test.txt C02GJSFCD0Q,CTK3A5PH8 factice</pre><div class="field field-normal"><p>Remarque : Vous pouvez spécifier plusieurs canaux de marge.</p></div><p>Exemple de sortie de la commande :</p><p><img decoding="async" loading="lazy" class="size-full wp-image-307692 aligncenter" src="https://i0.wp.com/blogs.perficient.com/files/Slack_upload.jpg?resize=665%2C131&ssl=1" alt="Téléchargement lâche" width="665" height="131" srcset="https://i0.wp.com/blogs.perficient.com/files/Slack_upload.jpg?w=665&ssl=1 665w, https://i0.wp.com/blogs.perficient.com/files/Slack_upload.jpg?resize=300%2C59&ssl=1 300w, https://i0.wp.com/blogs.perficient.com/files/Slack_upload.jpg?resize=600%2C118&ssl=1 600w, https://i0.wp.com/blogs.perficient.com/files/Slack_upload.jpg?resize=640%2C126&ssl=1 640w, https://i0.wp.com/blogs.perficient.com/files/Slack_upload.jpg?resize=500%2C98&ssl=1 500w" sizes="(max-width: 665px) 100vw, 665px" data-recalc-dims="1"/></p></li></ol><p>En conclusion, l'intégration de Talend à Slack est transparente et utile pour la communication automatisée.</p><p></p><div class="author-avatar-and-name"><div class="author-avatar-and-name-avatar"> <a href="https://blogs.perficient.com/author/ksen/" style="float: left; margin-right: 1rem;"><img decoding="async" src="https://i0.wp.com/blogs.perficient.com/wp-content/uploads/avatars/1447/1558625757-bpfull.jpg?w=180" alt="" class=" avatar avatar-180 photo user-1447-avatar" width="180" height="180"/></a></div></p></div></p></div><p><script defer src="data:text/javascript;base64,CiAgICAgIWZ1bmN0aW9uKGYsYixlLHYsbix0LHMpe2lmKGYuZmJxKXJldHVybjtuPWYuZmJxPWZ1bmN0aW9uKCl7bi5jYWxsTWV0aG9kwqA/ICBuLmNhbGxNZXRob2QuYXBwbHkobixhcmd1bWVudHMpOm4ucXVldWUucHVzaChhcmd1bWVudHMpfTtpZighZi5fZmJxKWYuX2ZicT1uOyAgbi5wdXNoPW47bi5sb2FkZWQ9ITA7bi52ZXJzaW9uPSYjMzk7Mi4wJiMzOTs7bi5xdWV1ZT1bXSA7dD1iLmNyZWF0ZUVsZW1lbnQoZSk7dC5hc3luYz0hMDsgIHQuc3JjPXY7cz1iLmdldEVsZW1lbnRzQnlUYWdOYW1lKGUpWzBdIDtzLnBhcmVudE5vZGUuaW5zZXJ0QmVmb3JlKHQscyl9KGZlbsOqdHJlLCBkb2N1bWVudCwmIzM5O3NjcmlwdCYjMzk7LCYjMzk7aHR0cHM6Ly9jb25uZWN0LmZhY2Vib29rLm5ldC9lbl9VUy9mYmV2ZW50cy5qcyYjMzk7KTsgIGZicSgmIzM5O2luaXQmIzM5OywgJiMzOTs5MTE0MzY2NjU1NzI3MjAmIzM5Oyk7ICBmYnEoJiMzOTt0cmFjayYjMzk7LCAmcXVvdDtQYWdlVmlldyZxdW90Oyk7"></script><br /> <br /><div class="clearfix button-collection container text-center "></div><div class="clearfix button-collection container text-center "></div><div class="clearfix button-collection container text-center "><a id="layers-widget-layers-pro-call-to-action-3-buttons-554" class="button " href="https://arcoptimizer.com/botinstagram?utm_source=bottom_article_blog&utm_medium=cta&utm_campaign=corporate_estimation"> Le meilleur outil 2023 pour ta croissance Instagram ! </a></div><div class="clearfix text-center "> <button class="circle-action-btn"><div class="circle-action-btn__icon"><i class="ion-speedometer"></i></div> </button></div> <br> <script async src="//pagead2.googlesyndication.com/pagead/js/adsbygoogle.js"></script> <ins class="adsbygoogle" style="display:block; text-align:center;" data-ad-layout="in-article" data-ad-format="fluid" data-ad-client="ca-pub-2247171909266990" data-ad-slot="5039287111"></ins> <script>(adsbygoogle = window.adsbygoogle || []).push({});</script><br /> <br /><a href="https://blogs.perficient.com/2022/04/09/talend-and-slack-integration/" target="_blank" rel="follow noopener noreferrer">Source link </a></p><div class="sharedaddy sd-sharing-enabled"><div class="robots-nocontent sd-block sd-social sd-social-icon sd-sharing"><h3 class="sd-title">Partager :</h3><div class="sd-content"><ul><li class="share-twitter"><a rel="nofollow noopener noreferrer" data-shared="sharing-twitter-83290" class="share-twitter sd-button share-icon no-text" href="https://blog.arcoptimizer.com/integration-talend-et-slack-perficient-blogs?share=twitter" target="_blank" title="Cliquez pour partager sur Twitter" ><span></span><span class="sharing-screen-reader-text">Cliquez pour partager sur Twitter(ouvre dans une nouvelle fenêtre)</span></a></li><li class="share-facebook"><a rel="nofollow noopener noreferrer" data-shared="sharing-facebook-83290" class="share-facebook sd-button share-icon no-text" href="https://blog.arcoptimizer.com/integration-talend-et-slack-perficient-blogs?share=facebook" target="_blank" title="Cliquez pour partager sur Facebook" ><span></span><span class="sharing-screen-reader-text">Cliquez pour partager sur Facebook(ouvre dans une nouvelle fenêtre)</span></a></li><li class="share-end"></li></ul></div></div></div></p><div id='jp-relatedposts' class='jp-relatedposts' ><h3 class="jp-relatedposts-headline"><em>Articles similaires</em></h3></div></div><footer class="meta-info"><p><span class="meta-item meta-date"><i class="l-clock-o"></i> avril 9, 2022</span> <span class="meta-item meta-tags"><i class="l-tags"></i> <a href="https://blog.arcoptimizer.com/tag/slack" title="View all posts tagged Slack">Slack</a>, <a href="https://blog.arcoptimizer.com/tag/talend" title="View all posts tagged Talend">Talend</a></span></p></footer></article></div></div><div id="back-to-top"> <a href="#top">Revenir vers le haut</a></div></section><footer id="footer" class="footer-site invert"><div class="container content clearfix"><div class="row copyright"><div class="column span-6"><p class="site-text">Copyright arcoptimizer.com <script>document.write(new Date().getFullYear())</script> article@arcoptimizer.com</p></div><div class="column span-6 clearfix t-right"><nav class="nav nav-horizontal pull-right"><ul id="menu-menu_footer" class="menu"><li id="menu-item-142202" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-142202"><a href="mailto:article@arcoptimizer.com"><i class='fa fa-envelope'></i></a></li><li id="menu-item-142203" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-142203"><a href="http://article@arcoptimizer.com">article@arcoptimizer.com</a></li></ul></nav></div></div></div></footer><div class="search-interface-overlay"><form role="search" method="get" class="search-interface-holder" action="https://blog.arcoptimizer.com/"> <label class="search-text"> Search: </label> <input type="text" id="layers-modal-search-field" class="search-field" placeholder="Type Something" value="" name="s" title="Search for:" autocomplete="off" autocapitalize="off" ></form> <a href="#" class="search-close"> <i class="l-close"></i> </a></div></section><style type="text/css">@media (max-width: 480px) { .ednpro_main_wrapper{display:none; } }</style><div class="ednpro_main_wrapper ednpro_section"><div class="edn-close-section" id="apex_cookie_0" ><div class="edn-notify-bar edn-position-bottom edn-visibility-show-time edn-custom-template edn_no_close_button" id="edn_custom_template" data-barid="apexbar-0" data-postid="83290"> <input type="hidden" id='effect_type0' value="edn_pro_static"/> <input type="hidden" class='edn_social_optons' value="0"/> <input type="hidden" class='edn_right_optons' value="1"/><div class="edn-container apexnb-bartypeedn_pro_static"><style type="text/css">.edn-notify-bar .edn-custom-design-wrapper .ticker-wrapper .ticker, .edn-notify-bar .ticker-wrapper .ticker{ font-family: default; font-size: 22px; background-color: #1e73be; } /*added custom css*/ .edn-custom-template[data-barid=apexbar-0] .edn-custom-design-wrapper, .edn-custom-template[data-barid=apexbar-0], .edn-custom-template[data-barid=apexbar-0] .edn-contact-lightbox .edn-contact-lightbox-inner-wrap, .edn-custom-template[data-barid=apexbar-0] .edn-contact-close, .edn-custom-template[data-barid=apexbar-0] .edn-contact-lightbox-inner-wrap{ font-family: default; font-size: 22px; background-color: #1e73be; } .edn-custom-template[data-barid=apexbar-0] .edn-contact-lightbox-inner-wrap label{ } .edn-custom-template[data-barid=apexbar-0] .edn-mulitple-text-content, .edn-custom-template[data-barid=apexbar-0] .edn_static_text, .slider_template_wrapper .edn-tweet-content, .edn-post-title-wrap .edn-post-title li, .edn-custom-template[data-barid=apexbar-0] .edn_static_text, .slider_template_wrapper .edn-tweet-content, .edn-post-title-wrap .edn-post-title li, .edn-custom-template[data-barid=apexbar-0] .edn-tweet-content, .edn-custom-template[data-barid=apexbar-0] .edn-tweet-content a, .edn-custom-template[data-barid=apexbar-0] .ticker-content, .edn-custom-template[data-barid=apexbar-0] a, .edn-custom-template[data-barid=apexbar-0] .ticker-wrapper .ticker-content a, .edn-custom-template[data-barid=apexbar-0] .ticker-wrapper .ticker-content .edn-tweet-content, .edn-custom-template[data-barid=apexbar-0] .ticker-wrapper .edn-mulitple-text-content{ font-family: default; font-size: 22px; } .edn-custom-template[data-barid=apexbar-0] .edn-contact-form-wrap .edn-contact-close{ background-color: #1e73be; } /*tweets*/ .edn-custom-template[data-barid=apexbar-0] .ticker-wrapper .edn-post-title-readmore{ font-family: default; font-size: 22px; } /*ticker custom design start*/ .edn-custom-template[data-barid=apexbar-0] .ticker-wrapper .ticker-content a{ margin-left: 8px; } .edn-custom-template[data-barid=apexbar-0] .ticker_pattern .edn-ticker-wrapper .ticker-wrapper .ticker-swipe{ background-color: #1e73be; } /*ticker custom design end*/ .edn-custom-template[data-barid=apexbar-0] .edn-contact-close,input[type="button"].edn-contact-submit{ background-color: #1e73be; } .edn-custom-template[data-barid=apexbar-0] a.edn-controls-close,input[type="button"].edn-contact-submit{ color: #000000; } .edn-custom-template[data-barid=apexbar-0] .edn-social-heading-title{ font-size: 22px; } /*Custom Subscribe Form CSS ADDED*/ .edn-custom-template[data-barid=apexbar-0] h1, .edn-custom-template[data-barid=apexbar-0] h2, .edn-custom-template[data-barid=apexbar-0] h3, .edn-custom-template[data-barid=apexbar-0] h4, .edn-custom-template[data-barid=apexbar-0] h5, .edn-custom-template[data-barid=apexbar-0] h6, .edn-custom-template[data-barid=apexbar-0] .edn-subscribe-form .edn-front-title h3{ font-size: 22px; } .edn-custom-template[data-barid=apexbar-0] .edn-subscribe-form .edn-front-title h3 span{ } .edn-custom-template[data-barid=apexbar-0] .edn-subscribe-form .edn-front-title .show_icon i{ } /*Constant Contact Subscribe Form CSS END*/ /* For all CUstom buttons start */ .edn-custom-template[data-barid=apexbar-0] .edn-form-field .constant_subscribe, .edn-custom-template[data-barid=apexbar-0] .edn-subscribe-form .edn-form-field .edn_subs_submit_ajax, .edn-custom-template[data-barid=apexbar-0] .edn-custom-contact-link, .edn-custom-template[data-barid=apexbar-0] .edn-temp1-static-button, .edn-custom-template[data-barid=apexbar-0] .apexnb-search-layout1 .apex-search-right-section .btn-search-now, .edn-custom-template[data-barid=apexbar-0] .edn_static_text .edn-call-action-button a, .edn-custom-template[data-barid=apexbar-0] .edn-call-action-button a, .edn-custom-template[data-barid=apexbar-0] .edn-contact-lightbox .edn-form-field .edn-field input.edn-contact-submit{ background: #eeee22; color: #000000; font-family: default; } .edn-custom-template[data-barid=apexbar-0] .edn_static_text .edn-call-action-button a:hover, .edn-custom-template.edn-notify-bar .edn-custom-contact-link:hover, .edn-custom-template[data-barid=apexbar-0] .apexnb-search-layout1 .apex-search-right-section .btn-search-now:hover, .edn-custom-template[data-barid=apexbar-0] .edn-subscribe-form .edn-form-field .edn_subs_submit_ajax:hover, .edn-custom-template[data-barid=apexbar-0] .edn-form-field .edn_mailchimp_submit_ajax:hover, .edn-custom-template[data-barid=apexbar-0] .edn-form-field .constant_subscribe:hover { color: #ffffff; background: #81d742; } .edn-custom-template[data-barid=apexbar-0] .edn_static_text .edn-text-link a, .edn-custom-template[data-barid=apexbar-0] .edn_multiple_text .edn-mulitple-text-content a, edn-custom-template[data-barid=apexbar-0] .edn-multiple-content .edn-mulitple-text-content a, .edn-custom-template[data-barid=apexbar-0] .edn-post-title-wrap .edn-post-title li a{ color: #000000; background: ; } /* close button custom css */ .edn-custom-template[data-barid=apexbar-0] .edn-top-up-arrow.open, .edn-custom-template[data-barid=apexbar-0] .edn-bottom-down-arrow.open, .edn-custom-template[data-barid=apexbar-0] .edn-bottom-down-arrow.open, .edn-custom-template[data-barid=apexbar-0] .edn-left-arrow, .edn-custom-template[data-barid=apexbar-0] .edn-right-arrow, .edn-custom-template[data-barid=apexbar-0] .edn-cntrol-wrap.ednpro_user-can-close { background-image: url("../../images/showhidetoggledown.png") no-repeat scroll 0 0; } .edn-custom-template[data-barid=apexbar-0] .edn-cntrol-wrap.ednpro_user-can-close .fa-close{ } .edn-custom-template[data-barid=apexbar-0] .edn-top-up-arrow { background-image: url("../../images/showhidetoggletop.png") no-repeat scroll 0 0; border-radius: 14px; } .edn-custom-template[data-barid=apexbar-0] .edn-bottom-down-arrow{ border-radius: 14px; background-image: url("../../images/showhidetoggledown.png") no-repeat scroll 0 0; } /* close button custom css */ .edn-custom-template[data-barid=apexbar-0] .edn_error,.edn-error, .edn-constant-error .edn-custom-template[data-barid=apexbar-0] .edn-success, .edn-constant-success{ font-family: default; } /*social icons custom design start*/ .edn-custom-template[data-barid=apexbar-0] .edn-post-title-wrap .edn-post-title li{ } .edn-custom-template[data-barid=apexbar-0].edn-visibility-show-time{ display: none; } .edn-custom-template[data-barid=apexbar-0] .visibility_show-time{ display: none; } .edn-notify-bar .edn-custom-design-wrapper .edn-post-title-readmore{ color: #000000 !important; background: #eeee22 !important; padding: 2px 8px; font-size: 35px !important; font-weight: bolder !important; } .edn-notify-bar .edn-custom-design-wrapper .edn-post-title-readmore:hover{ color: #ffffff !important; background: #81d742 !important; }</style><div class="edn-temp-design-wrapper edn-custom-design-wrapper"><div class="edn_middle_content edn_pro_static_pattern"><div class="edn-text-content-wrap"><div class="edn_static_text"><div class="edn-text-link">L’Outil Surpuissant pour Exploser ton Chiffre d'Affaires en 2024 !</div> <span class="edn-call-action-button"> <span class="edn-ca-custom"> <a class="edn-static-button" href="https://allleads.arcoptimizer.com/fr" target='_blank'> <span class="edn-ca-static-button">Essai Gratuit Aujourd'hui</span> </a> </span> </span></div></div></div></div></div> <input type="hidden" class="edn-ticker-option" id="apexnb-ticker-0" data-ticker-speed="" data-ticker-direction="vertical" data-ticker-title="" data-ticker-hover="" data-slider-controls="" data-slider-animation="horizontal" data-slider-duration="" data-slider-auto="true" data-slider-transition="" data-slider-adaptive-height="true" data-scroll-controls="" data-scroll-direction="ltr" data-scroll-animation="reveal" data-scroll-speed="" data-scroll-title="" /> <input type="hidden" class="edn-visibility-bar-options edn-visibility-option-0" id="apexnb-0" data-show-time-duration="200" data-hide-time-duration="" data-visibility-type = "show-time" data-close-type = "disable" data-close-once = "" data-duration-close = "" data-show_once_hideshow = "" data-notification_bar_id = "0" /><div class="apexnb-ccform edn-template-3 edn-popup-form" data-formtype="apexnb-static-custom" data-barid="0"><div class="edn-contact-lightbox" id="edn-static-cf-btn-0-lightbox" style="display: none;"><div class="ednpro_overlay"></div><div class="edn-contact-lightbox-inner-wrap " id="edn-contact-lightbox-inner-wrap-0"><div class="edn-contact-lightbox-inner-content edn-contact-lightbox-inner-wrap apexnb-ccustomform-wrapper "></div></div></div></div></div></div></div><script defer src="data:text/javascript;base64,PGFtcC1hdXRvLWFkcyB0eXBlPSJhZHNlbnNlIgogICAgICAgIGRhdGEtYWQtY2xpZW50PSJjYS1wdWItMjI0NzE3MTkwOTI2Njk5MCI+CjwvYW1wLWF1dG8tYWRzPg=="></script> <div id="jp-carousel-loading-overlay"><div id="jp-carousel-loading-wrapper"> <span id="jp-carousel-library-loading"> </span></div></div><div class="jp-carousel-overlay" style="display: none;"><div class="jp-carousel-container"><div class="jp-carousel-wrap swiper-container jp-carousel-swiper-container jp-carousel-transitions" itemscope itemtype="https://schema.org/ImageGallery"><div class="jp-carousel swiper-wrapper"></div><div class="jp-swiper-button-prev swiper-button-prev"> <svg width="25" height="24" viewBox="0 0 25 24" fill="none" xmlns="http://www.w3.org/2000/svg"> <mask id="maskPrev" mask-type="alpha" maskUnits="userSpaceOnUse" x="8" y="6" width="9" height="12"> <path d="M16.2072 16.59L11.6496 12L16.2072 7.41L14.8041 6L8.8335 12L14.8041 18L16.2072 16.59Z" fill="white"/> </mask> <g mask="url(#maskPrev)"> <rect x="0.579102" width="23.8823" height="24" fill="#FFFFFF"/> </g> </svg></div><div class="jp-swiper-button-next swiper-button-next"> <svg width="25" height="24" viewBox="0 0 25 24" fill="none" xmlns="http://www.w3.org/2000/svg"> <mask id="maskNext" mask-type="alpha" maskUnits="userSpaceOnUse" x="8" y="6" width="8" height="12"> <path d="M8.59814 16.59L13.1557 12L8.59814 7.41L10.0012 6L15.9718 12L10.0012 18L8.59814 16.59Z" fill="white"/> </mask> <g mask="url(#maskNext)"> <rect x="0.34375" width="23.8822" height="24" fill="#FFFFFF"/> </g> </svg></div></div><div class="jp-carousel-close-hint"> <svg width="25" height="24" viewBox="0 0 25 24" fill="none" xmlns="http://www.w3.org/2000/svg"> <mask id="maskClose" mask-type="alpha" maskUnits="userSpaceOnUse" x="5" y="5" width="15" height="14"> <path d="M19.3166 6.41L17.9135 5L12.3509 10.59L6.78834 5L5.38525 6.41L10.9478 12L5.38525 17.59L6.78834 19L12.3509 13.41L17.9135 19L19.3166 17.59L13.754 12L19.3166 6.41Z" fill="white"/> </mask> <g mask="url(#maskClose)"> <rect x="0.409668" width="23.8823" height="24" fill="#FFFFFF"/> </g> </svg></div><div class="jp-carousel-info"><div class="jp-carousel-info-footer"><div class="jp-carousel-pagination-container"><div class="jp-swiper-pagination swiper-pagination"></div><div class="jp-carousel-pagination"></div></div><div class="jp-carousel-photo-title-container"><h2 class="jp-carousel-photo-caption"></h2></div><div class="jp-carousel-photo-icons-container"> <a href="#" class="jp-carousel-icon-btn jp-carousel-icon-info" aria-label="Activer la visibilité des métadonnées sur les photos"> <span class="jp-carousel-icon"> <svg width="25" height="24" viewBox="0 0 25 24" fill="none" xmlns="http://www.w3.org/2000/svg"> <mask id="maskInfo" mask-type="alpha" maskUnits="userSpaceOnUse" x="2" y="2" width="21" height="20"> <path fill-rule="evenodd" clip-rule="evenodd" d="M12.7537 2C7.26076 2 2.80273 6.48 2.80273 12C2.80273 17.52 7.26076 22 12.7537 22C18.2466 22 22.7046 17.52 22.7046 12C22.7046 6.48 18.2466 2 12.7537 2ZM11.7586 7V9H13.7488V7H11.7586ZM11.7586 11V17H13.7488V11H11.7586ZM4.79292 12C4.79292 16.41 8.36531 20 12.7537 20C17.142 20 20.7144 16.41 20.7144 12C20.7144 7.59 17.142 4 12.7537 4C8.36531 4 4.79292 7.59 4.79292 12Z" fill="white"/> </mask> <g mask="url(#maskInfo)"> <rect x="0.8125" width="23.8823" height="24" fill="#FFFFFF"/> </g> </svg> </span> </a> <a href="#" class="jp-carousel-icon-btn jp-carousel-icon-comments" aria-label="Activer la visibilité des commentaires sur les photos"> <span class="jp-carousel-icon"> <svg width="25" height="24" viewBox="0 0 25 24" fill="none" xmlns="http://www.w3.org/2000/svg"> <mask id="maskComments" mask-type="alpha" maskUnits="userSpaceOnUse" x="2" y="2" width="21" height="20"> <path fill-rule="evenodd" clip-rule="evenodd" d="M4.3271 2H20.2486C21.3432 2 22.2388 2.9 22.2388 4V16C22.2388 17.1 21.3432 18 20.2486 18H6.31729L2.33691 22V4C2.33691 2.9 3.2325 2 4.3271 2ZM6.31729 16H20.2486V4H4.3271V18L6.31729 16Z" fill="white"/> </mask> <g mask="url(#maskComments)"> <rect x="0.34668" width="23.8823" height="24" fill="#FFFFFF"/> </g> </svg> <span class="jp-carousel-has-comments-indicator" aria-label="Cette image comporte des commentaires."></span> </span> </a></div></div><div class="jp-carousel-info-extra"><div class="jp-carousel-info-content-wrapper"><div class="jp-carousel-photo-title-container"><h2 class="jp-carousel-photo-title"></h2></div><div class="jp-carousel-comments-wrapper"><div id="jp-carousel-comments-loading"> <span>Chargement des commentaires…</span></div><div class="jp-carousel-comments"></div><div id="jp-carousel-comment-form-container"> <span id="jp-carousel-comment-form-spinner"> </span><div id="jp-carousel-comment-post-results"></div><form id="jp-carousel-comment-form"> <label for="jp-carousel-comment-form-comment-field" class="screen-reader-text">Écrire un commentaire...</label><textarea name="comment" class="jp-carousel-comment-form-field jp-carousel-comment-form-textarea" id="jp-carousel-comment-form-comment-field" placeholder="Écrire un commentaire..." ></textarea><div id="jp-carousel-comment-form-submit-and-info-wrapper"><div id="jp-carousel-comment-form-commenting-as"><fieldset> <label for="jp-carousel-comment-form-email-field">E-mail (requis)</label> <input type="text" name="email" class="jp-carousel-comment-form-field jp-carousel-comment-form-text-field" id="jp-carousel-comment-form-email-field" /></fieldset><fieldset> <label for="jp-carousel-comment-form-author-field">Nom (requis)</label> <input type="text" name="author" class="jp-carousel-comment-form-field jp-carousel-comment-form-text-field" id="jp-carousel-comment-form-author-field" /></fieldset><fieldset> <label for="jp-carousel-comment-form-url-field">Site web</label> <input type="text" name="url" class="jp-carousel-comment-form-field jp-carousel-comment-form-text-field" id="jp-carousel-comment-form-url-field" /></fieldset></div> <input type="submit" name="submit" class="jp-carousel-comment-form-button" id="jp-carousel-comment-form-button-submit" value="Laisser un commentaire" /></div></form></div></div><div class="jp-carousel-image-meta"><div class="jp-carousel-title-and-caption"><div class="jp-carousel-photo-info"><h3 class="jp-carousel-caption" itemprop="caption description"></h3></div><div class="jp-carousel-photo-description"></div></div><ul class="jp-carousel-image-exif" style="display: none;"></ul> <a class="jp-carousel-image-download" href="#" target="_blank" style="display: none;"> <svg width="25" height="24" viewBox="0 0 25 24" fill="none" xmlns="http://www.w3.org/2000/svg"> <mask id="mask0" mask-type="alpha" maskUnits="userSpaceOnUse" x="3" y="3" width="19" height="18"> <path fill-rule="evenodd" clip-rule="evenodd" d="M5.84615 5V19H19.7775V12H21.7677V19C21.7677 20.1 20.8721 21 19.7775 21H5.84615C4.74159 21 3.85596 20.1 3.85596 19V5C3.85596 3.9 4.74159 3 5.84615 3H12.8118V5H5.84615ZM14.802 5V3H21.7677V10H19.7775V6.41L9.99569 16.24L8.59261 14.83L18.3744 5H14.802Z" fill="white"/> </mask> <g mask="url(#mask0)"> <rect x="0.870605" width="23.8823" height="24" fill="#FFFFFF"/> </g> </svg> <span class="jp-carousel-download-text"></span> </a><div class="jp-carousel-image-map" style="display: none;"></div></div></div></div></div></div></div> <script defer src="data:text/javascript;base64,CgkJd2luZG93LldQQ09NX3NoYXJpbmdfY291bnRzID0geyJodHRwczpcL1wvYmxvZy5hcmNvcHRpbWl6ZXIuY29tXC9pbnRlZ3JhdGlvbi10YWxlbmQtZXQtc2xhY2stcGVyZmljaWVudC1ibG9ncyI6ODMyOTB9OwoJ"></script> <link rel='stylesheet' id='aal_style-css' href='https://blog.arcoptimizer.com/wp-content/cache/autoptimize/css/autoptimize_single_4c15efd49114c121de9d8db67a23db93.css' type='text/css' media='all' /> <script defer type='text/javascript' src='https://blog.arcoptimizer.com/wp-content/cache/autoptimize/js/autoptimize_single_328b8123661abdd5f4a0c695e7aa9dcc.js?minify=false&ver=132249e245926ae3e188' id='jetpack-photon-js'></script> <script defer type='text/javascript' src='https://blog.arcoptimizer.com/wp-content/themes/defaut_theme3/assets/js/wow.min.js' id='layers-child-wow-js'></script> <script defer type='text/javascript' src='https://stats.wp.com/e-202416.js' id='jetpack-stats-js'></script> <script type='text/javascript' id='jetpack-stats-js-after'>_stq = window._stq || []; _stq.push([ "view", {v:'ext',blog:'146388461',post:'83290',tz:'0',srv:'blog.arcoptimizer.com',j:'1:12.8.1'} ]); _stq.push([ "clickTrackerInit", "146388461", "83290" ]);</script> <script defer type='text/javascript' src='https://blog.arcoptimizer.com/wp-content/cache/autoptimize/js/autoptimize_single_f4c0e5d883b22cceae0e8fbf05d26b3c.js' id='quads-ads-js'></script> <script defer id="jetpack-carousel-js-extra" src="data:text/javascript;base64,Ci8qIDwhW0NEQVRBWyAqLwp2YXIgamV0cGFja1N3aXBlckxpYnJhcnlQYXRoID0geyJ1cmwiOiJodHRwczpcL1wvYmxvZy5hcmNvcHRpbWl6ZXIuY29tXC93cC1jb250ZW50XC9wbHVnaW5zXC9qZXRwYWNrXC9faW5jXC9idWlsZFwvY2Fyb3VzZWxcL3N3aXBlci1idW5kbGUubWluLmpzIn07CnZhciBqZXRwYWNrQ2Fyb3VzZWxTdHJpbmdzID0geyJ3aWR0aHMiOlszNzAsNzAwLDEwMDAsMTIwMCwxNDAwLDIwMDBdLCJpc19sb2dnZWRfaW4iOiIiLCJsYW5nIjoiZnIiLCJhamF4dXJsIjoiaHR0cHM6XC9cL2Jsb2cuYXJjb3B0aW1pemVyLmNvbVwvd3AtYWRtaW5cL2FkbWluLWFqYXgucGhwIiwibm9uY2UiOiI1YjE3OGY1ODJlIiwiZGlzcGxheV9leGlmIjoiMCIsImRpc3BsYXlfY29tbWVudHMiOiIxIiwic2luZ2xlX2ltYWdlX2dhbGxlcnkiOiIxIiwic2luZ2xlX2ltYWdlX2dhbGxlcnlfbWVkaWFfZmlsZSI6IiIsImJhY2tncm91bmRfY29sb3IiOiJibGFjayIsImNvbW1lbnQiOiJDb21tZW50YWlyZSIsInBvc3RfY29tbWVudCI6IkxhaXNzZXIgdW4gY29tbWVudGFpcmUiLCJ3cml0ZV9jb21tZW50IjoiXHUwMGM5Y3JpcmUgdW4gY29tbWVudGFpcmUuLi4iLCJsb2FkaW5nX2NvbW1lbnRzIjoiQ2hhcmdlbWVudCBkZXMgY29tbWVudGFpcmVzXHUyMDI2IiwiZG93bmxvYWRfb3JpZ2luYWwiOiJBZmZpY2hlciBkYW5zIHNhIHRhaWxsZSByXHUwMGU5ZWxsZSA8c3BhbiBjbGFzcz1cInBob3RvLXNpemVcIj57MH08c3BhbiBjbGFzcz1cInBob3RvLXNpemUtdGltZXNcIj5cdTAwZDc8XC9zcGFuPnsxfTxcL3NwYW4+LiIsIm5vX2NvbW1lbnRfdGV4dCI6IlZldWlsbGV6IGFqb3V0ZXIgZHUgY29udGVudSBcdTAwZTAgdm90cmUgY29tbWVudGFpcmUuIiwibm9fY29tbWVudF9lbWFpbCI6Ik1lcmNpIGRlIHJlbnNlaWduZXIgdW5lIGFkcmVzc2UgZS1tYWlsLiIsIm5vX2NvbW1lbnRfYXV0aG9yIjoiTWVyY2kgZGUgcmVuc2VpZ25lciB2b3RyZSBub20uIiwiY29tbWVudF9wb3N0X2Vycm9yIjoiVW5lIGVycmV1ciBzXHUyMDE5ZXN0IHByb2R1aXRlIFx1MDBlMCBsYSBwdWJsaWNhdGlvbiBkZSB2b3RyZSBjb21tZW50YWlyZS4gVmV1aWxsZXogbm91cyBlbiBleGN1c2VyLCBldCByXHUwMGU5ZXNzYXllciBkYW5zIHF1ZWxxdWVzIGluc3RhbnRzLiIsImNvbW1lbnRfYXBwcm92ZWQiOiJWb3RyZSBjb21tZW50YWlyZSBhIFx1MDBlOXRcdTAwZTkgYXBwcm91dlx1MDBlOS4iLCJjb21tZW50X3VuYXBwcm92ZWQiOiJWb3RyZSBjb21tZW50YWlyZSBlc3QgZW4gYXR0ZW50ZSBkZSB2YWxpZGF0aW9uLiIsImNhbWVyYSI6IkFwcGFyZWlsIHBob3RvIiwiYXBlcnR1cmUiOiJPdXZlcnR1cmUiLCJzaHV0dGVyX3NwZWVkIjoiVml0ZXNzZSBkXHUyMDE5b2J0dXJhdGlvbiIsImZvY2FsX2xlbmd0aCI6IkZvY2FsZSIsImNvcHlyaWdodCI6IkNvcHlyaWdodCIsImNvbW1lbnRfcmVnaXN0cmF0aW9uIjoiMCIsInJlcXVpcmVfbmFtZV9lbWFpbCI6IjEiLCJsb2dpbl91cmwiOiJodHRwczpcL1wvYmxvZy5hcmNvcHRpbWl6ZXIuY29tXC93cC1sb2dpbi5waHA/cmVkaXJlY3RfdG89aHR0cHMlM0ElMkYlMkZibG9nLmFyY29wdGltaXplci5jb20lMkZpbnRlZ3JhdGlvbi10YWxlbmQtZXQtc2xhY2stcGVyZmljaWVudC1ibG9ncyIsImJsb2dfaWQiOiIxIiwibWV0YV9kYXRhIjpbImNhbWVyYSIsImFwZXJ0dXJlIiwic2h1dHRlcl9zcGVlZCIsImZvY2FsX2xlbmd0aCIsImNvcHlyaWdodCJdfTsKLyogXV0+ICovCg=="></script> <script defer type='text/javascript' src='https://blog.arcoptimizer.com/wp-content/plugins/jetpack/_inc/build/carousel/jetpack-carousel.min.js' id='jetpack-carousel-js'></script> <script defer id="sharing-js-js-extra" src="data:text/javascript;base64,Ci8qIDwhW0NEQVRBWyAqLwp2YXIgc2hhcmluZ19qc19vcHRpb25zID0geyJsYW5nIjoiZW4iLCJjb3VudHMiOiIxIiwiaXNfc3RhdHNfYWN0aXZlIjoiMSJ9OwovKiBdXT4gKi8K"></script> <script defer type='text/javascript' src='https://blog.arcoptimizer.com/wp-content/plugins/jetpack/_inc/build/sharedaddy/sharing.min.js' id='sharing-js-js'></script> <script defer id="sharing-js-js-after" src="data:text/javascript;base64,CnZhciB3aW5kb3dPcGVuOwoJCQkoIGZ1bmN0aW9uICgpIHsKCQkJCWZ1bmN0aW9uIG1hdGNoZXMoIGVsLCBzZWwgKSB7CgkJCQkJcmV0dXJuICEhICgKCQkJCQkJZWwubWF0Y2hlcyAmJiBlbC5tYXRjaGVzKCBzZWwgKSB8fAoJCQkJCQllbC5tc01hdGNoZXNTZWxlY3RvciAmJiBlbC5tc01hdGNoZXNTZWxlY3Rvciggc2VsICkKCQkJCQkpOwoJCQkJfQoKCQkJCWRvY3VtZW50LmJvZHkuYWRkRXZlbnRMaXN0ZW5lciggJ2NsaWNrJywgZnVuY3Rpb24gKCBldmVudCApIHsKCQkJCQlpZiAoICEgZXZlbnQudGFyZ2V0ICkgewoJCQkJCQlyZXR1cm47CgkJCQkJfQoKCQkJCQl2YXIgZWw7CgkJCQkJaWYgKCBtYXRjaGVzKCBldmVudC50YXJnZXQsICdhLnNoYXJlLXR3aXR0ZXInICkgKSB7CgkJCQkJCWVsID0gZXZlbnQudGFyZ2V0OwoJCQkJCX0gZWxzZSBpZiAoIGV2ZW50LnRhcmdldC5wYXJlbnROb2RlICYmIG1hdGNoZXMoIGV2ZW50LnRhcmdldC5wYXJlbnROb2RlLCAnYS5zaGFyZS10d2l0dGVyJyApICkgewoJCQkJCQllbCA9IGV2ZW50LnRhcmdldC5wYXJlbnROb2RlOwoJCQkJCX0KCgkJCQkJaWYgKCBlbCApIHsKCQkJCQkJZXZlbnQucHJldmVudERlZmF1bHQoKTsKCgkJCQkJCS8vIElmIHRoZXJlJ3MgYW5vdGhlciBzaGFyaW5nIHdpbmRvdyBvcGVuLCBjbG9zZSBpdC4KCQkJCQkJaWYgKCB0eXBlb2Ygd2luZG93T3BlbiAhPT0gJ3VuZGVmaW5lZCcgKSB7CgkJCQkJCQl3aW5kb3dPcGVuLmNsb3NlKCk7CgkJCQkJCX0KCQkJCQkJd2luZG93T3BlbiA9IHdpbmRvdy5vcGVuKCBlbC5nZXRBdHRyaWJ1dGUoICdocmVmJyApLCAnd3Bjb210d2l0dGVyJywgJ21lbnViYXI9MSxyZXNpemFibGU9MSx3aWR0aD02MDAsaGVpZ2h0PTM1MCcgKTsKCQkJCQkJcmV0dXJuIGZhbHNlOwoJCQkJCX0KCQkJCX0gKTsKCQkJfSApKCk7CnZhciB3aW5kb3dPcGVuOwoJCQkoIGZ1bmN0aW9uICgpIHsKCQkJCWZ1bmN0aW9uIG1hdGNoZXMoIGVsLCBzZWwgKSB7CgkJCQkJcmV0dXJuICEhICgKCQkJCQkJZWwubWF0Y2hlcyAmJiBlbC5tYXRjaGVzKCBzZWwgKSB8fAoJCQkJCQllbC5tc01hdGNoZXNTZWxlY3RvciAmJiBlbC5tc01hdGNoZXNTZWxlY3Rvciggc2VsICkKCQkJCQkpOwoJCQkJfQoKCQkJCWRvY3VtZW50LmJvZHkuYWRkRXZlbnRMaXN0ZW5lciggJ2NsaWNrJywgZnVuY3Rpb24gKCBldmVudCApIHsKCQkJCQlpZiAoICEgZXZlbnQudGFyZ2V0ICkgewoJCQkJCQlyZXR1cm47CgkJCQkJfQoKCQkJCQl2YXIgZWw7CgkJCQkJaWYgKCBtYXRjaGVzKCBldmVudC50YXJnZXQsICdhLnNoYXJlLWZhY2Vib29rJyApICkgewoJCQkJCQllbCA9IGV2ZW50LnRhcmdldDsKCQkJCQl9IGVsc2UgaWYgKCBldmVudC50YXJnZXQucGFyZW50Tm9kZSAmJiBtYXRjaGVzKCBldmVudC50YXJnZXQucGFyZW50Tm9kZSwgJ2Euc2hhcmUtZmFjZWJvb2snICkgKSB7CgkJCQkJCWVsID0gZXZlbnQudGFyZ2V0LnBhcmVudE5vZGU7CgkJCQkJfQoKCQkJCQlpZiAoIGVsICkgewoJCQkJCQlldmVudC5wcmV2ZW50RGVmYXVsdCgpOwoKCQkJCQkJLy8gSWYgdGhlcmUncyBhbm90aGVyIHNoYXJpbmcgd2luZG93IG9wZW4sIGNsb3NlIGl0LgoJCQkJCQlpZiAoIHR5cGVvZiB3aW5kb3dPcGVuICE9PSAndW5kZWZpbmVkJyApIHsKCQkJCQkJCXdpbmRvd09wZW4uY2xvc2UoKTsKCQkJCQkJfQoJCQkJCQl3aW5kb3dPcGVuID0gd2luZG93Lm9wZW4oIGVsLmdldEF0dHJpYnV0ZSggJ2hyZWYnICksICd3cGNvbWZhY2Vib29rJywgJ21lbnViYXI9MSxyZXNpemFibGU9MSx3aWR0aD02MDAsaGVpZ2h0PTQwMCcgKTsKCQkJCQkJcmV0dXJuIGZhbHNlOwoJCQkJCX0KCQkJCX0gKTsKCQkJfSApKCk7Cg=="></script> <script defer src="data:text/javascript;base64,DQogd293ID0gbmV3IFdPVygNCiB7DQogLy9ib3hDbGFzczogICAgICd3b3cnLCAgICAgIC8vIGRlZmF1bHQNCiAvL2FuaW1hdGVDbGFzczogJ2FuaW1hdGVkJywgLy8gZGVmYXVsdA0KIG9mZnNldDogICAgICAgMTAwLCAgICAgICAgICAvLyBkZWZhdWx0DQogLy9tb2JpbGU6ICAgICAgIHRydWUsICAgICAgIC8vIGRlZmF1bHQNCiAvL2xpdmU6ICAgICAgICAgdHJ1ZSAgICAgICAgLy8gZGVmYXVsdA0KIH0NCiApDQogd293LmluaXQoKTsNCiA="></script> <script defer src="data:text/javascript;base64,DQogICAgICAgIGpRdWVyeShkb2N1bWVudCkucmVhZHkoZnVuY3Rpb24gKCQpIHsNCg0KICAgICAgICAgICAgZm9yIChsZXQgaSA9IDA7IGkgPCBkb2N1bWVudC5mb3Jtcy5sZW5ndGg7ICsraSkgew0KICAgICAgICAgICAgICAgIGxldCBmb3JtID0gZG9jdW1lbnQuZm9ybXNbaV07DQoJCQkJaWYgKCQoZm9ybSkuYXR0cigibWV0aG9kIikgIT0gImdldCIpIHsgJChmb3JtKS5hcHBlbmQoJzxpbnB1dCB0eXBlPSJoaWRkZW4iIG5hbWU9ImdxZUtwQ04tVHNWUHgiIHZhbHVlPSJWOUBKW1hfOGFxTCIgLz4nKTsgfQppZiAoJChmb3JtKS5hdHRyKCJtZXRob2QiKSAhPSAiZ2V0IikgeyAkKGZvcm0pLmFwcGVuZCgnPGlucHV0IHR5cGU9ImhpZGRlbiIgbmFtZT0id1JrT3VOQS1MZEVybSIgdmFsdWU9Ii5UZkZdYXQiIC8+Jyk7IH0KICAgICAgICAgICAgfQ0KDQogICAgICAgICAgICAkKGRvY3VtZW50KS5vbignc3VibWl0JywgJ2Zvcm0nLCBmdW5jdGlvbiAoKSB7DQoJCQkJaWYgKCQodGhpcykuYXR0cigibWV0aG9kIikgIT0gImdldCIpIHsgJCh0aGlzKS5hcHBlbmQoJzxpbnB1dCB0eXBlPSJoaWRkZW4iIG5hbWU9ImdxZUtwQ04tVHNWUHgiIHZhbHVlPSJWOUBKW1hfOGFxTCIgLz4nKTsgfQppZiAoJCh0aGlzKS5hdHRyKCJtZXRob2QiKSAhPSAiZ2V0IikgeyAkKHRoaXMpLmFwcGVuZCgnPGlucHV0IHR5cGU9ImhpZGRlbiIgbmFtZT0id1JrT3VOQS1MZEVybSIgdmFsdWU9Ii5UZkZdYXQiIC8+Jyk7IH0KICAgICAgICAgICAgICAgIHJldHVybiB0cnVlOw0KICAgICAgICAgICAgfSk7DQoNCiAgICAgICAgICAgIGpRdWVyeS5hamF4U2V0dXAoew0KICAgICAgICAgICAgICAgIGJlZm9yZVNlbmQ6IGZ1bmN0aW9uIChlLCBkYXRhKSB7DQoNCiAgICAgICAgICAgICAgICAgICAgaWYgKGRhdGEudHlwZSAhPT0gJ1BPU1QnKSByZXR1cm47DQoNCiAgICAgICAgICAgICAgICAgICAgaWYgKHR5cGVvZiBkYXRhLmRhdGEgPT09ICdvYmplY3QnICYmIGRhdGEuZGF0YSAhPT0gbnVsbCkgew0KCQkJCQkJZGF0YS5kYXRhLmFwcGVuZCgiZ3FlS3BDTi1Uc1ZQeCIsICJWOUBKW1hfOGFxTCIpOwpkYXRhLmRhdGEuYXBwZW5kKCJ3UmtPdU5BLUxkRXJtIiwgIi5UZkZdYXQiKTsKICAgICAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICAgICAgICAgIGVsc2Ugew0KICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS5kYXRhID0gZGF0YS5kYXRhICsgJyZncWVLcENOLVRzVlB4PVY5QEpbWF84YXFMJndSa091TkEtTGRFcm09LlRmRl1hdCc7DQogICAgICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICB9KTsNCg0KICAgICAgICB9KTsNCiAgICA="></script> </body></html>