<?xml version="1.0" encoding="UTF-8"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="fr">
    <title></title>
    <link rel="self" type="application/atom+xml" href="https://lapinchatware.ca/atom.xml"/>
    <link rel="alternate" type="text/html" href="https://lapinchatware.ca"/>
    <generator uri="https://www.getzola.org/">Zola</generator>
    <updated>2024-08-19T00:00:00+00:00</updated>
    <id>https://lapinchatware.ca/atom.xml</id>
    <entry xml:lang="fr">
        <title>Privacy Policy</title>
        <published>2024-08-19T00:00:00+00:00</published>
        <updated>2024-08-19T00:00:00+00:00</updated>
        
        <author>
          <name>
            
              Pierre Tremblay-Thériault
            
          </name>
        </author>
        
        <link rel="alternate" type="text/html" href="https://lapinchatware.ca/legals/privacy-policy/"/>
        <id>https://lapinchatware.ca/legals/privacy-policy/</id>
        
        <content type="html" xml:base="https://lapinchatware.ca/legals/privacy-policy/">&lt;p&gt;Pierre Tremblay-Thériault built the Morning Rush app and this website. Those SERVICES are provided by Pierre
Tremblay-Thériault and are intended for use as is.&lt;&#x2F;p&gt;
&lt;p&gt;This page is used to inform visitors regarding my policies with the collection, use, and disclosure of Personal
Information if anyone decided to use my Service.&lt;&#x2F;p&gt;
&lt;p&gt;If you choose to use our Services, then you agree to the collection and use of information in relation to this policy.&lt;&#x2F;p&gt;
&lt;p&gt;Our apps and websites do not collect Personal Information.&lt;&#x2F;p&gt;
&lt;p&gt;The terms used in this Privacy Policy have the same meanings as in our Terms and Conditions, which are accessible
&lt;a href=&quot;https:&#x2F;&#x2F;lapinchatware.ca&#x2F;legals&#x2F;terms-and-conditions&quot;&gt;here&lt;&#x2F;a&gt; unless otherwise defined in this Privacy Policy.&lt;&#x2F;p&gt;
&lt;h2 id=&quot;information-collection-and-use&quot;&gt;Information Collection and Use&lt;&#x2F;h2&gt;
&lt;p&gt;Our apps and websites do not collect Personal Information.&lt;&#x2F;p&gt;
&lt;h2 id=&quot;log-data&quot;&gt;Log Data&lt;&#x2F;h2&gt;
&lt;p&gt;Our apps and websites do not collect log data.&lt;&#x2F;p&gt;
&lt;h2 id=&quot;cookies&quot;&gt;Cookies&lt;&#x2F;h2&gt;
&lt;p&gt;Our apps and websites do not use cookies&lt;&#x2F;p&gt;
&lt;h2 id=&quot;service-providers&quot;&gt;Service Providers&lt;&#x2F;h2&gt;
&lt;p&gt;Our apps and websites do not employ third-party companies and individuals.&lt;&#x2F;p&gt;
&lt;h2 id=&quot;security&quot;&gt;Security&lt;&#x2F;h2&gt;
&lt;p&gt;Our apps and websites do not collect any informations.&lt;&#x2F;p&gt;
&lt;h2 id=&quot;links-to-other-sites&quot;&gt;Links to Other Sites&lt;&#x2F;h2&gt;
&lt;p&gt;This Service may contain links to other sites. If you click on a third-party link, you will be directed to that site. Note
that these external sites are not operated by me. Therefore, I strongly advise you to review the Privacy Policy of these
websites. I have no control over and assume no responsibility for the content, privacy policies, or practices of any
third-party sites or services.&lt;&#x2F;p&gt;
&lt;h2 id=&quot;children-s-privacy&quot;&gt;Children’s Privacy&lt;&#x2F;h2&gt;
&lt;p&gt;Our apps and websites do not collect any informations from the user.&lt;&#x2F;p&gt;
&lt;h2 id=&quot;changes-to-this-privacy-policy&quot;&gt;Changes to This Privacy Policy&lt;&#x2F;h2&gt;
&lt;p&gt;I may update our Privacy Policy from time to time. Thus, you are advised to review this page periodically for any
changes. I will notify you of any changes by posting the new Privacy Policy on this page.&lt;&#x2F;p&gt;
&lt;h2 id=&quot;this-policy-is-effective-as-of-2024-08-19&quot;&gt;This policy is effective as of 2024-08-19&lt;&#x2F;h2&gt;
&lt;h2 id=&quot;contact-us&quot;&gt;Contact Us&lt;&#x2F;h2&gt;
&lt;p&gt;If you have any questions or suggestions about my Privacy Policy, do not hesitate to contact me with the form below.&lt;&#x2F;p&gt;
&lt;form novalidate class=&quot;contact-form&quot; action=&quot;https:&amp;#x2F;&amp;#x2F;submit-form.com&amp;#x2F;qKVEOeHw6&quot; method=&quot;POST&quot;&gt;

    &lt;section class=&quot;contact-form__errors contact-form__errors--no-errors&quot; tabindex=&quot;-1&quot;&gt;
        &lt;h2 class=&quot;contact-form__errors__title&quot;&gt;Le formulaire n&#x27;a pu être soumis car &lt;span class=&quot;contact-form__errors__count&quot;&gt;6&lt;&#x2F;span&gt; erreurs ont été trouvées.&lt;&#x2F;h2&gt;
        &lt;ol class=&quot;contact-form__errors__list&quot;&gt;
            &lt;li class=&quot;contact-form__errors__list__item contact-form__error-name-required&quot;&gt;
                &lt;a class=&quot;contact-form__errors__list__link&quot; href=&quot;#name&quot;&gt;
                    &lt;span class=&quot;contact-form__errors__list__item__error-notice&quot;&gt;Erreur&amp;nbsp;: &lt;&#x2F;span&gt;
                    Nom - Ce champ est obligatoire.
                &lt;&#x2F;a&gt;
            &lt;&#x2F;li&gt;
            &lt;li class=&quot;contact-form__errors__list__item contact-form__error-name-short&quot;&gt;
                &lt;a class=&quot;contact-form__errors__list__link&quot; href=&quot;#name&quot;&gt;
                    &lt;span class=&quot;contact-form__errors__list__item__error-notice&quot;&gt;Erreur&amp;nbsp;: &lt;&#x2F;span&gt;
                    Nom - Ce champ doit contenir au minimum deux caractères.
                &lt;&#x2F;a&gt;
            &lt;&#x2F;li&gt;
            &lt;li class=&quot;contact-form__errors__list__item contact-form__error-name-invalid&quot;&gt;
                &lt;a class=&quot;contact-form__errors__list__link&quot; href=&quot;#name&quot;&gt;
                    &lt;span class=&quot;contact-form__errors__list__item__error-notice&quot;&gt;Erreur&amp;nbsp;: &lt;&#x2F;span&gt;
                    Nom - Les caractères admissibles sont des chiffres, des lettres et des traits d&#x27;union.
                &lt;&#x2F;a&gt;
            &lt;&#x2F;li&gt;
            &lt;li class=&quot;contact-form__errors__list__item contact-form__error-email-required&quot;&gt;
                &lt;a class=&quot;contact-form__errors__list__link&quot; href=&quot;#email&quot;&gt;
                    &lt;span class=&quot;contact-form__errors__list__item__error-notice&quot;&gt;Erreur&amp;nbsp;: &lt;&#x2F;span&gt;
                    Courriel - Ce champ est obligatoire.
                &lt;&#x2F;a&gt;
            &lt;&#x2F;li&gt;
            &lt;li class=&quot;contact-form__errors__list__item contact-form__error-email-invalid&quot;&gt;
                &lt;a class=&quot;contact-form__errors__list__link&quot; href=&quot;#email&quot;&gt;
                    &lt;span class=&quot;contact-form__errors__list__item__error-notice&quot;&gt;Erreur&amp;nbsp;: &lt;&#x2F;span&gt;
                    Courriel - Le format de l&#x27;adresse est invalide. Il doit ressembler à votre nom@domaine.com .
                &lt;&#x2F;a&gt;
            &lt;&#x2F;li&gt;
            &lt;li class=&quot;contact-form__errors__list__item contact-form__error-message-required&quot;&gt;
                &lt;a class=&quot;contact-form__errors__list__link&quot; href=&quot;#message&quot;&gt;
                    &lt;span class=&quot;contact-form__errors__list__item__error-notice&quot;&gt;Erreur&amp;nbsp;: &lt;&#x2F;span&gt;
                    Message - Ce champ est obligatoire.
                &lt;&#x2F;a&gt;
            &lt;&#x2F;li&gt;
        &lt;&#x2F;ol&gt;
    &lt;&#x2F;section&gt;

    &lt;section class=&quot;contact-form__submission-messages contact-form__submission-messages--hidden&quot; tabindex=&quot;-1&quot;&gt;
        &lt;span class=&quot;contact-form__submission-message contact-form__submission-message--success contact-form__submission-message--hidden&quot;&gt;Votre message a bien été envoyé. Merci.&lt;&#x2F;span&gt;
        &lt;span class=&quot;contact-form__submission-message contact-form__submission-message--failed contact-form__submission-message--hidden&quot;&gt;Un problème est survenue lors de l&#x27;envoie du message. Veuillez réessayer.&lt;&#x2F;span&gt;
        &lt;span class=&quot;contact-form__submission-message contact-form__submission-message--panic contact-form__submission-message--hidden&quot;&gt;Une erreur inconnue est survenue. Veuillez rafraîchir la page et réessayer.&lt;&#x2F;span&gt;
    &lt;&#x2F;section&gt;

    &lt;div class=&quot;contact-form__group&quot;&gt;
        &lt;label class=&quot;contact-form__label contact-form__label--required&quot; for=&quot;name&quot;&gt;
            &lt;span class=&quot;contact-form__label--required-notice&quot;&gt;* &lt;&#x2F;span&gt;
            Name
            &lt;span class=&quot;contact-form__label--required-notice&quot;&gt;(obligatoire)&lt;&#x2F;span&gt;
        &lt;&#x2F;label&gt;
        &lt;span aria-live=&quot;polite&quot; class=&quot;contact-form__error contact-form__error--no-error contact-form__error-name-required&quot;&gt;Ce champ est obligatoire.&lt;&#x2F;span&gt;
        &lt;span aria-live=&quot;polite&quot; class=&quot;contact-form__error contact-form__error--no-error contact-form__error-name-short&quot;&gt;Ce champ doit contenir au minimum deux caractères.&lt;&#x2F;span&gt;
        &lt;span aria-live=&quot;polite&quot; class=&quot;contact-form__error contact-form__error--no-error contact-form__error-name-invalid&quot;&gt;Les caractères admissibles sont des chiffres, des lettres et des traits d&#x27;union.&lt;&#x2F;span&gt;
        &lt;input class=&quot;contact-form__field contact-form__field--input&quot; id=&quot;name&quot; name=&quot;name&quot; type=&quot;text&quot; minlength=&quot;2&quot; pattern=&quot;[A-Za-z0-9\-\s]*&quot; required=&quot;required&quot; aria-required=&quot;true&quot; &#x2F;&gt;
    &lt;&#x2F;div&gt;
    &lt;div class=&quot;contact-form__group&quot;&gt;
        &lt;label class=&quot;contact-form__label contact-form__label--required&quot; for=&quot;email&quot;&gt;
            &lt;span class=&quot;contact-form__label--required-notice&quot;&gt;* &lt;&#x2F;span&gt;
            Email
            &lt;span class=&quot;contact-form__label--required-notice&quot;&gt;(obligatoire)&lt;&#x2F;span&gt;
        &lt;&#x2F;label&gt;
        &lt;span aria-live=&quot;polite&quot; class=&quot;contact-form__error contact-form__error--no-error contact-form__error-email-required&quot;&gt;Ce champ est obligatoire.&lt;&#x2F;span&gt;
        &lt;span aria-live=&quot;polite&quot; class=&quot;contact-form__error contact-form__error--no-error contact-form__error-email-invalid&quot;&gt;Le format de l&#x27;adresse est invalide. Il doit ressembler à votre nom@domaine.com .&lt;&#x2F;span&gt;
        &lt;input class=&quot;contact-form__field contact-form__field--input&quot; id=&quot;email&quot; name=&quot;email&quot; type=&quot;email&quot; pattern=&quot;^[a-zA-Z0-9.!#$%&amp;&#x27;*+\&#x2F;=?^_`\{\|\}~\-]+@[a-zA-Z0-9](?:[a-zA-Z0-9\-]{0,61}[a-zA-Z0-9])?(?:\.[a-zA-Z0-9](?:[a-zA-Z0-9\-]{0,61}[a-zA-Z0-9])?)*$&quot; required  aria-required=&quot;true&quot; &#x2F;&gt;
    &lt;&#x2F;div&gt;
    &lt;div class=&quot;contact-form__group&quot;&gt;
        &lt;label class=&quot;contact-form__label contact-form__label--required&quot; for=&quot;message&quot;&gt;
            &lt;span class=&quot;contact-form__label--required-notice&quot;&gt;* &lt;&#x2F;span&gt;
            Message
            &lt;span class=&quot;contact-form__label--required-notice&quot;&gt;(obligatoire)&lt;&#x2F;span&gt;
        &lt;&#x2F;label&gt;
        &lt;span aria-live=&quot;polite&quot; class=&quot;contact-form__error contact-form__error--no-error contact-form__error-message-required&quot;&gt;Ce champ est obligatoire.&lt;&#x2F;span&gt;
        &lt;textarea class=&quot;contact-form__field contact-form__field--textarea&quot; id=&quot;message&quot; name=&quot;message&quot; rows=&quot;10&quot; required aria-required=&quot;true&quot; &gt;&lt;&#x2F;textarea&gt;
    &lt;&#x2F;div&gt;
    &lt;div class=&quot;contact-form__controls&quot;&gt;
        &lt;button class=&quot;contact-form__button contact-form__button--submit&quot; type=&quot;submit&quot;&gt;Send&lt;&#x2F;button&gt;
        &lt;button class=&quot;contact-form__button contact-form__button--reset&quot; type=&quot;reset&quot;&gt;Reset form&lt;&#x2F;button&gt;
    &lt;&#x2F;div&gt;
&lt;&#x2F;form&gt;

&lt;script id=&quot;botpoisonScript&quot; src=&quot;https:&#x2F;&#x2F;unpkg.com&#x2F;@botpoison&#x2F;browser&quot; async&gt;&lt;&#x2F;script&gt;
&lt;script&gt;
    &#x2F;*
    Captcha management
     *&#x2F;

    &#x2F;&#x2F; Init captcha
    let botpoison = undefined;
    let botpoisonScript = document.getElementById(&quot;botpoisonScript&quot;);
    botpoisonScript.addEventListener(&quot;load&quot;, function() {
        botpoison = new Botpoison({
            publicKey: &quot;pk_0cdf5d2f-1278-4085-9639-7ef4bf05ec6a&quot;,
        });
    })

    const form = document.getElementsByClassName(&quot;contact-form&quot;)[0];

    &#x2F;*
    Form Validation
     *&#x2F;
    const errorList = document.getElementsByClassName(&quot;contact-form__errors&quot;)[0];
    const errorListErrorCount = document.getElementsByClassName(&quot;contact-form__errors__count&quot;)[0];
    let totalErrorCount = 0;

    &#x2F;&#x2F; Name input
    const name = document.getElementById(&quot;name&quot;);
    const nameErrorRequired = document.getElementsByClassName(&quot;contact-form__error-name-required&quot;);
    const nameErrorShort = document.getElementsByClassName(&quot;contact-form__error-name-short&quot;);
    const nameErrorInvalid = document.getElementsByClassName(&quot;contact-form__error-name-invalid&quot;);
    let nameErrorCount = 0;
    name.addEventListener(&quot;focusout&quot;, (event) =&gt; {
        validateName();
        errorListErrorCount.textContent = totalErrorCount;
        if (totalErrorCount === 0) {
            errorList.classList.add(&quot;contact-form__errors--no-errors&quot;);
        }
    });

    function validateName() {
        totalErrorCount -= nameErrorCount;
        let errorCount = 0;

        if (name.validity.valueMissing) {
            for (let i = 0; i &lt; nameErrorRequired.length; i++) {
                nameErrorRequired[i].classList.remove(&quot;contact-form__error--no-error&quot;);
            }
            errorCount++;
        } else {
            for (let i = 0; i &lt; nameErrorRequired.length; i++) {
                nameErrorRequired[i].classList.add(&quot;contact-form__error--no-error&quot;);
            }
        }

        if (name.validity.tooShort) {
            for (let i = 0; i &lt; nameErrorShort.length; i++) {
                nameErrorShort[i].classList.remove(&quot;contact-form__error--no-error&quot;);
            }
            errorCount++;
        } else {
            for (let i = 0; i &lt; nameErrorShort.length; i++) {
                nameErrorShort[i].classList.add(&quot;contact-form__error--no-error&quot;);
            }
        }

        if (name.validity.patternMismatch) {
            for (let i = 0; i &lt; nameErrorInvalid.length; i++) {
                nameErrorInvalid[i].classList.remove(&quot;contact-form__error--no-error&quot;);
            }
            errorCount++;
        } else {
            for (let i = 0; i &lt; nameErrorInvalid.length; i++) {
                nameErrorInvalid[i].classList.add(&quot;contact-form__error--no-error&quot;);
            }
        }

        nameErrorCount = errorCount;
        totalErrorCount += nameErrorCount;
    }

    &#x2F;&#x2F; Email input
    const email = document.getElementById(&quot;email&quot;);
    const emailErrorRequired = document.getElementsByClassName(&quot;contact-form__error-email-required&quot;);
    const emailErrorInvalid = document.getElementsByClassName(&quot;contact-form__error-email-invalid&quot;);
    let emailErrorCount = 0;
    email.addEventListener(&quot;focusout&quot;, (event) =&gt; {
        validateEmail();
        errorListErrorCount.textContent = totalErrorCount;
        if (totalErrorCount === 0) {
            errorList.classList.add(&quot;contact-form__errors--no-errors&quot;);
        }
    });

    function validateEmail() {
        totalErrorCount -= emailErrorCount;
        let errorCount = 0;

        if (email.validity.valueMissing) {
            for (let i = 0; i &lt; emailErrorRequired.length; i++) {
                emailErrorRequired[i].classList.remove(&quot;contact-form__error--no-error&quot;);
            }
            errorCount++;
        } else {
            for (let i = 0; i &lt; emailErrorRequired.length; i++) {
                emailErrorRequired[i].classList.add(&quot;contact-form__error--no-error&quot;);
            }
        }

        if (email.validity.patternMismatch) {
            for (let i = 0; i &lt; emailErrorInvalid.length; i++) {
                emailErrorInvalid[i].classList.remove(&quot;contact-form__error--no-error&quot;);
            }
            errorCount++;
        } else {
            for (let i = 0; i &lt; emailErrorInvalid.length; i++) {
                emailErrorInvalid[i].classList.add(&quot;contact-form__error--no-error&quot;);
            }
        }

        emailErrorCount = errorCount;
        totalErrorCount += emailErrorCount;
    }

    &#x2F;&#x2F; Message input
    const message = document.getElementById(&quot;message&quot;);
    const messageErrorRequired = document.getElementsByClassName(&quot;contact-form__error-message-required&quot;);
    let messageErrorCount = 0;
    message.addEventListener(&quot;focusout&quot;, (event) =&gt; {
        validateMessage();
        errorListErrorCount.textContent = totalErrorCount;
        if (totalErrorCount === 0) {
            errorList.classList.add(&quot;contact-form__errors--no-errors&quot;);
        }
    });

    function validateMessage() {
        totalErrorCount -= messageErrorCount;
        let errorCount = 0;

        if (message.validity.valueMissing) {
            for (let i = 0; i &lt; messageErrorRequired.length; i++) {
                messageErrorRequired[i].classList.remove(&quot;contact-form__error--no-error&quot;);
            }
            errorCount++;
        } else {
            for (let i = 0; i &lt; messageErrorRequired.length; i++) {
                messageErrorRequired[i].classList.add(&quot;contact-form__error--no-error&quot;);
            }
        }

        messageErrorCount = errorCount;
        totalErrorCount += messageErrorCount;
    }

    function validateFields() {
        validateName();
        validateEmail();
        validateMessage();
    }

    &#x2F;&#x2F; Reset Form
    const allErrorMessage = document.getElementsByClassName(&quot;contact-form__error&quot;);
    form.addEventListener(&quot;reset&quot;, (event) =&gt; {
        &#x2F;&#x2F; Hide and reset form error messages
        nameErrorCount = 0;
        emailErrorCount = 0;
        messageErrorCount = 0;
        totalErrorCount = 0;
        for (let i = 0; i &lt; allErrorMessage.length; i++) {
            allErrorMessage[i].classList.add(&quot;contact-form__error--no-error&quot;);
        }
        errorList.classList.add(&quot;contact-form__errors--no-errors&quot;);
        errorListErrorCount.textContent = 0;

        &#x2F;&#x2F; Hide and reset form submission error messages
        submissionMessages.classList.add(&quot;contact-form__submission-messages--hidden&quot;);
        submissionSuccess.classList.add(&quot;contact-form__submission-message--hidden&quot;);
        submissionFailed.classList.add(&quot;contact-form__submission-message--hidden&quot;);
        submissionPanic.classList.add(&quot;contact-form__submission-message--hidden&quot;);
    });

    &#x2F;&#x2F; Submit Form
    const submissionMessages = document.getElementsByClassName(&quot;contact-form__submission-messages&quot;)[0];
    const submissionSuccess = document.getElementsByClassName(&quot;contact-form__submission-message--success&quot;)[0];
    const submissionFailed = document.getElementsByClassName(&quot;contact-form__submission-message--failed&quot;)[0];
    const submissionPanic = document.getElementsByClassName(&quot;contact-form__submission-message--panic&quot;)[0];
    form.addEventListener(&quot;submit&quot;, (event) =&gt; {
        event.preventDefault();

        const isFormValid = name.validity.valid &amp;&amp; email.validity.valid &amp;&amp; message.validity.valid;
        if (isFormValid) {
            let formData = new FormData(event.target);
            if (botpoison === undefined) {
                console.log(&quot;Captcha not loaded yet&quot;);
            } else {
                botpoison.challenge().then(({ solution }) =&gt; {
                    fetch(event.target.action, {
                        method: form.method,
                        headers: {
                            &quot;Content-Type&quot;: &quot;application&#x2F;json&quot;,
                            Accept: &quot;application&#x2F;json&quot;,
                        },
                        body: JSON.stringify({
                            name: formData.get(&quot;name&quot;),
                            email: formData.get(&quot;email&quot;),
                            message: formData.get(&quot;message&quot;),
                            _botpoison: solution,
                        }),
                    }).then(function (response) {
                        submissionMessages.classList.remove(&quot;contact-form__submission-messages--hidden&quot;);
                        if (response.ok) {
                            submissionSuccess.classList.remove(&quot;contact-form__submission-message--hidden&quot;);
                            form.reset();
                        } else {
                            submissionFailed.classList.remove(&quot;contact-form__submission-message--hidden&quot;);
                        }
                    }).catch(function(response) {
                        submissionMessages.classList.remove(&quot;contact-form__submission-messages--hidden&quot;)
                        submissionPanic.classList.remove(&quot;contact-form__submission-message--hidden&quot;);
                    });
                });
            }
        } else {
            &#x2F;&#x2F; Validate form internally
            form.checkValidity();
            &#x2F;&#x2F; Analyse validation results
            validateFields();
            &#x2F;&#x2F; Set and display errors list
            errorListErrorCount.textContent = totalErrorCount;
            errorList.classList.remove(&quot;contact-form__errors--no-errors&quot;);
        }
    });

&lt;&#x2F;script&gt;</content>
        
    </entry>
    <entry xml:lang="fr">
        <title>Terms &amp; Conditions</title>
        <published>2024-08-19T00:00:00+00:00</published>
        <updated>2024-08-19T00:00:00+00:00</updated>
        
        <author>
          <name>
            
              Pierre Tremblay-Thériault
            
          </name>
        </author>
        
        <link rel="alternate" type="text/html" href="https://lapinchatware.ca/legals/terms-and-conditions/"/>
        <id>https://lapinchatware.ca/legals/terms-and-conditions/</id>
        
        <content type="html" xml:base="https://lapinchatware.ca/legals/terms-and-conditions/">&lt;p&gt;By downloading or using our apps and websites, these terms will automatically apply to you – you should make sure
therefore that you read them carefully before using our apss and websites. You’re not allowed to copy or modify our apps
and websites, any part of our apps and websites, or our trademarks in any way. You’re not allowed to attempt to extract
the source code of our apps and websites, and you also shouldn’t try to translate our apps and websites into other
languages or make derivative versions. Our apps itself and websites itself, and all the trademarks, copyright,
database rights, and other intellectual property rights related to it, still belong to Pierre Tremblay-Thériault.&lt;&#x2F;p&gt;
&lt;p&gt;Pierre Tremblay-Thériault is committed to ensuring that our apps and websites are as useful and efficient as possible.
For that reason, we reserve the right to make changes to our apps and websites or to charge for its services, at any
time and for any reason. We will never charge you for our apps and websites or its services without making it very clear
to you exactly what you’re paying for.&lt;&#x2F;p&gt;
&lt;p&gt;our apps and websites do not stores and do not processes personal data.&lt;&#x2F;p&gt;
&lt;p&gt;You should be aware that there are certain things that Pierre Tremblay-Thériault will not take responsibility for.
Certain functions of our apps and websites will require our apps and websites to have an active internet connection.
The connection can be Wi-Fi or provided by your mobile network provider, but Pierre Tremblay-Thériault cannot take
responsibility for our apps and websites not working at full functionality if you don’t have access to Wi-Fi, and you
don’t have any of your data allowance left.&lt;&#x2F;p&gt;
&lt;p&gt;If you’re using our apps and websites outside of an area with Wi-Fi, you should remember that the terms of the agreement
with your mobile network provider will still apply. As a result, you may be charged by your mobile provider for the cost
of data for the duration of the connection while accessing our apps and websites, or other third-party charges. In using
our apps and websites, you’re accepting responsibility for any such charges, including roaming data charges if you use
our apps and websites outside of your home territory (i.e. region or country) without turning off data roaming. If you
are not the bill payer for the device on which you’re using our apps and websites, please be aware that we assume that
you have received permission from the bill payer for using the app.&lt;&#x2F;p&gt;
&lt;p&gt;Along the same lines, Pierre Tremblay-Thériault cannot always take responsibility for the way you use our apps and
websites i.e. You need to make sure that your device stays charged – if it runs out of battery and you can’t turn it on
to avail the Service, Pierre Tremblay-Thériault cannot accept responsibility.&lt;&#x2F;p&gt;
&lt;p&gt;With respect to Pierre Tremblay-Thériault’s responsibility for your use of our apps and websites, when you’re using our
apps and websites, it’s important to bear in mind that although we endeavor to ensure that it is updated and correct at
all times, we do rely on third parties to provide information to us so that we can make it available to you. Pierre
Tremblay-Thériault accepts no liability for any loss, direct or indirect, you experience as a result of relying wholly
on this functionality of our apps and websites.&lt;&#x2F;p&gt;
&lt;p&gt;At some point, we may wish to update our apps and websites. Our apps and websites are currently available on Android
&amp;amp; iOS – the requirements for both systems(and for any additional systems we decide to extend the availability of our
apps and websites to) may change, and you’ll need to download the updates if you want to keep using our apps and websites.
Pierre Tremblay-Thériault does not promise that it will always update our apps and websites so that it is relevant to
you and&#x2F;or works with the Android &amp;amp; iOS version that you have installed on your device. However, you promise to
always accept updates to the application when offered to you, We may also wish to stop providing our apps and websites,
and may terminate use of it at any time without giving notice of termination to you. Unless we tell you otherwise, upon
any termination, (a) the rights and licenses granted to you in these terms will end; (b) you must stop using our apps
and websites, and (if needed) delete it from your device.&lt;&#x2F;p&gt;
&lt;h2 id=&quot;changes-to-this-terms-and-conditions&quot;&gt;Changes to This Terms and Conditions&lt;&#x2F;h2&gt;
&lt;p&gt;I may update our Terms and Conditions from time to time. Thus, you are advised to review this page periodically for any
changes. I will notify you of any changes by posting the new Terms and Conditions on this page.&lt;&#x2F;p&gt;
&lt;p&gt;These terms and conditions are effective as of 2024-08-19&lt;&#x2F;p&gt;
&lt;h2 id=&quot;contact-us&quot;&gt;Contact Us&lt;&#x2F;h2&gt;
&lt;p&gt;If you have any questions or suggestions about my Terms and Conditions, do not hesitate to contact me with the form below.&lt;&#x2F;p&gt;
&lt;form novalidate class=&quot;contact-form&quot; action=&quot;https:&amp;#x2F;&amp;#x2F;submit-form.com&amp;#x2F;mgSQy1itS&quot; method=&quot;POST&quot;&gt;

    &lt;section class=&quot;contact-form__errors contact-form__errors--no-errors&quot; tabindex=&quot;-1&quot;&gt;
        &lt;h2 class=&quot;contact-form__errors__title&quot;&gt;Le formulaire n&#x27;a pu être soumis car &lt;span class=&quot;contact-form__errors__count&quot;&gt;6&lt;&#x2F;span&gt; erreurs ont été trouvées.&lt;&#x2F;h2&gt;
        &lt;ol class=&quot;contact-form__errors__list&quot;&gt;
            &lt;li class=&quot;contact-form__errors__list__item contact-form__error-name-required&quot;&gt;
                &lt;a class=&quot;contact-form__errors__list__link&quot; href=&quot;#name&quot;&gt;
                    &lt;span class=&quot;contact-form__errors__list__item__error-notice&quot;&gt;Erreur&amp;nbsp;: &lt;&#x2F;span&gt;
                    Nom - Ce champ est obligatoire.
                &lt;&#x2F;a&gt;
            &lt;&#x2F;li&gt;
            &lt;li class=&quot;contact-form__errors__list__item contact-form__error-name-short&quot;&gt;
                &lt;a class=&quot;contact-form__errors__list__link&quot; href=&quot;#name&quot;&gt;
                    &lt;span class=&quot;contact-form__errors__list__item__error-notice&quot;&gt;Erreur&amp;nbsp;: &lt;&#x2F;span&gt;
                    Nom - Ce champ doit contenir au minimum deux caractères.
                &lt;&#x2F;a&gt;
            &lt;&#x2F;li&gt;
            &lt;li class=&quot;contact-form__errors__list__item contact-form__error-name-invalid&quot;&gt;
                &lt;a class=&quot;contact-form__errors__list__link&quot; href=&quot;#name&quot;&gt;
                    &lt;span class=&quot;contact-form__errors__list__item__error-notice&quot;&gt;Erreur&amp;nbsp;: &lt;&#x2F;span&gt;
                    Nom - Les caractères admissibles sont des chiffres, des lettres et des traits d&#x27;union.
                &lt;&#x2F;a&gt;
            &lt;&#x2F;li&gt;
            &lt;li class=&quot;contact-form__errors__list__item contact-form__error-email-required&quot;&gt;
                &lt;a class=&quot;contact-form__errors__list__link&quot; href=&quot;#email&quot;&gt;
                    &lt;span class=&quot;contact-form__errors__list__item__error-notice&quot;&gt;Erreur&amp;nbsp;: &lt;&#x2F;span&gt;
                    Courriel - Ce champ est obligatoire.
                &lt;&#x2F;a&gt;
            &lt;&#x2F;li&gt;
            &lt;li class=&quot;contact-form__errors__list__item contact-form__error-email-invalid&quot;&gt;
                &lt;a class=&quot;contact-form__errors__list__link&quot; href=&quot;#email&quot;&gt;
                    &lt;span class=&quot;contact-form__errors__list__item__error-notice&quot;&gt;Erreur&amp;nbsp;: &lt;&#x2F;span&gt;
                    Courriel - Le format de l&#x27;adresse est invalide. Il doit ressembler à votre nom@domaine.com .
                &lt;&#x2F;a&gt;
            &lt;&#x2F;li&gt;
            &lt;li class=&quot;contact-form__errors__list__item contact-form__error-message-required&quot;&gt;
                &lt;a class=&quot;contact-form__errors__list__link&quot; href=&quot;#message&quot;&gt;
                    &lt;span class=&quot;contact-form__errors__list__item__error-notice&quot;&gt;Erreur&amp;nbsp;: &lt;&#x2F;span&gt;
                    Message - Ce champ est obligatoire.
                &lt;&#x2F;a&gt;
            &lt;&#x2F;li&gt;
        &lt;&#x2F;ol&gt;
    &lt;&#x2F;section&gt;

    &lt;section class=&quot;contact-form__submission-messages contact-form__submission-messages--hidden&quot; tabindex=&quot;-1&quot;&gt;
        &lt;span class=&quot;contact-form__submission-message contact-form__submission-message--success contact-form__submission-message--hidden&quot;&gt;Votre message a bien été envoyé. Merci.&lt;&#x2F;span&gt;
        &lt;span class=&quot;contact-form__submission-message contact-form__submission-message--failed contact-form__submission-message--hidden&quot;&gt;Un problème est survenue lors de l&#x27;envoie du message. Veuillez réessayer.&lt;&#x2F;span&gt;
        &lt;span class=&quot;contact-form__submission-message contact-form__submission-message--panic contact-form__submission-message--hidden&quot;&gt;Une erreur inconnue est survenue. Veuillez rafraîchir la page et réessayer.&lt;&#x2F;span&gt;
    &lt;&#x2F;section&gt;

    &lt;div class=&quot;contact-form__group&quot;&gt;
        &lt;label class=&quot;contact-form__label contact-form__label--required&quot; for=&quot;name&quot;&gt;
            &lt;span class=&quot;contact-form__label--required-notice&quot;&gt;* &lt;&#x2F;span&gt;
            Name
            &lt;span class=&quot;contact-form__label--required-notice&quot;&gt;(obligatoire)&lt;&#x2F;span&gt;
        &lt;&#x2F;label&gt;
        &lt;span aria-live=&quot;polite&quot; class=&quot;contact-form__error contact-form__error--no-error contact-form__error-name-required&quot;&gt;Ce champ est obligatoire.&lt;&#x2F;span&gt;
        &lt;span aria-live=&quot;polite&quot; class=&quot;contact-form__error contact-form__error--no-error contact-form__error-name-short&quot;&gt;Ce champ doit contenir au minimum deux caractères.&lt;&#x2F;span&gt;
        &lt;span aria-live=&quot;polite&quot; class=&quot;contact-form__error contact-form__error--no-error contact-form__error-name-invalid&quot;&gt;Les caractères admissibles sont des chiffres, des lettres et des traits d&#x27;union.&lt;&#x2F;span&gt;
        &lt;input class=&quot;contact-form__field contact-form__field--input&quot; id=&quot;name&quot; name=&quot;name&quot; type=&quot;text&quot; minlength=&quot;2&quot; pattern=&quot;[A-Za-z0-9\-\s]*&quot; required=&quot;required&quot; aria-required=&quot;true&quot; &#x2F;&gt;
    &lt;&#x2F;div&gt;
    &lt;div class=&quot;contact-form__group&quot;&gt;
        &lt;label class=&quot;contact-form__label contact-form__label--required&quot; for=&quot;email&quot;&gt;
            &lt;span class=&quot;contact-form__label--required-notice&quot;&gt;* &lt;&#x2F;span&gt;
            Email
            &lt;span class=&quot;contact-form__label--required-notice&quot;&gt;(obligatoire)&lt;&#x2F;span&gt;
        &lt;&#x2F;label&gt;
        &lt;span aria-live=&quot;polite&quot; class=&quot;contact-form__error contact-form__error--no-error contact-form__error-email-required&quot;&gt;Ce champ est obligatoire.&lt;&#x2F;span&gt;
        &lt;span aria-live=&quot;polite&quot; class=&quot;contact-form__error contact-form__error--no-error contact-form__error-email-invalid&quot;&gt;Le format de l&#x27;adresse est invalide. Il doit ressembler à votre nom@domaine.com .&lt;&#x2F;span&gt;
        &lt;input class=&quot;contact-form__field contact-form__field--input&quot; id=&quot;email&quot; name=&quot;email&quot; type=&quot;email&quot; pattern=&quot;^[a-zA-Z0-9.!#$%&amp;&#x27;*+\&#x2F;=?^_`\{\|\}~\-]+@[a-zA-Z0-9](?:[a-zA-Z0-9\-]{0,61}[a-zA-Z0-9])?(?:\.[a-zA-Z0-9](?:[a-zA-Z0-9\-]{0,61}[a-zA-Z0-9])?)*$&quot; required  aria-required=&quot;true&quot; &#x2F;&gt;
    &lt;&#x2F;div&gt;
    &lt;div class=&quot;contact-form__group&quot;&gt;
        &lt;label class=&quot;contact-form__label contact-form__label--required&quot; for=&quot;message&quot;&gt;
            &lt;span class=&quot;contact-form__label--required-notice&quot;&gt;* &lt;&#x2F;span&gt;
            Message
            &lt;span class=&quot;contact-form__label--required-notice&quot;&gt;(obligatoire)&lt;&#x2F;span&gt;
        &lt;&#x2F;label&gt;
        &lt;span aria-live=&quot;polite&quot; class=&quot;contact-form__error contact-form__error--no-error contact-form__error-message-required&quot;&gt;Ce champ est obligatoire.&lt;&#x2F;span&gt;
        &lt;textarea class=&quot;contact-form__field contact-form__field--textarea&quot; id=&quot;message&quot; name=&quot;message&quot; rows=&quot;10&quot; required aria-required=&quot;true&quot; &gt;&lt;&#x2F;textarea&gt;
    &lt;&#x2F;div&gt;
    &lt;div class=&quot;contact-form__controls&quot;&gt;
        &lt;button class=&quot;contact-form__button contact-form__button--submit&quot; type=&quot;submit&quot;&gt;Send&lt;&#x2F;button&gt;
        &lt;button class=&quot;contact-form__button contact-form__button--reset&quot; type=&quot;reset&quot;&gt;Reset form&lt;&#x2F;button&gt;
    &lt;&#x2F;div&gt;
&lt;&#x2F;form&gt;

&lt;script id=&quot;botpoisonScript&quot; src=&quot;https:&#x2F;&#x2F;unpkg.com&#x2F;@botpoison&#x2F;browser&quot; async&gt;&lt;&#x2F;script&gt;
&lt;script&gt;
    &#x2F;*
    Captcha management
     *&#x2F;

    &#x2F;&#x2F; Init captcha
    let botpoison = undefined;
    let botpoisonScript = document.getElementById(&quot;botpoisonScript&quot;);
    botpoisonScript.addEventListener(&quot;load&quot;, function() {
        botpoison = new Botpoison({
            publicKey: &quot;pk_0cdf5d2f-1278-4085-9639-7ef4bf05ec6a&quot;,
        });
    })

    const form = document.getElementsByClassName(&quot;contact-form&quot;)[0];

    &#x2F;*
    Form Validation
     *&#x2F;
    const errorList = document.getElementsByClassName(&quot;contact-form__errors&quot;)[0];
    const errorListErrorCount = document.getElementsByClassName(&quot;contact-form__errors__count&quot;)[0];
    let totalErrorCount = 0;

    &#x2F;&#x2F; Name input
    const name = document.getElementById(&quot;name&quot;);
    const nameErrorRequired = document.getElementsByClassName(&quot;contact-form__error-name-required&quot;);
    const nameErrorShort = document.getElementsByClassName(&quot;contact-form__error-name-short&quot;);
    const nameErrorInvalid = document.getElementsByClassName(&quot;contact-form__error-name-invalid&quot;);
    let nameErrorCount = 0;
    name.addEventListener(&quot;focusout&quot;, (event) =&gt; {
        validateName();
        errorListErrorCount.textContent = totalErrorCount;
        if (totalErrorCount === 0) {
            errorList.classList.add(&quot;contact-form__errors--no-errors&quot;);
        }
    });

    function validateName() {
        totalErrorCount -= nameErrorCount;
        let errorCount = 0;

        if (name.validity.valueMissing) {
            for (let i = 0; i &lt; nameErrorRequired.length; i++) {
                nameErrorRequired[i].classList.remove(&quot;contact-form__error--no-error&quot;);
            }
            errorCount++;
        } else {
            for (let i = 0; i &lt; nameErrorRequired.length; i++) {
                nameErrorRequired[i].classList.add(&quot;contact-form__error--no-error&quot;);
            }
        }

        if (name.validity.tooShort) {
            for (let i = 0; i &lt; nameErrorShort.length; i++) {
                nameErrorShort[i].classList.remove(&quot;contact-form__error--no-error&quot;);
            }
            errorCount++;
        } else {
            for (let i = 0; i &lt; nameErrorShort.length; i++) {
                nameErrorShort[i].classList.add(&quot;contact-form__error--no-error&quot;);
            }
        }

        if (name.validity.patternMismatch) {
            for (let i = 0; i &lt; nameErrorInvalid.length; i++) {
                nameErrorInvalid[i].classList.remove(&quot;contact-form__error--no-error&quot;);
            }
            errorCount++;
        } else {
            for (let i = 0; i &lt; nameErrorInvalid.length; i++) {
                nameErrorInvalid[i].classList.add(&quot;contact-form__error--no-error&quot;);
            }
        }

        nameErrorCount = errorCount;
        totalErrorCount += nameErrorCount;
    }

    &#x2F;&#x2F; Email input
    const email = document.getElementById(&quot;email&quot;);
    const emailErrorRequired = document.getElementsByClassName(&quot;contact-form__error-email-required&quot;);
    const emailErrorInvalid = document.getElementsByClassName(&quot;contact-form__error-email-invalid&quot;);
    let emailErrorCount = 0;
    email.addEventListener(&quot;focusout&quot;, (event) =&gt; {
        validateEmail();
        errorListErrorCount.textContent = totalErrorCount;
        if (totalErrorCount === 0) {
            errorList.classList.add(&quot;contact-form__errors--no-errors&quot;);
        }
    });

    function validateEmail() {
        totalErrorCount -= emailErrorCount;
        let errorCount = 0;

        if (email.validity.valueMissing) {
            for (let i = 0; i &lt; emailErrorRequired.length; i++) {
                emailErrorRequired[i].classList.remove(&quot;contact-form__error--no-error&quot;);
            }
            errorCount++;
        } else {
            for (let i = 0; i &lt; emailErrorRequired.length; i++) {
                emailErrorRequired[i].classList.add(&quot;contact-form__error--no-error&quot;);
            }
        }

        if (email.validity.patternMismatch) {
            for (let i = 0; i &lt; emailErrorInvalid.length; i++) {
                emailErrorInvalid[i].classList.remove(&quot;contact-form__error--no-error&quot;);
            }
            errorCount++;
        } else {
            for (let i = 0; i &lt; emailErrorInvalid.length; i++) {
                emailErrorInvalid[i].classList.add(&quot;contact-form__error--no-error&quot;);
            }
        }

        emailErrorCount = errorCount;
        totalErrorCount += emailErrorCount;
    }

    &#x2F;&#x2F; Message input
    const message = document.getElementById(&quot;message&quot;);
    const messageErrorRequired = document.getElementsByClassName(&quot;contact-form__error-message-required&quot;);
    let messageErrorCount = 0;
    message.addEventListener(&quot;focusout&quot;, (event) =&gt; {
        validateMessage();
        errorListErrorCount.textContent = totalErrorCount;
        if (totalErrorCount === 0) {
            errorList.classList.add(&quot;contact-form__errors--no-errors&quot;);
        }
    });

    function validateMessage() {
        totalErrorCount -= messageErrorCount;
        let errorCount = 0;

        if (message.validity.valueMissing) {
            for (let i = 0; i &lt; messageErrorRequired.length; i++) {
                messageErrorRequired[i].classList.remove(&quot;contact-form__error--no-error&quot;);
            }
            errorCount++;
        } else {
            for (let i = 0; i &lt; messageErrorRequired.length; i++) {
                messageErrorRequired[i].classList.add(&quot;contact-form__error--no-error&quot;);
            }
        }

        messageErrorCount = errorCount;
        totalErrorCount += messageErrorCount;
    }

    function validateFields() {
        validateName();
        validateEmail();
        validateMessage();
    }

    &#x2F;&#x2F; Reset Form
    const allErrorMessage = document.getElementsByClassName(&quot;contact-form__error&quot;);
    form.addEventListener(&quot;reset&quot;, (event) =&gt; {
        &#x2F;&#x2F; Hide and reset form error messages
        nameErrorCount = 0;
        emailErrorCount = 0;
        messageErrorCount = 0;
        totalErrorCount = 0;
        for (let i = 0; i &lt; allErrorMessage.length; i++) {
            allErrorMessage[i].classList.add(&quot;contact-form__error--no-error&quot;);
        }
        errorList.classList.add(&quot;contact-form__errors--no-errors&quot;);
        errorListErrorCount.textContent = 0;

        &#x2F;&#x2F; Hide and reset form submission error messages
        submissionMessages.classList.add(&quot;contact-form__submission-messages--hidden&quot;);
        submissionSuccess.classList.add(&quot;contact-form__submission-message--hidden&quot;);
        submissionFailed.classList.add(&quot;contact-form__submission-message--hidden&quot;);
        submissionPanic.classList.add(&quot;contact-form__submission-message--hidden&quot;);
    });

    &#x2F;&#x2F; Submit Form
    const submissionMessages = document.getElementsByClassName(&quot;contact-form__submission-messages&quot;)[0];
    const submissionSuccess = document.getElementsByClassName(&quot;contact-form__submission-message--success&quot;)[0];
    const submissionFailed = document.getElementsByClassName(&quot;contact-form__submission-message--failed&quot;)[0];
    const submissionPanic = document.getElementsByClassName(&quot;contact-form__submission-message--panic&quot;)[0];
    form.addEventListener(&quot;submit&quot;, (event) =&gt; {
        event.preventDefault();

        const isFormValid = name.validity.valid &amp;&amp; email.validity.valid &amp;&amp; message.validity.valid;
        if (isFormValid) {
            let formData = new FormData(event.target);
            if (botpoison === undefined) {
                console.log(&quot;Captcha not loaded yet&quot;);
            } else {
                botpoison.challenge().then(({ solution }) =&gt; {
                    fetch(event.target.action, {
                        method: form.method,
                        headers: {
                            &quot;Content-Type&quot;: &quot;application&#x2F;json&quot;,
                            Accept: &quot;application&#x2F;json&quot;,
                        },
                        body: JSON.stringify({
                            name: formData.get(&quot;name&quot;),
                            email: formData.get(&quot;email&quot;),
                            message: formData.get(&quot;message&quot;),
                            _botpoison: solution,
                        }),
                    }).then(function (response) {
                        submissionMessages.classList.remove(&quot;contact-form__submission-messages--hidden&quot;);
                        if (response.ok) {
                            submissionSuccess.classList.remove(&quot;contact-form__submission-message--hidden&quot;);
                            form.reset();
                        } else {
                            submissionFailed.classList.remove(&quot;contact-form__submission-message--hidden&quot;);
                        }
                    }).catch(function(response) {
                        submissionMessages.classList.remove(&quot;contact-form__submission-messages--hidden&quot;)
                        submissionPanic.classList.remove(&quot;contact-form__submission-message--hidden&quot;);
                    });
                });
            }
        } else {
            &#x2F;&#x2F; Validate form internally
            form.checkValidity();
            &#x2F;&#x2F; Analyse validation results
            validateFields();
            &#x2F;&#x2F; Set and display errors list
            errorListErrorCount.textContent = totalErrorCount;
            errorList.classList.remove(&quot;contact-form__errors--no-errors&quot;);
        }
    });

&lt;&#x2F;script&gt;</content>
        
    </entry>
    <entry xml:lang="fr">
        <title>lapinchatware.ca fait peau neuve</title>
        <published>2024-08-16T00:00:00+00:00</published>
        <updated>2024-08-16T00:00:00+00:00</updated>
        
        <author>
          <name>
            
              Pierre Tremblay-Thériault
            
          </name>
        </author>
        
        <link rel="alternate" type="text/html" href="https://lapinchatware.ca/blog/lapinchatware-ca-fait-peau-neuve/"/>
        <id>https://lapinchatware.ca/blog/lapinchatware-ca-fait-peau-neuve/</id>
        
        <summary type="html">&lt;p&gt;C&#x27;est avec grand plaisir que je mets en ligne mon nouveau site web. Cette refonte majeure ma permis de restructurer
le contenu, d&#x27;ouvrir un blog, de faire des choix techniques plus judicieux et de permettre l&#x27;accessibilité
du site à un plus grand nombre.&lt;&#x2F;p&gt;
</summary>
        
    </entry>
    <entry xml:lang="fr">
        <title>lapinchatware.ca</title>
        <published>2024-08-16T00:00:00+00:00</published>
        <updated>2024-08-16T00:00:00+00:00</updated>
        
        <author>
          <name>
            
              Pierre Tremblay-Thériault
            
          </name>
        </author>
        
        <link rel="alternate" type="text/html" href="https://lapinchatware.ca/web/lapinchatware-ca/"/>
        <id>https://lapinchatware.ca/web/lapinchatware-ca/</id>
        
        <content type="html" xml:base="https://lapinchatware.ca/web/lapinchatware-ca/"></content>
        
    </entry>
    <entry xml:lang="fr">
        <title>Maintenant professionnel de l&#x27;accessibilité</title>
        <published>2024-07-08T00:00:00+00:00</published>
        <updated>2024-07-08T00:00:00+00:00</updated>
        
        <author>
          <name>
            
              Pierre Tremblay-Thériault
            
          </name>
        </author>
        
        <link rel="alternate" type="text/html" href="https://lapinchatware.ca/blog/maintenant-professionnel-de-laccessibilite/"/>
        <id>https://lapinchatware.ca/blog/maintenant-professionnel-de-laccessibilite/</id>
        
        <summary type="html">&lt;p&gt;Après un formation d’une durée de 45 heures, du 21 mars au 25 juin 2024, j&#x27;ai obtenu mon attestion de formation avec une
note excellente! Cette formation donné par Jean-Marie d&#x27;Amour, formateur au Regroupement des aveugles et amblyopes du
Montréal métropolitain (RAAMM), portait &lt;q cite=&quot;https:&amp;#x2F;&amp;#x2F;raamm.org&amp;#x2F;services-grand-public&amp;#x2F;accessibilite-numerique&amp;#x2F;formation-sites-web-universellement-accessibles&amp;#x2F;&quot;&gt;notamment [sur] les différentes clientèles de l’accessibilité, les outils
d’adaptation, les règles d’accessibilité, l’évaluation fonctionnelle et technique de l’accessibilité, la conception de
documents numériques accessibles et les enjeux d’accessibilité des contenus Web enrichis.&lt;&#x2F;q&gt;&lt;&#x2F;p&gt;
</summary>
        
    </entry>
    <entry xml:lang="fr">
        <title>Morning Rush</title>
        <published>2024-06-12T00:00:00+00:00</published>
        <updated>2024-06-12T00:00:00+00:00</updated>
        
        <author>
          <name>
            
              Pierre Tremblay-Thériault
            
          </name>
        </author>
        
        <link rel="alternate" type="text/html" href="https://lapinchatware.ca/games/morning-rush/"/>
        <id>https://lapinchatware.ca/games/morning-rush/</id>
        
        <content type="html" xml:base="https://lapinchatware.ca/games/morning-rush/">&lt;p&gt;!!! Morning Rush !!!&lt;&#x2F;p&gt;
&lt;p&gt;Serve as many breakfasts as you can!
Become the richest barista in existence!
Fill the screen with the gratuities of your happy customers!&lt;&#x2F;p&gt;
&lt;p&gt;Complete breakfast and extend the wait line.
Failed breakfast shortens the wait line.&lt;&#x2F;p&gt;
&lt;p&gt;When the wait line is empty you lose... PLAY AGAIN!&lt;&#x2F;p&gt;
</content>
        
    </entry>
    <entry xml:lang="fr">
        <title>Andrée-Anne Giguère - Artiste interdisciplinaire</title>
        <published>2024-02-01T00:00:00+00:00</published>
        <updated>2024-02-01T00:00:00+00:00</updated>
        
        <author>
          <name>
            
              Pierre Tremblay-Thériault
            
          </name>
        </author>
        
        <link rel="alternate" type="text/html" href="https://lapinchatware.ca/web/aagiguere-ca/"/>
        <id>https://lapinchatware.ca/web/aagiguere-ca/</id>
        
        <content type="html" xml:base="https://lapinchatware.ca/web/aagiguere-ca/"></content>
        
    </entry>
    <entry xml:lang="fr">
        <title>Phonographie Maritime</title>
        <published>2019-01-01T00:00:00+00:00</published>
        <updated>2019-01-01T00:00:00+00:00</updated>
        
        <author>
          <name>
            
              Pierre Tremblay-Thériault
            
          </name>
        </author>
        
        <link rel="alternate" type="text/html" href="https://lapinchatware.ca/arts/phono-maritime/"/>
        <id>https://lapinchatware.ca/arts/phono-maritime/</id>
        
        <content type="html" xml:base="https://lapinchatware.ca/arts/phono-maritime/">&lt;div id=&quot;galleryphonomaritime&quot; class=&quot;gallery&quot;&gt;
    
    &lt;div class=&quot;gallery__viewport&quot;&gt;
        &lt;div class=&quot;gallery__viewport__images&quot;&gt;
            
            
                    
                    &lt;img id=&quot;galleryphonomaritimeimage0&quot; class=&quot;gallery__viewport__image&quot; src=&quot;&amp;#x2F;arts&amp;#x2F;phono-maritime&amp;#x2F;gallery&amp;#x2F;avosrisk_40.jpg&quot; alt=&quot;Photo d&amp;#x27;archive du spectacle: Edouard Germain (poète&amp;#x2F;performeur) assit sur le sol appuyé sur un mur. Sur lui et le mur, une projection vidéo d&amp;#x27;un pont levant de St-Nazaire.&quot;&#x2F;&gt;
                    
                    
                    &lt;img id=&quot;galleryphonomaritimeimage1&quot; class=&quot;gallery__viewport__image&quot; src=&quot;&amp;#x2F;arts&amp;#x2F;phono-maritime&amp;#x2F;gallery&amp;#x2F;phonographie.jpg&quot; alt=&quot;Photo d&amp;#x27;archive du spectacle: Maria Juliana Vélez (danseuse&amp;#x2F;actrice) portant un casque de réalité virtuelle et parlant dans un micro. Sur le mur derrière, une projection vidéo.&quot;&#x2F;&gt;
                    
                    
                    &lt;img id=&quot;galleryphonomaritimeimage2&quot; class=&quot;gallery__viewport__image&quot; src=&quot;&amp;#x2F;arts&amp;#x2F;phono-maritime&amp;#x2F;gallery&amp;#x2F;phonographie_1.jpg&quot; alt=&quot;Photo d&amp;#x27;archive du spectacle: Maria Juliana Vélez (danseuse&amp;#x2F;actrice) portant un casque de réalité virtuelle et parlant dans un micro. Dans les bras de deux hommes, Jean-Paul Quéinnec (performeur&amp;#x2F;artiste) et Pierre Tremblay-Thériault (performeur&amp;#x2F;artiste), elle tente de toucher le plafond du bout des doigts.&quot;&#x2F;&gt;
                    
                    
                    &lt;img id=&quot;galleryphonomaritimeimage3&quot; class=&quot;gallery__viewport__image&quot; src=&quot;&amp;#x2F;arts&amp;#x2F;phono-maritime&amp;#x2F;gallery&amp;#x2F;phonographie_10.jpg&quot; alt=&quot;Photo d&amp;#x27;archive du spectacle: Vue au travers de la structure d&amp;#x27;une tour en bois, Maria Juliana Vélez (danseuse&amp;#x2F;actrice) portant un casque de réalité virtuelle parle dans un micro. Edouard Germain (poète&amp;#x2F;performeur), Jean-Paul Quéinnec (performeur&amp;#x2F;artiste) et Pierre Tremblay-Thériault (performeur&amp;#x2F;artiste) l&amp;#x27;accompagne.&quot;&#x2F;&gt;
                    
                    
                    &lt;img id=&quot;galleryphonomaritimeimage4&quot; class=&quot;gallery__viewport__image&quot; src=&quot;&amp;#x2F;arts&amp;#x2F;phono-maritime&amp;#x2F;gallery&amp;#x2F;phonographie_11.jpg&quot; alt=&quot;Photo d&amp;#x27;archive du spectacle: Maria Juliana Vélez (danseuse&amp;#x2F;actrice) portant un casque de réalité virtuelle et parlant dans un micro. Dans les bras de deux hommes, Jean-Paul Quéinnec (performeur&amp;#x2F;artiste) et Edouard Germain (poète&amp;#x2F;performeur). Pierre Tremblay-Thériault (performeur&amp;#x2F;artiste) la filme avec un téléphone.&quot;&#x2F;&gt;
                    
                    
                    &lt;img id=&quot;galleryphonomaritimeimage5&quot; class=&quot;gallery__viewport__image&quot; src=&quot;&amp;#x2F;arts&amp;#x2F;phono-maritime&amp;#x2F;gallery&amp;#x2F;phonographie_12.jpg&quot; alt=&quot;Photo d&amp;#x27;archive du spectacle: Maria Juliana Vélez (danseuse&amp;#x2F;actrice) portant un casque de réalité virtuelle parle dans un micro. Pierre Tremblay-Thériault (performeur&amp;#x2F;artiste) la filme avec un téléphone. Edouard Germain (poète&amp;#x2F;performeur), Jean-Paul Quéinnec (performeur&amp;#x2F;artiste) l&amp;#x27;accompagne.&quot;&#x2F;&gt;
                    
                    
                    &lt;img id=&quot;galleryphonomaritimeimage6&quot; class=&quot;gallery__viewport__image&quot; src=&quot;&amp;#x2F;arts&amp;#x2F;phono-maritime&amp;#x2F;gallery&amp;#x2F;phonographie_13.jpg&quot; alt=&quot;Photo d&amp;#x27;archive du spectacle: Maria Juliana Vélez (danseuse&amp;#x2F;actrice) portant un casque de réalité virtuelle et parlant dans un micro.&quot;&#x2F;&gt;
                    
                    
                    &lt;img id=&quot;galleryphonomaritimeimage7&quot; class=&quot;gallery__viewport__image&quot; src=&quot;&amp;#x2F;arts&amp;#x2F;phono-maritime&amp;#x2F;gallery&amp;#x2F;phonographie_14.jpg&quot; alt=&quot;Photo d&amp;#x27;archive du spectacle: François Harvey (concepteur sonore) et Florian Solesse (assistant) assis derrière leur console.&quot;&#x2F;&gt;
                    
                    
                    &lt;img id=&quot;galleryphonomaritimeimage8&quot; class=&quot;gallery__viewport__image&quot; src=&quot;&amp;#x2F;arts&amp;#x2F;phono-maritime&amp;#x2F;gallery&amp;#x2F;phonographie_15.jpg&quot; alt=&quot;Photo d&amp;#x27;archive du spectacle: Jean-Paul Quéinnec (performeur&amp;#x2F;artiste) parlant dans un micro. Il tient un amplficateur de guitare. Sur et derrière lui, une projection vidéo verte.&quot;&#x2F;&gt;
                    
                    
                    &lt;img id=&quot;galleryphonomaritimeimage9&quot; class=&quot;gallery__viewport__image&quot; src=&quot;&amp;#x2F;arts&amp;#x2F;phono-maritime&amp;#x2F;gallery&amp;#x2F;phonographie_16.jpg&quot; alt=&quot;Photo d&amp;#x27;archive du spectacle: Jean-Paul Quéinnec (performeur&amp;#x2F;artiste) parlant dans un micro. Il tient un amplficateur de guitare. Sur et derrière lui, une projection vidéo verte.&quot;&#x2F;&gt;
                    
                    
                    &lt;img id=&quot;galleryphonomaritimeimage10&quot; class=&quot;gallery__viewport__image&quot; src=&quot;&amp;#x2F;arts&amp;#x2F;phono-maritime&amp;#x2F;gallery&amp;#x2F;phonographie_17.jpg&quot; alt=&quot;Photo d&amp;#x27;archive du spectacle: Jean-Paul Quéinnec (performeur&amp;#x2F;artiste) parlant dans un micro. Il tient un amplficateur de guitare. Andrée-Anne Giguère (actrice&amp;#x2F;concepteur vidéo) filme Edouard Germain (poète&amp;#x2F;performeur) avec un téléphone. Edouard pointe du doigt Maria Juliana Vélez (danseuse&amp;#x2F;actrice). Sur eux derrière eux, une projection vidéo verte.&quot;&#x2F;&gt;
                    
                    
                    &lt;img id=&quot;galleryphonomaritimeimage11&quot; class=&quot;gallery__viewport__image&quot; src=&quot;&amp;#x2F;arts&amp;#x2F;phono-maritime&amp;#x2F;gallery&amp;#x2F;phonographie_18.jpg&quot; alt=&quot;Photo d&amp;#x27;archive du spectacle: Jean-Paul Quéinnec (performeur&amp;#x2F;artiste), Andrée-Anne Giguère (actrice&amp;#x2F;concepteur vidéo) et Edouard Germain (poète&amp;#x2F;performeur) se bousculent. Jean-Paul récite un poème. Andrée-Anne filme Jean-Paul. Sur eux derrière eux, une projection vidéo verte.&quot;&#x2F;&gt;
                    
                    
                    &lt;img id=&quot;galleryphonomaritimeimage12&quot; class=&quot;gallery__viewport__image&quot; src=&quot;&amp;#x2F;arts&amp;#x2F;phono-maritime&amp;#x2F;gallery&amp;#x2F;phonographie_19.jpg&quot; alt=&quot;Photo d&amp;#x27;archive du spectacle: Jean-Paul Quéinnec (performeur&amp;#x2F;artiste) parle dans un micro.&quot;&#x2F;&gt;
                    
                    
                    &lt;img id=&quot;galleryphonomaritimeimage13&quot; class=&quot;gallery__viewport__image&quot; src=&quot;&amp;#x2F;arts&amp;#x2F;phono-maritime&amp;#x2F;gallery&amp;#x2F;phonographie_2.jpg&quot; alt=&quot;Photo d&amp;#x27;archive du spectacle: Jean-Paul Quéinnec (performeur&amp;#x2F;artiste), Andrée-Anne Giguère (actrice&amp;#x2F;concepteur vidéo), Maria Juliana Vélez (danseuse&amp;#x2F;actrice) et Edouard Germain (poète&amp;#x2F;performeur) se bousculent. Jean-Paul récite un poème. Andrée-Anne filme Jean-Paul. Sur eux derrière eux, une projection vidéo verte.&quot;&#x2F;&gt;
                    
                    
                    &lt;img id=&quot;galleryphonomaritimeimage14&quot; class=&quot;gallery__viewport__image&quot; src=&quot;&amp;#x2F;arts&amp;#x2F;phono-maritime&amp;#x2F;gallery&amp;#x2F;phonographie_20.jpg&quot; alt=&quot;Photo d&amp;#x27;archive du spectacle: Jean-Paul Quéinnec (performeur&amp;#x2F;artiste), bousculé, parle dans un micro.&quot;&#x2F;&gt;
                    
                    
                    &lt;img id=&quot;galleryphonomaritimeimage15&quot; class=&quot;gallery__viewport__image&quot; src=&quot;&amp;#x2F;arts&amp;#x2F;phono-maritime&amp;#x2F;gallery&amp;#x2F;phonographie_21.jpg&quot; alt=&quot;Photo d&amp;#x27;archive du spectacle: Jean-Paul Quéinnec (performeur&amp;#x2F;artiste), bousculé, parle dans un micro.&quot;&#x2F;&gt;
                    
                    
                    &lt;img id=&quot;galleryphonomaritimeimage16&quot; class=&quot;gallery__viewport__image&quot; src=&quot;&amp;#x2F;arts&amp;#x2F;phono-maritime&amp;#x2F;gallery&amp;#x2F;phonographie_22.jpg&quot; alt=&quot;Photo d&amp;#x27;archive du spectacle: Jean-Paul Quéinnec (performeur&amp;#x2F;artiste), bousculé, parle dans un micro. Andrée-Anne Giguère (actrice&amp;#x2F;concepteur vidéo) filme Jean-Paul.&quot;&#x2F;&gt;
                    
                    
                    &lt;img id=&quot;galleryphonomaritimeimage17&quot; class=&quot;gallery__viewport__image&quot; src=&quot;&amp;#x2F;arts&amp;#x2F;phono-maritime&amp;#x2F;gallery&amp;#x2F;phonographie_23.jpg&quot; alt=&quot;Photo d&amp;#x27;archive du spectacle: Photo rapprochée de plusieurs corps entremêlés.&quot;&#x2F;&gt;
                    
                    
                    &lt;img id=&quot;galleryphonomaritimeimage18&quot; class=&quot;gallery__viewport__image&quot; src=&quot;&amp;#x2F;arts&amp;#x2F;phono-maritime&amp;#x2F;gallery&amp;#x2F;phonographie_24.jpg&quot; alt=&quot;Photo d&amp;#x27;archive du spectacle: Maria Juliana Vélez (danseuse&amp;#x2F;actrice) debout sur les dos de Jean-Paul Quéinnec (performeur&amp;#x2F;artiste) et Andrée-Anne Giguère (actrice&amp;#x2F;concepteur vidéo). Elle tient un micro pointé sur Jean-Paul et Andrée-Anne.&quot;&#x2F;&gt;
                    
                    
                    &lt;img id=&quot;galleryphonomaritimeimage19&quot; class=&quot;gallery__viewport__image&quot; src=&quot;&amp;#x2F;arts&amp;#x2F;phono-maritime&amp;#x2F;gallery&amp;#x2F;phonographie_25.jpg&quot; alt=&quot;Photo d&amp;#x27;archive du spectacle: Maria Juliana Vélez (danseuse&amp;#x2F;actrice) frotte un micro sur sa hanche. Derrière elle, une projection vidéo rouge remplit de mots blancs.&quot;&#x2F;&gt;
                    
                    
                    &lt;img id=&quot;galleryphonomaritimeimage20&quot; class=&quot;gallery__viewport__image&quot; src=&quot;&amp;#x2F;arts&amp;#x2F;phono-maritime&amp;#x2F;gallery&amp;#x2F;phonographie_26.jpg&quot; alt=&quot;Photo d&amp;#x27;archive du spectacle: Maria Juliana Vélez (danseuse&amp;#x2F;actrice) est appuyée sur un mur et frotte un micro sur son coup. Derrière elle, une projection vidéo bleue remplit de mots blancs.&quot;&#x2F;&gt;
                    
                    
                    &lt;img id=&quot;galleryphonomaritimeimage21&quot; class=&quot;gallery__viewport__image&quot; src=&quot;&amp;#x2F;arts&amp;#x2F;phono-maritime&amp;#x2F;gallery&amp;#x2F;phonographie_27.jpg&quot; alt=&quot;Photo d&amp;#x27;archive du spectacle: Maria Juliana Vélez (danseuse&amp;#x2F;actrice) danse un micro à la main. Derrière elle, une projection vidéo bleue remplit de mots blancs.&quot;&#x2F;&gt;
                    
                    
                    &lt;img id=&quot;galleryphonomaritimeimage22&quot; class=&quot;gallery__viewport__image&quot; src=&quot;&amp;#x2F;arts&amp;#x2F;phono-maritime&amp;#x2F;gallery&amp;#x2F;phonographie_28.jpg&quot; alt=&quot;Photo d&amp;#x27;archive du spectacle: Maria Juliana Vélez (danseuse&amp;#x2F;actrice) danse un micro à la main. Derrière elle, une projection vidéo bleue remplit de mots blancs.&quot;&#x2F;&gt;
                    
                    
                    &lt;img id=&quot;galleryphonomaritimeimage23&quot; class=&quot;gallery__viewport__image&quot; src=&quot;&amp;#x2F;arts&amp;#x2F;phono-maritime&amp;#x2F;gallery&amp;#x2F;phonographie_29.jpg&quot; alt=&quot;Photo d&amp;#x27;archive du spectacle: Maria Juliana Vélez (danseuse&amp;#x2F;actrice) danse un micro à la main. Derrière elle, une projection vidéo bleue remplit de mots blancs.&quot;&#x2F;&gt;
                    
                    
                    &lt;img id=&quot;galleryphonomaritimeimage24&quot; class=&quot;gallery__viewport__image&quot; src=&quot;&amp;#x2F;arts&amp;#x2F;phono-maritime&amp;#x2F;gallery&amp;#x2F;phonographie_3.jpg&quot; alt=&quot;Photo d&amp;#x27;archive du spectacle: Andrée-Anne Giguère (actrice&amp;#x2F;concepteur vidéo) tient un micro devant la bouche d&amp;#x27;une spectatrice. La spectatrice porte un casque de réalité virtuelle et parle dans le micro.&quot;&#x2F;&gt;
                    
                    
                    &lt;img id=&quot;galleryphonomaritimeimage25&quot; class=&quot;gallery__viewport__image&quot; src=&quot;&amp;#x2F;arts&amp;#x2F;phono-maritime&amp;#x2F;gallery&amp;#x2F;phonographie_30.jpg&quot; alt=&quot;Photo d&amp;#x27;archive du spectacle: Andrée-Anne Giguère (actrice&amp;#x2F;concepteur vidéo) tient un micro devant la bouche d&amp;#x27;une spectatrice. La spectatrice porte un casque de réalité virtuelle et parle dans le micro.&quot;&#x2F;&gt;
                    
                    
                    &lt;img id=&quot;galleryphonomaritimeimage26&quot; class=&quot;gallery__viewport__image&quot; src=&quot;&amp;#x2F;arts&amp;#x2F;phono-maritime&amp;#x2F;gallery&amp;#x2F;phonographie_31.jpg&quot; alt=&quot;Photo d&amp;#x27;archive du spectacle: Main de Andrée-Anne Giguère (actrice&amp;#x2F;concepteur vidéo) qui tient un micro devant la bouche d&amp;#x27;une spectatrice.&quot;&#x2F;&gt;
                    
                    
                    &lt;img id=&quot;galleryphonomaritimeimage27&quot; class=&quot;gallery__viewport__image&quot; src=&quot;&amp;#x2F;arts&amp;#x2F;phono-maritime&amp;#x2F;gallery&amp;#x2F;phonographie_32.jpg&quot; alt=&quot;Photo d&amp;#x27;archive du spectacle: Photo noir et blanche. Andrée-Anne Giguère (actrice&amp;#x2F;concepteur vidéo) qui tient un micro devant la bouche d&amp;#x27;une spectatrice. La spectatrice porte un casque de réalité virtuelle et parle dans le micro. Derrière, sur le mur, une projection vidéo de modèles 3D.&quot;&#x2F;&gt;
                    
                    
                    &lt;img id=&quot;galleryphonomaritimeimage28&quot; class=&quot;gallery__viewport__image&quot; src=&quot;&amp;#x2F;arts&amp;#x2F;phono-maritime&amp;#x2F;gallery&amp;#x2F;phonographie_33.jpg&quot; alt=&quot;Photo d&amp;#x27;archive du spectacle: Andrée-Anne Giguère (actrice&amp;#x2F;concepteur vidéo) qui parle au micro devant une projection vidéo de modèles 3D.&quot;&#x2F;&gt;
                    
                    
                    &lt;img id=&quot;galleryphonomaritimeimage29&quot; class=&quot;gallery__viewport__image&quot; src=&quot;&amp;#x2F;arts&amp;#x2F;phono-maritime&amp;#x2F;gallery&amp;#x2F;phonographie_34.jpg&quot; alt=&quot;Photo d&amp;#x27;archive du spectacle: Pierre Tremblay-Thériault (performeur&amp;#x2F;artiste) se glisse dans une structure en bois en forme de tour maritime. On y voit aussi un contenant d&amp;#x27;eau, de la terre glaise, un couteau et un papier sablé sur une tablette en bois.&quot;&#x2F;&gt;
                    
                    
                    &lt;img id=&quot;galleryphonomaritimeimage30&quot; class=&quot;gallery__viewport__image&quot; src=&quot;&amp;#x2F;arts&amp;#x2F;phono-maritime&amp;#x2F;gallery&amp;#x2F;phonographie_35.jpg&quot; alt=&quot;Photo d&amp;#x27;archive du spectacle: Pierre Tremblay-Thériault (performeur&amp;#x2F;artiste) manipule de la terre glaise mouillée sur une tablette de bois. Un micro est positionné très proche de la terre glaise et capte les son de la manipulation. Assis sur le sol, sous la tablette, Andrée-Anne Giguère (actrice&amp;#x2F;concepteur vidéo) et Jean-Paul Quéinnec (performeur&amp;#x2F;artiste) se tiennent la main.&quot;&#x2F;&gt;
                    
                    
                    &lt;img id=&quot;galleryphonomaritimeimage31&quot; class=&quot;gallery__viewport__image&quot; src=&quot;&amp;#x2F;arts&amp;#x2F;phono-maritime&amp;#x2F;gallery&amp;#x2F;phonographie_36.jpg&quot; alt=&quot;Photo d&amp;#x27;archive du spectacle: Andrée-Anne Giguère (actrice&amp;#x2F;concepteur vidéo), les yeux fermés, se filme avec un téléphone et tient le bras de Jean-Paul Quéinnec (performeur&amp;#x2F;artiste). Jean-Paul tient un micro dans sa main et regarde au loin.&quot;&#x2F;&gt;
                    
                    
                    &lt;img id=&quot;galleryphonomaritimeimage32&quot; class=&quot;gallery__viewport__image&quot; src=&quot;&amp;#x2F;arts&amp;#x2F;phono-maritime&amp;#x2F;gallery&amp;#x2F;phonographie_37.jpg&quot; alt=&quot;Photo d&amp;#x27;archive du spectacle: Deux mains se tiennent. Les deux bras sont étirés. Ce sont les mains de Edouard Germain (poète&amp;#x2F;performeur) et Jean-Paul Quéinnec (performeur&amp;#x2F;artiste).&quot;&#x2F;&gt;
                    
                    
                    &lt;img id=&quot;galleryphonomaritimeimage33&quot; class=&quot;gallery__viewport__image&quot; src=&quot;&amp;#x2F;arts&amp;#x2F;phono-maritime&amp;#x2F;gallery&amp;#x2F;phonographie_38.jpg&quot; alt=&quot;Photo d&amp;#x27;archive du spectacle: Dos collé au mur, Andrée-Anne Giguère (actrice&amp;#x2F;concepteur vidéo), les yeux fermés, se filme avec un téléphone et tient le bras de Jean-Paul Quéinnec (performeur&amp;#x2F;artiste), lui aussi le dos collé au mur. Jean-Paul tient un micro et regarde vers le plafond les yeux fermés.&quot;&#x2F;&gt;
                    
                    
                    &lt;img id=&quot;galleryphonomaritimeimage34&quot; class=&quot;gallery__viewport__image&quot; src=&quot;&amp;#x2F;arts&amp;#x2F;phono-maritime&amp;#x2F;gallery&amp;#x2F;phonographie_39.jpg&quot; alt=&quot;Photo d&amp;#x27;archive du spectacle: Pierre Tremblay-Thériault (performeur&amp;#x2F;artiste) manipule du papier sablé déposé sur de la terre glaise mouillée sur une tablette de bois. Un micro est positionné très proche de la terre glaise et capte les son des manipulations. On peut voir devant lui un contenant d&amp;#x27;eau et un couteau. Pierre se trouve dans une structure en bois en forme de tour maritime. Au dessus de la tablette se trouve un petit projecteur lumineux et une caméra.&quot;&#x2F;&gt;
                    
                    
                    &lt;img id=&quot;galleryphonomaritimeimage35&quot; class=&quot;gallery__viewport__image&quot; src=&quot;&amp;#x2F;arts&amp;#x2F;phono-maritime&amp;#x2F;gallery&amp;#x2F;phonographie_4.jpg&quot; alt=&quot;Photo d&amp;#x27;archive du spectacle: Pierre Tremblay-Thériault (performeur&amp;#x2F;artiste) manipule du papier sablé déposé sur de la terre glaise mouillée sur une tablette de bois. Un micro est positionné très proche de la terre glaise et capte les son des manipulations. On peut voir devant lui un contenant d&amp;#x27;eau et un couteau. Pierre se trouve dans une structure en bois en forme de tour maritime. Au dessus de la tablette se trouve un petit projecteur lumineux et une caméra. Derrière, sur le mur, une projection vidéo des actions effectuées sur la tablette.&quot;&#x2F;&gt;
                    
                    
                    &lt;img id=&quot;galleryphonomaritimeimage36&quot; class=&quot;gallery__viewport__image&quot; src=&quot;&amp;#x2F;arts&amp;#x2F;phono-maritime&amp;#x2F;gallery&amp;#x2F;phonographie_40.jpg&quot; alt=&quot;Photo d&amp;#x27;archive du spectacle: Pierre Tremblay-Thériault (performeur&amp;#x2F;artiste) manipule du papier sablé déposé sur de la terre glaise mouillée sur une tablette de bois. Un micro est positionné très proche de la terre glaise et capte les son des manipulations. On peut voir devant lui un contenant d&amp;#x27;eau et un couteau. Pierre se trouve dans une structure en bois en forme de tour maritime. À gauche de la tour, Maria Juliana Vélez (danseuse&amp;#x2F;actrice) touche la tour doucement.&quot;&#x2F;&gt;
                    
                    
                    &lt;img id=&quot;galleryphonomaritimeimage37&quot; class=&quot;gallery__viewport__image&quot; src=&quot;&amp;#x2F;arts&amp;#x2F;phono-maritime&amp;#x2F;gallery&amp;#x2F;phonographie_41.jpg&quot; alt=&quot;Photo d&amp;#x27;archive du spectacle: Pierre Tremblay-Thériault (performeur&amp;#x2F;artiste) de dos se trouve dans une structure en bois en forme de tour maritime. Andrée-Anne Giguère (actrice&amp;#x2F;concepteur vidéo), Jean-Paul Quéinnec (performeur&amp;#x2F;artiste) et Maria Juliana Vélez (danseuse&amp;#x2F;actrice) se tiennent la main et forme un cercle autour de la tour.&quot;&#x2F;&gt;
                    
                    
                    &lt;img id=&quot;galleryphonomaritimeimage38&quot; class=&quot;gallery__viewport__image&quot; src=&quot;&amp;#x2F;arts&amp;#x2F;phono-maritime&amp;#x2F;gallery&amp;#x2F;phonographie_42.jpg&quot; alt=&quot;Photo d&amp;#x27;archive du spectacle: Pierre Tremblay-Thériault (performeur&amp;#x2F;artiste) caché se trouve dans une structure en bois en forme de tour maritime. Andrée-Anne Giguère (actrice&amp;#x2F;concepteur vidéo), Jean-Paul Quéinnec (performeur&amp;#x2F;artiste) et Maria Juliana Vélez (danseuse&amp;#x2F;actrice) se tiennent la main et forme un cercle autour de la tour.&quot;&#x2F;&gt;
                    
                    
                    &lt;img id=&quot;galleryphonomaritimeimage39&quot; class=&quot;gallery__viewport__image&quot; src=&quot;&amp;#x2F;arts&amp;#x2F;phono-maritime&amp;#x2F;gallery&amp;#x2F;phonographie_44.jpg&quot; alt=&quot;Photo d&amp;#x27;archive du spectacle: Maria Juliana Vélez (danseuse&amp;#x2F;actrice), assis au sol, touche la tour doucement. Pierre Tremblay-Thériault (performeur&amp;#x2F;artiste) caché se trouve dans une structure en bois en forme de tour maritime.&quot;&#x2F;&gt;
                    
                    
                    &lt;img id=&quot;galleryphonomaritimeimage40&quot; class=&quot;gallery__viewport__image&quot; src=&quot;&amp;#x2F;arts&amp;#x2F;phono-maritime&amp;#x2F;gallery&amp;#x2F;phonographie_45.jpg&quot; alt=&quot;Photo d&amp;#x27;archive du spectacle: Pierre Tremblay-Thériault (performeur&amp;#x2F;artiste) manipule du papier sablé déposé sur de la terre glaise mouillée sur une tablette de bois. Un micro est positionné très proche de la terre glaise et capte les son des manipulations. On peut voir devant lui un contenant d&amp;#x27;eau. Pierre se trouve dans une structure en bois en forme de tour maritime.&quot;&#x2F;&gt;
                    
                    
                    &lt;img id=&quot;galleryphonomaritimeimage41&quot; class=&quot;gallery__viewport__image&quot; src=&quot;&amp;#x2F;arts&amp;#x2F;phono-maritime&amp;#x2F;gallery&amp;#x2F;phonographie_46.jpg&quot; alt=&quot;Photo d&amp;#x27;archive du spectacle: Appuyé sur un mur, des silouhettes non identifiables se tiennent debout. Une projection vidéo abstraite peut être vu sur le mur.&quot;&#x2F;&gt;
                    
                    
                    &lt;img id=&quot;galleryphonomaritimeimage42&quot; class=&quot;gallery__viewport__image&quot; src=&quot;&amp;#x2F;arts&amp;#x2F;phono-maritime&amp;#x2F;gallery&amp;#x2F;phonographie_47.jpg&quot; alt=&quot;Photo d&amp;#x27;archive du spectacle: Image d&amp;#x27;une guitare très rapprochée. La main du musicien manipule les cordes avec un outil fin en métal.&quot;&#x2F;&gt;
                    
                    
                    &lt;img id=&quot;galleryphonomaritimeimage43&quot; class=&quot;gallery__viewport__image&quot; src=&quot;&amp;#x2F;arts&amp;#x2F;phono-maritime&amp;#x2F;gallery&amp;#x2F;phonographie_49.jpg&quot; alt=&quot;Photo d&amp;#x27;archive du spectacle: Image d&amp;#x27;une guitare très rapprochée. Devant les cordes de la guitare on voit un micro tenu par une main inconnu. La main d&amp;#x27;un musicien manipule les cordes avec un outil fin en métal.&quot;&#x2F;&gt;
                    
                    
                    &lt;img id=&quot;galleryphonomaritimeimage44&quot; class=&quot;gallery__viewport__image&quot; src=&quot;&amp;#x2F;arts&amp;#x2F;phono-maritime&amp;#x2F;gallery&amp;#x2F;phonographie_5.jpg&quot; alt=&quot;Photo d&amp;#x27;archive du spectacle: Formes difficiles à identifier. C&amp;#x27;est l&amp;#x27;image rapproché d&amp;#x27;un musicien qui joue de la guitare.&quot;&#x2F;&gt;
                    
                    
                    &lt;img id=&quot;galleryphonomaritimeimage45&quot; class=&quot;gallery__viewport__image&quot; src=&quot;&amp;#x2F;arts&amp;#x2F;phono-maritime&amp;#x2F;gallery&amp;#x2F;phonographie_50.jpg&quot; alt=&quot;Photo d&amp;#x27;archive du spectacle: Le devant du corps de Maria Juliana Vélez (danseuse&amp;#x2F;actrice) est ouvert vers le public. Jean-Paul Quéinnec (performeur&amp;#x2F;artiste), pencher vers l&amp;#x27;avant, attrappe Maria par les hanches. Sur leurs corps on peut voir une projection vidéo d&amp;#x27;un bateau se déplaçant dans un canal.&quot;&#x2F;&gt;
                    
                    
                    &lt;img id=&quot;galleryphonomaritimeimage46&quot; class=&quot;gallery__viewport__image&quot; src=&quot;&amp;#x2F;arts&amp;#x2F;phono-maritime&amp;#x2F;gallery&amp;#x2F;phonographie_51.jpg&quot; alt=&quot;Photo d&amp;#x27;archive du spectacle: Maria Juliana Vélez (danseuse&amp;#x2F;actrice) est debout et collé à un mur qu&amp;#x27;elle touche doucement. Derrière elle, à genoux sur le sol, Jean-Paul Quéinnec (performeur&amp;#x2F;artiste) la tient par les hanches. Derrière lui, Andrée-Anne Giguère (actrice&amp;#x2F;concepteur vidéo), assise sur le sol, le tient par les hanches. Sur le eux et sur le mur on peut voir une projection vidéo abstraite d&amp;#x27;un dégradé bleu.&quot;&#x2F;&gt;
                    
                    
                    &lt;img id=&quot;galleryphonomaritimeimage47&quot; class=&quot;gallery__viewport__image&quot; src=&quot;&amp;#x2F;arts&amp;#x2F;phono-maritime&amp;#x2F;gallery&amp;#x2F;phonographie_52.jpg&quot; alt=&quot;Photo d&amp;#x27;archive du spectacle: Jean-Paul Quéinnec (performeur&amp;#x2F;artiste) est à genoux sur le sol. Il tient les jambes d&amp;#x27;un autre performeur. Sur sa figure, on peut voir une projection vidéo d&amp;#x27;un paysage gazonné.&quot;&#x2F;&gt;
                    
                    
                    &lt;img id=&quot;galleryphonomaritimeimage48&quot; class=&quot;gallery__viewport__image&quot; src=&quot;&amp;#x2F;arts&amp;#x2F;phono-maritime&amp;#x2F;gallery&amp;#x2F;phonographie_53.jpg&quot; alt=&quot;Photo d&amp;#x27;archive du spectacle: Formes difficiles à identifier. C&amp;#x27;est une image de plusieurs performeurs à contrejour.&quot;&#x2F;&gt;
                    
                    
                    &lt;img id=&quot;galleryphonomaritimeimage49&quot; class=&quot;gallery__viewport__image&quot; src=&quot;&amp;#x2F;arts&amp;#x2F;phono-maritime&amp;#x2F;gallery&amp;#x2F;phonographie_54.jpg&quot; alt=&quot;Photo d&amp;#x27;archive du spectacle: Maria Juliana Vélez (danseuse&amp;#x2F;actrice) tient un performeur dans ses bras. Sur sa figure et le dos du performeur, on peut voir une projection vidéo d&amp;#x27;un mur remplit de graffiti.&quot;&#x2F;&gt;
                    
                    
                    &lt;img id=&quot;galleryphonomaritimeimage50&quot; class=&quot;gallery__viewport__image&quot; src=&quot;&amp;#x2F;arts&amp;#x2F;phono-maritime&amp;#x2F;gallery&amp;#x2F;phonographie_55.jpg&quot; alt=&quot;Photo d&amp;#x27;archive du spectacle: Formes difficiles à identifier. C&amp;#x27;est une image de plusieurs performeurs à contrejour.&quot;&#x2F;&gt;
                    
                    
                    &lt;img id=&quot;galleryphonomaritimeimage51&quot; class=&quot;gallery__viewport__image&quot; src=&quot;&amp;#x2F;arts&amp;#x2F;phono-maritime&amp;#x2F;gallery&amp;#x2F;phonographie_56.jpg&quot; alt=&quot;Photo d&amp;#x27;archive du spectacle: Formes difficiles à identifier. C&amp;#x27;est une image de plusieurs performeurs à contrejour.&quot;&#x2F;&gt;
                    
                    
                    &lt;img id=&quot;galleryphonomaritimeimage52&quot; class=&quot;gallery__viewport__image&quot; src=&quot;&amp;#x2F;arts&amp;#x2F;phono-maritime&amp;#x2F;gallery&amp;#x2F;phonographie_57.jpg&quot; alt=&quot;Photo d&amp;#x27;archive du spectacle: Florian Solesse (assistant) assis derrière sa console.&quot;&#x2F;&gt;
                    
                    
                    &lt;img id=&quot;galleryphonomaritimeimage53&quot; class=&quot;gallery__viewport__image&quot; src=&quot;&amp;#x2F;arts&amp;#x2F;phono-maritime&amp;#x2F;gallery&amp;#x2F;phonographie_58.jpg&quot; alt=&quot;Photo d&amp;#x27;archive du spectacle: Edouard Germain (poète&amp;#x2F;performeur) debout et appuyé sur un mur. Sur lui et le mur, une projection vidéo abstraite mauve, blanche et noire.&quot;&#x2F;&gt;
                    
                    
                    &lt;img id=&quot;galleryphonomaritimeimage54&quot; class=&quot;gallery__viewport__image&quot; src=&quot;&amp;#x2F;arts&amp;#x2F;phono-maritime&amp;#x2F;gallery&amp;#x2F;phonographie_59.jpg&quot; alt=&quot;Photo d&amp;#x27;archive du spectacle: Edouard Germain (poète&amp;#x2F;performeur) assit sur le sol appuyé sur un mur. Sur lui et le mur, une projection vidéo abstraite rouge, blanche et noire.&quot;&#x2F;&gt;
                    
                    
                    &lt;img id=&quot;galleryphonomaritimeimage55&quot; class=&quot;gallery__viewport__image&quot; src=&quot;&amp;#x2F;arts&amp;#x2F;phono-maritime&amp;#x2F;gallery&amp;#x2F;phonographie_6.jpg&quot; alt=&quot;Photo d&amp;#x27;archive du spectacle: François Harvey (concepteur sonore) debout et appuyé sur un mur. Sur lui et le mur, une projection vidéo abstraite rouge, blanche et noire.&quot;&#x2F;&gt;
                    
                    
                    &lt;img id=&quot;galleryphonomaritimeimage56&quot; class=&quot;gallery__viewport__image&quot; src=&quot;&amp;#x2F;arts&amp;#x2F;phono-maritime&amp;#x2F;gallery&amp;#x2F;phonographie_60.jpg&quot; alt=&quot;Photo d&amp;#x27;archive du spectacle: François Harvey (concepteur sonore) joue de la guitare. Derrière lui sur le mur, une projection vidéo abstraite rouge, blanche et noire.&quot;&#x2F;&gt;
                    
                    
                    &lt;img id=&quot;galleryphonomaritimeimage57&quot; class=&quot;gallery__viewport__image&quot; src=&quot;&amp;#x2F;arts&amp;#x2F;phono-maritime&amp;#x2F;gallery&amp;#x2F;phonographie_61.jpg&quot; alt=&quot;Photo d&amp;#x27;archive du spectacle: Image noire et blanche. Les performeurs se tient ensemble. Les corps sont collés les uns sur les autres. Derrière eux on aperçoit la tour maritime. En arrière-plan on aperçoit le public assis au sol devant une projection vidéo abstraite sur deux murs.&quot;&#x2F;&gt;
                    
                    
                    &lt;img id=&quot;galleryphonomaritimeimage58&quot; class=&quot;gallery__viewport__image&quot; src=&quot;&amp;#x2F;arts&amp;#x2F;phono-maritime&amp;#x2F;gallery&amp;#x2F;phonographie_62.jpg&quot; alt=&quot;Photo d&amp;#x27;archive du spectacle: François Harvey (concepteur sonore) joue de la guitare. Pierre Tremblay-Thériault (performeur&amp;#x2F;artiste) est assis sur une chaise et film François avec un téléphone. Derrière, sur le mur, on voit une projection vidéo abstraite rouge, blanche et noire.&quot;&#x2F;&gt;
                    
                    
                    &lt;img id=&quot;galleryphonomaritimeimage59&quot; class=&quot;gallery__viewport__image&quot; src=&quot;&amp;#x2F;arts&amp;#x2F;phono-maritime&amp;#x2F;gallery&amp;#x2F;phonographie_63.jpg&quot; alt=&quot;Photo d&amp;#x27;archive du spectacle: Andrée-Anne Giguère (actrice&amp;#x2F;concepteur vidéo), Jean-Paul Quéinnec (performeur&amp;#x2F;artiste) et Maria Juliana Vélez (danseuse&amp;#x2F;actrice) sont collés face au mur et touche la surface avec leurs mains. Sur eux et le mur on voit une projection de mots blancs.&quot;&#x2F;&gt;
                    
                    
                    &lt;img id=&quot;galleryphonomaritimeimage60&quot; class=&quot;gallery__viewport__image&quot; src=&quot;&amp;#x2F;arts&amp;#x2F;phono-maritime&amp;#x2F;gallery&amp;#x2F;phonographie_64.jpg&quot; alt=&quot;Photo d&amp;#x27;archive du spectacle: Edouard Germain (poète&amp;#x2F;performeur) est dos au mur et collé sur celui-ci. Sur lui et le mur on peut voir une projection de mots blancs.&quot;&#x2F;&gt;
                    
                    
                    &lt;img id=&quot;galleryphonomaritimeimage61&quot; class=&quot;gallery__viewport__image&quot; src=&quot;&amp;#x2F;arts&amp;#x2F;phono-maritime&amp;#x2F;gallery&amp;#x2F;phonographie_65.jpg&quot; alt=&quot;Photo d&amp;#x27;archive du spectacle: On voit en premier plan la silouhette de Pierre Tremblay-Thériault (performeur&amp;#x2F;artiste), Maria Juliana Vélez (danseuse&amp;#x2F;actrice) et la tour maritime. En arrière-plan, les murs sont rouges.&quot;&#x2F;&gt;
                    
                    
                    &lt;img id=&quot;galleryphonomaritimeimage62&quot; class=&quot;gallery__viewport__image&quot; src=&quot;&amp;#x2F;arts&amp;#x2F;phono-maritime&amp;#x2F;gallery&amp;#x2F;phonographie_7.jpg&quot; alt=&quot;Photo d&amp;#x27;archive du spectacle: La main de Edouard Germain (poète&amp;#x2F;performeur) touche doucement le mur. Sur la main et le mur on peut voir une projection de mots blancs.&quot;&#x2F;&gt;
                    
                    
                    &lt;img id=&quot;galleryphonomaritimeimage63&quot; class=&quot;gallery__viewport__image&quot; src=&quot;&amp;#x2F;arts&amp;#x2F;phono-maritime&amp;#x2F;gallery&amp;#x2F;phonographie_8.jpg&quot; alt=&quot;Photo d&amp;#x27;archive du spectacle: On voit la silouhette d&amp;#x27;une femme collé à un mur. Sur elle et le mur on peut voir une projection de mots blancs.&quot;&#x2F;&gt;
                    
                    
                    &lt;img id=&quot;galleryphonomaritimeimage64&quot; class=&quot;gallery__viewport__image&quot; src=&quot;&amp;#x2F;arts&amp;#x2F;phono-maritime&amp;#x2F;gallery&amp;#x2F;phonographie_9.jpg&quot; alt=&quot;Photo d&amp;#x27;archive du spectacle: Andrée-Anne Giguère (actrice&amp;#x2F;concepteur vidéo) est le dos collé au mur. Ses bras sont étendus. Sur elle et le mur on peut voir une projection de mots blancs.&quot;&#x2F;&gt;
                    
        &lt;&#x2F;div&gt;
        &lt;div class=&quot;gallery__viewport__controls&quot;&gt;
            &lt;img class=&quot;gallery__viewport__controls__nav-button gallery__viewport__controls__nav-button--left&quot; src=&quot;&#x2F;images&#x2F;angle-left.svg&quot; alt=&quot;Voir l&#x27;image précédente.&quot; aria-hidden=&quot;true&quot;&#x2F;&gt;
            &lt;img class=&quot;gallery__viewport__controls__nav-button gallery__viewport__controls__nav-button--right&quot; src=&quot;&#x2F;images&#x2F;angle-right.svg&quot; alt=&quot;Voir l&#x27;image suivante.&quot; aria-hidden=&quot;true&quot;&#x2F;&gt;
            &lt;img class=&quot;gallery__viewport__controls__nav-close-btn&quot; src=&quot;&#x2F;images&#x2F;close-icon.svg&quot; alt=&quot;Fermer la gallery&quot;&#x2F;&gt;
        &lt;&#x2F;div&gt;
    &lt;&#x2F;div&gt;
    &lt;ul class=&quot;gallery__selector&quot;&gt;
        
        
                
                &lt;li class=&quot;gallery__selector__item&quot;&gt;
                    &lt;button
                            class=&quot;gallery__selector__button&quot;
                            aria-expanded=&quot;false&quot;
                            aria-controls=&quot;galleryphonomaritimeimage0&quot;
                            aria-label=&quot;Voir l&#x27;image &amp;quot;Photo d&amp;#x27;archive du spectacle: Edouard Germain (poète&amp;#x2F;performeur) assit sur le sol appuyé sur un mur. Sur lui et le mur, une projection vidéo d&amp;#x27;un pont levant de St-Nazaire.&amp;quot;&quot;
                            type=&quot;button&quot;
                    &gt;
                        &lt;img class=&quot;gallery__selector__image&quot; src=&quot;&amp;#x2F;arts&amp;#x2F;phono-maritime&amp;#x2F;gallery&amp;#x2F;avosrisk_40.jpg&quot; alt=&quot;Photo d&amp;#x27;archive du spectacle: Edouard Germain (poète&amp;#x2F;performeur) assit sur le sol appuyé sur un mur. Sur lui et le mur, une projection vidéo d&amp;#x27;un pont levant de St-Nazaire.&quot;&#x2F;&gt;
                    &lt;&#x2F;button&gt;
                &lt;&#x2F;li&gt;
                
                
                &lt;li class=&quot;gallery__selector__item&quot;&gt;
                    &lt;button
                            class=&quot;gallery__selector__button&quot;
                            aria-expanded=&quot;false&quot;
                            aria-controls=&quot;galleryphonomaritimeimage1&quot;
                            aria-label=&quot;Voir l&#x27;image &amp;quot;Photo d&amp;#x27;archive du spectacle: Maria Juliana Vélez (danseuse&amp;#x2F;actrice) portant un casque de réalité virtuelle et parlant dans un micro. Sur le mur derrière, une projection vidéo.&amp;quot;&quot;
                            type=&quot;button&quot;
                    &gt;
                        &lt;img class=&quot;gallery__selector__image&quot; src=&quot;&amp;#x2F;arts&amp;#x2F;phono-maritime&amp;#x2F;gallery&amp;#x2F;phonographie.jpg&quot; alt=&quot;Photo d&amp;#x27;archive du spectacle: Maria Juliana Vélez (danseuse&amp;#x2F;actrice) portant un casque de réalité virtuelle et parlant dans un micro. Sur le mur derrière, une projection vidéo.&quot;&#x2F;&gt;
                    &lt;&#x2F;button&gt;
                &lt;&#x2F;li&gt;
                
                
                &lt;li class=&quot;gallery__selector__item&quot;&gt;
                    &lt;button
                            class=&quot;gallery__selector__button&quot;
                            aria-expanded=&quot;false&quot;
                            aria-controls=&quot;galleryphonomaritimeimage2&quot;
                            aria-label=&quot;Voir l&#x27;image &amp;quot;Photo d&amp;#x27;archive du spectacle: Maria Juliana Vélez (danseuse&amp;#x2F;actrice) portant un casque de réalité virtuelle et parlant dans un micro. Dans les bras de deux hommes, Jean-Paul Quéinnec (performeur&amp;#x2F;artiste) et Pierre Tremblay-Thériault (performeur&amp;#x2F;artiste), elle tente de toucher le plafond du bout des doigts.&amp;quot;&quot;
                            type=&quot;button&quot;
                    &gt;
                        &lt;img class=&quot;gallery__selector__image&quot; src=&quot;&amp;#x2F;arts&amp;#x2F;phono-maritime&amp;#x2F;gallery&amp;#x2F;phonographie_1.jpg&quot; alt=&quot;Photo d&amp;#x27;archive du spectacle: Maria Juliana Vélez (danseuse&amp;#x2F;actrice) portant un casque de réalité virtuelle et parlant dans un micro. Dans les bras de deux hommes, Jean-Paul Quéinnec (performeur&amp;#x2F;artiste) et Pierre Tremblay-Thériault (performeur&amp;#x2F;artiste), elle tente de toucher le plafond du bout des doigts.&quot;&#x2F;&gt;
                    &lt;&#x2F;button&gt;
                &lt;&#x2F;li&gt;
                
                
                &lt;li class=&quot;gallery__selector__item&quot;&gt;
                    &lt;button
                            class=&quot;gallery__selector__button&quot;
                            aria-expanded=&quot;false&quot;
                            aria-controls=&quot;galleryphonomaritimeimage3&quot;
                            aria-label=&quot;Voir l&#x27;image &amp;quot;Photo d&amp;#x27;archive du spectacle: Vue au travers de la structure d&amp;#x27;une tour en bois, Maria Juliana Vélez (danseuse&amp;#x2F;actrice) portant un casque de réalité virtuelle parle dans un micro. Edouard Germain (poète&amp;#x2F;performeur), Jean-Paul Quéinnec (performeur&amp;#x2F;artiste) et Pierre Tremblay-Thériault (performeur&amp;#x2F;artiste) l&amp;#x27;accompagne.&amp;quot;&quot;
                            type=&quot;button&quot;
                    &gt;
                        &lt;img class=&quot;gallery__selector__image&quot; src=&quot;&amp;#x2F;arts&amp;#x2F;phono-maritime&amp;#x2F;gallery&amp;#x2F;phonographie_10.jpg&quot; alt=&quot;Photo d&amp;#x27;archive du spectacle: Vue au travers de la structure d&amp;#x27;une tour en bois, Maria Juliana Vélez (danseuse&amp;#x2F;actrice) portant un casque de réalité virtuelle parle dans un micro. Edouard Germain (poète&amp;#x2F;performeur), Jean-Paul Quéinnec (performeur&amp;#x2F;artiste) et Pierre Tremblay-Thériault (performeur&amp;#x2F;artiste) l&amp;#x27;accompagne.&quot;&#x2F;&gt;
                    &lt;&#x2F;button&gt;
                &lt;&#x2F;li&gt;
                
                
                &lt;li class=&quot;gallery__selector__item&quot;&gt;
                    &lt;button
                            class=&quot;gallery__selector__button&quot;
                            aria-expanded=&quot;false&quot;
                            aria-controls=&quot;galleryphonomaritimeimage4&quot;
                            aria-label=&quot;Voir l&#x27;image &amp;quot;Photo d&amp;#x27;archive du spectacle: Maria Juliana Vélez (danseuse&amp;#x2F;actrice) portant un casque de réalité virtuelle et parlant dans un micro. Dans les bras de deux hommes, Jean-Paul Quéinnec (performeur&amp;#x2F;artiste) et Edouard Germain (poète&amp;#x2F;performeur). Pierre Tremblay-Thériault (performeur&amp;#x2F;artiste) la filme avec un téléphone.&amp;quot;&quot;
                            type=&quot;button&quot;
                    &gt;
                        &lt;img class=&quot;gallery__selector__image&quot; src=&quot;&amp;#x2F;arts&amp;#x2F;phono-maritime&amp;#x2F;gallery&amp;#x2F;phonographie_11.jpg&quot; alt=&quot;Photo d&amp;#x27;archive du spectacle: Maria Juliana Vélez (danseuse&amp;#x2F;actrice) portant un casque de réalité virtuelle et parlant dans un micro. Dans les bras de deux hommes, Jean-Paul Quéinnec (performeur&amp;#x2F;artiste) et Edouard Germain (poète&amp;#x2F;performeur). Pierre Tremblay-Thériault (performeur&amp;#x2F;artiste) la filme avec un téléphone.&quot;&#x2F;&gt;
                    &lt;&#x2F;button&gt;
                &lt;&#x2F;li&gt;
                
                
                &lt;li class=&quot;gallery__selector__item&quot;&gt;
                    &lt;button
                            class=&quot;gallery__selector__button&quot;
                            aria-expanded=&quot;false&quot;
                            aria-controls=&quot;galleryphonomaritimeimage5&quot;
                            aria-label=&quot;Voir l&#x27;image &amp;quot;Photo d&amp;#x27;archive du spectacle: Maria Juliana Vélez (danseuse&amp;#x2F;actrice) portant un casque de réalité virtuelle parle dans un micro. Pierre Tremblay-Thériault (performeur&amp;#x2F;artiste) la filme avec un téléphone. Edouard Germain (poète&amp;#x2F;performeur), Jean-Paul Quéinnec (performeur&amp;#x2F;artiste) l&amp;#x27;accompagne.&amp;quot;&quot;
                            type=&quot;button&quot;
                    &gt;
                        &lt;img class=&quot;gallery__selector__image&quot; src=&quot;&amp;#x2F;arts&amp;#x2F;phono-maritime&amp;#x2F;gallery&amp;#x2F;phonographie_12.jpg&quot; alt=&quot;Photo d&amp;#x27;archive du spectacle: Maria Juliana Vélez (danseuse&amp;#x2F;actrice) portant un casque de réalité virtuelle parle dans un micro. Pierre Tremblay-Thériault (performeur&amp;#x2F;artiste) la filme avec un téléphone. Edouard Germain (poète&amp;#x2F;performeur), Jean-Paul Quéinnec (performeur&amp;#x2F;artiste) l&amp;#x27;accompagne.&quot;&#x2F;&gt;
                    &lt;&#x2F;button&gt;
                &lt;&#x2F;li&gt;
                
                
                &lt;li class=&quot;gallery__selector__item&quot;&gt;
                    &lt;button
                            class=&quot;gallery__selector__button&quot;
                            aria-expanded=&quot;false&quot;
                            aria-controls=&quot;galleryphonomaritimeimage6&quot;
                            aria-label=&quot;Voir l&#x27;image &amp;quot;Photo d&amp;#x27;archive du spectacle: Maria Juliana Vélez (danseuse&amp;#x2F;actrice) portant un casque de réalité virtuelle et parlant dans un micro.&amp;quot;&quot;
                            type=&quot;button&quot;
                    &gt;
                        &lt;img class=&quot;gallery__selector__image&quot; src=&quot;&amp;#x2F;arts&amp;#x2F;phono-maritime&amp;#x2F;gallery&amp;#x2F;phonographie_13.jpg&quot; alt=&quot;Photo d&amp;#x27;archive du spectacle: Maria Juliana Vélez (danseuse&amp;#x2F;actrice) portant un casque de réalité virtuelle et parlant dans un micro.&quot;&#x2F;&gt;
                    &lt;&#x2F;button&gt;
                &lt;&#x2F;li&gt;
                
                
                &lt;li class=&quot;gallery__selector__item&quot;&gt;
                    &lt;button
                            class=&quot;gallery__selector__button&quot;
                            aria-expanded=&quot;false&quot;
                            aria-controls=&quot;galleryphonomaritimeimage7&quot;
                            aria-label=&quot;Voir l&#x27;image &amp;quot;Photo d&amp;#x27;archive du spectacle: François Harvey (concepteur sonore) et Florian Solesse (assistant) assis derrière leur console.&amp;quot;&quot;
                            type=&quot;button&quot;
                    &gt;
                        &lt;img class=&quot;gallery__selector__image&quot; src=&quot;&amp;#x2F;arts&amp;#x2F;phono-maritime&amp;#x2F;gallery&amp;#x2F;phonographie_14.jpg&quot; alt=&quot;Photo d&amp;#x27;archive du spectacle: François Harvey (concepteur sonore) et Florian Solesse (assistant) assis derrière leur console.&quot;&#x2F;&gt;
                    &lt;&#x2F;button&gt;
                &lt;&#x2F;li&gt;
                
                
                &lt;li class=&quot;gallery__selector__item&quot;&gt;
                    &lt;button
                            class=&quot;gallery__selector__button&quot;
                            aria-expanded=&quot;false&quot;
                            aria-controls=&quot;galleryphonomaritimeimage8&quot;
                            aria-label=&quot;Voir l&#x27;image &amp;quot;Photo d&amp;#x27;archive du spectacle: Jean-Paul Quéinnec (performeur&amp;#x2F;artiste) parlant dans un micro. Il tient un amplficateur de guitare. Sur et derrière lui, une projection vidéo verte.&amp;quot;&quot;
                            type=&quot;button&quot;
                    &gt;
                        &lt;img class=&quot;gallery__selector__image&quot; src=&quot;&amp;#x2F;arts&amp;#x2F;phono-maritime&amp;#x2F;gallery&amp;#x2F;phonographie_15.jpg&quot; alt=&quot;Photo d&amp;#x27;archive du spectacle: Jean-Paul Quéinnec (performeur&amp;#x2F;artiste) parlant dans un micro. Il tient un amplficateur de guitare. Sur et derrière lui, une projection vidéo verte.&quot;&#x2F;&gt;
                    &lt;&#x2F;button&gt;
                &lt;&#x2F;li&gt;
                
                
                &lt;li class=&quot;gallery__selector__item&quot;&gt;
                    &lt;button
                            class=&quot;gallery__selector__button&quot;
                            aria-expanded=&quot;false&quot;
                            aria-controls=&quot;galleryphonomaritimeimage9&quot;
                            aria-label=&quot;Voir l&#x27;image &amp;quot;Photo d&amp;#x27;archive du spectacle: Jean-Paul Quéinnec (performeur&amp;#x2F;artiste) parlant dans un micro. Il tient un amplficateur de guitare. Sur et derrière lui, une projection vidéo verte.&amp;quot;&quot;
                            type=&quot;button&quot;
                    &gt;
                        &lt;img class=&quot;gallery__selector__image&quot; src=&quot;&amp;#x2F;arts&amp;#x2F;phono-maritime&amp;#x2F;gallery&amp;#x2F;phonographie_16.jpg&quot; alt=&quot;Photo d&amp;#x27;archive du spectacle: Jean-Paul Quéinnec (performeur&amp;#x2F;artiste) parlant dans un micro. Il tient un amplficateur de guitare. Sur et derrière lui, une projection vidéo verte.&quot;&#x2F;&gt;
                    &lt;&#x2F;button&gt;
                &lt;&#x2F;li&gt;
                
                
                &lt;li class=&quot;gallery__selector__item&quot;&gt;
                    &lt;button
                            class=&quot;gallery__selector__button&quot;
                            aria-expanded=&quot;false&quot;
                            aria-controls=&quot;galleryphonomaritimeimage10&quot;
                            aria-label=&quot;Voir l&#x27;image &amp;quot;Photo d&amp;#x27;archive du spectacle: Jean-Paul Quéinnec (performeur&amp;#x2F;artiste) parlant dans un micro. Il tient un amplficateur de guitare. Andrée-Anne Giguère (actrice&amp;#x2F;concepteur vidéo) filme Edouard Germain (poète&amp;#x2F;performeur) avec un téléphone. Edouard pointe du doigt Maria Juliana Vélez (danseuse&amp;#x2F;actrice). Sur eux derrière eux, une projection vidéo verte.&amp;quot;&quot;
                            type=&quot;button&quot;
                    &gt;
                        &lt;img class=&quot;gallery__selector__image&quot; src=&quot;&amp;#x2F;arts&amp;#x2F;phono-maritime&amp;#x2F;gallery&amp;#x2F;phonographie_17.jpg&quot; alt=&quot;Photo d&amp;#x27;archive du spectacle: Jean-Paul Quéinnec (performeur&amp;#x2F;artiste) parlant dans un micro. Il tient un amplficateur de guitare. Andrée-Anne Giguère (actrice&amp;#x2F;concepteur vidéo) filme Edouard Germain (poète&amp;#x2F;performeur) avec un téléphone. Edouard pointe du doigt Maria Juliana Vélez (danseuse&amp;#x2F;actrice). Sur eux derrière eux, une projection vidéo verte.&quot;&#x2F;&gt;
                    &lt;&#x2F;button&gt;
                &lt;&#x2F;li&gt;
                
                
                &lt;li class=&quot;gallery__selector__item&quot;&gt;
                    &lt;button
                            class=&quot;gallery__selector__button&quot;
                            aria-expanded=&quot;false&quot;
                            aria-controls=&quot;galleryphonomaritimeimage11&quot;
                            aria-label=&quot;Voir l&#x27;image &amp;quot;Photo d&amp;#x27;archive du spectacle: Jean-Paul Quéinnec (performeur&amp;#x2F;artiste), Andrée-Anne Giguère (actrice&amp;#x2F;concepteur vidéo) et Edouard Germain (poète&amp;#x2F;performeur) se bousculent. Jean-Paul récite un poème. Andrée-Anne filme Jean-Paul. Sur eux derrière eux, une projection vidéo verte.&amp;quot;&quot;
                            type=&quot;button&quot;
                    &gt;
                        &lt;img class=&quot;gallery__selector__image&quot; src=&quot;&amp;#x2F;arts&amp;#x2F;phono-maritime&amp;#x2F;gallery&amp;#x2F;phonographie_18.jpg&quot; alt=&quot;Photo d&amp;#x27;archive du spectacle: Jean-Paul Quéinnec (performeur&amp;#x2F;artiste), Andrée-Anne Giguère (actrice&amp;#x2F;concepteur vidéo) et Edouard Germain (poète&amp;#x2F;performeur) se bousculent. Jean-Paul récite un poème. Andrée-Anne filme Jean-Paul. Sur eux derrière eux, une projection vidéo verte.&quot;&#x2F;&gt;
                    &lt;&#x2F;button&gt;
                &lt;&#x2F;li&gt;
                
                
                &lt;li class=&quot;gallery__selector__item&quot;&gt;
                    &lt;button
                            class=&quot;gallery__selector__button&quot;
                            aria-expanded=&quot;false&quot;
                            aria-controls=&quot;galleryphonomaritimeimage12&quot;
                            aria-label=&quot;Voir l&#x27;image &amp;quot;Photo d&amp;#x27;archive du spectacle: Jean-Paul Quéinnec (performeur&amp;#x2F;artiste) parle dans un micro.&amp;quot;&quot;
                            type=&quot;button&quot;
                    &gt;
                        &lt;img class=&quot;gallery__selector__image&quot; src=&quot;&amp;#x2F;arts&amp;#x2F;phono-maritime&amp;#x2F;gallery&amp;#x2F;phonographie_19.jpg&quot; alt=&quot;Photo d&amp;#x27;archive du spectacle: Jean-Paul Quéinnec (performeur&amp;#x2F;artiste) parle dans un micro.&quot;&#x2F;&gt;
                    &lt;&#x2F;button&gt;
                &lt;&#x2F;li&gt;
                
                
                &lt;li class=&quot;gallery__selector__item&quot;&gt;
                    &lt;button
                            class=&quot;gallery__selector__button&quot;
                            aria-expanded=&quot;false&quot;
                            aria-controls=&quot;galleryphonomaritimeimage13&quot;
                            aria-label=&quot;Voir l&#x27;image &amp;quot;Photo d&amp;#x27;archive du spectacle: Jean-Paul Quéinnec (performeur&amp;#x2F;artiste), Andrée-Anne Giguère (actrice&amp;#x2F;concepteur vidéo), Maria Juliana Vélez (danseuse&amp;#x2F;actrice) et Edouard Germain (poète&amp;#x2F;performeur) se bousculent. Jean-Paul récite un poème. Andrée-Anne filme Jean-Paul. Sur eux derrière eux, une projection vidéo verte.&amp;quot;&quot;
                            type=&quot;button&quot;
                    &gt;
                        &lt;img class=&quot;gallery__selector__image&quot; src=&quot;&amp;#x2F;arts&amp;#x2F;phono-maritime&amp;#x2F;gallery&amp;#x2F;phonographie_2.jpg&quot; alt=&quot;Photo d&amp;#x27;archive du spectacle: Jean-Paul Quéinnec (performeur&amp;#x2F;artiste), Andrée-Anne Giguère (actrice&amp;#x2F;concepteur vidéo), Maria Juliana Vélez (danseuse&amp;#x2F;actrice) et Edouard Germain (poète&amp;#x2F;performeur) se bousculent. Jean-Paul récite un poème. Andrée-Anne filme Jean-Paul. Sur eux derrière eux, une projection vidéo verte.&quot;&#x2F;&gt;
                    &lt;&#x2F;button&gt;
                &lt;&#x2F;li&gt;
                
                
                &lt;li class=&quot;gallery__selector__item&quot;&gt;
                    &lt;button
                            class=&quot;gallery__selector__button&quot;
                            aria-expanded=&quot;false&quot;
                            aria-controls=&quot;galleryphonomaritimeimage14&quot;
                            aria-label=&quot;Voir l&#x27;image &amp;quot;Photo d&amp;#x27;archive du spectacle: Jean-Paul Quéinnec (performeur&amp;#x2F;artiste), bousculé, parle dans un micro.&amp;quot;&quot;
                            type=&quot;button&quot;
                    &gt;
                        &lt;img class=&quot;gallery__selector__image&quot; src=&quot;&amp;#x2F;arts&amp;#x2F;phono-maritime&amp;#x2F;gallery&amp;#x2F;phonographie_20.jpg&quot; alt=&quot;Photo d&amp;#x27;archive du spectacle: Jean-Paul Quéinnec (performeur&amp;#x2F;artiste), bousculé, parle dans un micro.&quot;&#x2F;&gt;
                    &lt;&#x2F;button&gt;
                &lt;&#x2F;li&gt;
                
                
                &lt;li class=&quot;gallery__selector__item&quot;&gt;
                    &lt;button
                            class=&quot;gallery__selector__button&quot;
                            aria-expanded=&quot;false&quot;
                            aria-controls=&quot;galleryphonomaritimeimage15&quot;
                            aria-label=&quot;Voir l&#x27;image &amp;quot;Photo d&amp;#x27;archive du spectacle: Jean-Paul Quéinnec (performeur&amp;#x2F;artiste), bousculé, parle dans un micro.&amp;quot;&quot;
                            type=&quot;button&quot;
                    &gt;
                        &lt;img class=&quot;gallery__selector__image&quot; src=&quot;&amp;#x2F;arts&amp;#x2F;phono-maritime&amp;#x2F;gallery&amp;#x2F;phonographie_21.jpg&quot; alt=&quot;Photo d&amp;#x27;archive du spectacle: Jean-Paul Quéinnec (performeur&amp;#x2F;artiste), bousculé, parle dans un micro.&quot;&#x2F;&gt;
                    &lt;&#x2F;button&gt;
                &lt;&#x2F;li&gt;
                
                
                &lt;li class=&quot;gallery__selector__item&quot;&gt;
                    &lt;button
                            class=&quot;gallery__selector__button&quot;
                            aria-expanded=&quot;false&quot;
                            aria-controls=&quot;galleryphonomaritimeimage16&quot;
                            aria-label=&quot;Voir l&#x27;image &amp;quot;Photo d&amp;#x27;archive du spectacle: Jean-Paul Quéinnec (performeur&amp;#x2F;artiste), bousculé, parle dans un micro. Andrée-Anne Giguère (actrice&amp;#x2F;concepteur vidéo) filme Jean-Paul.&amp;quot;&quot;
                            type=&quot;button&quot;
                    &gt;
                        &lt;img class=&quot;gallery__selector__image&quot; src=&quot;&amp;#x2F;arts&amp;#x2F;phono-maritime&amp;#x2F;gallery&amp;#x2F;phonographie_22.jpg&quot; alt=&quot;Photo d&amp;#x27;archive du spectacle: Jean-Paul Quéinnec (performeur&amp;#x2F;artiste), bousculé, parle dans un micro. Andrée-Anne Giguère (actrice&amp;#x2F;concepteur vidéo) filme Jean-Paul.&quot;&#x2F;&gt;
                    &lt;&#x2F;button&gt;
                &lt;&#x2F;li&gt;
                
                
                &lt;li class=&quot;gallery__selector__item&quot;&gt;
                    &lt;button
                            class=&quot;gallery__selector__button&quot;
                            aria-expanded=&quot;false&quot;
                            aria-controls=&quot;galleryphonomaritimeimage17&quot;
                            aria-label=&quot;Voir l&#x27;image &amp;quot;Photo d&amp;#x27;archive du spectacle: Photo rapprochée de plusieurs corps entremêlés.&amp;quot;&quot;
                            type=&quot;button&quot;
                    &gt;
                        &lt;img class=&quot;gallery__selector__image&quot; src=&quot;&amp;#x2F;arts&amp;#x2F;phono-maritime&amp;#x2F;gallery&amp;#x2F;phonographie_23.jpg&quot; alt=&quot;Photo d&amp;#x27;archive du spectacle: Photo rapprochée de plusieurs corps entremêlés.&quot;&#x2F;&gt;
                    &lt;&#x2F;button&gt;
                &lt;&#x2F;li&gt;
                
                
                &lt;li class=&quot;gallery__selector__item&quot;&gt;
                    &lt;button
                            class=&quot;gallery__selector__button&quot;
                            aria-expanded=&quot;false&quot;
                            aria-controls=&quot;galleryphonomaritimeimage18&quot;
                            aria-label=&quot;Voir l&#x27;image &amp;quot;Photo d&amp;#x27;archive du spectacle: Maria Juliana Vélez (danseuse&amp;#x2F;actrice) debout sur les dos de Jean-Paul Quéinnec (performeur&amp;#x2F;artiste) et Andrée-Anne Giguère (actrice&amp;#x2F;concepteur vidéo). Elle tient un micro pointé sur Jean-Paul et Andrée-Anne.&amp;quot;&quot;
                            type=&quot;button&quot;
                    &gt;
                        &lt;img class=&quot;gallery__selector__image&quot; src=&quot;&amp;#x2F;arts&amp;#x2F;phono-maritime&amp;#x2F;gallery&amp;#x2F;phonographie_24.jpg&quot; alt=&quot;Photo d&amp;#x27;archive du spectacle: Maria Juliana Vélez (danseuse&amp;#x2F;actrice) debout sur les dos de Jean-Paul Quéinnec (performeur&amp;#x2F;artiste) et Andrée-Anne Giguère (actrice&amp;#x2F;concepteur vidéo). Elle tient un micro pointé sur Jean-Paul et Andrée-Anne.&quot;&#x2F;&gt;
                    &lt;&#x2F;button&gt;
                &lt;&#x2F;li&gt;
                
                
                &lt;li class=&quot;gallery__selector__item&quot;&gt;
                    &lt;button
                            class=&quot;gallery__selector__button&quot;
                            aria-expanded=&quot;false&quot;
                            aria-controls=&quot;galleryphonomaritimeimage19&quot;
                            aria-label=&quot;Voir l&#x27;image &amp;quot;Photo d&amp;#x27;archive du spectacle: Maria Juliana Vélez (danseuse&amp;#x2F;actrice) frotte un micro sur sa hanche. Derrière elle, une projection vidéo rouge remplit de mots blancs.&amp;quot;&quot;
                            type=&quot;button&quot;
                    &gt;
                        &lt;img class=&quot;gallery__selector__image&quot; src=&quot;&amp;#x2F;arts&amp;#x2F;phono-maritime&amp;#x2F;gallery&amp;#x2F;phonographie_25.jpg&quot; alt=&quot;Photo d&amp;#x27;archive du spectacle: Maria Juliana Vélez (danseuse&amp;#x2F;actrice) frotte un micro sur sa hanche. Derrière elle, une projection vidéo rouge remplit de mots blancs.&quot;&#x2F;&gt;
                    &lt;&#x2F;button&gt;
                &lt;&#x2F;li&gt;
                
                
                &lt;li class=&quot;gallery__selector__item&quot;&gt;
                    &lt;button
                            class=&quot;gallery__selector__button&quot;
                            aria-expanded=&quot;false&quot;
                            aria-controls=&quot;galleryphonomaritimeimage20&quot;
                            aria-label=&quot;Voir l&#x27;image &amp;quot;Photo d&amp;#x27;archive du spectacle: Maria Juliana Vélez (danseuse&amp;#x2F;actrice) est appuyée sur un mur et frotte un micro sur son coup. Derrière elle, une projection vidéo bleue remplit de mots blancs.&amp;quot;&quot;
                            type=&quot;button&quot;
                    &gt;
                        &lt;img class=&quot;gallery__selector__image&quot; src=&quot;&amp;#x2F;arts&amp;#x2F;phono-maritime&amp;#x2F;gallery&amp;#x2F;phonographie_26.jpg&quot; alt=&quot;Photo d&amp;#x27;archive du spectacle: Maria Juliana Vélez (danseuse&amp;#x2F;actrice) est appuyée sur un mur et frotte un micro sur son coup. Derrière elle, une projection vidéo bleue remplit de mots blancs.&quot;&#x2F;&gt;
                    &lt;&#x2F;button&gt;
                &lt;&#x2F;li&gt;
                
                
                &lt;li class=&quot;gallery__selector__item&quot;&gt;
                    &lt;button
                            class=&quot;gallery__selector__button&quot;
                            aria-expanded=&quot;false&quot;
                            aria-controls=&quot;galleryphonomaritimeimage21&quot;
                            aria-label=&quot;Voir l&#x27;image &amp;quot;Photo d&amp;#x27;archive du spectacle: Maria Juliana Vélez (danseuse&amp;#x2F;actrice) danse un micro à la main. Derrière elle, une projection vidéo bleue remplit de mots blancs.&amp;quot;&quot;
                            type=&quot;button&quot;
                    &gt;
                        &lt;img class=&quot;gallery__selector__image&quot; src=&quot;&amp;#x2F;arts&amp;#x2F;phono-maritime&amp;#x2F;gallery&amp;#x2F;phonographie_27.jpg&quot; alt=&quot;Photo d&amp;#x27;archive du spectacle: Maria Juliana Vélez (danseuse&amp;#x2F;actrice) danse un micro à la main. Derrière elle, une projection vidéo bleue remplit de mots blancs.&quot;&#x2F;&gt;
                    &lt;&#x2F;button&gt;
                &lt;&#x2F;li&gt;
                
                
                &lt;li class=&quot;gallery__selector__item&quot;&gt;
                    &lt;button
                            class=&quot;gallery__selector__button&quot;
                            aria-expanded=&quot;false&quot;
                            aria-controls=&quot;galleryphonomaritimeimage22&quot;
                            aria-label=&quot;Voir l&#x27;image &amp;quot;Photo d&amp;#x27;archive du spectacle: Maria Juliana Vélez (danseuse&amp;#x2F;actrice) danse un micro à la main. Derrière elle, une projection vidéo bleue remplit de mots blancs.&amp;quot;&quot;
                            type=&quot;button&quot;
                    &gt;
                        &lt;img class=&quot;gallery__selector__image&quot; src=&quot;&amp;#x2F;arts&amp;#x2F;phono-maritime&amp;#x2F;gallery&amp;#x2F;phonographie_28.jpg&quot; alt=&quot;Photo d&amp;#x27;archive du spectacle: Maria Juliana Vélez (danseuse&amp;#x2F;actrice) danse un micro à la main. Derrière elle, une projection vidéo bleue remplit de mots blancs.&quot;&#x2F;&gt;
                    &lt;&#x2F;button&gt;
                &lt;&#x2F;li&gt;
                
                
                &lt;li class=&quot;gallery__selector__item&quot;&gt;
                    &lt;button
                            class=&quot;gallery__selector__button&quot;
                            aria-expanded=&quot;false&quot;
                            aria-controls=&quot;galleryphonomaritimeimage23&quot;
                            aria-label=&quot;Voir l&#x27;image &amp;quot;Photo d&amp;#x27;archive du spectacle: Maria Juliana Vélez (danseuse&amp;#x2F;actrice) danse un micro à la main. Derrière elle, une projection vidéo bleue remplit de mots blancs.&amp;quot;&quot;
                            type=&quot;button&quot;
                    &gt;
                        &lt;img class=&quot;gallery__selector__image&quot; src=&quot;&amp;#x2F;arts&amp;#x2F;phono-maritime&amp;#x2F;gallery&amp;#x2F;phonographie_29.jpg&quot; alt=&quot;Photo d&amp;#x27;archive du spectacle: Maria Juliana Vélez (danseuse&amp;#x2F;actrice) danse un micro à la main. Derrière elle, une projection vidéo bleue remplit de mots blancs.&quot;&#x2F;&gt;
                    &lt;&#x2F;button&gt;
                &lt;&#x2F;li&gt;
                
                
                &lt;li class=&quot;gallery__selector__item&quot;&gt;
                    &lt;button
                            class=&quot;gallery__selector__button&quot;
                            aria-expanded=&quot;false&quot;
                            aria-controls=&quot;galleryphonomaritimeimage24&quot;
                            aria-label=&quot;Voir l&#x27;image &amp;quot;Photo d&amp;#x27;archive du spectacle: Andrée-Anne Giguère (actrice&amp;#x2F;concepteur vidéo) tient un micro devant la bouche d&amp;#x27;une spectatrice. La spectatrice porte un casque de réalité virtuelle et parle dans le micro.&amp;quot;&quot;
                            type=&quot;button&quot;
                    &gt;
                        &lt;img class=&quot;gallery__selector__image&quot; src=&quot;&amp;#x2F;arts&amp;#x2F;phono-maritime&amp;#x2F;gallery&amp;#x2F;phonographie_3.jpg&quot; alt=&quot;Photo d&amp;#x27;archive du spectacle: Andrée-Anne Giguère (actrice&amp;#x2F;concepteur vidéo) tient un micro devant la bouche d&amp;#x27;une spectatrice. La spectatrice porte un casque de réalité virtuelle et parle dans le micro.&quot;&#x2F;&gt;
                    &lt;&#x2F;button&gt;
                &lt;&#x2F;li&gt;
                
                
                &lt;li class=&quot;gallery__selector__item&quot;&gt;
                    &lt;button
                            class=&quot;gallery__selector__button&quot;
                            aria-expanded=&quot;false&quot;
                            aria-controls=&quot;galleryphonomaritimeimage25&quot;
                            aria-label=&quot;Voir l&#x27;image &amp;quot;Photo d&amp;#x27;archive du spectacle: Andrée-Anne Giguère (actrice&amp;#x2F;concepteur vidéo) tient un micro devant la bouche d&amp;#x27;une spectatrice. La spectatrice porte un casque de réalité virtuelle et parle dans le micro.&amp;quot;&quot;
                            type=&quot;button&quot;
                    &gt;
                        &lt;img class=&quot;gallery__selector__image&quot; src=&quot;&amp;#x2F;arts&amp;#x2F;phono-maritime&amp;#x2F;gallery&amp;#x2F;phonographie_30.jpg&quot; alt=&quot;Photo d&amp;#x27;archive du spectacle: Andrée-Anne Giguère (actrice&amp;#x2F;concepteur vidéo) tient un micro devant la bouche d&amp;#x27;une spectatrice. La spectatrice porte un casque de réalité virtuelle et parle dans le micro.&quot;&#x2F;&gt;
                    &lt;&#x2F;button&gt;
                &lt;&#x2F;li&gt;
                
                
                &lt;li class=&quot;gallery__selector__item&quot;&gt;
                    &lt;button
                            class=&quot;gallery__selector__button&quot;
                            aria-expanded=&quot;false&quot;
                            aria-controls=&quot;galleryphonomaritimeimage26&quot;
                            aria-label=&quot;Voir l&#x27;image &amp;quot;Photo d&amp;#x27;archive du spectacle: Main de Andrée-Anne Giguère (actrice&amp;#x2F;concepteur vidéo) qui tient un micro devant la bouche d&amp;#x27;une spectatrice.&amp;quot;&quot;
                            type=&quot;button&quot;
                    &gt;
                        &lt;img class=&quot;gallery__selector__image&quot; src=&quot;&amp;#x2F;arts&amp;#x2F;phono-maritime&amp;#x2F;gallery&amp;#x2F;phonographie_31.jpg&quot; alt=&quot;Photo d&amp;#x27;archive du spectacle: Main de Andrée-Anne Giguère (actrice&amp;#x2F;concepteur vidéo) qui tient un micro devant la bouche d&amp;#x27;une spectatrice.&quot;&#x2F;&gt;
                    &lt;&#x2F;button&gt;
                &lt;&#x2F;li&gt;
                
                
                &lt;li class=&quot;gallery__selector__item&quot;&gt;
                    &lt;button
                            class=&quot;gallery__selector__button&quot;
                            aria-expanded=&quot;false&quot;
                            aria-controls=&quot;galleryphonomaritimeimage27&quot;
                            aria-label=&quot;Voir l&#x27;image &amp;quot;Photo d&amp;#x27;archive du spectacle: Photo noir et blanche. Andrée-Anne Giguère (actrice&amp;#x2F;concepteur vidéo) qui tient un micro devant la bouche d&amp;#x27;une spectatrice. La spectatrice porte un casque de réalité virtuelle et parle dans le micro. Derrière, sur le mur, une projection vidéo de modèles 3D.&amp;quot;&quot;
                            type=&quot;button&quot;
                    &gt;
                        &lt;img class=&quot;gallery__selector__image&quot; src=&quot;&amp;#x2F;arts&amp;#x2F;phono-maritime&amp;#x2F;gallery&amp;#x2F;phonographie_32.jpg&quot; alt=&quot;Photo d&amp;#x27;archive du spectacle: Photo noir et blanche. Andrée-Anne Giguère (actrice&amp;#x2F;concepteur vidéo) qui tient un micro devant la bouche d&amp;#x27;une spectatrice. La spectatrice porte un casque de réalité virtuelle et parle dans le micro. Derrière, sur le mur, une projection vidéo de modèles 3D.&quot;&#x2F;&gt;
                    &lt;&#x2F;button&gt;
                &lt;&#x2F;li&gt;
                
                
                &lt;li class=&quot;gallery__selector__item&quot;&gt;
                    &lt;button
                            class=&quot;gallery__selector__button&quot;
                            aria-expanded=&quot;false&quot;
                            aria-controls=&quot;galleryphonomaritimeimage28&quot;
                            aria-label=&quot;Voir l&#x27;image &amp;quot;Photo d&amp;#x27;archive du spectacle: Andrée-Anne Giguère (actrice&amp;#x2F;concepteur vidéo) qui parle au micro devant une projection vidéo de modèles 3D.&amp;quot;&quot;
                            type=&quot;button&quot;
                    &gt;
                        &lt;img class=&quot;gallery__selector__image&quot; src=&quot;&amp;#x2F;arts&amp;#x2F;phono-maritime&amp;#x2F;gallery&amp;#x2F;phonographie_33.jpg&quot; alt=&quot;Photo d&amp;#x27;archive du spectacle: Andrée-Anne Giguère (actrice&amp;#x2F;concepteur vidéo) qui parle au micro devant une projection vidéo de modèles 3D.&quot;&#x2F;&gt;
                    &lt;&#x2F;button&gt;
                &lt;&#x2F;li&gt;
                
                
                &lt;li class=&quot;gallery__selector__item&quot;&gt;
                    &lt;button
                            class=&quot;gallery__selector__button&quot;
                            aria-expanded=&quot;false&quot;
                            aria-controls=&quot;galleryphonomaritimeimage29&quot;
                            aria-label=&quot;Voir l&#x27;image &amp;quot;Photo d&amp;#x27;archive du spectacle: Pierre Tremblay-Thériault (performeur&amp;#x2F;artiste) se glisse dans une structure en bois en forme de tour maritime. On y voit aussi un contenant d&amp;#x27;eau, de la terre glaise, un couteau et un papier sablé sur une tablette en bois.&amp;quot;&quot;
                            type=&quot;button&quot;
                    &gt;
                        &lt;img class=&quot;gallery__selector__image&quot; src=&quot;&amp;#x2F;arts&amp;#x2F;phono-maritime&amp;#x2F;gallery&amp;#x2F;phonographie_34.jpg&quot; alt=&quot;Photo d&amp;#x27;archive du spectacle: Pierre Tremblay-Thériault (performeur&amp;#x2F;artiste) se glisse dans une structure en bois en forme de tour maritime. On y voit aussi un contenant d&amp;#x27;eau, de la terre glaise, un couteau et un papier sablé sur une tablette en bois.&quot;&#x2F;&gt;
                    &lt;&#x2F;button&gt;
                &lt;&#x2F;li&gt;
                
                
                &lt;li class=&quot;gallery__selector__item&quot;&gt;
                    &lt;button
                            class=&quot;gallery__selector__button&quot;
                            aria-expanded=&quot;false&quot;
                            aria-controls=&quot;galleryphonomaritimeimage30&quot;
                            aria-label=&quot;Voir l&#x27;image &amp;quot;Photo d&amp;#x27;archive du spectacle: Pierre Tremblay-Thériault (performeur&amp;#x2F;artiste) manipule de la terre glaise mouillée sur une tablette de bois. Un micro est positionné très proche de la terre glaise et capte les son de la manipulation. Assis sur le sol, sous la tablette, Andrée-Anne Giguère (actrice&amp;#x2F;concepteur vidéo) et Jean-Paul Quéinnec (performeur&amp;#x2F;artiste) se tiennent la main.&amp;quot;&quot;
                            type=&quot;button&quot;
                    &gt;
                        &lt;img class=&quot;gallery__selector__image&quot; src=&quot;&amp;#x2F;arts&amp;#x2F;phono-maritime&amp;#x2F;gallery&amp;#x2F;phonographie_35.jpg&quot; alt=&quot;Photo d&amp;#x27;archive du spectacle: Pierre Tremblay-Thériault (performeur&amp;#x2F;artiste) manipule de la terre glaise mouillée sur une tablette de bois. Un micro est positionné très proche de la terre glaise et capte les son de la manipulation. Assis sur le sol, sous la tablette, Andrée-Anne Giguère (actrice&amp;#x2F;concepteur vidéo) et Jean-Paul Quéinnec (performeur&amp;#x2F;artiste) se tiennent la main.&quot;&#x2F;&gt;
                    &lt;&#x2F;button&gt;
                &lt;&#x2F;li&gt;
                
                
                &lt;li class=&quot;gallery__selector__item&quot;&gt;
                    &lt;button
                            class=&quot;gallery__selector__button&quot;
                            aria-expanded=&quot;false&quot;
                            aria-controls=&quot;galleryphonomaritimeimage31&quot;
                            aria-label=&quot;Voir l&#x27;image &amp;quot;Photo d&amp;#x27;archive du spectacle: Andrée-Anne Giguère (actrice&amp;#x2F;concepteur vidéo), les yeux fermés, se filme avec un téléphone et tient le bras de Jean-Paul Quéinnec (performeur&amp;#x2F;artiste). Jean-Paul tient un micro dans sa main et regarde au loin.&amp;quot;&quot;
                            type=&quot;button&quot;
                    &gt;
                        &lt;img class=&quot;gallery__selector__image&quot; src=&quot;&amp;#x2F;arts&amp;#x2F;phono-maritime&amp;#x2F;gallery&amp;#x2F;phonographie_36.jpg&quot; alt=&quot;Photo d&amp;#x27;archive du spectacle: Andrée-Anne Giguère (actrice&amp;#x2F;concepteur vidéo), les yeux fermés, se filme avec un téléphone et tient le bras de Jean-Paul Quéinnec (performeur&amp;#x2F;artiste). Jean-Paul tient un micro dans sa main et regarde au loin.&quot;&#x2F;&gt;
                    &lt;&#x2F;button&gt;
                &lt;&#x2F;li&gt;
                
                
                &lt;li class=&quot;gallery__selector__item&quot;&gt;
                    &lt;button
                            class=&quot;gallery__selector__button&quot;
                            aria-expanded=&quot;false&quot;
                            aria-controls=&quot;galleryphonomaritimeimage32&quot;
                            aria-label=&quot;Voir l&#x27;image &amp;quot;Photo d&amp;#x27;archive du spectacle: Deux mains se tiennent. Les deux bras sont étirés. Ce sont les mains de Edouard Germain (poète&amp;#x2F;performeur) et Jean-Paul Quéinnec (performeur&amp;#x2F;artiste).&amp;quot;&quot;
                            type=&quot;button&quot;
                    &gt;
                        &lt;img class=&quot;gallery__selector__image&quot; src=&quot;&amp;#x2F;arts&amp;#x2F;phono-maritime&amp;#x2F;gallery&amp;#x2F;phonographie_37.jpg&quot; alt=&quot;Photo d&amp;#x27;archive du spectacle: Deux mains se tiennent. Les deux bras sont étirés. Ce sont les mains de Edouard Germain (poète&amp;#x2F;performeur) et Jean-Paul Quéinnec (performeur&amp;#x2F;artiste).&quot;&#x2F;&gt;
                    &lt;&#x2F;button&gt;
                &lt;&#x2F;li&gt;
                
                
                &lt;li class=&quot;gallery__selector__item&quot;&gt;
                    &lt;button
                            class=&quot;gallery__selector__button&quot;
                            aria-expanded=&quot;false&quot;
                            aria-controls=&quot;galleryphonomaritimeimage33&quot;
                            aria-label=&quot;Voir l&#x27;image &amp;quot;Photo d&amp;#x27;archive du spectacle: Dos collé au mur, Andrée-Anne Giguère (actrice&amp;#x2F;concepteur vidéo), les yeux fermés, se filme avec un téléphone et tient le bras de Jean-Paul Quéinnec (performeur&amp;#x2F;artiste), lui aussi le dos collé au mur. Jean-Paul tient un micro et regarde vers le plafond les yeux fermés.&amp;quot;&quot;
                            type=&quot;button&quot;
                    &gt;
                        &lt;img class=&quot;gallery__selector__image&quot; src=&quot;&amp;#x2F;arts&amp;#x2F;phono-maritime&amp;#x2F;gallery&amp;#x2F;phonographie_38.jpg&quot; alt=&quot;Photo d&amp;#x27;archive du spectacle: Dos collé au mur, Andrée-Anne Giguère (actrice&amp;#x2F;concepteur vidéo), les yeux fermés, se filme avec un téléphone et tient le bras de Jean-Paul Quéinnec (performeur&amp;#x2F;artiste), lui aussi le dos collé au mur. Jean-Paul tient un micro et regarde vers le plafond les yeux fermés.&quot;&#x2F;&gt;
                    &lt;&#x2F;button&gt;
                &lt;&#x2F;li&gt;
                
                
                &lt;li class=&quot;gallery__selector__item&quot;&gt;
                    &lt;button
                            class=&quot;gallery__selector__button&quot;
                            aria-expanded=&quot;false&quot;
                            aria-controls=&quot;galleryphonomaritimeimage34&quot;
                            aria-label=&quot;Voir l&#x27;image &amp;quot;Photo d&amp;#x27;archive du spectacle: Pierre Tremblay-Thériault (performeur&amp;#x2F;artiste) manipule du papier sablé déposé sur de la terre glaise mouillée sur une tablette de bois. Un micro est positionné très proche de la terre glaise et capte les son des manipulations. On peut voir devant lui un contenant d&amp;#x27;eau et un couteau. Pierre se trouve dans une structure en bois en forme de tour maritime. Au dessus de la tablette se trouve un petit projecteur lumineux et une caméra.&amp;quot;&quot;
                            type=&quot;button&quot;
                    &gt;
                        &lt;img class=&quot;gallery__selector__image&quot; src=&quot;&amp;#x2F;arts&amp;#x2F;phono-maritime&amp;#x2F;gallery&amp;#x2F;phonographie_39.jpg&quot; alt=&quot;Photo d&amp;#x27;archive du spectacle: Pierre Tremblay-Thériault (performeur&amp;#x2F;artiste) manipule du papier sablé déposé sur de la terre glaise mouillée sur une tablette de bois. Un micro est positionné très proche de la terre glaise et capte les son des manipulations. On peut voir devant lui un contenant d&amp;#x27;eau et un couteau. Pierre se trouve dans une structure en bois en forme de tour maritime. Au dessus de la tablette se trouve un petit projecteur lumineux et une caméra.&quot;&#x2F;&gt;
                    &lt;&#x2F;button&gt;
                &lt;&#x2F;li&gt;
                
                
                &lt;li class=&quot;gallery__selector__item&quot;&gt;
                    &lt;button
                            class=&quot;gallery__selector__button&quot;
                            aria-expanded=&quot;false&quot;
                            aria-controls=&quot;galleryphonomaritimeimage35&quot;
                            aria-label=&quot;Voir l&#x27;image &amp;quot;Photo d&amp;#x27;archive du spectacle: Pierre Tremblay-Thériault (performeur&amp;#x2F;artiste) manipule du papier sablé déposé sur de la terre glaise mouillée sur une tablette de bois. Un micro est positionné très proche de la terre glaise et capte les son des manipulations. On peut voir devant lui un contenant d&amp;#x27;eau et un couteau. Pierre se trouve dans une structure en bois en forme de tour maritime. Au dessus de la tablette se trouve un petit projecteur lumineux et une caméra. Derrière, sur le mur, une projection vidéo des actions effectuées sur la tablette.&amp;quot;&quot;
                            type=&quot;button&quot;
                    &gt;
                        &lt;img class=&quot;gallery__selector__image&quot; src=&quot;&amp;#x2F;arts&amp;#x2F;phono-maritime&amp;#x2F;gallery&amp;#x2F;phonographie_4.jpg&quot; alt=&quot;Photo d&amp;#x27;archive du spectacle: Pierre Tremblay-Thériault (performeur&amp;#x2F;artiste) manipule du papier sablé déposé sur de la terre glaise mouillée sur une tablette de bois. Un micro est positionné très proche de la terre glaise et capte les son des manipulations. On peut voir devant lui un contenant d&amp;#x27;eau et un couteau. Pierre se trouve dans une structure en bois en forme de tour maritime. Au dessus de la tablette se trouve un petit projecteur lumineux et une caméra. Derrière, sur le mur, une projection vidéo des actions effectuées sur la tablette.&quot;&#x2F;&gt;
                    &lt;&#x2F;button&gt;
                &lt;&#x2F;li&gt;
                
                
                &lt;li class=&quot;gallery__selector__item&quot;&gt;
                    &lt;button
                            class=&quot;gallery__selector__button&quot;
                            aria-expanded=&quot;false&quot;
                            aria-controls=&quot;galleryphonomaritimeimage36&quot;
                            aria-label=&quot;Voir l&#x27;image &amp;quot;Photo d&amp;#x27;archive du spectacle: Pierre Tremblay-Thériault (performeur&amp;#x2F;artiste) manipule du papier sablé déposé sur de la terre glaise mouillée sur une tablette de bois. Un micro est positionné très proche de la terre glaise et capte les son des manipulations. On peut voir devant lui un contenant d&amp;#x27;eau et un couteau. Pierre se trouve dans une structure en bois en forme de tour maritime. À gauche de la tour, Maria Juliana Vélez (danseuse&amp;#x2F;actrice) touche la tour doucement.&amp;quot;&quot;
                            type=&quot;button&quot;
                    &gt;
                        &lt;img class=&quot;gallery__selector__image&quot; src=&quot;&amp;#x2F;arts&amp;#x2F;phono-maritime&amp;#x2F;gallery&amp;#x2F;phonographie_40.jpg&quot; alt=&quot;Photo d&amp;#x27;archive du spectacle: Pierre Tremblay-Thériault (performeur&amp;#x2F;artiste) manipule du papier sablé déposé sur de la terre glaise mouillée sur une tablette de bois. Un micro est positionné très proche de la terre glaise et capte les son des manipulations. On peut voir devant lui un contenant d&amp;#x27;eau et un couteau. Pierre se trouve dans une structure en bois en forme de tour maritime. À gauche de la tour, Maria Juliana Vélez (danseuse&amp;#x2F;actrice) touche la tour doucement.&quot;&#x2F;&gt;
                    &lt;&#x2F;button&gt;
                &lt;&#x2F;li&gt;
                
                
                &lt;li class=&quot;gallery__selector__item&quot;&gt;
                    &lt;button
                            class=&quot;gallery__selector__button&quot;
                            aria-expanded=&quot;false&quot;
                            aria-controls=&quot;galleryphonomaritimeimage37&quot;
                            aria-label=&quot;Voir l&#x27;image &amp;quot;Photo d&amp;#x27;archive du spectacle: Pierre Tremblay-Thériault (performeur&amp;#x2F;artiste) de dos se trouve dans une structure en bois en forme de tour maritime. Andrée-Anne Giguère (actrice&amp;#x2F;concepteur vidéo), Jean-Paul Quéinnec (performeur&amp;#x2F;artiste) et Maria Juliana Vélez (danseuse&amp;#x2F;actrice) se tiennent la main et forme un cercle autour de la tour.&amp;quot;&quot;
                            type=&quot;button&quot;
                    &gt;
                        &lt;img class=&quot;gallery__selector__image&quot; src=&quot;&amp;#x2F;arts&amp;#x2F;phono-maritime&amp;#x2F;gallery&amp;#x2F;phonographie_41.jpg&quot; alt=&quot;Photo d&amp;#x27;archive du spectacle: Pierre Tremblay-Thériault (performeur&amp;#x2F;artiste) de dos se trouve dans une structure en bois en forme de tour maritime. Andrée-Anne Giguère (actrice&amp;#x2F;concepteur vidéo), Jean-Paul Quéinnec (performeur&amp;#x2F;artiste) et Maria Juliana Vélez (danseuse&amp;#x2F;actrice) se tiennent la main et forme un cercle autour de la tour.&quot;&#x2F;&gt;
                    &lt;&#x2F;button&gt;
                &lt;&#x2F;li&gt;
                
                
                &lt;li class=&quot;gallery__selector__item&quot;&gt;
                    &lt;button
                            class=&quot;gallery__selector__button&quot;
                            aria-expanded=&quot;false&quot;
                            aria-controls=&quot;galleryphonomaritimeimage38&quot;
                            aria-label=&quot;Voir l&#x27;image &amp;quot;Photo d&amp;#x27;archive du spectacle: Pierre Tremblay-Thériault (performeur&amp;#x2F;artiste) caché se trouve dans une structure en bois en forme de tour maritime. Andrée-Anne Giguère (actrice&amp;#x2F;concepteur vidéo), Jean-Paul Quéinnec (performeur&amp;#x2F;artiste) et Maria Juliana Vélez (danseuse&amp;#x2F;actrice) se tiennent la main et forme un cercle autour de la tour.&amp;quot;&quot;
                            type=&quot;button&quot;
                    &gt;
                        &lt;img class=&quot;gallery__selector__image&quot; src=&quot;&amp;#x2F;arts&amp;#x2F;phono-maritime&amp;#x2F;gallery&amp;#x2F;phonographie_42.jpg&quot; alt=&quot;Photo d&amp;#x27;archive du spectacle: Pierre Tremblay-Thériault (performeur&amp;#x2F;artiste) caché se trouve dans une structure en bois en forme de tour maritime. Andrée-Anne Giguère (actrice&amp;#x2F;concepteur vidéo), Jean-Paul Quéinnec (performeur&amp;#x2F;artiste) et Maria Juliana Vélez (danseuse&amp;#x2F;actrice) se tiennent la main et forme un cercle autour de la tour.&quot;&#x2F;&gt;
                    &lt;&#x2F;button&gt;
                &lt;&#x2F;li&gt;
                
                
                &lt;li class=&quot;gallery__selector__item&quot;&gt;
                    &lt;button
                            class=&quot;gallery__selector__button&quot;
                            aria-expanded=&quot;false&quot;
                            aria-controls=&quot;galleryphonomaritimeimage39&quot;
                            aria-label=&quot;Voir l&#x27;image &amp;quot;Photo d&amp;#x27;archive du spectacle: Maria Juliana Vélez (danseuse&amp;#x2F;actrice), assis au sol, touche la tour doucement. Pierre Tremblay-Thériault (performeur&amp;#x2F;artiste) caché se trouve dans une structure en bois en forme de tour maritime.&amp;quot;&quot;
                            type=&quot;button&quot;
                    &gt;
                        &lt;img class=&quot;gallery__selector__image&quot; src=&quot;&amp;#x2F;arts&amp;#x2F;phono-maritime&amp;#x2F;gallery&amp;#x2F;phonographie_44.jpg&quot; alt=&quot;Photo d&amp;#x27;archive du spectacle: Maria Juliana Vélez (danseuse&amp;#x2F;actrice), assis au sol, touche la tour doucement. Pierre Tremblay-Thériault (performeur&amp;#x2F;artiste) caché se trouve dans une structure en bois en forme de tour maritime.&quot;&#x2F;&gt;
                    &lt;&#x2F;button&gt;
                &lt;&#x2F;li&gt;
                
                
                &lt;li class=&quot;gallery__selector__item&quot;&gt;
                    &lt;button
                            class=&quot;gallery__selector__button&quot;
                            aria-expanded=&quot;false&quot;
                            aria-controls=&quot;galleryphonomaritimeimage40&quot;
                            aria-label=&quot;Voir l&#x27;image &amp;quot;Photo d&amp;#x27;archive du spectacle: Pierre Tremblay-Thériault (performeur&amp;#x2F;artiste) manipule du papier sablé déposé sur de la terre glaise mouillée sur une tablette de bois. Un micro est positionné très proche de la terre glaise et capte les son des manipulations. On peut voir devant lui un contenant d&amp;#x27;eau. Pierre se trouve dans une structure en bois en forme de tour maritime.&amp;quot;&quot;
                            type=&quot;button&quot;
                    &gt;
                        &lt;img class=&quot;gallery__selector__image&quot; src=&quot;&amp;#x2F;arts&amp;#x2F;phono-maritime&amp;#x2F;gallery&amp;#x2F;phonographie_45.jpg&quot; alt=&quot;Photo d&amp;#x27;archive du spectacle: Pierre Tremblay-Thériault (performeur&amp;#x2F;artiste) manipule du papier sablé déposé sur de la terre glaise mouillée sur une tablette de bois. Un micro est positionné très proche de la terre glaise et capte les son des manipulations. On peut voir devant lui un contenant d&amp;#x27;eau. Pierre se trouve dans une structure en bois en forme de tour maritime.&quot;&#x2F;&gt;
                    &lt;&#x2F;button&gt;
                &lt;&#x2F;li&gt;
                
                
                &lt;li class=&quot;gallery__selector__item&quot;&gt;
                    &lt;button
                            class=&quot;gallery__selector__button&quot;
                            aria-expanded=&quot;false&quot;
                            aria-controls=&quot;galleryphonomaritimeimage41&quot;
                            aria-label=&quot;Voir l&#x27;image &amp;quot;Photo d&amp;#x27;archive du spectacle: Appuyé sur un mur, des silouhettes non identifiables se tiennent debout. Une projection vidéo abstraite peut être vu sur le mur.&amp;quot;&quot;
                            type=&quot;button&quot;
                    &gt;
                        &lt;img class=&quot;gallery__selector__image&quot; src=&quot;&amp;#x2F;arts&amp;#x2F;phono-maritime&amp;#x2F;gallery&amp;#x2F;phonographie_46.jpg&quot; alt=&quot;Photo d&amp;#x27;archive du spectacle: Appuyé sur un mur, des silouhettes non identifiables se tiennent debout. Une projection vidéo abstraite peut être vu sur le mur.&quot;&#x2F;&gt;
                    &lt;&#x2F;button&gt;
                &lt;&#x2F;li&gt;
                
                
                &lt;li class=&quot;gallery__selector__item&quot;&gt;
                    &lt;button
                            class=&quot;gallery__selector__button&quot;
                            aria-expanded=&quot;false&quot;
                            aria-controls=&quot;galleryphonomaritimeimage42&quot;
                            aria-label=&quot;Voir l&#x27;image &amp;quot;Photo d&amp;#x27;archive du spectacle: Image d&amp;#x27;une guitare très rapprochée. La main du musicien manipule les cordes avec un outil fin en métal.&amp;quot;&quot;
                            type=&quot;button&quot;
                    &gt;
                        &lt;img class=&quot;gallery__selector__image&quot; src=&quot;&amp;#x2F;arts&amp;#x2F;phono-maritime&amp;#x2F;gallery&amp;#x2F;phonographie_47.jpg&quot; alt=&quot;Photo d&amp;#x27;archive du spectacle: Image d&amp;#x27;une guitare très rapprochée. La main du musicien manipule les cordes avec un outil fin en métal.&quot;&#x2F;&gt;
                    &lt;&#x2F;button&gt;
                &lt;&#x2F;li&gt;
                
                
                &lt;li class=&quot;gallery__selector__item&quot;&gt;
                    &lt;button
                            class=&quot;gallery__selector__button&quot;
                            aria-expanded=&quot;false&quot;
                            aria-controls=&quot;galleryphonomaritimeimage43&quot;
                            aria-label=&quot;Voir l&#x27;image &amp;quot;Photo d&amp;#x27;archive du spectacle: Image d&amp;#x27;une guitare très rapprochée. Devant les cordes de la guitare on voit un micro tenu par une main inconnu. La main d&amp;#x27;un musicien manipule les cordes avec un outil fin en métal.&amp;quot;&quot;
                            type=&quot;button&quot;
                    &gt;
                        &lt;img class=&quot;gallery__selector__image&quot; src=&quot;&amp;#x2F;arts&amp;#x2F;phono-maritime&amp;#x2F;gallery&amp;#x2F;phonographie_49.jpg&quot; alt=&quot;Photo d&amp;#x27;archive du spectacle: Image d&amp;#x27;une guitare très rapprochée. Devant les cordes de la guitare on voit un micro tenu par une main inconnu. La main d&amp;#x27;un musicien manipule les cordes avec un outil fin en métal.&quot;&#x2F;&gt;
                    &lt;&#x2F;button&gt;
                &lt;&#x2F;li&gt;
                
                
                &lt;li class=&quot;gallery__selector__item&quot;&gt;
                    &lt;button
                            class=&quot;gallery__selector__button&quot;
                            aria-expanded=&quot;false&quot;
                            aria-controls=&quot;galleryphonomaritimeimage44&quot;
                            aria-label=&quot;Voir l&#x27;image &amp;quot;Photo d&amp;#x27;archive du spectacle: Formes difficiles à identifier. C&amp;#x27;est l&amp;#x27;image rapproché d&amp;#x27;un musicien qui joue de la guitare.&amp;quot;&quot;
                            type=&quot;button&quot;
                    &gt;
                        &lt;img class=&quot;gallery__selector__image&quot; src=&quot;&amp;#x2F;arts&amp;#x2F;phono-maritime&amp;#x2F;gallery&amp;#x2F;phonographie_5.jpg&quot; alt=&quot;Photo d&amp;#x27;archive du spectacle: Formes difficiles à identifier. C&amp;#x27;est l&amp;#x27;image rapproché d&amp;#x27;un musicien qui joue de la guitare.&quot;&#x2F;&gt;
                    &lt;&#x2F;button&gt;
                &lt;&#x2F;li&gt;
                
                
                &lt;li class=&quot;gallery__selector__item&quot;&gt;
                    &lt;button
                            class=&quot;gallery__selector__button&quot;
                            aria-expanded=&quot;false&quot;
                            aria-controls=&quot;galleryphonomaritimeimage45&quot;
                            aria-label=&quot;Voir l&#x27;image &amp;quot;Photo d&amp;#x27;archive du spectacle: Le devant du corps de Maria Juliana Vélez (danseuse&amp;#x2F;actrice) est ouvert vers le public. Jean-Paul Quéinnec (performeur&amp;#x2F;artiste), pencher vers l&amp;#x27;avant, attrappe Maria par les hanches. Sur leurs corps on peut voir une projection vidéo d&amp;#x27;un bateau se déplaçant dans un canal.&amp;quot;&quot;
                            type=&quot;button&quot;
                    &gt;
                        &lt;img class=&quot;gallery__selector__image&quot; src=&quot;&amp;#x2F;arts&amp;#x2F;phono-maritime&amp;#x2F;gallery&amp;#x2F;phonographie_50.jpg&quot; alt=&quot;Photo d&amp;#x27;archive du spectacle: Le devant du corps de Maria Juliana Vélez (danseuse&amp;#x2F;actrice) est ouvert vers le public. Jean-Paul Quéinnec (performeur&amp;#x2F;artiste), pencher vers l&amp;#x27;avant, attrappe Maria par les hanches. Sur leurs corps on peut voir une projection vidéo d&amp;#x27;un bateau se déplaçant dans un canal.&quot;&#x2F;&gt;
                    &lt;&#x2F;button&gt;
                &lt;&#x2F;li&gt;
                
                
                &lt;li class=&quot;gallery__selector__item&quot;&gt;
                    &lt;button
                            class=&quot;gallery__selector__button&quot;
                            aria-expanded=&quot;false&quot;
                            aria-controls=&quot;galleryphonomaritimeimage46&quot;
                            aria-label=&quot;Voir l&#x27;image &amp;quot;Photo d&amp;#x27;archive du spectacle: Maria Juliana Vélez (danseuse&amp;#x2F;actrice) est debout et collé à un mur qu&amp;#x27;elle touche doucement. Derrière elle, à genoux sur le sol, Jean-Paul Quéinnec (performeur&amp;#x2F;artiste) la tient par les hanches. Derrière lui, Andrée-Anne Giguère (actrice&amp;#x2F;concepteur vidéo), assise sur le sol, le tient par les hanches. Sur le eux et sur le mur on peut voir une projection vidéo abstraite d&amp;#x27;un dégradé bleu.&amp;quot;&quot;
                            type=&quot;button&quot;
                    &gt;
                        &lt;img class=&quot;gallery__selector__image&quot; src=&quot;&amp;#x2F;arts&amp;#x2F;phono-maritime&amp;#x2F;gallery&amp;#x2F;phonographie_51.jpg&quot; alt=&quot;Photo d&amp;#x27;archive du spectacle: Maria Juliana Vélez (danseuse&amp;#x2F;actrice) est debout et collé à un mur qu&amp;#x27;elle touche doucement. Derrière elle, à genoux sur le sol, Jean-Paul Quéinnec (performeur&amp;#x2F;artiste) la tient par les hanches. Derrière lui, Andrée-Anne Giguère (actrice&amp;#x2F;concepteur vidéo), assise sur le sol, le tient par les hanches. Sur le eux et sur le mur on peut voir une projection vidéo abstraite d&amp;#x27;un dégradé bleu.&quot;&#x2F;&gt;
                    &lt;&#x2F;button&gt;
                &lt;&#x2F;li&gt;
                
                
                &lt;li class=&quot;gallery__selector__item&quot;&gt;
                    &lt;button
                            class=&quot;gallery__selector__button&quot;
                            aria-expanded=&quot;false&quot;
                            aria-controls=&quot;galleryphonomaritimeimage47&quot;
                            aria-label=&quot;Voir l&#x27;image &amp;quot;Photo d&amp;#x27;archive du spectacle: Jean-Paul Quéinnec (performeur&amp;#x2F;artiste) est à genoux sur le sol. Il tient les jambes d&amp;#x27;un autre performeur. Sur sa figure, on peut voir une projection vidéo d&amp;#x27;un paysage gazonné.&amp;quot;&quot;
                            type=&quot;button&quot;
                    &gt;
                        &lt;img class=&quot;gallery__selector__image&quot; src=&quot;&amp;#x2F;arts&amp;#x2F;phono-maritime&amp;#x2F;gallery&amp;#x2F;phonographie_52.jpg&quot; alt=&quot;Photo d&amp;#x27;archive du spectacle: Jean-Paul Quéinnec (performeur&amp;#x2F;artiste) est à genoux sur le sol. Il tient les jambes d&amp;#x27;un autre performeur. Sur sa figure, on peut voir une projection vidéo d&amp;#x27;un paysage gazonné.&quot;&#x2F;&gt;
                    &lt;&#x2F;button&gt;
                &lt;&#x2F;li&gt;
                
                
                &lt;li class=&quot;gallery__selector__item&quot;&gt;
                    &lt;button
                            class=&quot;gallery__selector__button&quot;
                            aria-expanded=&quot;false&quot;
                            aria-controls=&quot;galleryphonomaritimeimage48&quot;
                            aria-label=&quot;Voir l&#x27;image &amp;quot;Photo d&amp;#x27;archive du spectacle: Formes difficiles à identifier. C&amp;#x27;est une image de plusieurs performeurs à contrejour.&amp;quot;&quot;
                            type=&quot;button&quot;
                    &gt;
                        &lt;img class=&quot;gallery__selector__image&quot; src=&quot;&amp;#x2F;arts&amp;#x2F;phono-maritime&amp;#x2F;gallery&amp;#x2F;phonographie_53.jpg&quot; alt=&quot;Photo d&amp;#x27;archive du spectacle: Formes difficiles à identifier. C&amp;#x27;est une image de plusieurs performeurs à contrejour.&quot;&#x2F;&gt;
                    &lt;&#x2F;button&gt;
                &lt;&#x2F;li&gt;
                
                
                &lt;li class=&quot;gallery__selector__item&quot;&gt;
                    &lt;button
                            class=&quot;gallery__selector__button&quot;
                            aria-expanded=&quot;false&quot;
                            aria-controls=&quot;galleryphonomaritimeimage49&quot;
                            aria-label=&quot;Voir l&#x27;image &amp;quot;Photo d&amp;#x27;archive du spectacle: Maria Juliana Vélez (danseuse&amp;#x2F;actrice) tient un performeur dans ses bras. Sur sa figure et le dos du performeur, on peut voir une projection vidéo d&amp;#x27;un mur remplit de graffiti.&amp;quot;&quot;
                            type=&quot;button&quot;
                    &gt;
                        &lt;img class=&quot;gallery__selector__image&quot; src=&quot;&amp;#x2F;arts&amp;#x2F;phono-maritime&amp;#x2F;gallery&amp;#x2F;phonographie_54.jpg&quot; alt=&quot;Photo d&amp;#x27;archive du spectacle: Maria Juliana Vélez (danseuse&amp;#x2F;actrice) tient un performeur dans ses bras. Sur sa figure et le dos du performeur, on peut voir une projection vidéo d&amp;#x27;un mur remplit de graffiti.&quot;&#x2F;&gt;
                    &lt;&#x2F;button&gt;
                &lt;&#x2F;li&gt;
                
                
                &lt;li class=&quot;gallery__selector__item&quot;&gt;
                    &lt;button
                            class=&quot;gallery__selector__button&quot;
                            aria-expanded=&quot;false&quot;
                            aria-controls=&quot;galleryphonomaritimeimage50&quot;
                            aria-label=&quot;Voir l&#x27;image &amp;quot;Photo d&amp;#x27;archive du spectacle: Formes difficiles à identifier. C&amp;#x27;est une image de plusieurs performeurs à contrejour.&amp;quot;&quot;
                            type=&quot;button&quot;
                    &gt;
                        &lt;img class=&quot;gallery__selector__image&quot; src=&quot;&amp;#x2F;arts&amp;#x2F;phono-maritime&amp;#x2F;gallery&amp;#x2F;phonographie_55.jpg&quot; alt=&quot;Photo d&amp;#x27;archive du spectacle: Formes difficiles à identifier. C&amp;#x27;est une image de plusieurs performeurs à contrejour.&quot;&#x2F;&gt;
                    &lt;&#x2F;button&gt;
                &lt;&#x2F;li&gt;
                
                
                &lt;li class=&quot;gallery__selector__item&quot;&gt;
                    &lt;button
                            class=&quot;gallery__selector__button&quot;
                            aria-expanded=&quot;false&quot;
                            aria-controls=&quot;galleryphonomaritimeimage51&quot;
                            aria-label=&quot;Voir l&#x27;image &amp;quot;Photo d&amp;#x27;archive du spectacle: Formes difficiles à identifier. C&amp;#x27;est une image de plusieurs performeurs à contrejour.&amp;quot;&quot;
                            type=&quot;button&quot;
                    &gt;
                        &lt;img class=&quot;gallery__selector__image&quot; src=&quot;&amp;#x2F;arts&amp;#x2F;phono-maritime&amp;#x2F;gallery&amp;#x2F;phonographie_56.jpg&quot; alt=&quot;Photo d&amp;#x27;archive du spectacle: Formes difficiles à identifier. C&amp;#x27;est une image de plusieurs performeurs à contrejour.&quot;&#x2F;&gt;
                    &lt;&#x2F;button&gt;
                &lt;&#x2F;li&gt;
                
                
                &lt;li class=&quot;gallery__selector__item&quot;&gt;
                    &lt;button
                            class=&quot;gallery__selector__button&quot;
                            aria-expanded=&quot;false&quot;
                            aria-controls=&quot;galleryphonomaritimeimage52&quot;
                            aria-label=&quot;Voir l&#x27;image &amp;quot;Photo d&amp;#x27;archive du spectacle: Florian Solesse (assistant) assis derrière sa console.&amp;quot;&quot;
                            type=&quot;button&quot;
                    &gt;
                        &lt;img class=&quot;gallery__selector__image&quot; src=&quot;&amp;#x2F;arts&amp;#x2F;phono-maritime&amp;#x2F;gallery&amp;#x2F;phonographie_57.jpg&quot; alt=&quot;Photo d&amp;#x27;archive du spectacle: Florian Solesse (assistant) assis derrière sa console.&quot;&#x2F;&gt;
                    &lt;&#x2F;button&gt;
                &lt;&#x2F;li&gt;
                
                
                &lt;li class=&quot;gallery__selector__item&quot;&gt;
                    &lt;button
                            class=&quot;gallery__selector__button&quot;
                            aria-expanded=&quot;false&quot;
                            aria-controls=&quot;galleryphonomaritimeimage53&quot;
                            aria-label=&quot;Voir l&#x27;image &amp;quot;Photo d&amp;#x27;archive du spectacle: Edouard Germain (poète&amp;#x2F;performeur) debout et appuyé sur un mur. Sur lui et le mur, une projection vidéo abstraite mauve, blanche et noire.&amp;quot;&quot;
                            type=&quot;button&quot;
                    &gt;
                        &lt;img class=&quot;gallery__selector__image&quot; src=&quot;&amp;#x2F;arts&amp;#x2F;phono-maritime&amp;#x2F;gallery&amp;#x2F;phonographie_58.jpg&quot; alt=&quot;Photo d&amp;#x27;archive du spectacle: Edouard Germain (poète&amp;#x2F;performeur) debout et appuyé sur un mur. Sur lui et le mur, une projection vidéo abstraite mauve, blanche et noire.&quot;&#x2F;&gt;
                    &lt;&#x2F;button&gt;
                &lt;&#x2F;li&gt;
                
                
                &lt;li class=&quot;gallery__selector__item&quot;&gt;
                    &lt;button
                            class=&quot;gallery__selector__button&quot;
                            aria-expanded=&quot;false&quot;
                            aria-controls=&quot;galleryphonomaritimeimage54&quot;
                            aria-label=&quot;Voir l&#x27;image &amp;quot;Photo d&amp;#x27;archive du spectacle: Edouard Germain (poète&amp;#x2F;performeur) assit sur le sol appuyé sur un mur. Sur lui et le mur, une projection vidéo abstraite rouge, blanche et noire.&amp;quot;&quot;
                            type=&quot;button&quot;
                    &gt;
                        &lt;img class=&quot;gallery__selector__image&quot; src=&quot;&amp;#x2F;arts&amp;#x2F;phono-maritime&amp;#x2F;gallery&amp;#x2F;phonographie_59.jpg&quot; alt=&quot;Photo d&amp;#x27;archive du spectacle: Edouard Germain (poète&amp;#x2F;performeur) assit sur le sol appuyé sur un mur. Sur lui et le mur, une projection vidéo abstraite rouge, blanche et noire.&quot;&#x2F;&gt;
                    &lt;&#x2F;button&gt;
                &lt;&#x2F;li&gt;
                
                
                &lt;li class=&quot;gallery__selector__item&quot;&gt;
                    &lt;button
                            class=&quot;gallery__selector__button&quot;
                            aria-expanded=&quot;false&quot;
                            aria-controls=&quot;galleryphonomaritimeimage55&quot;
                            aria-label=&quot;Voir l&#x27;image &amp;quot;Photo d&amp;#x27;archive du spectacle: François Harvey (concepteur sonore) debout et appuyé sur un mur. Sur lui et le mur, une projection vidéo abstraite rouge, blanche et noire.&amp;quot;&quot;
                            type=&quot;button&quot;
                    &gt;
                        &lt;img class=&quot;gallery__selector__image&quot; src=&quot;&amp;#x2F;arts&amp;#x2F;phono-maritime&amp;#x2F;gallery&amp;#x2F;phonographie_6.jpg&quot; alt=&quot;Photo d&amp;#x27;archive du spectacle: François Harvey (concepteur sonore) debout et appuyé sur un mur. Sur lui et le mur, une projection vidéo abstraite rouge, blanche et noire.&quot;&#x2F;&gt;
                    &lt;&#x2F;button&gt;
                &lt;&#x2F;li&gt;
                
                
                &lt;li class=&quot;gallery__selector__item&quot;&gt;
                    &lt;button
                            class=&quot;gallery__selector__button&quot;
                            aria-expanded=&quot;false&quot;
                            aria-controls=&quot;galleryphonomaritimeimage56&quot;
                            aria-label=&quot;Voir l&#x27;image &amp;quot;Photo d&amp;#x27;archive du spectacle: François Harvey (concepteur sonore) joue de la guitare. Derrière lui sur le mur, une projection vidéo abstraite rouge, blanche et noire.&amp;quot;&quot;
                            type=&quot;button&quot;
                    &gt;
                        &lt;img class=&quot;gallery__selector__image&quot; src=&quot;&amp;#x2F;arts&amp;#x2F;phono-maritime&amp;#x2F;gallery&amp;#x2F;phonographie_60.jpg&quot; alt=&quot;Photo d&amp;#x27;archive du spectacle: François Harvey (concepteur sonore) joue de la guitare. Derrière lui sur le mur, une projection vidéo abstraite rouge, blanche et noire.&quot;&#x2F;&gt;
                    &lt;&#x2F;button&gt;
                &lt;&#x2F;li&gt;
                
                
                &lt;li class=&quot;gallery__selector__item&quot;&gt;
                    &lt;button
                            class=&quot;gallery__selector__button&quot;
                            aria-expanded=&quot;false&quot;
                            aria-controls=&quot;galleryphonomaritimeimage57&quot;
                            aria-label=&quot;Voir l&#x27;image &amp;quot;Photo d&amp;#x27;archive du spectacle: Image noire et blanche. Les performeurs se tient ensemble. Les corps sont collés les uns sur les autres. Derrière eux on aperçoit la tour maritime. En arrière-plan on aperçoit le public assis au sol devant une projection vidéo abstraite sur deux murs.&amp;quot;&quot;
                            type=&quot;button&quot;
                    &gt;
                        &lt;img class=&quot;gallery__selector__image&quot; src=&quot;&amp;#x2F;arts&amp;#x2F;phono-maritime&amp;#x2F;gallery&amp;#x2F;phonographie_61.jpg&quot; alt=&quot;Photo d&amp;#x27;archive du spectacle: Image noire et blanche. Les performeurs se tient ensemble. Les corps sont collés les uns sur les autres. Derrière eux on aperçoit la tour maritime. En arrière-plan on aperçoit le public assis au sol devant une projection vidéo abstraite sur deux murs.&quot;&#x2F;&gt;
                    &lt;&#x2F;button&gt;
                &lt;&#x2F;li&gt;
                
                
                &lt;li class=&quot;gallery__selector__item&quot;&gt;
                    &lt;button
                            class=&quot;gallery__selector__button&quot;
                            aria-expanded=&quot;false&quot;
                            aria-controls=&quot;galleryphonomaritimeimage58&quot;
                            aria-label=&quot;Voir l&#x27;image &amp;quot;Photo d&amp;#x27;archive du spectacle: François Harvey (concepteur sonore) joue de la guitare. Pierre Tremblay-Thériault (performeur&amp;#x2F;artiste) est assis sur une chaise et film François avec un téléphone. Derrière, sur le mur, on voit une projection vidéo abstraite rouge, blanche et noire.&amp;quot;&quot;
                            type=&quot;button&quot;
                    &gt;
                        &lt;img class=&quot;gallery__selector__image&quot; src=&quot;&amp;#x2F;arts&amp;#x2F;phono-maritime&amp;#x2F;gallery&amp;#x2F;phonographie_62.jpg&quot; alt=&quot;Photo d&amp;#x27;archive du spectacle: François Harvey (concepteur sonore) joue de la guitare. Pierre Tremblay-Thériault (performeur&amp;#x2F;artiste) est assis sur une chaise et film François avec un téléphone. Derrière, sur le mur, on voit une projection vidéo abstraite rouge, blanche et noire.&quot;&#x2F;&gt;
                    &lt;&#x2F;button&gt;
                &lt;&#x2F;li&gt;
                
                
                &lt;li class=&quot;gallery__selector__item&quot;&gt;
                    &lt;button
                            class=&quot;gallery__selector__button&quot;
                            aria-expanded=&quot;false&quot;
                            aria-controls=&quot;galleryphonomaritimeimage59&quot;
                            aria-label=&quot;Voir l&#x27;image &amp;quot;Photo d&amp;#x27;archive du spectacle: Andrée-Anne Giguère (actrice&amp;#x2F;concepteur vidéo), Jean-Paul Quéinnec (performeur&amp;#x2F;artiste) et Maria Juliana Vélez (danseuse&amp;#x2F;actrice) sont collés face au mur et touche la surface avec leurs mains. Sur eux et le mur on voit une projection de mots blancs.&amp;quot;&quot;
                            type=&quot;button&quot;
                    &gt;
                        &lt;img class=&quot;gallery__selector__image&quot; src=&quot;&amp;#x2F;arts&amp;#x2F;phono-maritime&amp;#x2F;gallery&amp;#x2F;phonographie_63.jpg&quot; alt=&quot;Photo d&amp;#x27;archive du spectacle: Andrée-Anne Giguère (actrice&amp;#x2F;concepteur vidéo), Jean-Paul Quéinnec (performeur&amp;#x2F;artiste) et Maria Juliana Vélez (danseuse&amp;#x2F;actrice) sont collés face au mur et touche la surface avec leurs mains. Sur eux et le mur on voit une projection de mots blancs.&quot;&#x2F;&gt;
                    &lt;&#x2F;button&gt;
                &lt;&#x2F;li&gt;
                
                
                &lt;li class=&quot;gallery__selector__item&quot;&gt;
                    &lt;button
                            class=&quot;gallery__selector__button&quot;
                            aria-expanded=&quot;false&quot;
                            aria-controls=&quot;galleryphonomaritimeimage60&quot;
                            aria-label=&quot;Voir l&#x27;image &amp;quot;Photo d&amp;#x27;archive du spectacle: Edouard Germain (poète&amp;#x2F;performeur) est dos au mur et collé sur celui-ci. Sur lui et le mur on peut voir une projection de mots blancs.&amp;quot;&quot;
                            type=&quot;button&quot;
                    &gt;
                        &lt;img class=&quot;gallery__selector__image&quot; src=&quot;&amp;#x2F;arts&amp;#x2F;phono-maritime&amp;#x2F;gallery&amp;#x2F;phonographie_64.jpg&quot; alt=&quot;Photo d&amp;#x27;archive du spectacle: Edouard Germain (poète&amp;#x2F;performeur) est dos au mur et collé sur celui-ci. Sur lui et le mur on peut voir une projection de mots blancs.&quot;&#x2F;&gt;
                    &lt;&#x2F;button&gt;
                &lt;&#x2F;li&gt;
                
                
                &lt;li class=&quot;gallery__selector__item&quot;&gt;
                    &lt;button
                            class=&quot;gallery__selector__button&quot;
                            aria-expanded=&quot;false&quot;
                            aria-controls=&quot;galleryphonomaritimeimage61&quot;
                            aria-label=&quot;Voir l&#x27;image &amp;quot;Photo d&amp;#x27;archive du spectacle: On voit en premier plan la silouhette de Pierre Tremblay-Thériault (performeur&amp;#x2F;artiste), Maria Juliana Vélez (danseuse&amp;#x2F;actrice) et la tour maritime. En arrière-plan, les murs sont rouges.&amp;quot;&quot;
                            type=&quot;button&quot;
                    &gt;
                        &lt;img class=&quot;gallery__selector__image&quot; src=&quot;&amp;#x2F;arts&amp;#x2F;phono-maritime&amp;#x2F;gallery&amp;#x2F;phonographie_65.jpg&quot; alt=&quot;Photo d&amp;#x27;archive du spectacle: On voit en premier plan la silouhette de Pierre Tremblay-Thériault (performeur&amp;#x2F;artiste), Maria Juliana Vélez (danseuse&amp;#x2F;actrice) et la tour maritime. En arrière-plan, les murs sont rouges.&quot;&#x2F;&gt;
                    &lt;&#x2F;button&gt;
                &lt;&#x2F;li&gt;
                
                
                &lt;li class=&quot;gallery__selector__item&quot;&gt;
                    &lt;button
                            class=&quot;gallery__selector__button&quot;
                            aria-expanded=&quot;false&quot;
                            aria-controls=&quot;galleryphonomaritimeimage62&quot;
                            aria-label=&quot;Voir l&#x27;image &amp;quot;Photo d&amp;#x27;archive du spectacle: La main de Edouard Germain (poète&amp;#x2F;performeur) touche doucement le mur. Sur la main et le mur on peut voir une projection de mots blancs.&amp;quot;&quot;
                            type=&quot;button&quot;
                    &gt;
                        &lt;img class=&quot;gallery__selector__image&quot; src=&quot;&amp;#x2F;arts&amp;#x2F;phono-maritime&amp;#x2F;gallery&amp;#x2F;phonographie_7.jpg&quot; alt=&quot;Photo d&amp;#x27;archive du spectacle: La main de Edouard Germain (poète&amp;#x2F;performeur) touche doucement le mur. Sur la main et le mur on peut voir une projection de mots blancs.&quot;&#x2F;&gt;
                    &lt;&#x2F;button&gt;
                &lt;&#x2F;li&gt;
                
                
                &lt;li class=&quot;gallery__selector__item&quot;&gt;
                    &lt;button
                            class=&quot;gallery__selector__button&quot;
                            aria-expanded=&quot;false&quot;
                            aria-controls=&quot;galleryphonomaritimeimage63&quot;
                            aria-label=&quot;Voir l&#x27;image &amp;quot;Photo d&amp;#x27;archive du spectacle: On voit la silouhette d&amp;#x27;une femme collé à un mur. Sur elle et le mur on peut voir une projection de mots blancs.&amp;quot;&quot;
                            type=&quot;button&quot;
                    &gt;
                        &lt;img class=&quot;gallery__selector__image&quot; src=&quot;&amp;#x2F;arts&amp;#x2F;phono-maritime&amp;#x2F;gallery&amp;#x2F;phonographie_8.jpg&quot; alt=&quot;Photo d&amp;#x27;archive du spectacle: On voit la silouhette d&amp;#x27;une femme collé à un mur. Sur elle et le mur on peut voir une projection de mots blancs.&quot;&#x2F;&gt;
                    &lt;&#x2F;button&gt;
                &lt;&#x2F;li&gt;
                
                
                &lt;li class=&quot;gallery__selector__item&quot;&gt;
                    &lt;button
                            class=&quot;gallery__selector__button&quot;
                            aria-expanded=&quot;false&quot;
                            aria-controls=&quot;galleryphonomaritimeimage64&quot;
                            aria-label=&quot;Voir l&#x27;image &amp;quot;Photo d&amp;#x27;archive du spectacle: Andrée-Anne Giguère (actrice&amp;#x2F;concepteur vidéo) est le dos collé au mur. Ses bras sont étendus. Sur elle et le mur on peut voir une projection de mots blancs.&amp;quot;&quot;
                            type=&quot;button&quot;
                    &gt;
                        &lt;img class=&quot;gallery__selector__image&quot; src=&quot;&amp;#x2F;arts&amp;#x2F;phono-maritime&amp;#x2F;gallery&amp;#x2F;phonographie_9.jpg&quot; alt=&quot;Photo d&amp;#x27;archive du spectacle: Andrée-Anne Giguère (actrice&amp;#x2F;concepteur vidéo) est le dos collé au mur. Ses bras sont étendus. Sur elle et le mur on peut voir une projection de mots blancs.&quot;&#x2F;&gt;
                    &lt;&#x2F;button&gt;
                &lt;&#x2F;li&gt;
                
    &lt;&#x2F;ul&gt;
&lt;&#x2F;div&gt;
&lt;script&gt;
    &#x2F;&#x2F; Define
    &#x2F;&#x2F; function hideDisplayedImage(galleryId, image)
    if (typeof globalThis.hideDisplayedImage === &quot;undefined&quot;) {
        globalThis.hideDisplayedImage = function(galleryId, image) {
            const fullscreenImageContainer = document.querySelector(&quot;#&quot; + galleryId + &quot; .gallery__viewport&quot;);
            fullscreenImageContainer.classList.remove(&quot;gallery__viewport--display&quot;);
            image.classList.remove(&quot;gallery__viewport__image--display&quot;);
            const selector = &#x27;[aria-controls=&quot;&#x27; + image.getAttribute(&quot;id&quot;) + &#x27;&quot;]&#x27;
            const controlsButton = document.querySelector(selector);
            controlsButton.setAttribute(&quot;aria-expanded&quot;, &quot;false&quot;);
        }
    }

    &#x2F;&#x2F; Define
    &#x2F;&#x2F; function displayImageWithButton(galleryId, button)
    if (typeof globalThis.displayImageWithButton === &quot;undefined&quot;) {
        globalThis.displayImageWithButton = function(galleryId, button) {
            button.focus();
            const fullscreenImageContainer = document.querySelector(&quot;#&quot; + galleryId + &quot; .gallery__viewport&quot;);
            fullscreenImageContainer.classList.add(&quot;gallery__viewport--display&quot;);
            const ariaControlsId = button.getAttribute(&quot;aria-controls&quot;);
            const controlledElement = document.getElementById(ariaControlsId);
            controlledElement.classList.add(&quot;gallery__viewport__image--display&quot;);
            button.setAttribute(&quot;aria-expanded&quot;, &quot;true&quot;);
        }
    }

    &#x2F;&#x2F; Define
    &#x2F;&#x2F; function displayImageWithControlledElement(galleryId, button)
    if (typeof globalThis.displayImageWithControlledElement === &quot;undefined&quot;) {
        globalThis.displayImageWithControlledElement = function(galleryId, controlledElement) {
            const selector = &#x27;[aria-controls=&quot;&#x27; + controlledElement.getAttribute(&quot;id&quot;) + &#x27;&quot;]&#x27;
            const controlsButton = document.querySelector(selector);
            displayImageWithButton(galleryId, controlsButton);
        }
    }

    &#x2F;&#x2F; Define
    &#x2F;&#x2F; function checkSwipeDirection(touchstartX, touchendX)
    if (typeof globalThis.checkSwipeDirection === &quot;undefined&quot;) {
        globalThis.checkSwipeDirection =  function(touchstartX, touchendX) {
            if (touchendX &lt; touchstartX) {
                return &quot;left&quot;;
            } else if (touchendX &gt; touchstartX) {
                return &quot;right&quot;;
            } else {
                return &quot;&quot;;
            }
        }
    }

    &#x2F;&#x2F; Define
    &#x2F;&#x2F; function displayNextImage()
    if (typeof globalThis.displayNextImage === &quot;undefined&quot;) {
        globalThis.displayNextImage = function() {
            const controlledElement = document.getElementsByClassName(&quot;gallery__viewport__image--display&quot;)[0];
            if (controlledElement !== undefined) {
                hideDisplayedImage(&quot;galleryphonomaritime&quot;, controlledElement);

                let newControlledElement = controlledElement.nextElementSibling;
                if (newControlledElement === null) {
                    newControlledElement = controlledElement.parentElement.firstElementChild;
                }

                if (newControlledElement !== null &amp;&amp; newControlledElement !== undefined) {
                    displayImageWithControlledElement(&quot;galleryphonomaritime&quot;, newControlledElement);
                }
            }
        }
    }

    &#x2F;&#x2F; Define
    &#x2F;&#x2F; function displayPreviousImage()
    if (typeof globalThis.displayPreviousImage === &quot;undefined&quot;) {
        globalThis.displayPreviousImage = function () {
            const controlledElement = document.getElementsByClassName(&quot;gallery__viewport__image--display&quot;)[0];
            if (controlledElement !== undefined) {
                hideDisplayedImage(&quot;galleryphonomaritime&quot;, controlledElement);

                let newControlledElement = controlledElement.previousElementSibling;
                if (newControlledElement === null) {
                    newControlledElement = controlledElement.parentElement.lastElementChild;
                }

                if (newControlledElement !== null &amp;&amp; newControlledElement !== undefined) {
                    displayImageWithControlledElement(&quot;galleryphonomaritime&quot;, newControlledElement);
                }
            }
        }
    }

    &#x2F;&#x2F; Init
    &#x2F;&#x2F; Gallery Buttons
    const galleryButtonsgalleryphonomaritime = document.querySelectorAll(&quot;#galleryphonomaritime .gallery__selector__button&quot;);
    for (let i = 0; i &lt; galleryButtonsgalleryphonomaritime.length; i++) {

        &#x2F;&#x2F; Click
        galleryButtonsgalleryphonomaritime[i].addEventListener(&quot;click&quot;, function(event) {
            displayImageWithButton(&quot;galleryphonomaritime&quot;, this);
        });

        &#x2F;&#x2F; Focus In
        galleryButtonsgalleryphonomaritime[i].addEventListener(&#x27;focusin&#x27;, function(event) {
            const previousFocusableItem = event.relatedTarget;
            const displayedImages = document.getElementsByClassName(&quot;gallery__viewport__image--display&quot;);
            if (
                (previousFocusableItem === null || !previousFocusableItem.classList.contains(&quot;gallery__selector__button&quot;))
                &amp;&amp; displayedImages.length &gt; 0
            ) {
                &#x2F;&#x2F; Hide all displayed images
                const displayedImages = document.getElementsByClassName(&quot;gallery__viewport__image--display&quot;);
                if (displayedImages.length &gt; 0) {
                    for (let i = 0; i &lt; displayedImages.length; i++) {
                        hideDisplayedImage(&quot;galleryphonomaritime&quot;, displayedImages[i]);
                    }
                }
                displayImageWithButton(&quot;galleryphonomaritime&quot;, this);
            }
        });

        &#x2F;&#x2F; Focus Out
        galleryButtonsgalleryphonomaritime[i].addEventListener(&#x27;focusout&#x27;, function(event) {
            &#x2F;&#x2F; Prevent focus out actions if it&#x27;s a click on a gallery viewport element.
            const eventOriginClassList = event.explicitOriginalTarget.classList;
            if (
                eventOriginClassList.contains(&quot;gallery__viewport__image&quot;)
                || eventOriginClassList.contains(&quot;gallery__viewport__controls&quot;)
                || eventOriginClassList.contains(&quot;gallery__viewport__controls__nav-button&quot;)
                || eventOriginClassList.contains(&quot;gallery__viewport__controls__nav-close-btn&quot;)
                || eventOriginClassList.contains(&quot;gallery__viewport&quot;)
            ) {
                return;
            }

            &#x2F;&#x2F; Hide all displayed images
            const displayedImages = document.getElementsByClassName(&quot;gallery__viewport__image--display&quot;);
            if (displayedImages.length &gt; 0) {
                for (let i = 0; i &lt; displayedImages.length; i++) {
                    hideDisplayedImage(&quot;galleryphonomaritime&quot;, displayedImages[i]);
                }
                const nextFocusableItem = event.relatedTarget;
                if (nextFocusableItem != null &amp;&amp; nextFocusableItem.classList.contains(&quot;gallery__selector__button&quot;)) {
                    displayImageWithButton(&quot;galleryphonomaritime&quot;, nextFocusableItem);
                }
            }
        });
    }

    &#x2F;&#x2F; Previous Button
    &#x2F;&#x2F; Click
    const previousImageButtongalleryphonomaritime = document.querySelector(&quot;#galleryphonomaritime .gallery__viewport__controls__nav-button--left&quot;);
    previousImageButtongalleryphonomaritime.addEventListener(&#x27;click&#x27;, function(event) {
        displayPreviousImage();
    });

    &#x2F;&#x2F; Next Button
    &#x2F;&#x2F; Click
    const nextImageButtongalleryphonomaritime = document.querySelector(&quot;#galleryphonomaritime .gallery__viewport__controls__nav-button--right&quot;);
    nextImageButtongalleryphonomaritime.addEventListener(&#x27;click&#x27;, function(event) {
        displayNextImage();
    });

    &#x2F;&#x2F; Close Button
    &#x2F;&#x2F; Click
    const closeImageButtongalleryphonomaritime = document.querySelector(&quot;#galleryphonomaritime .gallery__viewport__controls__nav-close-btn&quot;);
    closeImageButtongalleryphonomaritime.addEventListener(&#x27;click&#x27;, function(event) {
        const controlledElement = document.getElementsByClassName(&quot;gallery__viewport__image--display&quot;)[0];
        if (controlledElement !== undefined) {
            hideDisplayedImage(&quot;galleryphonomaritime&quot;, controlledElement);
        }
    });

    &#x2F;&#x2F; Keyboard Controls
    document.addEventListener(&#x27;keydown&#x27;, (event) =&gt; {
        const controlledElement = document.getElementsByClassName(&quot;gallery__viewport__image--display&quot;)[0];
        if (controlledElement !== undefined) {

            &#x2F;&#x2F; Hide image
            &#x2F;&#x2F; ESC, LEFT, RIGHT
            if (event.code === &#x27;Escape&#x27; || event.code === &#x27;ArrowLeft&#x27; || event.code === &#x27;ArrowRight&#x27;) {
                hideDisplayedImage(&quot;galleryphonomaritime&quot;, controlledElement);
            }

            let newControlledElement;

            &#x2F;&#x2F; Select new controlled element(image)
            &#x2F;&#x2F; LEFT
            if (event.code === &#x27;ArrowLeft&#x27;) {
                newControlledElement = controlledElement.previousElementSibling;
                if (newControlledElement === null) {
                    newControlledElement = controlledElement.parentElement.lastElementChild;
                }
            }
            &#x2F;&#x2F; RIGHT
            if (event.code === &#x27;ArrowRight&#x27;) {
                newControlledElement = controlledElement.nextElementSibling;
                if (newControlledElement === null) {
                    newControlledElement = controlledElement.parentElement.firstElementChild;
                }
            }

            &#x2F;&#x2F; Active button and display image
            if (newControlledElement !== null &amp;&amp; newControlledElement !== undefined) {
                displayImageWithControlledElement(&quot;galleryphonomaritime&quot;, newControlledElement);
            }
        }
    })

    &#x2F;&#x2F; Touch Gesture
    let touchstartXgalleryphonomaritime = 0;
    let touchendXgalleryphonomaritime = 0;

    const galleryViewportgalleryphonomaritime = document.getElementsByClassName(&quot;gallery__viewport&quot;)[0];
    if (galleryViewportgalleryphonomaritime !== undefined) {

        galleryViewportgalleryphonomaritime.addEventListener(&#x27;touchstart&#x27;, function(event) {
            touchstartXgalleryphonomaritime = event.changedTouches[0].screenX
        });

        galleryViewportgalleryphonomaritime.addEventListener(&#x27;touchend&#x27;, function(event) {
            touchendXgalleryphonomaritime = event.changedTouches[0].screenX
            const direction = checkSwipeDirection(touchstartXgalleryphonomaritime, touchendXgalleryphonomaritime);
            if (direction === &quot;left&quot;) {
                displayPreviousImage();
            } else if (direction === &quot;right&quot;) {
                displayNextImage();
            }
        });

        galleryViewportgalleryphonomaritime.addEventListner(&#x27;touchmove&#x27;, function(event) {
            event.preventDefault();
            event.stopPropagation();
        });
    }
&lt;&#x2F;script&gt;</content>
        
    </entry>
    <entry xml:lang="fr">
        <title>Phonographie St-Nazaire</title>
        <published>2018-01-01T00:00:00+00:00</published>
        <updated>2018-01-01T00:00:00+00:00</updated>
        
        <author>
          <name>
            
              Pierre Tremblay-Thériault
            
          </name>
        </author>
        
        <link rel="alternate" type="text/html" href="https://lapinchatware.ca/arts/phono-st-nazaire/"/>
        <id>https://lapinchatware.ca/arts/phono-st-nazaire/</id>
        
        <content type="html" xml:base="https://lapinchatware.ca/arts/phono-st-nazaire/">&lt;div id=&quot;galleryphonostnazaire&quot; class=&quot;gallery&quot;&gt;
    
    &lt;div class=&quot;gallery__viewport&quot;&gt;
        &lt;div class=&quot;gallery__viewport__images&quot;&gt;
            
            
                    
                    &lt;img id=&quot;galleryphonostnazaireimage0&quot; class=&quot;gallery__viewport__image&quot; src=&quot;&amp;#x2F;arts&amp;#x2F;phono-st-nazaire&amp;#x2F;gallery&amp;#x2F;autoportrait_1.jpg&quot; alt=&quot;Photo d&amp;#x27;archive de la résidence de création: Autoportrait de Jean-Paul Quéinnec (chercheur) devant un silo dans le port de St-Nazaire en France.&quot;&#x2F;&gt;
                    
                    
                    &lt;img id=&quot;galleryphonostnazaireimage1&quot; class=&quot;gallery__viewport__image&quot; src=&quot;&amp;#x2F;arts&amp;#x2F;phono-st-nazaire&amp;#x2F;gallery&amp;#x2F;autoportrait_2.jpg&quot; alt=&quot;Photo d&amp;#x27;archive de la résidence de création: Portrait de Jocelyn Cottencin (concepteur vidéo et sonore) devant la cheminé d&amp;#x27;un bunker. Dans l&amp;#x27;ouverture de la cheminé un homme habillé de blanc cache sa tête.&quot;&#x2F;&gt;
                    
                    
                    &lt;img id=&quot;galleryphonostnazaireimage2&quot; class=&quot;gallery__viewport__image&quot; src=&quot;&amp;#x2F;arts&amp;#x2F;phono-st-nazaire&amp;#x2F;gallery&amp;#x2F;autoportrait_3.jpg&quot; alt=&quot;Photo d&amp;#x27;archive de la résidence de création: Edouard Germain (performeur et poète) et Christophe Havard (concepteur sonore) performe sur la promenade du port de St-Nazaire. Christophe fait semblant de jouer du violon.&quot;&#x2F;&gt;
                    
                    
                    &lt;img id=&quot;galleryphonostnazaireimage3&quot; class=&quot;gallery__viewport__image&quot; src=&quot;&amp;#x2F;arts&amp;#x2F;phono-st-nazaire&amp;#x2F;gallery&amp;#x2F;autoportrait_4.jpg&quot; alt=&quot;Photo d&amp;#x27;archive de la résidence de création: Edouard Germain (performeur et poète) et Christophe Havard (concepteur sonore) performe sur la promenade du port de St-Nazaire. Christophe fait semblant de jouer du violon.&quot;&#x2F;&gt;
                    
                    
                    &lt;img id=&quot;galleryphonostnazaireimage4&quot; class=&quot;gallery__viewport__image&quot; src=&quot;&amp;#x2F;arts&amp;#x2F;phono-st-nazaire&amp;#x2F;gallery&amp;#x2F;binome_1.jpg&quot; alt=&quot;Photo d&amp;#x27;archive de la résidence de création: Portrait de Gilles Amalvi (poète). La photo est prise depuis l&amp;#x27;intérieur d&amp;#x27;un gigantesque tuyaux industriel en acier.&quot;&#x2F;&gt;
                    
                    
                    &lt;img id=&quot;galleryphonostnazaireimage5&quot; class=&quot;gallery__viewport__image&quot; src=&quot;&amp;#x2F;arts&amp;#x2F;phono-st-nazaire&amp;#x2F;gallery&amp;#x2F;binome_2.jpg&quot; alt=&quot;Photo d&amp;#x27;archive de la résidence de création: Paysage industriel du port de St-Nazaire. Derrière une haute clôture, on peut voir des boués en métal, des montagnes de chaines et des bâtiments industrielles.&quot;&#x2F;&gt;
                    
                    
                    &lt;img id=&quot;galleryphonostnazaireimage6&quot; class=&quot;gallery__viewport__image&quot; src=&quot;&amp;#x2F;arts&amp;#x2F;phono-st-nazaire&amp;#x2F;gallery&amp;#x2F;binome_3.jpg&quot; alt=&quot;Photo d&amp;#x27;archive de la résidence de création: Jocelyn Cottencin (concepteur vidéo et sonore) en train d&amp;#x27;enregister l&amp;#x27;environnement sonore qui l&amp;#x27;entoure. Il regarde au loin, de l&amp;#x27;autre côté d&amp;#x27;une baie, des bâtiments industrielles.&quot;&#x2F;&gt;
                    
                    
                    &lt;img id=&quot;galleryphonostnazaireimage7&quot; class=&quot;gallery__viewport__image&quot; src=&quot;&amp;#x2F;arts&amp;#x2F;phono-st-nazaire&amp;#x2F;gallery&amp;#x2F;binome_4.jpg&quot; alt=&quot;Photo d&amp;#x27;archive de la résidence de création: Paysage industriel du port de St-Nazaire. En premier-plan on observe un petit mur de béton sur lequel est déposé une roche. Derrière, un peu plus loin, un silo industriel dont certaines parties sont rouges.&quot;&#x2F;&gt;
                    
                    
                    &lt;img id=&quot;galleryphonostnazaireimage8&quot; class=&quot;gallery__viewport__image&quot; src=&quot;&amp;#x2F;arts&amp;#x2F;phono-st-nazaire&amp;#x2F;gallery&amp;#x2F;binome_5.jpg&quot; alt=&quot;Photo d&amp;#x27;archive de la résidence de création: Paysage industriel du port de St-Nazaire. Sur la promenade du port de St-Nazaire, lorsque l&amp;#x27;observateur est positionné au bon endroit, ce dernier peut voir une peinture formé de triangles rouges. L&amp;#x27;entiereté de la peinture rouge est appliqué sur les bâtiments industrielles qui forment le paysage au loin de la promenade.&quot;&#x2F;&gt;
                    
                    
                    &lt;img id=&quot;galleryphonostnazaireimage9&quot; class=&quot;gallery__viewport__image&quot; src=&quot;&amp;#x2F;arts&amp;#x2F;phono-st-nazaire&amp;#x2F;gallery&amp;#x2F;binome_6.jpg&quot; alt=&quot;Photo d&amp;#x27;archive de la résidence de création: Paysage industriel du port de St-Nazaire. Sur la promenade du port de St-Nazaire, lorsque l&amp;#x27;observateur est positionné au bon endroit, ce dernier peut voir une peinture formé de triangles rouges. L&amp;#x27;entiereté de la peinture rouge est appliqué sur les bâtiments industrielles qui forment le paysage au loin de la promenade.&quot;&#x2F;&gt;
                    
                    
                    &lt;img id=&quot;galleryphonostnazaireimage10&quot; class=&quot;gallery__viewport__image&quot; src=&quot;&amp;#x2F;arts&amp;#x2F;phono-st-nazaire&amp;#x2F;gallery&amp;#x2F;CorpsPontLevant_1.jpg&quot; alt=&quot;Photo d&amp;#x27;archive de performance: Christophe Havard (concepteur sonore), Jean-Paul Quéinnec (chercheur), Matthieu Doze (acteur et performeur), Edouard Germain (performeur et poète), Karine Ledoyen (danseuse), François Harvey (concepteur sonore) et Emmanuelle Huynh (danseuse) soulève Jocelyn Cottencin (concepteur vidéo et sonore) dans les airs.&quot;&#x2F;&gt;
                    
                    
                    &lt;img id=&quot;galleryphonostnazaireimage11&quot; class=&quot;gallery__viewport__image&quot; src=&quot;&amp;#x2F;arts&amp;#x2F;phono-st-nazaire&amp;#x2F;gallery&amp;#x2F;CorpsPontLevant_2.jpg&quot; alt=&quot;Photo d&amp;#x27;archive de performance: Christophe Havard (concepteur sonore), Jean-Paul Quéinnec (chercheur), Matthieu Doze (acteur et performeur), Edouard Germain (performeur et poète), Karine Ledoyen (danseuse), François Harvey (concepteur sonore) et Jocelyn Cottencin (concepteur vidéo et sonore) soulève Emmanuelle Huynh (danseuse) dans les airs.&quot;&#x2F;&gt;
                    
                    
                    &lt;img id=&quot;galleryphonostnazaireimage12&quot; class=&quot;gallery__viewport__image&quot; src=&quot;&amp;#x2F;arts&amp;#x2F;phono-st-nazaire&amp;#x2F;gallery&amp;#x2F;debut_1.jpg&quot; alt=&quot;Photo d&amp;#x27;archive de la résidence de création: Edouard Germain (performeur et poète), Karine Ledoyen (danseuse), François Harvey (concepteur sonore), Emmanuelle Huynh (danseuse) et Pierre Tremblay-Thériault (concepteur numérique et artiste) regarde le paysage industriel du port de St-Nazaire depuis le haut de la galerie de leur résidence.&quot;&#x2F;&gt;
                    
                    
                    &lt;img id=&quot;galleryphonostnazaireimage13&quot; class=&quot;gallery__viewport__image&quot; src=&quot;&amp;#x2F;arts&amp;#x2F;phono-st-nazaire&amp;#x2F;gallery&amp;#x2F;debut_2.jpg&quot; alt=&quot;Photo d&amp;#x27;archive de la résidence de création: Paysage industriel du port de St-Nazaire depuis le haut de la galerie de leur résidence.&quot;&#x2F;&gt;
                    
                    
                    &lt;img id=&quot;galleryphonostnazaireimage14&quot; class=&quot;gallery__viewport__image&quot; src=&quot;&amp;#x2F;arts&amp;#x2F;phono-st-nazaire&amp;#x2F;gallery&amp;#x2F;debut_3.jpg&quot; alt=&quot;Photo d&amp;#x27;archive de la résidence de création: Paysage industriel du port de St-Nazaire depuis le haut de la galerie de leur résidence.&quot;&#x2F;&gt;
                    
                    
                    &lt;img id=&quot;galleryphonostnazaireimage15&quot; class=&quot;gallery__viewport__image&quot; src=&quot;&amp;#x2F;arts&amp;#x2F;phono-st-nazaire&amp;#x2F;gallery&amp;#x2F;debut_4.jpg&quot; alt=&quot;Photo d&amp;#x27;archive de la résidence de création: Paysage industriel du port de St-Nazaire, plus précisément une vue du pont levant, depuis le haut de la galerie de leur résidence.&quot;&#x2F;&gt;
                    
                    
                    &lt;img id=&quot;galleryphonostnazaireimage16&quot; class=&quot;gallery__viewport__image&quot; src=&quot;&amp;#x2F;arts&amp;#x2F;phono-st-nazaire&amp;#x2F;gallery&amp;#x2F;debut_5.jpg&quot; alt=&quot;Photo d&amp;#x27;archive de la résidence de création: Paysage industriel du port de St-Nazaire, plus précisément une vue de l&amp;#x27;arrière du pont levant, depuis le sol. Sur le pont levant est écrit &amp;quot;Vaguer la nuit dans des lumières narratives&amp;quot;&quot;&#x2F;&gt;
                    
                    
                    &lt;img id=&quot;galleryphonostnazaireimage17&quot; class=&quot;gallery__viewport__image&quot; src=&quot;&amp;#x2F;arts&amp;#x2F;phono-st-nazaire&amp;#x2F;gallery&amp;#x2F;debut_6.jpg&quot; alt=&quot;Photo d&amp;#x27;archive de la résidence de création: Paysage industriel du port de St-Nazaire, plus précisément une vue d&amp;#x27;un bâteau attendant son tour dans une écluse.&quot;&#x2F;&gt;
                    
                    
                    &lt;img id=&quot;galleryphonostnazaireimage18&quot; class=&quot;gallery__viewport__image&quot; src=&quot;&amp;#x2F;arts&amp;#x2F;phono-st-nazaire&amp;#x2F;gallery&amp;#x2F;karine_1.jpg&quot; alt=&quot;Photo d&amp;#x27;archive de la résidence de création: Paysage industriel du port de St-Nazaire, plus précisément une vue d&amp;#x27;un pont traversant la rivière.&quot;&#x2F;&gt;
                    
                    
                    &lt;img id=&quot;galleryphonostnazaireimage19&quot; class=&quot;gallery__viewport__image&quot; src=&quot;&amp;#x2F;arts&amp;#x2F;phono-st-nazaire&amp;#x2F;gallery&amp;#x2F;karine_10.jpg&quot; alt=&quot;Photo d&amp;#x27;archive de la résidence de création: Paysage industriel du port de St-Nazaire, plus précisément une vue d&amp;#x27;un pont traversant la rivière.&quot;&#x2F;&gt;
                    
                    
                    &lt;img id=&quot;galleryphonostnazaireimage20&quot; class=&quot;gallery__viewport__image&quot; src=&quot;&amp;#x2F;arts&amp;#x2F;phono-st-nazaire&amp;#x2F;gallery&amp;#x2F;karine_11.jpg&quot; alt=&quot;Photo d&amp;#x27;archive de la résidence de création: Paysage industriel du port de St-Nazaire, plus précisément une vue d&amp;#x27;un chantier naval fabricant un bâteau de croisière.&quot;&#x2F;&gt;
                    
                    
                    &lt;img id=&quot;galleryphonostnazaireimage21&quot; class=&quot;gallery__viewport__image&quot; src=&quot;&amp;#x2F;arts&amp;#x2F;phono-st-nazaire&amp;#x2F;gallery&amp;#x2F;karine_2.jpg&quot; alt=&quot;Photo d&amp;#x27;archive de la résidence de création: Paysage industriel du port de St-Nazaire, plus précisément une vue d&amp;#x27;une gigantesque grue de chantier naval.&quot;&#x2F;&gt;
                    
                    
                    &lt;img id=&quot;galleryphonostnazaireimage22&quot; class=&quot;gallery__viewport__image&quot; src=&quot;&amp;#x2F;arts&amp;#x2F;phono-st-nazaire&amp;#x2F;gallery&amp;#x2F;karine_3.jpg&quot; alt=&quot;Photo d&amp;#x27;archive de la résidence de création: Paysage industriel du port de St-Nazaire, plus précisément une vue d&amp;#x27;une gigantesque grue de chantier naval depuis une plage.&quot;&#x2F;&gt;
                    
                    
                    &lt;img id=&quot;galleryphonostnazaireimage23&quot; class=&quot;gallery__viewport__image&quot; src=&quot;&amp;#x2F;arts&amp;#x2F;phono-st-nazaire&amp;#x2F;gallery&amp;#x2F;karine_4.jpg&quot; alt=&quot;Photo d&amp;#x27;archive de la résidence de création: Paysage industriel du port de St-Nazaire, plus précisément une vue d&amp;#x27;une gigantesque grue de chantier naval depuis une plage.&quot;&#x2F;&gt;
                    
                    
                    &lt;img id=&quot;galleryphonostnazaireimage24&quot; class=&quot;gallery__viewport__image&quot; src=&quot;&amp;#x2F;arts&amp;#x2F;phono-st-nazaire&amp;#x2F;gallery&amp;#x2F;karine_5.jpg&quot; alt=&quot;Photo d&amp;#x27;archive de la résidence de création: Paysage industriel du port de St-Nazaire, plus précisément une vue du dessous d&amp;#x27;un viaduc depuis une plage.&quot;&#x2F;&gt;
                    
                    
                    &lt;img id=&quot;galleryphonostnazaireimage25&quot; class=&quot;gallery__viewport__image&quot; src=&quot;&amp;#x2F;arts&amp;#x2F;phono-st-nazaire&amp;#x2F;gallery&amp;#x2F;karine_6.jpg&quot; alt=&quot;Photo d&amp;#x27;archive de la résidence de création: Paysage industriel du port de St-Nazaire, plus précisément une vue du dessous d&amp;#x27;un viaduc depuis une plage.&quot;&#x2F;&gt;
                    
                    
                    &lt;img id=&quot;galleryphonostnazaireimage26&quot; class=&quot;gallery__viewport__image&quot; src=&quot;&amp;#x2F;arts&amp;#x2F;phono-st-nazaire&amp;#x2F;gallery&amp;#x2F;karine_7.jpg&quot; alt=&quot;Photo d&amp;#x27;archive de la résidence de création: Couloir extérieur d&amp;#x27;un bunker datant de la deuxième guerre mondiale.&quot;&#x2F;&gt;
                    
                    
                    &lt;img id=&quot;galleryphonostnazaireimage27&quot; class=&quot;gallery__viewport__image&quot; src=&quot;&amp;#x2F;arts&amp;#x2F;phono-st-nazaire&amp;#x2F;gallery&amp;#x2F;karine_8.jpg&quot; alt=&quot;Photo d&amp;#x27;archive de la résidence de création: Couloir extérieur d&amp;#x27;un bunker datant de la deuxième guerre mondiale.&quot;&#x2F;&gt;
                    
                    
                    &lt;img id=&quot;galleryphonostnazaireimage28&quot; class=&quot;gallery__viewport__image&quot; src=&quot;&amp;#x2F;arts&amp;#x2F;phono-st-nazaire&amp;#x2F;gallery&amp;#x2F;karine_9.jpg&quot; alt=&quot;Photo d&amp;#x27;archive de la résidence de création: Arbre ayant été planté et poussant dans les couloirs d&amp;#x27;un bunker datant de la deuxième guerre mondiale.&quot;&#x2F;&gt;
                    
                    
                    &lt;img id=&quot;galleryphonostnazaireimage29&quot; class=&quot;gallery__viewport__image&quot; src=&quot;&amp;#x2F;arts&amp;#x2F;phono-st-nazaire&amp;#x2F;gallery&amp;#x2F;playback_1.jpg&quot; alt=&quot;Photo d&amp;#x27;archive de la résidence de création: Sur la promenade d&amp;#x27;un bunker dans le port de St-Nazaire, Matthieu Doze (acteur et performeur) est penché au dessus d&amp;#x27;une clotûre jaune. Au loin, on peut voir la mer.&quot;&#x2F;&gt;
                    
                    
                    &lt;img id=&quot;galleryphonostnazaireimage30&quot; class=&quot;gallery__viewport__image&quot; src=&quot;&amp;#x2F;arts&amp;#x2F;phono-st-nazaire&amp;#x2F;gallery&amp;#x2F;playback_2.jpg&quot; alt=&quot;Photo d&amp;#x27;archive de la résidence de création: Matthieu Doze (acteur et performeur), Jean-Paul Quéinnec (chercheur) et Edouard Germain (performeur et poète) performe sur la promenande d&amp;#x27;un bunker. Jean-Paul, un micro à la main, soutenu par Édouard tente d&amp;#x27;escalader Mathieu.&quot;&#x2F;&gt;
                    
                    
                    &lt;img id=&quot;galleryphonostnazaireimage31&quot; class=&quot;gallery__viewport__image&quot; src=&quot;&amp;#x2F;arts&amp;#x2F;phono-st-nazaire&amp;#x2F;gallery&amp;#x2F;playback_3.jpg&quot; alt=&quot;Photo d&amp;#x27;archive de la résidence de création: Matthieu Doze (acteur et performeur), Jean-Paul Quéinnec (chercheur) et Edouard Germain (performeur et poète) performe sur la promenande d&amp;#x27;un bunker. Jean-Paul, un micro à la main, soutenu par Édouard tente d&amp;#x27;escalader Mathieu.&quot;&#x2F;&gt;
                    
                    
                    &lt;img id=&quot;galleryphonostnazaireimage32&quot; class=&quot;gallery__viewport__image&quot; src=&quot;&amp;#x2F;arts&amp;#x2F;phono-st-nazaire&amp;#x2F;gallery&amp;#x2F;pontlevant_3am.jpg&quot; alt=&quot;Photo d&amp;#x27;archive de la résidence de création: Pont levant en position levée la nuit.&quot;&#x2F;&gt;
                    
                    
                    &lt;img id=&quot;galleryphonostnazaireimage33&quot; class=&quot;gallery__viewport__image&quot; src=&quot;&amp;#x2F;arts&amp;#x2F;phono-st-nazaire&amp;#x2F;gallery&amp;#x2F;preparation_performance_1.jpg&quot; alt=&quot;Photo d&amp;#x27;archive de la résidence de création: Gilles Amalvi (poète) joue de la guitare sur la plage près d&amp;#x27;un mur de pierres. Il est accompagné par Christophe Havard (concepteur sonore) et Jocelyn Cottencin (concepteur vidéo et sonore).&quot;&#x2F;&gt;
                    
                    
                    &lt;img id=&quot;galleryphonostnazaireimage34&quot; class=&quot;gallery__viewport__image&quot; src=&quot;&amp;#x2F;arts&amp;#x2F;phono-st-nazaire&amp;#x2F;gallery&amp;#x2F;preparation_performance_2.jpg&quot; alt=&quot;Photo d&amp;#x27;archive de la résidence de création: Gilles Amalvi (poète) joue de la guitare sur la plage près d&amp;#x27;un mur de pierres. Il est accompagné par Christophe Havard (concepteur sonore) et Jocelyn Cottencin (concepteur vidéo et sonore).&quot;&#x2F;&gt;
                    
                    
                    &lt;img id=&quot;galleryphonostnazaireimage35&quot; class=&quot;gallery__viewport__image&quot; src=&quot;&amp;#x2F;arts&amp;#x2F;phono-st-nazaire&amp;#x2F;gallery&amp;#x2F;principenazarien_1.jpg&quot; alt=&quot;Photo d&amp;#x27;archive de la résidence de création: Jean-Paul Quéinnec (chercheur), Matthieu Doze (acteur et performeur), Edouard Germain (performeur et poète), Emmanuelle Huynh (danseuse), Jocelyn Cottencin, Gilles Amalvi (poète) et Andrée-Anne Giguère (actrice&amp;#x2F;concepteur vidéo) regarde pensivement le paysage industriel des chantiers navales.&quot;&#x2F;&gt;
                    
                    
                    &lt;img id=&quot;galleryphonostnazaireimage36&quot; class=&quot;gallery__viewport__image&quot; src=&quot;&amp;#x2F;arts&amp;#x2F;phono-st-nazaire&amp;#x2F;gallery&amp;#x2F;principenazarien_2.jpg&quot; alt=&quot;Photo d&amp;#x27;archive de la résidence de création: Matthieu Doze (acteur et performeur), Jocelyn Cottencin, Gilles Amalvi (poète) et Andrée-Anne Giguère (actrice&amp;#x2F;concepteur vidéo) regarde pensivement le paysage industriel des chantiers navales.&quot;&#x2F;&gt;
                    
                    
                    &lt;img id=&quot;galleryphonostnazaireimage37&quot; class=&quot;gallery__viewport__image&quot; src=&quot;&amp;#x2F;arts&amp;#x2F;phono-st-nazaire&amp;#x2F;gallery&amp;#x2F;principenazarien_3.jpg&quot; alt=&quot;Photo d&amp;#x27;archive de la résidence de création: Tout l&amp;#x27;équipe marchant dans un champs près des viaducs voisins des chantiers navales.&quot;&#x2F;&gt;
                    
                    
                    &lt;img id=&quot;galleryphonostnazaireimage38&quot; class=&quot;gallery__viewport__image&quot; src=&quot;&amp;#x2F;arts&amp;#x2F;phono-st-nazaire&amp;#x2F;gallery&amp;#x2F;principenazarien_4.jpg&quot; alt=&quot;Photo d&amp;#x27;archive de la résidence de création: Paysage industriel du port de St-Nazaire vue du champs près des viaducs voisins des chantiers navales.&quot;&#x2F;&gt;
                    
                    
                    &lt;img id=&quot;galleryphonostnazaireimage39&quot; class=&quot;gallery__viewport__image&quot; src=&quot;&amp;#x2F;arts&amp;#x2F;phono-st-nazaire&amp;#x2F;gallery&amp;#x2F;principenazarien_5.jpg&quot; alt=&quot;Photo d&amp;#x27;archive de la résidence de création: Autoportrait de Emmanuelle Huynh (danseuse) devant un plan des bunker dessiner sur un mur de béton.&quot;&#x2F;&gt;
                    
                    
                    &lt;img id=&quot;galleryphonostnazaireimage40&quot; class=&quot;gallery__viewport__image&quot; src=&quot;&amp;#x2F;arts&amp;#x2F;phono-st-nazaire&amp;#x2F;gallery&amp;#x2F;principenazarien_6.jpg&quot; alt=&quot;Photo d&amp;#x27;archive de la résidence de création: Photo artistique montrant des ombres de gens.&quot;&#x2F;&gt;
                    
                    
                    &lt;img id=&quot;galleryphonostnazaireimage41&quot; class=&quot;gallery__viewport__image&quot; src=&quot;&amp;#x2F;arts&amp;#x2F;phono-st-nazaire&amp;#x2F;gallery&amp;#x2F;RV_abeille_1.jpg&quot; alt=&quot;Photo d&amp;#x27;archive de la résidence de création: Pierre Tremblay-Thériault (concepteur numérique et artiste) présente au public au centre &amp;quot;Les abeilles&amp;quot; une expérience en réalité virtuelle.&quot;&#x2F;&gt;
                    
                    
                    &lt;img id=&quot;galleryphonostnazaireimage42&quot; class=&quot;gallery__viewport__image&quot; src=&quot;&amp;#x2F;arts&amp;#x2F;phono-st-nazaire&amp;#x2F;gallery&amp;#x2F;RV_abeille_2.jpg&quot; alt=&quot;Photo d&amp;#x27;archive de la résidence de création: Enfant au centre &amp;quot;Les abeilles&amp;quot; vivant une expérience en réalité virtuelle.&quot;&#x2F;&gt;
                    
                    
                    &lt;img id=&quot;galleryphonostnazaireimage43&quot; class=&quot;gallery__viewport__image&quot; src=&quot;&amp;#x2F;arts&amp;#x2F;phono-st-nazaire&amp;#x2F;gallery&amp;#x2F;RV_abeille_3.jpg&quot; alt=&quot;Photo d&amp;#x27;archive de la résidence de création: Monsieur au centre &amp;quot;Les abeilles&amp;quot; vivant une expérience en réalité virtuelle.&quot;&#x2F;&gt;
                    
                    
                    &lt;img id=&quot;galleryphonostnazaireimage44&quot; class=&quot;gallery__viewport__image&quot; src=&quot;&amp;#x2F;arts&amp;#x2F;phono-st-nazaire&amp;#x2F;gallery&amp;#x2F;RV_abeille_4.jpg&quot; alt=&quot;Photo d&amp;#x27;archive de la résidence de création: Pierre Tremblay-Thériault (concepteur numérique et artiste) accompagne un monsieur au centre &amp;quot;Les abeilles&amp;quot; vivant une expérience en réalité virtuelle.&quot;&#x2F;&gt;
                    
                    
                    &lt;img id=&quot;galleryphonostnazaireimage45&quot; class=&quot;gallery__viewport__image&quot; src=&quot;&amp;#x2F;arts&amp;#x2F;phono-st-nazaire&amp;#x2F;gallery&amp;#x2F;RV_abeille_5.jpg&quot; alt=&quot;Photo d&amp;#x27;archive de la résidence de création: Pierre Tremblay-Thériault (concepteur numérique et artiste) accompagne un monsieur au centre &amp;quot;Les abeilles&amp;quot; vivant une expérience en réalité virtuelle.&quot;&#x2F;&gt;
                    
                    
                    &lt;img id=&quot;galleryphonostnazaireimage46&quot; class=&quot;gallery__viewport__image&quot; src=&quot;&amp;#x2F;arts&amp;#x2F;phono-st-nazaire&amp;#x2F;gallery&amp;#x2F;RV_abeille_6.jpg&quot; alt=&quot;Photo d&amp;#x27;archive de la résidence de création: Pierre Tremblay-Thériault (concepteur numérique et artiste) accompagne une enfant et sa famille au centre &amp;quot;Les abeilles&amp;quot; vivant une expérience en réalité virtuelle.&quot;&#x2F;&gt;
                    
                    
                    &lt;img id=&quot;galleryphonostnazaireimage47&quot; class=&quot;gallery__viewport__image&quot; src=&quot;&amp;#x2F;arts&amp;#x2F;phono-st-nazaire&amp;#x2F;gallery&amp;#x2F;RV_abeille_7.jpg&quot; alt=&quot;Photo d&amp;#x27;archive de la résidence de création: Pierre Tremblay-Thériault (concepteur numérique et artiste) accompagne un monsieur au centre &amp;quot;Les abeilles&amp;quot; vivant une expérience en réalité virtuelle.&quot;&#x2F;&gt;
                    
                    
                    &lt;img id=&quot;galleryphonostnazaireimage48&quot; class=&quot;gallery__viewport__image&quot; src=&quot;&amp;#x2F;arts&amp;#x2F;phono-st-nazaire&amp;#x2F;gallery&amp;#x2F;RV_abeille_8.jpg&quot; alt=&quot;Photo d&amp;#x27;archive de la résidence de création: Monsieur au centre &amp;quot;Les abeilles&amp;quot; vivant une expérience en réalité virtuelle.&quot;&#x2F;&gt;
                    
        &lt;&#x2F;div&gt;
        &lt;div class=&quot;gallery__viewport__controls&quot;&gt;
            &lt;img class=&quot;gallery__viewport__controls__nav-button gallery__viewport__controls__nav-button--left&quot; src=&quot;&#x2F;images&#x2F;angle-left.svg&quot; alt=&quot;Voir l&#x27;image précédente.&quot; aria-hidden=&quot;true&quot;&#x2F;&gt;
            &lt;img class=&quot;gallery__viewport__controls__nav-button gallery__viewport__controls__nav-button--right&quot; src=&quot;&#x2F;images&#x2F;angle-right.svg&quot; alt=&quot;Voir l&#x27;image suivante.&quot; aria-hidden=&quot;true&quot;&#x2F;&gt;
            &lt;img class=&quot;gallery__viewport__controls__nav-close-btn&quot; src=&quot;&#x2F;images&#x2F;close-icon.svg&quot; alt=&quot;Fermer la gallery&quot;&#x2F;&gt;
        &lt;&#x2F;div&gt;
    &lt;&#x2F;div&gt;
    &lt;ul class=&quot;gallery__selector&quot;&gt;
        
        
                
                &lt;li class=&quot;gallery__selector__item&quot;&gt;
                    &lt;button
                            class=&quot;gallery__selector__button&quot;
                            aria-expanded=&quot;false&quot;
                            aria-controls=&quot;galleryphonostnazaireimage0&quot;
                            aria-label=&quot;Voir l&#x27;image &amp;quot;Photo d&amp;#x27;archive de la résidence de création: Autoportrait de Jean-Paul Quéinnec (chercheur) devant un silo dans le port de St-Nazaire en France.&amp;quot;&quot;
                            type=&quot;button&quot;
                    &gt;
                        &lt;img class=&quot;gallery__selector__image&quot; src=&quot;&amp;#x2F;arts&amp;#x2F;phono-st-nazaire&amp;#x2F;gallery&amp;#x2F;autoportrait_1.jpg&quot; alt=&quot;Photo d&amp;#x27;archive de la résidence de création: Autoportrait de Jean-Paul Quéinnec (chercheur) devant un silo dans le port de St-Nazaire en France.&quot;&#x2F;&gt;
                    &lt;&#x2F;button&gt;
                &lt;&#x2F;li&gt;
                
                
                &lt;li class=&quot;gallery__selector__item&quot;&gt;
                    &lt;button
                            class=&quot;gallery__selector__button&quot;
                            aria-expanded=&quot;false&quot;
                            aria-controls=&quot;galleryphonostnazaireimage1&quot;
                            aria-label=&quot;Voir l&#x27;image &amp;quot;Photo d&amp;#x27;archive de la résidence de création: Portrait de Jocelyn Cottencin (concepteur vidéo et sonore) devant la cheminé d&amp;#x27;un bunker. Dans l&amp;#x27;ouverture de la cheminé un homme habillé de blanc cache sa tête.&amp;quot;&quot;
                            type=&quot;button&quot;
                    &gt;
                        &lt;img class=&quot;gallery__selector__image&quot; src=&quot;&amp;#x2F;arts&amp;#x2F;phono-st-nazaire&amp;#x2F;gallery&amp;#x2F;autoportrait_2.jpg&quot; alt=&quot;Photo d&amp;#x27;archive de la résidence de création: Portrait de Jocelyn Cottencin (concepteur vidéo et sonore) devant la cheminé d&amp;#x27;un bunker. Dans l&amp;#x27;ouverture de la cheminé un homme habillé de blanc cache sa tête.&quot;&#x2F;&gt;
                    &lt;&#x2F;button&gt;
                &lt;&#x2F;li&gt;
                
                
                &lt;li class=&quot;gallery__selector__item&quot;&gt;
                    &lt;button
                            class=&quot;gallery__selector__button&quot;
                            aria-expanded=&quot;false&quot;
                            aria-controls=&quot;galleryphonostnazaireimage2&quot;
                            aria-label=&quot;Voir l&#x27;image &amp;quot;Photo d&amp;#x27;archive de la résidence de création: Edouard Germain (performeur et poète) et Christophe Havard (concepteur sonore) performe sur la promenade du port de St-Nazaire. Christophe fait semblant de jouer du violon.&amp;quot;&quot;
                            type=&quot;button&quot;
                    &gt;
                        &lt;img class=&quot;gallery__selector__image&quot; src=&quot;&amp;#x2F;arts&amp;#x2F;phono-st-nazaire&amp;#x2F;gallery&amp;#x2F;autoportrait_3.jpg&quot; alt=&quot;Photo d&amp;#x27;archive de la résidence de création: Edouard Germain (performeur et poète) et Christophe Havard (concepteur sonore) performe sur la promenade du port de St-Nazaire. Christophe fait semblant de jouer du violon.&quot;&#x2F;&gt;
                    &lt;&#x2F;button&gt;
                &lt;&#x2F;li&gt;
                
                
                &lt;li class=&quot;gallery__selector__item&quot;&gt;
                    &lt;button
                            class=&quot;gallery__selector__button&quot;
                            aria-expanded=&quot;false&quot;
                            aria-controls=&quot;galleryphonostnazaireimage3&quot;
                            aria-label=&quot;Voir l&#x27;image &amp;quot;Photo d&amp;#x27;archive de la résidence de création: Edouard Germain (performeur et poète) et Christophe Havard (concepteur sonore) performe sur la promenade du port de St-Nazaire. Christophe fait semblant de jouer du violon.&amp;quot;&quot;
                            type=&quot;button&quot;
                    &gt;
                        &lt;img class=&quot;gallery__selector__image&quot; src=&quot;&amp;#x2F;arts&amp;#x2F;phono-st-nazaire&amp;#x2F;gallery&amp;#x2F;autoportrait_4.jpg&quot; alt=&quot;Photo d&amp;#x27;archive de la résidence de création: Edouard Germain (performeur et poète) et Christophe Havard (concepteur sonore) performe sur la promenade du port de St-Nazaire. Christophe fait semblant de jouer du violon.&quot;&#x2F;&gt;
                    &lt;&#x2F;button&gt;
                &lt;&#x2F;li&gt;
                
                
                &lt;li class=&quot;gallery__selector__item&quot;&gt;
                    &lt;button
                            class=&quot;gallery__selector__button&quot;
                            aria-expanded=&quot;false&quot;
                            aria-controls=&quot;galleryphonostnazaireimage4&quot;
                            aria-label=&quot;Voir l&#x27;image &amp;quot;Photo d&amp;#x27;archive de la résidence de création: Portrait de Gilles Amalvi (poète). La photo est prise depuis l&amp;#x27;intérieur d&amp;#x27;un gigantesque tuyaux industriel en acier.&amp;quot;&quot;
                            type=&quot;button&quot;
                    &gt;
                        &lt;img class=&quot;gallery__selector__image&quot; src=&quot;&amp;#x2F;arts&amp;#x2F;phono-st-nazaire&amp;#x2F;gallery&amp;#x2F;binome_1.jpg&quot; alt=&quot;Photo d&amp;#x27;archive de la résidence de création: Portrait de Gilles Amalvi (poète). La photo est prise depuis l&amp;#x27;intérieur d&amp;#x27;un gigantesque tuyaux industriel en acier.&quot;&#x2F;&gt;
                    &lt;&#x2F;button&gt;
                &lt;&#x2F;li&gt;
                
                
                &lt;li class=&quot;gallery__selector__item&quot;&gt;
                    &lt;button
                            class=&quot;gallery__selector__button&quot;
                            aria-expanded=&quot;false&quot;
                            aria-controls=&quot;galleryphonostnazaireimage5&quot;
                            aria-label=&quot;Voir l&#x27;image &amp;quot;Photo d&amp;#x27;archive de la résidence de création: Paysage industriel du port de St-Nazaire. Derrière une haute clôture, on peut voir des boués en métal, des montagnes de chaines et des bâtiments industrielles.&amp;quot;&quot;
                            type=&quot;button&quot;
                    &gt;
                        &lt;img class=&quot;gallery__selector__image&quot; src=&quot;&amp;#x2F;arts&amp;#x2F;phono-st-nazaire&amp;#x2F;gallery&amp;#x2F;binome_2.jpg&quot; alt=&quot;Photo d&amp;#x27;archive de la résidence de création: Paysage industriel du port de St-Nazaire. Derrière une haute clôture, on peut voir des boués en métal, des montagnes de chaines et des bâtiments industrielles.&quot;&#x2F;&gt;
                    &lt;&#x2F;button&gt;
                &lt;&#x2F;li&gt;
                
                
                &lt;li class=&quot;gallery__selector__item&quot;&gt;
                    &lt;button
                            class=&quot;gallery__selector__button&quot;
                            aria-expanded=&quot;false&quot;
                            aria-controls=&quot;galleryphonostnazaireimage6&quot;
                            aria-label=&quot;Voir l&#x27;image &amp;quot;Photo d&amp;#x27;archive de la résidence de création: Jocelyn Cottencin (concepteur vidéo et sonore) en train d&amp;#x27;enregister l&amp;#x27;environnement sonore qui l&amp;#x27;entoure. Il regarde au loin, de l&amp;#x27;autre côté d&amp;#x27;une baie, des bâtiments industrielles.&amp;quot;&quot;
                            type=&quot;button&quot;
                    &gt;
                        &lt;img class=&quot;gallery__selector__image&quot; src=&quot;&amp;#x2F;arts&amp;#x2F;phono-st-nazaire&amp;#x2F;gallery&amp;#x2F;binome_3.jpg&quot; alt=&quot;Photo d&amp;#x27;archive de la résidence de création: Jocelyn Cottencin (concepteur vidéo et sonore) en train d&amp;#x27;enregister l&amp;#x27;environnement sonore qui l&amp;#x27;entoure. Il regarde au loin, de l&amp;#x27;autre côté d&amp;#x27;une baie, des bâtiments industrielles.&quot;&#x2F;&gt;
                    &lt;&#x2F;button&gt;
                &lt;&#x2F;li&gt;
                
                
                &lt;li class=&quot;gallery__selector__item&quot;&gt;
                    &lt;button
                            class=&quot;gallery__selector__button&quot;
                            aria-expanded=&quot;false&quot;
                            aria-controls=&quot;galleryphonostnazaireimage7&quot;
                            aria-label=&quot;Voir l&#x27;image &amp;quot;Photo d&amp;#x27;archive de la résidence de création: Paysage industriel du port de St-Nazaire. En premier-plan on observe un petit mur de béton sur lequel est déposé une roche. Derrière, un peu plus loin, un silo industriel dont certaines parties sont rouges.&amp;quot;&quot;
                            type=&quot;button&quot;
                    &gt;
                        &lt;img class=&quot;gallery__selector__image&quot; src=&quot;&amp;#x2F;arts&amp;#x2F;phono-st-nazaire&amp;#x2F;gallery&amp;#x2F;binome_4.jpg&quot; alt=&quot;Photo d&amp;#x27;archive de la résidence de création: Paysage industriel du port de St-Nazaire. En premier-plan on observe un petit mur de béton sur lequel est déposé une roche. Derrière, un peu plus loin, un silo industriel dont certaines parties sont rouges.&quot;&#x2F;&gt;
                    &lt;&#x2F;button&gt;
                &lt;&#x2F;li&gt;
                
                
                &lt;li class=&quot;gallery__selector__item&quot;&gt;
                    &lt;button
                            class=&quot;gallery__selector__button&quot;
                            aria-expanded=&quot;false&quot;
                            aria-controls=&quot;galleryphonostnazaireimage8&quot;
                            aria-label=&quot;Voir l&#x27;image &amp;quot;Photo d&amp;#x27;archive de la résidence de création: Paysage industriel du port de St-Nazaire. Sur la promenade du port de St-Nazaire, lorsque l&amp;#x27;observateur est positionné au bon endroit, ce dernier peut voir une peinture formé de triangles rouges. L&amp;#x27;entiereté de la peinture rouge est appliqué sur les bâtiments industrielles qui forment le paysage au loin de la promenade.&amp;quot;&quot;
                            type=&quot;button&quot;
                    &gt;
                        &lt;img class=&quot;gallery__selector__image&quot; src=&quot;&amp;#x2F;arts&amp;#x2F;phono-st-nazaire&amp;#x2F;gallery&amp;#x2F;binome_5.jpg&quot; alt=&quot;Photo d&amp;#x27;archive de la résidence de création: Paysage industriel du port de St-Nazaire. Sur la promenade du port de St-Nazaire, lorsque l&amp;#x27;observateur est positionné au bon endroit, ce dernier peut voir une peinture formé de triangles rouges. L&amp;#x27;entiereté de la peinture rouge est appliqué sur les bâtiments industrielles qui forment le paysage au loin de la promenade.&quot;&#x2F;&gt;
                    &lt;&#x2F;button&gt;
                &lt;&#x2F;li&gt;
                
                
                &lt;li class=&quot;gallery__selector__item&quot;&gt;
                    &lt;button
                            class=&quot;gallery__selector__button&quot;
                            aria-expanded=&quot;false&quot;
                            aria-controls=&quot;galleryphonostnazaireimage9&quot;
                            aria-label=&quot;Voir l&#x27;image &amp;quot;Photo d&amp;#x27;archive de la résidence de création: Paysage industriel du port de St-Nazaire. Sur la promenade du port de St-Nazaire, lorsque l&amp;#x27;observateur est positionné au bon endroit, ce dernier peut voir une peinture formé de triangles rouges. L&amp;#x27;entiereté de la peinture rouge est appliqué sur les bâtiments industrielles qui forment le paysage au loin de la promenade.&amp;quot;&quot;
                            type=&quot;button&quot;
                    &gt;
                        &lt;img class=&quot;gallery__selector__image&quot; src=&quot;&amp;#x2F;arts&amp;#x2F;phono-st-nazaire&amp;#x2F;gallery&amp;#x2F;binome_6.jpg&quot; alt=&quot;Photo d&amp;#x27;archive de la résidence de création: Paysage industriel du port de St-Nazaire. Sur la promenade du port de St-Nazaire, lorsque l&amp;#x27;observateur est positionné au bon endroit, ce dernier peut voir une peinture formé de triangles rouges. L&amp;#x27;entiereté de la peinture rouge est appliqué sur les bâtiments industrielles qui forment le paysage au loin de la promenade.&quot;&#x2F;&gt;
                    &lt;&#x2F;button&gt;
                &lt;&#x2F;li&gt;
                
                
                &lt;li class=&quot;gallery__selector__item&quot;&gt;
                    &lt;button
                            class=&quot;gallery__selector__button&quot;
                            aria-expanded=&quot;false&quot;
                            aria-controls=&quot;galleryphonostnazaireimage10&quot;
                            aria-label=&quot;Voir l&#x27;image &amp;quot;Photo d&amp;#x27;archive de performance: Christophe Havard (concepteur sonore), Jean-Paul Quéinnec (chercheur), Matthieu Doze (acteur et performeur), Edouard Germain (performeur et poète), Karine Ledoyen (danseuse), François Harvey (concepteur sonore) et Emmanuelle Huynh (danseuse) soulève Jocelyn Cottencin (concepteur vidéo et sonore) dans les airs.&amp;quot;&quot;
                            type=&quot;button&quot;
                    &gt;
                        &lt;img class=&quot;gallery__selector__image&quot; src=&quot;&amp;#x2F;arts&amp;#x2F;phono-st-nazaire&amp;#x2F;gallery&amp;#x2F;CorpsPontLevant_1.jpg&quot; alt=&quot;Photo d&amp;#x27;archive de performance: Christophe Havard (concepteur sonore), Jean-Paul Quéinnec (chercheur), Matthieu Doze (acteur et performeur), Edouard Germain (performeur et poète), Karine Ledoyen (danseuse), François Harvey (concepteur sonore) et Emmanuelle Huynh (danseuse) soulève Jocelyn Cottencin (concepteur vidéo et sonore) dans les airs.&quot;&#x2F;&gt;
                    &lt;&#x2F;button&gt;
                &lt;&#x2F;li&gt;
                
                
                &lt;li class=&quot;gallery__selector__item&quot;&gt;
                    &lt;button
                            class=&quot;gallery__selector__button&quot;
                            aria-expanded=&quot;false&quot;
                            aria-controls=&quot;galleryphonostnazaireimage11&quot;
                            aria-label=&quot;Voir l&#x27;image &amp;quot;Photo d&amp;#x27;archive de performance: Christophe Havard (concepteur sonore), Jean-Paul Quéinnec (chercheur), Matthieu Doze (acteur et performeur), Edouard Germain (performeur et poète), Karine Ledoyen (danseuse), François Harvey (concepteur sonore) et Jocelyn Cottencin (concepteur vidéo et sonore) soulève Emmanuelle Huynh (danseuse) dans les airs.&amp;quot;&quot;
                            type=&quot;button&quot;
                    &gt;
                        &lt;img class=&quot;gallery__selector__image&quot; src=&quot;&amp;#x2F;arts&amp;#x2F;phono-st-nazaire&amp;#x2F;gallery&amp;#x2F;CorpsPontLevant_2.jpg&quot; alt=&quot;Photo d&amp;#x27;archive de performance: Christophe Havard (concepteur sonore), Jean-Paul Quéinnec (chercheur), Matthieu Doze (acteur et performeur), Edouard Germain (performeur et poète), Karine Ledoyen (danseuse), François Harvey (concepteur sonore) et Jocelyn Cottencin (concepteur vidéo et sonore) soulève Emmanuelle Huynh (danseuse) dans les airs.&quot;&#x2F;&gt;
                    &lt;&#x2F;button&gt;
                &lt;&#x2F;li&gt;
                
                
                &lt;li class=&quot;gallery__selector__item&quot;&gt;
                    &lt;button
                            class=&quot;gallery__selector__button&quot;
                            aria-expanded=&quot;false&quot;
                            aria-controls=&quot;galleryphonostnazaireimage12&quot;
                            aria-label=&quot;Voir l&#x27;image &amp;quot;Photo d&amp;#x27;archive de la résidence de création: Edouard Germain (performeur et poète), Karine Ledoyen (danseuse), François Harvey (concepteur sonore), Emmanuelle Huynh (danseuse) et Pierre Tremblay-Thériault (concepteur numérique et artiste) regarde le paysage industriel du port de St-Nazaire depuis le haut de la galerie de leur résidence.&amp;quot;&quot;
                            type=&quot;button&quot;
                    &gt;
                        &lt;img class=&quot;gallery__selector__image&quot; src=&quot;&amp;#x2F;arts&amp;#x2F;phono-st-nazaire&amp;#x2F;gallery&amp;#x2F;debut_1.jpg&quot; alt=&quot;Photo d&amp;#x27;archive de la résidence de création: Edouard Germain (performeur et poète), Karine Ledoyen (danseuse), François Harvey (concepteur sonore), Emmanuelle Huynh (danseuse) et Pierre Tremblay-Thériault (concepteur numérique et artiste) regarde le paysage industriel du port de St-Nazaire depuis le haut de la galerie de leur résidence.&quot;&#x2F;&gt;
                    &lt;&#x2F;button&gt;
                &lt;&#x2F;li&gt;
                
                
                &lt;li class=&quot;gallery__selector__item&quot;&gt;
                    &lt;button
                            class=&quot;gallery__selector__button&quot;
                            aria-expanded=&quot;false&quot;
                            aria-controls=&quot;galleryphonostnazaireimage13&quot;
                            aria-label=&quot;Voir l&#x27;image &amp;quot;Photo d&amp;#x27;archive de la résidence de création: Paysage industriel du port de St-Nazaire depuis le haut de la galerie de leur résidence.&amp;quot;&quot;
                            type=&quot;button&quot;
                    &gt;
                        &lt;img class=&quot;gallery__selector__image&quot; src=&quot;&amp;#x2F;arts&amp;#x2F;phono-st-nazaire&amp;#x2F;gallery&amp;#x2F;debut_2.jpg&quot; alt=&quot;Photo d&amp;#x27;archive de la résidence de création: Paysage industriel du port de St-Nazaire depuis le haut de la galerie de leur résidence.&quot;&#x2F;&gt;
                    &lt;&#x2F;button&gt;
                &lt;&#x2F;li&gt;
                
                
                &lt;li class=&quot;gallery__selector__item&quot;&gt;
                    &lt;button
                            class=&quot;gallery__selector__button&quot;
                            aria-expanded=&quot;false&quot;
                            aria-controls=&quot;galleryphonostnazaireimage14&quot;
                            aria-label=&quot;Voir l&#x27;image &amp;quot;Photo d&amp;#x27;archive de la résidence de création: Paysage industriel du port de St-Nazaire depuis le haut de la galerie de leur résidence.&amp;quot;&quot;
                            type=&quot;button&quot;
                    &gt;
                        &lt;img class=&quot;gallery__selector__image&quot; src=&quot;&amp;#x2F;arts&amp;#x2F;phono-st-nazaire&amp;#x2F;gallery&amp;#x2F;debut_3.jpg&quot; alt=&quot;Photo d&amp;#x27;archive de la résidence de création: Paysage industriel du port de St-Nazaire depuis le haut de la galerie de leur résidence.&quot;&#x2F;&gt;
                    &lt;&#x2F;button&gt;
                &lt;&#x2F;li&gt;
                
                
                &lt;li class=&quot;gallery__selector__item&quot;&gt;
                    &lt;button
                            class=&quot;gallery__selector__button&quot;
                            aria-expanded=&quot;false&quot;
                            aria-controls=&quot;galleryphonostnazaireimage15&quot;
                            aria-label=&quot;Voir l&#x27;image &amp;quot;Photo d&amp;#x27;archive de la résidence de création: Paysage industriel du port de St-Nazaire, plus précisément une vue du pont levant, depuis le haut de la galerie de leur résidence.&amp;quot;&quot;
                            type=&quot;button&quot;
                    &gt;
                        &lt;img class=&quot;gallery__selector__image&quot; src=&quot;&amp;#x2F;arts&amp;#x2F;phono-st-nazaire&amp;#x2F;gallery&amp;#x2F;debut_4.jpg&quot; alt=&quot;Photo d&amp;#x27;archive de la résidence de création: Paysage industriel du port de St-Nazaire, plus précisément une vue du pont levant, depuis le haut de la galerie de leur résidence.&quot;&#x2F;&gt;
                    &lt;&#x2F;button&gt;
                &lt;&#x2F;li&gt;
                
                
                &lt;li class=&quot;gallery__selector__item&quot;&gt;
                    &lt;button
                            class=&quot;gallery__selector__button&quot;
                            aria-expanded=&quot;false&quot;
                            aria-controls=&quot;galleryphonostnazaireimage16&quot;
                            aria-label=&quot;Voir l&#x27;image &amp;quot;Photo d&amp;#x27;archive de la résidence de création: Paysage industriel du port de St-Nazaire, plus précisément une vue de l&amp;#x27;arrière du pont levant, depuis le sol. Sur le pont levant est écrit &amp;quot;Vaguer la nuit dans des lumières narratives&amp;quot;&amp;quot;&quot;
                            type=&quot;button&quot;
                    &gt;
                        &lt;img class=&quot;gallery__selector__image&quot; src=&quot;&amp;#x2F;arts&amp;#x2F;phono-st-nazaire&amp;#x2F;gallery&amp;#x2F;debut_5.jpg&quot; alt=&quot;Photo d&amp;#x27;archive de la résidence de création: Paysage industriel du port de St-Nazaire, plus précisément une vue de l&amp;#x27;arrière du pont levant, depuis le sol. Sur le pont levant est écrit &amp;quot;Vaguer la nuit dans des lumières narratives&amp;quot;&quot;&#x2F;&gt;
                    &lt;&#x2F;button&gt;
                &lt;&#x2F;li&gt;
                
                
                &lt;li class=&quot;gallery__selector__item&quot;&gt;
                    &lt;button
                            class=&quot;gallery__selector__button&quot;
                            aria-expanded=&quot;false&quot;
                            aria-controls=&quot;galleryphonostnazaireimage17&quot;
                            aria-label=&quot;Voir l&#x27;image &amp;quot;Photo d&amp;#x27;archive de la résidence de création: Paysage industriel du port de St-Nazaire, plus précisément une vue d&amp;#x27;un bâteau attendant son tour dans une écluse.&amp;quot;&quot;
                            type=&quot;button&quot;
                    &gt;
                        &lt;img class=&quot;gallery__selector__image&quot; src=&quot;&amp;#x2F;arts&amp;#x2F;phono-st-nazaire&amp;#x2F;gallery&amp;#x2F;debut_6.jpg&quot; alt=&quot;Photo d&amp;#x27;archive de la résidence de création: Paysage industriel du port de St-Nazaire, plus précisément une vue d&amp;#x27;un bâteau attendant son tour dans une écluse.&quot;&#x2F;&gt;
                    &lt;&#x2F;button&gt;
                &lt;&#x2F;li&gt;
                
                
                &lt;li class=&quot;gallery__selector__item&quot;&gt;
                    &lt;button
                            class=&quot;gallery__selector__button&quot;
                            aria-expanded=&quot;false&quot;
                            aria-controls=&quot;galleryphonostnazaireimage18&quot;
                            aria-label=&quot;Voir l&#x27;image &amp;quot;Photo d&amp;#x27;archive de la résidence de création: Paysage industriel du port de St-Nazaire, plus précisément une vue d&amp;#x27;un pont traversant la rivière.&amp;quot;&quot;
                            type=&quot;button&quot;
                    &gt;
                        &lt;img class=&quot;gallery__selector__image&quot; src=&quot;&amp;#x2F;arts&amp;#x2F;phono-st-nazaire&amp;#x2F;gallery&amp;#x2F;karine_1.jpg&quot; alt=&quot;Photo d&amp;#x27;archive de la résidence de création: Paysage industriel du port de St-Nazaire, plus précisément une vue d&amp;#x27;un pont traversant la rivière.&quot;&#x2F;&gt;
                    &lt;&#x2F;button&gt;
                &lt;&#x2F;li&gt;
                
                
                &lt;li class=&quot;gallery__selector__item&quot;&gt;
                    &lt;button
                            class=&quot;gallery__selector__button&quot;
                            aria-expanded=&quot;false&quot;
                            aria-controls=&quot;galleryphonostnazaireimage19&quot;
                            aria-label=&quot;Voir l&#x27;image &amp;quot;Photo d&amp;#x27;archive de la résidence de création: Paysage industriel du port de St-Nazaire, plus précisément une vue d&amp;#x27;un pont traversant la rivière.&amp;quot;&quot;
                            type=&quot;button&quot;
                    &gt;
                        &lt;img class=&quot;gallery__selector__image&quot; src=&quot;&amp;#x2F;arts&amp;#x2F;phono-st-nazaire&amp;#x2F;gallery&amp;#x2F;karine_10.jpg&quot; alt=&quot;Photo d&amp;#x27;archive de la résidence de création: Paysage industriel du port de St-Nazaire, plus précisément une vue d&amp;#x27;un pont traversant la rivière.&quot;&#x2F;&gt;
                    &lt;&#x2F;button&gt;
                &lt;&#x2F;li&gt;
                
                
                &lt;li class=&quot;gallery__selector__item&quot;&gt;
                    &lt;button
                            class=&quot;gallery__selector__button&quot;
                            aria-expanded=&quot;false&quot;
                            aria-controls=&quot;galleryphonostnazaireimage20&quot;
                            aria-label=&quot;Voir l&#x27;image &amp;quot;Photo d&amp;#x27;archive de la résidence de création: Paysage industriel du port de St-Nazaire, plus précisément une vue d&amp;#x27;un chantier naval fabricant un bâteau de croisière.&amp;quot;&quot;
                            type=&quot;button&quot;
                    &gt;
                        &lt;img class=&quot;gallery__selector__image&quot; src=&quot;&amp;#x2F;arts&amp;#x2F;phono-st-nazaire&amp;#x2F;gallery&amp;#x2F;karine_11.jpg&quot; alt=&quot;Photo d&amp;#x27;archive de la résidence de création: Paysage industriel du port de St-Nazaire, plus précisément une vue d&amp;#x27;un chantier naval fabricant un bâteau de croisière.&quot;&#x2F;&gt;
                    &lt;&#x2F;button&gt;
                &lt;&#x2F;li&gt;
                
                
                &lt;li class=&quot;gallery__selector__item&quot;&gt;
                    &lt;button
                            class=&quot;gallery__selector__button&quot;
                            aria-expanded=&quot;false&quot;
                            aria-controls=&quot;galleryphonostnazaireimage21&quot;
                            aria-label=&quot;Voir l&#x27;image &amp;quot;Photo d&amp;#x27;archive de la résidence de création: Paysage industriel du port de St-Nazaire, plus précisément une vue d&amp;#x27;une gigantesque grue de chantier naval.&amp;quot;&quot;
                            type=&quot;button&quot;
                    &gt;
                        &lt;img class=&quot;gallery__selector__image&quot; src=&quot;&amp;#x2F;arts&amp;#x2F;phono-st-nazaire&amp;#x2F;gallery&amp;#x2F;karine_2.jpg&quot; alt=&quot;Photo d&amp;#x27;archive de la résidence de création: Paysage industriel du port de St-Nazaire, plus précisément une vue d&amp;#x27;une gigantesque grue de chantier naval.&quot;&#x2F;&gt;
                    &lt;&#x2F;button&gt;
                &lt;&#x2F;li&gt;
                
                
                &lt;li class=&quot;gallery__selector__item&quot;&gt;
                    &lt;button
                            class=&quot;gallery__selector__button&quot;
                            aria-expanded=&quot;false&quot;
                            aria-controls=&quot;galleryphonostnazaireimage22&quot;
                            aria-label=&quot;Voir l&#x27;image &amp;quot;Photo d&amp;#x27;archive de la résidence de création: Paysage industriel du port de St-Nazaire, plus précisément une vue d&amp;#x27;une gigantesque grue de chantier naval depuis une plage.&amp;quot;&quot;
                            type=&quot;button&quot;
                    &gt;
                        &lt;img class=&quot;gallery__selector__image&quot; src=&quot;&amp;#x2F;arts&amp;#x2F;phono-st-nazaire&amp;#x2F;gallery&amp;#x2F;karine_3.jpg&quot; alt=&quot;Photo d&amp;#x27;archive de la résidence de création: Paysage industriel du port de St-Nazaire, plus précisément une vue d&amp;#x27;une gigantesque grue de chantier naval depuis une plage.&quot;&#x2F;&gt;
                    &lt;&#x2F;button&gt;
                &lt;&#x2F;li&gt;
                
                
                &lt;li class=&quot;gallery__selector__item&quot;&gt;
                    &lt;button
                            class=&quot;gallery__selector__button&quot;
                            aria-expanded=&quot;false&quot;
                            aria-controls=&quot;galleryphonostnazaireimage23&quot;
                            aria-label=&quot;Voir l&#x27;image &amp;quot;Photo d&amp;#x27;archive de la résidence de création: Paysage industriel du port de St-Nazaire, plus précisément une vue d&amp;#x27;une gigantesque grue de chantier naval depuis une plage.&amp;quot;&quot;
                            type=&quot;button&quot;
                    &gt;
                        &lt;img class=&quot;gallery__selector__image&quot; src=&quot;&amp;#x2F;arts&amp;#x2F;phono-st-nazaire&amp;#x2F;gallery&amp;#x2F;karine_4.jpg&quot; alt=&quot;Photo d&amp;#x27;archive de la résidence de création: Paysage industriel du port de St-Nazaire, plus précisément une vue d&amp;#x27;une gigantesque grue de chantier naval depuis une plage.&quot;&#x2F;&gt;
                    &lt;&#x2F;button&gt;
                &lt;&#x2F;li&gt;
                
                
                &lt;li class=&quot;gallery__selector__item&quot;&gt;
                    &lt;button
                            class=&quot;gallery__selector__button&quot;
                            aria-expanded=&quot;false&quot;
                            aria-controls=&quot;galleryphonostnazaireimage24&quot;
                            aria-label=&quot;Voir l&#x27;image &amp;quot;Photo d&amp;#x27;archive de la résidence de création: Paysage industriel du port de St-Nazaire, plus précisément une vue du dessous d&amp;#x27;un viaduc depuis une plage.&amp;quot;&quot;
                            type=&quot;button&quot;
                    &gt;
                        &lt;img class=&quot;gallery__selector__image&quot; src=&quot;&amp;#x2F;arts&amp;#x2F;phono-st-nazaire&amp;#x2F;gallery&amp;#x2F;karine_5.jpg&quot; alt=&quot;Photo d&amp;#x27;archive de la résidence de création: Paysage industriel du port de St-Nazaire, plus précisément une vue du dessous d&amp;#x27;un viaduc depuis une plage.&quot;&#x2F;&gt;
                    &lt;&#x2F;button&gt;
                &lt;&#x2F;li&gt;
                
                
                &lt;li class=&quot;gallery__selector__item&quot;&gt;
                    &lt;button
                            class=&quot;gallery__selector__button&quot;
                            aria-expanded=&quot;false&quot;
                            aria-controls=&quot;galleryphonostnazaireimage25&quot;
                            aria-label=&quot;Voir l&#x27;image &amp;quot;Photo d&amp;#x27;archive de la résidence de création: Paysage industriel du port de St-Nazaire, plus précisément une vue du dessous d&amp;#x27;un viaduc depuis une plage.&amp;quot;&quot;
                            type=&quot;button&quot;
                    &gt;
                        &lt;img class=&quot;gallery__selector__image&quot; src=&quot;&amp;#x2F;arts&amp;#x2F;phono-st-nazaire&amp;#x2F;gallery&amp;#x2F;karine_6.jpg&quot; alt=&quot;Photo d&amp;#x27;archive de la résidence de création: Paysage industriel du port de St-Nazaire, plus précisément une vue du dessous d&amp;#x27;un viaduc depuis une plage.&quot;&#x2F;&gt;
                    &lt;&#x2F;button&gt;
                &lt;&#x2F;li&gt;
                
                
                &lt;li class=&quot;gallery__selector__item&quot;&gt;
                    &lt;button
                            class=&quot;gallery__selector__button&quot;
                            aria-expanded=&quot;false&quot;
                            aria-controls=&quot;galleryphonostnazaireimage26&quot;
                            aria-label=&quot;Voir l&#x27;image &amp;quot;Photo d&amp;#x27;archive de la résidence de création: Couloir extérieur d&amp;#x27;un bunker datant de la deuxième guerre mondiale.&amp;quot;&quot;
                            type=&quot;button&quot;
                    &gt;
                        &lt;img class=&quot;gallery__selector__image&quot; src=&quot;&amp;#x2F;arts&amp;#x2F;phono-st-nazaire&amp;#x2F;gallery&amp;#x2F;karine_7.jpg&quot; alt=&quot;Photo d&amp;#x27;archive de la résidence de création: Couloir extérieur d&amp;#x27;un bunker datant de la deuxième guerre mondiale.&quot;&#x2F;&gt;
                    &lt;&#x2F;button&gt;
                &lt;&#x2F;li&gt;
                
                
                &lt;li class=&quot;gallery__selector__item&quot;&gt;
                    &lt;button
                            class=&quot;gallery__selector__button&quot;
                            aria-expanded=&quot;false&quot;
                            aria-controls=&quot;galleryphonostnazaireimage27&quot;
                            aria-label=&quot;Voir l&#x27;image &amp;quot;Photo d&amp;#x27;archive de la résidence de création: Couloir extérieur d&amp;#x27;un bunker datant de la deuxième guerre mondiale.&amp;quot;&quot;
                            type=&quot;button&quot;
                    &gt;
                        &lt;img class=&quot;gallery__selector__image&quot; src=&quot;&amp;#x2F;arts&amp;#x2F;phono-st-nazaire&amp;#x2F;gallery&amp;#x2F;karine_8.jpg&quot; alt=&quot;Photo d&amp;#x27;archive de la résidence de création: Couloir extérieur d&amp;#x27;un bunker datant de la deuxième guerre mondiale.&quot;&#x2F;&gt;
                    &lt;&#x2F;button&gt;
                &lt;&#x2F;li&gt;
                
                
                &lt;li class=&quot;gallery__selector__item&quot;&gt;
                    &lt;button
                            class=&quot;gallery__selector__button&quot;
                            aria-expanded=&quot;false&quot;
                            aria-controls=&quot;galleryphonostnazaireimage28&quot;
                            aria-label=&quot;Voir l&#x27;image &amp;quot;Photo d&amp;#x27;archive de la résidence de création: Arbre ayant été planté et poussant dans les couloirs d&amp;#x27;un bunker datant de la deuxième guerre mondiale.&amp;quot;&quot;
                            type=&quot;button&quot;
                    &gt;
                        &lt;img class=&quot;gallery__selector__image&quot; src=&quot;&amp;#x2F;arts&amp;#x2F;phono-st-nazaire&amp;#x2F;gallery&amp;#x2F;karine_9.jpg&quot; alt=&quot;Photo d&amp;#x27;archive de la résidence de création: Arbre ayant été planté et poussant dans les couloirs d&amp;#x27;un bunker datant de la deuxième guerre mondiale.&quot;&#x2F;&gt;
                    &lt;&#x2F;button&gt;
                &lt;&#x2F;li&gt;
                
                
                &lt;li class=&quot;gallery__selector__item&quot;&gt;
                    &lt;button
                            class=&quot;gallery__selector__button&quot;
                            aria-expanded=&quot;false&quot;
                            aria-controls=&quot;galleryphonostnazaireimage29&quot;
                            aria-label=&quot;Voir l&#x27;image &amp;quot;Photo d&amp;#x27;archive de la résidence de création: Sur la promenade d&amp;#x27;un bunker dans le port de St-Nazaire, Matthieu Doze (acteur et performeur) est penché au dessus d&amp;#x27;une clotûre jaune. Au loin, on peut voir la mer.&amp;quot;&quot;
                            type=&quot;button&quot;
                    &gt;
                        &lt;img class=&quot;gallery__selector__image&quot; src=&quot;&amp;#x2F;arts&amp;#x2F;phono-st-nazaire&amp;#x2F;gallery&amp;#x2F;playback_1.jpg&quot; alt=&quot;Photo d&amp;#x27;archive de la résidence de création: Sur la promenade d&amp;#x27;un bunker dans le port de St-Nazaire, Matthieu Doze (acteur et performeur) est penché au dessus d&amp;#x27;une clotûre jaune. Au loin, on peut voir la mer.&quot;&#x2F;&gt;
                    &lt;&#x2F;button&gt;
                &lt;&#x2F;li&gt;
                
                
                &lt;li class=&quot;gallery__selector__item&quot;&gt;
                    &lt;button
                            class=&quot;gallery__selector__button&quot;
                            aria-expanded=&quot;false&quot;
                            aria-controls=&quot;galleryphonostnazaireimage30&quot;
                            aria-label=&quot;Voir l&#x27;image &amp;quot;Photo d&amp;#x27;archive de la résidence de création: Matthieu Doze (acteur et performeur), Jean-Paul Quéinnec (chercheur) et Edouard Germain (performeur et poète) performe sur la promenande d&amp;#x27;un bunker. Jean-Paul, un micro à la main, soutenu par Édouard tente d&amp;#x27;escalader Mathieu.&amp;quot;&quot;
                            type=&quot;button&quot;
                    &gt;
                        &lt;img class=&quot;gallery__selector__image&quot; src=&quot;&amp;#x2F;arts&amp;#x2F;phono-st-nazaire&amp;#x2F;gallery&amp;#x2F;playback_2.jpg&quot; alt=&quot;Photo d&amp;#x27;archive de la résidence de création: Matthieu Doze (acteur et performeur), Jean-Paul Quéinnec (chercheur) et Edouard Germain (performeur et poète) performe sur la promenande d&amp;#x27;un bunker. Jean-Paul, un micro à la main, soutenu par Édouard tente d&amp;#x27;escalader Mathieu.&quot;&#x2F;&gt;
                    &lt;&#x2F;button&gt;
                &lt;&#x2F;li&gt;
                
                
                &lt;li class=&quot;gallery__selector__item&quot;&gt;
                    &lt;button
                            class=&quot;gallery__selector__button&quot;
                            aria-expanded=&quot;false&quot;
                            aria-controls=&quot;galleryphonostnazaireimage31&quot;
                            aria-label=&quot;Voir l&#x27;image &amp;quot;Photo d&amp;#x27;archive de la résidence de création: Matthieu Doze (acteur et performeur), Jean-Paul Quéinnec (chercheur) et Edouard Germain (performeur et poète) performe sur la promenande d&amp;#x27;un bunker. Jean-Paul, un micro à la main, soutenu par Édouard tente d&amp;#x27;escalader Mathieu.&amp;quot;&quot;
                            type=&quot;button&quot;
                    &gt;
                        &lt;img class=&quot;gallery__selector__image&quot; src=&quot;&amp;#x2F;arts&amp;#x2F;phono-st-nazaire&amp;#x2F;gallery&amp;#x2F;playback_3.jpg&quot; alt=&quot;Photo d&amp;#x27;archive de la résidence de création: Matthieu Doze (acteur et performeur), Jean-Paul Quéinnec (chercheur) et Edouard Germain (performeur et poète) performe sur la promenande d&amp;#x27;un bunker. Jean-Paul, un micro à la main, soutenu par Édouard tente d&amp;#x27;escalader Mathieu.&quot;&#x2F;&gt;
                    &lt;&#x2F;button&gt;
                &lt;&#x2F;li&gt;
                
                
                &lt;li class=&quot;gallery__selector__item&quot;&gt;
                    &lt;button
                            class=&quot;gallery__selector__button&quot;
                            aria-expanded=&quot;false&quot;
                            aria-controls=&quot;galleryphonostnazaireimage32&quot;
                            aria-label=&quot;Voir l&#x27;image &amp;quot;Photo d&amp;#x27;archive de la résidence de création: Pont levant en position levée la nuit.&amp;quot;&quot;
                            type=&quot;button&quot;
                    &gt;
                        &lt;img class=&quot;gallery__selector__image&quot; src=&quot;&amp;#x2F;arts&amp;#x2F;phono-st-nazaire&amp;#x2F;gallery&amp;#x2F;pontlevant_3am.jpg&quot; alt=&quot;Photo d&amp;#x27;archive de la résidence de création: Pont levant en position levée la nuit.&quot;&#x2F;&gt;
                    &lt;&#x2F;button&gt;
                &lt;&#x2F;li&gt;
                
                
                &lt;li class=&quot;gallery__selector__item&quot;&gt;
                    &lt;button
                            class=&quot;gallery__selector__button&quot;
                            aria-expanded=&quot;false&quot;
                            aria-controls=&quot;galleryphonostnazaireimage33&quot;
                            aria-label=&quot;Voir l&#x27;image &amp;quot;Photo d&amp;#x27;archive de la résidence de création: Gilles Amalvi (poète) joue de la guitare sur la plage près d&amp;#x27;un mur de pierres. Il est accompagné par Christophe Havard (concepteur sonore) et Jocelyn Cottencin (concepteur vidéo et sonore).&amp;quot;&quot;
                            type=&quot;button&quot;
                    &gt;
                        &lt;img class=&quot;gallery__selector__image&quot; src=&quot;&amp;#x2F;arts&amp;#x2F;phono-st-nazaire&amp;#x2F;gallery&amp;#x2F;preparation_performance_1.jpg&quot; alt=&quot;Photo d&amp;#x27;archive de la résidence de création: Gilles Amalvi (poète) joue de la guitare sur la plage près d&amp;#x27;un mur de pierres. Il est accompagné par Christophe Havard (concepteur sonore) et Jocelyn Cottencin (concepteur vidéo et sonore).&quot;&#x2F;&gt;
                    &lt;&#x2F;button&gt;
                &lt;&#x2F;li&gt;
                
                
                &lt;li class=&quot;gallery__selector__item&quot;&gt;
                    &lt;button
                            class=&quot;gallery__selector__button&quot;
                            aria-expanded=&quot;false&quot;
                            aria-controls=&quot;galleryphonostnazaireimage34&quot;
                            aria-label=&quot;Voir l&#x27;image &amp;quot;Photo d&amp;#x27;archive de la résidence de création: Gilles Amalvi (poète) joue de la guitare sur la plage près d&amp;#x27;un mur de pierres. Il est accompagné par Christophe Havard (concepteur sonore) et Jocelyn Cottencin (concepteur vidéo et sonore).&amp;quot;&quot;
                            type=&quot;button&quot;
                    &gt;
                        &lt;img class=&quot;gallery__selector__image&quot; src=&quot;&amp;#x2F;arts&amp;#x2F;phono-st-nazaire&amp;#x2F;gallery&amp;#x2F;preparation_performance_2.jpg&quot; alt=&quot;Photo d&amp;#x27;archive de la résidence de création: Gilles Amalvi (poète) joue de la guitare sur la plage près d&amp;#x27;un mur de pierres. Il est accompagné par Christophe Havard (concepteur sonore) et Jocelyn Cottencin (concepteur vidéo et sonore).&quot;&#x2F;&gt;
                    &lt;&#x2F;button&gt;
                &lt;&#x2F;li&gt;
                
                
                &lt;li class=&quot;gallery__selector__item&quot;&gt;
                    &lt;button
                            class=&quot;gallery__selector__button&quot;
                            aria-expanded=&quot;false&quot;
                            aria-controls=&quot;galleryphonostnazaireimage35&quot;
                            aria-label=&quot;Voir l&#x27;image &amp;quot;Photo d&amp;#x27;archive de la résidence de création: Jean-Paul Quéinnec (chercheur), Matthieu Doze (acteur et performeur), Edouard Germain (performeur et poète), Emmanuelle Huynh (danseuse), Jocelyn Cottencin, Gilles Amalvi (poète) et Andrée-Anne Giguère (actrice&amp;#x2F;concepteur vidéo) regarde pensivement le paysage industriel des chantiers navales.&amp;quot;&quot;
                            type=&quot;button&quot;
                    &gt;
                        &lt;img class=&quot;gallery__selector__image&quot; src=&quot;&amp;#x2F;arts&amp;#x2F;phono-st-nazaire&amp;#x2F;gallery&amp;#x2F;principenazarien_1.jpg&quot; alt=&quot;Photo d&amp;#x27;archive de la résidence de création: Jean-Paul Quéinnec (chercheur), Matthieu Doze (acteur et performeur), Edouard Germain (performeur et poète), Emmanuelle Huynh (danseuse), Jocelyn Cottencin, Gilles Amalvi (poète) et Andrée-Anne Giguère (actrice&amp;#x2F;concepteur vidéo) regarde pensivement le paysage industriel des chantiers navales.&quot;&#x2F;&gt;
                    &lt;&#x2F;button&gt;
                &lt;&#x2F;li&gt;
                
                
                &lt;li class=&quot;gallery__selector__item&quot;&gt;
                    &lt;button
                            class=&quot;gallery__selector__button&quot;
                            aria-expanded=&quot;false&quot;
                            aria-controls=&quot;galleryphonostnazaireimage36&quot;
                            aria-label=&quot;Voir l&#x27;image &amp;quot;Photo d&amp;#x27;archive de la résidence de création: Matthieu Doze (acteur et performeur), Jocelyn Cottencin, Gilles Amalvi (poète) et Andrée-Anne Giguère (actrice&amp;#x2F;concepteur vidéo) regarde pensivement le paysage industriel des chantiers navales.&amp;quot;&quot;
                            type=&quot;button&quot;
                    &gt;
                        &lt;img class=&quot;gallery__selector__image&quot; src=&quot;&amp;#x2F;arts&amp;#x2F;phono-st-nazaire&amp;#x2F;gallery&amp;#x2F;principenazarien_2.jpg&quot; alt=&quot;Photo d&amp;#x27;archive de la résidence de création: Matthieu Doze (acteur et performeur), Jocelyn Cottencin, Gilles Amalvi (poète) et Andrée-Anne Giguère (actrice&amp;#x2F;concepteur vidéo) regarde pensivement le paysage industriel des chantiers navales.&quot;&#x2F;&gt;
                    &lt;&#x2F;button&gt;
                &lt;&#x2F;li&gt;
                
                
                &lt;li class=&quot;gallery__selector__item&quot;&gt;
                    &lt;button
                            class=&quot;gallery__selector__button&quot;
                            aria-expanded=&quot;false&quot;
                            aria-controls=&quot;galleryphonostnazaireimage37&quot;
                            aria-label=&quot;Voir l&#x27;image &amp;quot;Photo d&amp;#x27;archive de la résidence de création: Tout l&amp;#x27;équipe marchant dans un champs près des viaducs voisins des chantiers navales.&amp;quot;&quot;
                            type=&quot;button&quot;
                    &gt;
                        &lt;img class=&quot;gallery__selector__image&quot; src=&quot;&amp;#x2F;arts&amp;#x2F;phono-st-nazaire&amp;#x2F;gallery&amp;#x2F;principenazarien_3.jpg&quot; alt=&quot;Photo d&amp;#x27;archive de la résidence de création: Tout l&amp;#x27;équipe marchant dans un champs près des viaducs voisins des chantiers navales.&quot;&#x2F;&gt;
                    &lt;&#x2F;button&gt;
                &lt;&#x2F;li&gt;
                
                
                &lt;li class=&quot;gallery__selector__item&quot;&gt;
                    &lt;button
                            class=&quot;gallery__selector__button&quot;
                            aria-expanded=&quot;false&quot;
                            aria-controls=&quot;galleryphonostnazaireimage38&quot;
                            aria-label=&quot;Voir l&#x27;image &amp;quot;Photo d&amp;#x27;archive de la résidence de création: Paysage industriel du port de St-Nazaire vue du champs près des viaducs voisins des chantiers navales.&amp;quot;&quot;
                            type=&quot;button&quot;
                    &gt;
                        &lt;img class=&quot;gallery__selector__image&quot; src=&quot;&amp;#x2F;arts&amp;#x2F;phono-st-nazaire&amp;#x2F;gallery&amp;#x2F;principenazarien_4.jpg&quot; alt=&quot;Photo d&amp;#x27;archive de la résidence de création: Paysage industriel du port de St-Nazaire vue du champs près des viaducs voisins des chantiers navales.&quot;&#x2F;&gt;
                    &lt;&#x2F;button&gt;
                &lt;&#x2F;li&gt;
                
                
                &lt;li class=&quot;gallery__selector__item&quot;&gt;
                    &lt;button
                            class=&quot;gallery__selector__button&quot;
                            aria-expanded=&quot;false&quot;
                            aria-controls=&quot;galleryphonostnazaireimage39&quot;
                            aria-label=&quot;Voir l&#x27;image &amp;quot;Photo d&amp;#x27;archive de la résidence de création: Autoportrait de Emmanuelle Huynh (danseuse) devant un plan des bunker dessiner sur un mur de béton.&amp;quot;&quot;
                            type=&quot;button&quot;
                    &gt;
                        &lt;img class=&quot;gallery__selector__image&quot; src=&quot;&amp;#x2F;arts&amp;#x2F;phono-st-nazaire&amp;#x2F;gallery&amp;#x2F;principenazarien_5.jpg&quot; alt=&quot;Photo d&amp;#x27;archive de la résidence de création: Autoportrait de Emmanuelle Huynh (danseuse) devant un plan des bunker dessiner sur un mur de béton.&quot;&#x2F;&gt;
                    &lt;&#x2F;button&gt;
                &lt;&#x2F;li&gt;
                
                
                &lt;li class=&quot;gallery__selector__item&quot;&gt;
                    &lt;button
                            class=&quot;gallery__selector__button&quot;
                            aria-expanded=&quot;false&quot;
                            aria-controls=&quot;galleryphonostnazaireimage40&quot;
                            aria-label=&quot;Voir l&#x27;image &amp;quot;Photo d&amp;#x27;archive de la résidence de création: Photo artistique montrant des ombres de gens.&amp;quot;&quot;
                            type=&quot;button&quot;
                    &gt;
                        &lt;img class=&quot;gallery__selector__image&quot; src=&quot;&amp;#x2F;arts&amp;#x2F;phono-st-nazaire&amp;#x2F;gallery&amp;#x2F;principenazarien_6.jpg&quot; alt=&quot;Photo d&amp;#x27;archive de la résidence de création: Photo artistique montrant des ombres de gens.&quot;&#x2F;&gt;
                    &lt;&#x2F;button&gt;
                &lt;&#x2F;li&gt;
                
                
                &lt;li class=&quot;gallery__selector__item&quot;&gt;
                    &lt;button
                            class=&quot;gallery__selector__button&quot;
                            aria-expanded=&quot;false&quot;
                            aria-controls=&quot;galleryphonostnazaireimage41&quot;
                            aria-label=&quot;Voir l&#x27;image &amp;quot;Photo d&amp;#x27;archive de la résidence de création: Pierre Tremblay-Thériault (concepteur numérique et artiste) présente au public au centre &amp;quot;Les abeilles&amp;quot; une expérience en réalité virtuelle.&amp;quot;&quot;
                            type=&quot;button&quot;
                    &gt;
                        &lt;img class=&quot;gallery__selector__image&quot; src=&quot;&amp;#x2F;arts&amp;#x2F;phono-st-nazaire&amp;#x2F;gallery&amp;#x2F;RV_abeille_1.jpg&quot; alt=&quot;Photo d&amp;#x27;archive de la résidence de création: Pierre Tremblay-Thériault (concepteur numérique et artiste) présente au public au centre &amp;quot;Les abeilles&amp;quot; une expérience en réalité virtuelle.&quot;&#x2F;&gt;
                    &lt;&#x2F;button&gt;
                &lt;&#x2F;li&gt;
                
                
                &lt;li class=&quot;gallery__selector__item&quot;&gt;
                    &lt;button
                            class=&quot;gallery__selector__button&quot;
                            aria-expanded=&quot;false&quot;
                            aria-controls=&quot;galleryphonostnazaireimage42&quot;
                            aria-label=&quot;Voir l&#x27;image &amp;quot;Photo d&amp;#x27;archive de la résidence de création: Enfant au centre &amp;quot;Les abeilles&amp;quot; vivant une expérience en réalité virtuelle.&amp;quot;&quot;
                            type=&quot;button&quot;
                    &gt;
                        &lt;img class=&quot;gallery__selector__image&quot; src=&quot;&amp;#x2F;arts&amp;#x2F;phono-st-nazaire&amp;#x2F;gallery&amp;#x2F;RV_abeille_2.jpg&quot; alt=&quot;Photo d&amp;#x27;archive de la résidence de création: Enfant au centre &amp;quot;Les abeilles&amp;quot; vivant une expérience en réalité virtuelle.&quot;&#x2F;&gt;
                    &lt;&#x2F;button&gt;
                &lt;&#x2F;li&gt;
                
                
                &lt;li class=&quot;gallery__selector__item&quot;&gt;
                    &lt;button
                            class=&quot;gallery__selector__button&quot;
                            aria-expanded=&quot;false&quot;
                            aria-controls=&quot;galleryphonostnazaireimage43&quot;
                            aria-label=&quot;Voir l&#x27;image &amp;quot;Photo d&amp;#x27;archive de la résidence de création: Monsieur au centre &amp;quot;Les abeilles&amp;quot; vivant une expérience en réalité virtuelle.&amp;quot;&quot;
                            type=&quot;button&quot;
                    &gt;
                        &lt;img class=&quot;gallery__selector__image&quot; src=&quot;&amp;#x2F;arts&amp;#x2F;phono-st-nazaire&amp;#x2F;gallery&amp;#x2F;RV_abeille_3.jpg&quot; alt=&quot;Photo d&amp;#x27;archive de la résidence de création: Monsieur au centre &amp;quot;Les abeilles&amp;quot; vivant une expérience en réalité virtuelle.&quot;&#x2F;&gt;
                    &lt;&#x2F;button&gt;
                &lt;&#x2F;li&gt;
                
                
                &lt;li class=&quot;gallery__selector__item&quot;&gt;
                    &lt;button
                            class=&quot;gallery__selector__button&quot;
                            aria-expanded=&quot;false&quot;
                            aria-controls=&quot;galleryphonostnazaireimage44&quot;
                            aria-label=&quot;Voir l&#x27;image &amp;quot;Photo d&amp;#x27;archive de la résidence de création: Pierre Tremblay-Thériault (concepteur numérique et artiste) accompagne un monsieur au centre &amp;quot;Les abeilles&amp;quot; vivant une expérience en réalité virtuelle.&amp;quot;&quot;
                            type=&quot;button&quot;
                    &gt;
                        &lt;img class=&quot;gallery__selector__image&quot; src=&quot;&amp;#x2F;arts&amp;#x2F;phono-st-nazaire&amp;#x2F;gallery&amp;#x2F;RV_abeille_4.jpg&quot; alt=&quot;Photo d&amp;#x27;archive de la résidence de création: Pierre Tremblay-Thériault (concepteur numérique et artiste) accompagne un monsieur au centre &amp;quot;Les abeilles&amp;quot; vivant une expérience en réalité virtuelle.&quot;&#x2F;&gt;
                    &lt;&#x2F;button&gt;
                &lt;&#x2F;li&gt;
                
                
                &lt;li class=&quot;gallery__selector__item&quot;&gt;
                    &lt;button
                            class=&quot;gallery__selector__button&quot;
                            aria-expanded=&quot;false&quot;
                            aria-controls=&quot;galleryphonostnazaireimage45&quot;
                            aria-label=&quot;Voir l&#x27;image &amp;quot;Photo d&amp;#x27;archive de la résidence de création: Pierre Tremblay-Thériault (concepteur numérique et artiste) accompagne un monsieur au centre &amp;quot;Les abeilles&amp;quot; vivant une expérience en réalité virtuelle.&amp;quot;&quot;
                            type=&quot;button&quot;
                    &gt;
                        &lt;img class=&quot;gallery__selector__image&quot; src=&quot;&amp;#x2F;arts&amp;#x2F;phono-st-nazaire&amp;#x2F;gallery&amp;#x2F;RV_abeille_5.jpg&quot; alt=&quot;Photo d&amp;#x27;archive de la résidence de création: Pierre Tremblay-Thériault (concepteur numérique et artiste) accompagne un monsieur au centre &amp;quot;Les abeilles&amp;quot; vivant une expérience en réalité virtuelle.&quot;&#x2F;&gt;
                    &lt;&#x2F;button&gt;
                &lt;&#x2F;li&gt;
                
                
                &lt;li class=&quot;gallery__selector__item&quot;&gt;
                    &lt;button
                            class=&quot;gallery__selector__button&quot;
                            aria-expanded=&quot;false&quot;
                            aria-controls=&quot;galleryphonostnazaireimage46&quot;
                            aria-label=&quot;Voir l&#x27;image &amp;quot;Photo d&amp;#x27;archive de la résidence de création: Pierre Tremblay-Thériault (concepteur numérique et artiste) accompagne une enfant et sa famille au centre &amp;quot;Les abeilles&amp;quot; vivant une expérience en réalité virtuelle.&amp;quot;&quot;
                            type=&quot;button&quot;
                    &gt;
                        &lt;img class=&quot;gallery__selector__image&quot; src=&quot;&amp;#x2F;arts&amp;#x2F;phono-st-nazaire&amp;#x2F;gallery&amp;#x2F;RV_abeille_6.jpg&quot; alt=&quot;Photo d&amp;#x27;archive de la résidence de création: Pierre Tremblay-Thériault (concepteur numérique et artiste) accompagne une enfant et sa famille au centre &amp;quot;Les abeilles&amp;quot; vivant une expérience en réalité virtuelle.&quot;&#x2F;&gt;
                    &lt;&#x2F;button&gt;
                &lt;&#x2F;li&gt;
                
                
                &lt;li class=&quot;gallery__selector__item&quot;&gt;
                    &lt;button
                            class=&quot;gallery__selector__button&quot;
                            aria-expanded=&quot;false&quot;
                            aria-controls=&quot;galleryphonostnazaireimage47&quot;
                            aria-label=&quot;Voir l&#x27;image &amp;quot;Photo d&amp;#x27;archive de la résidence de création: Pierre Tremblay-Thériault (concepteur numérique et artiste) accompagne un monsieur au centre &amp;quot;Les abeilles&amp;quot; vivant une expérience en réalité virtuelle.&amp;quot;&quot;
                            type=&quot;button&quot;
                    &gt;
                        &lt;img class=&quot;gallery__selector__image&quot; src=&quot;&amp;#x2F;arts&amp;#x2F;phono-st-nazaire&amp;#x2F;gallery&amp;#x2F;RV_abeille_7.jpg&quot; alt=&quot;Photo d&amp;#x27;archive de la résidence de création: Pierre Tremblay-Thériault (concepteur numérique et artiste) accompagne un monsieur au centre &amp;quot;Les abeilles&amp;quot; vivant une expérience en réalité virtuelle.&quot;&#x2F;&gt;
                    &lt;&#x2F;button&gt;
                &lt;&#x2F;li&gt;
                
                
                &lt;li class=&quot;gallery__selector__item&quot;&gt;
                    &lt;button
                            class=&quot;gallery__selector__button&quot;
                            aria-expanded=&quot;false&quot;
                            aria-controls=&quot;galleryphonostnazaireimage48&quot;
                            aria-label=&quot;Voir l&#x27;image &amp;quot;Photo d&amp;#x27;archive de la résidence de création: Monsieur au centre &amp;quot;Les abeilles&amp;quot; vivant une expérience en réalité virtuelle.&amp;quot;&quot;
                            type=&quot;button&quot;
                    &gt;
                        &lt;img class=&quot;gallery__selector__image&quot; src=&quot;&amp;#x2F;arts&amp;#x2F;phono-st-nazaire&amp;#x2F;gallery&amp;#x2F;RV_abeille_8.jpg&quot; alt=&quot;Photo d&amp;#x27;archive de la résidence de création: Monsieur au centre &amp;quot;Les abeilles&amp;quot; vivant une expérience en réalité virtuelle.&quot;&#x2F;&gt;
                    &lt;&#x2F;button&gt;
                &lt;&#x2F;li&gt;
                
    &lt;&#x2F;ul&gt;
&lt;&#x2F;div&gt;
&lt;script&gt;
    &#x2F;&#x2F; Define
    &#x2F;&#x2F; function hideDisplayedImage(galleryId, image)
    if (typeof globalThis.hideDisplayedImage === &quot;undefined&quot;) {
        globalThis.hideDisplayedImage = function(galleryId, image) {
            const fullscreenImageContainer = document.querySelector(&quot;#&quot; + galleryId + &quot; .gallery__viewport&quot;);
            fullscreenImageContainer.classList.remove(&quot;gallery__viewport--display&quot;);
            image.classList.remove(&quot;gallery__viewport__image--display&quot;);
            const selector = &#x27;[aria-controls=&quot;&#x27; + image.getAttribute(&quot;id&quot;) + &#x27;&quot;]&#x27;
            const controlsButton = document.querySelector(selector);
            controlsButton.setAttribute(&quot;aria-expanded&quot;, &quot;false&quot;);
        }
    }

    &#x2F;&#x2F; Define
    &#x2F;&#x2F; function displayImageWithButton(galleryId, button)
    if (typeof globalThis.displayImageWithButton === &quot;undefined&quot;) {
        globalThis.displayImageWithButton = function(galleryId, button) {
            button.focus();
            const fullscreenImageContainer = document.querySelector(&quot;#&quot; + galleryId + &quot; .gallery__viewport&quot;);
            fullscreenImageContainer.classList.add(&quot;gallery__viewport--display&quot;);
            const ariaControlsId = button.getAttribute(&quot;aria-controls&quot;);
            const controlledElement = document.getElementById(ariaControlsId);
            controlledElement.classList.add(&quot;gallery__viewport__image--display&quot;);
            button.setAttribute(&quot;aria-expanded&quot;, &quot;true&quot;);
        }
    }

    &#x2F;&#x2F; Define
    &#x2F;&#x2F; function displayImageWithControlledElement(galleryId, button)
    if (typeof globalThis.displayImageWithControlledElement === &quot;undefined&quot;) {
        globalThis.displayImageWithControlledElement = function(galleryId, controlledElement) {
            const selector = &#x27;[aria-controls=&quot;&#x27; + controlledElement.getAttribute(&quot;id&quot;) + &#x27;&quot;]&#x27;
            const controlsButton = document.querySelector(selector);
            displayImageWithButton(galleryId, controlsButton);
        }
    }

    &#x2F;&#x2F; Define
    &#x2F;&#x2F; function checkSwipeDirection(touchstartX, touchendX)
    if (typeof globalThis.checkSwipeDirection === &quot;undefined&quot;) {
        globalThis.checkSwipeDirection =  function(touchstartX, touchendX) {
            if (touchendX &lt; touchstartX) {
                return &quot;left&quot;;
            } else if (touchendX &gt; touchstartX) {
                return &quot;right&quot;;
            } else {
                return &quot;&quot;;
            }
        }
    }

    &#x2F;&#x2F; Define
    &#x2F;&#x2F; function displayNextImage()
    if (typeof globalThis.displayNextImage === &quot;undefined&quot;) {
        globalThis.displayNextImage = function() {
            const controlledElement = document.getElementsByClassName(&quot;gallery__viewport__image--display&quot;)[0];
            if (controlledElement !== undefined) {
                hideDisplayedImage(&quot;galleryphonostnazaire&quot;, controlledElement);

                let newControlledElement = controlledElement.nextElementSibling;
                if (newControlledElement === null) {
                    newControlledElement = controlledElement.parentElement.firstElementChild;
                }

                if (newControlledElement !== null &amp;&amp; newControlledElement !== undefined) {
                    displayImageWithControlledElement(&quot;galleryphonostnazaire&quot;, newControlledElement);
                }
            }
        }
    }

    &#x2F;&#x2F; Define
    &#x2F;&#x2F; function displayPreviousImage()
    if (typeof globalThis.displayPreviousImage === &quot;undefined&quot;) {
        globalThis.displayPreviousImage = function () {
            const controlledElement = document.getElementsByClassName(&quot;gallery__viewport__image--display&quot;)[0];
            if (controlledElement !== undefined) {
                hideDisplayedImage(&quot;galleryphonostnazaire&quot;, controlledElement);

                let newControlledElement = controlledElement.previousElementSibling;
                if (newControlledElement === null) {
                    newControlledElement = controlledElement.parentElement.lastElementChild;
                }

                if (newControlledElement !== null &amp;&amp; newControlledElement !== undefined) {
                    displayImageWithControlledElement(&quot;galleryphonostnazaire&quot;, newControlledElement);
                }
            }
        }
    }

    &#x2F;&#x2F; Init
    &#x2F;&#x2F; Gallery Buttons
    const galleryButtonsgalleryphonostnazaire = document.querySelectorAll(&quot;#galleryphonostnazaire .gallery__selector__button&quot;);
    for (let i = 0; i &lt; galleryButtonsgalleryphonostnazaire.length; i++) {

        &#x2F;&#x2F; Click
        galleryButtonsgalleryphonostnazaire[i].addEventListener(&quot;click&quot;, function(event) {
            displayImageWithButton(&quot;galleryphonostnazaire&quot;, this);
        });

        &#x2F;&#x2F; Focus In
        galleryButtonsgalleryphonostnazaire[i].addEventListener(&#x27;focusin&#x27;, function(event) {
            const previousFocusableItem = event.relatedTarget;
            const displayedImages = document.getElementsByClassName(&quot;gallery__viewport__image--display&quot;);
            if (
                (previousFocusableItem === null || !previousFocusableItem.classList.contains(&quot;gallery__selector__button&quot;))
                &amp;&amp; displayedImages.length &gt; 0
            ) {
                &#x2F;&#x2F; Hide all displayed images
                const displayedImages = document.getElementsByClassName(&quot;gallery__viewport__image--display&quot;);
                if (displayedImages.length &gt; 0) {
                    for (let i = 0; i &lt; displayedImages.length; i++) {
                        hideDisplayedImage(&quot;galleryphonostnazaire&quot;, displayedImages[i]);
                    }
                }
                displayImageWithButton(&quot;galleryphonostnazaire&quot;, this);
            }
        });

        &#x2F;&#x2F; Focus Out
        galleryButtonsgalleryphonostnazaire[i].addEventListener(&#x27;focusout&#x27;, function(event) {
            &#x2F;&#x2F; Prevent focus out actions if it&#x27;s a click on a gallery viewport element.
            const eventOriginClassList = event.explicitOriginalTarget.classList;
            if (
                eventOriginClassList.contains(&quot;gallery__viewport__image&quot;)
                || eventOriginClassList.contains(&quot;gallery__viewport__controls&quot;)
                || eventOriginClassList.contains(&quot;gallery__viewport__controls__nav-button&quot;)
                || eventOriginClassList.contains(&quot;gallery__viewport__controls__nav-close-btn&quot;)
                || eventOriginClassList.contains(&quot;gallery__viewport&quot;)
            ) {
                return;
            }

            &#x2F;&#x2F; Hide all displayed images
            const displayedImages = document.getElementsByClassName(&quot;gallery__viewport__image--display&quot;);
            if (displayedImages.length &gt; 0) {
                for (let i = 0; i &lt; displayedImages.length; i++) {
                    hideDisplayedImage(&quot;galleryphonostnazaire&quot;, displayedImages[i]);
                }
                const nextFocusableItem = event.relatedTarget;
                if (nextFocusableItem != null &amp;&amp; nextFocusableItem.classList.contains(&quot;gallery__selector__button&quot;)) {
                    displayImageWithButton(&quot;galleryphonostnazaire&quot;, nextFocusableItem);
                }
            }
        });
    }

    &#x2F;&#x2F; Previous Button
    &#x2F;&#x2F; Click
    const previousImageButtongalleryphonostnazaire = document.querySelector(&quot;#galleryphonostnazaire .gallery__viewport__controls__nav-button--left&quot;);
    previousImageButtongalleryphonostnazaire.addEventListener(&#x27;click&#x27;, function(event) {
        displayPreviousImage();
    });

    &#x2F;&#x2F; Next Button
    &#x2F;&#x2F; Click
    const nextImageButtongalleryphonostnazaire = document.querySelector(&quot;#galleryphonostnazaire .gallery__viewport__controls__nav-button--right&quot;);
    nextImageButtongalleryphonostnazaire.addEventListener(&#x27;click&#x27;, function(event) {
        displayNextImage();
    });

    &#x2F;&#x2F; Close Button
    &#x2F;&#x2F; Click
    const closeImageButtongalleryphonostnazaire = document.querySelector(&quot;#galleryphonostnazaire .gallery__viewport__controls__nav-close-btn&quot;);
    closeImageButtongalleryphonostnazaire.addEventListener(&#x27;click&#x27;, function(event) {
        const controlledElement = document.getElementsByClassName(&quot;gallery__viewport__image--display&quot;)[0];
        if (controlledElement !== undefined) {
            hideDisplayedImage(&quot;galleryphonostnazaire&quot;, controlledElement);
        }
    });

    &#x2F;&#x2F; Keyboard Controls
    document.addEventListener(&#x27;keydown&#x27;, (event) =&gt; {
        const controlledElement = document.getElementsByClassName(&quot;gallery__viewport__image--display&quot;)[0];
        if (controlledElement !== undefined) {

            &#x2F;&#x2F; Hide image
            &#x2F;&#x2F; ESC, LEFT, RIGHT
            if (event.code === &#x27;Escape&#x27; || event.code === &#x27;ArrowLeft&#x27; || event.code === &#x27;ArrowRight&#x27;) {
                hideDisplayedImage(&quot;galleryphonostnazaire&quot;, controlledElement);
            }

            let newControlledElement;

            &#x2F;&#x2F; Select new controlled element(image)
            &#x2F;&#x2F; LEFT
            if (event.code === &#x27;ArrowLeft&#x27;) {
                newControlledElement = controlledElement.previousElementSibling;
                if (newControlledElement === null) {
                    newControlledElement = controlledElement.parentElement.lastElementChild;
                }
            }
            &#x2F;&#x2F; RIGHT
            if (event.code === &#x27;ArrowRight&#x27;) {
                newControlledElement = controlledElement.nextElementSibling;
                if (newControlledElement === null) {
                    newControlledElement = controlledElement.parentElement.firstElementChild;
                }
            }

            &#x2F;&#x2F; Active button and display image
            if (newControlledElement !== null &amp;&amp; newControlledElement !== undefined) {
                displayImageWithControlledElement(&quot;galleryphonostnazaire&quot;, newControlledElement);
            }
        }
    })

    &#x2F;&#x2F; Touch Gesture
    let touchstartXgalleryphonostnazaire = 0;
    let touchendXgalleryphonostnazaire = 0;

    const galleryViewportgalleryphonostnazaire = document.getElementsByClassName(&quot;gallery__viewport&quot;)[0];
    if (galleryViewportgalleryphonostnazaire !== undefined) {

        galleryViewportgalleryphonostnazaire.addEventListener(&#x27;touchstart&#x27;, function(event) {
            touchstartXgalleryphonostnazaire = event.changedTouches[0].screenX
        });

        galleryViewportgalleryphonostnazaire.addEventListener(&#x27;touchend&#x27;, function(event) {
            touchendXgalleryphonostnazaire = event.changedTouches[0].screenX
            const direction = checkSwipeDirection(touchstartXgalleryphonostnazaire, touchendXgalleryphonostnazaire);
            if (direction === &quot;left&quot;) {
                displayPreviousImage();
            } else if (direction === &quot;right&quot;) {
                displayNextImage();
            }
        });

        galleryViewportgalleryphonostnazaire.addEventListner(&#x27;touchmove&#x27;, function(event) {
            event.preventDefault();
            event.stopPropagation();
        });
    }
&lt;&#x2F;script&gt;</content>
        
    </entry>
    <entry xml:lang="fr">
        <title>St-Nazaire Virtuel</title>
        <published>2018-01-01T00:00:00+00:00</published>
        <updated>2018-01-01T00:00:00+00:00</updated>
        
        <author>
          <name>
            
              Pierre Tremblay-Thériault
            
          </name>
        </author>
        
        <link rel="alternate" type="text/html" href="https://lapinchatware.ca/arts/st-nazaire-virtuel/"/>
        <id>https://lapinchatware.ca/arts/st-nazaire-virtuel/</id>
        
        <content type="html" xml:base="https://lapinchatware.ca/arts/st-nazaire-virtuel/">&lt;div id=&quot;iframestnazairevirtuel&quot; class=&quot;shortcodes-iframe&quot;&gt;
    &lt;a class=&quot;shortcodes-iframe__skip-link sr-only&quot; href=&quot;#iFrameSkipiframestnazairevirtuel&quot;&gt;Ne pas interagir avec l&#x27;expérience artistique web et aller à la suite du contenu.&lt;&#x2F;a&gt;
    &lt;div class=&quot;shortcodes-iframe__content&quot;&gt;
        &lt;iframe
                class=&quot;shortcodes-iframe__iframe&quot;
                width=&quot;100%&quot;
                height=&quot;100%&quot;
                src=&quot;https:&amp;#x2F;&amp;#x2F;st-nazaire-virtuel.dramaturgiesonore.com&quot;
                frameborder=&quot;0&quot;
                webkitallowfullscreen=&quot;&quot;
                mozallowfullscreen=&quot;&quot;
                allowfullscreen=&quot;&quot;
        &gt;&lt;&#x2F;iframe&gt;
    &lt;&#x2F;div&gt;
    &lt;span id=&quot;iFrameSkipiframestnazairevirtuel&quot; class=&quot;shortcodes-iframe__skip-anchor sr-only&quot;&gt;Suite du contenu&lt;&#x2F;span&gt;
&lt;&#x2F;div&gt;
&lt;script type=&quot;text&#x2F;javascript&quot;&gt;
    &#x2F;&#x2F; Check if we are on a mobile device
    if (typeof globalThis.deviceIsMobile === &quot;undefined&quot;) {
        globalThis.deviceIsMobile = () =&gt; &#x2F;Mobile|Android|iPhone|iPad&#x2F;i.test(navigator.userAgent);
    }
    &#x2F;&#x2F; Resize iFrame on window resizing
    if (typeof globalThis.iFrameResize === &quot;undefined&quot;) {
        globalThis.iFrameResize = (container) =&gt; container.style.height = (container.getBoundingClientRect()[&quot;width&quot;] * 0.5625) + &quot;px&quot;;
    }

    const iFrameContaineriframestnazairevirtuel= document.getElementById(&quot;iframestnazairevirtuel&quot;).querySelector(&quot;.shortcodes-iframe__content&quot;);
    &#x2F;&#x2F; Hide iFrame if on mobile
    if (iFrameContaineriframestnazairevirtuel!== undefined) {
        if( deviceIsMobile() &amp;&amp;true) {
            iFrameContaineriframestnazairevirtuel.style.display = &quot;none&quot;;
        } else {
            iFrameResize(iFrameContaineriframestnazairevirtuel);
            globalThis.addEventListener(&quot;resize&quot;, function(event) {
                iFrameResize(iFrameContaineriframestnazairevirtuel);
            });
        }
    }
&lt;&#x2F;script&gt;
&lt;div id=&quot;gallerystnazairevirtuel&quot; class=&quot;gallery&quot;&gt;
    
    &lt;div class=&quot;gallery__viewport&quot;&gt;
        &lt;div class=&quot;gallery__viewport__images&quot;&gt;
            
            
                    
                    &lt;img id=&quot;gallerystnazairevirtuelimage0&quot; class=&quot;gallery__viewport__image&quot; src=&quot;&amp;#x2F;arts&amp;#x2F;st-nazaire-virtuel&amp;#x2F;gallery&amp;#x2F;phonomaritime_01.jpg&quot; alt=&quot;Capture d&amp;#x27;écran: image 1&quot;&#x2F;&gt;
                    
                    
                    &lt;img id=&quot;gallerystnazairevirtuelimage1&quot; class=&quot;gallery__viewport__image&quot; src=&quot;&amp;#x2F;arts&amp;#x2F;st-nazaire-virtuel&amp;#x2F;gallery&amp;#x2F;phonomaritime_02.jpg&quot; alt=&quot;Capture d&amp;#x27;écran: image 2&quot;&#x2F;&gt;
                    
                    
                    &lt;img id=&quot;gallerystnazairevirtuelimage2&quot; class=&quot;gallery__viewport__image&quot; src=&quot;&amp;#x2F;arts&amp;#x2F;st-nazaire-virtuel&amp;#x2F;gallery&amp;#x2F;phonomaritime_03.jpg&quot; alt=&quot;Capture d&amp;#x27;écran: image 3&quot;&#x2F;&gt;
                    
                    
                    &lt;img id=&quot;gallerystnazairevirtuelimage3&quot; class=&quot;gallery__viewport__image&quot; src=&quot;&amp;#x2F;arts&amp;#x2F;st-nazaire-virtuel&amp;#x2F;gallery&amp;#x2F;phonomaritime_04.jpg&quot; alt=&quot;Capture d&amp;#x27;écran: image 4&quot;&#x2F;&gt;
                    
                    
                    &lt;img id=&quot;gallerystnazairevirtuelimage4&quot; class=&quot;gallery__viewport__image&quot; src=&quot;&amp;#x2F;arts&amp;#x2F;st-nazaire-virtuel&amp;#x2F;gallery&amp;#x2F;phonomaritime_05.jpg&quot; alt=&quot;Capture d&amp;#x27;écran: image 5&quot;&#x2F;&gt;
                    
                    
                    &lt;img id=&quot;gallerystnazairevirtuelimage5&quot; class=&quot;gallery__viewport__image&quot; src=&quot;&amp;#x2F;arts&amp;#x2F;st-nazaire-virtuel&amp;#x2F;gallery&amp;#x2F;phonomaritime_06.jpg&quot; alt=&quot;Capture d&amp;#x27;écran: image 6&quot;&#x2F;&gt;
                    
                    
                    &lt;img id=&quot;gallerystnazairevirtuelimage6&quot; class=&quot;gallery__viewport__image&quot; src=&quot;&amp;#x2F;arts&amp;#x2F;st-nazaire-virtuel&amp;#x2F;gallery&amp;#x2F;phonomaritime_07.jpg&quot; alt=&quot;Capture d&amp;#x27;écran: image 7&quot;&#x2F;&gt;
                    
                    
                    &lt;img id=&quot;gallerystnazairevirtuelimage7&quot; class=&quot;gallery__viewport__image&quot; src=&quot;&amp;#x2F;arts&amp;#x2F;st-nazaire-virtuel&amp;#x2F;gallery&amp;#x2F;phonomaritime_08.jpg&quot; alt=&quot;Capture d&amp;#x27;écran: image 8&quot;&#x2F;&gt;
                    
                    
                    &lt;img id=&quot;gallerystnazairevirtuelimage8&quot; class=&quot;gallery__viewport__image&quot; src=&quot;&amp;#x2F;arts&amp;#x2F;st-nazaire-virtuel&amp;#x2F;gallery&amp;#x2F;phonomaritime_09.jpg&quot; alt=&quot;Capture d&amp;#x27;écran: image 9&quot;&#x2F;&gt;
                    
                    
                    &lt;img id=&quot;gallerystnazairevirtuelimage9&quot; class=&quot;gallery__viewport__image&quot; src=&quot;&amp;#x2F;arts&amp;#x2F;st-nazaire-virtuel&amp;#x2F;gallery&amp;#x2F;phonomaritime_10.jpg&quot; alt=&quot;Capture d&amp;#x27;écran: image 10&quot;&#x2F;&gt;
                    
        &lt;&#x2F;div&gt;
        &lt;div class=&quot;gallery__viewport__controls&quot;&gt;
            &lt;img class=&quot;gallery__viewport__controls__nav-button gallery__viewport__controls__nav-button--left&quot; src=&quot;&#x2F;images&#x2F;angle-left.svg&quot; alt=&quot;Voir l&#x27;image précédente.&quot; aria-hidden=&quot;true&quot;&#x2F;&gt;
            &lt;img class=&quot;gallery__viewport__controls__nav-button gallery__viewport__controls__nav-button--right&quot; src=&quot;&#x2F;images&#x2F;angle-right.svg&quot; alt=&quot;Voir l&#x27;image suivante.&quot; aria-hidden=&quot;true&quot;&#x2F;&gt;
            &lt;img class=&quot;gallery__viewport__controls__nav-close-btn&quot; src=&quot;&#x2F;images&#x2F;close-icon.svg&quot; alt=&quot;Fermer la gallery&quot;&#x2F;&gt;
        &lt;&#x2F;div&gt;
    &lt;&#x2F;div&gt;
    &lt;ul class=&quot;gallery__selector&quot;&gt;
        
        
                
                &lt;li class=&quot;gallery__selector__item&quot;&gt;
                    &lt;button
                            class=&quot;gallery__selector__button&quot;
                            aria-expanded=&quot;false&quot;
                            aria-controls=&quot;gallerystnazairevirtuelimage0&quot;
                            aria-label=&quot;Voir l&#x27;image &amp;quot;Capture d&amp;#x27;écran: image 1&amp;quot;&quot;
                            type=&quot;button&quot;
                    &gt;
                        &lt;img class=&quot;gallery__selector__image&quot; src=&quot;&amp;#x2F;arts&amp;#x2F;st-nazaire-virtuel&amp;#x2F;gallery&amp;#x2F;phonomaritime_01.jpg&quot; alt=&quot;Capture d&amp;#x27;écran: image 1&quot;&#x2F;&gt;
                    &lt;&#x2F;button&gt;
                &lt;&#x2F;li&gt;
                
                
                &lt;li class=&quot;gallery__selector__item&quot;&gt;
                    &lt;button
                            class=&quot;gallery__selector__button&quot;
                            aria-expanded=&quot;false&quot;
                            aria-controls=&quot;gallerystnazairevirtuelimage1&quot;
                            aria-label=&quot;Voir l&#x27;image &amp;quot;Capture d&amp;#x27;écran: image 2&amp;quot;&quot;
                            type=&quot;button&quot;
                    &gt;
                        &lt;img class=&quot;gallery__selector__image&quot; src=&quot;&amp;#x2F;arts&amp;#x2F;st-nazaire-virtuel&amp;#x2F;gallery&amp;#x2F;phonomaritime_02.jpg&quot; alt=&quot;Capture d&amp;#x27;écran: image 2&quot;&#x2F;&gt;
                    &lt;&#x2F;button&gt;
                &lt;&#x2F;li&gt;
                
                
                &lt;li class=&quot;gallery__selector__item&quot;&gt;
                    &lt;button
                            class=&quot;gallery__selector__button&quot;
                            aria-expanded=&quot;false&quot;
                            aria-controls=&quot;gallerystnazairevirtuelimage2&quot;
                            aria-label=&quot;Voir l&#x27;image &amp;quot;Capture d&amp;#x27;écran: image 3&amp;quot;&quot;
                            type=&quot;button&quot;
                    &gt;
                        &lt;img class=&quot;gallery__selector__image&quot; src=&quot;&amp;#x2F;arts&amp;#x2F;st-nazaire-virtuel&amp;#x2F;gallery&amp;#x2F;phonomaritime_03.jpg&quot; alt=&quot;Capture d&amp;#x27;écran: image 3&quot;&#x2F;&gt;
                    &lt;&#x2F;button&gt;
                &lt;&#x2F;li&gt;
                
                
                &lt;li class=&quot;gallery__selector__item&quot;&gt;
                    &lt;button
                            class=&quot;gallery__selector__button&quot;
                            aria-expanded=&quot;false&quot;
                            aria-controls=&quot;gallerystnazairevirtuelimage3&quot;
                            aria-label=&quot;Voir l&#x27;image &amp;quot;Capture d&amp;#x27;écran: image 4&amp;quot;&quot;
                            type=&quot;button&quot;
                    &gt;
                        &lt;img class=&quot;gallery__selector__image&quot; src=&quot;&amp;#x2F;arts&amp;#x2F;st-nazaire-virtuel&amp;#x2F;gallery&amp;#x2F;phonomaritime_04.jpg&quot; alt=&quot;Capture d&amp;#x27;écran: image 4&quot;&#x2F;&gt;
                    &lt;&#x2F;button&gt;
                &lt;&#x2F;li&gt;
                
                
                &lt;li class=&quot;gallery__selector__item&quot;&gt;
                    &lt;button
                            class=&quot;gallery__selector__button&quot;
                            aria-expanded=&quot;false&quot;
                            aria-controls=&quot;gallerystnazairevirtuelimage4&quot;
                            aria-label=&quot;Voir l&#x27;image &amp;quot;Capture d&amp;#x27;écran: image 5&amp;quot;&quot;
                            type=&quot;button&quot;
                    &gt;
                        &lt;img class=&quot;gallery__selector__image&quot; src=&quot;&amp;#x2F;arts&amp;#x2F;st-nazaire-virtuel&amp;#x2F;gallery&amp;#x2F;phonomaritime_05.jpg&quot; alt=&quot;Capture d&amp;#x27;écran: image 5&quot;&#x2F;&gt;
                    &lt;&#x2F;button&gt;
                &lt;&#x2F;li&gt;
                
                
                &lt;li class=&quot;gallery__selector__item&quot;&gt;
                    &lt;button
                            class=&quot;gallery__selector__button&quot;
                            aria-expanded=&quot;false&quot;
                            aria-controls=&quot;gallerystnazairevirtuelimage5&quot;
                            aria-label=&quot;Voir l&#x27;image &amp;quot;Capture d&amp;#x27;écran: image 6&amp;quot;&quot;
                            type=&quot;button&quot;
                    &gt;
                        &lt;img class=&quot;gallery__selector__image&quot; src=&quot;&amp;#x2F;arts&amp;#x2F;st-nazaire-virtuel&amp;#x2F;gallery&amp;#x2F;phonomaritime_06.jpg&quot; alt=&quot;Capture d&amp;#x27;écran: image 6&quot;&#x2F;&gt;
                    &lt;&#x2F;button&gt;
                &lt;&#x2F;li&gt;
                
                
                &lt;li class=&quot;gallery__selector__item&quot;&gt;
                    &lt;button
                            class=&quot;gallery__selector__button&quot;
                            aria-expanded=&quot;false&quot;
                            aria-controls=&quot;gallerystnazairevirtuelimage6&quot;
                            aria-label=&quot;Voir l&#x27;image &amp;quot;Capture d&amp;#x27;écran: image 7&amp;quot;&quot;
                            type=&quot;button&quot;
                    &gt;
                        &lt;img class=&quot;gallery__selector__image&quot; src=&quot;&amp;#x2F;arts&amp;#x2F;st-nazaire-virtuel&amp;#x2F;gallery&amp;#x2F;phonomaritime_07.jpg&quot; alt=&quot;Capture d&amp;#x27;écran: image 7&quot;&#x2F;&gt;
                    &lt;&#x2F;button&gt;
                &lt;&#x2F;li&gt;
                
                
                &lt;li class=&quot;gallery__selector__item&quot;&gt;
                    &lt;button
                            class=&quot;gallery__selector__button&quot;
                            aria-expanded=&quot;false&quot;
                            aria-controls=&quot;gallerystnazairevirtuelimage7&quot;
                            aria-label=&quot;Voir l&#x27;image &amp;quot;Capture d&amp;#x27;écran: image 8&amp;quot;&quot;
                            type=&quot;button&quot;
                    &gt;
                        &lt;img class=&quot;gallery__selector__image&quot; src=&quot;&amp;#x2F;arts&amp;#x2F;st-nazaire-virtuel&amp;#x2F;gallery&amp;#x2F;phonomaritime_08.jpg&quot; alt=&quot;Capture d&amp;#x27;écran: image 8&quot;&#x2F;&gt;
                    &lt;&#x2F;button&gt;
                &lt;&#x2F;li&gt;
                
                
                &lt;li class=&quot;gallery__selector__item&quot;&gt;
                    &lt;button
                            class=&quot;gallery__selector__button&quot;
                            aria-expanded=&quot;false&quot;
                            aria-controls=&quot;gallerystnazairevirtuelimage8&quot;
                            aria-label=&quot;Voir l&#x27;image &amp;quot;Capture d&amp;#x27;écran: image 9&amp;quot;&quot;
                            type=&quot;button&quot;
                    &gt;
                        &lt;img class=&quot;gallery__selector__image&quot; src=&quot;&amp;#x2F;arts&amp;#x2F;st-nazaire-virtuel&amp;#x2F;gallery&amp;#x2F;phonomaritime_09.jpg&quot; alt=&quot;Capture d&amp;#x27;écran: image 9&quot;&#x2F;&gt;
                    &lt;&#x2F;button&gt;
                &lt;&#x2F;li&gt;
                
                
                &lt;li class=&quot;gallery__selector__item&quot;&gt;
                    &lt;button
                            class=&quot;gallery__selector__button&quot;
                            aria-expanded=&quot;false&quot;
                            aria-controls=&quot;gallerystnazairevirtuelimage9&quot;
                            aria-label=&quot;Voir l&#x27;image &amp;quot;Capture d&amp;#x27;écran: image 10&amp;quot;&quot;
                            type=&quot;button&quot;
                    &gt;
                        &lt;img class=&quot;gallery__selector__image&quot; src=&quot;&amp;#x2F;arts&amp;#x2F;st-nazaire-virtuel&amp;#x2F;gallery&amp;#x2F;phonomaritime_10.jpg&quot; alt=&quot;Capture d&amp;#x27;écran: image 10&quot;&#x2F;&gt;
                    &lt;&#x2F;button&gt;
                &lt;&#x2F;li&gt;
                
    &lt;&#x2F;ul&gt;
&lt;&#x2F;div&gt;
&lt;script&gt;
    &#x2F;&#x2F; Define
    &#x2F;&#x2F; function hideDisplayedImage(galleryId, image)
    if (typeof globalThis.hideDisplayedImage === &quot;undefined&quot;) {
        globalThis.hideDisplayedImage = function(galleryId, image) {
            const fullscreenImageContainer = document.querySelector(&quot;#&quot; + galleryId + &quot; .gallery__viewport&quot;);
            fullscreenImageContainer.classList.remove(&quot;gallery__viewport--display&quot;);
            image.classList.remove(&quot;gallery__viewport__image--display&quot;);
            const selector = &#x27;[aria-controls=&quot;&#x27; + image.getAttribute(&quot;id&quot;) + &#x27;&quot;]&#x27;
            const controlsButton = document.querySelector(selector);
            controlsButton.setAttribute(&quot;aria-expanded&quot;, &quot;false&quot;);
        }
    }

    &#x2F;&#x2F; Define
    &#x2F;&#x2F; function displayImageWithButton(galleryId, button)
    if (typeof globalThis.displayImageWithButton === &quot;undefined&quot;) {
        globalThis.displayImageWithButton = function(galleryId, button) {
            button.focus();
            const fullscreenImageContainer = document.querySelector(&quot;#&quot; + galleryId + &quot; .gallery__viewport&quot;);
            fullscreenImageContainer.classList.add(&quot;gallery__viewport--display&quot;);
            const ariaControlsId = button.getAttribute(&quot;aria-controls&quot;);
            const controlledElement = document.getElementById(ariaControlsId);
            controlledElement.classList.add(&quot;gallery__viewport__image--display&quot;);
            button.setAttribute(&quot;aria-expanded&quot;, &quot;true&quot;);
        }
    }

    &#x2F;&#x2F; Define
    &#x2F;&#x2F; function displayImageWithControlledElement(galleryId, button)
    if (typeof globalThis.displayImageWithControlledElement === &quot;undefined&quot;) {
        globalThis.displayImageWithControlledElement = function(galleryId, controlledElement) {
            const selector = &#x27;[aria-controls=&quot;&#x27; + controlledElement.getAttribute(&quot;id&quot;) + &#x27;&quot;]&#x27;
            const controlsButton = document.querySelector(selector);
            displayImageWithButton(galleryId, controlsButton);
        }
    }

    &#x2F;&#x2F; Define
    &#x2F;&#x2F; function checkSwipeDirection(touchstartX, touchendX)
    if (typeof globalThis.checkSwipeDirection === &quot;undefined&quot;) {
        globalThis.checkSwipeDirection =  function(touchstartX, touchendX) {
            if (touchendX &lt; touchstartX) {
                return &quot;left&quot;;
            } else if (touchendX &gt; touchstartX) {
                return &quot;right&quot;;
            } else {
                return &quot;&quot;;
            }
        }
    }

    &#x2F;&#x2F; Define
    &#x2F;&#x2F; function displayNextImage()
    if (typeof globalThis.displayNextImage === &quot;undefined&quot;) {
        globalThis.displayNextImage = function() {
            const controlledElement = document.getElementsByClassName(&quot;gallery__viewport__image--display&quot;)[0];
            if (controlledElement !== undefined) {
                hideDisplayedImage(&quot;gallerystnazairevirtuel&quot;, controlledElement);

                let newControlledElement = controlledElement.nextElementSibling;
                if (newControlledElement === null) {
                    newControlledElement = controlledElement.parentElement.firstElementChild;
                }

                if (newControlledElement !== null &amp;&amp; newControlledElement !== undefined) {
                    displayImageWithControlledElement(&quot;gallerystnazairevirtuel&quot;, newControlledElement);
                }
            }
        }
    }

    &#x2F;&#x2F; Define
    &#x2F;&#x2F; function displayPreviousImage()
    if (typeof globalThis.displayPreviousImage === &quot;undefined&quot;) {
        globalThis.displayPreviousImage = function () {
            const controlledElement = document.getElementsByClassName(&quot;gallery__viewport__image--display&quot;)[0];
            if (controlledElement !== undefined) {
                hideDisplayedImage(&quot;gallerystnazairevirtuel&quot;, controlledElement);

                let newControlledElement = controlledElement.previousElementSibling;
                if (newControlledElement === null) {
                    newControlledElement = controlledElement.parentElement.lastElementChild;
                }

                if (newControlledElement !== null &amp;&amp; newControlledElement !== undefined) {
                    displayImageWithControlledElement(&quot;gallerystnazairevirtuel&quot;, newControlledElement);
                }
            }
        }
    }

    &#x2F;&#x2F; Init
    &#x2F;&#x2F; Gallery Buttons
    const galleryButtonsgallerystnazairevirtuel = document.querySelectorAll(&quot;#gallerystnazairevirtuel .gallery__selector__button&quot;);
    for (let i = 0; i &lt; galleryButtonsgallerystnazairevirtuel.length; i++) {

        &#x2F;&#x2F; Click
        galleryButtonsgallerystnazairevirtuel[i].addEventListener(&quot;click&quot;, function(event) {
            displayImageWithButton(&quot;gallerystnazairevirtuel&quot;, this);
        });

        &#x2F;&#x2F; Focus In
        galleryButtonsgallerystnazairevirtuel[i].addEventListener(&#x27;focusin&#x27;, function(event) {
            const previousFocusableItem = event.relatedTarget;
            const displayedImages = document.getElementsByClassName(&quot;gallery__viewport__image--display&quot;);
            if (
                (previousFocusableItem === null || !previousFocusableItem.classList.contains(&quot;gallery__selector__button&quot;))
                &amp;&amp; displayedImages.length &gt; 0
            ) {
                &#x2F;&#x2F; Hide all displayed images
                const displayedImages = document.getElementsByClassName(&quot;gallery__viewport__image--display&quot;);
                if (displayedImages.length &gt; 0) {
                    for (let i = 0; i &lt; displayedImages.length; i++) {
                        hideDisplayedImage(&quot;gallerystnazairevirtuel&quot;, displayedImages[i]);
                    }
                }
                displayImageWithButton(&quot;gallerystnazairevirtuel&quot;, this);
            }
        });

        &#x2F;&#x2F; Focus Out
        galleryButtonsgallerystnazairevirtuel[i].addEventListener(&#x27;focusout&#x27;, function(event) {
            &#x2F;&#x2F; Prevent focus out actions if it&#x27;s a click on a gallery viewport element.
            const eventOriginClassList = event.explicitOriginalTarget.classList;
            if (
                eventOriginClassList.contains(&quot;gallery__viewport__image&quot;)
                || eventOriginClassList.contains(&quot;gallery__viewport__controls&quot;)
                || eventOriginClassList.contains(&quot;gallery__viewport__controls__nav-button&quot;)
                || eventOriginClassList.contains(&quot;gallery__viewport__controls__nav-close-btn&quot;)
                || eventOriginClassList.contains(&quot;gallery__viewport&quot;)
            ) {
                return;
            }

            &#x2F;&#x2F; Hide all displayed images
            const displayedImages = document.getElementsByClassName(&quot;gallery__viewport__image--display&quot;);
            if (displayedImages.length &gt; 0) {
                for (let i = 0; i &lt; displayedImages.length; i++) {
                    hideDisplayedImage(&quot;gallerystnazairevirtuel&quot;, displayedImages[i]);
                }
                const nextFocusableItem = event.relatedTarget;
                if (nextFocusableItem != null &amp;&amp; nextFocusableItem.classList.contains(&quot;gallery__selector__button&quot;)) {
                    displayImageWithButton(&quot;gallerystnazairevirtuel&quot;, nextFocusableItem);
                }
            }
        });
    }

    &#x2F;&#x2F; Previous Button
    &#x2F;&#x2F; Click
    const previousImageButtongallerystnazairevirtuel = document.querySelector(&quot;#gallerystnazairevirtuel .gallery__viewport__controls__nav-button--left&quot;);
    previousImageButtongallerystnazairevirtuel.addEventListener(&#x27;click&#x27;, function(event) {
        displayPreviousImage();
    });

    &#x2F;&#x2F; Next Button
    &#x2F;&#x2F; Click
    const nextImageButtongallerystnazairevirtuel = document.querySelector(&quot;#gallerystnazairevirtuel .gallery__viewport__controls__nav-button--right&quot;);
    nextImageButtongallerystnazairevirtuel.addEventListener(&#x27;click&#x27;, function(event) {
        displayNextImage();
    });

    &#x2F;&#x2F; Close Button
    &#x2F;&#x2F; Click
    const closeImageButtongallerystnazairevirtuel = document.querySelector(&quot;#gallerystnazairevirtuel .gallery__viewport__controls__nav-close-btn&quot;);
    closeImageButtongallerystnazairevirtuel.addEventListener(&#x27;click&#x27;, function(event) {
        const controlledElement = document.getElementsByClassName(&quot;gallery__viewport__image--display&quot;)[0];
        if (controlledElement !== undefined) {
            hideDisplayedImage(&quot;gallerystnazairevirtuel&quot;, controlledElement);
        }
    });

    &#x2F;&#x2F; Keyboard Controls
    document.addEventListener(&#x27;keydown&#x27;, (event) =&gt; {
        const controlledElement = document.getElementsByClassName(&quot;gallery__viewport__image--display&quot;)[0];
        if (controlledElement !== undefined) {

            &#x2F;&#x2F; Hide image
            &#x2F;&#x2F; ESC, LEFT, RIGHT
            if (event.code === &#x27;Escape&#x27; || event.code === &#x27;ArrowLeft&#x27; || event.code === &#x27;ArrowRight&#x27;) {
                hideDisplayedImage(&quot;gallerystnazairevirtuel&quot;, controlledElement);
            }

            let newControlledElement;

            &#x2F;&#x2F; Select new controlled element(image)
            &#x2F;&#x2F; LEFT
            if (event.code === &#x27;ArrowLeft&#x27;) {
                newControlledElement = controlledElement.previousElementSibling;
                if (newControlledElement === null) {
                    newControlledElement = controlledElement.parentElement.lastElementChild;
                }
            }
            &#x2F;&#x2F; RIGHT
            if (event.code === &#x27;ArrowRight&#x27;) {
                newControlledElement = controlledElement.nextElementSibling;
                if (newControlledElement === null) {
                    newControlledElement = controlledElement.parentElement.firstElementChild;
                }
            }

            &#x2F;&#x2F; Active button and display image
            if (newControlledElement !== null &amp;&amp; newControlledElement !== undefined) {
                displayImageWithControlledElement(&quot;gallerystnazairevirtuel&quot;, newControlledElement);
            }
        }
    })

    &#x2F;&#x2F; Touch Gesture
    let touchstartXgallerystnazairevirtuel = 0;
    let touchendXgallerystnazairevirtuel = 0;

    const galleryViewportgallerystnazairevirtuel = document.getElementsByClassName(&quot;gallery__viewport&quot;)[0];
    if (galleryViewportgallerystnazairevirtuel !== undefined) {

        galleryViewportgallerystnazairevirtuel.addEventListener(&#x27;touchstart&#x27;, function(event) {
            touchstartXgallerystnazairevirtuel = event.changedTouches[0].screenX
        });

        galleryViewportgallerystnazairevirtuel.addEventListener(&#x27;touchend&#x27;, function(event) {
            touchendXgallerystnazairevirtuel = event.changedTouches[0].screenX
            const direction = checkSwipeDirection(touchstartXgallerystnazairevirtuel, touchendXgallerystnazairevirtuel);
            if (direction === &quot;left&quot;) {
                displayPreviousImage();
            } else if (direction === &quot;right&quot;) {
                displayNextImage();
            }
        });

        galleryViewportgallerystnazairevirtuel.addEventListner(&#x27;touchmove&#x27;, function(event) {
            event.preventDefault();
            event.stopPropagation();
        });
    }
&lt;&#x2F;script&gt;</content>
        
    </entry>
    <entry xml:lang="fr">
        <title>Val-Jalbert Virtuel</title>
        <published>2018-01-01T00:00:00+00:00</published>
        <updated>2018-01-01T00:00:00+00:00</updated>
        
        <author>
          <name>
            
              Pierre Tremblay-Thériault
            
          </name>
        </author>
        
        <link rel="alternate" type="text/html" href="https://lapinchatware.ca/arts/val-jalbert-virtuel/"/>
        <id>https://lapinchatware.ca/arts/val-jalbert-virtuel/</id>
        
        <content type="html" xml:base="https://lapinchatware.ca/arts/val-jalbert-virtuel/">&lt;div id=&quot;iframevaljalbertvirtuel&quot; class=&quot;shortcodes-iframe&quot;&gt;
    &lt;a class=&quot;shortcodes-iframe__skip-link sr-only&quot; href=&quot;#iFrameSkipiframevaljalbertvirtuel&quot;&gt;Ne pas interagir avec l&#x27;expérience artistique web et aller à la suite du contenu.&lt;&#x2F;a&gt;
    &lt;div class=&quot;shortcodes-iframe__content&quot;&gt;
        &lt;iframe
                class=&quot;shortcodes-iframe__iframe&quot;
                width=&quot;100%&quot;
                height=&quot;100%&quot;
                src=&quot;https:&amp;#x2F;&amp;#x2F;val-jalbert-virtuel.dramaturgiesonore.com&amp;#x2F;&quot;
                frameborder=&quot;0&quot;
                webkitallowfullscreen=&quot;&quot;
                mozallowfullscreen=&quot;&quot;
                allowfullscreen=&quot;&quot;
        &gt;&lt;&#x2F;iframe&gt;
    &lt;&#x2F;div&gt;
    &lt;span id=&quot;iFrameSkipiframevaljalbertvirtuel&quot; class=&quot;shortcodes-iframe__skip-anchor sr-only&quot;&gt;Suite du contenu&lt;&#x2F;span&gt;
&lt;&#x2F;div&gt;
&lt;script type=&quot;text&#x2F;javascript&quot;&gt;
    &#x2F;&#x2F; Check if we are on a mobile device
    if (typeof globalThis.deviceIsMobile === &quot;undefined&quot;) {
        globalThis.deviceIsMobile = () =&gt; &#x2F;Mobile|Android|iPhone|iPad&#x2F;i.test(navigator.userAgent);
    }
    &#x2F;&#x2F; Resize iFrame on window resizing
    if (typeof globalThis.iFrameResize === &quot;undefined&quot;) {
        globalThis.iFrameResize = (container) =&gt; container.style.height = (container.getBoundingClientRect()[&quot;width&quot;] * 0.5625) + &quot;px&quot;;
    }

    const iFrameContaineriframevaljalbertvirtuel= document.getElementById(&quot;iframevaljalbertvirtuel&quot;).querySelector(&quot;.shortcodes-iframe__content&quot;);
    &#x2F;&#x2F; Hide iFrame if on mobile
    if (iFrameContaineriframevaljalbertvirtuel!== undefined) {
        if( deviceIsMobile() &amp;&amp;true) {
            iFrameContaineriframevaljalbertvirtuel.style.display = &quot;none&quot;;
        } else {
            iFrameResize(iFrameContaineriframevaljalbertvirtuel);
            globalThis.addEventListener(&quot;resize&quot;, function(event) {
                iFrameResize(iFrameContaineriframevaljalbertvirtuel);
            });
        }
    }
&lt;&#x2F;script&gt;
&lt;div id=&quot;galleryvaljalbertvirtuel&quot; class=&quot;gallery&quot;&gt;
    
    &lt;div class=&quot;gallery__viewport&quot;&gt;
        &lt;div class=&quot;gallery__viewport__images&quot;&gt;
            
            
                    
                    &lt;img id=&quot;galleryvaljalbertvirtuelimage0&quot; class=&quot;gallery__viewport__image&quot; src=&quot;&amp;#x2F;arts&amp;#x2F;val-jalbert-virtuel&amp;#x2F;gallery&amp;#x2F;valjalbertvirtuel_1.jpg&quot; alt=&quot;Capture d&amp;#x27;écran: image 1&quot;&#x2F;&gt;
                    
                    
                    &lt;img id=&quot;galleryvaljalbertvirtuelimage1&quot; class=&quot;gallery__viewport__image&quot; src=&quot;&amp;#x2F;arts&amp;#x2F;val-jalbert-virtuel&amp;#x2F;gallery&amp;#x2F;valjalbertvirtuel_10.jpg&quot; alt=&quot;Capture d&amp;#x27;écran: image 2&quot;&#x2F;&gt;
                    
                    
                    &lt;img id=&quot;galleryvaljalbertvirtuelimage2&quot; class=&quot;gallery__viewport__image&quot; src=&quot;&amp;#x2F;arts&amp;#x2F;val-jalbert-virtuel&amp;#x2F;gallery&amp;#x2F;valjalbertvirtuel_2.jpg&quot; alt=&quot;Capture d&amp;#x27;écran: image 3&quot;&#x2F;&gt;
                    
                    
                    &lt;img id=&quot;galleryvaljalbertvirtuelimage3&quot; class=&quot;gallery__viewport__image&quot; src=&quot;&amp;#x2F;arts&amp;#x2F;val-jalbert-virtuel&amp;#x2F;gallery&amp;#x2F;valjalbertvirtuel_3.jpg&quot; alt=&quot;Capture d&amp;#x27;écran: image 4&quot;&#x2F;&gt;
                    
                    
                    &lt;img id=&quot;galleryvaljalbertvirtuelimage4&quot; class=&quot;gallery__viewport__image&quot; src=&quot;&amp;#x2F;arts&amp;#x2F;val-jalbert-virtuel&amp;#x2F;gallery&amp;#x2F;valjalbertvirtuel_4.jpg&quot; alt=&quot;Capture d&amp;#x27;écran: image 5&quot;&#x2F;&gt;
                    
                    
                    &lt;img id=&quot;galleryvaljalbertvirtuelimage5&quot; class=&quot;gallery__viewport__image&quot; src=&quot;&amp;#x2F;arts&amp;#x2F;val-jalbert-virtuel&amp;#x2F;gallery&amp;#x2F;valjalbertvirtuel_5.jpg&quot; alt=&quot;Capture d&amp;#x27;écran: image 6&quot;&#x2F;&gt;
                    
                    
                    &lt;img id=&quot;galleryvaljalbertvirtuelimage6&quot; class=&quot;gallery__viewport__image&quot; src=&quot;&amp;#x2F;arts&amp;#x2F;val-jalbert-virtuel&amp;#x2F;gallery&amp;#x2F;valjalbertvirtuel_6.jpg&quot; alt=&quot;Capture d&amp;#x27;écran: image 7&quot;&#x2F;&gt;
                    
                    
                    &lt;img id=&quot;galleryvaljalbertvirtuelimage7&quot; class=&quot;gallery__viewport__image&quot; src=&quot;&amp;#x2F;arts&amp;#x2F;val-jalbert-virtuel&amp;#x2F;gallery&amp;#x2F;valjalbertvirtuel_7.jpg&quot; alt=&quot;Capture d&amp;#x27;écran: image 8&quot;&#x2F;&gt;
                    
                    
                    &lt;img id=&quot;galleryvaljalbertvirtuelimage8&quot; class=&quot;gallery__viewport__image&quot; src=&quot;&amp;#x2F;arts&amp;#x2F;val-jalbert-virtuel&amp;#x2F;gallery&amp;#x2F;valjalbertvirtuel_8.jpg&quot; alt=&quot;Capture d&amp;#x27;écran: image 9&quot;&#x2F;&gt;
                    
                    
                    &lt;img id=&quot;galleryvaljalbertvirtuelimage9&quot; class=&quot;gallery__viewport__image&quot; src=&quot;&amp;#x2F;arts&amp;#x2F;val-jalbert-virtuel&amp;#x2F;gallery&amp;#x2F;valjalbertvirtuel_9.jpg&quot; alt=&quot;Capture d&amp;#x27;écran: image 10&quot;&#x2F;&gt;
                    
        &lt;&#x2F;div&gt;
        &lt;div class=&quot;gallery__viewport__controls&quot;&gt;
            &lt;img class=&quot;gallery__viewport__controls__nav-button gallery__viewport__controls__nav-button--left&quot; src=&quot;&#x2F;images&#x2F;angle-left.svg&quot; alt=&quot;Voir l&#x27;image précédente.&quot; aria-hidden=&quot;true&quot;&#x2F;&gt;
            &lt;img class=&quot;gallery__viewport__controls__nav-button gallery__viewport__controls__nav-button--right&quot; src=&quot;&#x2F;images&#x2F;angle-right.svg&quot; alt=&quot;Voir l&#x27;image suivante.&quot; aria-hidden=&quot;true&quot;&#x2F;&gt;
            &lt;img class=&quot;gallery__viewport__controls__nav-close-btn&quot; src=&quot;&#x2F;images&#x2F;close-icon.svg&quot; alt=&quot;Fermer la gallery&quot;&#x2F;&gt;
        &lt;&#x2F;div&gt;
    &lt;&#x2F;div&gt;
    &lt;ul class=&quot;gallery__selector&quot;&gt;
        
        
                
                &lt;li class=&quot;gallery__selector__item&quot;&gt;
                    &lt;button
                            class=&quot;gallery__selector__button&quot;
                            aria-expanded=&quot;false&quot;
                            aria-controls=&quot;galleryvaljalbertvirtuelimage0&quot;
                            aria-label=&quot;Voir l&#x27;image &amp;quot;Capture d&amp;#x27;écran: image 1&amp;quot;&quot;
                            type=&quot;button&quot;
                    &gt;
                        &lt;img class=&quot;gallery__selector__image&quot; src=&quot;&amp;#x2F;arts&amp;#x2F;val-jalbert-virtuel&amp;#x2F;gallery&amp;#x2F;valjalbertvirtuel_1.jpg&quot; alt=&quot;Capture d&amp;#x27;écran: image 1&quot;&#x2F;&gt;
                    &lt;&#x2F;button&gt;
                &lt;&#x2F;li&gt;
                
                
                &lt;li class=&quot;gallery__selector__item&quot;&gt;
                    &lt;button
                            class=&quot;gallery__selector__button&quot;
                            aria-expanded=&quot;false&quot;
                            aria-controls=&quot;galleryvaljalbertvirtuelimage1&quot;
                            aria-label=&quot;Voir l&#x27;image &amp;quot;Capture d&amp;#x27;écran: image 2&amp;quot;&quot;
                            type=&quot;button&quot;
                    &gt;
                        &lt;img class=&quot;gallery__selector__image&quot; src=&quot;&amp;#x2F;arts&amp;#x2F;val-jalbert-virtuel&amp;#x2F;gallery&amp;#x2F;valjalbertvirtuel_10.jpg&quot; alt=&quot;Capture d&amp;#x27;écran: image 2&quot;&#x2F;&gt;
                    &lt;&#x2F;button&gt;
                &lt;&#x2F;li&gt;
                
                
                &lt;li class=&quot;gallery__selector__item&quot;&gt;
                    &lt;button
                            class=&quot;gallery__selector__button&quot;
                            aria-expanded=&quot;false&quot;
                            aria-controls=&quot;galleryvaljalbertvirtuelimage2&quot;
                            aria-label=&quot;Voir l&#x27;image &amp;quot;Capture d&amp;#x27;écran: image 3&amp;quot;&quot;
                            type=&quot;button&quot;
                    &gt;
                        &lt;img class=&quot;gallery__selector__image&quot; src=&quot;&amp;#x2F;arts&amp;#x2F;val-jalbert-virtuel&amp;#x2F;gallery&amp;#x2F;valjalbertvirtuel_2.jpg&quot; alt=&quot;Capture d&amp;#x27;écran: image 3&quot;&#x2F;&gt;
                    &lt;&#x2F;button&gt;
                &lt;&#x2F;li&gt;
                
                
                &lt;li class=&quot;gallery__selector__item&quot;&gt;
                    &lt;button
                            class=&quot;gallery__selector__button&quot;
                            aria-expanded=&quot;false&quot;
                            aria-controls=&quot;galleryvaljalbertvirtuelimage3&quot;
                            aria-label=&quot;Voir l&#x27;image &amp;quot;Capture d&amp;#x27;écran: image 4&amp;quot;&quot;
                            type=&quot;button&quot;
                    &gt;
                        &lt;img class=&quot;gallery__selector__image&quot; src=&quot;&amp;#x2F;arts&amp;#x2F;val-jalbert-virtuel&amp;#x2F;gallery&amp;#x2F;valjalbertvirtuel_3.jpg&quot; alt=&quot;Capture d&amp;#x27;écran: image 4&quot;&#x2F;&gt;
                    &lt;&#x2F;button&gt;
                &lt;&#x2F;li&gt;
                
                
                &lt;li class=&quot;gallery__selector__item&quot;&gt;
                    &lt;button
                            class=&quot;gallery__selector__button&quot;
                            aria-expanded=&quot;false&quot;
                            aria-controls=&quot;galleryvaljalbertvirtuelimage4&quot;
                            aria-label=&quot;Voir l&#x27;image &amp;quot;Capture d&amp;#x27;écran: image 5&amp;quot;&quot;
                            type=&quot;button&quot;
                    &gt;
                        &lt;img class=&quot;gallery__selector__image&quot; src=&quot;&amp;#x2F;arts&amp;#x2F;val-jalbert-virtuel&amp;#x2F;gallery&amp;#x2F;valjalbertvirtuel_4.jpg&quot; alt=&quot;Capture d&amp;#x27;écran: image 5&quot;&#x2F;&gt;
                    &lt;&#x2F;button&gt;
                &lt;&#x2F;li&gt;
                
                
                &lt;li class=&quot;gallery__selector__item&quot;&gt;
                    &lt;button
                            class=&quot;gallery__selector__button&quot;
                            aria-expanded=&quot;false&quot;
                            aria-controls=&quot;galleryvaljalbertvirtuelimage5&quot;
                            aria-label=&quot;Voir l&#x27;image &amp;quot;Capture d&amp;#x27;écran: image 6&amp;quot;&quot;
                            type=&quot;button&quot;
                    &gt;
                        &lt;img class=&quot;gallery__selector__image&quot; src=&quot;&amp;#x2F;arts&amp;#x2F;val-jalbert-virtuel&amp;#x2F;gallery&amp;#x2F;valjalbertvirtuel_5.jpg&quot; alt=&quot;Capture d&amp;#x27;écran: image 6&quot;&#x2F;&gt;
                    &lt;&#x2F;button&gt;
                &lt;&#x2F;li&gt;
                
                
                &lt;li class=&quot;gallery__selector__item&quot;&gt;
                    &lt;button
                            class=&quot;gallery__selector__button&quot;
                            aria-expanded=&quot;false&quot;
                            aria-controls=&quot;galleryvaljalbertvirtuelimage6&quot;
                            aria-label=&quot;Voir l&#x27;image &amp;quot;Capture d&amp;#x27;écran: image 7&amp;quot;&quot;
                            type=&quot;button&quot;
                    &gt;
                        &lt;img class=&quot;gallery__selector__image&quot; src=&quot;&amp;#x2F;arts&amp;#x2F;val-jalbert-virtuel&amp;#x2F;gallery&amp;#x2F;valjalbertvirtuel_6.jpg&quot; alt=&quot;Capture d&amp;#x27;écran: image 7&quot;&#x2F;&gt;
                    &lt;&#x2F;button&gt;
                &lt;&#x2F;li&gt;
                
                
                &lt;li class=&quot;gallery__selector__item&quot;&gt;
                    &lt;button
                            class=&quot;gallery__selector__button&quot;
                            aria-expanded=&quot;false&quot;
                            aria-controls=&quot;galleryvaljalbertvirtuelimage7&quot;
                            aria-label=&quot;Voir l&#x27;image &amp;quot;Capture d&amp;#x27;écran: image 8&amp;quot;&quot;
                            type=&quot;button&quot;
                    &gt;
                        &lt;img class=&quot;gallery__selector__image&quot; src=&quot;&amp;#x2F;arts&amp;#x2F;val-jalbert-virtuel&amp;#x2F;gallery&amp;#x2F;valjalbertvirtuel_7.jpg&quot; alt=&quot;Capture d&amp;#x27;écran: image 8&quot;&#x2F;&gt;
                    &lt;&#x2F;button&gt;
                &lt;&#x2F;li&gt;
                
                
                &lt;li class=&quot;gallery__selector__item&quot;&gt;
                    &lt;button
                            class=&quot;gallery__selector__button&quot;
                            aria-expanded=&quot;false&quot;
                            aria-controls=&quot;galleryvaljalbertvirtuelimage8&quot;
                            aria-label=&quot;Voir l&#x27;image &amp;quot;Capture d&amp;#x27;écran: image 9&amp;quot;&quot;
                            type=&quot;button&quot;
                    &gt;
                        &lt;img class=&quot;gallery__selector__image&quot; src=&quot;&amp;#x2F;arts&amp;#x2F;val-jalbert-virtuel&amp;#x2F;gallery&amp;#x2F;valjalbertvirtuel_8.jpg&quot; alt=&quot;Capture d&amp;#x27;écran: image 9&quot;&#x2F;&gt;
                    &lt;&#x2F;button&gt;
                &lt;&#x2F;li&gt;
                
                
                &lt;li class=&quot;gallery__selector__item&quot;&gt;
                    &lt;button
                            class=&quot;gallery__selector__button&quot;
                            aria-expanded=&quot;false&quot;
                            aria-controls=&quot;galleryvaljalbertvirtuelimage9&quot;
                            aria-label=&quot;Voir l&#x27;image &amp;quot;Capture d&amp;#x27;écran: image 10&amp;quot;&quot;
                            type=&quot;button&quot;
                    &gt;
                        &lt;img class=&quot;gallery__selector__image&quot; src=&quot;&amp;#x2F;arts&amp;#x2F;val-jalbert-virtuel&amp;#x2F;gallery&amp;#x2F;valjalbertvirtuel_9.jpg&quot; alt=&quot;Capture d&amp;#x27;écran: image 10&quot;&#x2F;&gt;
                    &lt;&#x2F;button&gt;
                &lt;&#x2F;li&gt;
                
    &lt;&#x2F;ul&gt;
&lt;&#x2F;div&gt;
&lt;script&gt;
    &#x2F;&#x2F; Define
    &#x2F;&#x2F; function hideDisplayedImage(galleryId, image)
    if (typeof globalThis.hideDisplayedImage === &quot;undefined&quot;) {
        globalThis.hideDisplayedImage = function(galleryId, image) {
            const fullscreenImageContainer = document.querySelector(&quot;#&quot; + galleryId + &quot; .gallery__viewport&quot;);
            fullscreenImageContainer.classList.remove(&quot;gallery__viewport--display&quot;);
            image.classList.remove(&quot;gallery__viewport__image--display&quot;);
            const selector = &#x27;[aria-controls=&quot;&#x27; + image.getAttribute(&quot;id&quot;) + &#x27;&quot;]&#x27;
            const controlsButton = document.querySelector(selector);
            controlsButton.setAttribute(&quot;aria-expanded&quot;, &quot;false&quot;);
        }
    }

    &#x2F;&#x2F; Define
    &#x2F;&#x2F; function displayImageWithButton(galleryId, button)
    if (typeof globalThis.displayImageWithButton === &quot;undefined&quot;) {
        globalThis.displayImageWithButton = function(galleryId, button) {
            button.focus();
            const fullscreenImageContainer = document.querySelector(&quot;#&quot; + galleryId + &quot; .gallery__viewport&quot;);
            fullscreenImageContainer.classList.add(&quot;gallery__viewport--display&quot;);
            const ariaControlsId = button.getAttribute(&quot;aria-controls&quot;);
            const controlledElement = document.getElementById(ariaControlsId);
            controlledElement.classList.add(&quot;gallery__viewport__image--display&quot;);
            button.setAttribute(&quot;aria-expanded&quot;, &quot;true&quot;);
        }
    }

    &#x2F;&#x2F; Define
    &#x2F;&#x2F; function displayImageWithControlledElement(galleryId, button)
    if (typeof globalThis.displayImageWithControlledElement === &quot;undefined&quot;) {
        globalThis.displayImageWithControlledElement = function(galleryId, controlledElement) {
            const selector = &#x27;[aria-controls=&quot;&#x27; + controlledElement.getAttribute(&quot;id&quot;) + &#x27;&quot;]&#x27;
            const controlsButton = document.querySelector(selector);
            displayImageWithButton(galleryId, controlsButton);
        }
    }

    &#x2F;&#x2F; Define
    &#x2F;&#x2F; function checkSwipeDirection(touchstartX, touchendX)
    if (typeof globalThis.checkSwipeDirection === &quot;undefined&quot;) {
        globalThis.checkSwipeDirection =  function(touchstartX, touchendX) {
            if (touchendX &lt; touchstartX) {
                return &quot;left&quot;;
            } else if (touchendX &gt; touchstartX) {
                return &quot;right&quot;;
            } else {
                return &quot;&quot;;
            }
        }
    }

    &#x2F;&#x2F; Define
    &#x2F;&#x2F; function displayNextImage()
    if (typeof globalThis.displayNextImage === &quot;undefined&quot;) {
        globalThis.displayNextImage = function() {
            const controlledElement = document.getElementsByClassName(&quot;gallery__viewport__image--display&quot;)[0];
            if (controlledElement !== undefined) {
                hideDisplayedImage(&quot;galleryvaljalbertvirtuel&quot;, controlledElement);

                let newControlledElement = controlledElement.nextElementSibling;
                if (newControlledElement === null) {
                    newControlledElement = controlledElement.parentElement.firstElementChild;
                }

                if (newControlledElement !== null &amp;&amp; newControlledElement !== undefined) {
                    displayImageWithControlledElement(&quot;galleryvaljalbertvirtuel&quot;, newControlledElement);
                }
            }
        }
    }

    &#x2F;&#x2F; Define
    &#x2F;&#x2F; function displayPreviousImage()
    if (typeof globalThis.displayPreviousImage === &quot;undefined&quot;) {
        globalThis.displayPreviousImage = function () {
            const controlledElement = document.getElementsByClassName(&quot;gallery__viewport__image--display&quot;)[0];
            if (controlledElement !== undefined) {
                hideDisplayedImage(&quot;galleryvaljalbertvirtuel&quot;, controlledElement);

                let newControlledElement = controlledElement.previousElementSibling;
                if (newControlledElement === null) {
                    newControlledElement = controlledElement.parentElement.lastElementChild;
                }

                if (newControlledElement !== null &amp;&amp; newControlledElement !== undefined) {
                    displayImageWithControlledElement(&quot;galleryvaljalbertvirtuel&quot;, newControlledElement);
                }
            }
        }
    }

    &#x2F;&#x2F; Init
    &#x2F;&#x2F; Gallery Buttons
    const galleryButtonsgalleryvaljalbertvirtuel = document.querySelectorAll(&quot;#galleryvaljalbertvirtuel .gallery__selector__button&quot;);
    for (let i = 0; i &lt; galleryButtonsgalleryvaljalbertvirtuel.length; i++) {

        &#x2F;&#x2F; Click
        galleryButtonsgalleryvaljalbertvirtuel[i].addEventListener(&quot;click&quot;, function(event) {
            displayImageWithButton(&quot;galleryvaljalbertvirtuel&quot;, this);
        });

        &#x2F;&#x2F; Focus In
        galleryButtonsgalleryvaljalbertvirtuel[i].addEventListener(&#x27;focusin&#x27;, function(event) {
            const previousFocusableItem = event.relatedTarget;
            const displayedImages = document.getElementsByClassName(&quot;gallery__viewport__image--display&quot;);
            if (
                (previousFocusableItem === null || !previousFocusableItem.classList.contains(&quot;gallery__selector__button&quot;))
                &amp;&amp; displayedImages.length &gt; 0
            ) {
                &#x2F;&#x2F; Hide all displayed images
                const displayedImages = document.getElementsByClassName(&quot;gallery__viewport__image--display&quot;);
                if (displayedImages.length &gt; 0) {
                    for (let i = 0; i &lt; displayedImages.length; i++) {
                        hideDisplayedImage(&quot;galleryvaljalbertvirtuel&quot;, displayedImages[i]);
                    }
                }
                displayImageWithButton(&quot;galleryvaljalbertvirtuel&quot;, this);
            }
        });

        &#x2F;&#x2F; Focus Out
        galleryButtonsgalleryvaljalbertvirtuel[i].addEventListener(&#x27;focusout&#x27;, function(event) {
            &#x2F;&#x2F; Prevent focus out actions if it&#x27;s a click on a gallery viewport element.
            const eventOriginClassList = event.explicitOriginalTarget.classList;
            if (
                eventOriginClassList.contains(&quot;gallery__viewport__image&quot;)
                || eventOriginClassList.contains(&quot;gallery__viewport__controls&quot;)
                || eventOriginClassList.contains(&quot;gallery__viewport__controls__nav-button&quot;)
                || eventOriginClassList.contains(&quot;gallery__viewport__controls__nav-close-btn&quot;)
                || eventOriginClassList.contains(&quot;gallery__viewport&quot;)
            ) {
                return;
            }

            &#x2F;&#x2F; Hide all displayed images
            const displayedImages = document.getElementsByClassName(&quot;gallery__viewport__image--display&quot;);
            if (displayedImages.length &gt; 0) {
                for (let i = 0; i &lt; displayedImages.length; i++) {
                    hideDisplayedImage(&quot;galleryvaljalbertvirtuel&quot;, displayedImages[i]);
                }
                const nextFocusableItem = event.relatedTarget;
                if (nextFocusableItem != null &amp;&amp; nextFocusableItem.classList.contains(&quot;gallery__selector__button&quot;)) {
                    displayImageWithButton(&quot;galleryvaljalbertvirtuel&quot;, nextFocusableItem);
                }
            }
        });
    }

    &#x2F;&#x2F; Previous Button
    &#x2F;&#x2F; Click
    const previousImageButtongalleryvaljalbertvirtuel = document.querySelector(&quot;#galleryvaljalbertvirtuel .gallery__viewport__controls__nav-button--left&quot;);
    previousImageButtongalleryvaljalbertvirtuel.addEventListener(&#x27;click&#x27;, function(event) {
        displayPreviousImage();
    });

    &#x2F;&#x2F; Next Button
    &#x2F;&#x2F; Click
    const nextImageButtongalleryvaljalbertvirtuel = document.querySelector(&quot;#galleryvaljalbertvirtuel .gallery__viewport__controls__nav-button--right&quot;);
    nextImageButtongalleryvaljalbertvirtuel.addEventListener(&#x27;click&#x27;, function(event) {
        displayNextImage();
    });

    &#x2F;&#x2F; Close Button
    &#x2F;&#x2F; Click
    const closeImageButtongalleryvaljalbertvirtuel = document.querySelector(&quot;#galleryvaljalbertvirtuel .gallery__viewport__controls__nav-close-btn&quot;);
    closeImageButtongalleryvaljalbertvirtuel.addEventListener(&#x27;click&#x27;, function(event) {
        const controlledElement = document.getElementsByClassName(&quot;gallery__viewport__image--display&quot;)[0];
        if (controlledElement !== undefined) {
            hideDisplayedImage(&quot;galleryvaljalbertvirtuel&quot;, controlledElement);
        }
    });

    &#x2F;&#x2F; Keyboard Controls
    document.addEventListener(&#x27;keydown&#x27;, (event) =&gt; {
        const controlledElement = document.getElementsByClassName(&quot;gallery__viewport__image--display&quot;)[0];
        if (controlledElement !== undefined) {

            &#x2F;&#x2F; Hide image
            &#x2F;&#x2F; ESC, LEFT, RIGHT
            if (event.code === &#x27;Escape&#x27; || event.code === &#x27;ArrowLeft&#x27; || event.code === &#x27;ArrowRight&#x27;) {
                hideDisplayedImage(&quot;galleryvaljalbertvirtuel&quot;, controlledElement);
            }

            let newControlledElement;

            &#x2F;&#x2F; Select new controlled element(image)
            &#x2F;&#x2F; LEFT
            if (event.code === &#x27;ArrowLeft&#x27;) {
                newControlledElement = controlledElement.previousElementSibling;
                if (newControlledElement === null) {
                    newControlledElement = controlledElement.parentElement.lastElementChild;
                }
            }
            &#x2F;&#x2F; RIGHT
            if (event.code === &#x27;ArrowRight&#x27;) {
                newControlledElement = controlledElement.nextElementSibling;
                if (newControlledElement === null) {
                    newControlledElement = controlledElement.parentElement.firstElementChild;
                }
            }

            &#x2F;&#x2F; Active button and display image
            if (newControlledElement !== null &amp;&amp; newControlledElement !== undefined) {
                displayImageWithControlledElement(&quot;galleryvaljalbertvirtuel&quot;, newControlledElement);
            }
        }
    })

    &#x2F;&#x2F; Touch Gesture
    let touchstartXgalleryvaljalbertvirtuel = 0;
    let touchendXgalleryvaljalbertvirtuel = 0;

    const galleryViewportgalleryvaljalbertvirtuel = document.getElementsByClassName(&quot;gallery__viewport&quot;)[0];
    if (galleryViewportgalleryvaljalbertvirtuel !== undefined) {

        galleryViewportgalleryvaljalbertvirtuel.addEventListener(&#x27;touchstart&#x27;, function(event) {
            touchstartXgalleryvaljalbertvirtuel = event.changedTouches[0].screenX
        });

        galleryViewportgalleryvaljalbertvirtuel.addEventListener(&#x27;touchend&#x27;, function(event) {
            touchendXgalleryvaljalbertvirtuel = event.changedTouches[0].screenX
            const direction = checkSwipeDirection(touchstartXgalleryvaljalbertvirtuel, touchendXgalleryvaljalbertvirtuel);
            if (direction === &quot;left&quot;) {
                displayPreviousImage();
            } else if (direction === &quot;right&quot;) {
                displayNextImage();
            }
        });

        galleryViewportgalleryvaljalbertvirtuel.addEventListner(&#x27;touchmove&#x27;, function(event) {
            event.preventDefault();
            event.stopPropagation();
        });
    }
&lt;&#x2F;script&gt;</content>
        
    </entry>
    <entry xml:lang="fr">
        <title>Cartographies de l&#x27;attente</title>
        <published>2017-01-01T00:00:00+00:00</published>
        <updated>2017-01-01T00:00:00+00:00</updated>
        
        <author>
          <name>
            
              Pierre Tremblay-Thériault
            
          </name>
        </author>
        
        <link rel="alternate" type="text/html" href="https://lapinchatware.ca/arts/cartographies-de-lattente/"/>
        <id>https://lapinchatware.ca/arts/cartographies-de-lattente/</id>
        
        <content type="html" xml:base="https://lapinchatware.ca/arts/cartographies-de-lattente/">&lt;div style=&quot;padding:56.25% 0 0 0;position:relative;&quot;&gt;
    &lt;iframe
            src=&quot;https:&#x2F;&#x2F;player.vimeo.com&#x2F;video&#x2F;162781268?h=4250ca05b2&amp;title=0&amp;byline=0&amp;portrait=0&quot;
            style=&quot;position:absolute;top:0;left:0;width:100%;height:100%;&quot;
            frameborder=&quot;0&quot;
            allow=&quot;autoplay; fullscreen; picture-in-picture&quot;
            allowfullscreen
    &gt;&lt;&#x2F;iframe&gt;
&lt;&#x2F;div&gt;
&lt;script src=&quot;https:&#x2F;&#x2F;player.vimeo.com&#x2F;api&#x2F;player.js&quot;&gt;&lt;&#x2F;script&gt;&lt;div id=&quot;galleryvaljalbertvirtuel&quot; class=&quot;gallery&quot;&gt;
    
    &lt;div class=&quot;gallery__viewport&quot;&gt;
        &lt;div class=&quot;gallery__viewport__images&quot;&gt;
            
            
                    
                    &lt;img id=&quot;galleryvaljalbertvirtuelimage0&quot; class=&quot;gallery__viewport__image&quot; src=&quot;&amp;#x2F;arts&amp;#x2F;cartographies-de-lattente&amp;#x2F;gallery&amp;#x2F;carto1.jpg&quot; alt=&quot;Vue de la scène de haut. Hélène Juteau (actrice) est assise sur une chaise dans le fond de la scène. En avant scène, Anne-Marie Ouellet (actrice) est couché par terre et maintient une chaise en équilibre sur ses pieds.&quot;&#x2F;&gt;
                    
                    
                    &lt;img id=&quot;galleryvaljalbertvirtuelimage1&quot; class=&quot;gallery__viewport__image&quot; src=&quot;&amp;#x2F;arts&amp;#x2F;cartographies-de-lattente&amp;#x2F;gallery&amp;#x2F;carto10.jpg&quot; alt=&quot;Hélène Juteau (actrice) est assise sur une chaise. Elle porte plusieurs foulards colorés et des manteaux épais: celui du dessus est un manteau de fourrure. Derrière, sur le mur, on peut voir une projection vidéo de Claudia Torres (actrice) jouant depuis son appartement.&quot;&#x2F;&gt;
                    
                    
                    &lt;img id=&quot;galleryvaljalbertvirtuelimage2&quot; class=&quot;gallery__viewport__image&quot; src=&quot;&amp;#x2F;arts&amp;#x2F;cartographies-de-lattente&amp;#x2F;gallery&amp;#x2F;carto2.jpg&quot; alt=&quot;Andrée-Anne Giguère (actrice) chante dans son micro tout en regardant dans une caméra. Ce qu&amp;#x27;on voit la caméra est montré dans une télévision. On voit aussi une structure de meuble empillé entre l&amp;#x27;actrice et la télévision.&quot;&#x2F;&gt;
                    
                    
                    &lt;img id=&quot;galleryvaljalbertvirtuelimage3&quot; class=&quot;gallery__viewport__image&quot; src=&quot;&amp;#x2F;arts&amp;#x2F;cartographies-de-lattente&amp;#x2F;gallery&amp;#x2F;carto3.jpg&quot; alt=&quot;Andrée-Anne Giguère (actrice) pousse une structure de meubles assemblés avec du papier collant rose. Derrière, sur un panneau sur la scène, une projection vidéo de Claudia Torres (actrice) jouant depuis son appartement.&quot;&#x2F;&gt;
                    
                    
                    &lt;img id=&quot;galleryvaljalbertvirtuelimage4&quot; class=&quot;gallery__viewport__image&quot; src=&quot;&amp;#x2F;arts&amp;#x2F;cartographies-de-lattente&amp;#x2F;gallery&amp;#x2F;carto4.jpg&quot; alt=&quot;Andrée-Anne Giguère (actrice), Hélène Juteau (actrice) et Claudia Torres (actrice), projetée sur un panneau, se tiennent debout sur la scène. Andrée-Anne et Hélène se tiennent la tête.&quot;&#x2F;&gt;
                    
                    
                    &lt;img id=&quot;galleryvaljalbertvirtuelimage5&quot; class=&quot;gallery__viewport__image&quot; src=&quot;&amp;#x2F;arts&amp;#x2F;cartographies-de-lattente&amp;#x2F;gallery&amp;#x2F;carto5.jpg&quot; alt=&quot;Andrée-Anne Giguère (actrice), Hélène Juteau (actrice) et Claudia Torres (actrice), projetée sur le mur du fond. Claudia montre des images anciennes de femmes. Assis sur une chaise, Hélène porte plusieurs foulards colorés et des manteaux épais: celui du dessus est un manteau de fourrure. Andrée-Anne, se déplace dans l&amp;#x27;espace.&quot;&#x2F;&gt;
                    
                    
                    &lt;img id=&quot;galleryvaljalbertvirtuelimage6&quot; class=&quot;gallery__viewport__image&quot; src=&quot;&amp;#x2F;arts&amp;#x2F;cartographies-de-lattente&amp;#x2F;gallery&amp;#x2F;carto6.jpg&quot; alt=&quot;Andrée-Anne Giguère (actrice), Hélène Juteau (actrice), Anne-Marie Ouellet (actrice) et Claudia Torres (actrice), projetée sur un panneau, discutent ensemble dans l&amp;#x27;obscurité. Sur le mur derrière est projeté une vidéo surveillance capté lors d&amp;#x27;une résidence de création.&quot;&#x2F;&gt;
                    
                    
                    &lt;img id=&quot;galleryvaljalbertvirtuelimage7&quot; class=&quot;gallery__viewport__image&quot; src=&quot;&amp;#x2F;arts&amp;#x2F;cartographies-de-lattente&amp;#x2F;gallery&amp;#x2F;carto7.jpg&quot; alt=&quot;Andrée-Anne Giguère (actrice) est assise dans le fond de la scène sur une télévision. Hélène Juteau (actrice) est assise sur une chaise en avant de la scène. Anne-Marie Ouellet (actrice) est assise sur une chaise dans le fond de la scène. Sur le mur, une projection vidéo de Claudia Torres (actrice) jouant depuis son appartement. Elles attendent.&quot;&#x2F;&gt;
                    
                    
                    &lt;img id=&quot;galleryvaljalbertvirtuelimage8&quot; class=&quot;gallery__viewport__image&quot; src=&quot;&amp;#x2F;arts&amp;#x2F;cartographies-de-lattente&amp;#x2F;gallery&amp;#x2F;carto8.jpg&quot; alt=&quot;Anne-Marie Ouellet (actrice) est couverte d&amp;#x27;une cape et regarde. Hélène Juteau (actrice) parle en tirant des bas dans les airs tel des confettis. Andrée-Anne Giguère (actrice) parle fort dans un vieux téléphone rouge qu&amp;#x27;elle tient à la main. Sur le mur, une projection vidéo de Claudia Torres (actrice) jouant depuis son appartement.&quot;&#x2F;&gt;
                    
                    
                    &lt;img id=&quot;galleryvaljalbertvirtuelimage9&quot; class=&quot;gallery__viewport__image&quot; src=&quot;&amp;#x2F;arts&amp;#x2F;cartographies-de-lattente&amp;#x2F;gallery&amp;#x2F;carto9.jpg&quot; alt=&quot;Andrée-Anne Giguère (actrice) se tient debout à côté d&amp;#x27;une structure de meubles assemblés avec du papier collant rose. Elle chante avec une petite boîte à musique. À sa gauche on peut voir une vielle télévision et des revues de mode jetées par terre.&quot;&#x2F;&gt;
                    
        &lt;&#x2F;div&gt;
        &lt;div class=&quot;gallery__viewport__controls&quot;&gt;
            &lt;img class=&quot;gallery__viewport__controls__nav-button gallery__viewport__controls__nav-button--left&quot; src=&quot;&#x2F;images&#x2F;angle-left.svg&quot; alt=&quot;Voir l&#x27;image précédente.&quot; aria-hidden=&quot;true&quot;&#x2F;&gt;
            &lt;img class=&quot;gallery__viewport__controls__nav-button gallery__viewport__controls__nav-button--right&quot; src=&quot;&#x2F;images&#x2F;angle-right.svg&quot; alt=&quot;Voir l&#x27;image suivante.&quot; aria-hidden=&quot;true&quot;&#x2F;&gt;
            &lt;img class=&quot;gallery__viewport__controls__nav-close-btn&quot; src=&quot;&#x2F;images&#x2F;close-icon.svg&quot; alt=&quot;Fermer la gallery&quot;&#x2F;&gt;
        &lt;&#x2F;div&gt;
    &lt;&#x2F;div&gt;
    &lt;ul class=&quot;gallery__selector&quot;&gt;
        
        
                
                &lt;li class=&quot;gallery__selector__item&quot;&gt;
                    &lt;button
                            class=&quot;gallery__selector__button&quot;
                            aria-expanded=&quot;false&quot;
                            aria-controls=&quot;galleryvaljalbertvirtuelimage0&quot;
                            aria-label=&quot;Voir l&#x27;image &amp;quot;Vue de la scène de haut. Hélène Juteau (actrice) est assise sur une chaise dans le fond de la scène. En avant scène, Anne-Marie Ouellet (actrice) est couché par terre et maintient une chaise en équilibre sur ses pieds.&amp;quot;&quot;
                            type=&quot;button&quot;
                    &gt;
                        &lt;img class=&quot;gallery__selector__image&quot; src=&quot;&amp;#x2F;arts&amp;#x2F;cartographies-de-lattente&amp;#x2F;gallery&amp;#x2F;carto1.jpg&quot; alt=&quot;Vue de la scène de haut. Hélène Juteau (actrice) est assise sur une chaise dans le fond de la scène. En avant scène, Anne-Marie Ouellet (actrice) est couché par terre et maintient une chaise en équilibre sur ses pieds.&quot;&#x2F;&gt;
                    &lt;&#x2F;button&gt;
                &lt;&#x2F;li&gt;
                
                
                &lt;li class=&quot;gallery__selector__item&quot;&gt;
                    &lt;button
                            class=&quot;gallery__selector__button&quot;
                            aria-expanded=&quot;false&quot;
                            aria-controls=&quot;galleryvaljalbertvirtuelimage1&quot;
                            aria-label=&quot;Voir l&#x27;image &amp;quot;Hélène Juteau (actrice) est assise sur une chaise. Elle porte plusieurs foulards colorés et des manteaux épais: celui du dessus est un manteau de fourrure. Derrière, sur le mur, on peut voir une projection vidéo de Claudia Torres (actrice) jouant depuis son appartement.&amp;quot;&quot;
                            type=&quot;button&quot;
                    &gt;
                        &lt;img class=&quot;gallery__selector__image&quot; src=&quot;&amp;#x2F;arts&amp;#x2F;cartographies-de-lattente&amp;#x2F;gallery&amp;#x2F;carto10.jpg&quot; alt=&quot;Hélène Juteau (actrice) est assise sur une chaise. Elle porte plusieurs foulards colorés et des manteaux épais: celui du dessus est un manteau de fourrure. Derrière, sur le mur, on peut voir une projection vidéo de Claudia Torres (actrice) jouant depuis son appartement.&quot;&#x2F;&gt;
                    &lt;&#x2F;button&gt;
                &lt;&#x2F;li&gt;
                
                
                &lt;li class=&quot;gallery__selector__item&quot;&gt;
                    &lt;button
                            class=&quot;gallery__selector__button&quot;
                            aria-expanded=&quot;false&quot;
                            aria-controls=&quot;galleryvaljalbertvirtuelimage2&quot;
                            aria-label=&quot;Voir l&#x27;image &amp;quot;Andrée-Anne Giguère (actrice) chante dans son micro tout en regardant dans une caméra. Ce qu&amp;#x27;on voit la caméra est montré dans une télévision. On voit aussi une structure de meuble empillé entre l&amp;#x27;actrice et la télévision.&amp;quot;&quot;
                            type=&quot;button&quot;
                    &gt;
                        &lt;img class=&quot;gallery__selector__image&quot; src=&quot;&amp;#x2F;arts&amp;#x2F;cartographies-de-lattente&amp;#x2F;gallery&amp;#x2F;carto2.jpg&quot; alt=&quot;Andrée-Anne Giguère (actrice) chante dans son micro tout en regardant dans une caméra. Ce qu&amp;#x27;on voit la caméra est montré dans une télévision. On voit aussi une structure de meuble empillé entre l&amp;#x27;actrice et la télévision.&quot;&#x2F;&gt;
                    &lt;&#x2F;button&gt;
                &lt;&#x2F;li&gt;
                
                
                &lt;li class=&quot;gallery__selector__item&quot;&gt;
                    &lt;button
                            class=&quot;gallery__selector__button&quot;
                            aria-expanded=&quot;false&quot;
                            aria-controls=&quot;galleryvaljalbertvirtuelimage3&quot;
                            aria-label=&quot;Voir l&#x27;image &amp;quot;Andrée-Anne Giguère (actrice) pousse une structure de meubles assemblés avec du papier collant rose. Derrière, sur un panneau sur la scène, une projection vidéo de Claudia Torres (actrice) jouant depuis son appartement.&amp;quot;&quot;
                            type=&quot;button&quot;
                    &gt;
                        &lt;img class=&quot;gallery__selector__image&quot; src=&quot;&amp;#x2F;arts&amp;#x2F;cartographies-de-lattente&amp;#x2F;gallery&amp;#x2F;carto3.jpg&quot; alt=&quot;Andrée-Anne Giguère (actrice) pousse une structure de meubles assemblés avec du papier collant rose. Derrière, sur un panneau sur la scène, une projection vidéo de Claudia Torres (actrice) jouant depuis son appartement.&quot;&#x2F;&gt;
                    &lt;&#x2F;button&gt;
                &lt;&#x2F;li&gt;
                
                
                &lt;li class=&quot;gallery__selector__item&quot;&gt;
                    &lt;button
                            class=&quot;gallery__selector__button&quot;
                            aria-expanded=&quot;false&quot;
                            aria-controls=&quot;galleryvaljalbertvirtuelimage4&quot;
                            aria-label=&quot;Voir l&#x27;image &amp;quot;Andrée-Anne Giguère (actrice), Hélène Juteau (actrice) et Claudia Torres (actrice), projetée sur un panneau, se tiennent debout sur la scène. Andrée-Anne et Hélène se tiennent la tête.&amp;quot;&quot;
                            type=&quot;button&quot;
                    &gt;
                        &lt;img class=&quot;gallery__selector__image&quot; src=&quot;&amp;#x2F;arts&amp;#x2F;cartographies-de-lattente&amp;#x2F;gallery&amp;#x2F;carto4.jpg&quot; alt=&quot;Andrée-Anne Giguère (actrice), Hélène Juteau (actrice) et Claudia Torres (actrice), projetée sur un panneau, se tiennent debout sur la scène. Andrée-Anne et Hélène se tiennent la tête.&quot;&#x2F;&gt;
                    &lt;&#x2F;button&gt;
                &lt;&#x2F;li&gt;
                
                
                &lt;li class=&quot;gallery__selector__item&quot;&gt;
                    &lt;button
                            class=&quot;gallery__selector__button&quot;
                            aria-expanded=&quot;false&quot;
                            aria-controls=&quot;galleryvaljalbertvirtuelimage5&quot;
                            aria-label=&quot;Voir l&#x27;image &amp;quot;Andrée-Anne Giguère (actrice), Hélène Juteau (actrice) et Claudia Torres (actrice), projetée sur le mur du fond. Claudia montre des images anciennes de femmes. Assis sur une chaise, Hélène porte plusieurs foulards colorés et des manteaux épais: celui du dessus est un manteau de fourrure. Andrée-Anne, se déplace dans l&amp;#x27;espace.&amp;quot;&quot;
                            type=&quot;button&quot;
                    &gt;
                        &lt;img class=&quot;gallery__selector__image&quot; src=&quot;&amp;#x2F;arts&amp;#x2F;cartographies-de-lattente&amp;#x2F;gallery&amp;#x2F;carto5.jpg&quot; alt=&quot;Andrée-Anne Giguère (actrice), Hélène Juteau (actrice) et Claudia Torres (actrice), projetée sur le mur du fond. Claudia montre des images anciennes de femmes. Assis sur une chaise, Hélène porte plusieurs foulards colorés et des manteaux épais: celui du dessus est un manteau de fourrure. Andrée-Anne, se déplace dans l&amp;#x27;espace.&quot;&#x2F;&gt;
                    &lt;&#x2F;button&gt;
                &lt;&#x2F;li&gt;
                
                
                &lt;li class=&quot;gallery__selector__item&quot;&gt;
                    &lt;button
                            class=&quot;gallery__selector__button&quot;
                            aria-expanded=&quot;false&quot;
                            aria-controls=&quot;galleryvaljalbertvirtuelimage6&quot;
                            aria-label=&quot;Voir l&#x27;image &amp;quot;Andrée-Anne Giguère (actrice), Hélène Juteau (actrice), Anne-Marie Ouellet (actrice) et Claudia Torres (actrice), projetée sur un panneau, discutent ensemble dans l&amp;#x27;obscurité. Sur le mur derrière est projeté une vidéo surveillance capté lors d&amp;#x27;une résidence de création.&amp;quot;&quot;
                            type=&quot;button&quot;
                    &gt;
                        &lt;img class=&quot;gallery__selector__image&quot; src=&quot;&amp;#x2F;arts&amp;#x2F;cartographies-de-lattente&amp;#x2F;gallery&amp;#x2F;carto6.jpg&quot; alt=&quot;Andrée-Anne Giguère (actrice), Hélène Juteau (actrice), Anne-Marie Ouellet (actrice) et Claudia Torres (actrice), projetée sur un panneau, discutent ensemble dans l&amp;#x27;obscurité. Sur le mur derrière est projeté une vidéo surveillance capté lors d&amp;#x27;une résidence de création.&quot;&#x2F;&gt;
                    &lt;&#x2F;button&gt;
                &lt;&#x2F;li&gt;
                
                
                &lt;li class=&quot;gallery__selector__item&quot;&gt;
                    &lt;button
                            class=&quot;gallery__selector__button&quot;
                            aria-expanded=&quot;false&quot;
                            aria-controls=&quot;galleryvaljalbertvirtuelimage7&quot;
                            aria-label=&quot;Voir l&#x27;image &amp;quot;Andrée-Anne Giguère (actrice) est assise dans le fond de la scène sur une télévision. Hélène Juteau (actrice) est assise sur une chaise en avant de la scène. Anne-Marie Ouellet (actrice) est assise sur une chaise dans le fond de la scène. Sur le mur, une projection vidéo de Claudia Torres (actrice) jouant depuis son appartement. Elles attendent.&amp;quot;&quot;
                            type=&quot;button&quot;
                    &gt;
                        &lt;img class=&quot;gallery__selector__image&quot; src=&quot;&amp;#x2F;arts&amp;#x2F;cartographies-de-lattente&amp;#x2F;gallery&amp;#x2F;carto7.jpg&quot; alt=&quot;Andrée-Anne Giguère (actrice) est assise dans le fond de la scène sur une télévision. Hélène Juteau (actrice) est assise sur une chaise en avant de la scène. Anne-Marie Ouellet (actrice) est assise sur une chaise dans le fond de la scène. Sur le mur, une projection vidéo de Claudia Torres (actrice) jouant depuis son appartement. Elles attendent.&quot;&#x2F;&gt;
                    &lt;&#x2F;button&gt;
                &lt;&#x2F;li&gt;
                
                
                &lt;li class=&quot;gallery__selector__item&quot;&gt;
                    &lt;button
                            class=&quot;gallery__selector__button&quot;
                            aria-expanded=&quot;false&quot;
                            aria-controls=&quot;galleryvaljalbertvirtuelimage8&quot;
                            aria-label=&quot;Voir l&#x27;image &amp;quot;Anne-Marie Ouellet (actrice) est couverte d&amp;#x27;une cape et regarde. Hélène Juteau (actrice) parle en tirant des bas dans les airs tel des confettis. Andrée-Anne Giguère (actrice) parle fort dans un vieux téléphone rouge qu&amp;#x27;elle tient à la main. Sur le mur, une projection vidéo de Claudia Torres (actrice) jouant depuis son appartement.&amp;quot;&quot;
                            type=&quot;button&quot;
                    &gt;
                        &lt;img class=&quot;gallery__selector__image&quot; src=&quot;&amp;#x2F;arts&amp;#x2F;cartographies-de-lattente&amp;#x2F;gallery&amp;#x2F;carto8.jpg&quot; alt=&quot;Anne-Marie Ouellet (actrice) est couverte d&amp;#x27;une cape et regarde. Hélène Juteau (actrice) parle en tirant des bas dans les airs tel des confettis. Andrée-Anne Giguère (actrice) parle fort dans un vieux téléphone rouge qu&amp;#x27;elle tient à la main. Sur le mur, une projection vidéo de Claudia Torres (actrice) jouant depuis son appartement.&quot;&#x2F;&gt;
                    &lt;&#x2F;button&gt;
                &lt;&#x2F;li&gt;
                
                
                &lt;li class=&quot;gallery__selector__item&quot;&gt;
                    &lt;button
                            class=&quot;gallery__selector__button&quot;
                            aria-expanded=&quot;false&quot;
                            aria-controls=&quot;galleryvaljalbertvirtuelimage9&quot;
                            aria-label=&quot;Voir l&#x27;image &amp;quot;Andrée-Anne Giguère (actrice) se tient debout à côté d&amp;#x27;une structure de meubles assemblés avec du papier collant rose. Elle chante avec une petite boîte à musique. À sa gauche on peut voir une vielle télévision et des revues de mode jetées par terre.&amp;quot;&quot;
                            type=&quot;button&quot;
                    &gt;
                        &lt;img class=&quot;gallery__selector__image&quot; src=&quot;&amp;#x2F;arts&amp;#x2F;cartographies-de-lattente&amp;#x2F;gallery&amp;#x2F;carto9.jpg&quot; alt=&quot;Andrée-Anne Giguère (actrice) se tient debout à côté d&amp;#x27;une structure de meubles assemblés avec du papier collant rose. Elle chante avec une petite boîte à musique. À sa gauche on peut voir une vielle télévision et des revues de mode jetées par terre.&quot;&#x2F;&gt;
                    &lt;&#x2F;button&gt;
                &lt;&#x2F;li&gt;
                
    &lt;&#x2F;ul&gt;
&lt;&#x2F;div&gt;
&lt;script&gt;
    &#x2F;&#x2F; Define
    &#x2F;&#x2F; function hideDisplayedImage(galleryId, image)
    if (typeof globalThis.hideDisplayedImage === &quot;undefined&quot;) {
        globalThis.hideDisplayedImage = function(galleryId, image) {
            const fullscreenImageContainer = document.querySelector(&quot;#&quot; + galleryId + &quot; .gallery__viewport&quot;);
            fullscreenImageContainer.classList.remove(&quot;gallery__viewport--display&quot;);
            image.classList.remove(&quot;gallery__viewport__image--display&quot;);
            const selector = &#x27;[aria-controls=&quot;&#x27; + image.getAttribute(&quot;id&quot;) + &#x27;&quot;]&#x27;
            const controlsButton = document.querySelector(selector);
            controlsButton.setAttribute(&quot;aria-expanded&quot;, &quot;false&quot;);
        }
    }

    &#x2F;&#x2F; Define
    &#x2F;&#x2F; function displayImageWithButton(galleryId, button)
    if (typeof globalThis.displayImageWithButton === &quot;undefined&quot;) {
        globalThis.displayImageWithButton = function(galleryId, button) {
            button.focus();
            const fullscreenImageContainer = document.querySelector(&quot;#&quot; + galleryId + &quot; .gallery__viewport&quot;);
            fullscreenImageContainer.classList.add(&quot;gallery__viewport--display&quot;);
            const ariaControlsId = button.getAttribute(&quot;aria-controls&quot;);
            const controlledElement = document.getElementById(ariaControlsId);
            controlledElement.classList.add(&quot;gallery__viewport__image--display&quot;);
            button.setAttribute(&quot;aria-expanded&quot;, &quot;true&quot;);
        }
    }

    &#x2F;&#x2F; Define
    &#x2F;&#x2F; function displayImageWithControlledElement(galleryId, button)
    if (typeof globalThis.displayImageWithControlledElement === &quot;undefined&quot;) {
        globalThis.displayImageWithControlledElement = function(galleryId, controlledElement) {
            const selector = &#x27;[aria-controls=&quot;&#x27; + controlledElement.getAttribute(&quot;id&quot;) + &#x27;&quot;]&#x27;
            const controlsButton = document.querySelector(selector);
            displayImageWithButton(galleryId, controlsButton);
        }
    }

    &#x2F;&#x2F; Define
    &#x2F;&#x2F; function checkSwipeDirection(touchstartX, touchendX)
    if (typeof globalThis.checkSwipeDirection === &quot;undefined&quot;) {
        globalThis.checkSwipeDirection =  function(touchstartX, touchendX) {
            if (touchendX &lt; touchstartX) {
                return &quot;left&quot;;
            } else if (touchendX &gt; touchstartX) {
                return &quot;right&quot;;
            } else {
                return &quot;&quot;;
            }
        }
    }

    &#x2F;&#x2F; Define
    &#x2F;&#x2F; function displayNextImage()
    if (typeof globalThis.displayNextImage === &quot;undefined&quot;) {
        globalThis.displayNextImage = function() {
            const controlledElement = document.getElementsByClassName(&quot;gallery__viewport__image--display&quot;)[0];
            if (controlledElement !== undefined) {
                hideDisplayedImage(&quot;galleryvaljalbertvirtuel&quot;, controlledElement);

                let newControlledElement = controlledElement.nextElementSibling;
                if (newControlledElement === null) {
                    newControlledElement = controlledElement.parentElement.firstElementChild;
                }

                if (newControlledElement !== null &amp;&amp; newControlledElement !== undefined) {
                    displayImageWithControlledElement(&quot;galleryvaljalbertvirtuel&quot;, newControlledElement);
                }
            }
        }
    }

    &#x2F;&#x2F; Define
    &#x2F;&#x2F; function displayPreviousImage()
    if (typeof globalThis.displayPreviousImage === &quot;undefined&quot;) {
        globalThis.displayPreviousImage = function () {
            const controlledElement = document.getElementsByClassName(&quot;gallery__viewport__image--display&quot;)[0];
            if (controlledElement !== undefined) {
                hideDisplayedImage(&quot;galleryvaljalbertvirtuel&quot;, controlledElement);

                let newControlledElement = controlledElement.previousElementSibling;
                if (newControlledElement === null) {
                    newControlledElement = controlledElement.parentElement.lastElementChild;
                }

                if (newControlledElement !== null &amp;&amp; newControlledElement !== undefined) {
                    displayImageWithControlledElement(&quot;galleryvaljalbertvirtuel&quot;, newControlledElement);
                }
            }
        }
    }

    &#x2F;&#x2F; Init
    &#x2F;&#x2F; Gallery Buttons
    const galleryButtonsgalleryvaljalbertvirtuel = document.querySelectorAll(&quot;#galleryvaljalbertvirtuel .gallery__selector__button&quot;);
    for (let i = 0; i &lt; galleryButtonsgalleryvaljalbertvirtuel.length; i++) {

        &#x2F;&#x2F; Click
        galleryButtonsgalleryvaljalbertvirtuel[i].addEventListener(&quot;click&quot;, function(event) {
            displayImageWithButton(&quot;galleryvaljalbertvirtuel&quot;, this);
        });

        &#x2F;&#x2F; Focus In
        galleryButtonsgalleryvaljalbertvirtuel[i].addEventListener(&#x27;focusin&#x27;, function(event) {
            const previousFocusableItem = event.relatedTarget;
            const displayedImages = document.getElementsByClassName(&quot;gallery__viewport__image--display&quot;);
            if (
                (previousFocusableItem === null || !previousFocusableItem.classList.contains(&quot;gallery__selector__button&quot;))
                &amp;&amp; displayedImages.length &gt; 0
            ) {
                &#x2F;&#x2F; Hide all displayed images
                const displayedImages = document.getElementsByClassName(&quot;gallery__viewport__image--display&quot;);
                if (displayedImages.length &gt; 0) {
                    for (let i = 0; i &lt; displayedImages.length; i++) {
                        hideDisplayedImage(&quot;galleryvaljalbertvirtuel&quot;, displayedImages[i]);
                    }
                }
                displayImageWithButton(&quot;galleryvaljalbertvirtuel&quot;, this);
            }
        });

        &#x2F;&#x2F; Focus Out
        galleryButtonsgalleryvaljalbertvirtuel[i].addEventListener(&#x27;focusout&#x27;, function(event) {
            &#x2F;&#x2F; Prevent focus out actions if it&#x27;s a click on a gallery viewport element.
            const eventOriginClassList = event.explicitOriginalTarget.classList;
            if (
                eventOriginClassList.contains(&quot;gallery__viewport__image&quot;)
                || eventOriginClassList.contains(&quot;gallery__viewport__controls&quot;)
                || eventOriginClassList.contains(&quot;gallery__viewport__controls__nav-button&quot;)
                || eventOriginClassList.contains(&quot;gallery__viewport__controls__nav-close-btn&quot;)
                || eventOriginClassList.contains(&quot;gallery__viewport&quot;)
            ) {
                return;
            }

            &#x2F;&#x2F; Hide all displayed images
            const displayedImages = document.getElementsByClassName(&quot;gallery__viewport__image--display&quot;);
            if (displayedImages.length &gt; 0) {
                for (let i = 0; i &lt; displayedImages.length; i++) {
                    hideDisplayedImage(&quot;galleryvaljalbertvirtuel&quot;, displayedImages[i]);
                }
                const nextFocusableItem = event.relatedTarget;
                if (nextFocusableItem != null &amp;&amp; nextFocusableItem.classList.contains(&quot;gallery__selector__button&quot;)) {
                    displayImageWithButton(&quot;galleryvaljalbertvirtuel&quot;, nextFocusableItem);
                }
            }
        });
    }

    &#x2F;&#x2F; Previous Button
    &#x2F;&#x2F; Click
    const previousImageButtongalleryvaljalbertvirtuel = document.querySelector(&quot;#galleryvaljalbertvirtuel .gallery__viewport__controls__nav-button--left&quot;);
    previousImageButtongalleryvaljalbertvirtuel.addEventListener(&#x27;click&#x27;, function(event) {
        displayPreviousImage();
    });

    &#x2F;&#x2F; Next Button
    &#x2F;&#x2F; Click
    const nextImageButtongalleryvaljalbertvirtuel = document.querySelector(&quot;#galleryvaljalbertvirtuel .gallery__viewport__controls__nav-button--right&quot;);
    nextImageButtongalleryvaljalbertvirtuel.addEventListener(&#x27;click&#x27;, function(event) {
        displayNextImage();
    });

    &#x2F;&#x2F; Close Button
    &#x2F;&#x2F; Click
    const closeImageButtongalleryvaljalbertvirtuel = document.querySelector(&quot;#galleryvaljalbertvirtuel .gallery__viewport__controls__nav-close-btn&quot;);
    closeImageButtongalleryvaljalbertvirtuel.addEventListener(&#x27;click&#x27;, function(event) {
        const controlledElement = document.getElementsByClassName(&quot;gallery__viewport__image--display&quot;)[0];
        if (controlledElement !== undefined) {
            hideDisplayedImage(&quot;galleryvaljalbertvirtuel&quot;, controlledElement);
        }
    });

    &#x2F;&#x2F; Keyboard Controls
    document.addEventListener(&#x27;keydown&#x27;, (event) =&gt; {
        const controlledElement = document.getElementsByClassName(&quot;gallery__viewport__image--display&quot;)[0];
        if (controlledElement !== undefined) {

            &#x2F;&#x2F; Hide image
            &#x2F;&#x2F; ESC, LEFT, RIGHT
            if (event.code === &#x27;Escape&#x27; || event.code === &#x27;ArrowLeft&#x27; || event.code === &#x27;ArrowRight&#x27;) {
                hideDisplayedImage(&quot;galleryvaljalbertvirtuel&quot;, controlledElement);
            }

            let newControlledElement;

            &#x2F;&#x2F; Select new controlled element(image)
            &#x2F;&#x2F; LEFT
            if (event.code === &#x27;ArrowLeft&#x27;) {
                newControlledElement = controlledElement.previousElementSibling;
                if (newControlledElement === null) {
                    newControlledElement = controlledElement.parentElement.lastElementChild;
                }
            }
            &#x2F;&#x2F; RIGHT
            if (event.code === &#x27;ArrowRight&#x27;) {
                newControlledElement = controlledElement.nextElementSibling;
                if (newControlledElement === null) {
                    newControlledElement = controlledElement.parentElement.firstElementChild;
                }
            }

            &#x2F;&#x2F; Active button and display image
            if (newControlledElement !== null &amp;&amp; newControlledElement !== undefined) {
                displayImageWithControlledElement(&quot;galleryvaljalbertvirtuel&quot;, newControlledElement);
            }
        }
    })

    &#x2F;&#x2F; Touch Gesture
    let touchstartXgalleryvaljalbertvirtuel = 0;
    let touchendXgalleryvaljalbertvirtuel = 0;

    const galleryViewportgalleryvaljalbertvirtuel = document.getElementsByClassName(&quot;gallery__viewport&quot;)[0];
    if (galleryViewportgalleryvaljalbertvirtuel !== undefined) {

        galleryViewportgalleryvaljalbertvirtuel.addEventListener(&#x27;touchstart&#x27;, function(event) {
            touchstartXgalleryvaljalbertvirtuel = event.changedTouches[0].screenX
        });

        galleryViewportgalleryvaljalbertvirtuel.addEventListener(&#x27;touchend&#x27;, function(event) {
            touchendXgalleryvaljalbertvirtuel = event.changedTouches[0].screenX
            const direction = checkSwipeDirection(touchstartXgalleryvaljalbertvirtuel, touchendXgalleryvaljalbertvirtuel);
            if (direction === &quot;left&quot;) {
                displayPreviousImage();
            } else if (direction === &quot;right&quot;) {
                displayNextImage();
            }
        });

        galleryViewportgalleryvaljalbertvirtuel.addEventListner(&#x27;touchmove&#x27;, function(event) {
            event.preventDefault();
            event.stopPropagation();
        });
    }
&lt;&#x2F;script&gt;</content>
        
    </entry>
    <entry xml:lang="fr">
        <title>Liaisons Sonores</title>
        <published>2016-01-01T00:00:00+00:00</published>
        <updated>2016-01-01T00:00:00+00:00</updated>
        
        <author>
          <name>
            
              Pierre Tremblay-Thériault
            
          </name>
        </author>
        
        <link rel="alternate" type="text/html" href="https://lapinchatware.ca/arts/liaisons-sonores/"/>
        <id>https://lapinchatware.ca/arts/liaisons-sonores/</id>
        
        <content type="html" xml:base="https://lapinchatware.ca/arts/liaisons-sonores/">&lt;div id=&quot;galleryliaisonssonores&quot; class=&quot;gallery&quot;&gt;
    
    &lt;div class=&quot;gallery__viewport&quot;&gt;
        &lt;div class=&quot;gallery__viewport__images&quot;&gt;
            
            
                    
                    &lt;img id=&quot;galleryliaisonssonoresimage0&quot; class=&quot;gallery__viewport__image&quot; src=&quot;&amp;#x2F;arts&amp;#x2F;liaisons-sonores&amp;#x2F;gallery&amp;#x2F;cadou_01.jpg&quot; alt=&quot;Photo d&amp;#x27;archive du spectacle à St-Cadou, France: Les performeurs sont en cercle, assis au sol, et regardent Jean-Paul Quéinnec (performeur&amp;#x2F;artiste) introduire le spectacle.&quot;&#x2F;&gt;
                    
                    
                    &lt;img id=&quot;galleryliaisonssonoresimage1&quot; class=&quot;gallery__viewport__image&quot; src=&quot;&amp;#x2F;arts&amp;#x2F;liaisons-sonores&amp;#x2F;gallery&amp;#x2F;cadou_02.jpg&quot; alt=&quot;Photo d&amp;#x27;archive du spectacle à St-Cadou, France&quot;&#x2F;&gt;
                    
                    
                    &lt;img id=&quot;galleryliaisonssonoresimage2&quot; class=&quot;gallery__viewport__image&quot; src=&quot;&amp;#x2F;arts&amp;#x2F;liaisons-sonores&amp;#x2F;gallery&amp;#x2F;cadou_03.jpg&quot; alt=&quot;Photo d&amp;#x27;archive du spectacle à St-Cadou, France&quot;&#x2F;&gt;
                    
                    
                    &lt;img id=&quot;galleryliaisonssonoresimage3&quot; class=&quot;gallery__viewport__image&quot; src=&quot;&amp;#x2F;arts&amp;#x2F;liaisons-sonores&amp;#x2F;gallery&amp;#x2F;cadou_04.jpg&quot; alt=&quot;Photo d&amp;#x27;archive du spectacle à St-Cadou, France&quot;&#x2F;&gt;
                    
                    
                    &lt;img id=&quot;galleryliaisonssonoresimage4&quot; class=&quot;gallery__viewport__image&quot; src=&quot;&amp;#x2F;arts&amp;#x2F;liaisons-sonores&amp;#x2F;gallery&amp;#x2F;cadou_05.jpg&quot; alt=&quot;Photo d&amp;#x27;archive du spectacle à St-Cadou, France&quot;&#x2F;&gt;
                    
                    
                    &lt;img id=&quot;galleryliaisonssonoresimage5&quot; class=&quot;gallery__viewport__image&quot; src=&quot;&amp;#x2F;arts&amp;#x2F;liaisons-sonores&amp;#x2F;gallery&amp;#x2F;cadou_06.jpg&quot; alt=&quot;Photo d&amp;#x27;archive du spectacle à St-Cadou, France&quot;&#x2F;&gt;
                    
                    
                    &lt;img id=&quot;galleryliaisonssonoresimage6&quot; class=&quot;gallery__viewport__image&quot; src=&quot;&amp;#x2F;arts&amp;#x2F;liaisons-sonores&amp;#x2F;gallery&amp;#x2F;cadou_07.jpg&quot; alt=&quot;Photo d&amp;#x27;archive du spectacle à St-Cadou, France&quot;&#x2F;&gt;
                    
                    
                    &lt;img id=&quot;galleryliaisonssonoresimage7&quot; class=&quot;gallery__viewport__image&quot; src=&quot;&amp;#x2F;arts&amp;#x2F;liaisons-sonores&amp;#x2F;gallery&amp;#x2F;cadou_08.jpg&quot; alt=&quot;Photo d&amp;#x27;archive du spectacle à St-Cadou, France&quot;&#x2F;&gt;
                    
                    
                    &lt;img id=&quot;galleryliaisonssonoresimage8&quot; class=&quot;gallery__viewport__image&quot; src=&quot;&amp;#x2F;arts&amp;#x2F;liaisons-sonores&amp;#x2F;gallery&amp;#x2F;cadou_09.jpg&quot; alt=&quot;Photo d&amp;#x27;archive du spectacle à St-Cadou, France&quot;&#x2F;&gt;
                    
                    
                    &lt;img id=&quot;galleryliaisonssonoresimage9&quot; class=&quot;gallery__viewport__image&quot; src=&quot;&amp;#x2F;arts&amp;#x2F;liaisons-sonores&amp;#x2F;gallery&amp;#x2F;cadou_10.jpg&quot; alt=&quot;Photo d&amp;#x27;archive du spectacle à St-Cadou, France&quot;&#x2F;&gt;
                    
                    
                    &lt;img id=&quot;galleryliaisonssonoresimage10&quot; class=&quot;gallery__viewport__image&quot; src=&quot;&amp;#x2F;arts&amp;#x2F;liaisons-sonores&amp;#x2F;gallery&amp;#x2F;cadou_11.jpg&quot; alt=&quot;Photo d&amp;#x27;archive du spectacle à St-Cadou, France&quot;&#x2F;&gt;
                    
                    
                    &lt;img id=&quot;galleryliaisonssonoresimage11&quot; class=&quot;gallery__viewport__image&quot; src=&quot;&amp;#x2F;arts&amp;#x2F;liaisons-sonores&amp;#x2F;gallery&amp;#x2F;douarnenez_01.jpg&quot; alt=&quot;Photo d&amp;#x27;archive du spectacle à Douarnenez, France: Les performeurs sont en cercle, assis au sol, et regardent Jean-Paul Quéinnec (performeur&amp;#x2F;artiste) introduire le spectacle.&quot;&#x2F;&gt;
                    
                    
                    &lt;img id=&quot;galleryliaisonssonoresimage12&quot; class=&quot;gallery__viewport__image&quot; src=&quot;&amp;#x2F;arts&amp;#x2F;liaisons-sonores&amp;#x2F;gallery&amp;#x2F;douarnenez_02.jpg&quot; alt=&quot;Photo d&amp;#x27;archive du spectacle à Douarnenez, France&quot;&#x2F;&gt;
                    
                    
                    &lt;img id=&quot;galleryliaisonssonoresimage13&quot; class=&quot;gallery__viewport__image&quot; src=&quot;&amp;#x2F;arts&amp;#x2F;liaisons-sonores&amp;#x2F;gallery&amp;#x2F;douarnenez_03.jpg&quot; alt=&quot;Photo d&amp;#x27;archive du spectacle à Douarnenez, France&quot;&#x2F;&gt;
                    
                    
                    &lt;img id=&quot;galleryliaisonssonoresimage14&quot; class=&quot;gallery__viewport__image&quot; src=&quot;&amp;#x2F;arts&amp;#x2F;liaisons-sonores&amp;#x2F;gallery&amp;#x2F;douarnenez_04.jpg&quot; alt=&quot;Photo d&amp;#x27;archive du spectacle à Douarnenez, France&quot;&#x2F;&gt;
                    
                    
                    &lt;img id=&quot;galleryliaisonssonoresimage15&quot; class=&quot;gallery__viewport__image&quot; src=&quot;&amp;#x2F;arts&amp;#x2F;liaisons-sonores&amp;#x2F;gallery&amp;#x2F;douarnenez_05.jpg&quot; alt=&quot;Photo d&amp;#x27;archive du spectacle à Douarnenez, France&quot;&#x2F;&gt;
                    
                    
                    &lt;img id=&quot;galleryliaisonssonoresimage16&quot; class=&quot;gallery__viewport__image&quot; src=&quot;&amp;#x2F;arts&amp;#x2F;liaisons-sonores&amp;#x2F;gallery&amp;#x2F;douarnenez_06.jpg&quot; alt=&quot;Photo d&amp;#x27;archive du spectacle à Douarnenez, France&quot;&#x2F;&gt;
                    
                    
                    &lt;img id=&quot;galleryliaisonssonoresimage17&quot; class=&quot;gallery__viewport__image&quot; src=&quot;&amp;#x2F;arts&amp;#x2F;liaisons-sonores&amp;#x2F;gallery&amp;#x2F;douarnenez_07.jpg&quot; alt=&quot;Photo d&amp;#x27;archive du spectacle à Douarnenez, France&quot;&#x2F;&gt;
                    
                    
                    &lt;img id=&quot;galleryliaisonssonoresimage18&quot; class=&quot;gallery__viewport__image&quot; src=&quot;&amp;#x2F;arts&amp;#x2F;liaisons-sonores&amp;#x2F;gallery&amp;#x2F;douarnenez_08.jpg&quot; alt=&quot;Photo d&amp;#x27;archive du spectacle à Douarnenez, France&quot;&#x2F;&gt;
                    
                    
                    &lt;img id=&quot;galleryliaisonssonoresimage19&quot; class=&quot;gallery__viewport__image&quot; src=&quot;&amp;#x2F;arts&amp;#x2F;liaisons-sonores&amp;#x2F;gallery&amp;#x2F;fmc_1.jpg&quot; alt=&quot;Photo d&amp;#x27;archive du spectacle au Festival des Musiques de Création, Saguenay, Québec: Les performeurs sont en cercle, assis au sol, et regardent Jean-Paul Quéinnec (performeur&amp;#x2F;artiste) introduire le spectacle.&quot;&#x2F;&gt;
                    
                    
                    &lt;img id=&quot;galleryliaisonssonoresimage20&quot; class=&quot;gallery__viewport__image&quot; src=&quot;&amp;#x2F;arts&amp;#x2F;liaisons-sonores&amp;#x2F;gallery&amp;#x2F;fmc_2.jpg&quot; alt=&quot;Photo d&amp;#x27;archive du spectacle au Festival des Musiques de Création, Saguenay, Québec&quot;&#x2F;&gt;
                    
                    
                    &lt;img id=&quot;galleryliaisonssonoresimage21&quot; class=&quot;gallery__viewport__image&quot; src=&quot;&amp;#x2F;arts&amp;#x2F;liaisons-sonores&amp;#x2F;gallery&amp;#x2F;fmc_3.jpg&quot; alt=&quot;Photo d&amp;#x27;archive du spectacle au Festival des Musiques de Création, Saguenay, Québec&quot;&#x2F;&gt;
                    
                    
                    &lt;img id=&quot;galleryliaisonssonoresimage22&quot; class=&quot;gallery__viewport__image&quot; src=&quot;&amp;#x2F;arts&amp;#x2F;liaisons-sonores&amp;#x2F;gallery&amp;#x2F;fmc_4.jpg&quot; alt=&quot;Photo d&amp;#x27;archive du spectacle au Festival des Musiques de Création, Saguenay, Québec&quot;&#x2F;&gt;
                    
                    
                    &lt;img id=&quot;galleryliaisonssonoresimage23&quot; class=&quot;gallery__viewport__image&quot; src=&quot;&amp;#x2F;arts&amp;#x2F;liaisons-sonores&amp;#x2F;gallery&amp;#x2F;fmc_5.jpg&quot; alt=&quot;Photo d&amp;#x27;archive du spectacle au Festival des Musiques de Création, Saguenay, Québec&quot;&#x2F;&gt;
                    
                    
                    &lt;img id=&quot;galleryliaisonssonoresimage24&quot; class=&quot;gallery__viewport__image&quot; src=&quot;&amp;#x2F;arts&amp;#x2F;liaisons-sonores&amp;#x2F;gallery&amp;#x2F;fmc_6.jpg&quot; alt=&quot;Photo d&amp;#x27;archive du spectacle au Festival des Musiques de Création, Saguenay, Québec&quot;&#x2F;&gt;
                    
                    
                    &lt;img id=&quot;galleryliaisonssonoresimage25&quot; class=&quot;gallery__viewport__image&quot; src=&quot;&amp;#x2F;arts&amp;#x2F;liaisons-sonores&amp;#x2F;gallery&amp;#x2F;fmc_7.jpg&quot; alt=&quot;Photo d&amp;#x27;archive du spectacle au Festival des Musiques de Création, Saguenay, Québec&quot;&#x2F;&gt;
                    
                    
                    &lt;img id=&quot;galleryliaisonssonoresimage26&quot; class=&quot;gallery__viewport__image&quot; src=&quot;&amp;#x2F;arts&amp;#x2F;liaisons-sonores&amp;#x2F;gallery&amp;#x2F;horizon_1.jpg&quot; alt=&quot;Photo d&amp;#x27;archive du spectacle au Théâtre l’Horizon, La Rochelle, France&quot;&#x2F;&gt;
                    
                    
                    &lt;img id=&quot;galleryliaisonssonoresimage27&quot; class=&quot;gallery__viewport__image&quot; src=&quot;&amp;#x2F;arts&amp;#x2F;liaisons-sonores&amp;#x2F;gallery&amp;#x2F;horizon_2.jpg&quot; alt=&quot;Photo d&amp;#x27;archive du spectacle au Théâtre l’Horizon, La Rochelle, France&quot;&#x2F;&gt;
                    
                    
                    &lt;img id=&quot;galleryliaisonssonoresimage28&quot; class=&quot;gallery__viewport__image&quot; src=&quot;&amp;#x2F;arts&amp;#x2F;liaisons-sonores&amp;#x2F;gallery&amp;#x2F;horizon_3.jpg&quot; alt=&quot;Photo d&amp;#x27;archive du spectacle au Théâtre l’Horizon, La Rochelle, France&quot;&#x2F;&gt;
                    
                    
                    &lt;img id=&quot;galleryliaisonssonoresimage29&quot; class=&quot;gallery__viewport__image&quot; src=&quot;&amp;#x2F;arts&amp;#x2F;liaisons-sonores&amp;#x2F;gallery&amp;#x2F;horizon_4.jpg&quot; alt=&quot;Photo d&amp;#x27;archive du spectacle au Théâtre l’Horizon, La Rochelle, France&quot;&#x2F;&gt;
                    
                    
                    &lt;img id=&quot;galleryliaisonssonoresimage30&quot; class=&quot;gallery__viewport__image&quot; src=&quot;&amp;#x2F;arts&amp;#x2F;liaisons-sonores&amp;#x2F;gallery&amp;#x2F;horizon_5.jpg&quot; alt=&quot;Photo d&amp;#x27;archive du spectacle au Théâtre l’Horizon, La Rochelle, France&quot;&#x2F;&gt;
                    
                    
                    &lt;img id=&quot;galleryliaisonssonoresimage31&quot; class=&quot;gallery__viewport__image&quot; src=&quot;&amp;#x2F;arts&amp;#x2F;liaisons-sonores&amp;#x2F;gallery&amp;#x2F;horizon_6.jpg&quot; alt=&quot;Photo d&amp;#x27;archive du spectacle au Théâtre l’Horizon, La Rochelle, France&quot;&#x2F;&gt;
                    
                    
                    &lt;img id=&quot;galleryliaisonssonoresimage32&quot; class=&quot;gallery__viewport__image&quot; src=&quot;&amp;#x2F;arts&amp;#x2F;liaisons-sonores&amp;#x2F;gallery&amp;#x2F;horizon_7.jpg&quot; alt=&quot;Photo d&amp;#x27;archive du spectacle au Théâtre l’Horizon, La Rochelle, France: Les performeurs sont en cercle, assis au sol, et regardent Jean-Paul Quéinnec (performeur&amp;#x2F;artiste) introduire le spectacle.&quot;&#x2F;&gt;
                    
                    
                    &lt;img id=&quot;galleryliaisonssonoresimage33&quot; class=&quot;gallery__viewport__image&quot; src=&quot;&amp;#x2F;arts&amp;#x2F;liaisons-sonores&amp;#x2F;gallery&amp;#x2F;horizon_8.jpg&quot; alt=&quot;Photo d&amp;#x27;archive du spectacle au Théâtre l’Horizon, La Rochelle, France&quot;&#x2F;&gt;
                    
                    
                    &lt;img id=&quot;galleryliaisonssonoresimage34&quot; class=&quot;gallery__viewport__image&quot; src=&quot;&amp;#x2F;arts&amp;#x2F;liaisons-sonores&amp;#x2F;gallery&amp;#x2F;horizon_9.jpg&quot; alt=&quot;Photo d&amp;#x27;archive du spectacle au Théâtre l’Horizon, La Rochelle, France&quot;&#x2F;&gt;
                    
                    
                    &lt;img id=&quot;galleryliaisonssonoresimage35&quot; class=&quot;gallery__viewport__image&quot; src=&quot;&amp;#x2F;arts&amp;#x2F;liaisons-sonores&amp;#x2F;gallery&amp;#x2F;lac_1.jpg&quot; alt=&quot;Photo d&amp;#x27;archive du spectacle au Festival Le Lac, lac du Drennec, France&quot;&#x2F;&gt;
                    
                    
                    &lt;img id=&quot;galleryliaisonssonoresimage36&quot; class=&quot;gallery__viewport__image&quot; src=&quot;&amp;#x2F;arts&amp;#x2F;liaisons-sonores&amp;#x2F;gallery&amp;#x2F;lac_2.jpg&quot; alt=&quot;Photo d&amp;#x27;archive du spectacle au Festival Le Lac, lac du Drennec, France&quot;&#x2F;&gt;
                    
                    
                    &lt;img id=&quot;galleryliaisonssonoresimage37&quot; class=&quot;gallery__viewport__image&quot; src=&quot;&amp;#x2F;arts&amp;#x2F;liaisons-sonores&amp;#x2F;gallery&amp;#x2F;lac_3.jpg&quot; alt=&quot;Photo d&amp;#x27;archive du spectacle au Festival Le Lac, lac du Drennec, France&quot;&#x2F;&gt;
                    
                    
                    &lt;img id=&quot;galleryliaisonssonoresimage38&quot; class=&quot;gallery__viewport__image&quot; src=&quot;&amp;#x2F;arts&amp;#x2F;liaisons-sonores&amp;#x2F;gallery&amp;#x2F;lac_4.jpg&quot; alt=&quot;Photo d&amp;#x27;archive du spectacle au Festival Le Lac, lac du Drennec, France&quot;&#x2F;&gt;
                    
                    
                    &lt;img id=&quot;galleryliaisonssonoresimage39&quot; class=&quot;gallery__viewport__image&quot; src=&quot;&amp;#x2F;arts&amp;#x2F;liaisons-sonores&amp;#x2F;gallery&amp;#x2F;lac_5.jpg&quot; alt=&quot;Photo d&amp;#x27;archive du spectacle au Festival Le Lac, lac du Drennec, France&quot;&#x2F;&gt;
                    
                    
                    &lt;img id=&quot;galleryliaisonssonoresimage40&quot; class=&quot;gallery__viewport__image&quot; src=&quot;&amp;#x2F;arts&amp;#x2F;liaisons-sonores&amp;#x2F;gallery&amp;#x2F;lantiss_1.jpg&quot; alt=&quot;Photo d&amp;#x27;archive du spectacle au Lantiss, Québec, Québec: Les performeurs sont en cercle, assis au sol, et regardent Jean-Paul Quéinnec (performeur&amp;#x2F;artiste) introduire le spectacle.&quot;&#x2F;&gt;
                    
                    
                    &lt;img id=&quot;galleryliaisonssonoresimage41&quot; class=&quot;gallery__viewport__image&quot; src=&quot;&amp;#x2F;arts&amp;#x2F;liaisons-sonores&amp;#x2F;gallery&amp;#x2F;lantiss_2.jpg&quot; alt=&quot;Photo d&amp;#x27;archive du spectacle au Lantiss, Québec, Québec&quot;&#x2F;&gt;
                    
                    
                    &lt;img id=&quot;galleryliaisonssonoresimage42&quot; class=&quot;gallery__viewport__image&quot; src=&quot;&amp;#x2F;arts&amp;#x2F;liaisons-sonores&amp;#x2F;gallery&amp;#x2F;lantiss_3.jpg&quot; alt=&quot;Photo d&amp;#x27;archive du spectacle au Lantiss, Québec, Québec&quot;&#x2F;&gt;
                    
                    
                    &lt;img id=&quot;galleryliaisonssonoresimage43&quot; class=&quot;gallery__viewport__image&quot; src=&quot;&amp;#x2F;arts&amp;#x2F;liaisons-sonores&amp;#x2F;gallery&amp;#x2F;lantiss_4.jpg&quot; alt=&quot;Photo d&amp;#x27;archive du spectacle au Lantiss, Québec, Québec&quot;&#x2F;&gt;
                    
                    
                    &lt;img id=&quot;galleryliaisonssonoresimage44&quot; class=&quot;gallery__viewport__image&quot; src=&quot;&amp;#x2F;arts&amp;#x2F;liaisons-sonores&amp;#x2F;gallery&amp;#x2F;lantiss_5.jpg&quot; alt=&quot;Photo d&amp;#x27;archive du spectacle au Lantiss, Québec, Québec&quot;&#x2F;&gt;
                    
                    
                    &lt;img id=&quot;galleryliaisonssonoresimage45&quot; class=&quot;gallery__viewport__image&quot; src=&quot;&amp;#x2F;arts&amp;#x2F;liaisons-sonores&amp;#x2F;gallery&amp;#x2F;lantiss_6.jpg&quot; alt=&quot;Photo d&amp;#x27;archive du spectacle au Lantiss, Québec, Québec&quot;&#x2F;&gt;
                    
                    
                    &lt;img id=&quot;galleryliaisonssonoresimage46&quot; class=&quot;gallery__viewport__image&quot; src=&quot;&amp;#x2F;arts&amp;#x2F;liaisons-sonores&amp;#x2F;gallery&amp;#x2F;lantiss_7.jpg&quot; alt=&quot;Photo d&amp;#x27;archive du spectacle au Lantiss, Québec, Québec&quot;&#x2F;&gt;
                    
                    
                    &lt;img id=&quot;galleryliaisonssonoresimage47&quot; class=&quot;gallery__viewport__image&quot; src=&quot;&amp;#x2F;arts&amp;#x2F;liaisons-sonores&amp;#x2F;gallery&amp;#x2F;lantiss_8.jpg&quot; alt=&quot;Photo d&amp;#x27;archive du spectacle au Lantiss, Québec, Québec&quot;&#x2F;&gt;
                    
                    
                    &lt;img id=&quot;galleryliaisonssonoresimage48&quot; class=&quot;gallery__viewport__image&quot; src=&quot;&amp;#x2F;arts&amp;#x2F;liaisons-sonores&amp;#x2F;gallery&amp;#x2F;phonurgia_1.jpg&quot; alt=&quot;Photo d&amp;#x27;archive du spectacle au Festival Phonurgia Nova, Arles et radio 3DFM, France: Les performeurs sont en cercle, assis au sol, et regardent Jean-Paul Quéinnec (performeur&amp;#x2F;artiste) introduire le spectacle.&quot;&#x2F;&gt;
                    
                    
                    &lt;img id=&quot;galleryliaisonssonoresimage49&quot; class=&quot;gallery__viewport__image&quot; src=&quot;&amp;#x2F;arts&amp;#x2F;liaisons-sonores&amp;#x2F;gallery&amp;#x2F;phonurgia_2.jpg&quot; alt=&quot;Photo d&amp;#x27;archive du spectacle au Festival Phonurgia Nova, Arles et radio 3DFM, France&quot;&#x2F;&gt;
                    
                    
                    &lt;img id=&quot;galleryliaisonssonoresimage50&quot; class=&quot;gallery__viewport__image&quot; src=&quot;&amp;#x2F;arts&amp;#x2F;liaisons-sonores&amp;#x2F;gallery&amp;#x2F;phonurgia_3.jpg&quot; alt=&quot;Photo d&amp;#x27;archive du spectacle au Festival Phonurgia Nova, Arles et radio 3DFM, France&quot;&#x2F;&gt;
                    
                    
                    &lt;img id=&quot;galleryliaisonssonoresimage51&quot; class=&quot;gallery__viewport__image&quot; src=&quot;&amp;#x2F;arts&amp;#x2F;liaisons-sonores&amp;#x2F;gallery&amp;#x2F;phonurgia_4.jpg&quot; alt=&quot;Photo d&amp;#x27;archive du spectacle au Festival Phonurgia Nova, Arles et radio 3DFM, France&quot;&#x2F;&gt;
                    
                    
                    &lt;img id=&quot;galleryliaisonssonoresimage52&quot; class=&quot;gallery__viewport__image&quot; src=&quot;&amp;#x2F;arts&amp;#x2F;liaisons-sonores&amp;#x2F;gallery&amp;#x2F;phonurgia_5.jpg&quot; alt=&quot;Photo d&amp;#x27;archive du spectacle au Festival Phonurgia Nova, Arles et radio 3DFM, France&quot;&#x2F;&gt;
                    
                    
                    &lt;img id=&quot;galleryliaisonssonoresimage53&quot; class=&quot;gallery__viewport__image&quot; src=&quot;&amp;#x2F;arts&amp;#x2F;liaisons-sonores&amp;#x2F;gallery&amp;#x2F;phonurgia_6.jpg&quot; alt=&quot;Photo d&amp;#x27;archive du spectacle au Festival Phonurgia Nova, Arles et radio 3DFM, France&quot;&#x2F;&gt;
                    
                    
                    &lt;img id=&quot;galleryliaisonssonoresimage54&quot; class=&quot;gallery__viewport__image&quot; src=&quot;&amp;#x2F;arts&amp;#x2F;liaisons-sonores&amp;#x2F;gallery&amp;#x2F;phonurgia_7.jpg&quot; alt=&quot;Photo d&amp;#x27;archive du spectacle au Festival Phonurgia Nova, Arles et radio 3DFM, France&quot;&#x2F;&gt;
                    
                    
                    &lt;img id=&quot;galleryliaisonssonoresimage55&quot; class=&quot;gallery__viewport__image&quot; src=&quot;&amp;#x2F;arts&amp;#x2F;liaisons-sonores&amp;#x2F;gallery&amp;#x2F;phonurgia_8.jpg&quot; alt=&quot;Photo d&amp;#x27;archive du spectacle au Festival Phonurgia Nova, Arles et radio 3DFM, France&quot;&#x2F;&gt;
                    
                    
                    &lt;img id=&quot;galleryliaisonssonoresimage56&quot; class=&quot;gallery__viewport__image&quot; src=&quot;&amp;#x2F;arts&amp;#x2F;liaisons-sonores&amp;#x2F;gallery&amp;#x2F;pre_01.jpg&quot; alt=&quot;Photo d&amp;#x27;archive de la préparation à St-Cadou, France&quot;&#x2F;&gt;
                    
                    
                    &lt;img id=&quot;galleryliaisonssonoresimage57&quot; class=&quot;gallery__viewport__image&quot; src=&quot;&amp;#x2F;arts&amp;#x2F;liaisons-sonores&amp;#x2F;gallery&amp;#x2F;pre_02.jpg&quot; alt=&quot;Photo d&amp;#x27;archive de la préparation à St-Cadou, France&quot;&#x2F;&gt;
                    
                    
                    &lt;img id=&quot;galleryliaisonssonoresimage58&quot; class=&quot;gallery__viewport__image&quot; src=&quot;&amp;#x2F;arts&amp;#x2F;liaisons-sonores&amp;#x2F;gallery&amp;#x2F;pre_03.jpg&quot; alt=&quot;Photo d&amp;#x27;archive de la préparation à St-Cadou, France&quot;&#x2F;&gt;
                    
                    
                    &lt;img id=&quot;galleryliaisonssonoresimage59&quot; class=&quot;gallery__viewport__image&quot; src=&quot;&amp;#x2F;arts&amp;#x2F;liaisons-sonores&amp;#x2F;gallery&amp;#x2F;pre_04.jpg&quot; alt=&quot;Photo d&amp;#x27;archive de la préparation à St-Cadou, France&quot;&#x2F;&gt;
                    
                    
                    &lt;img id=&quot;galleryliaisonssonoresimage60&quot; class=&quot;gallery__viewport__image&quot; src=&quot;&amp;#x2F;arts&amp;#x2F;liaisons-sonores&amp;#x2F;gallery&amp;#x2F;pre_05.jpg&quot; alt=&quot;Photo d&amp;#x27;archive de la préparation à St-Cadou, France&quot;&#x2F;&gt;
                    
                    
                    &lt;img id=&quot;galleryliaisonssonoresimage61&quot; class=&quot;gallery__viewport__image&quot; src=&quot;&amp;#x2F;arts&amp;#x2F;liaisons-sonores&amp;#x2F;gallery&amp;#x2F;pre_06.jpg&quot; alt=&quot;Photo d&amp;#x27;archive de la préparation à St-Cadou, France&quot;&#x2F;&gt;
                    
                    
                    &lt;img id=&quot;galleryliaisonssonoresimage62&quot; class=&quot;gallery__viewport__image&quot; src=&quot;&amp;#x2F;arts&amp;#x2F;liaisons-sonores&amp;#x2F;gallery&amp;#x2F;pre_07.jpg&quot; alt=&quot;Photo d&amp;#x27;archive de la préparation à St-Cadou, France&quot;&#x2F;&gt;
                    
                    
                    &lt;img id=&quot;galleryliaisonssonoresimage63&quot; class=&quot;gallery__viewport__image&quot; src=&quot;&amp;#x2F;arts&amp;#x2F;liaisons-sonores&amp;#x2F;gallery&amp;#x2F;pre_08.jpg&quot; alt=&quot;Photo d&amp;#x27;archive de la préparation à St-Cadou, France&quot;&#x2F;&gt;
                    
                    
                    &lt;img id=&quot;galleryliaisonssonoresimage64&quot; class=&quot;gallery__viewport__image&quot; src=&quot;&amp;#x2F;arts&amp;#x2F;liaisons-sonores&amp;#x2F;gallery&amp;#x2F;pre_09.jpg&quot; alt=&quot;Photo d&amp;#x27;archive de la préparation à St-Cadou, France&quot;&#x2F;&gt;
                    
                    
                    &lt;img id=&quot;galleryliaisonssonoresimage65&quot; class=&quot;gallery__viewport__image&quot; src=&quot;&amp;#x2F;arts&amp;#x2F;liaisons-sonores&amp;#x2F;gallery&amp;#x2F;pre_10.jpg&quot; alt=&quot;Photo d&amp;#x27;archive de la préparation à St-Cadou, France&quot;&#x2F;&gt;
                    
                    
                    &lt;img id=&quot;galleryliaisonssonoresimage66&quot; class=&quot;gallery__viewport__image&quot; src=&quot;&amp;#x2F;arts&amp;#x2F;liaisons-sonores&amp;#x2F;gallery&amp;#x2F;pre_11.jpg&quot; alt=&quot;Photo d&amp;#x27;archive de la préparation à St-Cadou, France&quot;&#x2F;&gt;
                    
                    
                    &lt;img id=&quot;galleryliaisonssonoresimage67&quot; class=&quot;gallery__viewport__image&quot; src=&quot;&amp;#x2F;arts&amp;#x2F;liaisons-sonores&amp;#x2F;gallery&amp;#x2F;pre_12.jpg&quot; alt=&quot;Photo d&amp;#x27;archive de la préparation à St-Cadou, France&quot;&#x2F;&gt;
                    
        &lt;&#x2F;div&gt;
        &lt;div class=&quot;gallery__viewport__controls&quot;&gt;
            &lt;img class=&quot;gallery__viewport__controls__nav-button gallery__viewport__controls__nav-button--left&quot; src=&quot;&#x2F;images&#x2F;angle-left.svg&quot; alt=&quot;Voir l&#x27;image précédente.&quot; aria-hidden=&quot;true&quot;&#x2F;&gt;
            &lt;img class=&quot;gallery__viewport__controls__nav-button gallery__viewport__controls__nav-button--right&quot; src=&quot;&#x2F;images&#x2F;angle-right.svg&quot; alt=&quot;Voir l&#x27;image suivante.&quot; aria-hidden=&quot;true&quot;&#x2F;&gt;
            &lt;img class=&quot;gallery__viewport__controls__nav-close-btn&quot; src=&quot;&#x2F;images&#x2F;close-icon.svg&quot; alt=&quot;Fermer la gallery&quot;&#x2F;&gt;
        &lt;&#x2F;div&gt;
    &lt;&#x2F;div&gt;
    &lt;ul class=&quot;gallery__selector&quot;&gt;
        
        
                
                &lt;li class=&quot;gallery__selector__item&quot;&gt;
                    &lt;button
                            class=&quot;gallery__selector__button&quot;
                            aria-expanded=&quot;false&quot;
                            aria-controls=&quot;galleryliaisonssonoresimage0&quot;
                            aria-label=&quot;Voir l&#x27;image &amp;quot;Photo d&amp;#x27;archive du spectacle à St-Cadou, France: Les performeurs sont en cercle, assis au sol, et regardent Jean-Paul Quéinnec (performeur&amp;#x2F;artiste) introduire le spectacle.&amp;quot;&quot;
                            type=&quot;button&quot;
                    &gt;
                        &lt;img class=&quot;gallery__selector__image&quot; src=&quot;&amp;#x2F;arts&amp;#x2F;liaisons-sonores&amp;#x2F;gallery&amp;#x2F;cadou_01.jpg&quot; alt=&quot;Photo d&amp;#x27;archive du spectacle à St-Cadou, France: Les performeurs sont en cercle, assis au sol, et regardent Jean-Paul Quéinnec (performeur&amp;#x2F;artiste) introduire le spectacle.&quot;&#x2F;&gt;
                    &lt;&#x2F;button&gt;
                &lt;&#x2F;li&gt;
                
                
                &lt;li class=&quot;gallery__selector__item&quot;&gt;
                    &lt;button
                            class=&quot;gallery__selector__button&quot;
                            aria-expanded=&quot;false&quot;
                            aria-controls=&quot;galleryliaisonssonoresimage1&quot;
                            aria-label=&quot;Voir l&#x27;image &amp;quot;Photo d&amp;#x27;archive du spectacle à St-Cadou, France&amp;quot;&quot;
                            type=&quot;button&quot;
                    &gt;
                        &lt;img class=&quot;gallery__selector__image&quot; src=&quot;&amp;#x2F;arts&amp;#x2F;liaisons-sonores&amp;#x2F;gallery&amp;#x2F;cadou_02.jpg&quot; alt=&quot;Photo d&amp;#x27;archive du spectacle à St-Cadou, France&quot;&#x2F;&gt;
                    &lt;&#x2F;button&gt;
                &lt;&#x2F;li&gt;
                
                
                &lt;li class=&quot;gallery__selector__item&quot;&gt;
                    &lt;button
                            class=&quot;gallery__selector__button&quot;
                            aria-expanded=&quot;false&quot;
                            aria-controls=&quot;galleryliaisonssonoresimage2&quot;
                            aria-label=&quot;Voir l&#x27;image &amp;quot;Photo d&amp;#x27;archive du spectacle à St-Cadou, France&amp;quot;&quot;
                            type=&quot;button&quot;
                    &gt;
                        &lt;img class=&quot;gallery__selector__image&quot; src=&quot;&amp;#x2F;arts&amp;#x2F;liaisons-sonores&amp;#x2F;gallery&amp;#x2F;cadou_03.jpg&quot; alt=&quot;Photo d&amp;#x27;archive du spectacle à St-Cadou, France&quot;&#x2F;&gt;
                    &lt;&#x2F;button&gt;
                &lt;&#x2F;li&gt;
                
                
                &lt;li class=&quot;gallery__selector__item&quot;&gt;
                    &lt;button
                            class=&quot;gallery__selector__button&quot;
                            aria-expanded=&quot;false&quot;
                            aria-controls=&quot;galleryliaisonssonoresimage3&quot;
                            aria-label=&quot;Voir l&#x27;image &amp;quot;Photo d&amp;#x27;archive du spectacle à St-Cadou, France&amp;quot;&quot;
                            type=&quot;button&quot;
                    &gt;
                        &lt;img class=&quot;gallery__selector__image&quot; src=&quot;&amp;#x2F;arts&amp;#x2F;liaisons-sonores&amp;#x2F;gallery&amp;#x2F;cadou_04.jpg&quot; alt=&quot;Photo d&amp;#x27;archive du spectacle à St-Cadou, France&quot;&#x2F;&gt;
                    &lt;&#x2F;button&gt;
                &lt;&#x2F;li&gt;
                
                
                &lt;li class=&quot;gallery__selector__item&quot;&gt;
                    &lt;button
                            class=&quot;gallery__selector__button&quot;
                            aria-expanded=&quot;false&quot;
                            aria-controls=&quot;galleryliaisonssonoresimage4&quot;
                            aria-label=&quot;Voir l&#x27;image &amp;quot;Photo d&amp;#x27;archive du spectacle à St-Cadou, France&amp;quot;&quot;
                            type=&quot;button&quot;
                    &gt;
                        &lt;img class=&quot;gallery__selector__image&quot; src=&quot;&amp;#x2F;arts&amp;#x2F;liaisons-sonores&amp;#x2F;gallery&amp;#x2F;cadou_05.jpg&quot; alt=&quot;Photo d&amp;#x27;archive du spectacle à St-Cadou, France&quot;&#x2F;&gt;
                    &lt;&#x2F;button&gt;
                &lt;&#x2F;li&gt;
                
                
                &lt;li class=&quot;gallery__selector__item&quot;&gt;
                    &lt;button
                            class=&quot;gallery__selector__button&quot;
                            aria-expanded=&quot;false&quot;
                            aria-controls=&quot;galleryliaisonssonoresimage5&quot;
                            aria-label=&quot;Voir l&#x27;image &amp;quot;Photo d&amp;#x27;archive du spectacle à St-Cadou, France&amp;quot;&quot;
                            type=&quot;button&quot;
                    &gt;
                        &lt;img class=&quot;gallery__selector__image&quot; src=&quot;&amp;#x2F;arts&amp;#x2F;liaisons-sonores&amp;#x2F;gallery&amp;#x2F;cadou_06.jpg&quot; alt=&quot;Photo d&amp;#x27;archive du spectacle à St-Cadou, France&quot;&#x2F;&gt;
                    &lt;&#x2F;button&gt;
                &lt;&#x2F;li&gt;
                
                
                &lt;li class=&quot;gallery__selector__item&quot;&gt;
                    &lt;button
                            class=&quot;gallery__selector__button&quot;
                            aria-expanded=&quot;false&quot;
                            aria-controls=&quot;galleryliaisonssonoresimage6&quot;
                            aria-label=&quot;Voir l&#x27;image &amp;quot;Photo d&amp;#x27;archive du spectacle à St-Cadou, France&amp;quot;&quot;
                            type=&quot;button&quot;
                    &gt;
                        &lt;img class=&quot;gallery__selector__image&quot; src=&quot;&amp;#x2F;arts&amp;#x2F;liaisons-sonores&amp;#x2F;gallery&amp;#x2F;cadou_07.jpg&quot; alt=&quot;Photo d&amp;#x27;archive du spectacle à St-Cadou, France&quot;&#x2F;&gt;
                    &lt;&#x2F;button&gt;
                &lt;&#x2F;li&gt;
                
                
                &lt;li class=&quot;gallery__selector__item&quot;&gt;
                    &lt;button
                            class=&quot;gallery__selector__button&quot;
                            aria-expanded=&quot;false&quot;
                            aria-controls=&quot;galleryliaisonssonoresimage7&quot;
                            aria-label=&quot;Voir l&#x27;image &amp;quot;Photo d&amp;#x27;archive du spectacle à St-Cadou, France&amp;quot;&quot;
                            type=&quot;button&quot;
                    &gt;
                        &lt;img class=&quot;gallery__selector__image&quot; src=&quot;&amp;#x2F;arts&amp;#x2F;liaisons-sonores&amp;#x2F;gallery&amp;#x2F;cadou_08.jpg&quot; alt=&quot;Photo d&amp;#x27;archive du spectacle à St-Cadou, France&quot;&#x2F;&gt;
                    &lt;&#x2F;button&gt;
                &lt;&#x2F;li&gt;
                
                
                &lt;li class=&quot;gallery__selector__item&quot;&gt;
                    &lt;button
                            class=&quot;gallery__selector__button&quot;
                            aria-expanded=&quot;false&quot;
                            aria-controls=&quot;galleryliaisonssonoresimage8&quot;
                            aria-label=&quot;Voir l&#x27;image &amp;quot;Photo d&amp;#x27;archive du spectacle à St-Cadou, France&amp;quot;&quot;
                            type=&quot;button&quot;
                    &gt;
                        &lt;img class=&quot;gallery__selector__image&quot; src=&quot;&amp;#x2F;arts&amp;#x2F;liaisons-sonores&amp;#x2F;gallery&amp;#x2F;cadou_09.jpg&quot; alt=&quot;Photo d&amp;#x27;archive du spectacle à St-Cadou, France&quot;&#x2F;&gt;
                    &lt;&#x2F;button&gt;
                &lt;&#x2F;li&gt;
                
                
                &lt;li class=&quot;gallery__selector__item&quot;&gt;
                    &lt;button
                            class=&quot;gallery__selector__button&quot;
                            aria-expanded=&quot;false&quot;
                            aria-controls=&quot;galleryliaisonssonoresimage9&quot;
                            aria-label=&quot;Voir l&#x27;image &amp;quot;Photo d&amp;#x27;archive du spectacle à St-Cadou, France&amp;quot;&quot;
                            type=&quot;button&quot;
                    &gt;
                        &lt;img class=&quot;gallery__selector__image&quot; src=&quot;&amp;#x2F;arts&amp;#x2F;liaisons-sonores&amp;#x2F;gallery&amp;#x2F;cadou_10.jpg&quot; alt=&quot;Photo d&amp;#x27;archive du spectacle à St-Cadou, France&quot;&#x2F;&gt;
                    &lt;&#x2F;button&gt;
                &lt;&#x2F;li&gt;
                
                
                &lt;li class=&quot;gallery__selector__item&quot;&gt;
                    &lt;button
                            class=&quot;gallery__selector__button&quot;
                            aria-expanded=&quot;false&quot;
                            aria-controls=&quot;galleryliaisonssonoresimage10&quot;
                            aria-label=&quot;Voir l&#x27;image &amp;quot;Photo d&amp;#x27;archive du spectacle à St-Cadou, France&amp;quot;&quot;
                            type=&quot;button&quot;
                    &gt;
                        &lt;img class=&quot;gallery__selector__image&quot; src=&quot;&amp;#x2F;arts&amp;#x2F;liaisons-sonores&amp;#x2F;gallery&amp;#x2F;cadou_11.jpg&quot; alt=&quot;Photo d&amp;#x27;archive du spectacle à St-Cadou, France&quot;&#x2F;&gt;
                    &lt;&#x2F;button&gt;
                &lt;&#x2F;li&gt;
                
                
                &lt;li class=&quot;gallery__selector__item&quot;&gt;
                    &lt;button
                            class=&quot;gallery__selector__button&quot;
                            aria-expanded=&quot;false&quot;
                            aria-controls=&quot;galleryliaisonssonoresimage11&quot;
                            aria-label=&quot;Voir l&#x27;image &amp;quot;Photo d&amp;#x27;archive du spectacle à Douarnenez, France: Les performeurs sont en cercle, assis au sol, et regardent Jean-Paul Quéinnec (performeur&amp;#x2F;artiste) introduire le spectacle.&amp;quot;&quot;
                            type=&quot;button&quot;
                    &gt;
                        &lt;img class=&quot;gallery__selector__image&quot; src=&quot;&amp;#x2F;arts&amp;#x2F;liaisons-sonores&amp;#x2F;gallery&amp;#x2F;douarnenez_01.jpg&quot; alt=&quot;Photo d&amp;#x27;archive du spectacle à Douarnenez, France: Les performeurs sont en cercle, assis au sol, et regardent Jean-Paul Quéinnec (performeur&amp;#x2F;artiste) introduire le spectacle.&quot;&#x2F;&gt;
                    &lt;&#x2F;button&gt;
                &lt;&#x2F;li&gt;
                
                
                &lt;li class=&quot;gallery__selector__item&quot;&gt;
                    &lt;button
                            class=&quot;gallery__selector__button&quot;
                            aria-expanded=&quot;false&quot;
                            aria-controls=&quot;galleryliaisonssonoresimage12&quot;
                            aria-label=&quot;Voir l&#x27;image &amp;quot;Photo d&amp;#x27;archive du spectacle à Douarnenez, France&amp;quot;&quot;
                            type=&quot;button&quot;
                    &gt;
                        &lt;img class=&quot;gallery__selector__image&quot; src=&quot;&amp;#x2F;arts&amp;#x2F;liaisons-sonores&amp;#x2F;gallery&amp;#x2F;douarnenez_02.jpg&quot; alt=&quot;Photo d&amp;#x27;archive du spectacle à Douarnenez, France&quot;&#x2F;&gt;
                    &lt;&#x2F;button&gt;
                &lt;&#x2F;li&gt;
                
                
                &lt;li class=&quot;gallery__selector__item&quot;&gt;
                    &lt;button
                            class=&quot;gallery__selector__button&quot;
                            aria-expanded=&quot;false&quot;
                            aria-controls=&quot;galleryliaisonssonoresimage13&quot;
                            aria-label=&quot;Voir l&#x27;image &amp;quot;Photo d&amp;#x27;archive du spectacle à Douarnenez, France&amp;quot;&quot;
                            type=&quot;button&quot;
                    &gt;
                        &lt;img class=&quot;gallery__selector__image&quot; src=&quot;&amp;#x2F;arts&amp;#x2F;liaisons-sonores&amp;#x2F;gallery&amp;#x2F;douarnenez_03.jpg&quot; alt=&quot;Photo d&amp;#x27;archive du spectacle à Douarnenez, France&quot;&#x2F;&gt;
                    &lt;&#x2F;button&gt;
                &lt;&#x2F;li&gt;
                
                
                &lt;li class=&quot;gallery__selector__item&quot;&gt;
                    &lt;button
                            class=&quot;gallery__selector__button&quot;
                            aria-expanded=&quot;false&quot;
                            aria-controls=&quot;galleryliaisonssonoresimage14&quot;
                            aria-label=&quot;Voir l&#x27;image &amp;quot;Photo d&amp;#x27;archive du spectacle à Douarnenez, France&amp;quot;&quot;
                            type=&quot;button&quot;
                    &gt;
                        &lt;img class=&quot;gallery__selector__image&quot; src=&quot;&amp;#x2F;arts&amp;#x2F;liaisons-sonores&amp;#x2F;gallery&amp;#x2F;douarnenez_04.jpg&quot; alt=&quot;Photo d&amp;#x27;archive du spectacle à Douarnenez, France&quot;&#x2F;&gt;
                    &lt;&#x2F;button&gt;
                &lt;&#x2F;li&gt;
                
                
                &lt;li class=&quot;gallery__selector__item&quot;&gt;
                    &lt;button
                            class=&quot;gallery__selector__button&quot;
                            aria-expanded=&quot;false&quot;
                            aria-controls=&quot;galleryliaisonssonoresimage15&quot;
                            aria-label=&quot;Voir l&#x27;image &amp;quot;Photo d&amp;#x27;archive du spectacle à Douarnenez, France&amp;quot;&quot;
                            type=&quot;button&quot;
                    &gt;
                        &lt;img class=&quot;gallery__selector__image&quot; src=&quot;&amp;#x2F;arts&amp;#x2F;liaisons-sonores&amp;#x2F;gallery&amp;#x2F;douarnenez_05.jpg&quot; alt=&quot;Photo d&amp;#x27;archive du spectacle à Douarnenez, France&quot;&#x2F;&gt;
                    &lt;&#x2F;button&gt;
                &lt;&#x2F;li&gt;
                
                
                &lt;li class=&quot;gallery__selector__item&quot;&gt;
                    &lt;button
                            class=&quot;gallery__selector__button&quot;
                            aria-expanded=&quot;false&quot;
                            aria-controls=&quot;galleryliaisonssonoresimage16&quot;
                            aria-label=&quot;Voir l&#x27;image &amp;quot;Photo d&amp;#x27;archive du spectacle à Douarnenez, France&amp;quot;&quot;
                            type=&quot;button&quot;
                    &gt;
                        &lt;img class=&quot;gallery__selector__image&quot; src=&quot;&amp;#x2F;arts&amp;#x2F;liaisons-sonores&amp;#x2F;gallery&amp;#x2F;douarnenez_06.jpg&quot; alt=&quot;Photo d&amp;#x27;archive du spectacle à Douarnenez, France&quot;&#x2F;&gt;
                    &lt;&#x2F;button&gt;
                &lt;&#x2F;li&gt;
                
                
                &lt;li class=&quot;gallery__selector__item&quot;&gt;
                    &lt;button
                            class=&quot;gallery__selector__button&quot;
                            aria-expanded=&quot;false&quot;
                            aria-controls=&quot;galleryliaisonssonoresimage17&quot;
                            aria-label=&quot;Voir l&#x27;image &amp;quot;Photo d&amp;#x27;archive du spectacle à Douarnenez, France&amp;quot;&quot;
                            type=&quot;button&quot;
                    &gt;
                        &lt;img class=&quot;gallery__selector__image&quot; src=&quot;&amp;#x2F;arts&amp;#x2F;liaisons-sonores&amp;#x2F;gallery&amp;#x2F;douarnenez_07.jpg&quot; alt=&quot;Photo d&amp;#x27;archive du spectacle à Douarnenez, France&quot;&#x2F;&gt;
                    &lt;&#x2F;button&gt;
                &lt;&#x2F;li&gt;
                
                
                &lt;li class=&quot;gallery__selector__item&quot;&gt;
                    &lt;button
                            class=&quot;gallery__selector__button&quot;
                            aria-expanded=&quot;false&quot;
                            aria-controls=&quot;galleryliaisonssonoresimage18&quot;
                            aria-label=&quot;Voir l&#x27;image &amp;quot;Photo d&amp;#x27;archive du spectacle à Douarnenez, France&amp;quot;&quot;
                            type=&quot;button&quot;
                    &gt;
                        &lt;img class=&quot;gallery__selector__image&quot; src=&quot;&amp;#x2F;arts&amp;#x2F;liaisons-sonores&amp;#x2F;gallery&amp;#x2F;douarnenez_08.jpg&quot; alt=&quot;Photo d&amp;#x27;archive du spectacle à Douarnenez, France&quot;&#x2F;&gt;
                    &lt;&#x2F;button&gt;
                &lt;&#x2F;li&gt;
                
                
                &lt;li class=&quot;gallery__selector__item&quot;&gt;
                    &lt;button
                            class=&quot;gallery__selector__button&quot;
                            aria-expanded=&quot;false&quot;
                            aria-controls=&quot;galleryliaisonssonoresimage19&quot;
                            aria-label=&quot;Voir l&#x27;image &amp;quot;Photo d&amp;#x27;archive du spectacle au Festival des Musiques de Création, Saguenay, Québec: Les performeurs sont en cercle, assis au sol, et regardent Jean-Paul Quéinnec (performeur&amp;#x2F;artiste) introduire le spectacle.&amp;quot;&quot;
                            type=&quot;button&quot;
                    &gt;
                        &lt;img class=&quot;gallery__selector__image&quot; src=&quot;&amp;#x2F;arts&amp;#x2F;liaisons-sonores&amp;#x2F;gallery&amp;#x2F;fmc_1.jpg&quot; alt=&quot;Photo d&amp;#x27;archive du spectacle au Festival des Musiques de Création, Saguenay, Québec: Les performeurs sont en cercle, assis au sol, et regardent Jean-Paul Quéinnec (performeur&amp;#x2F;artiste) introduire le spectacle.&quot;&#x2F;&gt;
                    &lt;&#x2F;button&gt;
                &lt;&#x2F;li&gt;
                
                
                &lt;li class=&quot;gallery__selector__item&quot;&gt;
                    &lt;button
                            class=&quot;gallery__selector__button&quot;
                            aria-expanded=&quot;false&quot;
                            aria-controls=&quot;galleryliaisonssonoresimage20&quot;
                            aria-label=&quot;Voir l&#x27;image &amp;quot;Photo d&amp;#x27;archive du spectacle au Festival des Musiques de Création, Saguenay, Québec&amp;quot;&quot;
                            type=&quot;button&quot;
                    &gt;
                        &lt;img class=&quot;gallery__selector__image&quot; src=&quot;&amp;#x2F;arts&amp;#x2F;liaisons-sonores&amp;#x2F;gallery&amp;#x2F;fmc_2.jpg&quot; alt=&quot;Photo d&amp;#x27;archive du spectacle au Festival des Musiques de Création, Saguenay, Québec&quot;&#x2F;&gt;
                    &lt;&#x2F;button&gt;
                &lt;&#x2F;li&gt;
                
                
                &lt;li class=&quot;gallery__selector__item&quot;&gt;
                    &lt;button
                            class=&quot;gallery__selector__button&quot;
                            aria-expanded=&quot;false&quot;
                            aria-controls=&quot;galleryliaisonssonoresimage21&quot;
                            aria-label=&quot;Voir l&#x27;image &amp;quot;Photo d&amp;#x27;archive du spectacle au Festival des Musiques de Création, Saguenay, Québec&amp;quot;&quot;
                            type=&quot;button&quot;
                    &gt;
                        &lt;img class=&quot;gallery__selector__image&quot; src=&quot;&amp;#x2F;arts&amp;#x2F;liaisons-sonores&amp;#x2F;gallery&amp;#x2F;fmc_3.jpg&quot; alt=&quot;Photo d&amp;#x27;archive du spectacle au Festival des Musiques de Création, Saguenay, Québec&quot;&#x2F;&gt;
                    &lt;&#x2F;button&gt;
                &lt;&#x2F;li&gt;
                
                
                &lt;li class=&quot;gallery__selector__item&quot;&gt;
                    &lt;button
                            class=&quot;gallery__selector__button&quot;
                            aria-expanded=&quot;false&quot;
                            aria-controls=&quot;galleryliaisonssonoresimage22&quot;
                            aria-label=&quot;Voir l&#x27;image &amp;quot;Photo d&amp;#x27;archive du spectacle au Festival des Musiques de Création, Saguenay, Québec&amp;quot;&quot;
                            type=&quot;button&quot;
                    &gt;
                        &lt;img class=&quot;gallery__selector__image&quot; src=&quot;&amp;#x2F;arts&amp;#x2F;liaisons-sonores&amp;#x2F;gallery&amp;#x2F;fmc_4.jpg&quot; alt=&quot;Photo d&amp;#x27;archive du spectacle au Festival des Musiques de Création, Saguenay, Québec&quot;&#x2F;&gt;
                    &lt;&#x2F;button&gt;
                &lt;&#x2F;li&gt;
                
                
                &lt;li class=&quot;gallery__selector__item&quot;&gt;
                    &lt;button
                            class=&quot;gallery__selector__button&quot;
                            aria-expanded=&quot;false&quot;
                            aria-controls=&quot;galleryliaisonssonoresimage23&quot;
                            aria-label=&quot;Voir l&#x27;image &amp;quot;Photo d&amp;#x27;archive du spectacle au Festival des Musiques de Création, Saguenay, Québec&amp;quot;&quot;
                            type=&quot;button&quot;
                    &gt;
                        &lt;img class=&quot;gallery__selector__image&quot; src=&quot;&amp;#x2F;arts&amp;#x2F;liaisons-sonores&amp;#x2F;gallery&amp;#x2F;fmc_5.jpg&quot; alt=&quot;Photo d&amp;#x27;archive du spectacle au Festival des Musiques de Création, Saguenay, Québec&quot;&#x2F;&gt;
                    &lt;&#x2F;button&gt;
                &lt;&#x2F;li&gt;
                
                
                &lt;li class=&quot;gallery__selector__item&quot;&gt;
                    &lt;button
                            class=&quot;gallery__selector__button&quot;
                            aria-expanded=&quot;false&quot;
                            aria-controls=&quot;galleryliaisonssonoresimage24&quot;
                            aria-label=&quot;Voir l&#x27;image &amp;quot;Photo d&amp;#x27;archive du spectacle au Festival des Musiques de Création, Saguenay, Québec&amp;quot;&quot;
                            type=&quot;button&quot;
                    &gt;
                        &lt;img class=&quot;gallery__selector__image&quot; src=&quot;&amp;#x2F;arts&amp;#x2F;liaisons-sonores&amp;#x2F;gallery&amp;#x2F;fmc_6.jpg&quot; alt=&quot;Photo d&amp;#x27;archive du spectacle au Festival des Musiques de Création, Saguenay, Québec&quot;&#x2F;&gt;
                    &lt;&#x2F;button&gt;
                &lt;&#x2F;li&gt;
                
                
                &lt;li class=&quot;gallery__selector__item&quot;&gt;
                    &lt;button
                            class=&quot;gallery__selector__button&quot;
                            aria-expanded=&quot;false&quot;
                            aria-controls=&quot;galleryliaisonssonoresimage25&quot;
                            aria-label=&quot;Voir l&#x27;image &amp;quot;Photo d&amp;#x27;archive du spectacle au Festival des Musiques de Création, Saguenay, Québec&amp;quot;&quot;
                            type=&quot;button&quot;
                    &gt;
                        &lt;img class=&quot;gallery__selector__image&quot; src=&quot;&amp;#x2F;arts&amp;#x2F;liaisons-sonores&amp;#x2F;gallery&amp;#x2F;fmc_7.jpg&quot; alt=&quot;Photo d&amp;#x27;archive du spectacle au Festival des Musiques de Création, Saguenay, Québec&quot;&#x2F;&gt;
                    &lt;&#x2F;button&gt;
                &lt;&#x2F;li&gt;
                
                
                &lt;li class=&quot;gallery__selector__item&quot;&gt;
                    &lt;button
                            class=&quot;gallery__selector__button&quot;
                            aria-expanded=&quot;false&quot;
                            aria-controls=&quot;galleryliaisonssonoresimage26&quot;
                            aria-label=&quot;Voir l&#x27;image &amp;quot;Photo d&amp;#x27;archive du spectacle au Théâtre l’Horizon, La Rochelle, France&amp;quot;&quot;
                            type=&quot;button&quot;
                    &gt;
                        &lt;img class=&quot;gallery__selector__image&quot; src=&quot;&amp;#x2F;arts&amp;#x2F;liaisons-sonores&amp;#x2F;gallery&amp;#x2F;horizon_1.jpg&quot; alt=&quot;Photo d&amp;#x27;archive du spectacle au Théâtre l’Horizon, La Rochelle, France&quot;&#x2F;&gt;
                    &lt;&#x2F;button&gt;
                &lt;&#x2F;li&gt;
                
                
                &lt;li class=&quot;gallery__selector__item&quot;&gt;
                    &lt;button
                            class=&quot;gallery__selector__button&quot;
                            aria-expanded=&quot;false&quot;
                            aria-controls=&quot;galleryliaisonssonoresimage27&quot;
                            aria-label=&quot;Voir l&#x27;image &amp;quot;Photo d&amp;#x27;archive du spectacle au Théâtre l’Horizon, La Rochelle, France&amp;quot;&quot;
                            type=&quot;button&quot;
                    &gt;
                        &lt;img class=&quot;gallery__selector__image&quot; src=&quot;&amp;#x2F;arts&amp;#x2F;liaisons-sonores&amp;#x2F;gallery&amp;#x2F;horizon_2.jpg&quot; alt=&quot;Photo d&amp;#x27;archive du spectacle au Théâtre l’Horizon, La Rochelle, France&quot;&#x2F;&gt;
                    &lt;&#x2F;button&gt;
                &lt;&#x2F;li&gt;
                
                
                &lt;li class=&quot;gallery__selector__item&quot;&gt;
                    &lt;button
                            class=&quot;gallery__selector__button&quot;
                            aria-expanded=&quot;false&quot;
                            aria-controls=&quot;galleryliaisonssonoresimage28&quot;
                            aria-label=&quot;Voir l&#x27;image &amp;quot;Photo d&amp;#x27;archive du spectacle au Théâtre l’Horizon, La Rochelle, France&amp;quot;&quot;
                            type=&quot;button&quot;
                    &gt;
                        &lt;img class=&quot;gallery__selector__image&quot; src=&quot;&amp;#x2F;arts&amp;#x2F;liaisons-sonores&amp;#x2F;gallery&amp;#x2F;horizon_3.jpg&quot; alt=&quot;Photo d&amp;#x27;archive du spectacle au Théâtre l’Horizon, La Rochelle, France&quot;&#x2F;&gt;
                    &lt;&#x2F;button&gt;
                &lt;&#x2F;li&gt;
                
                
                &lt;li class=&quot;gallery__selector__item&quot;&gt;
                    &lt;button
                            class=&quot;gallery__selector__button&quot;
                            aria-expanded=&quot;false&quot;
                            aria-controls=&quot;galleryliaisonssonoresimage29&quot;
                            aria-label=&quot;Voir l&#x27;image &amp;quot;Photo d&amp;#x27;archive du spectacle au Théâtre l’Horizon, La Rochelle, France&amp;quot;&quot;
                            type=&quot;button&quot;
                    &gt;
                        &lt;img class=&quot;gallery__selector__image&quot; src=&quot;&amp;#x2F;arts&amp;#x2F;liaisons-sonores&amp;#x2F;gallery&amp;#x2F;horizon_4.jpg&quot; alt=&quot;Photo d&amp;#x27;archive du spectacle au Théâtre l’Horizon, La Rochelle, France&quot;&#x2F;&gt;
                    &lt;&#x2F;button&gt;
                &lt;&#x2F;li&gt;
                
                
                &lt;li class=&quot;gallery__selector__item&quot;&gt;
                    &lt;button
                            class=&quot;gallery__selector__button&quot;
                            aria-expanded=&quot;false&quot;
                            aria-controls=&quot;galleryliaisonssonoresimage30&quot;
                            aria-label=&quot;Voir l&#x27;image &amp;quot;Photo d&amp;#x27;archive du spectacle au Théâtre l’Horizon, La Rochelle, France&amp;quot;&quot;
                            type=&quot;button&quot;
                    &gt;
                        &lt;img class=&quot;gallery__selector__image&quot; src=&quot;&amp;#x2F;arts&amp;#x2F;liaisons-sonores&amp;#x2F;gallery&amp;#x2F;horizon_5.jpg&quot; alt=&quot;Photo d&amp;#x27;archive du spectacle au Théâtre l’Horizon, La Rochelle, France&quot;&#x2F;&gt;
                    &lt;&#x2F;button&gt;
                &lt;&#x2F;li&gt;
                
                
                &lt;li class=&quot;gallery__selector__item&quot;&gt;
                    &lt;button
                            class=&quot;gallery__selector__button&quot;
                            aria-expanded=&quot;false&quot;
                            aria-controls=&quot;galleryliaisonssonoresimage31&quot;
                            aria-label=&quot;Voir l&#x27;image &amp;quot;Photo d&amp;#x27;archive du spectacle au Théâtre l’Horizon, La Rochelle, France&amp;quot;&quot;
                            type=&quot;button&quot;
                    &gt;
                        &lt;img class=&quot;gallery__selector__image&quot; src=&quot;&amp;#x2F;arts&amp;#x2F;liaisons-sonores&amp;#x2F;gallery&amp;#x2F;horizon_6.jpg&quot; alt=&quot;Photo d&amp;#x27;archive du spectacle au Théâtre l’Horizon, La Rochelle, France&quot;&#x2F;&gt;
                    &lt;&#x2F;button&gt;
                &lt;&#x2F;li&gt;
                
                
                &lt;li class=&quot;gallery__selector__item&quot;&gt;
                    &lt;button
                            class=&quot;gallery__selector__button&quot;
                            aria-expanded=&quot;false&quot;
                            aria-controls=&quot;galleryliaisonssonoresimage32&quot;
                            aria-label=&quot;Voir l&#x27;image &amp;quot;Photo d&amp;#x27;archive du spectacle au Théâtre l’Horizon, La Rochelle, France: Les performeurs sont en cercle, assis au sol, et regardent Jean-Paul Quéinnec (performeur&amp;#x2F;artiste) introduire le spectacle.&amp;quot;&quot;
                            type=&quot;button&quot;
                    &gt;
                        &lt;img class=&quot;gallery__selector__image&quot; src=&quot;&amp;#x2F;arts&amp;#x2F;liaisons-sonores&amp;#x2F;gallery&amp;#x2F;horizon_7.jpg&quot; alt=&quot;Photo d&amp;#x27;archive du spectacle au Théâtre l’Horizon, La Rochelle, France: Les performeurs sont en cercle, assis au sol, et regardent Jean-Paul Quéinnec (performeur&amp;#x2F;artiste) introduire le spectacle.&quot;&#x2F;&gt;
                    &lt;&#x2F;button&gt;
                &lt;&#x2F;li&gt;
                
                
                &lt;li class=&quot;gallery__selector__item&quot;&gt;
                    &lt;button
                            class=&quot;gallery__selector__button&quot;
                            aria-expanded=&quot;false&quot;
                            aria-controls=&quot;galleryliaisonssonoresimage33&quot;
                            aria-label=&quot;Voir l&#x27;image &amp;quot;Photo d&amp;#x27;archive du spectacle au Théâtre l’Horizon, La Rochelle, France&amp;quot;&quot;
                            type=&quot;button&quot;
                    &gt;
                        &lt;img class=&quot;gallery__selector__image&quot; src=&quot;&amp;#x2F;arts&amp;#x2F;liaisons-sonores&amp;#x2F;gallery&amp;#x2F;horizon_8.jpg&quot; alt=&quot;Photo d&amp;#x27;archive du spectacle au Théâtre l’Horizon, La Rochelle, France&quot;&#x2F;&gt;
                    &lt;&#x2F;button&gt;
                &lt;&#x2F;li&gt;
                
                
                &lt;li class=&quot;gallery__selector__item&quot;&gt;
                    &lt;button
                            class=&quot;gallery__selector__button&quot;
                            aria-expanded=&quot;false&quot;
                            aria-controls=&quot;galleryliaisonssonoresimage34&quot;
                            aria-label=&quot;Voir l&#x27;image &amp;quot;Photo d&amp;#x27;archive du spectacle au Théâtre l’Horizon, La Rochelle, France&amp;quot;&quot;
                            type=&quot;button&quot;
                    &gt;
                        &lt;img class=&quot;gallery__selector__image&quot; src=&quot;&amp;#x2F;arts&amp;#x2F;liaisons-sonores&amp;#x2F;gallery&amp;#x2F;horizon_9.jpg&quot; alt=&quot;Photo d&amp;#x27;archive du spectacle au Théâtre l’Horizon, La Rochelle, France&quot;&#x2F;&gt;
                    &lt;&#x2F;button&gt;
                &lt;&#x2F;li&gt;
                
                
                &lt;li class=&quot;gallery__selector__item&quot;&gt;
                    &lt;button
                            class=&quot;gallery__selector__button&quot;
                            aria-expanded=&quot;false&quot;
                            aria-controls=&quot;galleryliaisonssonoresimage35&quot;
                            aria-label=&quot;Voir l&#x27;image &amp;quot;Photo d&amp;#x27;archive du spectacle au Festival Le Lac, lac du Drennec, France&amp;quot;&quot;
                            type=&quot;button&quot;
                    &gt;
                        &lt;img class=&quot;gallery__selector__image&quot; src=&quot;&amp;#x2F;arts&amp;#x2F;liaisons-sonores&amp;#x2F;gallery&amp;#x2F;lac_1.jpg&quot; alt=&quot;Photo d&amp;#x27;archive du spectacle au Festival Le Lac, lac du Drennec, France&quot;&#x2F;&gt;
                    &lt;&#x2F;button&gt;
                &lt;&#x2F;li&gt;
                
                
                &lt;li class=&quot;gallery__selector__item&quot;&gt;
                    &lt;button
                            class=&quot;gallery__selector__button&quot;
                            aria-expanded=&quot;false&quot;
                            aria-controls=&quot;galleryliaisonssonoresimage36&quot;
                            aria-label=&quot;Voir l&#x27;image &amp;quot;Photo d&amp;#x27;archive du spectacle au Festival Le Lac, lac du Drennec, France&amp;quot;&quot;
                            type=&quot;button&quot;
                    &gt;
                        &lt;img class=&quot;gallery__selector__image&quot; src=&quot;&amp;#x2F;arts&amp;#x2F;liaisons-sonores&amp;#x2F;gallery&amp;#x2F;lac_2.jpg&quot; alt=&quot;Photo d&amp;#x27;archive du spectacle au Festival Le Lac, lac du Drennec, France&quot;&#x2F;&gt;
                    &lt;&#x2F;button&gt;
                &lt;&#x2F;li&gt;
                
                
                &lt;li class=&quot;gallery__selector__item&quot;&gt;
                    &lt;button
                            class=&quot;gallery__selector__button&quot;
                            aria-expanded=&quot;false&quot;
                            aria-controls=&quot;galleryliaisonssonoresimage37&quot;
                            aria-label=&quot;Voir l&#x27;image &amp;quot;Photo d&amp;#x27;archive du spectacle au Festival Le Lac, lac du Drennec, France&amp;quot;&quot;
                            type=&quot;button&quot;
                    &gt;
                        &lt;img class=&quot;gallery__selector__image&quot; src=&quot;&amp;#x2F;arts&amp;#x2F;liaisons-sonores&amp;#x2F;gallery&amp;#x2F;lac_3.jpg&quot; alt=&quot;Photo d&amp;#x27;archive du spectacle au Festival Le Lac, lac du Drennec, France&quot;&#x2F;&gt;
                    &lt;&#x2F;button&gt;
                &lt;&#x2F;li&gt;
                
                
                &lt;li class=&quot;gallery__selector__item&quot;&gt;
                    &lt;button
                            class=&quot;gallery__selector__button&quot;
                            aria-expanded=&quot;false&quot;
                            aria-controls=&quot;galleryliaisonssonoresimage38&quot;
                            aria-label=&quot;Voir l&#x27;image &amp;quot;Photo d&amp;#x27;archive du spectacle au Festival Le Lac, lac du Drennec, France&amp;quot;&quot;
                            type=&quot;button&quot;
                    &gt;
                        &lt;img class=&quot;gallery__selector__image&quot; src=&quot;&amp;#x2F;arts&amp;#x2F;liaisons-sonores&amp;#x2F;gallery&amp;#x2F;lac_4.jpg&quot; alt=&quot;Photo d&amp;#x27;archive du spectacle au Festival Le Lac, lac du Drennec, France&quot;&#x2F;&gt;
                    &lt;&#x2F;button&gt;
                &lt;&#x2F;li&gt;
                
                
                &lt;li class=&quot;gallery__selector__item&quot;&gt;
                    &lt;button
                            class=&quot;gallery__selector__button&quot;
                            aria-expanded=&quot;false&quot;
                            aria-controls=&quot;galleryliaisonssonoresimage39&quot;
                            aria-label=&quot;Voir l&#x27;image &amp;quot;Photo d&amp;#x27;archive du spectacle au Festival Le Lac, lac du Drennec, France&amp;quot;&quot;
                            type=&quot;button&quot;
                    &gt;
                        &lt;img class=&quot;gallery__selector__image&quot; src=&quot;&amp;#x2F;arts&amp;#x2F;liaisons-sonores&amp;#x2F;gallery&amp;#x2F;lac_5.jpg&quot; alt=&quot;Photo d&amp;#x27;archive du spectacle au Festival Le Lac, lac du Drennec, France&quot;&#x2F;&gt;
                    &lt;&#x2F;button&gt;
                &lt;&#x2F;li&gt;
                
                
                &lt;li class=&quot;gallery__selector__item&quot;&gt;
                    &lt;button
                            class=&quot;gallery__selector__button&quot;
                            aria-expanded=&quot;false&quot;
                            aria-controls=&quot;galleryliaisonssonoresimage40&quot;
                            aria-label=&quot;Voir l&#x27;image &amp;quot;Photo d&amp;#x27;archive du spectacle au Lantiss, Québec, Québec: Les performeurs sont en cercle, assis au sol, et regardent Jean-Paul Quéinnec (performeur&amp;#x2F;artiste) introduire le spectacle.&amp;quot;&quot;
                            type=&quot;button&quot;
                    &gt;
                        &lt;img class=&quot;gallery__selector__image&quot; src=&quot;&amp;#x2F;arts&amp;#x2F;liaisons-sonores&amp;#x2F;gallery&amp;#x2F;lantiss_1.jpg&quot; alt=&quot;Photo d&amp;#x27;archive du spectacle au Lantiss, Québec, Québec: Les performeurs sont en cercle, assis au sol, et regardent Jean-Paul Quéinnec (performeur&amp;#x2F;artiste) introduire le spectacle.&quot;&#x2F;&gt;
                    &lt;&#x2F;button&gt;
                &lt;&#x2F;li&gt;
                
                
                &lt;li class=&quot;gallery__selector__item&quot;&gt;
                    &lt;button
                            class=&quot;gallery__selector__button&quot;
                            aria-expanded=&quot;false&quot;
                            aria-controls=&quot;galleryliaisonssonoresimage41&quot;
                            aria-label=&quot;Voir l&#x27;image &amp;quot;Photo d&amp;#x27;archive du spectacle au Lantiss, Québec, Québec&amp;quot;&quot;
                            type=&quot;button&quot;
                    &gt;
                        &lt;img class=&quot;gallery__selector__image&quot; src=&quot;&amp;#x2F;arts&amp;#x2F;liaisons-sonores&amp;#x2F;gallery&amp;#x2F;lantiss_2.jpg&quot; alt=&quot;Photo d&amp;#x27;archive du spectacle au Lantiss, Québec, Québec&quot;&#x2F;&gt;
                    &lt;&#x2F;button&gt;
                &lt;&#x2F;li&gt;
                
                
                &lt;li class=&quot;gallery__selector__item&quot;&gt;
                    &lt;button
                            class=&quot;gallery__selector__button&quot;
                            aria-expanded=&quot;false&quot;
                            aria-controls=&quot;galleryliaisonssonoresimage42&quot;
                            aria-label=&quot;Voir l&#x27;image &amp;quot;Photo d&amp;#x27;archive du spectacle au Lantiss, Québec, Québec&amp;quot;&quot;
                            type=&quot;button&quot;
                    &gt;
                        &lt;img class=&quot;gallery__selector__image&quot; src=&quot;&amp;#x2F;arts&amp;#x2F;liaisons-sonores&amp;#x2F;gallery&amp;#x2F;lantiss_3.jpg&quot; alt=&quot;Photo d&amp;#x27;archive du spectacle au Lantiss, Québec, Québec&quot;&#x2F;&gt;
                    &lt;&#x2F;button&gt;
                &lt;&#x2F;li&gt;
                
                
                &lt;li class=&quot;gallery__selector__item&quot;&gt;
                    &lt;button
                            class=&quot;gallery__selector__button&quot;
                            aria-expanded=&quot;false&quot;
                            aria-controls=&quot;galleryliaisonssonoresimage43&quot;
                            aria-label=&quot;Voir l&#x27;image &amp;quot;Photo d&amp;#x27;archive du spectacle au Lantiss, Québec, Québec&amp;quot;&quot;
                            type=&quot;button&quot;
                    &gt;
                        &lt;img class=&quot;gallery__selector__image&quot; src=&quot;&amp;#x2F;arts&amp;#x2F;liaisons-sonores&amp;#x2F;gallery&amp;#x2F;lantiss_4.jpg&quot; alt=&quot;Photo d&amp;#x27;archive du spectacle au Lantiss, Québec, Québec&quot;&#x2F;&gt;
                    &lt;&#x2F;button&gt;
                &lt;&#x2F;li&gt;
                
                
                &lt;li class=&quot;gallery__selector__item&quot;&gt;
                    &lt;button
                            class=&quot;gallery__selector__button&quot;
                            aria-expanded=&quot;false&quot;
                            aria-controls=&quot;galleryliaisonssonoresimage44&quot;
                            aria-label=&quot;Voir l&#x27;image &amp;quot;Photo d&amp;#x27;archive du spectacle au Lantiss, Québec, Québec&amp;quot;&quot;
                            type=&quot;button&quot;
                    &gt;
                        &lt;img class=&quot;gallery__selector__image&quot; src=&quot;&amp;#x2F;arts&amp;#x2F;liaisons-sonores&amp;#x2F;gallery&amp;#x2F;lantiss_5.jpg&quot; alt=&quot;Photo d&amp;#x27;archive du spectacle au Lantiss, Québec, Québec&quot;&#x2F;&gt;
                    &lt;&#x2F;button&gt;
                &lt;&#x2F;li&gt;
                
                
                &lt;li class=&quot;gallery__selector__item&quot;&gt;
                    &lt;button
                            class=&quot;gallery__selector__button&quot;
                            aria-expanded=&quot;false&quot;
                            aria-controls=&quot;galleryliaisonssonoresimage45&quot;
                            aria-label=&quot;Voir l&#x27;image &amp;quot;Photo d&amp;#x27;archive du spectacle au Lantiss, Québec, Québec&amp;quot;&quot;
                            type=&quot;button&quot;
                    &gt;
                        &lt;img class=&quot;gallery__selector__image&quot; src=&quot;&amp;#x2F;arts&amp;#x2F;liaisons-sonores&amp;#x2F;gallery&amp;#x2F;lantiss_6.jpg&quot; alt=&quot;Photo d&amp;#x27;archive du spectacle au Lantiss, Québec, Québec&quot;&#x2F;&gt;
                    &lt;&#x2F;button&gt;
                &lt;&#x2F;li&gt;
                
                
                &lt;li class=&quot;gallery__selector__item&quot;&gt;
                    &lt;button
                            class=&quot;gallery__selector__button&quot;
                            aria-expanded=&quot;false&quot;
                            aria-controls=&quot;galleryliaisonssonoresimage46&quot;
                            aria-label=&quot;Voir l&#x27;image &amp;quot;Photo d&amp;#x27;archive du spectacle au Lantiss, Québec, Québec&amp;quot;&quot;
                            type=&quot;button&quot;
                    &gt;
                        &lt;img class=&quot;gallery__selector__image&quot; src=&quot;&amp;#x2F;arts&amp;#x2F;liaisons-sonores&amp;#x2F;gallery&amp;#x2F;lantiss_7.jpg&quot; alt=&quot;Photo d&amp;#x27;archive du spectacle au Lantiss, Québec, Québec&quot;&#x2F;&gt;
                    &lt;&#x2F;button&gt;
                &lt;&#x2F;li&gt;
                
                
                &lt;li class=&quot;gallery__selector__item&quot;&gt;
                    &lt;button
                            class=&quot;gallery__selector__button&quot;
                            aria-expanded=&quot;false&quot;
                            aria-controls=&quot;galleryliaisonssonoresimage47&quot;
                            aria-label=&quot;Voir l&#x27;image &amp;quot;Photo d&amp;#x27;archive du spectacle au Lantiss, Québec, Québec&amp;quot;&quot;
                            type=&quot;button&quot;
                    &gt;
                        &lt;img class=&quot;gallery__selector__image&quot; src=&quot;&amp;#x2F;arts&amp;#x2F;liaisons-sonores&amp;#x2F;gallery&amp;#x2F;lantiss_8.jpg&quot; alt=&quot;Photo d&amp;#x27;archive du spectacle au Lantiss, Québec, Québec&quot;&#x2F;&gt;
                    &lt;&#x2F;button&gt;
                &lt;&#x2F;li&gt;
                
                
                &lt;li class=&quot;gallery__selector__item&quot;&gt;
                    &lt;button
                            class=&quot;gallery__selector__button&quot;
                            aria-expanded=&quot;false&quot;
                            aria-controls=&quot;galleryliaisonssonoresimage48&quot;
                            aria-label=&quot;Voir l&#x27;image &amp;quot;Photo d&amp;#x27;archive du spectacle au Festival Phonurgia Nova, Arles et radio 3DFM, France: Les performeurs sont en cercle, assis au sol, et regardent Jean-Paul Quéinnec (performeur&amp;#x2F;artiste) introduire le spectacle.&amp;quot;&quot;
                            type=&quot;button&quot;
                    &gt;
                        &lt;img class=&quot;gallery__selector__image&quot; src=&quot;&amp;#x2F;arts&amp;#x2F;liaisons-sonores&amp;#x2F;gallery&amp;#x2F;phonurgia_1.jpg&quot; alt=&quot;Photo d&amp;#x27;archive du spectacle au Festival Phonurgia Nova, Arles et radio 3DFM, France: Les performeurs sont en cercle, assis au sol, et regardent Jean-Paul Quéinnec (performeur&amp;#x2F;artiste) introduire le spectacle.&quot;&#x2F;&gt;
                    &lt;&#x2F;button&gt;
                &lt;&#x2F;li&gt;
                
                
                &lt;li class=&quot;gallery__selector__item&quot;&gt;
                    &lt;button
                            class=&quot;gallery__selector__button&quot;
                            aria-expanded=&quot;false&quot;
                            aria-controls=&quot;galleryliaisonssonoresimage49&quot;
                            aria-label=&quot;Voir l&#x27;image &amp;quot;Photo d&amp;#x27;archive du spectacle au Festival Phonurgia Nova, Arles et radio 3DFM, France&amp;quot;&quot;
                            type=&quot;button&quot;
                    &gt;
                        &lt;img class=&quot;gallery__selector__image&quot; src=&quot;&amp;#x2F;arts&amp;#x2F;liaisons-sonores&amp;#x2F;gallery&amp;#x2F;phonurgia_2.jpg&quot; alt=&quot;Photo d&amp;#x27;archive du spectacle au Festival Phonurgia Nova, Arles et radio 3DFM, France&quot;&#x2F;&gt;
                    &lt;&#x2F;button&gt;
                &lt;&#x2F;li&gt;
                
                
                &lt;li class=&quot;gallery__selector__item&quot;&gt;
                    &lt;button
                            class=&quot;gallery__selector__button&quot;
                            aria-expanded=&quot;false&quot;
                            aria-controls=&quot;galleryliaisonssonoresimage50&quot;
                            aria-label=&quot;Voir l&#x27;image &amp;quot;Photo d&amp;#x27;archive du spectacle au Festival Phonurgia Nova, Arles et radio 3DFM, France&amp;quot;&quot;
                            type=&quot;button&quot;
                    &gt;
                        &lt;img class=&quot;gallery__selector__image&quot; src=&quot;&amp;#x2F;arts&amp;#x2F;liaisons-sonores&amp;#x2F;gallery&amp;#x2F;phonurgia_3.jpg&quot; alt=&quot;Photo d&amp;#x27;archive du spectacle au Festival Phonurgia Nova, Arles et radio 3DFM, France&quot;&#x2F;&gt;
                    &lt;&#x2F;button&gt;
                &lt;&#x2F;li&gt;
                
                
                &lt;li class=&quot;gallery__selector__item&quot;&gt;
                    &lt;button
                            class=&quot;gallery__selector__button&quot;
                            aria-expanded=&quot;false&quot;
                            aria-controls=&quot;galleryliaisonssonoresimage51&quot;
                            aria-label=&quot;Voir l&#x27;image &amp;quot;Photo d&amp;#x27;archive du spectacle au Festival Phonurgia Nova, Arles et radio 3DFM, France&amp;quot;&quot;
                            type=&quot;button&quot;
                    &gt;
                        &lt;img class=&quot;gallery__selector__image&quot; src=&quot;&amp;#x2F;arts&amp;#x2F;liaisons-sonores&amp;#x2F;gallery&amp;#x2F;phonurgia_4.jpg&quot; alt=&quot;Photo d&amp;#x27;archive du spectacle au Festival Phonurgia Nova, Arles et radio 3DFM, France&quot;&#x2F;&gt;
                    &lt;&#x2F;button&gt;
                &lt;&#x2F;li&gt;
                
                
                &lt;li class=&quot;gallery__selector__item&quot;&gt;
                    &lt;button
                            class=&quot;gallery__selector__button&quot;
                            aria-expanded=&quot;false&quot;
                            aria-controls=&quot;galleryliaisonssonoresimage52&quot;
                            aria-label=&quot;Voir l&#x27;image &amp;quot;Photo d&amp;#x27;archive du spectacle au Festival Phonurgia Nova, Arles et radio 3DFM, France&amp;quot;&quot;
                            type=&quot;button&quot;
                    &gt;
                        &lt;img class=&quot;gallery__selector__image&quot; src=&quot;&amp;#x2F;arts&amp;#x2F;liaisons-sonores&amp;#x2F;gallery&amp;#x2F;phonurgia_5.jpg&quot; alt=&quot;Photo d&amp;#x27;archive du spectacle au Festival Phonurgia Nova, Arles et radio 3DFM, France&quot;&#x2F;&gt;
                    &lt;&#x2F;button&gt;
                &lt;&#x2F;li&gt;
                
                
                &lt;li class=&quot;gallery__selector__item&quot;&gt;
                    &lt;button
                            class=&quot;gallery__selector__button&quot;
                            aria-expanded=&quot;false&quot;
                            aria-controls=&quot;galleryliaisonssonoresimage53&quot;
                            aria-label=&quot;Voir l&#x27;image &amp;quot;Photo d&amp;#x27;archive du spectacle au Festival Phonurgia Nova, Arles et radio 3DFM, France&amp;quot;&quot;
                            type=&quot;button&quot;
                    &gt;
                        &lt;img class=&quot;gallery__selector__image&quot; src=&quot;&amp;#x2F;arts&amp;#x2F;liaisons-sonores&amp;#x2F;gallery&amp;#x2F;phonurgia_6.jpg&quot; alt=&quot;Photo d&amp;#x27;archive du spectacle au Festival Phonurgia Nova, Arles et radio 3DFM, France&quot;&#x2F;&gt;
                    &lt;&#x2F;button&gt;
                &lt;&#x2F;li&gt;
                
                
                &lt;li class=&quot;gallery__selector__item&quot;&gt;
                    &lt;button
                            class=&quot;gallery__selector__button&quot;
                            aria-expanded=&quot;false&quot;
                            aria-controls=&quot;galleryliaisonssonoresimage54&quot;
                            aria-label=&quot;Voir l&#x27;image &amp;quot;Photo d&amp;#x27;archive du spectacle au Festival Phonurgia Nova, Arles et radio 3DFM, France&amp;quot;&quot;
                            type=&quot;button&quot;
                    &gt;
                        &lt;img class=&quot;gallery__selector__image&quot; src=&quot;&amp;#x2F;arts&amp;#x2F;liaisons-sonores&amp;#x2F;gallery&amp;#x2F;phonurgia_7.jpg&quot; alt=&quot;Photo d&amp;#x27;archive du spectacle au Festival Phonurgia Nova, Arles et radio 3DFM, France&quot;&#x2F;&gt;
                    &lt;&#x2F;button&gt;
                &lt;&#x2F;li&gt;
                
                
                &lt;li class=&quot;gallery__selector__item&quot;&gt;
                    &lt;button
                            class=&quot;gallery__selector__button&quot;
                            aria-expanded=&quot;false&quot;
                            aria-controls=&quot;galleryliaisonssonoresimage55&quot;
                            aria-label=&quot;Voir l&#x27;image &amp;quot;Photo d&amp;#x27;archive du spectacle au Festival Phonurgia Nova, Arles et radio 3DFM, France&amp;quot;&quot;
                            type=&quot;button&quot;
                    &gt;
                        &lt;img class=&quot;gallery__selector__image&quot; src=&quot;&amp;#x2F;arts&amp;#x2F;liaisons-sonores&amp;#x2F;gallery&amp;#x2F;phonurgia_8.jpg&quot; alt=&quot;Photo d&amp;#x27;archive du spectacle au Festival Phonurgia Nova, Arles et radio 3DFM, France&quot;&#x2F;&gt;
                    &lt;&#x2F;button&gt;
                &lt;&#x2F;li&gt;
                
                
                &lt;li class=&quot;gallery__selector__item&quot;&gt;
                    &lt;button
                            class=&quot;gallery__selector__button&quot;
                            aria-expanded=&quot;false&quot;
                            aria-controls=&quot;galleryliaisonssonoresimage56&quot;
                            aria-label=&quot;Voir l&#x27;image &amp;quot;Photo d&amp;#x27;archive de la préparation à St-Cadou, France&amp;quot;&quot;
                            type=&quot;button&quot;
                    &gt;
                        &lt;img class=&quot;gallery__selector__image&quot; src=&quot;&amp;#x2F;arts&amp;#x2F;liaisons-sonores&amp;#x2F;gallery&amp;#x2F;pre_01.jpg&quot; alt=&quot;Photo d&amp;#x27;archive de la préparation à St-Cadou, France&quot;&#x2F;&gt;
                    &lt;&#x2F;button&gt;
                &lt;&#x2F;li&gt;
                
                
                &lt;li class=&quot;gallery__selector__item&quot;&gt;
                    &lt;button
                            class=&quot;gallery__selector__button&quot;
                            aria-expanded=&quot;false&quot;
                            aria-controls=&quot;galleryliaisonssonoresimage57&quot;
                            aria-label=&quot;Voir l&#x27;image &amp;quot;Photo d&amp;#x27;archive de la préparation à St-Cadou, France&amp;quot;&quot;
                            type=&quot;button&quot;
                    &gt;
                        &lt;img class=&quot;gallery__selector__image&quot; src=&quot;&amp;#x2F;arts&amp;#x2F;liaisons-sonores&amp;#x2F;gallery&amp;#x2F;pre_02.jpg&quot; alt=&quot;Photo d&amp;#x27;archive de la préparation à St-Cadou, France&quot;&#x2F;&gt;
                    &lt;&#x2F;button&gt;
                &lt;&#x2F;li&gt;
                
                
                &lt;li class=&quot;gallery__selector__item&quot;&gt;
                    &lt;button
                            class=&quot;gallery__selector__button&quot;
                            aria-expanded=&quot;false&quot;
                            aria-controls=&quot;galleryliaisonssonoresimage58&quot;
                            aria-label=&quot;Voir l&#x27;image &amp;quot;Photo d&amp;#x27;archive de la préparation à St-Cadou, France&amp;quot;&quot;
                            type=&quot;button&quot;
                    &gt;
                        &lt;img class=&quot;gallery__selector__image&quot; src=&quot;&amp;#x2F;arts&amp;#x2F;liaisons-sonores&amp;#x2F;gallery&amp;#x2F;pre_03.jpg&quot; alt=&quot;Photo d&amp;#x27;archive de la préparation à St-Cadou, France&quot;&#x2F;&gt;
                    &lt;&#x2F;button&gt;
                &lt;&#x2F;li&gt;
                
                
                &lt;li class=&quot;gallery__selector__item&quot;&gt;
                    &lt;button
                            class=&quot;gallery__selector__button&quot;
                            aria-expanded=&quot;false&quot;
                            aria-controls=&quot;galleryliaisonssonoresimage59&quot;
                            aria-label=&quot;Voir l&#x27;image &amp;quot;Photo d&amp;#x27;archive de la préparation à St-Cadou, France&amp;quot;&quot;
                            type=&quot;button&quot;
                    &gt;
                        &lt;img class=&quot;gallery__selector__image&quot; src=&quot;&amp;#x2F;arts&amp;#x2F;liaisons-sonores&amp;#x2F;gallery&amp;#x2F;pre_04.jpg&quot; alt=&quot;Photo d&amp;#x27;archive de la préparation à St-Cadou, France&quot;&#x2F;&gt;
                    &lt;&#x2F;button&gt;
                &lt;&#x2F;li&gt;
                
                
                &lt;li class=&quot;gallery__selector__item&quot;&gt;
                    &lt;button
                            class=&quot;gallery__selector__button&quot;
                            aria-expanded=&quot;false&quot;
                            aria-controls=&quot;galleryliaisonssonoresimage60&quot;
                            aria-label=&quot;Voir l&#x27;image &amp;quot;Photo d&amp;#x27;archive de la préparation à St-Cadou, France&amp;quot;&quot;
                            type=&quot;button&quot;
                    &gt;
                        &lt;img class=&quot;gallery__selector__image&quot; src=&quot;&amp;#x2F;arts&amp;#x2F;liaisons-sonores&amp;#x2F;gallery&amp;#x2F;pre_05.jpg&quot; alt=&quot;Photo d&amp;#x27;archive de la préparation à St-Cadou, France&quot;&#x2F;&gt;
                    &lt;&#x2F;button&gt;
                &lt;&#x2F;li&gt;
                
                
                &lt;li class=&quot;gallery__selector__item&quot;&gt;
                    &lt;button
                            class=&quot;gallery__selector__button&quot;
                            aria-expanded=&quot;false&quot;
                            aria-controls=&quot;galleryliaisonssonoresimage61&quot;
                            aria-label=&quot;Voir l&#x27;image &amp;quot;Photo d&amp;#x27;archive de la préparation à St-Cadou, France&amp;quot;&quot;
                            type=&quot;button&quot;
                    &gt;
                        &lt;img class=&quot;gallery__selector__image&quot; src=&quot;&amp;#x2F;arts&amp;#x2F;liaisons-sonores&amp;#x2F;gallery&amp;#x2F;pre_06.jpg&quot; alt=&quot;Photo d&amp;#x27;archive de la préparation à St-Cadou, France&quot;&#x2F;&gt;
                    &lt;&#x2F;button&gt;
                &lt;&#x2F;li&gt;
                
                
                &lt;li class=&quot;gallery__selector__item&quot;&gt;
                    &lt;button
                            class=&quot;gallery__selector__button&quot;
                            aria-expanded=&quot;false&quot;
                            aria-controls=&quot;galleryliaisonssonoresimage62&quot;
                            aria-label=&quot;Voir l&#x27;image &amp;quot;Photo d&amp;#x27;archive de la préparation à St-Cadou, France&amp;quot;&quot;
                            type=&quot;button&quot;
                    &gt;
                        &lt;img class=&quot;gallery__selector__image&quot; src=&quot;&amp;#x2F;arts&amp;#x2F;liaisons-sonores&amp;#x2F;gallery&amp;#x2F;pre_07.jpg&quot; alt=&quot;Photo d&amp;#x27;archive de la préparation à St-Cadou, France&quot;&#x2F;&gt;
                    &lt;&#x2F;button&gt;
                &lt;&#x2F;li&gt;
                
                
                &lt;li class=&quot;gallery__selector__item&quot;&gt;
                    &lt;button
                            class=&quot;gallery__selector__button&quot;
                            aria-expanded=&quot;false&quot;
                            aria-controls=&quot;galleryliaisonssonoresimage63&quot;
                            aria-label=&quot;Voir l&#x27;image &amp;quot;Photo d&amp;#x27;archive de la préparation à St-Cadou, France&amp;quot;&quot;
                            type=&quot;button&quot;
                    &gt;
                        &lt;img class=&quot;gallery__selector__image&quot; src=&quot;&amp;#x2F;arts&amp;#x2F;liaisons-sonores&amp;#x2F;gallery&amp;#x2F;pre_08.jpg&quot; alt=&quot;Photo d&amp;#x27;archive de la préparation à St-Cadou, France&quot;&#x2F;&gt;
                    &lt;&#x2F;button&gt;
                &lt;&#x2F;li&gt;
                
                
                &lt;li class=&quot;gallery__selector__item&quot;&gt;
                    &lt;button
                            class=&quot;gallery__selector__button&quot;
                            aria-expanded=&quot;false&quot;
                            aria-controls=&quot;galleryliaisonssonoresimage64&quot;
                            aria-label=&quot;Voir l&#x27;image &amp;quot;Photo d&amp;#x27;archive de la préparation à St-Cadou, France&amp;quot;&quot;
                            type=&quot;button&quot;
                    &gt;
                        &lt;img class=&quot;gallery__selector__image&quot; src=&quot;&amp;#x2F;arts&amp;#x2F;liaisons-sonores&amp;#x2F;gallery&amp;#x2F;pre_09.jpg&quot; alt=&quot;Photo d&amp;#x27;archive de la préparation à St-Cadou, France&quot;&#x2F;&gt;
                    &lt;&#x2F;button&gt;
                &lt;&#x2F;li&gt;
                
                
                &lt;li class=&quot;gallery__selector__item&quot;&gt;
                    &lt;button
                            class=&quot;gallery__selector__button&quot;
                            aria-expanded=&quot;false&quot;
                            aria-controls=&quot;galleryliaisonssonoresimage65&quot;
                            aria-label=&quot;Voir l&#x27;image &amp;quot;Photo d&amp;#x27;archive de la préparation à St-Cadou, France&amp;quot;&quot;
                            type=&quot;button&quot;
                    &gt;
                        &lt;img class=&quot;gallery__selector__image&quot; src=&quot;&amp;#x2F;arts&amp;#x2F;liaisons-sonores&amp;#x2F;gallery&amp;#x2F;pre_10.jpg&quot; alt=&quot;Photo d&amp;#x27;archive de la préparation à St-Cadou, France&quot;&#x2F;&gt;
                    &lt;&#x2F;button&gt;
                &lt;&#x2F;li&gt;
                
                
                &lt;li class=&quot;gallery__selector__item&quot;&gt;
                    &lt;button
                            class=&quot;gallery__selector__button&quot;
                            aria-expanded=&quot;false&quot;
                            aria-controls=&quot;galleryliaisonssonoresimage66&quot;
                            aria-label=&quot;Voir l&#x27;image &amp;quot;Photo d&amp;#x27;archive de la préparation à St-Cadou, France&amp;quot;&quot;
                            type=&quot;button&quot;
                    &gt;
                        &lt;img class=&quot;gallery__selector__image&quot; src=&quot;&amp;#x2F;arts&amp;#x2F;liaisons-sonores&amp;#x2F;gallery&amp;#x2F;pre_11.jpg&quot; alt=&quot;Photo d&amp;#x27;archive de la préparation à St-Cadou, France&quot;&#x2F;&gt;
                    &lt;&#x2F;button&gt;
                &lt;&#x2F;li&gt;
                
                
                &lt;li class=&quot;gallery__selector__item&quot;&gt;
                    &lt;button
                            class=&quot;gallery__selector__button&quot;
                            aria-expanded=&quot;false&quot;
                            aria-controls=&quot;galleryliaisonssonoresimage67&quot;
                            aria-label=&quot;Voir l&#x27;image &amp;quot;Photo d&amp;#x27;archive de la préparation à St-Cadou, France&amp;quot;&quot;
                            type=&quot;button&quot;
                    &gt;
                        &lt;img class=&quot;gallery__selector__image&quot; src=&quot;&amp;#x2F;arts&amp;#x2F;liaisons-sonores&amp;#x2F;gallery&amp;#x2F;pre_12.jpg&quot; alt=&quot;Photo d&amp;#x27;archive de la préparation à St-Cadou, France&quot;&#x2F;&gt;
                    &lt;&#x2F;button&gt;
                &lt;&#x2F;li&gt;
                
    &lt;&#x2F;ul&gt;
&lt;&#x2F;div&gt;
&lt;script&gt;
    &#x2F;&#x2F; Define
    &#x2F;&#x2F; function hideDisplayedImage(galleryId, image)
    if (typeof globalThis.hideDisplayedImage === &quot;undefined&quot;) {
        globalThis.hideDisplayedImage = function(galleryId, image) {
            const fullscreenImageContainer = document.querySelector(&quot;#&quot; + galleryId + &quot; .gallery__viewport&quot;);
            fullscreenImageContainer.classList.remove(&quot;gallery__viewport--display&quot;);
            image.classList.remove(&quot;gallery__viewport__image--display&quot;);
            const selector = &#x27;[aria-controls=&quot;&#x27; + image.getAttribute(&quot;id&quot;) + &#x27;&quot;]&#x27;
            const controlsButton = document.querySelector(selector);
            controlsButton.setAttribute(&quot;aria-expanded&quot;, &quot;false&quot;);
        }
    }

    &#x2F;&#x2F; Define
    &#x2F;&#x2F; function displayImageWithButton(galleryId, button)
    if (typeof globalThis.displayImageWithButton === &quot;undefined&quot;) {
        globalThis.displayImageWithButton = function(galleryId, button) {
            button.focus();
            const fullscreenImageContainer = document.querySelector(&quot;#&quot; + galleryId + &quot; .gallery__viewport&quot;);
            fullscreenImageContainer.classList.add(&quot;gallery__viewport--display&quot;);
            const ariaControlsId = button.getAttribute(&quot;aria-controls&quot;);
            const controlledElement = document.getElementById(ariaControlsId);
            controlledElement.classList.add(&quot;gallery__viewport__image--display&quot;);
            button.setAttribute(&quot;aria-expanded&quot;, &quot;true&quot;);
        }
    }

    &#x2F;&#x2F; Define
    &#x2F;&#x2F; function displayImageWithControlledElement(galleryId, button)
    if (typeof globalThis.displayImageWithControlledElement === &quot;undefined&quot;) {
        globalThis.displayImageWithControlledElement = function(galleryId, controlledElement) {
            const selector = &#x27;[aria-controls=&quot;&#x27; + controlledElement.getAttribute(&quot;id&quot;) + &#x27;&quot;]&#x27;
            const controlsButton = document.querySelector(selector);
            displayImageWithButton(galleryId, controlsButton);
        }
    }

    &#x2F;&#x2F; Define
    &#x2F;&#x2F; function checkSwipeDirection(touchstartX, touchendX)
    if (typeof globalThis.checkSwipeDirection === &quot;undefined&quot;) {
        globalThis.checkSwipeDirection =  function(touchstartX, touchendX) {
            if (touchendX &lt; touchstartX) {
                return &quot;left&quot;;
            } else if (touchendX &gt; touchstartX) {
                return &quot;right&quot;;
            } else {
                return &quot;&quot;;
            }
        }
    }

    &#x2F;&#x2F; Define
    &#x2F;&#x2F; function displayNextImage()
    if (typeof globalThis.displayNextImage === &quot;undefined&quot;) {
        globalThis.displayNextImage = function() {
            const controlledElement = document.getElementsByClassName(&quot;gallery__viewport__image--display&quot;)[0];
            if (controlledElement !== undefined) {
                hideDisplayedImage(&quot;galleryliaisonssonores&quot;, controlledElement);

                let newControlledElement = controlledElement.nextElementSibling;
                if (newControlledElement === null) {
                    newControlledElement = controlledElement.parentElement.firstElementChild;
                }

                if (newControlledElement !== null &amp;&amp; newControlledElement !== undefined) {
                    displayImageWithControlledElement(&quot;galleryliaisonssonores&quot;, newControlledElement);
                }
            }
        }
    }

    &#x2F;&#x2F; Define
    &#x2F;&#x2F; function displayPreviousImage()
    if (typeof globalThis.displayPreviousImage === &quot;undefined&quot;) {
        globalThis.displayPreviousImage = function () {
            const controlledElement = document.getElementsByClassName(&quot;gallery__viewport__image--display&quot;)[0];
            if (controlledElement !== undefined) {
                hideDisplayedImage(&quot;galleryliaisonssonores&quot;, controlledElement);

                let newControlledElement = controlledElement.previousElementSibling;
                if (newControlledElement === null) {
                    newControlledElement = controlledElement.parentElement.lastElementChild;
                }

                if (newControlledElement !== null &amp;&amp; newControlledElement !== undefined) {
                    displayImageWithControlledElement(&quot;galleryliaisonssonores&quot;, newControlledElement);
                }
            }
        }
    }

    &#x2F;&#x2F; Init
    &#x2F;&#x2F; Gallery Buttons
    const galleryButtonsgalleryliaisonssonores = document.querySelectorAll(&quot;#galleryliaisonssonores .gallery__selector__button&quot;);
    for (let i = 0; i &lt; galleryButtonsgalleryliaisonssonores.length; i++) {

        &#x2F;&#x2F; Click
        galleryButtonsgalleryliaisonssonores[i].addEventListener(&quot;click&quot;, function(event) {
            displayImageWithButton(&quot;galleryliaisonssonores&quot;, this);
        });

        &#x2F;&#x2F; Focus In
        galleryButtonsgalleryliaisonssonores[i].addEventListener(&#x27;focusin&#x27;, function(event) {
            const previousFocusableItem = event.relatedTarget;
            const displayedImages = document.getElementsByClassName(&quot;gallery__viewport__image--display&quot;);
            if (
                (previousFocusableItem === null || !previousFocusableItem.classList.contains(&quot;gallery__selector__button&quot;))
                &amp;&amp; displayedImages.length &gt; 0
            ) {
                &#x2F;&#x2F; Hide all displayed images
                const displayedImages = document.getElementsByClassName(&quot;gallery__viewport__image--display&quot;);
                if (displayedImages.length &gt; 0) {
                    for (let i = 0; i &lt; displayedImages.length; i++) {
                        hideDisplayedImage(&quot;galleryliaisonssonores&quot;, displayedImages[i]);
                    }
                }
                displayImageWithButton(&quot;galleryliaisonssonores&quot;, this);
            }
        });

        &#x2F;&#x2F; Focus Out
        galleryButtonsgalleryliaisonssonores[i].addEventListener(&#x27;focusout&#x27;, function(event) {
            &#x2F;&#x2F; Prevent focus out actions if it&#x27;s a click on a gallery viewport element.
            const eventOriginClassList = event.explicitOriginalTarget.classList;
            if (
                eventOriginClassList.contains(&quot;gallery__viewport__image&quot;)
                || eventOriginClassList.contains(&quot;gallery__viewport__controls&quot;)
                || eventOriginClassList.contains(&quot;gallery__viewport__controls__nav-button&quot;)
                || eventOriginClassList.contains(&quot;gallery__viewport__controls__nav-close-btn&quot;)
                || eventOriginClassList.contains(&quot;gallery__viewport&quot;)
            ) {
                return;
            }

            &#x2F;&#x2F; Hide all displayed images
            const displayedImages = document.getElementsByClassName(&quot;gallery__viewport__image--display&quot;);
            if (displayedImages.length &gt; 0) {
                for (let i = 0; i &lt; displayedImages.length; i++) {
                    hideDisplayedImage(&quot;galleryliaisonssonores&quot;, displayedImages[i]);
                }
                const nextFocusableItem = event.relatedTarget;
                if (nextFocusableItem != null &amp;&amp; nextFocusableItem.classList.contains(&quot;gallery__selector__button&quot;)) {
                    displayImageWithButton(&quot;galleryliaisonssonores&quot;, nextFocusableItem);
                }
            }
        });
    }

    &#x2F;&#x2F; Previous Button
    &#x2F;&#x2F; Click
    const previousImageButtongalleryliaisonssonores = document.querySelector(&quot;#galleryliaisonssonores .gallery__viewport__controls__nav-button--left&quot;);
    previousImageButtongalleryliaisonssonores.addEventListener(&#x27;click&#x27;, function(event) {
        displayPreviousImage();
    });

    &#x2F;&#x2F; Next Button
    &#x2F;&#x2F; Click
    const nextImageButtongalleryliaisonssonores = document.querySelector(&quot;#galleryliaisonssonores .gallery__viewport__controls__nav-button--right&quot;);
    nextImageButtongalleryliaisonssonores.addEventListener(&#x27;click&#x27;, function(event) {
        displayNextImage();
    });

    &#x2F;&#x2F; Close Button
    &#x2F;&#x2F; Click
    const closeImageButtongalleryliaisonssonores = document.querySelector(&quot;#galleryliaisonssonores .gallery__viewport__controls__nav-close-btn&quot;);
    closeImageButtongalleryliaisonssonores.addEventListener(&#x27;click&#x27;, function(event) {
        const controlledElement = document.getElementsByClassName(&quot;gallery__viewport__image--display&quot;)[0];
        if (controlledElement !== undefined) {
            hideDisplayedImage(&quot;galleryliaisonssonores&quot;, controlledElement);
        }
    });

    &#x2F;&#x2F; Keyboard Controls
    document.addEventListener(&#x27;keydown&#x27;, (event) =&gt; {
        const controlledElement = document.getElementsByClassName(&quot;gallery__viewport__image--display&quot;)[0];
        if (controlledElement !== undefined) {

            &#x2F;&#x2F; Hide image
            &#x2F;&#x2F; ESC, LEFT, RIGHT
            if (event.code === &#x27;Escape&#x27; || event.code === &#x27;ArrowLeft&#x27; || event.code === &#x27;ArrowRight&#x27;) {
                hideDisplayedImage(&quot;galleryliaisonssonores&quot;, controlledElement);
            }

            let newControlledElement;

            &#x2F;&#x2F; Select new controlled element(image)
            &#x2F;&#x2F; LEFT
            if (event.code === &#x27;ArrowLeft&#x27;) {
                newControlledElement = controlledElement.previousElementSibling;
                if (newControlledElement === null) {
                    newControlledElement = controlledElement.parentElement.lastElementChild;
                }
            }
            &#x2F;&#x2F; RIGHT
            if (event.code === &#x27;ArrowRight&#x27;) {
                newControlledElement = controlledElement.nextElementSibling;
                if (newControlledElement === null) {
                    newControlledElement = controlledElement.parentElement.firstElementChild;
                }
            }

            &#x2F;&#x2F; Active button and display image
            if (newControlledElement !== null &amp;&amp; newControlledElement !== undefined) {
                displayImageWithControlledElement(&quot;galleryliaisonssonores&quot;, newControlledElement);
            }
        }
    })

    &#x2F;&#x2F; Touch Gesture
    let touchstartXgalleryliaisonssonores = 0;
    let touchendXgalleryliaisonssonores = 0;

    const galleryViewportgalleryliaisonssonores = document.getElementsByClassName(&quot;gallery__viewport&quot;)[0];
    if (galleryViewportgalleryliaisonssonores !== undefined) {

        galleryViewportgalleryliaisonssonores.addEventListener(&#x27;touchstart&#x27;, function(event) {
            touchstartXgalleryliaisonssonores = event.changedTouches[0].screenX
        });

        galleryViewportgalleryliaisonssonores.addEventListener(&#x27;touchend&#x27;, function(event) {
            touchendXgalleryliaisonssonores = event.changedTouches[0].screenX
            const direction = checkSwipeDirection(touchstartXgalleryliaisonssonores, touchendXgalleryliaisonssonores);
            if (direction === &quot;left&quot;) {
                displayPreviousImage();
            } else if (direction === &quot;right&quot;) {
                displayNextImage();
            }
        });

        galleryViewportgalleryliaisonssonores.addEventListner(&#x27;touchmove&#x27;, function(event) {
            event.preventDefault();
            event.stopPropagation();
        });
    }
&lt;&#x2F;script&gt;</content>
        
    </entry>
    <entry xml:lang="fr">
        <title>Multijoueurs Candide</title>
        <published>2015-01-01T00:00:00+00:00</published>
        <updated>2015-01-01T00:00:00+00:00</updated>
        
        <author>
          <name>
            
              Pierre Tremblay-Thériault
            
          </name>
        </author>
        
        <link rel="alternate" type="text/html" href="https://lapinchatware.ca/arts/multijoueurs-candide/"/>
        <id>https://lapinchatware.ca/arts/multijoueurs-candide/</id>
        
        <content type="html" xml:base="https://lapinchatware.ca/arts/multijoueurs-candide/">&lt;div style=&quot;padding:56.25% 0 0 0;position:relative;&quot;&gt;
    &lt;iframe
            src=&quot;https:&#x2F;&#x2F;player.vimeo.com&#x2F;video&#x2F;163048493?h=4250ca05b2&amp;title=0&amp;byline=0&amp;portrait=0&quot;
            style=&quot;position:absolute;top:0;left:0;width:100%;height:100%;&quot;
            frameborder=&quot;0&quot;
            allow=&quot;autoplay; fullscreen; picture-in-picture&quot;
            allowfullscreen
    &gt;&lt;&#x2F;iframe&gt;
&lt;&#x2F;div&gt;
&lt;script src=&quot;https:&#x2F;&#x2F;player.vimeo.com&#x2F;api&#x2F;player.js&quot;&gt;&lt;&#x2F;script&gt;&lt;div style=&quot;padding:56.25% 0 0 0;position:relative;&quot;&gt;
    &lt;iframe
            src=&quot;https:&#x2F;&#x2F;player.vimeo.com&#x2F;video&#x2F;163049981?h=4250ca05b2&amp;title=0&amp;byline=0&amp;portrait=0&quot;
            style=&quot;position:absolute;top:0;left:0;width:100%;height:100%;&quot;
            frameborder=&quot;0&quot;
            allow=&quot;autoplay; fullscreen; picture-in-picture&quot;
            allowfullscreen
    &gt;&lt;&#x2F;iframe&gt;
&lt;&#x2F;div&gt;
&lt;script src=&quot;https:&#x2F;&#x2F;player.vimeo.com&#x2F;api&#x2F;player.js&quot;&gt;&lt;&#x2F;script&gt;&lt;div id=&quot;gallerymultijoueurscandide&quot; class=&quot;gallery&quot;&gt;
    
    &lt;div class=&quot;gallery__viewport&quot;&gt;
        &lt;div class=&quot;gallery__viewport__images&quot;&gt;
            
            
                    
                    &lt;img id=&quot;gallerymultijoueurscandideimage0&quot; class=&quot;gallery__viewport__image&quot; src=&quot;&amp;#x2F;arts&amp;#x2F;multijoueurs-candide&amp;#x2F;gallery&amp;#x2F;multijoueurCandide1.jpg&quot; alt=&quot;Photo de l&amp;#x27;événement: Sur le mur de grosse brique grise dans le fond de l&amp;#x27;espace, on voit la projection du jeu. En premier plan, deux enfants jouent au jeu vidéo. Ils sont vus de dos et regardent la projection du jeu.&quot;&#x2F;&gt;
                    
                    
                    &lt;img id=&quot;gallerymultijoueurscandideimage1&quot; class=&quot;gallery__viewport__image&quot; src=&quot;&amp;#x2F;arts&amp;#x2F;multijoueurs-candide&amp;#x2F;gallery&amp;#x2F;multijoueurCandide2.jpg&quot; alt=&quot;Photo de l&amp;#x27;événement: Sur le mur de grosse brique grise dans le fond de l&amp;#x27;espace, on voit la projection du jeu. Martin Lavertu (artiste) et un enfant jouent au jeu vidéo. Ils sont vus de dos et regardent la projection du jeu. D&amp;#x27;autres spectateurs sont autour des joueurs.&quot;&#x2F;&gt;
                    
                    
                    &lt;img id=&quot;gallerymultijoueurscandideimage2&quot; class=&quot;gallery__viewport__image&quot; src=&quot;&amp;#x2F;arts&amp;#x2F;multijoueurs-candide&amp;#x2F;gallery&amp;#x2F;multijoueurCandide3.jpg&quot; alt=&quot;Photo de l&amp;#x27;événement: Martin Lavertu (artiste) et un enfant jouent au jeu vidéo. Ils sont vus de face et regardent la projection du jeu.&quot;&#x2F;&gt;
                    
                    
                    &lt;img id=&quot;gallerymultijoueurscandideimage3&quot; class=&quot;gallery__viewport__image&quot; src=&quot;&amp;#x2F;arts&amp;#x2F;multijoueurs-candide&amp;#x2F;gallery&amp;#x2F;multijoueurCandide4.jpg&quot; alt=&quot;Photo de l&amp;#x27;événement: Sur le mur de grosse brique grise dans le fond de l&amp;#x27;espace, on voit la projection du jeu. En premier plan, deux enfants jouent au jeu vidéo. Ils sont vus de dos et regardent la projection du jeu.&quot;&#x2F;&gt;
                    
        &lt;&#x2F;div&gt;
        &lt;div class=&quot;gallery__viewport__controls&quot;&gt;
            &lt;img class=&quot;gallery__viewport__controls__nav-button gallery__viewport__controls__nav-button--left&quot; src=&quot;&#x2F;images&#x2F;angle-left.svg&quot; alt=&quot;Voir l&#x27;image précédente.&quot; aria-hidden=&quot;true&quot;&#x2F;&gt;
            &lt;img class=&quot;gallery__viewport__controls__nav-button gallery__viewport__controls__nav-button--right&quot; src=&quot;&#x2F;images&#x2F;angle-right.svg&quot; alt=&quot;Voir l&#x27;image suivante.&quot; aria-hidden=&quot;true&quot;&#x2F;&gt;
            &lt;img class=&quot;gallery__viewport__controls__nav-close-btn&quot; src=&quot;&#x2F;images&#x2F;close-icon.svg&quot; alt=&quot;Fermer la gallery&quot;&#x2F;&gt;
        &lt;&#x2F;div&gt;
    &lt;&#x2F;div&gt;
    &lt;ul class=&quot;gallery__selector&quot;&gt;
        
        
                
                &lt;li class=&quot;gallery__selector__item&quot;&gt;
                    &lt;button
                            class=&quot;gallery__selector__button&quot;
                            aria-expanded=&quot;false&quot;
                            aria-controls=&quot;gallerymultijoueurscandideimage0&quot;
                            aria-label=&quot;Voir l&#x27;image &amp;quot;Photo de l&amp;#x27;événement: Sur le mur de grosse brique grise dans le fond de l&amp;#x27;espace, on voit la projection du jeu. En premier plan, deux enfants jouent au jeu vidéo. Ils sont vus de dos et regardent la projection du jeu.&amp;quot;&quot;
                            type=&quot;button&quot;
                    &gt;
                        &lt;img class=&quot;gallery__selector__image&quot; src=&quot;&amp;#x2F;arts&amp;#x2F;multijoueurs-candide&amp;#x2F;gallery&amp;#x2F;multijoueurCandide1.jpg&quot; alt=&quot;Photo de l&amp;#x27;événement: Sur le mur de grosse brique grise dans le fond de l&amp;#x27;espace, on voit la projection du jeu. En premier plan, deux enfants jouent au jeu vidéo. Ils sont vus de dos et regardent la projection du jeu.&quot;&#x2F;&gt;
                    &lt;&#x2F;button&gt;
                &lt;&#x2F;li&gt;
                
                
                &lt;li class=&quot;gallery__selector__item&quot;&gt;
                    &lt;button
                            class=&quot;gallery__selector__button&quot;
                            aria-expanded=&quot;false&quot;
                            aria-controls=&quot;gallerymultijoueurscandideimage1&quot;
                            aria-label=&quot;Voir l&#x27;image &amp;quot;Photo de l&amp;#x27;événement: Sur le mur de grosse brique grise dans le fond de l&amp;#x27;espace, on voit la projection du jeu. Martin Lavertu (artiste) et un enfant jouent au jeu vidéo. Ils sont vus de dos et regardent la projection du jeu. D&amp;#x27;autres spectateurs sont autour des joueurs.&amp;quot;&quot;
                            type=&quot;button&quot;
                    &gt;
                        &lt;img class=&quot;gallery__selector__image&quot; src=&quot;&amp;#x2F;arts&amp;#x2F;multijoueurs-candide&amp;#x2F;gallery&amp;#x2F;multijoueurCandide2.jpg&quot; alt=&quot;Photo de l&amp;#x27;événement: Sur le mur de grosse brique grise dans le fond de l&amp;#x27;espace, on voit la projection du jeu. Martin Lavertu (artiste) et un enfant jouent au jeu vidéo. Ils sont vus de dos et regardent la projection du jeu. D&amp;#x27;autres spectateurs sont autour des joueurs.&quot;&#x2F;&gt;
                    &lt;&#x2F;button&gt;
                &lt;&#x2F;li&gt;
                
                
                &lt;li class=&quot;gallery__selector__item&quot;&gt;
                    &lt;button
                            class=&quot;gallery__selector__button&quot;
                            aria-expanded=&quot;false&quot;
                            aria-controls=&quot;gallerymultijoueurscandideimage2&quot;
                            aria-label=&quot;Voir l&#x27;image &amp;quot;Photo de l&amp;#x27;événement: Martin Lavertu (artiste) et un enfant jouent au jeu vidéo. Ils sont vus de face et regardent la projection du jeu.&amp;quot;&quot;
                            type=&quot;button&quot;
                    &gt;
                        &lt;img class=&quot;gallery__selector__image&quot; src=&quot;&amp;#x2F;arts&amp;#x2F;multijoueurs-candide&amp;#x2F;gallery&amp;#x2F;multijoueurCandide3.jpg&quot; alt=&quot;Photo de l&amp;#x27;événement: Martin Lavertu (artiste) et un enfant jouent au jeu vidéo. Ils sont vus de face et regardent la projection du jeu.&quot;&#x2F;&gt;
                    &lt;&#x2F;button&gt;
                &lt;&#x2F;li&gt;
                
                
                &lt;li class=&quot;gallery__selector__item&quot;&gt;
                    &lt;button
                            class=&quot;gallery__selector__button&quot;
                            aria-expanded=&quot;false&quot;
                            aria-controls=&quot;gallerymultijoueurscandideimage3&quot;
                            aria-label=&quot;Voir l&#x27;image &amp;quot;Photo de l&amp;#x27;événement: Sur le mur de grosse brique grise dans le fond de l&amp;#x27;espace, on voit la projection du jeu. En premier plan, deux enfants jouent au jeu vidéo. Ils sont vus de dos et regardent la projection du jeu.&amp;quot;&quot;
                            type=&quot;button&quot;
                    &gt;
                        &lt;img class=&quot;gallery__selector__image&quot; src=&quot;&amp;#x2F;arts&amp;#x2F;multijoueurs-candide&amp;#x2F;gallery&amp;#x2F;multijoueurCandide4.jpg&quot; alt=&quot;Photo de l&amp;#x27;événement: Sur le mur de grosse brique grise dans le fond de l&amp;#x27;espace, on voit la projection du jeu. En premier plan, deux enfants jouent au jeu vidéo. Ils sont vus de dos et regardent la projection du jeu.&quot;&#x2F;&gt;
                    &lt;&#x2F;button&gt;
                &lt;&#x2F;li&gt;
                
    &lt;&#x2F;ul&gt;
&lt;&#x2F;div&gt;
&lt;script&gt;
    &#x2F;&#x2F; Define
    &#x2F;&#x2F; function hideDisplayedImage(galleryId, image)
    if (typeof globalThis.hideDisplayedImage === &quot;undefined&quot;) {
        globalThis.hideDisplayedImage = function(galleryId, image) {
            const fullscreenImageContainer = document.querySelector(&quot;#&quot; + galleryId + &quot; .gallery__viewport&quot;);
            fullscreenImageContainer.classList.remove(&quot;gallery__viewport--display&quot;);
            image.classList.remove(&quot;gallery__viewport__image--display&quot;);
            const selector = &#x27;[aria-controls=&quot;&#x27; + image.getAttribute(&quot;id&quot;) + &#x27;&quot;]&#x27;
            const controlsButton = document.querySelector(selector);
            controlsButton.setAttribute(&quot;aria-expanded&quot;, &quot;false&quot;);
        }
    }

    &#x2F;&#x2F; Define
    &#x2F;&#x2F; function displayImageWithButton(galleryId, button)
    if (typeof globalThis.displayImageWithButton === &quot;undefined&quot;) {
        globalThis.displayImageWithButton = function(galleryId, button) {
            button.focus();
            const fullscreenImageContainer = document.querySelector(&quot;#&quot; + galleryId + &quot; .gallery__viewport&quot;);
            fullscreenImageContainer.classList.add(&quot;gallery__viewport--display&quot;);
            const ariaControlsId = button.getAttribute(&quot;aria-controls&quot;);
            const controlledElement = document.getElementById(ariaControlsId);
            controlledElement.classList.add(&quot;gallery__viewport__image--display&quot;);
            button.setAttribute(&quot;aria-expanded&quot;, &quot;true&quot;);
        }
    }

    &#x2F;&#x2F; Define
    &#x2F;&#x2F; function displayImageWithControlledElement(galleryId, button)
    if (typeof globalThis.displayImageWithControlledElement === &quot;undefined&quot;) {
        globalThis.displayImageWithControlledElement = function(galleryId, controlledElement) {
            const selector = &#x27;[aria-controls=&quot;&#x27; + controlledElement.getAttribute(&quot;id&quot;) + &#x27;&quot;]&#x27;
            const controlsButton = document.querySelector(selector);
            displayImageWithButton(galleryId, controlsButton);
        }
    }

    &#x2F;&#x2F; Define
    &#x2F;&#x2F; function checkSwipeDirection(touchstartX, touchendX)
    if (typeof globalThis.checkSwipeDirection === &quot;undefined&quot;) {
        globalThis.checkSwipeDirection =  function(touchstartX, touchendX) {
            if (touchendX &lt; touchstartX) {
                return &quot;left&quot;;
            } else if (touchendX &gt; touchstartX) {
                return &quot;right&quot;;
            } else {
                return &quot;&quot;;
            }
        }
    }

    &#x2F;&#x2F; Define
    &#x2F;&#x2F; function displayNextImage()
    if (typeof globalThis.displayNextImage === &quot;undefined&quot;) {
        globalThis.displayNextImage = function() {
            const controlledElement = document.getElementsByClassName(&quot;gallery__viewport__image--display&quot;)[0];
            if (controlledElement !== undefined) {
                hideDisplayedImage(&quot;gallerymultijoueurscandide&quot;, controlledElement);

                let newControlledElement = controlledElement.nextElementSibling;
                if (newControlledElement === null) {
                    newControlledElement = controlledElement.parentElement.firstElementChild;
                }

                if (newControlledElement !== null &amp;&amp; newControlledElement !== undefined) {
                    displayImageWithControlledElement(&quot;gallerymultijoueurscandide&quot;, newControlledElement);
                }
            }
        }
    }

    &#x2F;&#x2F; Define
    &#x2F;&#x2F; function displayPreviousImage()
    if (typeof globalThis.displayPreviousImage === &quot;undefined&quot;) {
        globalThis.displayPreviousImage = function () {
            const controlledElement = document.getElementsByClassName(&quot;gallery__viewport__image--display&quot;)[0];
            if (controlledElement !== undefined) {
                hideDisplayedImage(&quot;gallerymultijoueurscandide&quot;, controlledElement);

                let newControlledElement = controlledElement.previousElementSibling;
                if (newControlledElement === null) {
                    newControlledElement = controlledElement.parentElement.lastElementChild;
                }

                if (newControlledElement !== null &amp;&amp; newControlledElement !== undefined) {
                    displayImageWithControlledElement(&quot;gallerymultijoueurscandide&quot;, newControlledElement);
                }
            }
        }
    }

    &#x2F;&#x2F; Init
    &#x2F;&#x2F; Gallery Buttons
    const galleryButtonsgallerymultijoueurscandide = document.querySelectorAll(&quot;#gallerymultijoueurscandide .gallery__selector__button&quot;);
    for (let i = 0; i &lt; galleryButtonsgallerymultijoueurscandide.length; i++) {

        &#x2F;&#x2F; Click
        galleryButtonsgallerymultijoueurscandide[i].addEventListener(&quot;click&quot;, function(event) {
            displayImageWithButton(&quot;gallerymultijoueurscandide&quot;, this);
        });

        &#x2F;&#x2F; Focus In
        galleryButtonsgallerymultijoueurscandide[i].addEventListener(&#x27;focusin&#x27;, function(event) {
            const previousFocusableItem = event.relatedTarget;
            const displayedImages = document.getElementsByClassName(&quot;gallery__viewport__image--display&quot;);
            if (
                (previousFocusableItem === null || !previousFocusableItem.classList.contains(&quot;gallery__selector__button&quot;))
                &amp;&amp; displayedImages.length &gt; 0
            ) {
                &#x2F;&#x2F; Hide all displayed images
                const displayedImages = document.getElementsByClassName(&quot;gallery__viewport__image--display&quot;);
                if (displayedImages.length &gt; 0) {
                    for (let i = 0; i &lt; displayedImages.length; i++) {
                        hideDisplayedImage(&quot;gallerymultijoueurscandide&quot;, displayedImages[i]);
                    }
                }
                displayImageWithButton(&quot;gallerymultijoueurscandide&quot;, this);
            }
        });

        &#x2F;&#x2F; Focus Out
        galleryButtonsgallerymultijoueurscandide[i].addEventListener(&#x27;focusout&#x27;, function(event) {
            &#x2F;&#x2F; Prevent focus out actions if it&#x27;s a click on a gallery viewport element.
            const eventOriginClassList = event.explicitOriginalTarget.classList;
            if (
                eventOriginClassList.contains(&quot;gallery__viewport__image&quot;)
                || eventOriginClassList.contains(&quot;gallery__viewport__controls&quot;)
                || eventOriginClassList.contains(&quot;gallery__viewport__controls__nav-button&quot;)
                || eventOriginClassList.contains(&quot;gallery__viewport__controls__nav-close-btn&quot;)
                || eventOriginClassList.contains(&quot;gallery__viewport&quot;)
            ) {
                return;
            }

            &#x2F;&#x2F; Hide all displayed images
            const displayedImages = document.getElementsByClassName(&quot;gallery__viewport__image--display&quot;);
            if (displayedImages.length &gt; 0) {
                for (let i = 0; i &lt; displayedImages.length; i++) {
                    hideDisplayedImage(&quot;gallerymultijoueurscandide&quot;, displayedImages[i]);
                }
                const nextFocusableItem = event.relatedTarget;
                if (nextFocusableItem != null &amp;&amp; nextFocusableItem.classList.contains(&quot;gallery__selector__button&quot;)) {
                    displayImageWithButton(&quot;gallerymultijoueurscandide&quot;, nextFocusableItem);
                }
            }
        });
    }

    &#x2F;&#x2F; Previous Button
    &#x2F;&#x2F; Click
    const previousImageButtongallerymultijoueurscandide = document.querySelector(&quot;#gallerymultijoueurscandide .gallery__viewport__controls__nav-button--left&quot;);
    previousImageButtongallerymultijoueurscandide.addEventListener(&#x27;click&#x27;, function(event) {
        displayPreviousImage();
    });

    &#x2F;&#x2F; Next Button
    &#x2F;&#x2F; Click
    const nextImageButtongallerymultijoueurscandide = document.querySelector(&quot;#gallerymultijoueurscandide .gallery__viewport__controls__nav-button--right&quot;);
    nextImageButtongallerymultijoueurscandide.addEventListener(&#x27;click&#x27;, function(event) {
        displayNextImage();
    });

    &#x2F;&#x2F; Close Button
    &#x2F;&#x2F; Click
    const closeImageButtongallerymultijoueurscandide = document.querySelector(&quot;#gallerymultijoueurscandide .gallery__viewport__controls__nav-close-btn&quot;);
    closeImageButtongallerymultijoueurscandide.addEventListener(&#x27;click&#x27;, function(event) {
        const controlledElement = document.getElementsByClassName(&quot;gallery__viewport__image--display&quot;)[0];
        if (controlledElement !== undefined) {
            hideDisplayedImage(&quot;gallerymultijoueurscandide&quot;, controlledElement);
        }
    });

    &#x2F;&#x2F; Keyboard Controls
    document.addEventListener(&#x27;keydown&#x27;, (event) =&gt; {
        const controlledElement = document.getElementsByClassName(&quot;gallery__viewport__image--display&quot;)[0];
        if (controlledElement !== undefined) {

            &#x2F;&#x2F; Hide image
            &#x2F;&#x2F; ESC, LEFT, RIGHT
            if (event.code === &#x27;Escape&#x27; || event.code === &#x27;ArrowLeft&#x27; || event.code === &#x27;ArrowRight&#x27;) {
                hideDisplayedImage(&quot;gallerymultijoueurscandide&quot;, controlledElement);
            }

            let newControlledElement;

            &#x2F;&#x2F; Select new controlled element(image)
            &#x2F;&#x2F; LEFT
            if (event.code === &#x27;ArrowLeft&#x27;) {
                newControlledElement = controlledElement.previousElementSibling;
                if (newControlledElement === null) {
                    newControlledElement = controlledElement.parentElement.lastElementChild;
                }
            }
            &#x2F;&#x2F; RIGHT
            if (event.code === &#x27;ArrowRight&#x27;) {
                newControlledElement = controlledElement.nextElementSibling;
                if (newControlledElement === null) {
                    newControlledElement = controlledElement.parentElement.firstElementChild;
                }
            }

            &#x2F;&#x2F; Active button and display image
            if (newControlledElement !== null &amp;&amp; newControlledElement !== undefined) {
                displayImageWithControlledElement(&quot;gallerymultijoueurscandide&quot;, newControlledElement);
            }
        }
    })

    &#x2F;&#x2F; Touch Gesture
    let touchstartXgallerymultijoueurscandide = 0;
    let touchendXgallerymultijoueurscandide = 0;

    const galleryViewportgallerymultijoueurscandide = document.getElementsByClassName(&quot;gallery__viewport&quot;)[0];
    if (galleryViewportgallerymultijoueurscandide !== undefined) {

        galleryViewportgallerymultijoueurscandide.addEventListener(&#x27;touchstart&#x27;, function(event) {
            touchstartXgallerymultijoueurscandide = event.changedTouches[0].screenX
        });

        galleryViewportgallerymultijoueurscandide.addEventListener(&#x27;touchend&#x27;, function(event) {
            touchendXgallerymultijoueurscandide = event.changedTouches[0].screenX
            const direction = checkSwipeDirection(touchstartXgallerymultijoueurscandide, touchendXgallerymultijoueurscandide);
            if (direction === &quot;left&quot;) {
                displayPreviousImage();
            } else if (direction === &quot;right&quot;) {
                displayNextImage();
            }
        });

        galleryViewportgallerymultijoueurscandide.addEventListner(&#x27;touchmove&#x27;, function(event) {
            event.preventDefault();
            event.stopPropagation();
        });
    }
&lt;&#x2F;script&gt;</content>
        
    </entry>
    <entry xml:lang="fr">
        <title>Pas de bulle dans ma poche de thé</title>
        <published>2015-01-01T00:00:00+00:00</published>
        <updated>2015-01-01T00:00:00+00:00</updated>
        
        <author>
          <name>
            
              Pierre Tremblay-Thériault
            
          </name>
        </author>
        
        <link rel="alternate" type="text/html" href="https://lapinchatware.ca/arts/pas-de-bulle-dans-ma-poche-de-the/"/>
        <id>https://lapinchatware.ca/arts/pas-de-bulle-dans-ma-poche-de-the/</id>
        
        <content type="html" xml:base="https://lapinchatware.ca/arts/pas-de-bulle-dans-ma-poche-de-the/">&lt;p&gt;-&amp;gt; &lt;a href=&quot;https:&#x2F;&#x2F;pasdebulledansmapochedethecar.lapinchatware.ca&#x2F;&quot;&gt;VISIONNER&lt;&#x2F;a&gt; &amp;lt;-&lt;&#x2F;p&gt;
</content>
        
    </entry>
    <entry xml:lang="fr">
        <title>Super Labyrinthe Candide</title>
        <published>2015-01-01T00:00:00+00:00</published>
        <updated>2015-01-01T00:00:00+00:00</updated>
        
        <author>
          <name>
            
              Pierre Tremblay-Thériault
            
          </name>
        </author>
        
        <link rel="alternate" type="text/html" href="https://lapinchatware.ca/arts/super-labyrinthe-candide/"/>
        <id>https://lapinchatware.ca/arts/super-labyrinthe-candide/</id>
        
        <content type="html" xml:base="https://lapinchatware.ca/arts/super-labyrinthe-candide/">&lt;p&gt;Vous pouvez y jouer! -&amp;gt; &lt;a href=&quot;http:&#x2F;&#x2F;superlab.candide.ninja&#x2F;&quot;&gt;JOUER&lt;&#x2F;a&gt;&lt;&#x2F;p&gt;
&lt;div id=&quot;gallerysuperlc&quot; class=&quot;gallery&quot;&gt;
    
    &lt;div class=&quot;gallery__viewport&quot;&gt;
        &lt;div class=&quot;gallery__viewport__images&quot;&gt;
            
            
                    
                    &lt;img id=&quot;gallerysuperlcimage0&quot; class=&quot;gallery__viewport__image&quot; src=&quot;&amp;#x2F;arts&amp;#x2F;super-labyrinthe-candide&amp;#x2F;gallery&amp;#x2F;superlc_01.jpg&quot; alt=&quot;Capture d&amp;#x27;écran: Écran d&amp;#x27;acceuil du jeu.&quot;&#x2F;&gt;
                    
                    
                    &lt;img id=&quot;gallerysuperlcimage1&quot; class=&quot;gallery__viewport__image&quot; src=&quot;&amp;#x2F;arts&amp;#x2F;super-labyrinthe-candide&amp;#x2F;gallery&amp;#x2F;superlc_02.jpg&quot; alt=&quot;Capture d&amp;#x27;écran: Écran d&amp;#x27;instructions du jeu.&quot;&#x2F;&gt;
                    
                    
                    &lt;img id=&quot;gallerysuperlcimage2&quot; class=&quot;gallery__viewport__image&quot; src=&quot;&amp;#x2F;arts&amp;#x2F;super-labyrinthe-candide&amp;#x2F;gallery&amp;#x2F;superlc_03.jpg&quot; alt=&quot;Capture d&amp;#x27;écran: Écran de crédits du jeu.&quot;&#x2F;&gt;
                    
                    
                    &lt;img id=&quot;gallerysuperlcimage3&quot; class=&quot;gallery__viewport__image&quot; src=&quot;&amp;#x2F;arts&amp;#x2F;super-labyrinthe-candide&amp;#x2F;gallery&amp;#x2F;superlc_04.jpg&quot; alt=&quot;Capture d&amp;#x27;écran: Écran de sélection du niveau du jeu.&quot;&#x2F;&gt;
                    
                    
                    &lt;img id=&quot;gallerysuperlcimage4&quot; class=&quot;gallery__viewport__image&quot; src=&quot;&amp;#x2F;arts&amp;#x2F;super-labyrinthe-candide&amp;#x2F;gallery&amp;#x2F;superlc_05.jpg&quot; alt=&quot;Capture d&amp;#x27;écran: Écran de départ du niveau &amp;quot;Pulperie&amp;quot;.&quot;&#x2F;&gt;
                    
                    
                    &lt;img id=&quot;gallerysuperlcimage5&quot; class=&quot;gallery__viewport__image&quot; src=&quot;&amp;#x2F;arts&amp;#x2F;super-labyrinthe-candide&amp;#x2F;gallery&amp;#x2F;superlc_06.jpg&quot; alt=&quot;Capture d&amp;#x27;écran: Écran de départ du niveau &amp;quot;Monastère&amp;quot;.&quot;&#x2F;&gt;
                    
                    
                    &lt;img id=&quot;gallerysuperlcimage6&quot; class=&quot;gallery__viewport__image&quot; src=&quot;&amp;#x2F;arts&amp;#x2F;super-labyrinthe-candide&amp;#x2F;gallery&amp;#x2F;superlc_07.jpg&quot; alt=&quot;Capture d&amp;#x27;écran: Écran de départ du niveau &amp;quot;Université&amp;quot;.&quot;&#x2F;&gt;
                    
                    
                    &lt;img id=&quot;gallerysuperlcimage7&quot; class=&quot;gallery__viewport__image&quot; src=&quot;&amp;#x2F;arts&amp;#x2F;super-labyrinthe-candide&amp;#x2F;gallery&amp;#x2F;superlc_08.jpg&quot; alt=&quot;Capture d&amp;#x27;écran: Écran de jeu en action.&quot;&#x2F;&gt;
                    
                    
                    &lt;img id=&quot;gallerysuperlcimage8&quot; class=&quot;gallery__viewport__image&quot; src=&quot;&amp;#x2F;arts&amp;#x2F;super-labyrinthe-candide&amp;#x2F;gallery&amp;#x2F;superlc_09.jpg&quot; alt=&quot;Capture d&amp;#x27;écran: Écran de fin de jeu.&quot;&#x2F;&gt;
                    
                    
                    &lt;img id=&quot;gallerysuperlcimage9&quot; class=&quot;gallery__viewport__image&quot; src=&quot;&amp;#x2F;arts&amp;#x2F;super-labyrinthe-candide&amp;#x2F;gallery&amp;#x2F;superlc_10.jpg&quot; alt=&quot;Capture d&amp;#x27;écran: Écran des scores.&quot;&#x2F;&gt;
                    
        &lt;&#x2F;div&gt;
        &lt;div class=&quot;gallery__viewport__controls&quot;&gt;
            &lt;img class=&quot;gallery__viewport__controls__nav-button gallery__viewport__controls__nav-button--left&quot; src=&quot;&#x2F;images&#x2F;angle-left.svg&quot; alt=&quot;Voir l&#x27;image précédente.&quot; aria-hidden=&quot;true&quot;&#x2F;&gt;
            &lt;img class=&quot;gallery__viewport__controls__nav-button gallery__viewport__controls__nav-button--right&quot; src=&quot;&#x2F;images&#x2F;angle-right.svg&quot; alt=&quot;Voir l&#x27;image suivante.&quot; aria-hidden=&quot;true&quot;&#x2F;&gt;
            &lt;img class=&quot;gallery__viewport__controls__nav-close-btn&quot; src=&quot;&#x2F;images&#x2F;close-icon.svg&quot; alt=&quot;Fermer la gallery&quot;&#x2F;&gt;
        &lt;&#x2F;div&gt;
    &lt;&#x2F;div&gt;
    &lt;ul class=&quot;gallery__selector&quot;&gt;
        
        
                
                &lt;li class=&quot;gallery__selector__item&quot;&gt;
                    &lt;button
                            class=&quot;gallery__selector__button&quot;
                            aria-expanded=&quot;false&quot;
                            aria-controls=&quot;gallerysuperlcimage0&quot;
                            aria-label=&quot;Voir l&#x27;image &amp;quot;Capture d&amp;#x27;écran: Écran d&amp;#x27;acceuil du jeu.&amp;quot;&quot;
                            type=&quot;button&quot;
                    &gt;
                        &lt;img class=&quot;gallery__selector__image&quot; src=&quot;&amp;#x2F;arts&amp;#x2F;super-labyrinthe-candide&amp;#x2F;gallery&amp;#x2F;superlc_01.jpg&quot; alt=&quot;Capture d&amp;#x27;écran: Écran d&amp;#x27;acceuil du jeu.&quot;&#x2F;&gt;
                    &lt;&#x2F;button&gt;
                &lt;&#x2F;li&gt;
                
                
                &lt;li class=&quot;gallery__selector__item&quot;&gt;
                    &lt;button
                            class=&quot;gallery__selector__button&quot;
                            aria-expanded=&quot;false&quot;
                            aria-controls=&quot;gallerysuperlcimage1&quot;
                            aria-label=&quot;Voir l&#x27;image &amp;quot;Capture d&amp;#x27;écran: Écran d&amp;#x27;instructions du jeu.&amp;quot;&quot;
                            type=&quot;button&quot;
                    &gt;
                        &lt;img class=&quot;gallery__selector__image&quot; src=&quot;&amp;#x2F;arts&amp;#x2F;super-labyrinthe-candide&amp;#x2F;gallery&amp;#x2F;superlc_02.jpg&quot; alt=&quot;Capture d&amp;#x27;écran: Écran d&amp;#x27;instructions du jeu.&quot;&#x2F;&gt;
                    &lt;&#x2F;button&gt;
                &lt;&#x2F;li&gt;
                
                
                &lt;li class=&quot;gallery__selector__item&quot;&gt;
                    &lt;button
                            class=&quot;gallery__selector__button&quot;
                            aria-expanded=&quot;false&quot;
                            aria-controls=&quot;gallerysuperlcimage2&quot;
                            aria-label=&quot;Voir l&#x27;image &amp;quot;Capture d&amp;#x27;écran: Écran de crédits du jeu.&amp;quot;&quot;
                            type=&quot;button&quot;
                    &gt;
                        &lt;img class=&quot;gallery__selector__image&quot; src=&quot;&amp;#x2F;arts&amp;#x2F;super-labyrinthe-candide&amp;#x2F;gallery&amp;#x2F;superlc_03.jpg&quot; alt=&quot;Capture d&amp;#x27;écran: Écran de crédits du jeu.&quot;&#x2F;&gt;
                    &lt;&#x2F;button&gt;
                &lt;&#x2F;li&gt;
                
                
                &lt;li class=&quot;gallery__selector__item&quot;&gt;
                    &lt;button
                            class=&quot;gallery__selector__button&quot;
                            aria-expanded=&quot;false&quot;
                            aria-controls=&quot;gallerysuperlcimage3&quot;
                            aria-label=&quot;Voir l&#x27;image &amp;quot;Capture d&amp;#x27;écran: Écran de sélection du niveau du jeu.&amp;quot;&quot;
                            type=&quot;button&quot;
                    &gt;
                        &lt;img class=&quot;gallery__selector__image&quot; src=&quot;&amp;#x2F;arts&amp;#x2F;super-labyrinthe-candide&amp;#x2F;gallery&amp;#x2F;superlc_04.jpg&quot; alt=&quot;Capture d&amp;#x27;écran: Écran de sélection du niveau du jeu.&quot;&#x2F;&gt;
                    &lt;&#x2F;button&gt;
                &lt;&#x2F;li&gt;
                
                
                &lt;li class=&quot;gallery__selector__item&quot;&gt;
                    &lt;button
                            class=&quot;gallery__selector__button&quot;
                            aria-expanded=&quot;false&quot;
                            aria-controls=&quot;gallerysuperlcimage4&quot;
                            aria-label=&quot;Voir l&#x27;image &amp;quot;Capture d&amp;#x27;écran: Écran de départ du niveau &amp;quot;Pulperie&amp;quot;.&amp;quot;&quot;
                            type=&quot;button&quot;
                    &gt;
                        &lt;img class=&quot;gallery__selector__image&quot; src=&quot;&amp;#x2F;arts&amp;#x2F;super-labyrinthe-candide&amp;#x2F;gallery&amp;#x2F;superlc_05.jpg&quot; alt=&quot;Capture d&amp;#x27;écran: Écran de départ du niveau &amp;quot;Pulperie&amp;quot;.&quot;&#x2F;&gt;
                    &lt;&#x2F;button&gt;
                &lt;&#x2F;li&gt;
                
                
                &lt;li class=&quot;gallery__selector__item&quot;&gt;
                    &lt;button
                            class=&quot;gallery__selector__button&quot;
                            aria-expanded=&quot;false&quot;
                            aria-controls=&quot;gallerysuperlcimage5&quot;
                            aria-label=&quot;Voir l&#x27;image &amp;quot;Capture d&amp;#x27;écran: Écran de départ du niveau &amp;quot;Monastère&amp;quot;.&amp;quot;&quot;
                            type=&quot;button&quot;
                    &gt;
                        &lt;img class=&quot;gallery__selector__image&quot; src=&quot;&amp;#x2F;arts&amp;#x2F;super-labyrinthe-candide&amp;#x2F;gallery&amp;#x2F;superlc_06.jpg&quot; alt=&quot;Capture d&amp;#x27;écran: Écran de départ du niveau &amp;quot;Monastère&amp;quot;.&quot;&#x2F;&gt;
                    &lt;&#x2F;button&gt;
                &lt;&#x2F;li&gt;
                
                
                &lt;li class=&quot;gallery__selector__item&quot;&gt;
                    &lt;button
                            class=&quot;gallery__selector__button&quot;
                            aria-expanded=&quot;false&quot;
                            aria-controls=&quot;gallerysuperlcimage6&quot;
                            aria-label=&quot;Voir l&#x27;image &amp;quot;Capture d&amp;#x27;écran: Écran de départ du niveau &amp;quot;Université&amp;quot;.&amp;quot;&quot;
                            type=&quot;button&quot;
                    &gt;
                        &lt;img class=&quot;gallery__selector__image&quot; src=&quot;&amp;#x2F;arts&amp;#x2F;super-labyrinthe-candide&amp;#x2F;gallery&amp;#x2F;superlc_07.jpg&quot; alt=&quot;Capture d&amp;#x27;écran: Écran de départ du niveau &amp;quot;Université&amp;quot;.&quot;&#x2F;&gt;
                    &lt;&#x2F;button&gt;
                &lt;&#x2F;li&gt;
                
                
                &lt;li class=&quot;gallery__selector__item&quot;&gt;
                    &lt;button
                            class=&quot;gallery__selector__button&quot;
                            aria-expanded=&quot;false&quot;
                            aria-controls=&quot;gallerysuperlcimage7&quot;
                            aria-label=&quot;Voir l&#x27;image &amp;quot;Capture d&amp;#x27;écran: Écran de jeu en action.&amp;quot;&quot;
                            type=&quot;button&quot;
                    &gt;
                        &lt;img class=&quot;gallery__selector__image&quot; src=&quot;&amp;#x2F;arts&amp;#x2F;super-labyrinthe-candide&amp;#x2F;gallery&amp;#x2F;superlc_08.jpg&quot; alt=&quot;Capture d&amp;#x27;écran: Écran de jeu en action.&quot;&#x2F;&gt;
                    &lt;&#x2F;button&gt;
                &lt;&#x2F;li&gt;
                
                
                &lt;li class=&quot;gallery__selector__item&quot;&gt;
                    &lt;button
                            class=&quot;gallery__selector__button&quot;
                            aria-expanded=&quot;false&quot;
                            aria-controls=&quot;gallerysuperlcimage8&quot;
                            aria-label=&quot;Voir l&#x27;image &amp;quot;Capture d&amp;#x27;écran: Écran de fin de jeu.&amp;quot;&quot;
                            type=&quot;button&quot;
                    &gt;
                        &lt;img class=&quot;gallery__selector__image&quot; src=&quot;&amp;#x2F;arts&amp;#x2F;super-labyrinthe-candide&amp;#x2F;gallery&amp;#x2F;superlc_09.jpg&quot; alt=&quot;Capture d&amp;#x27;écran: Écran de fin de jeu.&quot;&#x2F;&gt;
                    &lt;&#x2F;button&gt;
                &lt;&#x2F;li&gt;
                
                
                &lt;li class=&quot;gallery__selector__item&quot;&gt;
                    &lt;button
                            class=&quot;gallery__selector__button&quot;
                            aria-expanded=&quot;false&quot;
                            aria-controls=&quot;gallerysuperlcimage9&quot;
                            aria-label=&quot;Voir l&#x27;image &amp;quot;Capture d&amp;#x27;écran: Écran des scores.&amp;quot;&quot;
                            type=&quot;button&quot;
                    &gt;
                        &lt;img class=&quot;gallery__selector__image&quot; src=&quot;&amp;#x2F;arts&amp;#x2F;super-labyrinthe-candide&amp;#x2F;gallery&amp;#x2F;superlc_10.jpg&quot; alt=&quot;Capture d&amp;#x27;écran: Écran des scores.&quot;&#x2F;&gt;
                    &lt;&#x2F;button&gt;
                &lt;&#x2F;li&gt;
                
    &lt;&#x2F;ul&gt;
&lt;&#x2F;div&gt;
&lt;script&gt;
    &#x2F;&#x2F; Define
    &#x2F;&#x2F; function hideDisplayedImage(galleryId, image)
    if (typeof globalThis.hideDisplayedImage === &quot;undefined&quot;) {
        globalThis.hideDisplayedImage = function(galleryId, image) {
            const fullscreenImageContainer = document.querySelector(&quot;#&quot; + galleryId + &quot; .gallery__viewport&quot;);
            fullscreenImageContainer.classList.remove(&quot;gallery__viewport--display&quot;);
            image.classList.remove(&quot;gallery__viewport__image--display&quot;);
            const selector = &#x27;[aria-controls=&quot;&#x27; + image.getAttribute(&quot;id&quot;) + &#x27;&quot;]&#x27;
            const controlsButton = document.querySelector(selector);
            controlsButton.setAttribute(&quot;aria-expanded&quot;, &quot;false&quot;);
        }
    }

    &#x2F;&#x2F; Define
    &#x2F;&#x2F; function displayImageWithButton(galleryId, button)
    if (typeof globalThis.displayImageWithButton === &quot;undefined&quot;) {
        globalThis.displayImageWithButton = function(galleryId, button) {
            button.focus();
            const fullscreenImageContainer = document.querySelector(&quot;#&quot; + galleryId + &quot; .gallery__viewport&quot;);
            fullscreenImageContainer.classList.add(&quot;gallery__viewport--display&quot;);
            const ariaControlsId = button.getAttribute(&quot;aria-controls&quot;);
            const controlledElement = document.getElementById(ariaControlsId);
            controlledElement.classList.add(&quot;gallery__viewport__image--display&quot;);
            button.setAttribute(&quot;aria-expanded&quot;, &quot;true&quot;);
        }
    }

    &#x2F;&#x2F; Define
    &#x2F;&#x2F; function displayImageWithControlledElement(galleryId, button)
    if (typeof globalThis.displayImageWithControlledElement === &quot;undefined&quot;) {
        globalThis.displayImageWithControlledElement = function(galleryId, controlledElement) {
            const selector = &#x27;[aria-controls=&quot;&#x27; + controlledElement.getAttribute(&quot;id&quot;) + &#x27;&quot;]&#x27;
            const controlsButton = document.querySelector(selector);
            displayImageWithButton(galleryId, controlsButton);
        }
    }

    &#x2F;&#x2F; Define
    &#x2F;&#x2F; function checkSwipeDirection(touchstartX, touchendX)
    if (typeof globalThis.checkSwipeDirection === &quot;undefined&quot;) {
        globalThis.checkSwipeDirection =  function(touchstartX, touchendX) {
            if (touchendX &lt; touchstartX) {
                return &quot;left&quot;;
            } else if (touchendX &gt; touchstartX) {
                return &quot;right&quot;;
            } else {
                return &quot;&quot;;
            }
        }
    }

    &#x2F;&#x2F; Define
    &#x2F;&#x2F; function displayNextImage()
    if (typeof globalThis.displayNextImage === &quot;undefined&quot;) {
        globalThis.displayNextImage = function() {
            const controlledElement = document.getElementsByClassName(&quot;gallery__viewport__image--display&quot;)[0];
            if (controlledElement !== undefined) {
                hideDisplayedImage(&quot;gallerysuperlc&quot;, controlledElement);

                let newControlledElement = controlledElement.nextElementSibling;
                if (newControlledElement === null) {
                    newControlledElement = controlledElement.parentElement.firstElementChild;
                }

                if (newControlledElement !== null &amp;&amp; newControlledElement !== undefined) {
                    displayImageWithControlledElement(&quot;gallerysuperlc&quot;, newControlledElement);
                }
            }
        }
    }

    &#x2F;&#x2F; Define
    &#x2F;&#x2F; function displayPreviousImage()
    if (typeof globalThis.displayPreviousImage === &quot;undefined&quot;) {
        globalThis.displayPreviousImage = function () {
            const controlledElement = document.getElementsByClassName(&quot;gallery__viewport__image--display&quot;)[0];
            if (controlledElement !== undefined) {
                hideDisplayedImage(&quot;gallerysuperlc&quot;, controlledElement);

                let newControlledElement = controlledElement.previousElementSibling;
                if (newControlledElement === null) {
                    newControlledElement = controlledElement.parentElement.lastElementChild;
                }

                if (newControlledElement !== null &amp;&amp; newControlledElement !== undefined) {
                    displayImageWithControlledElement(&quot;gallerysuperlc&quot;, newControlledElement);
                }
            }
        }
    }

    &#x2F;&#x2F; Init
    &#x2F;&#x2F; Gallery Buttons
    const galleryButtonsgallerysuperlc = document.querySelectorAll(&quot;#gallerysuperlc .gallery__selector__button&quot;);
    for (let i = 0; i &lt; galleryButtonsgallerysuperlc.length; i++) {

        &#x2F;&#x2F; Click
        galleryButtonsgallerysuperlc[i].addEventListener(&quot;click&quot;, function(event) {
            displayImageWithButton(&quot;gallerysuperlc&quot;, this);
        });

        &#x2F;&#x2F; Focus In
        galleryButtonsgallerysuperlc[i].addEventListener(&#x27;focusin&#x27;, function(event) {
            const previousFocusableItem = event.relatedTarget;
            const displayedImages = document.getElementsByClassName(&quot;gallery__viewport__image--display&quot;);
            if (
                (previousFocusableItem === null || !previousFocusableItem.classList.contains(&quot;gallery__selector__button&quot;))
                &amp;&amp; displayedImages.length &gt; 0
            ) {
                &#x2F;&#x2F; Hide all displayed images
                const displayedImages = document.getElementsByClassName(&quot;gallery__viewport__image--display&quot;);
                if (displayedImages.length &gt; 0) {
                    for (let i = 0; i &lt; displayedImages.length; i++) {
                        hideDisplayedImage(&quot;gallerysuperlc&quot;, displayedImages[i]);
                    }
                }
                displayImageWithButton(&quot;gallerysuperlc&quot;, this);
            }
        });

        &#x2F;&#x2F; Focus Out
        galleryButtonsgallerysuperlc[i].addEventListener(&#x27;focusout&#x27;, function(event) {
            &#x2F;&#x2F; Prevent focus out actions if it&#x27;s a click on a gallery viewport element.
            const eventOriginClassList = event.explicitOriginalTarget.classList;
            if (
                eventOriginClassList.contains(&quot;gallery__viewport__image&quot;)
                || eventOriginClassList.contains(&quot;gallery__viewport__controls&quot;)
                || eventOriginClassList.contains(&quot;gallery__viewport__controls__nav-button&quot;)
                || eventOriginClassList.contains(&quot;gallery__viewport__controls__nav-close-btn&quot;)
                || eventOriginClassList.contains(&quot;gallery__viewport&quot;)
            ) {
                return;
            }

            &#x2F;&#x2F; Hide all displayed images
            const displayedImages = document.getElementsByClassName(&quot;gallery__viewport__image--display&quot;);
            if (displayedImages.length &gt; 0) {
                for (let i = 0; i &lt; displayedImages.length; i++) {
                    hideDisplayedImage(&quot;gallerysuperlc&quot;, displayedImages[i]);
                }
                const nextFocusableItem = event.relatedTarget;
                if (nextFocusableItem != null &amp;&amp; nextFocusableItem.classList.contains(&quot;gallery__selector__button&quot;)) {
                    displayImageWithButton(&quot;gallerysuperlc&quot;, nextFocusableItem);
                }
            }
        });
    }

    &#x2F;&#x2F; Previous Button
    &#x2F;&#x2F; Click
    const previousImageButtongallerysuperlc = document.querySelector(&quot;#gallerysuperlc .gallery__viewport__controls__nav-button--left&quot;);
    previousImageButtongallerysuperlc.addEventListener(&#x27;click&#x27;, function(event) {
        displayPreviousImage();
    });

    &#x2F;&#x2F; Next Button
    &#x2F;&#x2F; Click
    const nextImageButtongallerysuperlc = document.querySelector(&quot;#gallerysuperlc .gallery__viewport__controls__nav-button--right&quot;);
    nextImageButtongallerysuperlc.addEventListener(&#x27;click&#x27;, function(event) {
        displayNextImage();
    });

    &#x2F;&#x2F; Close Button
    &#x2F;&#x2F; Click
    const closeImageButtongallerysuperlc = document.querySelector(&quot;#gallerysuperlc .gallery__viewport__controls__nav-close-btn&quot;);
    closeImageButtongallerysuperlc.addEventListener(&#x27;click&#x27;, function(event) {
        const controlledElement = document.getElementsByClassName(&quot;gallery__viewport__image--display&quot;)[0];
        if (controlledElement !== undefined) {
            hideDisplayedImage(&quot;gallerysuperlc&quot;, controlledElement);
        }
    });

    &#x2F;&#x2F; Keyboard Controls
    document.addEventListener(&#x27;keydown&#x27;, (event) =&gt; {
        const controlledElement = document.getElementsByClassName(&quot;gallery__viewport__image--display&quot;)[0];
        if (controlledElement !== undefined) {

            &#x2F;&#x2F; Hide image
            &#x2F;&#x2F; ESC, LEFT, RIGHT
            if (event.code === &#x27;Escape&#x27; || event.code === &#x27;ArrowLeft&#x27; || event.code === &#x27;ArrowRight&#x27;) {
                hideDisplayedImage(&quot;gallerysuperlc&quot;, controlledElement);
            }

            let newControlledElement;

            &#x2F;&#x2F; Select new controlled element(image)
            &#x2F;&#x2F; LEFT
            if (event.code === &#x27;ArrowLeft&#x27;) {
                newControlledElement = controlledElement.previousElementSibling;
                if (newControlledElement === null) {
                    newControlledElement = controlledElement.parentElement.lastElementChild;
                }
            }
            &#x2F;&#x2F; RIGHT
            if (event.code === &#x27;ArrowRight&#x27;) {
                newControlledElement = controlledElement.nextElementSibling;
                if (newControlledElement === null) {
                    newControlledElement = controlledElement.parentElement.firstElementChild;
                }
            }

            &#x2F;&#x2F; Active button and display image
            if (newControlledElement !== null &amp;&amp; newControlledElement !== undefined) {
                displayImageWithControlledElement(&quot;gallerysuperlc&quot;, newControlledElement);
            }
        }
    })

    &#x2F;&#x2F; Touch Gesture
    let touchstartXgallerysuperlc = 0;
    let touchendXgallerysuperlc = 0;

    const galleryViewportgallerysuperlc = document.getElementsByClassName(&quot;gallery__viewport&quot;)[0];
    if (galleryViewportgallerysuperlc !== undefined) {

        galleryViewportgallerysuperlc.addEventListener(&#x27;touchstart&#x27;, function(event) {
            touchstartXgallerysuperlc = event.changedTouches[0].screenX
        });

        galleryViewportgallerysuperlc.addEventListener(&#x27;touchend&#x27;, function(event) {
            touchendXgallerysuperlc = event.changedTouches[0].screenX
            const direction = checkSwipeDirection(touchstartXgallerysuperlc, touchendXgallerysuperlc);
            if (direction === &quot;left&quot;) {
                displayPreviousImage();
            } else if (direction === &quot;right&quot;) {
                displayNextImage();
            }
        });

        galleryViewportgallerysuperlc.addEventListner(&#x27;touchmove&#x27;, function(event) {
            event.preventDefault();
            event.stopPropagation();
        });
    }
&lt;&#x2F;script&gt;</content>
        
    </entry>
    <entry xml:lang="fr">
        <title>Revif pour ma soeur Ginette</title>
        <published>2014-01-01T00:00:00+00:00</published>
        <updated>2014-01-01T00:00:00+00:00</updated>
        
        <author>
          <name>
            
              Pierre Tremblay-Thériault
            
          </name>
        </author>
        
        <link rel="alternate" type="text/html" href="https://lapinchatware.ca/arts/revif-pour-ma-soeur-ginette/"/>
        <id>https://lapinchatware.ca/arts/revif-pour-ma-soeur-ginette/</id>
        
        <content type="html" xml:base="https://lapinchatware.ca/arts/revif-pour-ma-soeur-ginette/">&lt;p&gt;Cette création est le fruit des différentes recherches que nous menons depuis 2010 sur un jeu sonore qui déplace les lignes d’une scène théâtrale. Entre un théâtre dramatique et une scène plus événementielle, nous choisissons une écriture plurielle (souvent collective) et in-disciplinaire portée par des artistes de pratiques différentes (théâtre, marionnette, performance, arts numériques, sculpture, vidéo, musique).&lt;&#x2F;p&gt;
&lt;p&gt;&lt;em&gt;Ginette marche 30 km entre deux frontières dans un désert brûlant pour atteindre, à 4798 km, son phare sur la côte nord à Natashquan. Pour y arriver, elle s’imagine des gens qui lui parlent, des mojados qui l’attendraient là-bas. Sur son chemin, elle reconnaît un arbre, un palo verde. Le reconnaître c’est comprendre qu’elle tourne en rond. Dès lors, les voix gagnent en autonomie. Ginette plus passive se laissera devenir autrement. Et c’est comme si l’issue n’était plus le but de la traversée…&lt;&#x2F;em&gt;&lt;&#x2F;p&gt;
&lt;div id=&quot;galleryrevif&quot; class=&quot;gallery&quot;&gt;
    
    &lt;div class=&quot;gallery__viewport&quot;&gt;
        &lt;div class=&quot;gallery__viewport__images&quot;&gt;
            
            
                    
                    &lt;img id=&quot;galleryrevifimage0&quot; class=&quot;gallery__viewport__image&quot; src=&quot;&amp;#x2F;arts&amp;#x2F;revif-pour-ma-soeur-ginette&amp;#x2F;gallery&amp;#x2F;revif_01.jpg&quot; alt=&quot;Photo d&amp;#x27;archive du spectacle: Projection abstraite mauve sur le mur. Des silouhettes sont vus sur la scène au loin. La photo est prise depuis les gradins.&quot;&#x2F;&gt;
                    
                    
                    &lt;img id=&quot;galleryrevifimage1&quot; class=&quot;gallery__viewport__image&quot; src=&quot;&amp;#x2F;arts&amp;#x2F;revif-pour-ma-soeur-ginette&amp;#x2F;gallery&amp;#x2F;revif_02.jpg&quot; alt=&quot;Photo d&amp;#x27;archive du spectacle: Une grande toile de plastique semi transparente est tendu verticalement sur la scène et occupe presque l&amp;#x27;entièreté du cadre de la photo. Sur la toile on peut voir des lignes, flèches et pointillés de peintures appliquées par une actrice derrière la toile. D&amp;#x27;autres silouettes peuvent être aperçues derrière la toile.&quot;&#x2F;&gt;
                    
                    
                    &lt;img id=&quot;galleryrevifimage2&quot; class=&quot;gallery__viewport__image&quot; src=&quot;&amp;#x2F;arts&amp;#x2F;revif-pour-ma-soeur-ginette&amp;#x2F;gallery&amp;#x2F;revif_03.jpg&quot; alt=&quot;Photo d&amp;#x27;archive du spectacle: Trois sculptures composées de cage à poule, tiges de bois, poubelles en métal, différent textiles et autres matériaux. Yanik Potvin (sculpteur) travail sur ces sculptures. Pierre Tremblay-Thériault (concepteur numérique et artiste) manipule un projecteur vidéo et place une image sur le mur à l&amp;#x27;arrière des sculptures.&quot;&#x2F;&gt;
                    
                    
                    &lt;img id=&quot;galleryrevifimage3&quot; class=&quot;gallery__viewport__image&quot; src=&quot;&amp;#x2F;arts&amp;#x2F;revif-pour-ma-soeur-ginette&amp;#x2F;gallery&amp;#x2F;revif_04.jpg&quot; alt=&quot;Photo d&amp;#x27;archive du spectacle: Les performeurs, Fabienne Augié (actrice), Chantale Boulianne (scénographe), Éric Chalifour (acteur), Andrée-Anne Giguère (actrice et conception vidéo), Elaine Juteau (actrice), Anne-Marie Ouellet (actrice), Yanik Potvin (sculpteur), Guillaume Thibert (concepteur sonore) et Pierre Tremblay-Thériault (concepteur numérique et artiste), se tiennent debout sur la scène et regarde le public.&quot;&#x2F;&gt;
                    
                    
                    &lt;img id=&quot;galleryrevifimage4&quot; class=&quot;gallery__viewport__image&quot; src=&quot;&amp;#x2F;arts&amp;#x2F;revif-pour-ma-soeur-ginette&amp;#x2F;gallery&amp;#x2F;revif_05.jpg&quot; alt=&quot;Photo d&amp;#x27;archive du spectacle: En première plan, Guillaume Thibert (concepteur sonore) parle en direction du public. Derrière, une grande toile de plastique semi transparente est mollement tendu verticalement sur la scène. Derrière la toile, d&amp;#x27;autres performeurs se déplacent. Yanik Potvin (sculpteur) travail sur des sculptures.&quot;&#x2F;&gt;
                    
                    
                    &lt;img id=&quot;galleryrevifimage5&quot; class=&quot;gallery__viewport__image&quot; src=&quot;&amp;#x2F;arts&amp;#x2F;revif-pour-ma-soeur-ginette&amp;#x2F;gallery&amp;#x2F;revif_06.jpg&quot; alt=&quot;Photo d&amp;#x27;archive du spectacle: Éric Chalifour (acteur) manipule une foule d&amp;#x27;objets divers sur le sol en face de la scène. Pierre Tremblay-Thériault (concepteur numérique et artiste) manipule un projecteur vidéo et place une image sur le sol, sur les objets divers sur le sol.&quot;&#x2F;&gt;
                    
                    
                    &lt;img id=&quot;galleryrevifimage6&quot; class=&quot;gallery__viewport__image&quot; src=&quot;&amp;#x2F;arts&amp;#x2F;revif-pour-ma-soeur-ginette&amp;#x2F;gallery&amp;#x2F;revif_07.jpg&quot; alt=&quot;Photo d&amp;#x27;archive du spectacle: Une lumière rouge remplit la scène. Anne-Marie Ouellet (actrice) se tien près d&amp;#x27;un poteau de métal et parle. Des cordes tendues sont attachées sur l&amp;#x27;extrémité poteau. Au bout de chaque corde, un acteur tire et tien en équilibre le poteau. Les cordes et le poteau suggère un chapiteau.&quot;&#x2F;&gt;
                    
                    
                    &lt;img id=&quot;galleryrevifimage7&quot; class=&quot;gallery__viewport__image&quot; src=&quot;&amp;#x2F;arts&amp;#x2F;revif-pour-ma-soeur-ginette&amp;#x2F;gallery&amp;#x2F;revif_08.jpg&quot; alt=&quot;Photo d&amp;#x27;archive du spectacle: Éric Chalifour (acteur) manipule un petit balais rouge et une canne en métal vide au travers d&amp;#x27;une foule d&amp;#x27;objets divers sur le sol en face de la scène.&quot;&#x2F;&gt;
                    
                    
                    &lt;img id=&quot;galleryrevifimage8&quot; class=&quot;gallery__viewport__image&quot; src=&quot;&amp;#x2F;arts&amp;#x2F;revif-pour-ma-soeur-ginette&amp;#x2F;gallery&amp;#x2F;revif_09.jpg&quot; alt=&quot;Photo d&amp;#x27;archive du spectacle: Éric Chalifour (acteur) manipule un petit sac jaune et un soulier à talon haut mauve au travers d&amp;#x27;une foule d&amp;#x27;objets divers sur le sol en face de la scène.&quot;&#x2F;&gt;
                    
                    
                    &lt;img id=&quot;galleryrevifimage9&quot; class=&quot;gallery__viewport__image&quot; src=&quot;&amp;#x2F;arts&amp;#x2F;revif-pour-ma-soeur-ginette&amp;#x2F;gallery&amp;#x2F;revif_10.jpg&quot; alt=&quot;Photo d&amp;#x27;archive du spectacle: Fabienne Augié (actrice) peinture des lignes et des &amp;#x27;x&amp;#x27; sur deux gigantesques toiles de plastique semi transparente étendues au sol.&quot;&#x2F;&gt;
                    
                    
                    &lt;img id=&quot;galleryrevifimage10&quot; class=&quot;gallery__viewport__image&quot; src=&quot;&amp;#x2F;arts&amp;#x2F;revif-pour-ma-soeur-ginette&amp;#x2F;gallery&amp;#x2F;revif_11.jpg&quot; alt=&quot;Photo d&amp;#x27;archive du spectacle: Fabienne Augié (actrice), Éric Chalifour (acteur), Elaine Juteau (actrice), Yanik Potvin (sculpteur) et Guillaume Thibert (concepteur sonore) soulèvent Anne-Marie Ouellet (actrice) dans les airs. Pierre Tremblay-Thériault (concepteur numérique et artiste) et Andrée-Anne Giguère (actrice et conception vidéo) sont à l&amp;#x27;écart et regarde Anne-Marie.&quot;&#x2F;&gt;
                    
                    
                    &lt;img id=&quot;galleryrevifimage11&quot; class=&quot;gallery__viewport__image&quot; src=&quot;&amp;#x2F;arts&amp;#x2F;revif-pour-ma-soeur-ginette&amp;#x2F;gallery&amp;#x2F;revif_12.jpg&quot; alt=&quot;Photo d&amp;#x27;archive du spectacle: Anne-Marie Ouellet (actrice) se tien debout sur le dos de Yanik Potvin (sculpteur). Elle est soutenue par Fabienne Augié (actrice) et Pierre Tremblay-Thériault (concepteur numérique et artiste).&quot;&#x2F;&gt;
                    
                    
                    &lt;img id=&quot;galleryrevifimage12&quot; class=&quot;gallery__viewport__image&quot; src=&quot;&amp;#x2F;arts&amp;#x2F;revif-pour-ma-soeur-ginette&amp;#x2F;gallery&amp;#x2F;revif_13.jpg&quot; alt=&quot;Photo d&amp;#x27;archive du spectacle: La scène est remplie de poussière. Chantale Boulianne (scénographe) roule une toile semi transparente. Le rouleau est remplit d&amp;#x27;objets divers. Sur le côté de la scène, Pierre Tremblay-Thériault (concepteur numérique et artiste) et Éric Chalifour (acteur) se tiennent debout et attendent. Dans le fond, Yanik Potvin (sculpteur) manipule la matière de ses sculptures.&quot;&#x2F;&gt;
                    
                    
                    &lt;img id=&quot;galleryrevifimage13&quot; class=&quot;gallery__viewport__image&quot; src=&quot;&amp;#x2F;arts&amp;#x2F;revif-pour-ma-soeur-ginette&amp;#x2F;gallery&amp;#x2F;revif_14.jpg&quot; alt=&quot;Photo d&amp;#x27;archive du spectacle: Caché derrière des sculptures composées de cage à poule, tiges de bois, poubelles en métal, différent textiles et autres matériaux, Elaine Juteau (actrice) regarde d&amp;#x27;autres performeurs sur la scène.&quot;&#x2F;&gt;
                    
        &lt;&#x2F;div&gt;
        &lt;div class=&quot;gallery__viewport__controls&quot;&gt;
            &lt;img class=&quot;gallery__viewport__controls__nav-button gallery__viewport__controls__nav-button--left&quot; src=&quot;&#x2F;images&#x2F;angle-left.svg&quot; alt=&quot;Voir l&#x27;image précédente.&quot; aria-hidden=&quot;true&quot;&#x2F;&gt;
            &lt;img class=&quot;gallery__viewport__controls__nav-button gallery__viewport__controls__nav-button--right&quot; src=&quot;&#x2F;images&#x2F;angle-right.svg&quot; alt=&quot;Voir l&#x27;image suivante.&quot; aria-hidden=&quot;true&quot;&#x2F;&gt;
            &lt;img class=&quot;gallery__viewport__controls__nav-close-btn&quot; src=&quot;&#x2F;images&#x2F;close-icon.svg&quot; alt=&quot;Fermer la gallery&quot;&#x2F;&gt;
        &lt;&#x2F;div&gt;
    &lt;&#x2F;div&gt;
    &lt;ul class=&quot;gallery__selector&quot;&gt;
        
        
                
                &lt;li class=&quot;gallery__selector__item&quot;&gt;
                    &lt;button
                            class=&quot;gallery__selector__button&quot;
                            aria-expanded=&quot;false&quot;
                            aria-controls=&quot;galleryrevifimage0&quot;
                            aria-label=&quot;Voir l&#x27;image &amp;quot;Photo d&amp;#x27;archive du spectacle: Projection abstraite mauve sur le mur. Des silouhettes sont vus sur la scène au loin. La photo est prise depuis les gradins.&amp;quot;&quot;
                            type=&quot;button&quot;
                    &gt;
                        &lt;img class=&quot;gallery__selector__image&quot; src=&quot;&amp;#x2F;arts&amp;#x2F;revif-pour-ma-soeur-ginette&amp;#x2F;gallery&amp;#x2F;revif_01.jpg&quot; alt=&quot;Photo d&amp;#x27;archive du spectacle: Projection abstraite mauve sur le mur. Des silouhettes sont vus sur la scène au loin. La photo est prise depuis les gradins.&quot;&#x2F;&gt;
                    &lt;&#x2F;button&gt;
                &lt;&#x2F;li&gt;
                
                
                &lt;li class=&quot;gallery__selector__item&quot;&gt;
                    &lt;button
                            class=&quot;gallery__selector__button&quot;
                            aria-expanded=&quot;false&quot;
                            aria-controls=&quot;galleryrevifimage1&quot;
                            aria-label=&quot;Voir l&#x27;image &amp;quot;Photo d&amp;#x27;archive du spectacle: Une grande toile de plastique semi transparente est tendu verticalement sur la scène et occupe presque l&amp;#x27;entièreté du cadre de la photo. Sur la toile on peut voir des lignes, flèches et pointillés de peintures appliquées par une actrice derrière la toile. D&amp;#x27;autres silouettes peuvent être aperçues derrière la toile.&amp;quot;&quot;
                            type=&quot;button&quot;
                    &gt;
                        &lt;img class=&quot;gallery__selector__image&quot; src=&quot;&amp;#x2F;arts&amp;#x2F;revif-pour-ma-soeur-ginette&amp;#x2F;gallery&amp;#x2F;revif_02.jpg&quot; alt=&quot;Photo d&amp;#x27;archive du spectacle: Une grande toile de plastique semi transparente est tendu verticalement sur la scène et occupe presque l&amp;#x27;entièreté du cadre de la photo. Sur la toile on peut voir des lignes, flèches et pointillés de peintures appliquées par une actrice derrière la toile. D&amp;#x27;autres silouettes peuvent être aperçues derrière la toile.&quot;&#x2F;&gt;
                    &lt;&#x2F;button&gt;
                &lt;&#x2F;li&gt;
                
                
                &lt;li class=&quot;gallery__selector__item&quot;&gt;
                    &lt;button
                            class=&quot;gallery__selector__button&quot;
                            aria-expanded=&quot;false&quot;
                            aria-controls=&quot;galleryrevifimage2&quot;
                            aria-label=&quot;Voir l&#x27;image &amp;quot;Photo d&amp;#x27;archive du spectacle: Trois sculptures composées de cage à poule, tiges de bois, poubelles en métal, différent textiles et autres matériaux. Yanik Potvin (sculpteur) travail sur ces sculptures. Pierre Tremblay-Thériault (concepteur numérique et artiste) manipule un projecteur vidéo et place une image sur le mur à l&amp;#x27;arrière des sculptures.&amp;quot;&quot;
                            type=&quot;button&quot;
                    &gt;
                        &lt;img class=&quot;gallery__selector__image&quot; src=&quot;&amp;#x2F;arts&amp;#x2F;revif-pour-ma-soeur-ginette&amp;#x2F;gallery&amp;#x2F;revif_03.jpg&quot; alt=&quot;Photo d&amp;#x27;archive du spectacle: Trois sculptures composées de cage à poule, tiges de bois, poubelles en métal, différent textiles et autres matériaux. Yanik Potvin (sculpteur) travail sur ces sculptures. Pierre Tremblay-Thériault (concepteur numérique et artiste) manipule un projecteur vidéo et place une image sur le mur à l&amp;#x27;arrière des sculptures.&quot;&#x2F;&gt;
                    &lt;&#x2F;button&gt;
                &lt;&#x2F;li&gt;
                
                
                &lt;li class=&quot;gallery__selector__item&quot;&gt;
                    &lt;button
                            class=&quot;gallery__selector__button&quot;
                            aria-expanded=&quot;false&quot;
                            aria-controls=&quot;galleryrevifimage3&quot;
                            aria-label=&quot;Voir l&#x27;image &amp;quot;Photo d&amp;#x27;archive du spectacle: Les performeurs, Fabienne Augié (actrice), Chantale Boulianne (scénographe), Éric Chalifour (acteur), Andrée-Anne Giguère (actrice et conception vidéo), Elaine Juteau (actrice), Anne-Marie Ouellet (actrice), Yanik Potvin (sculpteur), Guillaume Thibert (concepteur sonore) et Pierre Tremblay-Thériault (concepteur numérique et artiste), se tiennent debout sur la scène et regarde le public.&amp;quot;&quot;
                            type=&quot;button&quot;
                    &gt;
                        &lt;img class=&quot;gallery__selector__image&quot; src=&quot;&amp;#x2F;arts&amp;#x2F;revif-pour-ma-soeur-ginette&amp;#x2F;gallery&amp;#x2F;revif_04.jpg&quot; alt=&quot;Photo d&amp;#x27;archive du spectacle: Les performeurs, Fabienne Augié (actrice), Chantale Boulianne (scénographe), Éric Chalifour (acteur), Andrée-Anne Giguère (actrice et conception vidéo), Elaine Juteau (actrice), Anne-Marie Ouellet (actrice), Yanik Potvin (sculpteur), Guillaume Thibert (concepteur sonore) et Pierre Tremblay-Thériault (concepteur numérique et artiste), se tiennent debout sur la scène et regarde le public.&quot;&#x2F;&gt;
                    &lt;&#x2F;button&gt;
                &lt;&#x2F;li&gt;
                
                
                &lt;li class=&quot;gallery__selector__item&quot;&gt;
                    &lt;button
                            class=&quot;gallery__selector__button&quot;
                            aria-expanded=&quot;false&quot;
                            aria-controls=&quot;galleryrevifimage4&quot;
                            aria-label=&quot;Voir l&#x27;image &amp;quot;Photo d&amp;#x27;archive du spectacle: En première plan, Guillaume Thibert (concepteur sonore) parle en direction du public. Derrière, une grande toile de plastique semi transparente est mollement tendu verticalement sur la scène. Derrière la toile, d&amp;#x27;autres performeurs se déplacent. Yanik Potvin (sculpteur) travail sur des sculptures.&amp;quot;&quot;
                            type=&quot;button&quot;
                    &gt;
                        &lt;img class=&quot;gallery__selector__image&quot; src=&quot;&amp;#x2F;arts&amp;#x2F;revif-pour-ma-soeur-ginette&amp;#x2F;gallery&amp;#x2F;revif_05.jpg&quot; alt=&quot;Photo d&amp;#x27;archive du spectacle: En première plan, Guillaume Thibert (concepteur sonore) parle en direction du public. Derrière, une grande toile de plastique semi transparente est mollement tendu verticalement sur la scène. Derrière la toile, d&amp;#x27;autres performeurs se déplacent. Yanik Potvin (sculpteur) travail sur des sculptures.&quot;&#x2F;&gt;
                    &lt;&#x2F;button&gt;
                &lt;&#x2F;li&gt;
                
                
                &lt;li class=&quot;gallery__selector__item&quot;&gt;
                    &lt;button
                            class=&quot;gallery__selector__button&quot;
                            aria-expanded=&quot;false&quot;
                            aria-controls=&quot;galleryrevifimage5&quot;
                            aria-label=&quot;Voir l&#x27;image &amp;quot;Photo d&amp;#x27;archive du spectacle: Éric Chalifour (acteur) manipule une foule d&amp;#x27;objets divers sur le sol en face de la scène. Pierre Tremblay-Thériault (concepteur numérique et artiste) manipule un projecteur vidéo et place une image sur le sol, sur les objets divers sur le sol.&amp;quot;&quot;
                            type=&quot;button&quot;
                    &gt;
                        &lt;img class=&quot;gallery__selector__image&quot; src=&quot;&amp;#x2F;arts&amp;#x2F;revif-pour-ma-soeur-ginette&amp;#x2F;gallery&amp;#x2F;revif_06.jpg&quot; alt=&quot;Photo d&amp;#x27;archive du spectacle: Éric Chalifour (acteur) manipule une foule d&amp;#x27;objets divers sur le sol en face de la scène. Pierre Tremblay-Thériault (concepteur numérique et artiste) manipule un projecteur vidéo et place une image sur le sol, sur les objets divers sur le sol.&quot;&#x2F;&gt;
                    &lt;&#x2F;button&gt;
                &lt;&#x2F;li&gt;
                
                
                &lt;li class=&quot;gallery__selector__item&quot;&gt;
                    &lt;button
                            class=&quot;gallery__selector__button&quot;
                            aria-expanded=&quot;false&quot;
                            aria-controls=&quot;galleryrevifimage6&quot;
                            aria-label=&quot;Voir l&#x27;image &amp;quot;Photo d&amp;#x27;archive du spectacle: Une lumière rouge remplit la scène. Anne-Marie Ouellet (actrice) se tien près d&amp;#x27;un poteau de métal et parle. Des cordes tendues sont attachées sur l&amp;#x27;extrémité poteau. Au bout de chaque corde, un acteur tire et tien en équilibre le poteau. Les cordes et le poteau suggère un chapiteau.&amp;quot;&quot;
                            type=&quot;button&quot;
                    &gt;
                        &lt;img class=&quot;gallery__selector__image&quot; src=&quot;&amp;#x2F;arts&amp;#x2F;revif-pour-ma-soeur-ginette&amp;#x2F;gallery&amp;#x2F;revif_07.jpg&quot; alt=&quot;Photo d&amp;#x27;archive du spectacle: Une lumière rouge remplit la scène. Anne-Marie Ouellet (actrice) se tien près d&amp;#x27;un poteau de métal et parle. Des cordes tendues sont attachées sur l&amp;#x27;extrémité poteau. Au bout de chaque corde, un acteur tire et tien en équilibre le poteau. Les cordes et le poteau suggère un chapiteau.&quot;&#x2F;&gt;
                    &lt;&#x2F;button&gt;
                &lt;&#x2F;li&gt;
                
                
                &lt;li class=&quot;gallery__selector__item&quot;&gt;
                    &lt;button
                            class=&quot;gallery__selector__button&quot;
                            aria-expanded=&quot;false&quot;
                            aria-controls=&quot;galleryrevifimage7&quot;
                            aria-label=&quot;Voir l&#x27;image &amp;quot;Photo d&amp;#x27;archive du spectacle: Éric Chalifour (acteur) manipule un petit balais rouge et une canne en métal vide au travers d&amp;#x27;une foule d&amp;#x27;objets divers sur le sol en face de la scène.&amp;quot;&quot;
                            type=&quot;button&quot;
                    &gt;
                        &lt;img class=&quot;gallery__selector__image&quot; src=&quot;&amp;#x2F;arts&amp;#x2F;revif-pour-ma-soeur-ginette&amp;#x2F;gallery&amp;#x2F;revif_08.jpg&quot; alt=&quot;Photo d&amp;#x27;archive du spectacle: Éric Chalifour (acteur) manipule un petit balais rouge et une canne en métal vide au travers d&amp;#x27;une foule d&amp;#x27;objets divers sur le sol en face de la scène.&quot;&#x2F;&gt;
                    &lt;&#x2F;button&gt;
                &lt;&#x2F;li&gt;
                
                
                &lt;li class=&quot;gallery__selector__item&quot;&gt;
                    &lt;button
                            class=&quot;gallery__selector__button&quot;
                            aria-expanded=&quot;false&quot;
                            aria-controls=&quot;galleryrevifimage8&quot;
                            aria-label=&quot;Voir l&#x27;image &amp;quot;Photo d&amp;#x27;archive du spectacle: Éric Chalifour (acteur) manipule un petit sac jaune et un soulier à talon haut mauve au travers d&amp;#x27;une foule d&amp;#x27;objets divers sur le sol en face de la scène.&amp;quot;&quot;
                            type=&quot;button&quot;
                    &gt;
                        &lt;img class=&quot;gallery__selector__image&quot; src=&quot;&amp;#x2F;arts&amp;#x2F;revif-pour-ma-soeur-ginette&amp;#x2F;gallery&amp;#x2F;revif_09.jpg&quot; alt=&quot;Photo d&amp;#x27;archive du spectacle: Éric Chalifour (acteur) manipule un petit sac jaune et un soulier à talon haut mauve au travers d&amp;#x27;une foule d&amp;#x27;objets divers sur le sol en face de la scène.&quot;&#x2F;&gt;
                    &lt;&#x2F;button&gt;
                &lt;&#x2F;li&gt;
                
                
                &lt;li class=&quot;gallery__selector__item&quot;&gt;
                    &lt;button
                            class=&quot;gallery__selector__button&quot;
                            aria-expanded=&quot;false&quot;
                            aria-controls=&quot;galleryrevifimage9&quot;
                            aria-label=&quot;Voir l&#x27;image &amp;quot;Photo d&amp;#x27;archive du spectacle: Fabienne Augié (actrice) peinture des lignes et des &amp;#x27;x&amp;#x27; sur deux gigantesques toiles de plastique semi transparente étendues au sol.&amp;quot;&quot;
                            type=&quot;button&quot;
                    &gt;
                        &lt;img class=&quot;gallery__selector__image&quot; src=&quot;&amp;#x2F;arts&amp;#x2F;revif-pour-ma-soeur-ginette&amp;#x2F;gallery&amp;#x2F;revif_10.jpg&quot; alt=&quot;Photo d&amp;#x27;archive du spectacle: Fabienne Augié (actrice) peinture des lignes et des &amp;#x27;x&amp;#x27; sur deux gigantesques toiles de plastique semi transparente étendues au sol.&quot;&#x2F;&gt;
                    &lt;&#x2F;button&gt;
                &lt;&#x2F;li&gt;
                
                
                &lt;li class=&quot;gallery__selector__item&quot;&gt;
                    &lt;button
                            class=&quot;gallery__selector__button&quot;
                            aria-expanded=&quot;false&quot;
                            aria-controls=&quot;galleryrevifimage10&quot;
                            aria-label=&quot;Voir l&#x27;image &amp;quot;Photo d&amp;#x27;archive du spectacle: Fabienne Augié (actrice), Éric Chalifour (acteur), Elaine Juteau (actrice), Yanik Potvin (sculpteur) et Guillaume Thibert (concepteur sonore) soulèvent Anne-Marie Ouellet (actrice) dans les airs. Pierre Tremblay-Thériault (concepteur numérique et artiste) et Andrée-Anne Giguère (actrice et conception vidéo) sont à l&amp;#x27;écart et regarde Anne-Marie.&amp;quot;&quot;
                            type=&quot;button&quot;
                    &gt;
                        &lt;img class=&quot;gallery__selector__image&quot; src=&quot;&amp;#x2F;arts&amp;#x2F;revif-pour-ma-soeur-ginette&amp;#x2F;gallery&amp;#x2F;revif_11.jpg&quot; alt=&quot;Photo d&amp;#x27;archive du spectacle: Fabienne Augié (actrice), Éric Chalifour (acteur), Elaine Juteau (actrice), Yanik Potvin (sculpteur) et Guillaume Thibert (concepteur sonore) soulèvent Anne-Marie Ouellet (actrice) dans les airs. Pierre Tremblay-Thériault (concepteur numérique et artiste) et Andrée-Anne Giguère (actrice et conception vidéo) sont à l&amp;#x27;écart et regarde Anne-Marie.&quot;&#x2F;&gt;
                    &lt;&#x2F;button&gt;
                &lt;&#x2F;li&gt;
                
                
                &lt;li class=&quot;gallery__selector__item&quot;&gt;
                    &lt;button
                            class=&quot;gallery__selector__button&quot;
                            aria-expanded=&quot;false&quot;
                            aria-controls=&quot;galleryrevifimage11&quot;
                            aria-label=&quot;Voir l&#x27;image &amp;quot;Photo d&amp;#x27;archive du spectacle: Anne-Marie Ouellet (actrice) se tien debout sur le dos de Yanik Potvin (sculpteur). Elle est soutenue par Fabienne Augié (actrice) et Pierre Tremblay-Thériault (concepteur numérique et artiste).&amp;quot;&quot;
                            type=&quot;button&quot;
                    &gt;
                        &lt;img class=&quot;gallery__selector__image&quot; src=&quot;&amp;#x2F;arts&amp;#x2F;revif-pour-ma-soeur-ginette&amp;#x2F;gallery&amp;#x2F;revif_12.jpg&quot; alt=&quot;Photo d&amp;#x27;archive du spectacle: Anne-Marie Ouellet (actrice) se tien debout sur le dos de Yanik Potvin (sculpteur). Elle est soutenue par Fabienne Augié (actrice) et Pierre Tremblay-Thériault (concepteur numérique et artiste).&quot;&#x2F;&gt;
                    &lt;&#x2F;button&gt;
                &lt;&#x2F;li&gt;
                
                
                &lt;li class=&quot;gallery__selector__item&quot;&gt;
                    &lt;button
                            class=&quot;gallery__selector__button&quot;
                            aria-expanded=&quot;false&quot;
                            aria-controls=&quot;galleryrevifimage12&quot;
                            aria-label=&quot;Voir l&#x27;image &amp;quot;Photo d&amp;#x27;archive du spectacle: La scène est remplie de poussière. Chantale Boulianne (scénographe) roule une toile semi transparente. Le rouleau est remplit d&amp;#x27;objets divers. Sur le côté de la scène, Pierre Tremblay-Thériault (concepteur numérique et artiste) et Éric Chalifour (acteur) se tiennent debout et attendent. Dans le fond, Yanik Potvin (sculpteur) manipule la matière de ses sculptures.&amp;quot;&quot;
                            type=&quot;button&quot;
                    &gt;
                        &lt;img class=&quot;gallery__selector__image&quot; src=&quot;&amp;#x2F;arts&amp;#x2F;revif-pour-ma-soeur-ginette&amp;#x2F;gallery&amp;#x2F;revif_13.jpg&quot; alt=&quot;Photo d&amp;#x27;archive du spectacle: La scène est remplie de poussière. Chantale Boulianne (scénographe) roule une toile semi transparente. Le rouleau est remplit d&amp;#x27;objets divers. Sur le côté de la scène, Pierre Tremblay-Thériault (concepteur numérique et artiste) et Éric Chalifour (acteur) se tiennent debout et attendent. Dans le fond, Yanik Potvin (sculpteur) manipule la matière de ses sculptures.&quot;&#x2F;&gt;
                    &lt;&#x2F;button&gt;
                &lt;&#x2F;li&gt;
                
                
                &lt;li class=&quot;gallery__selector__item&quot;&gt;
                    &lt;button
                            class=&quot;gallery__selector__button&quot;
                            aria-expanded=&quot;false&quot;
                            aria-controls=&quot;galleryrevifimage13&quot;
                            aria-label=&quot;Voir l&#x27;image &amp;quot;Photo d&amp;#x27;archive du spectacle: Caché derrière des sculptures composées de cage à poule, tiges de bois, poubelles en métal, différent textiles et autres matériaux, Elaine Juteau (actrice) regarde d&amp;#x27;autres performeurs sur la scène.&amp;quot;&quot;
                            type=&quot;button&quot;
                    &gt;
                        &lt;img class=&quot;gallery__selector__image&quot; src=&quot;&amp;#x2F;arts&amp;#x2F;revif-pour-ma-soeur-ginette&amp;#x2F;gallery&amp;#x2F;revif_14.jpg&quot; alt=&quot;Photo d&amp;#x27;archive du spectacle: Caché derrière des sculptures composées de cage à poule, tiges de bois, poubelles en métal, différent textiles et autres matériaux, Elaine Juteau (actrice) regarde d&amp;#x27;autres performeurs sur la scène.&quot;&#x2F;&gt;
                    &lt;&#x2F;button&gt;
                &lt;&#x2F;li&gt;
                
    &lt;&#x2F;ul&gt;
&lt;&#x2F;div&gt;
&lt;script&gt;
    &#x2F;&#x2F; Define
    &#x2F;&#x2F; function hideDisplayedImage(galleryId, image)
    if (typeof globalThis.hideDisplayedImage === &quot;undefined&quot;) {
        globalThis.hideDisplayedImage = function(galleryId, image) {
            const fullscreenImageContainer = document.querySelector(&quot;#&quot; + galleryId + &quot; .gallery__viewport&quot;);
            fullscreenImageContainer.classList.remove(&quot;gallery__viewport--display&quot;);
            image.classList.remove(&quot;gallery__viewport__image--display&quot;);
            const selector = &#x27;[aria-controls=&quot;&#x27; + image.getAttribute(&quot;id&quot;) + &#x27;&quot;]&#x27;
            const controlsButton = document.querySelector(selector);
            controlsButton.setAttribute(&quot;aria-expanded&quot;, &quot;false&quot;);
        }
    }

    &#x2F;&#x2F; Define
    &#x2F;&#x2F; function displayImageWithButton(galleryId, button)
    if (typeof globalThis.displayImageWithButton === &quot;undefined&quot;) {
        globalThis.displayImageWithButton = function(galleryId, button) {
            button.focus();
            const fullscreenImageContainer = document.querySelector(&quot;#&quot; + galleryId + &quot; .gallery__viewport&quot;);
            fullscreenImageContainer.classList.add(&quot;gallery__viewport--display&quot;);
            const ariaControlsId = button.getAttribute(&quot;aria-controls&quot;);
            const controlledElement = document.getElementById(ariaControlsId);
            controlledElement.classList.add(&quot;gallery__viewport__image--display&quot;);
            button.setAttribute(&quot;aria-expanded&quot;, &quot;true&quot;);
        }
    }

    &#x2F;&#x2F; Define
    &#x2F;&#x2F; function displayImageWithControlledElement(galleryId, button)
    if (typeof globalThis.displayImageWithControlledElement === &quot;undefined&quot;) {
        globalThis.displayImageWithControlledElement = function(galleryId, controlledElement) {
            const selector = &#x27;[aria-controls=&quot;&#x27; + controlledElement.getAttribute(&quot;id&quot;) + &#x27;&quot;]&#x27;
            const controlsButton = document.querySelector(selector);
            displayImageWithButton(galleryId, controlsButton);
        }
    }

    &#x2F;&#x2F; Define
    &#x2F;&#x2F; function checkSwipeDirection(touchstartX, touchendX)
    if (typeof globalThis.checkSwipeDirection === &quot;undefined&quot;) {
        globalThis.checkSwipeDirection =  function(touchstartX, touchendX) {
            if (touchendX &lt; touchstartX) {
                return &quot;left&quot;;
            } else if (touchendX &gt; touchstartX) {
                return &quot;right&quot;;
            } else {
                return &quot;&quot;;
            }
        }
    }

    &#x2F;&#x2F; Define
    &#x2F;&#x2F; function displayNextImage()
    if (typeof globalThis.displayNextImage === &quot;undefined&quot;) {
        globalThis.displayNextImage = function() {
            const controlledElement = document.getElementsByClassName(&quot;gallery__viewport__image--display&quot;)[0];
            if (controlledElement !== undefined) {
                hideDisplayedImage(&quot;galleryrevif&quot;, controlledElement);

                let newControlledElement = controlledElement.nextElementSibling;
                if (newControlledElement === null) {
                    newControlledElement = controlledElement.parentElement.firstElementChild;
                }

                if (newControlledElement !== null &amp;&amp; newControlledElement !== undefined) {
                    displayImageWithControlledElement(&quot;galleryrevif&quot;, newControlledElement);
                }
            }
        }
    }

    &#x2F;&#x2F; Define
    &#x2F;&#x2F; function displayPreviousImage()
    if (typeof globalThis.displayPreviousImage === &quot;undefined&quot;) {
        globalThis.displayPreviousImage = function () {
            const controlledElement = document.getElementsByClassName(&quot;gallery__viewport__image--display&quot;)[0];
            if (controlledElement !== undefined) {
                hideDisplayedImage(&quot;galleryrevif&quot;, controlledElement);

                let newControlledElement = controlledElement.previousElementSibling;
                if (newControlledElement === null) {
                    newControlledElement = controlledElement.parentElement.lastElementChild;
                }

                if (newControlledElement !== null &amp;&amp; newControlledElement !== undefined) {
                    displayImageWithControlledElement(&quot;galleryrevif&quot;, newControlledElement);
                }
            }
        }
    }

    &#x2F;&#x2F; Init
    &#x2F;&#x2F; Gallery Buttons
    const galleryButtonsgalleryrevif = document.querySelectorAll(&quot;#galleryrevif .gallery__selector__button&quot;);
    for (let i = 0; i &lt; galleryButtonsgalleryrevif.length; i++) {

        &#x2F;&#x2F; Click
        galleryButtonsgalleryrevif[i].addEventListener(&quot;click&quot;, function(event) {
            displayImageWithButton(&quot;galleryrevif&quot;, this);
        });

        &#x2F;&#x2F; Focus In
        galleryButtonsgalleryrevif[i].addEventListener(&#x27;focusin&#x27;, function(event) {
            const previousFocusableItem = event.relatedTarget;
            const displayedImages = document.getElementsByClassName(&quot;gallery__viewport__image--display&quot;);
            if (
                (previousFocusableItem === null || !previousFocusableItem.classList.contains(&quot;gallery__selector__button&quot;))
                &amp;&amp; displayedImages.length &gt; 0
            ) {
                &#x2F;&#x2F; Hide all displayed images
                const displayedImages = document.getElementsByClassName(&quot;gallery__viewport__image--display&quot;);
                if (displayedImages.length &gt; 0) {
                    for (let i = 0; i &lt; displayedImages.length; i++) {
                        hideDisplayedImage(&quot;galleryrevif&quot;, displayedImages[i]);
                    }
                }
                displayImageWithButton(&quot;galleryrevif&quot;, this);
            }
        });

        &#x2F;&#x2F; Focus Out
        galleryButtonsgalleryrevif[i].addEventListener(&#x27;focusout&#x27;, function(event) {
            &#x2F;&#x2F; Prevent focus out actions if it&#x27;s a click on a gallery viewport element.
            const eventOriginClassList = event.explicitOriginalTarget.classList;
            if (
                eventOriginClassList.contains(&quot;gallery__viewport__image&quot;)
                || eventOriginClassList.contains(&quot;gallery__viewport__controls&quot;)
                || eventOriginClassList.contains(&quot;gallery__viewport__controls__nav-button&quot;)
                || eventOriginClassList.contains(&quot;gallery__viewport__controls__nav-close-btn&quot;)
                || eventOriginClassList.contains(&quot;gallery__viewport&quot;)
            ) {
                return;
            }

            &#x2F;&#x2F; Hide all displayed images
            const displayedImages = document.getElementsByClassName(&quot;gallery__viewport__image--display&quot;);
            if (displayedImages.length &gt; 0) {
                for (let i = 0; i &lt; displayedImages.length; i++) {
                    hideDisplayedImage(&quot;galleryrevif&quot;, displayedImages[i]);
                }
                const nextFocusableItem = event.relatedTarget;
                if (nextFocusableItem != null &amp;&amp; nextFocusableItem.classList.contains(&quot;gallery__selector__button&quot;)) {
                    displayImageWithButton(&quot;galleryrevif&quot;, nextFocusableItem);
                }
            }
        });
    }

    &#x2F;&#x2F; Previous Button
    &#x2F;&#x2F; Click
    const previousImageButtongalleryrevif = document.querySelector(&quot;#galleryrevif .gallery__viewport__controls__nav-button--left&quot;);
    previousImageButtongalleryrevif.addEventListener(&#x27;click&#x27;, function(event) {
        displayPreviousImage();
    });

    &#x2F;&#x2F; Next Button
    &#x2F;&#x2F; Click
    const nextImageButtongalleryrevif = document.querySelector(&quot;#galleryrevif .gallery__viewport__controls__nav-button--right&quot;);
    nextImageButtongalleryrevif.addEventListener(&#x27;click&#x27;, function(event) {
        displayNextImage();
    });

    &#x2F;&#x2F; Close Button
    &#x2F;&#x2F; Click
    const closeImageButtongalleryrevif = document.querySelector(&quot;#galleryrevif .gallery__viewport__controls__nav-close-btn&quot;);
    closeImageButtongalleryrevif.addEventListener(&#x27;click&#x27;, function(event) {
        const controlledElement = document.getElementsByClassName(&quot;gallery__viewport__image--display&quot;)[0];
        if (controlledElement !== undefined) {
            hideDisplayedImage(&quot;galleryrevif&quot;, controlledElement);
        }
    });

    &#x2F;&#x2F; Keyboard Controls
    document.addEventListener(&#x27;keydown&#x27;, (event) =&gt; {
        const controlledElement = document.getElementsByClassName(&quot;gallery__viewport__image--display&quot;)[0];
        if (controlledElement !== undefined) {

            &#x2F;&#x2F; Hide image
            &#x2F;&#x2F; ESC, LEFT, RIGHT
            if (event.code === &#x27;Escape&#x27; || event.code === &#x27;ArrowLeft&#x27; || event.code === &#x27;ArrowRight&#x27;) {
                hideDisplayedImage(&quot;galleryrevif&quot;, controlledElement);
            }

            let newControlledElement;

            &#x2F;&#x2F; Select new controlled element(image)
            &#x2F;&#x2F; LEFT
            if (event.code === &#x27;ArrowLeft&#x27;) {
                newControlledElement = controlledElement.previousElementSibling;
                if (newControlledElement === null) {
                    newControlledElement = controlledElement.parentElement.lastElementChild;
                }
            }
            &#x2F;&#x2F; RIGHT
            if (event.code === &#x27;ArrowRight&#x27;) {
                newControlledElement = controlledElement.nextElementSibling;
                if (newControlledElement === null) {
                    newControlledElement = controlledElement.parentElement.firstElementChild;
                }
            }

            &#x2F;&#x2F; Active button and display image
            if (newControlledElement !== null &amp;&amp; newControlledElement !== undefined) {
                displayImageWithControlledElement(&quot;galleryrevif&quot;, newControlledElement);
            }
        }
    })

    &#x2F;&#x2F; Touch Gesture
    let touchstartXgalleryrevif = 0;
    let touchendXgalleryrevif = 0;

    const galleryViewportgalleryrevif = document.getElementsByClassName(&quot;gallery__viewport&quot;)[0];
    if (galleryViewportgalleryrevif !== undefined) {

        galleryViewportgalleryrevif.addEventListener(&#x27;touchstart&#x27;, function(event) {
            touchstartXgalleryrevif = event.changedTouches[0].screenX
        });

        galleryViewportgalleryrevif.addEventListener(&#x27;touchend&#x27;, function(event) {
            touchendXgalleryrevif = event.changedTouches[0].screenX
            const direction = checkSwipeDirection(touchstartXgalleryrevif, touchendXgalleryrevif);
            if (direction === &quot;left&quot;) {
                displayPreviousImage();
            } else if (direction === &quot;right&quot;) {
                displayNextImage();
            }
        });

        galleryViewportgalleryrevif.addEventListner(&#x27;touchmove&#x27;, function(event) {
            event.preventDefault();
            event.stopPropagation();
        });
    }
&lt;&#x2F;script&gt;</content>
        
    </entry>
    <entry xml:lang="fr">
        <title>Upload ton âme</title>
        <published>2014-01-01T00:00:00+00:00</published>
        <updated>2014-01-01T00:00:00+00:00</updated>
        
        <author>
          <name>
            
              Pierre Tremblay-Thériault
            
          </name>
        </author>
        
        <link rel="alternate" type="text/html" href="https://lapinchatware.ca/arts/upload-ton-ame/"/>
        <id>https://lapinchatware.ca/arts/upload-ton-ame/</id>
        
        <content type="html" xml:base="https://lapinchatware.ca/arts/upload-ton-ame/">&lt;p&gt;Upload ton âme : un projet traitant des technologies et de leur impact sur l’émergence des avatars dans nos sphères
relationnelles. Cette exposition présente les résultats d’une recherche portant sur le double rôle du témoin au sein
d’une œuvre interactive : spectateur et élément dynamique et esthétique de l’œuvre. C’est en utilisant le médium
technologique qu’il est proposé une métaphore mixant réalité et virtualité encourageant l’interaction entre les
visiteurs. Il est impossible de vivre cette exposition sans s’y intégrer.&lt;&#x2F;p&gt;
&lt;div id=&quot;galleryuploadtoname&quot; class=&quot;gallery&quot;&gt;
    
    &lt;div class=&quot;gallery__viewport&quot;&gt;
        &lt;div class=&quot;gallery__viewport__images&quot;&gt;
            
            
                    
                    &lt;img id=&quot;galleryuploadtonameimage0&quot; class=&quot;gallery__viewport__image&quot; src=&quot;&amp;#x2F;arts&amp;#x2F;upload-ton-ame&amp;#x2F;gallery&amp;#x2F;upload_01.jpg&quot; alt=&quot;Des visiteurs sont devant des claviers et écrans d&amp;#x27;ordinateurs. Sur le mur du fond on peut lire le titre de l&amp;#x27;exposition, &amp;#x27;Upload ton âme&amp;#x27;, et le nom de l&amp;#x27;artiste, &amp;#x27;Pierre Tremblay-Thériault&amp;#x27;.&quot;&#x2F;&gt;
                    
                    
                    &lt;img id=&quot;galleryuploadtonameimage1&quot; class=&quot;gallery__viewport__image&quot; src=&quot;&amp;#x2F;arts&amp;#x2F;upload-ton-ame&amp;#x2F;gallery&amp;#x2F;upload_02.jpg&quot; alt=&quot;Trois écrans d&amp;#x27;ordinateurs accompagnés d&amp;#x27;un clavier. Les écrans montrent une vue de l&amp;#x27;intérieur de la salle d&amp;#x27;exposition. Divers messages sont affichés sur les écrans. Sur le mur du fond on peut lire le titre de l&amp;#x27;exposition, &amp;#x27;Upload ton âme&amp;#x27;, et le nom de l&amp;#x27;artiste, &amp;#x27;Pierre Tremblay-Thériault&amp;#x27;.&quot;&#x2F;&gt;
                    
                    
                    &lt;img id=&quot;galleryuploadtonameimage2&quot; class=&quot;gallery__viewport__image&quot; src=&quot;&amp;#x2F;arts&amp;#x2F;upload-ton-ame&amp;#x2F;gallery&amp;#x2F;upload_03.jpg&quot; alt=&quot;Des visiteurs sont devant des claviers et écrans d&amp;#x27;ordinateurs. Les écrans montrent une vue de l&amp;#x27;intérieur de la salle d&amp;#x27;exposition. Divers messages sont affichés sur les écrans. Sur le mur du fond on peut lire le titre de l&amp;#x27;exposition, &amp;#x27;Upload ton âme&amp;#x27;, et le nom de l&amp;#x27;artiste, &amp;#x27;Pierre Tremblay-Thériault&amp;#x27;&quot;&#x2F;&gt;
                    
                    
                    &lt;img id=&quot;galleryuploadtonameimage3&quot; class=&quot;gallery__viewport__image&quot; src=&quot;&amp;#x2F;arts&amp;#x2F;upload-ton-ame&amp;#x2F;gallery&amp;#x2F;upload_04.jpg&quot; alt=&quot;Affiche de l&amp;#x27;exposition sur un mur. L&amp;#x27;affiche montre les informations concernant l&amp;#x27;exposition ainsi qu&amp;#x27;un appercu de son contenu.&quot;&#x2F;&gt;
                    
                    
                    &lt;img id=&quot;galleryuploadtonameimage4&quot; class=&quot;gallery__viewport__image&quot; src=&quot;&amp;#x2F;arts&amp;#x2F;upload-ton-ame&amp;#x2F;gallery&amp;#x2F;upload_05.jpg&quot; alt=&quot;Sur le mur du fond on peut lire le titre de l&amp;#x27;exposition, &amp;#x27;Upload ton âme&amp;#x27;, et le nom de l&amp;#x27;artiste, &amp;#x27;Pierre Tremblay-Thériault&amp;#x27;.&quot;&#x2F;&gt;
                    
                    
                    &lt;img id=&quot;galleryuploadtonameimage5&quot; class=&quot;gallery__viewport__image&quot; src=&quot;&amp;#x2F;arts&amp;#x2F;upload-ton-ame&amp;#x2F;gallery&amp;#x2F;upload_06.jpg&quot; alt=&quot;Vue intérieur de la maquette. Huit sculptures, des impressions 3D d&amp;#x27;un mannequin de dessin tenant un verre de vin à la main. Leur tête sont remplacées par un écran.&quot;&#x2F;&gt;
                    
                    
                    &lt;img id=&quot;galleryuploadtonameimage6&quot; class=&quot;gallery__viewport__image&quot; src=&quot;&amp;#x2F;arts&amp;#x2F;upload-ton-ame&amp;#x2F;gallery&amp;#x2F;upload_07.jpg&quot; alt=&quot;Sculpture, une impression 3D d&amp;#x27;un mannequin de dessin tenant un verre de vin à la main. Sa tête est remplacée par un écran. Sur l&amp;#x27;écran on peut lire &amp;#x27;check bin ca l,art&amp;#x27;&quot;&#x2F;&gt;
                    
                    
                    &lt;img id=&quot;galleryuploadtonameimage7&quot; class=&quot;gallery__viewport__image&quot; src=&quot;&amp;#x2F;arts&amp;#x2F;upload-ton-ame&amp;#x2F;gallery&amp;#x2F;upload_08.jpg&quot; alt=&quot;Vue intérieur de la maquette. Quatre sculptures, des impressions 3D d&amp;#x27;un mannequin de dessin tenant un verre de vin à la main. Leur tête sont remplacées par un écran.&quot;&#x2F;&gt;
                    
                    
                    &lt;img id=&quot;galleryuploadtonameimage8&quot; class=&quot;gallery__viewport__image&quot; src=&quot;&amp;#x2F;arts&amp;#x2F;upload-ton-ame&amp;#x2F;gallery&amp;#x2F;upload_09.jpg&quot; alt=&quot;Vue intérieur de la maquette. Huit sculptures, des impressions 3D d&amp;#x27;un mannequin de dessin tenant un verre de vin à la main. Leur tête sont remplacées par un écran.&quot;&#x2F;&gt;
                    
                    
                    &lt;img id=&quot;galleryuploadtonameimage9&quot; class=&quot;gallery__viewport__image&quot; src=&quot;&amp;#x2F;arts&amp;#x2F;upload-ton-ame&amp;#x2F;gallery&amp;#x2F;upload_10.jpg&quot; alt=&quot;Sculpture, une impression 3D d&amp;#x27;un mannequin de dessin tenant un verre de vin à la main. Sa tête est remplacée par un écran. Sur l&amp;#x27;écran on peut lire &amp;#x27;moii je peux remettre mon bras&amp;#x27;&quot;&#x2F;&gt;
                    
                    
                    &lt;img id=&quot;galleryuploadtonameimage10&quot; class=&quot;gallery__viewport__image&quot; src=&quot;&amp;#x2F;arts&amp;#x2F;upload-ton-ame&amp;#x2F;gallery&amp;#x2F;upload_11.jpg&quot; alt=&quot;Vue intérieur de la maquette. Quatre sculptures, des impressions 3D d&amp;#x27;un mannequin de dessin tenant un verre de vin à la main. Leur tête sont remplacées par un écran.&quot;&#x2F;&gt;
                    
                    
                    &lt;img id=&quot;galleryuploadtonameimage11&quot; class=&quot;gallery__viewport__image&quot; src=&quot;&amp;#x2F;arts&amp;#x2F;upload-ton-ame&amp;#x2F;gallery&amp;#x2F;upload_12.jpg&quot; alt=&quot;Sculpture vu de dos, une impression 3D d&amp;#x27;un mannequin de dessin tenant un verre de vin à la main. Sa tête est remplacée par un écran. On ne voit pas sur ce qu&amp;#x27;il ya sur l&amp;#x27;écran.&quot;&#x2F;&gt;
                    
                    
                    &lt;img id=&quot;galleryuploadtonameimage12&quot; class=&quot;gallery__viewport__image&quot; src=&quot;&amp;#x2F;arts&amp;#x2F;upload-ton-ame&amp;#x2F;gallery&amp;#x2F;upload_13.jpg&quot; alt=&quot;Vue intérieur de la maquette. Trois sculptures, des impressions 3D d&amp;#x27;un mannequin de dessin tenant un verre de vin à la main. Leur tête sont remplacées par un écran.&quot;&#x2F;&gt;
                    
                    
                    &lt;img id=&quot;galleryuploadtonameimage13&quot; class=&quot;gallery__viewport__image&quot; src=&quot;&amp;#x2F;arts&amp;#x2F;upload-ton-ame&amp;#x2F;gallery&amp;#x2F;upload_14.jpg&quot; alt=&quot;Vue intérieur de la maquette. Neuf sculptures, des impressions 3D d&amp;#x27;un mannequin de dessin tenant un verre de vin à la main. Leur tête sont remplacées par un écran.&quot;&#x2F;&gt;
                    
                    
                    &lt;img id=&quot;galleryuploadtonameimage14&quot; class=&quot;gallery__viewport__image&quot; src=&quot;&amp;#x2F;arts&amp;#x2F;upload-ton-ame&amp;#x2F;gallery&amp;#x2F;upload_15.jpg&quot; alt=&quot;Sculpture, une impression 3D d&amp;#x27;un mannequin de dessin tenant un verre de vin à la main. Sa tête est remplacée par un écran. Sur l&amp;#x27;écran on peut lire &amp;#x27;check bin ca l,art&amp;#x27;&quot;&#x2F;&gt;
                    
                    
                    &lt;img id=&quot;galleryuploadtonameimage15&quot; class=&quot;gallery__viewport__image&quot; src=&quot;&amp;#x2F;arts&amp;#x2F;upload-ton-ame&amp;#x2F;gallery&amp;#x2F;upload_16.jpg&quot; alt=&quot;Vue intérieur de la maquette. Deux sculptures, des impressions 3D d&amp;#x27;un mannequin de dessin tenant un verre de vin à la main. Leur tête sont remplacées par un écran.&quot;&#x2F;&gt;
                    
                    
                    &lt;img id=&quot;galleryuploadtonameimage16&quot; class=&quot;gallery__viewport__image&quot; src=&quot;&amp;#x2F;arts&amp;#x2F;upload-ton-ame&amp;#x2F;gallery&amp;#x2F;upload_17.jpg&quot; alt=&quot;Sculpture vu de dos, une impression 3D d&amp;#x27;un mannequin de dessin tenant un verre de vin à la main. Sa tête est remplacée par un écran. On ne voit pas sur ce qu&amp;#x27;il ya sur l&amp;#x27;écran.&quot;&#x2F;&gt;
                    
        &lt;&#x2F;div&gt;
        &lt;div class=&quot;gallery__viewport__controls&quot;&gt;
            &lt;img class=&quot;gallery__viewport__controls__nav-button gallery__viewport__controls__nav-button--left&quot; src=&quot;&#x2F;images&#x2F;angle-left.svg&quot; alt=&quot;Voir l&#x27;image précédente.&quot; aria-hidden=&quot;true&quot;&#x2F;&gt;
            &lt;img class=&quot;gallery__viewport__controls__nav-button gallery__viewport__controls__nav-button--right&quot; src=&quot;&#x2F;images&#x2F;angle-right.svg&quot; alt=&quot;Voir l&#x27;image suivante.&quot; aria-hidden=&quot;true&quot;&#x2F;&gt;
            &lt;img class=&quot;gallery__viewport__controls__nav-close-btn&quot; src=&quot;&#x2F;images&#x2F;close-icon.svg&quot; alt=&quot;Fermer la gallery&quot;&#x2F;&gt;
        &lt;&#x2F;div&gt;
    &lt;&#x2F;div&gt;
    &lt;ul class=&quot;gallery__selector&quot;&gt;
        
        
                
                &lt;li class=&quot;gallery__selector__item&quot;&gt;
                    &lt;button
                            class=&quot;gallery__selector__button&quot;
                            aria-expanded=&quot;false&quot;
                            aria-controls=&quot;galleryuploadtonameimage0&quot;
                            aria-label=&quot;Voir l&#x27;image &amp;quot;Des visiteurs sont devant des claviers et écrans d&amp;#x27;ordinateurs. Sur le mur du fond on peut lire le titre de l&amp;#x27;exposition, &amp;#x27;Upload ton âme&amp;#x27;, et le nom de l&amp;#x27;artiste, &amp;#x27;Pierre Tremblay-Thériault&amp;#x27;.&amp;quot;&quot;
                            type=&quot;button&quot;
                    &gt;
                        &lt;img class=&quot;gallery__selector__image&quot; src=&quot;&amp;#x2F;arts&amp;#x2F;upload-ton-ame&amp;#x2F;gallery&amp;#x2F;upload_01.jpg&quot; alt=&quot;Des visiteurs sont devant des claviers et écrans d&amp;#x27;ordinateurs. Sur le mur du fond on peut lire le titre de l&amp;#x27;exposition, &amp;#x27;Upload ton âme&amp;#x27;, et le nom de l&amp;#x27;artiste, &amp;#x27;Pierre Tremblay-Thériault&amp;#x27;.&quot;&#x2F;&gt;
                    &lt;&#x2F;button&gt;
                &lt;&#x2F;li&gt;
                
                
                &lt;li class=&quot;gallery__selector__item&quot;&gt;
                    &lt;button
                            class=&quot;gallery__selector__button&quot;
                            aria-expanded=&quot;false&quot;
                            aria-controls=&quot;galleryuploadtonameimage1&quot;
                            aria-label=&quot;Voir l&#x27;image &amp;quot;Trois écrans d&amp;#x27;ordinateurs accompagnés d&amp;#x27;un clavier. Les écrans montrent une vue de l&amp;#x27;intérieur de la salle d&amp;#x27;exposition. Divers messages sont affichés sur les écrans. Sur le mur du fond on peut lire le titre de l&amp;#x27;exposition, &amp;#x27;Upload ton âme&amp;#x27;, et le nom de l&amp;#x27;artiste, &amp;#x27;Pierre Tremblay-Thériault&amp;#x27;.&amp;quot;&quot;
                            type=&quot;button&quot;
                    &gt;
                        &lt;img class=&quot;gallery__selector__image&quot; src=&quot;&amp;#x2F;arts&amp;#x2F;upload-ton-ame&amp;#x2F;gallery&amp;#x2F;upload_02.jpg&quot; alt=&quot;Trois écrans d&amp;#x27;ordinateurs accompagnés d&amp;#x27;un clavier. Les écrans montrent une vue de l&amp;#x27;intérieur de la salle d&amp;#x27;exposition. Divers messages sont affichés sur les écrans. Sur le mur du fond on peut lire le titre de l&amp;#x27;exposition, &amp;#x27;Upload ton âme&amp;#x27;, et le nom de l&amp;#x27;artiste, &amp;#x27;Pierre Tremblay-Thériault&amp;#x27;.&quot;&#x2F;&gt;
                    &lt;&#x2F;button&gt;
                &lt;&#x2F;li&gt;
                
                
                &lt;li class=&quot;gallery__selector__item&quot;&gt;
                    &lt;button
                            class=&quot;gallery__selector__button&quot;
                            aria-expanded=&quot;false&quot;
                            aria-controls=&quot;galleryuploadtonameimage2&quot;
                            aria-label=&quot;Voir l&#x27;image &amp;quot;Des visiteurs sont devant des claviers et écrans d&amp;#x27;ordinateurs. Les écrans montrent une vue de l&amp;#x27;intérieur de la salle d&amp;#x27;exposition. Divers messages sont affichés sur les écrans. Sur le mur du fond on peut lire le titre de l&amp;#x27;exposition, &amp;#x27;Upload ton âme&amp;#x27;, et le nom de l&amp;#x27;artiste, &amp;#x27;Pierre Tremblay-Thériault&amp;#x27;&amp;quot;&quot;
                            type=&quot;button&quot;
                    &gt;
                        &lt;img class=&quot;gallery__selector__image&quot; src=&quot;&amp;#x2F;arts&amp;#x2F;upload-ton-ame&amp;#x2F;gallery&amp;#x2F;upload_03.jpg&quot; alt=&quot;Des visiteurs sont devant des claviers et écrans d&amp;#x27;ordinateurs. Les écrans montrent une vue de l&amp;#x27;intérieur de la salle d&amp;#x27;exposition. Divers messages sont affichés sur les écrans. Sur le mur du fond on peut lire le titre de l&amp;#x27;exposition, &amp;#x27;Upload ton âme&amp;#x27;, et le nom de l&amp;#x27;artiste, &amp;#x27;Pierre Tremblay-Thériault&amp;#x27;&quot;&#x2F;&gt;
                    &lt;&#x2F;button&gt;
                &lt;&#x2F;li&gt;
                
                
                &lt;li class=&quot;gallery__selector__item&quot;&gt;
                    &lt;button
                            class=&quot;gallery__selector__button&quot;
                            aria-expanded=&quot;false&quot;
                            aria-controls=&quot;galleryuploadtonameimage3&quot;
                            aria-label=&quot;Voir l&#x27;image &amp;quot;Affiche de l&amp;#x27;exposition sur un mur. L&amp;#x27;affiche montre les informations concernant l&amp;#x27;exposition ainsi qu&amp;#x27;un appercu de son contenu.&amp;quot;&quot;
                            type=&quot;button&quot;
                    &gt;
                        &lt;img class=&quot;gallery__selector__image&quot; src=&quot;&amp;#x2F;arts&amp;#x2F;upload-ton-ame&amp;#x2F;gallery&amp;#x2F;upload_04.jpg&quot; alt=&quot;Affiche de l&amp;#x27;exposition sur un mur. L&amp;#x27;affiche montre les informations concernant l&amp;#x27;exposition ainsi qu&amp;#x27;un appercu de son contenu.&quot;&#x2F;&gt;
                    &lt;&#x2F;button&gt;
                &lt;&#x2F;li&gt;
                
                
                &lt;li class=&quot;gallery__selector__item&quot;&gt;
                    &lt;button
                            class=&quot;gallery__selector__button&quot;
                            aria-expanded=&quot;false&quot;
                            aria-controls=&quot;galleryuploadtonameimage4&quot;
                            aria-label=&quot;Voir l&#x27;image &amp;quot;Sur le mur du fond on peut lire le titre de l&amp;#x27;exposition, &amp;#x27;Upload ton âme&amp;#x27;, et le nom de l&amp;#x27;artiste, &amp;#x27;Pierre Tremblay-Thériault&amp;#x27;.&amp;quot;&quot;
                            type=&quot;button&quot;
                    &gt;
                        &lt;img class=&quot;gallery__selector__image&quot; src=&quot;&amp;#x2F;arts&amp;#x2F;upload-ton-ame&amp;#x2F;gallery&amp;#x2F;upload_05.jpg&quot; alt=&quot;Sur le mur du fond on peut lire le titre de l&amp;#x27;exposition, &amp;#x27;Upload ton âme&amp;#x27;, et le nom de l&amp;#x27;artiste, &amp;#x27;Pierre Tremblay-Thériault&amp;#x27;.&quot;&#x2F;&gt;
                    &lt;&#x2F;button&gt;
                &lt;&#x2F;li&gt;
                
                
                &lt;li class=&quot;gallery__selector__item&quot;&gt;
                    &lt;button
                            class=&quot;gallery__selector__button&quot;
                            aria-expanded=&quot;false&quot;
                            aria-controls=&quot;galleryuploadtonameimage5&quot;
                            aria-label=&quot;Voir l&#x27;image &amp;quot;Vue intérieur de la maquette. Huit sculptures, des impressions 3D d&amp;#x27;un mannequin de dessin tenant un verre de vin à la main. Leur tête sont remplacées par un écran.&amp;quot;&quot;
                            type=&quot;button&quot;
                    &gt;
                        &lt;img class=&quot;gallery__selector__image&quot; src=&quot;&amp;#x2F;arts&amp;#x2F;upload-ton-ame&amp;#x2F;gallery&amp;#x2F;upload_06.jpg&quot; alt=&quot;Vue intérieur de la maquette. Huit sculptures, des impressions 3D d&amp;#x27;un mannequin de dessin tenant un verre de vin à la main. Leur tête sont remplacées par un écran.&quot;&#x2F;&gt;
                    &lt;&#x2F;button&gt;
                &lt;&#x2F;li&gt;
                
                
                &lt;li class=&quot;gallery__selector__item&quot;&gt;
                    &lt;button
                            class=&quot;gallery__selector__button&quot;
                            aria-expanded=&quot;false&quot;
                            aria-controls=&quot;galleryuploadtonameimage6&quot;
                            aria-label=&quot;Voir l&#x27;image &amp;quot;Sculpture, une impression 3D d&amp;#x27;un mannequin de dessin tenant un verre de vin à la main. Sa tête est remplacée par un écran. Sur l&amp;#x27;écran on peut lire &amp;#x27;check bin ca l,art&amp;#x27;&amp;quot;&quot;
                            type=&quot;button&quot;
                    &gt;
                        &lt;img class=&quot;gallery__selector__image&quot; src=&quot;&amp;#x2F;arts&amp;#x2F;upload-ton-ame&amp;#x2F;gallery&amp;#x2F;upload_07.jpg&quot; alt=&quot;Sculpture, une impression 3D d&amp;#x27;un mannequin de dessin tenant un verre de vin à la main. Sa tête est remplacée par un écran. Sur l&amp;#x27;écran on peut lire &amp;#x27;check bin ca l,art&amp;#x27;&quot;&#x2F;&gt;
                    &lt;&#x2F;button&gt;
                &lt;&#x2F;li&gt;
                
                
                &lt;li class=&quot;gallery__selector__item&quot;&gt;
                    &lt;button
                            class=&quot;gallery__selector__button&quot;
                            aria-expanded=&quot;false&quot;
                            aria-controls=&quot;galleryuploadtonameimage7&quot;
                            aria-label=&quot;Voir l&#x27;image &amp;quot;Vue intérieur de la maquette. Quatre sculptures, des impressions 3D d&amp;#x27;un mannequin de dessin tenant un verre de vin à la main. Leur tête sont remplacées par un écran.&amp;quot;&quot;
                            type=&quot;button&quot;
                    &gt;
                        &lt;img class=&quot;gallery__selector__image&quot; src=&quot;&amp;#x2F;arts&amp;#x2F;upload-ton-ame&amp;#x2F;gallery&amp;#x2F;upload_08.jpg&quot; alt=&quot;Vue intérieur de la maquette. Quatre sculptures, des impressions 3D d&amp;#x27;un mannequin de dessin tenant un verre de vin à la main. Leur tête sont remplacées par un écran.&quot;&#x2F;&gt;
                    &lt;&#x2F;button&gt;
                &lt;&#x2F;li&gt;
                
                
                &lt;li class=&quot;gallery__selector__item&quot;&gt;
                    &lt;button
                            class=&quot;gallery__selector__button&quot;
                            aria-expanded=&quot;false&quot;
                            aria-controls=&quot;galleryuploadtonameimage8&quot;
                            aria-label=&quot;Voir l&#x27;image &amp;quot;Vue intérieur de la maquette. Huit sculptures, des impressions 3D d&amp;#x27;un mannequin de dessin tenant un verre de vin à la main. Leur tête sont remplacées par un écran.&amp;quot;&quot;
                            type=&quot;button&quot;
                    &gt;
                        &lt;img class=&quot;gallery__selector__image&quot; src=&quot;&amp;#x2F;arts&amp;#x2F;upload-ton-ame&amp;#x2F;gallery&amp;#x2F;upload_09.jpg&quot; alt=&quot;Vue intérieur de la maquette. Huit sculptures, des impressions 3D d&amp;#x27;un mannequin de dessin tenant un verre de vin à la main. Leur tête sont remplacées par un écran.&quot;&#x2F;&gt;
                    &lt;&#x2F;button&gt;
                &lt;&#x2F;li&gt;
                
                
                &lt;li class=&quot;gallery__selector__item&quot;&gt;
                    &lt;button
                            class=&quot;gallery__selector__button&quot;
                            aria-expanded=&quot;false&quot;
                            aria-controls=&quot;galleryuploadtonameimage9&quot;
                            aria-label=&quot;Voir l&#x27;image &amp;quot;Sculpture, une impression 3D d&amp;#x27;un mannequin de dessin tenant un verre de vin à la main. Sa tête est remplacée par un écran. Sur l&amp;#x27;écran on peut lire &amp;#x27;moii je peux remettre mon bras&amp;#x27;&amp;quot;&quot;
                            type=&quot;button&quot;
                    &gt;
                        &lt;img class=&quot;gallery__selector__image&quot; src=&quot;&amp;#x2F;arts&amp;#x2F;upload-ton-ame&amp;#x2F;gallery&amp;#x2F;upload_10.jpg&quot; alt=&quot;Sculpture, une impression 3D d&amp;#x27;un mannequin de dessin tenant un verre de vin à la main. Sa tête est remplacée par un écran. Sur l&amp;#x27;écran on peut lire &amp;#x27;moii je peux remettre mon bras&amp;#x27;&quot;&#x2F;&gt;
                    &lt;&#x2F;button&gt;
                &lt;&#x2F;li&gt;
                
                
                &lt;li class=&quot;gallery__selector__item&quot;&gt;
                    &lt;button
                            class=&quot;gallery__selector__button&quot;
                            aria-expanded=&quot;false&quot;
                            aria-controls=&quot;galleryuploadtonameimage10&quot;
                            aria-label=&quot;Voir l&#x27;image &amp;quot;Vue intérieur de la maquette. Quatre sculptures, des impressions 3D d&amp;#x27;un mannequin de dessin tenant un verre de vin à la main. Leur tête sont remplacées par un écran.&amp;quot;&quot;
                            type=&quot;button&quot;
                    &gt;
                        &lt;img class=&quot;gallery__selector__image&quot; src=&quot;&amp;#x2F;arts&amp;#x2F;upload-ton-ame&amp;#x2F;gallery&amp;#x2F;upload_11.jpg&quot; alt=&quot;Vue intérieur de la maquette. Quatre sculptures, des impressions 3D d&amp;#x27;un mannequin de dessin tenant un verre de vin à la main. Leur tête sont remplacées par un écran.&quot;&#x2F;&gt;
                    &lt;&#x2F;button&gt;
                &lt;&#x2F;li&gt;
                
                
                &lt;li class=&quot;gallery__selector__item&quot;&gt;
                    &lt;button
                            class=&quot;gallery__selector__button&quot;
                            aria-expanded=&quot;false&quot;
                            aria-controls=&quot;galleryuploadtonameimage11&quot;
                            aria-label=&quot;Voir l&#x27;image &amp;quot;Sculpture vu de dos, une impression 3D d&amp;#x27;un mannequin de dessin tenant un verre de vin à la main. Sa tête est remplacée par un écran. On ne voit pas sur ce qu&amp;#x27;il ya sur l&amp;#x27;écran.&amp;quot;&quot;
                            type=&quot;button&quot;
                    &gt;
                        &lt;img class=&quot;gallery__selector__image&quot; src=&quot;&amp;#x2F;arts&amp;#x2F;upload-ton-ame&amp;#x2F;gallery&amp;#x2F;upload_12.jpg&quot; alt=&quot;Sculpture vu de dos, une impression 3D d&amp;#x27;un mannequin de dessin tenant un verre de vin à la main. Sa tête est remplacée par un écran. On ne voit pas sur ce qu&amp;#x27;il ya sur l&amp;#x27;écran.&quot;&#x2F;&gt;
                    &lt;&#x2F;button&gt;
                &lt;&#x2F;li&gt;
                
                
                &lt;li class=&quot;gallery__selector__item&quot;&gt;
                    &lt;button
                            class=&quot;gallery__selector__button&quot;
                            aria-expanded=&quot;false&quot;
                            aria-controls=&quot;galleryuploadtonameimage12&quot;
                            aria-label=&quot;Voir l&#x27;image &amp;quot;Vue intérieur de la maquette. Trois sculptures, des impressions 3D d&amp;#x27;un mannequin de dessin tenant un verre de vin à la main. Leur tête sont remplacées par un écran.&amp;quot;&quot;
                            type=&quot;button&quot;
                    &gt;
                        &lt;img class=&quot;gallery__selector__image&quot; src=&quot;&amp;#x2F;arts&amp;#x2F;upload-ton-ame&amp;#x2F;gallery&amp;#x2F;upload_13.jpg&quot; alt=&quot;Vue intérieur de la maquette. Trois sculptures, des impressions 3D d&amp;#x27;un mannequin de dessin tenant un verre de vin à la main. Leur tête sont remplacées par un écran.&quot;&#x2F;&gt;
                    &lt;&#x2F;button&gt;
                &lt;&#x2F;li&gt;
                
                
                &lt;li class=&quot;gallery__selector__item&quot;&gt;
                    &lt;button
                            class=&quot;gallery__selector__button&quot;
                            aria-expanded=&quot;false&quot;
                            aria-controls=&quot;galleryuploadtonameimage13&quot;
                            aria-label=&quot;Voir l&#x27;image &amp;quot;Vue intérieur de la maquette. Neuf sculptures, des impressions 3D d&amp;#x27;un mannequin de dessin tenant un verre de vin à la main. Leur tête sont remplacées par un écran.&amp;quot;&quot;
                            type=&quot;button&quot;
                    &gt;
                        &lt;img class=&quot;gallery__selector__image&quot; src=&quot;&amp;#x2F;arts&amp;#x2F;upload-ton-ame&amp;#x2F;gallery&amp;#x2F;upload_14.jpg&quot; alt=&quot;Vue intérieur de la maquette. Neuf sculptures, des impressions 3D d&amp;#x27;un mannequin de dessin tenant un verre de vin à la main. Leur tête sont remplacées par un écran.&quot;&#x2F;&gt;
                    &lt;&#x2F;button&gt;
                &lt;&#x2F;li&gt;
                
                
                &lt;li class=&quot;gallery__selector__item&quot;&gt;
                    &lt;button
                            class=&quot;gallery__selector__button&quot;
                            aria-expanded=&quot;false&quot;
                            aria-controls=&quot;galleryuploadtonameimage14&quot;
                            aria-label=&quot;Voir l&#x27;image &amp;quot;Sculpture, une impression 3D d&amp;#x27;un mannequin de dessin tenant un verre de vin à la main. Sa tête est remplacée par un écran. Sur l&amp;#x27;écran on peut lire &amp;#x27;check bin ca l,art&amp;#x27;&amp;quot;&quot;
                            type=&quot;button&quot;
                    &gt;
                        &lt;img class=&quot;gallery__selector__image&quot; src=&quot;&amp;#x2F;arts&amp;#x2F;upload-ton-ame&amp;#x2F;gallery&amp;#x2F;upload_15.jpg&quot; alt=&quot;Sculpture, une impression 3D d&amp;#x27;un mannequin de dessin tenant un verre de vin à la main. Sa tête est remplacée par un écran. Sur l&amp;#x27;écran on peut lire &amp;#x27;check bin ca l,art&amp;#x27;&quot;&#x2F;&gt;
                    &lt;&#x2F;button&gt;
                &lt;&#x2F;li&gt;
                
                
                &lt;li class=&quot;gallery__selector__item&quot;&gt;
                    &lt;button
                            class=&quot;gallery__selector__button&quot;
                            aria-expanded=&quot;false&quot;
                            aria-controls=&quot;galleryuploadtonameimage15&quot;
                            aria-label=&quot;Voir l&#x27;image &amp;quot;Vue intérieur de la maquette. Deux sculptures, des impressions 3D d&amp;#x27;un mannequin de dessin tenant un verre de vin à la main. Leur tête sont remplacées par un écran.&amp;quot;&quot;
                            type=&quot;button&quot;
                    &gt;
                        &lt;img class=&quot;gallery__selector__image&quot; src=&quot;&amp;#x2F;arts&amp;#x2F;upload-ton-ame&amp;#x2F;gallery&amp;#x2F;upload_16.jpg&quot; alt=&quot;Vue intérieur de la maquette. Deux sculptures, des impressions 3D d&amp;#x27;un mannequin de dessin tenant un verre de vin à la main. Leur tête sont remplacées par un écran.&quot;&#x2F;&gt;
                    &lt;&#x2F;button&gt;
                &lt;&#x2F;li&gt;
                
                
                &lt;li class=&quot;gallery__selector__item&quot;&gt;
                    &lt;button
                            class=&quot;gallery__selector__button&quot;
                            aria-expanded=&quot;false&quot;
                            aria-controls=&quot;galleryuploadtonameimage16&quot;
                            aria-label=&quot;Voir l&#x27;image &amp;quot;Sculpture vu de dos, une impression 3D d&amp;#x27;un mannequin de dessin tenant un verre de vin à la main. Sa tête est remplacée par un écran. On ne voit pas sur ce qu&amp;#x27;il ya sur l&amp;#x27;écran.&amp;quot;&quot;
                            type=&quot;button&quot;
                    &gt;
                        &lt;img class=&quot;gallery__selector__image&quot; src=&quot;&amp;#x2F;arts&amp;#x2F;upload-ton-ame&amp;#x2F;gallery&amp;#x2F;upload_17.jpg&quot; alt=&quot;Sculpture vu de dos, une impression 3D d&amp;#x27;un mannequin de dessin tenant un verre de vin à la main. Sa tête est remplacée par un écran. On ne voit pas sur ce qu&amp;#x27;il ya sur l&amp;#x27;écran.&quot;&#x2F;&gt;
                    &lt;&#x2F;button&gt;
                &lt;&#x2F;li&gt;
                
    &lt;&#x2F;ul&gt;
&lt;&#x2F;div&gt;
&lt;script&gt;
    &#x2F;&#x2F; Define
    &#x2F;&#x2F; function hideDisplayedImage(galleryId, image)
    if (typeof globalThis.hideDisplayedImage === &quot;undefined&quot;) {
        globalThis.hideDisplayedImage = function(galleryId, image) {
            const fullscreenImageContainer = document.querySelector(&quot;#&quot; + galleryId + &quot; .gallery__viewport&quot;);
            fullscreenImageContainer.classList.remove(&quot;gallery__viewport--display&quot;);
            image.classList.remove(&quot;gallery__viewport__image--display&quot;);
            const selector = &#x27;[aria-controls=&quot;&#x27; + image.getAttribute(&quot;id&quot;) + &#x27;&quot;]&#x27;
            const controlsButton = document.querySelector(selector);
            controlsButton.setAttribute(&quot;aria-expanded&quot;, &quot;false&quot;);
        }
    }

    &#x2F;&#x2F; Define
    &#x2F;&#x2F; function displayImageWithButton(galleryId, button)
    if (typeof globalThis.displayImageWithButton === &quot;undefined&quot;) {
        globalThis.displayImageWithButton = function(galleryId, button) {
            button.focus();
            const fullscreenImageContainer = document.querySelector(&quot;#&quot; + galleryId + &quot; .gallery__viewport&quot;);
            fullscreenImageContainer.classList.add(&quot;gallery__viewport--display&quot;);
            const ariaControlsId = button.getAttribute(&quot;aria-controls&quot;);
            const controlledElement = document.getElementById(ariaControlsId);
            controlledElement.classList.add(&quot;gallery__viewport__image--display&quot;);
            button.setAttribute(&quot;aria-expanded&quot;, &quot;true&quot;);
        }
    }

    &#x2F;&#x2F; Define
    &#x2F;&#x2F; function displayImageWithControlledElement(galleryId, button)
    if (typeof globalThis.displayImageWithControlledElement === &quot;undefined&quot;) {
        globalThis.displayImageWithControlledElement = function(galleryId, controlledElement) {
            const selector = &#x27;[aria-controls=&quot;&#x27; + controlledElement.getAttribute(&quot;id&quot;) + &#x27;&quot;]&#x27;
            const controlsButton = document.querySelector(selector);
            displayImageWithButton(galleryId, controlsButton);
        }
    }

    &#x2F;&#x2F; Define
    &#x2F;&#x2F; function checkSwipeDirection(touchstartX, touchendX)
    if (typeof globalThis.checkSwipeDirection === &quot;undefined&quot;) {
        globalThis.checkSwipeDirection =  function(touchstartX, touchendX) {
            if (touchendX &lt; touchstartX) {
                return &quot;left&quot;;
            } else if (touchendX &gt; touchstartX) {
                return &quot;right&quot;;
            } else {
                return &quot;&quot;;
            }
        }
    }

    &#x2F;&#x2F; Define
    &#x2F;&#x2F; function displayNextImage()
    if (typeof globalThis.displayNextImage === &quot;undefined&quot;) {
        globalThis.displayNextImage = function() {
            const controlledElement = document.getElementsByClassName(&quot;gallery__viewport__image--display&quot;)[0];
            if (controlledElement !== undefined) {
                hideDisplayedImage(&quot;galleryuploadtoname&quot;, controlledElement);

                let newControlledElement = controlledElement.nextElementSibling;
                if (newControlledElement === null) {
                    newControlledElement = controlledElement.parentElement.firstElementChild;
                }

                if (newControlledElement !== null &amp;&amp; newControlledElement !== undefined) {
                    displayImageWithControlledElement(&quot;galleryuploadtoname&quot;, newControlledElement);
                }
            }
        }
    }

    &#x2F;&#x2F; Define
    &#x2F;&#x2F; function displayPreviousImage()
    if (typeof globalThis.displayPreviousImage === &quot;undefined&quot;) {
        globalThis.displayPreviousImage = function () {
            const controlledElement = document.getElementsByClassName(&quot;gallery__viewport__image--display&quot;)[0];
            if (controlledElement !== undefined) {
                hideDisplayedImage(&quot;galleryuploadtoname&quot;, controlledElement);

                let newControlledElement = controlledElement.previousElementSibling;
                if (newControlledElement === null) {
                    newControlledElement = controlledElement.parentElement.lastElementChild;
                }

                if (newControlledElement !== null &amp;&amp; newControlledElement !== undefined) {
                    displayImageWithControlledElement(&quot;galleryuploadtoname&quot;, newControlledElement);
                }
            }
        }
    }

    &#x2F;&#x2F; Init
    &#x2F;&#x2F; Gallery Buttons
    const galleryButtonsgalleryuploadtoname = document.querySelectorAll(&quot;#galleryuploadtoname .gallery__selector__button&quot;);
    for (let i = 0; i &lt; galleryButtonsgalleryuploadtoname.length; i++) {

        &#x2F;&#x2F; Click
        galleryButtonsgalleryuploadtoname[i].addEventListener(&quot;click&quot;, function(event) {
            displayImageWithButton(&quot;galleryuploadtoname&quot;, this);
        });

        &#x2F;&#x2F; Focus In
        galleryButtonsgalleryuploadtoname[i].addEventListener(&#x27;focusin&#x27;, function(event) {
            const previousFocusableItem = event.relatedTarget;
            const displayedImages = document.getElementsByClassName(&quot;gallery__viewport__image--display&quot;);
            if (
                (previousFocusableItem === null || !previousFocusableItem.classList.contains(&quot;gallery__selector__button&quot;))
                &amp;&amp; displayedImages.length &gt; 0
            ) {
                &#x2F;&#x2F; Hide all displayed images
                const displayedImages = document.getElementsByClassName(&quot;gallery__viewport__image--display&quot;);
                if (displayedImages.length &gt; 0) {
                    for (let i = 0; i &lt; displayedImages.length; i++) {
                        hideDisplayedImage(&quot;galleryuploadtoname&quot;, displayedImages[i]);
                    }
                }
                displayImageWithButton(&quot;galleryuploadtoname&quot;, this);
            }
        });

        &#x2F;&#x2F; Focus Out
        galleryButtonsgalleryuploadtoname[i].addEventListener(&#x27;focusout&#x27;, function(event) {
            &#x2F;&#x2F; Prevent focus out actions if it&#x27;s a click on a gallery viewport element.
            const eventOriginClassList = event.explicitOriginalTarget.classList;
            if (
                eventOriginClassList.contains(&quot;gallery__viewport__image&quot;)
                || eventOriginClassList.contains(&quot;gallery__viewport__controls&quot;)
                || eventOriginClassList.contains(&quot;gallery__viewport__controls__nav-button&quot;)
                || eventOriginClassList.contains(&quot;gallery__viewport__controls__nav-close-btn&quot;)
                || eventOriginClassList.contains(&quot;gallery__viewport&quot;)
            ) {
                return;
            }

            &#x2F;&#x2F; Hide all displayed images
            const displayedImages = document.getElementsByClassName(&quot;gallery__viewport__image--display&quot;);
            if (displayedImages.length &gt; 0) {
                for (let i = 0; i &lt; displayedImages.length; i++) {
                    hideDisplayedImage(&quot;galleryuploadtoname&quot;, displayedImages[i]);
                }
                const nextFocusableItem = event.relatedTarget;
                if (nextFocusableItem != null &amp;&amp; nextFocusableItem.classList.contains(&quot;gallery__selector__button&quot;)) {
                    displayImageWithButton(&quot;galleryuploadtoname&quot;, nextFocusableItem);
                }
            }
        });
    }

    &#x2F;&#x2F; Previous Button
    &#x2F;&#x2F; Click
    const previousImageButtongalleryuploadtoname = document.querySelector(&quot;#galleryuploadtoname .gallery__viewport__controls__nav-button--left&quot;);
    previousImageButtongalleryuploadtoname.addEventListener(&#x27;click&#x27;, function(event) {
        displayPreviousImage();
    });

    &#x2F;&#x2F; Next Button
    &#x2F;&#x2F; Click
    const nextImageButtongalleryuploadtoname = document.querySelector(&quot;#galleryuploadtoname .gallery__viewport__controls__nav-button--right&quot;);
    nextImageButtongalleryuploadtoname.addEventListener(&#x27;click&#x27;, function(event) {
        displayNextImage();
    });

    &#x2F;&#x2F; Close Button
    &#x2F;&#x2F; Click
    const closeImageButtongalleryuploadtoname = document.querySelector(&quot;#galleryuploadtoname .gallery__viewport__controls__nav-close-btn&quot;);
    closeImageButtongalleryuploadtoname.addEventListener(&#x27;click&#x27;, function(event) {
        const controlledElement = document.getElementsByClassName(&quot;gallery__viewport__image--display&quot;)[0];
        if (controlledElement !== undefined) {
            hideDisplayedImage(&quot;galleryuploadtoname&quot;, controlledElement);
        }
    });

    &#x2F;&#x2F; Keyboard Controls
    document.addEventListener(&#x27;keydown&#x27;, (event) =&gt; {
        const controlledElement = document.getElementsByClassName(&quot;gallery__viewport__image--display&quot;)[0];
        if (controlledElement !== undefined) {

            &#x2F;&#x2F; Hide image
            &#x2F;&#x2F; ESC, LEFT, RIGHT
            if (event.code === &#x27;Escape&#x27; || event.code === &#x27;ArrowLeft&#x27; || event.code === &#x27;ArrowRight&#x27;) {
                hideDisplayedImage(&quot;galleryuploadtoname&quot;, controlledElement);
            }

            let newControlledElement;

            &#x2F;&#x2F; Select new controlled element(image)
            &#x2F;&#x2F; LEFT
            if (event.code === &#x27;ArrowLeft&#x27;) {
                newControlledElement = controlledElement.previousElementSibling;
                if (newControlledElement === null) {
                    newControlledElement = controlledElement.parentElement.lastElementChild;
                }
            }
            &#x2F;&#x2F; RIGHT
            if (event.code === &#x27;ArrowRight&#x27;) {
                newControlledElement = controlledElement.nextElementSibling;
                if (newControlledElement === null) {
                    newControlledElement = controlledElement.parentElement.firstElementChild;
                }
            }

            &#x2F;&#x2F; Active button and display image
            if (newControlledElement !== null &amp;&amp; newControlledElement !== undefined) {
                displayImageWithControlledElement(&quot;galleryuploadtoname&quot;, newControlledElement);
            }
        }
    })

    &#x2F;&#x2F; Touch Gesture
    let touchstartXgalleryuploadtoname = 0;
    let touchendXgalleryuploadtoname = 0;

    const galleryViewportgalleryuploadtoname = document.getElementsByClassName(&quot;gallery__viewport&quot;)[0];
    if (galleryViewportgalleryuploadtoname !== undefined) {

        galleryViewportgalleryuploadtoname.addEventListener(&#x27;touchstart&#x27;, function(event) {
            touchstartXgalleryuploadtoname = event.changedTouches[0].screenX
        });

        galleryViewportgalleryuploadtoname.addEventListener(&#x27;touchend&#x27;, function(event) {
            touchendXgalleryuploadtoname = event.changedTouches[0].screenX
            const direction = checkSwipeDirection(touchstartXgalleryuploadtoname, touchendXgalleryuploadtoname);
            if (direction === &quot;left&quot;) {
                displayPreviousImage();
            } else if (direction === &quot;right&quot;) {
                displayNextImage();
            }
        });

        galleryViewportgalleryuploadtoname.addEventListner(&#x27;touchmove&#x27;, function(event) {
            event.preventDefault();
            event.stopPropagation();
        });
    }
&lt;&#x2F;script&gt;</content>
        
    </entry>
    <entry xml:lang="fr">
        <title>Binôme 01, 02, 03</title>
        <published>2012-01-01T00:00:00+00:00</published>
        <updated>2012-01-01T00:00:00+00:00</updated>
        
        <author>
          <name>
            
              Pierre Tremblay-Thériault
            
          </name>
        </author>
        
        <link rel="alternate" type="text/html" href="https://lapinchatware.ca/arts/binome-01-02-03/"/>
        <id>https://lapinchatware.ca/arts/binome-01-02-03/</id>
        
        <content type="html" xml:base="https://lapinchatware.ca/arts/binome-01-02-03/">&lt;h2 id=&quot;binome-01&quot;&gt;Binôme 01&lt;&#x2F;h2&gt;
&lt;p&gt;La troisième étape de recherche de la Chaire de recherche Pour une dramaturgie sonore, Binôme 01 porte sur l’exploration du duo. L’équipe, sous la supervision de Jean-Paul Quéinnec, se lance dans différentes thématiques afin d’explorer plusieurs formes de dramaturgie sonore.&lt;&#x2F;p&gt;
&lt;p&gt;Chercheurs : Julie Bernier, Luis F. Ortega Gil, Andrée-Anne Giguère, Elaine Juteau, Martin Lavertu, Sara Létourneau, Anick Martel, Guillaume Thibert et Pierre Tremblay-Thériault.&lt;&#x2F;p&gt;
&lt;p&gt;Directeur de recherche : Jean-Paul Quéinnec&lt;&#x2F;p&gt;
&lt;p&gt;Éclairages: Alexandre Nadeau&lt;&#x2F;p&gt;
&lt;p&gt;Formation en improvisation vocale avec Philippe Lambert ainsi que formation en performance et objets sonores André Éric Létourneau&lt;&#x2F;p&gt;
&lt;p&gt;Consultants : Constanza Camelo, Dario Larouche et André Éric Létourneau&lt;&#x2F;p&gt;
&lt;p&gt;Assistante de l’étape : Anaïs Plasse&lt;&#x2F;p&gt;
&lt;p&gt;Archives photos et vidéos : Anaïs Plasse &lt;br &#x2F;&gt;
Archives vidéos : Anaïs Plasse et Alexandre Rufin&lt;&#x2F;p&gt;
&lt;h2 id=&quot;binome-02&quot;&gt;Binôme 02&lt;&#x2F;h2&gt;
&lt;p&gt;Binôme 02 est la quatrième étape de recherche de la Chaire en dramaturgie sonore. Dans la poursuite des recherches entamées avec Binôme 01, les duos continuent leurs explorations sous la supervision de Jean-Paul Quéinnec.&lt;&#x2F;p&gt;
&lt;p&gt;Chercheurs : Julie Bernier, Luis F. Ortega Gil, Andrée-Anne Giguère, Elaine Juteau, Martin Lavertu, Sara Létourneau, Anick Martel, Guillaume Thibert et Pierre Tremblay-Thériault.&lt;&#x2F;p&gt;
&lt;p&gt;Directeur de recherche : Jean-Paul Quéinnec&lt;&#x2F;p&gt;
&lt;p&gt;Scénographie : Chantale Boulianne&lt;&#x2F;p&gt;
&lt;p&gt;Éclairage : Alexandre Nadeau&lt;&#x2F;p&gt;
&lt;p&gt;Assistantes aux archives : Alizée Tallaron et Shannon Williamsom&lt;&#x2F;p&gt;
&lt;p&gt;Archives photos : Gabriel Fortin, Alizée Tallaron et Shannon Williamson &lt;br &#x2F;&gt;
Archives vidéos : Alexandre Rufin, Alizée Tallaron et Shanon Williamson&lt;&#x2F;p&gt;
&lt;h2 id=&quot;binome-03&quot;&gt;Binôme 03&lt;&#x2F;h2&gt;
&lt;p&gt;L’équipe: &lt;br &#x2F;&gt;
Andrée-Anne Giguère &lt;br &#x2F;&gt;
Elaine Juteau &lt;br &#x2F;&gt;
Jean-Paul Quéinnec &lt;br &#x2F;&gt;
Guillaume Thibert &lt;br &#x2F;&gt;
Pierre Tremblay-Thériault&lt;&#x2F;p&gt;
&lt;p&gt;Présentée dans le cadre du colloque international sur le son: Le son du théâtre &lt;br &#x2F;&gt;
À l’université de Montréal, organisé par le CRI et l’ARIAS du 21 au 25 novembre 2012.&lt;&#x2F;p&gt;
&lt;p&gt;Suite à des pistes traversées dans Binômes 01 et 02, l’équipe se lance dans l’exploration de la thématique de la latence à partir de trois axes ; le son, le corps et le texte (Extrait de Revif pour ma soeur Ginette de Jean-Paul Quéinnec).&lt;&#x2F;p&gt;
&lt;div style=&quot;padding:56.25% 0 0 0;position:relative;&quot;&gt;
    &lt;iframe
            src=&quot;https:&#x2F;&#x2F;player.vimeo.com&#x2F;video&#x2F;47674789?h=4250ca05b2&amp;title=0&amp;byline=0&amp;portrait=0&quot;
            style=&quot;position:absolute;top:0;left:0;width:100%;height:100%;&quot;
            frameborder=&quot;0&quot;
            allow=&quot;autoplay; fullscreen; picture-in-picture&quot;
            allowfullscreen
    &gt;&lt;&#x2F;iframe&gt;
&lt;&#x2F;div&gt;
&lt;script src=&quot;https:&#x2F;&#x2F;player.vimeo.com&#x2F;api&#x2F;player.js&quot;&gt;&lt;&#x2F;script&gt;&lt;div style=&quot;padding:56.25% 0 0 0;position:relative;&quot;&gt;
    &lt;iframe
            src=&quot;https:&#x2F;&#x2F;player.vimeo.com&#x2F;video&#x2F;163115484?h=4250ca05b2&amp;title=0&amp;byline=0&amp;portrait=0&quot;
            style=&quot;position:absolute;top:0;left:0;width:100%;height:100%;&quot;
            frameborder=&quot;0&quot;
            allow=&quot;autoplay; fullscreen; picture-in-picture&quot;
            allowfullscreen
    &gt;&lt;&#x2F;iframe&gt;
&lt;&#x2F;div&gt;
&lt;script src=&quot;https:&#x2F;&#x2F;player.vimeo.com&#x2F;api&#x2F;player.js&quot;&gt;&lt;&#x2F;script&gt;&lt;div id=&quot;gallerybinomes&quot; class=&quot;gallery&quot;&gt;
    
    &lt;div class=&quot;gallery__viewport&quot;&gt;
        &lt;div class=&quot;gallery__viewport__images&quot;&gt;
            
            
                    
                    &lt;img id=&quot;gallerybinomesimage0&quot; class=&quot;gallery__viewport__image&quot; src=&quot;&amp;#x2F;arts&amp;#x2F;binome-01-02-03&amp;#x2F;gallery&amp;#x2F;binomes01_01.jpg&quot; alt=&quot;Photo d&amp;#x27;archive de performance: Binôme 01&quot;&#x2F;&gt;
                    
                    
                    &lt;img id=&quot;gallerybinomesimage1&quot; class=&quot;gallery__viewport__image&quot; src=&quot;&amp;#x2F;arts&amp;#x2F;binome-01-02-03&amp;#x2F;gallery&amp;#x2F;binomes01_02.jpg&quot; alt=&quot;Photo d&amp;#x27;archive de performance: Binôme 01&quot;&#x2F;&gt;
                    
                    
                    &lt;img id=&quot;gallerybinomesimage2&quot; class=&quot;gallery__viewport__image&quot; src=&quot;&amp;#x2F;arts&amp;#x2F;binome-01-02-03&amp;#x2F;gallery&amp;#x2F;binomes01_03.jpg&quot; alt=&quot;Photo d&amp;#x27;archive de performance: Binôme 01&quot;&#x2F;&gt;
                    
                    
                    &lt;img id=&quot;gallerybinomesimage3&quot; class=&quot;gallery__viewport__image&quot; src=&quot;&amp;#x2F;arts&amp;#x2F;binome-01-02-03&amp;#x2F;gallery&amp;#x2F;binomes01_04.jpg&quot; alt=&quot;Photo d&amp;#x27;archive de performance: Binôme 01&quot;&#x2F;&gt;
                    
                    
                    &lt;img id=&quot;gallerybinomesimage4&quot; class=&quot;gallery__viewport__image&quot; src=&quot;&amp;#x2F;arts&amp;#x2F;binome-01-02-03&amp;#x2F;gallery&amp;#x2F;binomes01_05.jpg&quot; alt=&quot;Photo d&amp;#x27;archive de performance: Binôme 01&quot;&#x2F;&gt;
                    
                    
                    &lt;img id=&quot;gallerybinomesimage5&quot; class=&quot;gallery__viewport__image&quot; src=&quot;&amp;#x2F;arts&amp;#x2F;binome-01-02-03&amp;#x2F;gallery&amp;#x2F;binomes01_06.jpg&quot; alt=&quot;Photo d&amp;#x27;archive de performance: Binôme 01&quot;&#x2F;&gt;
                    
                    
                    &lt;img id=&quot;gallerybinomesimage6&quot; class=&quot;gallery__viewport__image&quot; src=&quot;&amp;#x2F;arts&amp;#x2F;binome-01-02-03&amp;#x2F;gallery&amp;#x2F;binomes01_07.jpg&quot; alt=&quot;Photo d&amp;#x27;archive de performance: Binôme 01&quot;&#x2F;&gt;
                    
                    
                    &lt;img id=&quot;gallerybinomesimage7&quot; class=&quot;gallery__viewport__image&quot; src=&quot;&amp;#x2F;arts&amp;#x2F;binome-01-02-03&amp;#x2F;gallery&amp;#x2F;binomes01_08.jpg&quot; alt=&quot;Photo d&amp;#x27;archive de performance: Binôme 01&quot;&#x2F;&gt;
                    
                    
                    &lt;img id=&quot;gallerybinomesimage8&quot; class=&quot;gallery__viewport__image&quot; src=&quot;&amp;#x2F;arts&amp;#x2F;binome-01-02-03&amp;#x2F;gallery&amp;#x2F;binomes01_09.jpg&quot; alt=&quot;Photo d&amp;#x27;archive de performance: Binôme 01&quot;&#x2F;&gt;
                    
                    
                    &lt;img id=&quot;gallerybinomesimage9&quot; class=&quot;gallery__viewport__image&quot; src=&quot;&amp;#x2F;arts&amp;#x2F;binome-01-02-03&amp;#x2F;gallery&amp;#x2F;binomes01_10.jpg&quot; alt=&quot;Photo d&amp;#x27;archive de performance: Binôme 01&quot;&#x2F;&gt;
                    
                    
                    &lt;img id=&quot;gallerybinomesimage10&quot; class=&quot;gallery__viewport__image&quot; src=&quot;&amp;#x2F;arts&amp;#x2F;binome-01-02-03&amp;#x2F;gallery&amp;#x2F;binomes02_01.jpg&quot; alt=&quot;Photo d&amp;#x27;archive de performance: Binôme 02&quot;&#x2F;&gt;
                    
                    
                    &lt;img id=&quot;gallerybinomesimage11&quot; class=&quot;gallery__viewport__image&quot; src=&quot;&amp;#x2F;arts&amp;#x2F;binome-01-02-03&amp;#x2F;gallery&amp;#x2F;binomes02_02.jpg&quot; alt=&quot;Photo d&amp;#x27;archive de performance: Binôme 02&quot;&#x2F;&gt;
                    
                    
                    &lt;img id=&quot;gallerybinomesimage12&quot; class=&quot;gallery__viewport__image&quot; src=&quot;&amp;#x2F;arts&amp;#x2F;binome-01-02-03&amp;#x2F;gallery&amp;#x2F;binomes02_03.jpg&quot; alt=&quot;Photo d&amp;#x27;archive de performance: Binôme 02&quot;&#x2F;&gt;
                    
                    
                    &lt;img id=&quot;gallerybinomesimage13&quot; class=&quot;gallery__viewport__image&quot; src=&quot;&amp;#x2F;arts&amp;#x2F;binome-01-02-03&amp;#x2F;gallery&amp;#x2F;binomes02_04.jpg&quot; alt=&quot;Photo d&amp;#x27;archive de performance: Binôme 02&quot;&#x2F;&gt;
                    
                    
                    &lt;img id=&quot;gallerybinomesimage14&quot; class=&quot;gallery__viewport__image&quot; src=&quot;&amp;#x2F;arts&amp;#x2F;binome-01-02-03&amp;#x2F;gallery&amp;#x2F;binomes02_05.jpg&quot; alt=&quot;Photo d&amp;#x27;archive de performance: Binôme 02&quot;&#x2F;&gt;
                    
                    
                    &lt;img id=&quot;gallerybinomesimage15&quot; class=&quot;gallery__viewport__image&quot; src=&quot;&amp;#x2F;arts&amp;#x2F;binome-01-02-03&amp;#x2F;gallery&amp;#x2F;binomes02_06.jpg&quot; alt=&quot;Photo d&amp;#x27;archive de performance: Binôme 02&quot;&#x2F;&gt;
                    
                    
                    &lt;img id=&quot;gallerybinomesimage16&quot; class=&quot;gallery__viewport__image&quot; src=&quot;&amp;#x2F;arts&amp;#x2F;binome-01-02-03&amp;#x2F;gallery&amp;#x2F;binomes02_07.jpg&quot; alt=&quot;Photo d&amp;#x27;archive de performance: Binôme 02&quot;&#x2F;&gt;
                    
                    
                    &lt;img id=&quot;gallerybinomesimage17&quot; class=&quot;gallery__viewport__image&quot; src=&quot;&amp;#x2F;arts&amp;#x2F;binome-01-02-03&amp;#x2F;gallery&amp;#x2F;binomes02_08.jpg&quot; alt=&quot;Photo d&amp;#x27;archive de performance: Binôme 02&quot;&#x2F;&gt;
                    
                    
                    &lt;img id=&quot;gallerybinomesimage18&quot; class=&quot;gallery__viewport__image&quot; src=&quot;&amp;#x2F;arts&amp;#x2F;binome-01-02-03&amp;#x2F;gallery&amp;#x2F;binomes02_09.jpg&quot; alt=&quot;Photo d&amp;#x27;archive de performance: Binôme 02&quot;&#x2F;&gt;
                    
                    
                    &lt;img id=&quot;gallerybinomesimage19&quot; class=&quot;gallery__viewport__image&quot; src=&quot;&amp;#x2F;arts&amp;#x2F;binome-01-02-03&amp;#x2F;gallery&amp;#x2F;binomes02_10.jpg&quot; alt=&quot;Photo d&amp;#x27;archive de performance: Binôme 02&quot;&#x2F;&gt;
                    
                    
                    &lt;img id=&quot;gallerybinomesimage20&quot; class=&quot;gallery__viewport__image&quot; src=&quot;&amp;#x2F;arts&amp;#x2F;binome-01-02-03&amp;#x2F;gallery&amp;#x2F;binomes02_11.jpg&quot; alt=&quot;Photo d&amp;#x27;archive de performance: Binôme 02&quot;&#x2F;&gt;
                    
                    
                    &lt;img id=&quot;gallerybinomesimage21&quot; class=&quot;gallery__viewport__image&quot; src=&quot;&amp;#x2F;arts&amp;#x2F;binome-01-02-03&amp;#x2F;gallery&amp;#x2F;binomes02_12.jpg&quot; alt=&quot;Photo d&amp;#x27;archive de performance: Binôme 02&quot;&#x2F;&gt;
                    
                    
                    &lt;img id=&quot;gallerybinomesimage22&quot; class=&quot;gallery__viewport__image&quot; src=&quot;&amp;#x2F;arts&amp;#x2F;binome-01-02-03&amp;#x2F;gallery&amp;#x2F;binomes02_13.jpg&quot; alt=&quot;Photo d&amp;#x27;archive de performance: Binôme 02&quot;&#x2F;&gt;
                    
                    
                    &lt;img id=&quot;gallerybinomesimage23&quot; class=&quot;gallery__viewport__image&quot; src=&quot;&amp;#x2F;arts&amp;#x2F;binome-01-02-03&amp;#x2F;gallery&amp;#x2F;binomes02_14.jpg&quot; alt=&quot;Photo d&amp;#x27;archive de performance: Binôme 02&quot;&#x2F;&gt;
                    
                    
                    &lt;img id=&quot;gallerybinomesimage24&quot; class=&quot;gallery__viewport__image&quot; src=&quot;&amp;#x2F;arts&amp;#x2F;binome-01-02-03&amp;#x2F;gallery&amp;#x2F;binomes02_16.jpg&quot; alt=&quot;Photo d&amp;#x27;archive de performance: Binôme 02&quot;&#x2F;&gt;
                    
                    
                    &lt;img id=&quot;gallerybinomesimage25&quot; class=&quot;gallery__viewport__image&quot; src=&quot;&amp;#x2F;arts&amp;#x2F;binome-01-02-03&amp;#x2F;gallery&amp;#x2F;binomes02_17.jpg&quot; alt=&quot;Photo d&amp;#x27;archive de performance: Binôme 02&quot;&#x2F;&gt;
                    
                    
                    &lt;img id=&quot;gallerybinomesimage26&quot; class=&quot;gallery__viewport__image&quot; src=&quot;&amp;#x2F;arts&amp;#x2F;binome-01-02-03&amp;#x2F;gallery&amp;#x2F;binomes02_18.jpg&quot; alt=&quot;Photo d&amp;#x27;archive de performance: Binôme 02&quot;&#x2F;&gt;
                    
                    
                    &lt;img id=&quot;gallerybinomesimage27&quot; class=&quot;gallery__viewport__image&quot; src=&quot;&amp;#x2F;arts&amp;#x2F;binome-01-02-03&amp;#x2F;gallery&amp;#x2F;binomes02_19.jpg&quot; alt=&quot;Photo d&amp;#x27;archive de performance: Binôme 02&quot;&#x2F;&gt;
                    
                    
                    &lt;img id=&quot;gallerybinomesimage28&quot; class=&quot;gallery__viewport__image&quot; src=&quot;&amp;#x2F;arts&amp;#x2F;binome-01-02-03&amp;#x2F;gallery&amp;#x2F;binomes02_20.jpg&quot; alt=&quot;Photo d&amp;#x27;archive de performance: Binôme 02&quot;&#x2F;&gt;
                    
                    
                    &lt;img id=&quot;gallerybinomesimage29&quot; class=&quot;gallery__viewport__image&quot; src=&quot;&amp;#x2F;arts&amp;#x2F;binome-01-02-03&amp;#x2F;gallery&amp;#x2F;binomes02_21.jpg&quot; alt=&quot;Photo d&amp;#x27;archive de performance: Binôme 02&quot;&#x2F;&gt;
                    
                    
                    &lt;img id=&quot;gallerybinomesimage30&quot; class=&quot;gallery__viewport__image&quot; src=&quot;&amp;#x2F;arts&amp;#x2F;binome-01-02-03&amp;#x2F;gallery&amp;#x2F;binomes02_22.jpg&quot; alt=&quot;Photo d&amp;#x27;archive de performance: Binôme 02&quot;&#x2F;&gt;
                    
                    
                    &lt;img id=&quot;gallerybinomesimage31&quot; class=&quot;gallery__viewport__image&quot; src=&quot;&amp;#x2F;arts&amp;#x2F;binome-01-02-03&amp;#x2F;gallery&amp;#x2F;binomes02_23.jpg&quot; alt=&quot;Photo d&amp;#x27;archive de performance: Binôme 02&quot;&#x2F;&gt;
                    
                    
                    &lt;img id=&quot;gallerybinomesimage32&quot; class=&quot;gallery__viewport__image&quot; src=&quot;&amp;#x2F;arts&amp;#x2F;binome-01-02-03&amp;#x2F;gallery&amp;#x2F;binomes03_01.jpg&quot; alt=&quot;Photo d&amp;#x27;archive de performance: Binôme 03&quot;&#x2F;&gt;
                    
                    
                    &lt;img id=&quot;gallerybinomesimage33&quot; class=&quot;gallery__viewport__image&quot; src=&quot;&amp;#x2F;arts&amp;#x2F;binome-01-02-03&amp;#x2F;gallery&amp;#x2F;binomes03_02.jpg&quot; alt=&quot;Photo d&amp;#x27;archive de performance: Binôme 03&quot;&#x2F;&gt;
                    
                    
                    &lt;img id=&quot;gallerybinomesimage34&quot; class=&quot;gallery__viewport__image&quot; src=&quot;&amp;#x2F;arts&amp;#x2F;binome-01-02-03&amp;#x2F;gallery&amp;#x2F;binomes03_03.jpg&quot; alt=&quot;Photo d&amp;#x27;archive de performance: Binôme 03&quot;&#x2F;&gt;
                    
                    
                    &lt;img id=&quot;gallerybinomesimage35&quot; class=&quot;gallery__viewport__image&quot; src=&quot;&amp;#x2F;arts&amp;#x2F;binome-01-02-03&amp;#x2F;gallery&amp;#x2F;binomes03_04.jpg&quot; alt=&quot;Photo d&amp;#x27;archive de performance: Binôme 03&quot;&#x2F;&gt;
                    
                    
                    &lt;img id=&quot;gallerybinomesimage36&quot; class=&quot;gallery__viewport__image&quot; src=&quot;&amp;#x2F;arts&amp;#x2F;binome-01-02-03&amp;#x2F;gallery&amp;#x2F;binomes03_05.jpg&quot; alt=&quot;Photo d&amp;#x27;archive de performance: Binôme 03&quot;&#x2F;&gt;
                    
                    
                    &lt;img id=&quot;gallerybinomesimage37&quot; class=&quot;gallery__viewport__image&quot; src=&quot;&amp;#x2F;arts&amp;#x2F;binome-01-02-03&amp;#x2F;gallery&amp;#x2F;binomes03_06.jpg&quot; alt=&quot;Photo d&amp;#x27;archive de performance: Binôme 03&quot;&#x2F;&gt;
                    
                    
                    &lt;img id=&quot;gallerybinomesimage38&quot; class=&quot;gallery__viewport__image&quot; src=&quot;&amp;#x2F;arts&amp;#x2F;binome-01-02-03&amp;#x2F;gallery&amp;#x2F;binomes03_07.jpg&quot; alt=&quot;Photo d&amp;#x27;archive de performance: Binôme 03&quot;&#x2F;&gt;
                    
                    
                    &lt;img id=&quot;gallerybinomesimage39&quot; class=&quot;gallery__viewport__image&quot; src=&quot;&amp;#x2F;arts&amp;#x2F;binome-01-02-03&amp;#x2F;gallery&amp;#x2F;binomes03_08.jpg&quot; alt=&quot;Photo d&amp;#x27;archive de performance: Binôme 03&quot;&#x2F;&gt;
                    
                    
                    &lt;img id=&quot;gallerybinomesimage40&quot; class=&quot;gallery__viewport__image&quot; src=&quot;&amp;#x2F;arts&amp;#x2F;binome-01-02-03&amp;#x2F;gallery&amp;#x2F;binomes03_09.jpg&quot; alt=&quot;Photo d&amp;#x27;archive de performance: Binôme 03&quot;&#x2F;&gt;
                    
                    
                    &lt;img id=&quot;gallerybinomesimage41&quot; class=&quot;gallery__viewport__image&quot; src=&quot;&amp;#x2F;arts&amp;#x2F;binome-01-02-03&amp;#x2F;gallery&amp;#x2F;binomes03_10.jpg&quot; alt=&quot;Photo d&amp;#x27;archive de performance: Binôme 03&quot;&#x2F;&gt;
                    
                    
                    &lt;img id=&quot;gallerybinomesimage42&quot; class=&quot;gallery__viewport__image&quot; src=&quot;&amp;#x2F;arts&amp;#x2F;binome-01-02-03&amp;#x2F;gallery&amp;#x2F;binomes03_11.jpg&quot; alt=&quot;Photo d&amp;#x27;archive de performance: Binôme 03&quot;&#x2F;&gt;
                    
                    
                    &lt;img id=&quot;gallerybinomesimage43&quot; class=&quot;gallery__viewport__image&quot; src=&quot;&amp;#x2F;arts&amp;#x2F;binome-01-02-03&amp;#x2F;gallery&amp;#x2F;binomes03_12.jpg&quot; alt=&quot;Photo d&amp;#x27;archive de performance: Binôme 03&quot;&#x2F;&gt;
                    
                    
                    &lt;img id=&quot;gallerybinomesimage44&quot; class=&quot;gallery__viewport__image&quot; src=&quot;&amp;#x2F;arts&amp;#x2F;binome-01-02-03&amp;#x2F;gallery&amp;#x2F;binomes03_13.jpg&quot; alt=&quot;Photo d&amp;#x27;archive de performance: Binôme 03&quot;&#x2F;&gt;
                    
                    
                    &lt;img id=&quot;gallerybinomesimage45&quot; class=&quot;gallery__viewport__image&quot; src=&quot;&amp;#x2F;arts&amp;#x2F;binome-01-02-03&amp;#x2F;gallery&amp;#x2F;binomes03_14.jpg&quot; alt=&quot;Photo d&amp;#x27;archive de performance: Binôme 03&quot;&#x2F;&gt;
                    
                    
                    &lt;img id=&quot;gallerybinomesimage46&quot; class=&quot;gallery__viewport__image&quot; src=&quot;&amp;#x2F;arts&amp;#x2F;binome-01-02-03&amp;#x2F;gallery&amp;#x2F;binomes03_16.jpg&quot; alt=&quot;Photo d&amp;#x27;archive de performance: Binôme 03&quot;&#x2F;&gt;
                    
                    
                    &lt;img id=&quot;gallerybinomesimage47&quot; class=&quot;gallery__viewport__image&quot; src=&quot;&amp;#x2F;arts&amp;#x2F;binome-01-02-03&amp;#x2F;gallery&amp;#x2F;binomes03_17.jpg&quot; alt=&quot;Photo d&amp;#x27;archive de performance: Binôme 03&quot;&#x2F;&gt;
                    
                    
                    &lt;img id=&quot;gallerybinomesimage48&quot; class=&quot;gallery__viewport__image&quot; src=&quot;&amp;#x2F;arts&amp;#x2F;binome-01-02-03&amp;#x2F;gallery&amp;#x2F;binomes03_18.jpg&quot; alt=&quot;Photo d&amp;#x27;archive de performance: Binôme 03&quot;&#x2F;&gt;
                    
                    
                    &lt;img id=&quot;gallerybinomesimage49&quot; class=&quot;gallery__viewport__image&quot; src=&quot;&amp;#x2F;arts&amp;#x2F;binome-01-02-03&amp;#x2F;gallery&amp;#x2F;binomes03_19.jpg&quot; alt=&quot;Photo d&amp;#x27;archive de performance: Binôme 03&quot;&#x2F;&gt;
                    
        &lt;&#x2F;div&gt;
        &lt;div class=&quot;gallery__viewport__controls&quot;&gt;
            &lt;img class=&quot;gallery__viewport__controls__nav-button gallery__viewport__controls__nav-button--left&quot; src=&quot;&#x2F;images&#x2F;angle-left.svg&quot; alt=&quot;Voir l&#x27;image précédente.&quot; aria-hidden=&quot;true&quot;&#x2F;&gt;
            &lt;img class=&quot;gallery__viewport__controls__nav-button gallery__viewport__controls__nav-button--right&quot; src=&quot;&#x2F;images&#x2F;angle-right.svg&quot; alt=&quot;Voir l&#x27;image suivante.&quot; aria-hidden=&quot;true&quot;&#x2F;&gt;
            &lt;img class=&quot;gallery__viewport__controls__nav-close-btn&quot; src=&quot;&#x2F;images&#x2F;close-icon.svg&quot; alt=&quot;Fermer la gallery&quot;&#x2F;&gt;
        &lt;&#x2F;div&gt;
    &lt;&#x2F;div&gt;
    &lt;ul class=&quot;gallery__selector&quot;&gt;
        
        
                
                &lt;li class=&quot;gallery__selector__item&quot;&gt;
                    &lt;button
                            class=&quot;gallery__selector__button&quot;
                            aria-expanded=&quot;false&quot;
                            aria-controls=&quot;gallerybinomesimage0&quot;
                            aria-label=&quot;Voir l&#x27;image &amp;quot;Photo d&amp;#x27;archive de performance: Binôme 01&amp;quot;&quot;
                            type=&quot;button&quot;
                    &gt;
                        &lt;img class=&quot;gallery__selector__image&quot; src=&quot;&amp;#x2F;arts&amp;#x2F;binome-01-02-03&amp;#x2F;gallery&amp;#x2F;binomes01_01.jpg&quot; alt=&quot;Photo d&amp;#x27;archive de performance: Binôme 01&quot;&#x2F;&gt;
                    &lt;&#x2F;button&gt;
                &lt;&#x2F;li&gt;
                
                
                &lt;li class=&quot;gallery__selector__item&quot;&gt;
                    &lt;button
                            class=&quot;gallery__selector__button&quot;
                            aria-expanded=&quot;false&quot;
                            aria-controls=&quot;gallerybinomesimage1&quot;
                            aria-label=&quot;Voir l&#x27;image &amp;quot;Photo d&amp;#x27;archive de performance: Binôme 01&amp;quot;&quot;
                            type=&quot;button&quot;
                    &gt;
                        &lt;img class=&quot;gallery__selector__image&quot; src=&quot;&amp;#x2F;arts&amp;#x2F;binome-01-02-03&amp;#x2F;gallery&amp;#x2F;binomes01_02.jpg&quot; alt=&quot;Photo d&amp;#x27;archive de performance: Binôme 01&quot;&#x2F;&gt;
                    &lt;&#x2F;button&gt;
                &lt;&#x2F;li&gt;
                
                
                &lt;li class=&quot;gallery__selector__item&quot;&gt;
                    &lt;button
                            class=&quot;gallery__selector__button&quot;
                            aria-expanded=&quot;false&quot;
                            aria-controls=&quot;gallerybinomesimage2&quot;
                            aria-label=&quot;Voir l&#x27;image &amp;quot;Photo d&amp;#x27;archive de performance: Binôme 01&amp;quot;&quot;
                            type=&quot;button&quot;
                    &gt;
                        &lt;img class=&quot;gallery__selector__image&quot; src=&quot;&amp;#x2F;arts&amp;#x2F;binome-01-02-03&amp;#x2F;gallery&amp;#x2F;binomes01_03.jpg&quot; alt=&quot;Photo d&amp;#x27;archive de performance: Binôme 01&quot;&#x2F;&gt;
                    &lt;&#x2F;button&gt;
                &lt;&#x2F;li&gt;
                
                
                &lt;li class=&quot;gallery__selector__item&quot;&gt;
                    &lt;button
                            class=&quot;gallery__selector__button&quot;
                            aria-expanded=&quot;false&quot;
                            aria-controls=&quot;gallerybinomesimage3&quot;
                            aria-label=&quot;Voir l&#x27;image &amp;quot;Photo d&amp;#x27;archive de performance: Binôme 01&amp;quot;&quot;
                            type=&quot;button&quot;
                    &gt;
                        &lt;img class=&quot;gallery__selector__image&quot; src=&quot;&amp;#x2F;arts&amp;#x2F;binome-01-02-03&amp;#x2F;gallery&amp;#x2F;binomes01_04.jpg&quot; alt=&quot;Photo d&amp;#x27;archive de performance: Binôme 01&quot;&#x2F;&gt;
                    &lt;&#x2F;button&gt;
                &lt;&#x2F;li&gt;
                
                
                &lt;li class=&quot;gallery__selector__item&quot;&gt;
                    &lt;button
                            class=&quot;gallery__selector__button&quot;
                            aria-expanded=&quot;false&quot;
                            aria-controls=&quot;gallerybinomesimage4&quot;
                            aria-label=&quot;Voir l&#x27;image &amp;quot;Photo d&amp;#x27;archive de performance: Binôme 01&amp;quot;&quot;
                            type=&quot;button&quot;
                    &gt;
                        &lt;img class=&quot;gallery__selector__image&quot; src=&quot;&amp;#x2F;arts&amp;#x2F;binome-01-02-03&amp;#x2F;gallery&amp;#x2F;binomes01_05.jpg&quot; alt=&quot;Photo d&amp;#x27;archive de performance: Binôme 01&quot;&#x2F;&gt;
                    &lt;&#x2F;button&gt;
                &lt;&#x2F;li&gt;
                
                
                &lt;li class=&quot;gallery__selector__item&quot;&gt;
                    &lt;button
                            class=&quot;gallery__selector__button&quot;
                            aria-expanded=&quot;false&quot;
                            aria-controls=&quot;gallerybinomesimage5&quot;
                            aria-label=&quot;Voir l&#x27;image &amp;quot;Photo d&amp;#x27;archive de performance: Binôme 01&amp;quot;&quot;
                            type=&quot;button&quot;
                    &gt;
                        &lt;img class=&quot;gallery__selector__image&quot; src=&quot;&amp;#x2F;arts&amp;#x2F;binome-01-02-03&amp;#x2F;gallery&amp;#x2F;binomes01_06.jpg&quot; alt=&quot;Photo d&amp;#x27;archive de performance: Binôme 01&quot;&#x2F;&gt;
                    &lt;&#x2F;button&gt;
                &lt;&#x2F;li&gt;
                
                
                &lt;li class=&quot;gallery__selector__item&quot;&gt;
                    &lt;button
                            class=&quot;gallery__selector__button&quot;
                            aria-expanded=&quot;false&quot;
                            aria-controls=&quot;gallerybinomesimage6&quot;
                            aria-label=&quot;Voir l&#x27;image &amp;quot;Photo d&amp;#x27;archive de performance: Binôme 01&amp;quot;&quot;
                            type=&quot;button&quot;
                    &gt;
                        &lt;img class=&quot;gallery__selector__image&quot; src=&quot;&amp;#x2F;arts&amp;#x2F;binome-01-02-03&amp;#x2F;gallery&amp;#x2F;binomes01_07.jpg&quot; alt=&quot;Photo d&amp;#x27;archive de performance: Binôme 01&quot;&#x2F;&gt;
                    &lt;&#x2F;button&gt;
                &lt;&#x2F;li&gt;
                
                
                &lt;li class=&quot;gallery__selector__item&quot;&gt;
                    &lt;button
                            class=&quot;gallery__selector__button&quot;
                            aria-expanded=&quot;false&quot;
                            aria-controls=&quot;gallerybinomesimage7&quot;
                            aria-label=&quot;Voir l&#x27;image &amp;quot;Photo d&amp;#x27;archive de performance: Binôme 01&amp;quot;&quot;
                            type=&quot;button&quot;
                    &gt;
                        &lt;img class=&quot;gallery__selector__image&quot; src=&quot;&amp;#x2F;arts&amp;#x2F;binome-01-02-03&amp;#x2F;gallery&amp;#x2F;binomes01_08.jpg&quot; alt=&quot;Photo d&amp;#x27;archive de performance: Binôme 01&quot;&#x2F;&gt;
                    &lt;&#x2F;button&gt;
                &lt;&#x2F;li&gt;
                
                
                &lt;li class=&quot;gallery__selector__item&quot;&gt;
                    &lt;button
                            class=&quot;gallery__selector__button&quot;
                            aria-expanded=&quot;false&quot;
                            aria-controls=&quot;gallerybinomesimage8&quot;
                            aria-label=&quot;Voir l&#x27;image &amp;quot;Photo d&amp;#x27;archive de performance: Binôme 01&amp;quot;&quot;
                            type=&quot;button&quot;
                    &gt;
                        &lt;img class=&quot;gallery__selector__image&quot; src=&quot;&amp;#x2F;arts&amp;#x2F;binome-01-02-03&amp;#x2F;gallery&amp;#x2F;binomes01_09.jpg&quot; alt=&quot;Photo d&amp;#x27;archive de performance: Binôme 01&quot;&#x2F;&gt;
                    &lt;&#x2F;button&gt;
                &lt;&#x2F;li&gt;
                
                
                &lt;li class=&quot;gallery__selector__item&quot;&gt;
                    &lt;button
                            class=&quot;gallery__selector__button&quot;
                            aria-expanded=&quot;false&quot;
                            aria-controls=&quot;gallerybinomesimage9&quot;
                            aria-label=&quot;Voir l&#x27;image &amp;quot;Photo d&amp;#x27;archive de performance: Binôme 01&amp;quot;&quot;
                            type=&quot;button&quot;
                    &gt;
                        &lt;img class=&quot;gallery__selector__image&quot; src=&quot;&amp;#x2F;arts&amp;#x2F;binome-01-02-03&amp;#x2F;gallery&amp;#x2F;binomes01_10.jpg&quot; alt=&quot;Photo d&amp;#x27;archive de performance: Binôme 01&quot;&#x2F;&gt;
                    &lt;&#x2F;button&gt;
                &lt;&#x2F;li&gt;
                
                
                &lt;li class=&quot;gallery__selector__item&quot;&gt;
                    &lt;button
                            class=&quot;gallery__selector__button&quot;
                            aria-expanded=&quot;false&quot;
                            aria-controls=&quot;gallerybinomesimage10&quot;
                            aria-label=&quot;Voir l&#x27;image &amp;quot;Photo d&amp;#x27;archive de performance: Binôme 02&amp;quot;&quot;
                            type=&quot;button&quot;
                    &gt;
                        &lt;img class=&quot;gallery__selector__image&quot; src=&quot;&amp;#x2F;arts&amp;#x2F;binome-01-02-03&amp;#x2F;gallery&amp;#x2F;binomes02_01.jpg&quot; alt=&quot;Photo d&amp;#x27;archive de performance: Binôme 02&quot;&#x2F;&gt;
                    &lt;&#x2F;button&gt;
                &lt;&#x2F;li&gt;
                
                
                &lt;li class=&quot;gallery__selector__item&quot;&gt;
                    &lt;button
                            class=&quot;gallery__selector__button&quot;
                            aria-expanded=&quot;false&quot;
                            aria-controls=&quot;gallerybinomesimage11&quot;
                            aria-label=&quot;Voir l&#x27;image &amp;quot;Photo d&amp;#x27;archive de performance: Binôme 02&amp;quot;&quot;
                            type=&quot;button&quot;
                    &gt;
                        &lt;img class=&quot;gallery__selector__image&quot; src=&quot;&amp;#x2F;arts&amp;#x2F;binome-01-02-03&amp;#x2F;gallery&amp;#x2F;binomes02_02.jpg&quot; alt=&quot;Photo d&amp;#x27;archive de performance: Binôme 02&quot;&#x2F;&gt;
                    &lt;&#x2F;button&gt;
                &lt;&#x2F;li&gt;
                
                
                &lt;li class=&quot;gallery__selector__item&quot;&gt;
                    &lt;button
                            class=&quot;gallery__selector__button&quot;
                            aria-expanded=&quot;false&quot;
                            aria-controls=&quot;gallerybinomesimage12&quot;
                            aria-label=&quot;Voir l&#x27;image &amp;quot;Photo d&amp;#x27;archive de performance: Binôme 02&amp;quot;&quot;
                            type=&quot;button&quot;
                    &gt;
                        &lt;img class=&quot;gallery__selector__image&quot; src=&quot;&amp;#x2F;arts&amp;#x2F;binome-01-02-03&amp;#x2F;gallery&amp;#x2F;binomes02_03.jpg&quot; alt=&quot;Photo d&amp;#x27;archive de performance: Binôme 02&quot;&#x2F;&gt;
                    &lt;&#x2F;button&gt;
                &lt;&#x2F;li&gt;
                
                
                &lt;li class=&quot;gallery__selector__item&quot;&gt;
                    &lt;button
                            class=&quot;gallery__selector__button&quot;
                            aria-expanded=&quot;false&quot;
                            aria-controls=&quot;gallerybinomesimage13&quot;
                            aria-label=&quot;Voir l&#x27;image &amp;quot;Photo d&amp;#x27;archive de performance: Binôme 02&amp;quot;&quot;
                            type=&quot;button&quot;
                    &gt;
                        &lt;img class=&quot;gallery__selector__image&quot; src=&quot;&amp;#x2F;arts&amp;#x2F;binome-01-02-03&amp;#x2F;gallery&amp;#x2F;binomes02_04.jpg&quot; alt=&quot;Photo d&amp;#x27;archive de performance: Binôme 02&quot;&#x2F;&gt;
                    &lt;&#x2F;button&gt;
                &lt;&#x2F;li&gt;
                
                
                &lt;li class=&quot;gallery__selector__item&quot;&gt;
                    &lt;button
                            class=&quot;gallery__selector__button&quot;
                            aria-expanded=&quot;false&quot;
                            aria-controls=&quot;gallerybinomesimage14&quot;
                            aria-label=&quot;Voir l&#x27;image &amp;quot;Photo d&amp;#x27;archive de performance: Binôme 02&amp;quot;&quot;
                            type=&quot;button&quot;
                    &gt;
                        &lt;img class=&quot;gallery__selector__image&quot; src=&quot;&amp;#x2F;arts&amp;#x2F;binome-01-02-03&amp;#x2F;gallery&amp;#x2F;binomes02_05.jpg&quot; alt=&quot;Photo d&amp;#x27;archive de performance: Binôme 02&quot;&#x2F;&gt;
                    &lt;&#x2F;button&gt;
                &lt;&#x2F;li&gt;
                
                
                &lt;li class=&quot;gallery__selector__item&quot;&gt;
                    &lt;button
                            class=&quot;gallery__selector__button&quot;
                            aria-expanded=&quot;false&quot;
                            aria-controls=&quot;gallerybinomesimage15&quot;
                            aria-label=&quot;Voir l&#x27;image &amp;quot;Photo d&amp;#x27;archive de performance: Binôme 02&amp;quot;&quot;
                            type=&quot;button&quot;
                    &gt;
                        &lt;img class=&quot;gallery__selector__image&quot; src=&quot;&amp;#x2F;arts&amp;#x2F;binome-01-02-03&amp;#x2F;gallery&amp;#x2F;binomes02_06.jpg&quot; alt=&quot;Photo d&amp;#x27;archive de performance: Binôme 02&quot;&#x2F;&gt;
                    &lt;&#x2F;button&gt;
                &lt;&#x2F;li&gt;
                
                
                &lt;li class=&quot;gallery__selector__item&quot;&gt;
                    &lt;button
                            class=&quot;gallery__selector__button&quot;
                            aria-expanded=&quot;false&quot;
                            aria-controls=&quot;gallerybinomesimage16&quot;
                            aria-label=&quot;Voir l&#x27;image &amp;quot;Photo d&amp;#x27;archive de performance: Binôme 02&amp;quot;&quot;
                            type=&quot;button&quot;
                    &gt;
                        &lt;img class=&quot;gallery__selector__image&quot; src=&quot;&amp;#x2F;arts&amp;#x2F;binome-01-02-03&amp;#x2F;gallery&amp;#x2F;binomes02_07.jpg&quot; alt=&quot;Photo d&amp;#x27;archive de performance: Binôme 02&quot;&#x2F;&gt;
                    &lt;&#x2F;button&gt;
                &lt;&#x2F;li&gt;
                
                
                &lt;li class=&quot;gallery__selector__item&quot;&gt;
                    &lt;button
                            class=&quot;gallery__selector__button&quot;
                            aria-expanded=&quot;false&quot;
                            aria-controls=&quot;gallerybinomesimage17&quot;
                            aria-label=&quot;Voir l&#x27;image &amp;quot;Photo d&amp;#x27;archive de performance: Binôme 02&amp;quot;&quot;
                            type=&quot;button&quot;
                    &gt;
                        &lt;img class=&quot;gallery__selector__image&quot; src=&quot;&amp;#x2F;arts&amp;#x2F;binome-01-02-03&amp;#x2F;gallery&amp;#x2F;binomes02_08.jpg&quot; alt=&quot;Photo d&amp;#x27;archive de performance: Binôme 02&quot;&#x2F;&gt;
                    &lt;&#x2F;button&gt;
                &lt;&#x2F;li&gt;
                
                
                &lt;li class=&quot;gallery__selector__item&quot;&gt;
                    &lt;button
                            class=&quot;gallery__selector__button&quot;
                            aria-expanded=&quot;false&quot;
                            aria-controls=&quot;gallerybinomesimage18&quot;
                            aria-label=&quot;Voir l&#x27;image &amp;quot;Photo d&amp;#x27;archive de performance: Binôme 02&amp;quot;&quot;
                            type=&quot;button&quot;
                    &gt;
                        &lt;img class=&quot;gallery__selector__image&quot; src=&quot;&amp;#x2F;arts&amp;#x2F;binome-01-02-03&amp;#x2F;gallery&amp;#x2F;binomes02_09.jpg&quot; alt=&quot;Photo d&amp;#x27;archive de performance: Binôme 02&quot;&#x2F;&gt;
                    &lt;&#x2F;button&gt;
                &lt;&#x2F;li&gt;
                
                
                &lt;li class=&quot;gallery__selector__item&quot;&gt;
                    &lt;button
                            class=&quot;gallery__selector__button&quot;
                            aria-expanded=&quot;false&quot;
                            aria-controls=&quot;gallerybinomesimage19&quot;
                            aria-label=&quot;Voir l&#x27;image &amp;quot;Photo d&amp;#x27;archive de performance: Binôme 02&amp;quot;&quot;
                            type=&quot;button&quot;
                    &gt;
                        &lt;img class=&quot;gallery__selector__image&quot; src=&quot;&amp;#x2F;arts&amp;#x2F;binome-01-02-03&amp;#x2F;gallery&amp;#x2F;binomes02_10.jpg&quot; alt=&quot;Photo d&amp;#x27;archive de performance: Binôme 02&quot;&#x2F;&gt;
                    &lt;&#x2F;button&gt;
                &lt;&#x2F;li&gt;
                
                
                &lt;li class=&quot;gallery__selector__item&quot;&gt;
                    &lt;button
                            class=&quot;gallery__selector__button&quot;
                            aria-expanded=&quot;false&quot;
                            aria-controls=&quot;gallerybinomesimage20&quot;
                            aria-label=&quot;Voir l&#x27;image &amp;quot;Photo d&amp;#x27;archive de performance: Binôme 02&amp;quot;&quot;
                            type=&quot;button&quot;
                    &gt;
                        &lt;img class=&quot;gallery__selector__image&quot; src=&quot;&amp;#x2F;arts&amp;#x2F;binome-01-02-03&amp;#x2F;gallery&amp;#x2F;binomes02_11.jpg&quot; alt=&quot;Photo d&amp;#x27;archive de performance: Binôme 02&quot;&#x2F;&gt;
                    &lt;&#x2F;button&gt;
                &lt;&#x2F;li&gt;
                
                
                &lt;li class=&quot;gallery__selector__item&quot;&gt;
                    &lt;button
                            class=&quot;gallery__selector__button&quot;
                            aria-expanded=&quot;false&quot;
                            aria-controls=&quot;gallerybinomesimage21&quot;
                            aria-label=&quot;Voir l&#x27;image &amp;quot;Photo d&amp;#x27;archive de performance: Binôme 02&amp;quot;&quot;
                            type=&quot;button&quot;
                    &gt;
                        &lt;img class=&quot;gallery__selector__image&quot; src=&quot;&amp;#x2F;arts&amp;#x2F;binome-01-02-03&amp;#x2F;gallery&amp;#x2F;binomes02_12.jpg&quot; alt=&quot;Photo d&amp;#x27;archive de performance: Binôme 02&quot;&#x2F;&gt;
                    &lt;&#x2F;button&gt;
                &lt;&#x2F;li&gt;
                
                
                &lt;li class=&quot;gallery__selector__item&quot;&gt;
                    &lt;button
                            class=&quot;gallery__selector__button&quot;
                            aria-expanded=&quot;false&quot;
                            aria-controls=&quot;gallerybinomesimage22&quot;
                            aria-label=&quot;Voir l&#x27;image &amp;quot;Photo d&amp;#x27;archive de performance: Binôme 02&amp;quot;&quot;
                            type=&quot;button&quot;
                    &gt;
                        &lt;img class=&quot;gallery__selector__image&quot; src=&quot;&amp;#x2F;arts&amp;#x2F;binome-01-02-03&amp;#x2F;gallery&amp;#x2F;binomes02_13.jpg&quot; alt=&quot;Photo d&amp;#x27;archive de performance: Binôme 02&quot;&#x2F;&gt;
                    &lt;&#x2F;button&gt;
                &lt;&#x2F;li&gt;
                
                
                &lt;li class=&quot;gallery__selector__item&quot;&gt;
                    &lt;button
                            class=&quot;gallery__selector__button&quot;
                            aria-expanded=&quot;false&quot;
                            aria-controls=&quot;gallerybinomesimage23&quot;
                            aria-label=&quot;Voir l&#x27;image &amp;quot;Photo d&amp;#x27;archive de performance: Binôme 02&amp;quot;&quot;
                            type=&quot;button&quot;
                    &gt;
                        &lt;img class=&quot;gallery__selector__image&quot; src=&quot;&amp;#x2F;arts&amp;#x2F;binome-01-02-03&amp;#x2F;gallery&amp;#x2F;binomes02_14.jpg&quot; alt=&quot;Photo d&amp;#x27;archive de performance: Binôme 02&quot;&#x2F;&gt;
                    &lt;&#x2F;button&gt;
                &lt;&#x2F;li&gt;
                
                
                &lt;li class=&quot;gallery__selector__item&quot;&gt;
                    &lt;button
                            class=&quot;gallery__selector__button&quot;
                            aria-expanded=&quot;false&quot;
                            aria-controls=&quot;gallerybinomesimage24&quot;
                            aria-label=&quot;Voir l&#x27;image &amp;quot;Photo d&amp;#x27;archive de performance: Binôme 02&amp;quot;&quot;
                            type=&quot;button&quot;
                    &gt;
                        &lt;img class=&quot;gallery__selector__image&quot; src=&quot;&amp;#x2F;arts&amp;#x2F;binome-01-02-03&amp;#x2F;gallery&amp;#x2F;binomes02_16.jpg&quot; alt=&quot;Photo d&amp;#x27;archive de performance: Binôme 02&quot;&#x2F;&gt;
                    &lt;&#x2F;button&gt;
                &lt;&#x2F;li&gt;
                
                
                &lt;li class=&quot;gallery__selector__item&quot;&gt;
                    &lt;button
                            class=&quot;gallery__selector__button&quot;
                            aria-expanded=&quot;false&quot;
                            aria-controls=&quot;gallerybinomesimage25&quot;
                            aria-label=&quot;Voir l&#x27;image &amp;quot;Photo d&amp;#x27;archive de performance: Binôme 02&amp;quot;&quot;
                            type=&quot;button&quot;
                    &gt;
                        &lt;img class=&quot;gallery__selector__image&quot; src=&quot;&amp;#x2F;arts&amp;#x2F;binome-01-02-03&amp;#x2F;gallery&amp;#x2F;binomes02_17.jpg&quot; alt=&quot;Photo d&amp;#x27;archive de performance: Binôme 02&quot;&#x2F;&gt;
                    &lt;&#x2F;button&gt;
                &lt;&#x2F;li&gt;
                
                
                &lt;li class=&quot;gallery__selector__item&quot;&gt;
                    &lt;button
                            class=&quot;gallery__selector__button&quot;
                            aria-expanded=&quot;false&quot;
                            aria-controls=&quot;gallerybinomesimage26&quot;
                            aria-label=&quot;Voir l&#x27;image &amp;quot;Photo d&amp;#x27;archive de performance: Binôme 02&amp;quot;&quot;
                            type=&quot;button&quot;
                    &gt;
                        &lt;img class=&quot;gallery__selector__image&quot; src=&quot;&amp;#x2F;arts&amp;#x2F;binome-01-02-03&amp;#x2F;gallery&amp;#x2F;binomes02_18.jpg&quot; alt=&quot;Photo d&amp;#x27;archive de performance: Binôme 02&quot;&#x2F;&gt;
                    &lt;&#x2F;button&gt;
                &lt;&#x2F;li&gt;
                
                
                &lt;li class=&quot;gallery__selector__item&quot;&gt;
                    &lt;button
                            class=&quot;gallery__selector__button&quot;
                            aria-expanded=&quot;false&quot;
                            aria-controls=&quot;gallerybinomesimage27&quot;
                            aria-label=&quot;Voir l&#x27;image &amp;quot;Photo d&amp;#x27;archive de performance: Binôme 02&amp;quot;&quot;
                            type=&quot;button&quot;
                    &gt;
                        &lt;img class=&quot;gallery__selector__image&quot; src=&quot;&amp;#x2F;arts&amp;#x2F;binome-01-02-03&amp;#x2F;gallery&amp;#x2F;binomes02_19.jpg&quot; alt=&quot;Photo d&amp;#x27;archive de performance: Binôme 02&quot;&#x2F;&gt;
                    &lt;&#x2F;button&gt;
                &lt;&#x2F;li&gt;
                
                
                &lt;li class=&quot;gallery__selector__item&quot;&gt;
                    &lt;button
                            class=&quot;gallery__selector__button&quot;
                            aria-expanded=&quot;false&quot;
                            aria-controls=&quot;gallerybinomesimage28&quot;
                            aria-label=&quot;Voir l&#x27;image &amp;quot;Photo d&amp;#x27;archive de performance: Binôme 02&amp;quot;&quot;
                            type=&quot;button&quot;
                    &gt;
                        &lt;img class=&quot;gallery__selector__image&quot; src=&quot;&amp;#x2F;arts&amp;#x2F;binome-01-02-03&amp;#x2F;gallery&amp;#x2F;binomes02_20.jpg&quot; alt=&quot;Photo d&amp;#x27;archive de performance: Binôme 02&quot;&#x2F;&gt;
                    &lt;&#x2F;button&gt;
                &lt;&#x2F;li&gt;
                
                
                &lt;li class=&quot;gallery__selector__item&quot;&gt;
                    &lt;button
                            class=&quot;gallery__selector__button&quot;
                            aria-expanded=&quot;false&quot;
                            aria-controls=&quot;gallerybinomesimage29&quot;
                            aria-label=&quot;Voir l&#x27;image &amp;quot;Photo d&amp;#x27;archive de performance: Binôme 02&amp;quot;&quot;
                            type=&quot;button&quot;
                    &gt;
                        &lt;img class=&quot;gallery__selector__image&quot; src=&quot;&amp;#x2F;arts&amp;#x2F;binome-01-02-03&amp;#x2F;gallery&amp;#x2F;binomes02_21.jpg&quot; alt=&quot;Photo d&amp;#x27;archive de performance: Binôme 02&quot;&#x2F;&gt;
                    &lt;&#x2F;button&gt;
                &lt;&#x2F;li&gt;
                
                
                &lt;li class=&quot;gallery__selector__item&quot;&gt;
                    &lt;button
                            class=&quot;gallery__selector__button&quot;
                            aria-expanded=&quot;false&quot;
                            aria-controls=&quot;gallerybinomesimage30&quot;
                            aria-label=&quot;Voir l&#x27;image &amp;quot;Photo d&amp;#x27;archive de performance: Binôme 02&amp;quot;&quot;
                            type=&quot;button&quot;
                    &gt;
                        &lt;img class=&quot;gallery__selector__image&quot; src=&quot;&amp;#x2F;arts&amp;#x2F;binome-01-02-03&amp;#x2F;gallery&amp;#x2F;binomes02_22.jpg&quot; alt=&quot;Photo d&amp;#x27;archive de performance: Binôme 02&quot;&#x2F;&gt;
                    &lt;&#x2F;button&gt;
                &lt;&#x2F;li&gt;
                
                
                &lt;li class=&quot;gallery__selector__item&quot;&gt;
                    &lt;button
                            class=&quot;gallery__selector__button&quot;
                            aria-expanded=&quot;false&quot;
                            aria-controls=&quot;gallerybinomesimage31&quot;
                            aria-label=&quot;Voir l&#x27;image &amp;quot;Photo d&amp;#x27;archive de performance: Binôme 02&amp;quot;&quot;
                            type=&quot;button&quot;
                    &gt;
                        &lt;img class=&quot;gallery__selector__image&quot; src=&quot;&amp;#x2F;arts&amp;#x2F;binome-01-02-03&amp;#x2F;gallery&amp;#x2F;binomes02_23.jpg&quot; alt=&quot;Photo d&amp;#x27;archive de performance: Binôme 02&quot;&#x2F;&gt;
                    &lt;&#x2F;button&gt;
                &lt;&#x2F;li&gt;
                
                
                &lt;li class=&quot;gallery__selector__item&quot;&gt;
                    &lt;button
                            class=&quot;gallery__selector__button&quot;
                            aria-expanded=&quot;false&quot;
                            aria-controls=&quot;gallerybinomesimage32&quot;
                            aria-label=&quot;Voir l&#x27;image &amp;quot;Photo d&amp;#x27;archive de performance: Binôme 03&amp;quot;&quot;
                            type=&quot;button&quot;
                    &gt;
                        &lt;img class=&quot;gallery__selector__image&quot; src=&quot;&amp;#x2F;arts&amp;#x2F;binome-01-02-03&amp;#x2F;gallery&amp;#x2F;binomes03_01.jpg&quot; alt=&quot;Photo d&amp;#x27;archive de performance: Binôme 03&quot;&#x2F;&gt;
                    &lt;&#x2F;button&gt;
                &lt;&#x2F;li&gt;
                
                
                &lt;li class=&quot;gallery__selector__item&quot;&gt;
                    &lt;button
                            class=&quot;gallery__selector__button&quot;
                            aria-expanded=&quot;false&quot;
                            aria-controls=&quot;gallerybinomesimage33&quot;
                            aria-label=&quot;Voir l&#x27;image &amp;quot;Photo d&amp;#x27;archive de performance: Binôme 03&amp;quot;&quot;
                            type=&quot;button&quot;
                    &gt;
                        &lt;img class=&quot;gallery__selector__image&quot; src=&quot;&amp;#x2F;arts&amp;#x2F;binome-01-02-03&amp;#x2F;gallery&amp;#x2F;binomes03_02.jpg&quot; alt=&quot;Photo d&amp;#x27;archive de performance: Binôme 03&quot;&#x2F;&gt;
                    &lt;&#x2F;button&gt;
                &lt;&#x2F;li&gt;
                
                
                &lt;li class=&quot;gallery__selector__item&quot;&gt;
                    &lt;button
                            class=&quot;gallery__selector__button&quot;
                            aria-expanded=&quot;false&quot;
                            aria-controls=&quot;gallerybinomesimage34&quot;
                            aria-label=&quot;Voir l&#x27;image &amp;quot;Photo d&amp;#x27;archive de performance: Binôme 03&amp;quot;&quot;
                            type=&quot;button&quot;
                    &gt;
                        &lt;img class=&quot;gallery__selector__image&quot; src=&quot;&amp;#x2F;arts&amp;#x2F;binome-01-02-03&amp;#x2F;gallery&amp;#x2F;binomes03_03.jpg&quot; alt=&quot;Photo d&amp;#x27;archive de performance: Binôme 03&quot;&#x2F;&gt;
                    &lt;&#x2F;button&gt;
                &lt;&#x2F;li&gt;
                
                
                &lt;li class=&quot;gallery__selector__item&quot;&gt;
                    &lt;button
                            class=&quot;gallery__selector__button&quot;
                            aria-expanded=&quot;false&quot;
                            aria-controls=&quot;gallerybinomesimage35&quot;
                            aria-label=&quot;Voir l&#x27;image &amp;quot;Photo d&amp;#x27;archive de performance: Binôme 03&amp;quot;&quot;
                            type=&quot;button&quot;
                    &gt;
                        &lt;img class=&quot;gallery__selector__image&quot; src=&quot;&amp;#x2F;arts&amp;#x2F;binome-01-02-03&amp;#x2F;gallery&amp;#x2F;binomes03_04.jpg&quot; alt=&quot;Photo d&amp;#x27;archive de performance: Binôme 03&quot;&#x2F;&gt;
                    &lt;&#x2F;button&gt;
                &lt;&#x2F;li&gt;
                
                
                &lt;li class=&quot;gallery__selector__item&quot;&gt;
                    &lt;button
                            class=&quot;gallery__selector__button&quot;
                            aria-expanded=&quot;false&quot;
                            aria-controls=&quot;gallerybinomesimage36&quot;
                            aria-label=&quot;Voir l&#x27;image &amp;quot;Photo d&amp;#x27;archive de performance: Binôme 03&amp;quot;&quot;
                            type=&quot;button&quot;
                    &gt;
                        &lt;img class=&quot;gallery__selector__image&quot; src=&quot;&amp;#x2F;arts&amp;#x2F;binome-01-02-03&amp;#x2F;gallery&amp;#x2F;binomes03_05.jpg&quot; alt=&quot;Photo d&amp;#x27;archive de performance: Binôme 03&quot;&#x2F;&gt;
                    &lt;&#x2F;button&gt;
                &lt;&#x2F;li&gt;
                
                
                &lt;li class=&quot;gallery__selector__item&quot;&gt;
                    &lt;button
                            class=&quot;gallery__selector__button&quot;
                            aria-expanded=&quot;false&quot;
                            aria-controls=&quot;gallerybinomesimage37&quot;
                            aria-label=&quot;Voir l&#x27;image &amp;quot;Photo d&amp;#x27;archive de performance: Binôme 03&amp;quot;&quot;
                            type=&quot;button&quot;
                    &gt;
                        &lt;img class=&quot;gallery__selector__image&quot; src=&quot;&amp;#x2F;arts&amp;#x2F;binome-01-02-03&amp;#x2F;gallery&amp;#x2F;binomes03_06.jpg&quot; alt=&quot;Photo d&amp;#x27;archive de performance: Binôme 03&quot;&#x2F;&gt;
                    &lt;&#x2F;button&gt;
                &lt;&#x2F;li&gt;
                
                
                &lt;li class=&quot;gallery__selector__item&quot;&gt;
                    &lt;button
                            class=&quot;gallery__selector__button&quot;
                            aria-expanded=&quot;false&quot;
                            aria-controls=&quot;gallerybinomesimage38&quot;
                            aria-label=&quot;Voir l&#x27;image &amp;quot;Photo d&amp;#x27;archive de performance: Binôme 03&amp;quot;&quot;
                            type=&quot;button&quot;
                    &gt;
                        &lt;img class=&quot;gallery__selector__image&quot; src=&quot;&amp;#x2F;arts&amp;#x2F;binome-01-02-03&amp;#x2F;gallery&amp;#x2F;binomes03_07.jpg&quot; alt=&quot;Photo d&amp;#x27;archive de performance: Binôme 03&quot;&#x2F;&gt;
                    &lt;&#x2F;button&gt;
                &lt;&#x2F;li&gt;
                
                
                &lt;li class=&quot;gallery__selector__item&quot;&gt;
                    &lt;button
                            class=&quot;gallery__selector__button&quot;
                            aria-expanded=&quot;false&quot;
                            aria-controls=&quot;gallerybinomesimage39&quot;
                            aria-label=&quot;Voir l&#x27;image &amp;quot;Photo d&amp;#x27;archive de performance: Binôme 03&amp;quot;&quot;
                            type=&quot;button&quot;
                    &gt;
                        &lt;img class=&quot;gallery__selector__image&quot; src=&quot;&amp;#x2F;arts&amp;#x2F;binome-01-02-03&amp;#x2F;gallery&amp;#x2F;binomes03_08.jpg&quot; alt=&quot;Photo d&amp;#x27;archive de performance: Binôme 03&quot;&#x2F;&gt;
                    &lt;&#x2F;button&gt;
                &lt;&#x2F;li&gt;
                
                
                &lt;li class=&quot;gallery__selector__item&quot;&gt;
                    &lt;button
                            class=&quot;gallery__selector__button&quot;
                            aria-expanded=&quot;false&quot;
                            aria-controls=&quot;gallerybinomesimage40&quot;
                            aria-label=&quot;Voir l&#x27;image &amp;quot;Photo d&amp;#x27;archive de performance: Binôme 03&amp;quot;&quot;
                            type=&quot;button&quot;
                    &gt;
                        &lt;img class=&quot;gallery__selector__image&quot; src=&quot;&amp;#x2F;arts&amp;#x2F;binome-01-02-03&amp;#x2F;gallery&amp;#x2F;binomes03_09.jpg&quot; alt=&quot;Photo d&amp;#x27;archive de performance: Binôme 03&quot;&#x2F;&gt;
                    &lt;&#x2F;button&gt;
                &lt;&#x2F;li&gt;
                
                
                &lt;li class=&quot;gallery__selector__item&quot;&gt;
                    &lt;button
                            class=&quot;gallery__selector__button&quot;
                            aria-expanded=&quot;false&quot;
                            aria-controls=&quot;gallerybinomesimage41&quot;
                            aria-label=&quot;Voir l&#x27;image &amp;quot;Photo d&amp;#x27;archive de performance: Binôme 03&amp;quot;&quot;
                            type=&quot;button&quot;
                    &gt;
                        &lt;img class=&quot;gallery__selector__image&quot; src=&quot;&amp;#x2F;arts&amp;#x2F;binome-01-02-03&amp;#x2F;gallery&amp;#x2F;binomes03_10.jpg&quot; alt=&quot;Photo d&amp;#x27;archive de performance: Binôme 03&quot;&#x2F;&gt;
                    &lt;&#x2F;button&gt;
                &lt;&#x2F;li&gt;
                
                
                &lt;li class=&quot;gallery__selector__item&quot;&gt;
                    &lt;button
                            class=&quot;gallery__selector__button&quot;
                            aria-expanded=&quot;false&quot;
                            aria-controls=&quot;gallerybinomesimage42&quot;
                            aria-label=&quot;Voir l&#x27;image &amp;quot;Photo d&amp;#x27;archive de performance: Binôme 03&amp;quot;&quot;
                            type=&quot;button&quot;
                    &gt;
                        &lt;img class=&quot;gallery__selector__image&quot; src=&quot;&amp;#x2F;arts&amp;#x2F;binome-01-02-03&amp;#x2F;gallery&amp;#x2F;binomes03_11.jpg&quot; alt=&quot;Photo d&amp;#x27;archive de performance: Binôme 03&quot;&#x2F;&gt;
                    &lt;&#x2F;button&gt;
                &lt;&#x2F;li&gt;
                
                
                &lt;li class=&quot;gallery__selector__item&quot;&gt;
                    &lt;button
                            class=&quot;gallery__selector__button&quot;
                            aria-expanded=&quot;false&quot;
                            aria-controls=&quot;gallerybinomesimage43&quot;
                            aria-label=&quot;Voir l&#x27;image &amp;quot;Photo d&amp;#x27;archive de performance: Binôme 03&amp;quot;&quot;
                            type=&quot;button&quot;
                    &gt;
                        &lt;img class=&quot;gallery__selector__image&quot; src=&quot;&amp;#x2F;arts&amp;#x2F;binome-01-02-03&amp;#x2F;gallery&amp;#x2F;binomes03_12.jpg&quot; alt=&quot;Photo d&amp;#x27;archive de performance: Binôme 03&quot;&#x2F;&gt;
                    &lt;&#x2F;button&gt;
                &lt;&#x2F;li&gt;
                
                
                &lt;li class=&quot;gallery__selector__item&quot;&gt;
                    &lt;button
                            class=&quot;gallery__selector__button&quot;
                            aria-expanded=&quot;false&quot;
                            aria-controls=&quot;gallerybinomesimage44&quot;
                            aria-label=&quot;Voir l&#x27;image &amp;quot;Photo d&amp;#x27;archive de performance: Binôme 03&amp;quot;&quot;
                            type=&quot;button&quot;
                    &gt;
                        &lt;img class=&quot;gallery__selector__image&quot; src=&quot;&amp;#x2F;arts&amp;#x2F;binome-01-02-03&amp;#x2F;gallery&amp;#x2F;binomes03_13.jpg&quot; alt=&quot;Photo d&amp;#x27;archive de performance: Binôme 03&quot;&#x2F;&gt;
                    &lt;&#x2F;button&gt;
                &lt;&#x2F;li&gt;
                
                
                &lt;li class=&quot;gallery__selector__item&quot;&gt;
                    &lt;button
                            class=&quot;gallery__selector__button&quot;
                            aria-expanded=&quot;false&quot;
                            aria-controls=&quot;gallerybinomesimage45&quot;
                            aria-label=&quot;Voir l&#x27;image &amp;quot;Photo d&amp;#x27;archive de performance: Binôme 03&amp;quot;&quot;
                            type=&quot;button&quot;
                    &gt;
                        &lt;img class=&quot;gallery__selector__image&quot; src=&quot;&amp;#x2F;arts&amp;#x2F;binome-01-02-03&amp;#x2F;gallery&amp;#x2F;binomes03_14.jpg&quot; alt=&quot;Photo d&amp;#x27;archive de performance: Binôme 03&quot;&#x2F;&gt;
                    &lt;&#x2F;button&gt;
                &lt;&#x2F;li&gt;
                
                
                &lt;li class=&quot;gallery__selector__item&quot;&gt;
                    &lt;button
                            class=&quot;gallery__selector__button&quot;
                            aria-expanded=&quot;false&quot;
                            aria-controls=&quot;gallerybinomesimage46&quot;
                            aria-label=&quot;Voir l&#x27;image &amp;quot;Photo d&amp;#x27;archive de performance: Binôme 03&amp;quot;&quot;
                            type=&quot;button&quot;
                    &gt;
                        &lt;img class=&quot;gallery__selector__image&quot; src=&quot;&amp;#x2F;arts&amp;#x2F;binome-01-02-03&amp;#x2F;gallery&amp;#x2F;binomes03_16.jpg&quot; alt=&quot;Photo d&amp;#x27;archive de performance: Binôme 03&quot;&#x2F;&gt;
                    &lt;&#x2F;button&gt;
                &lt;&#x2F;li&gt;
                
                
                &lt;li class=&quot;gallery__selector__item&quot;&gt;
                    &lt;button
                            class=&quot;gallery__selector__button&quot;
                            aria-expanded=&quot;false&quot;
                            aria-controls=&quot;gallerybinomesimage47&quot;
                            aria-label=&quot;Voir l&#x27;image &amp;quot;Photo d&amp;#x27;archive de performance: Binôme 03&amp;quot;&quot;
                            type=&quot;button&quot;
                    &gt;
                        &lt;img class=&quot;gallery__selector__image&quot; src=&quot;&amp;#x2F;arts&amp;#x2F;binome-01-02-03&amp;#x2F;gallery&amp;#x2F;binomes03_17.jpg&quot; alt=&quot;Photo d&amp;#x27;archive de performance: Binôme 03&quot;&#x2F;&gt;
                    &lt;&#x2F;button&gt;
                &lt;&#x2F;li&gt;
                
                
                &lt;li class=&quot;gallery__selector__item&quot;&gt;
                    &lt;button
                            class=&quot;gallery__selector__button&quot;
                            aria-expanded=&quot;false&quot;
                            aria-controls=&quot;gallerybinomesimage48&quot;
                            aria-label=&quot;Voir l&#x27;image &amp;quot;Photo d&amp;#x27;archive de performance: Binôme 03&amp;quot;&quot;
                            type=&quot;button&quot;
                    &gt;
                        &lt;img class=&quot;gallery__selector__image&quot; src=&quot;&amp;#x2F;arts&amp;#x2F;binome-01-02-03&amp;#x2F;gallery&amp;#x2F;binomes03_18.jpg&quot; alt=&quot;Photo d&amp;#x27;archive de performance: Binôme 03&quot;&#x2F;&gt;
                    &lt;&#x2F;button&gt;
                &lt;&#x2F;li&gt;
                
                
                &lt;li class=&quot;gallery__selector__item&quot;&gt;
                    &lt;button
                            class=&quot;gallery__selector__button&quot;
                            aria-expanded=&quot;false&quot;
                            aria-controls=&quot;gallerybinomesimage49&quot;
                            aria-label=&quot;Voir l&#x27;image &amp;quot;Photo d&amp;#x27;archive de performance: Binôme 03&amp;quot;&quot;
                            type=&quot;button&quot;
                    &gt;
                        &lt;img class=&quot;gallery__selector__image&quot; src=&quot;&amp;#x2F;arts&amp;#x2F;binome-01-02-03&amp;#x2F;gallery&amp;#x2F;binomes03_19.jpg&quot; alt=&quot;Photo d&amp;#x27;archive de performance: Binôme 03&quot;&#x2F;&gt;
                    &lt;&#x2F;button&gt;
                &lt;&#x2F;li&gt;
                
    &lt;&#x2F;ul&gt;
&lt;&#x2F;div&gt;
&lt;script&gt;
    &#x2F;&#x2F; Define
    &#x2F;&#x2F; function hideDisplayedImage(galleryId, image)
    if (typeof globalThis.hideDisplayedImage === &quot;undefined&quot;) {
        globalThis.hideDisplayedImage = function(galleryId, image) {
            const fullscreenImageContainer = document.querySelector(&quot;#&quot; + galleryId + &quot; .gallery__viewport&quot;);
            fullscreenImageContainer.classList.remove(&quot;gallery__viewport--display&quot;);
            image.classList.remove(&quot;gallery__viewport__image--display&quot;);
            const selector = &#x27;[aria-controls=&quot;&#x27; + image.getAttribute(&quot;id&quot;) + &#x27;&quot;]&#x27;
            const controlsButton = document.querySelector(selector);
            controlsButton.setAttribute(&quot;aria-expanded&quot;, &quot;false&quot;);
        }
    }

    &#x2F;&#x2F; Define
    &#x2F;&#x2F; function displayImageWithButton(galleryId, button)
    if (typeof globalThis.displayImageWithButton === &quot;undefined&quot;) {
        globalThis.displayImageWithButton = function(galleryId, button) {
            button.focus();
            const fullscreenImageContainer = document.querySelector(&quot;#&quot; + galleryId + &quot; .gallery__viewport&quot;);
            fullscreenImageContainer.classList.add(&quot;gallery__viewport--display&quot;);
            const ariaControlsId = button.getAttribute(&quot;aria-controls&quot;);
            const controlledElement = document.getElementById(ariaControlsId);
            controlledElement.classList.add(&quot;gallery__viewport__image--display&quot;);
            button.setAttribute(&quot;aria-expanded&quot;, &quot;true&quot;);
        }
    }

    &#x2F;&#x2F; Define
    &#x2F;&#x2F; function displayImageWithControlledElement(galleryId, button)
    if (typeof globalThis.displayImageWithControlledElement === &quot;undefined&quot;) {
        globalThis.displayImageWithControlledElement = function(galleryId, controlledElement) {
            const selector = &#x27;[aria-controls=&quot;&#x27; + controlledElement.getAttribute(&quot;id&quot;) + &#x27;&quot;]&#x27;
            const controlsButton = document.querySelector(selector);
            displayImageWithButton(galleryId, controlsButton);
        }
    }

    &#x2F;&#x2F; Define
    &#x2F;&#x2F; function checkSwipeDirection(touchstartX, touchendX)
    if (typeof globalThis.checkSwipeDirection === &quot;undefined&quot;) {
        globalThis.checkSwipeDirection =  function(touchstartX, touchendX) {
            if (touchendX &lt; touchstartX) {
                return &quot;left&quot;;
            } else if (touchendX &gt; touchstartX) {
                return &quot;right&quot;;
            } else {
                return &quot;&quot;;
            }
        }
    }

    &#x2F;&#x2F; Define
    &#x2F;&#x2F; function displayNextImage()
    if (typeof globalThis.displayNextImage === &quot;undefined&quot;) {
        globalThis.displayNextImage = function() {
            const controlledElement = document.getElementsByClassName(&quot;gallery__viewport__image--display&quot;)[0];
            if (controlledElement !== undefined) {
                hideDisplayedImage(&quot;gallerybinomes&quot;, controlledElement);

                let newControlledElement = controlledElement.nextElementSibling;
                if (newControlledElement === null) {
                    newControlledElement = controlledElement.parentElement.firstElementChild;
                }

                if (newControlledElement !== null &amp;&amp; newControlledElement !== undefined) {
                    displayImageWithControlledElement(&quot;gallerybinomes&quot;, newControlledElement);
                }
            }
        }
    }

    &#x2F;&#x2F; Define
    &#x2F;&#x2F; function displayPreviousImage()
    if (typeof globalThis.displayPreviousImage === &quot;undefined&quot;) {
        globalThis.displayPreviousImage = function () {
            const controlledElement = document.getElementsByClassName(&quot;gallery__viewport__image--display&quot;)[0];
            if (controlledElement !== undefined) {
                hideDisplayedImage(&quot;gallerybinomes&quot;, controlledElement);

                let newControlledElement = controlledElement.previousElementSibling;
                if (newControlledElement === null) {
                    newControlledElement = controlledElement.parentElement.lastElementChild;
                }

                if (newControlledElement !== null &amp;&amp; newControlledElement !== undefined) {
                    displayImageWithControlledElement(&quot;gallerybinomes&quot;, newControlledElement);
                }
            }
        }
    }

    &#x2F;&#x2F; Init
    &#x2F;&#x2F; Gallery Buttons
    const galleryButtonsgallerybinomes = document.querySelectorAll(&quot;#gallerybinomes .gallery__selector__button&quot;);
    for (let i = 0; i &lt; galleryButtonsgallerybinomes.length; i++) {

        &#x2F;&#x2F; Click
        galleryButtonsgallerybinomes[i].addEventListener(&quot;click&quot;, function(event) {
            displayImageWithButton(&quot;gallerybinomes&quot;, this);
        });

        &#x2F;&#x2F; Focus In
        galleryButtonsgallerybinomes[i].addEventListener(&#x27;focusin&#x27;, function(event) {
            const previousFocusableItem = event.relatedTarget;
            const displayedImages = document.getElementsByClassName(&quot;gallery__viewport__image--display&quot;);
            if (
                (previousFocusableItem === null || !previousFocusableItem.classList.contains(&quot;gallery__selector__button&quot;))
                &amp;&amp; displayedImages.length &gt; 0
            ) {
                &#x2F;&#x2F; Hide all displayed images
                const displayedImages = document.getElementsByClassName(&quot;gallery__viewport__image--display&quot;);
                if (displayedImages.length &gt; 0) {
                    for (let i = 0; i &lt; displayedImages.length; i++) {
                        hideDisplayedImage(&quot;gallerybinomes&quot;, displayedImages[i]);
                    }
                }
                displayImageWithButton(&quot;gallerybinomes&quot;, this);
            }
        });

        &#x2F;&#x2F; Focus Out
        galleryButtonsgallerybinomes[i].addEventListener(&#x27;focusout&#x27;, function(event) {
            &#x2F;&#x2F; Prevent focus out actions if it&#x27;s a click on a gallery viewport element.
            const eventOriginClassList = event.explicitOriginalTarget.classList;
            if (
                eventOriginClassList.contains(&quot;gallery__viewport__image&quot;)
                || eventOriginClassList.contains(&quot;gallery__viewport__controls&quot;)
                || eventOriginClassList.contains(&quot;gallery__viewport__controls__nav-button&quot;)
                || eventOriginClassList.contains(&quot;gallery__viewport__controls__nav-close-btn&quot;)
                || eventOriginClassList.contains(&quot;gallery__viewport&quot;)
            ) {
                return;
            }

            &#x2F;&#x2F; Hide all displayed images
            const displayedImages = document.getElementsByClassName(&quot;gallery__viewport__image--display&quot;);
            if (displayedImages.length &gt; 0) {
                for (let i = 0; i &lt; displayedImages.length; i++) {
                    hideDisplayedImage(&quot;gallerybinomes&quot;, displayedImages[i]);
                }
                const nextFocusableItem = event.relatedTarget;
                if (nextFocusableItem != null &amp;&amp; nextFocusableItem.classList.contains(&quot;gallery__selector__button&quot;)) {
                    displayImageWithButton(&quot;gallerybinomes&quot;, nextFocusableItem);
                }
            }
        });
    }

    &#x2F;&#x2F; Previous Button
    &#x2F;&#x2F; Click
    const previousImageButtongallerybinomes = document.querySelector(&quot;#gallerybinomes .gallery__viewport__controls__nav-button--left&quot;);
    previousImageButtongallerybinomes.addEventListener(&#x27;click&#x27;, function(event) {
        displayPreviousImage();
    });

    &#x2F;&#x2F; Next Button
    &#x2F;&#x2F; Click
    const nextImageButtongallerybinomes = document.querySelector(&quot;#gallerybinomes .gallery__viewport__controls__nav-button--right&quot;);
    nextImageButtongallerybinomes.addEventListener(&#x27;click&#x27;, function(event) {
        displayNextImage();
    });

    &#x2F;&#x2F; Close Button
    &#x2F;&#x2F; Click
    const closeImageButtongallerybinomes = document.querySelector(&quot;#gallerybinomes .gallery__viewport__controls__nav-close-btn&quot;);
    closeImageButtongallerybinomes.addEventListener(&#x27;click&#x27;, function(event) {
        const controlledElement = document.getElementsByClassName(&quot;gallery__viewport__image--display&quot;)[0];
        if (controlledElement !== undefined) {
            hideDisplayedImage(&quot;gallerybinomes&quot;, controlledElement);
        }
    });

    &#x2F;&#x2F; Keyboard Controls
    document.addEventListener(&#x27;keydown&#x27;, (event) =&gt; {
        const controlledElement = document.getElementsByClassName(&quot;gallery__viewport__image--display&quot;)[0];
        if (controlledElement !== undefined) {

            &#x2F;&#x2F; Hide image
            &#x2F;&#x2F; ESC, LEFT, RIGHT
            if (event.code === &#x27;Escape&#x27; || event.code === &#x27;ArrowLeft&#x27; || event.code === &#x27;ArrowRight&#x27;) {
                hideDisplayedImage(&quot;gallerybinomes&quot;, controlledElement);
            }

            let newControlledElement;

            &#x2F;&#x2F; Select new controlled element(image)
            &#x2F;&#x2F; LEFT
            if (event.code === &#x27;ArrowLeft&#x27;) {
                newControlledElement = controlledElement.previousElementSibling;
                if (newControlledElement === null) {
                    newControlledElement = controlledElement.parentElement.lastElementChild;
                }
            }
            &#x2F;&#x2F; RIGHT
            if (event.code === &#x27;ArrowRight&#x27;) {
                newControlledElement = controlledElement.nextElementSibling;
                if (newControlledElement === null) {
                    newControlledElement = controlledElement.parentElement.firstElementChild;
                }
            }

            &#x2F;&#x2F; Active button and display image
            if (newControlledElement !== null &amp;&amp; newControlledElement !== undefined) {
                displayImageWithControlledElement(&quot;gallerybinomes&quot;, newControlledElement);
            }
        }
    })

    &#x2F;&#x2F; Touch Gesture
    let touchstartXgallerybinomes = 0;
    let touchendXgallerybinomes = 0;

    const galleryViewportgallerybinomes = document.getElementsByClassName(&quot;gallery__viewport&quot;)[0];
    if (galleryViewportgallerybinomes !== undefined) {

        galleryViewportgallerybinomes.addEventListener(&#x27;touchstart&#x27;, function(event) {
            touchstartXgallerybinomes = event.changedTouches[0].screenX
        });

        galleryViewportgallerybinomes.addEventListener(&#x27;touchend&#x27;, function(event) {
            touchendXgallerybinomes = event.changedTouches[0].screenX
            const direction = checkSwipeDirection(touchstartXgallerybinomes, touchendXgallerybinomes);
            if (direction === &quot;left&quot;) {
                displayPreviousImage();
            } else if (direction === &quot;right&quot;) {
                displayNextImage();
            }
        });

        galleryViewportgallerybinomes.addEventListner(&#x27;touchmove&#x27;, function(event) {
            event.preventDefault();
            event.stopPropagation();
        });
    }
&lt;&#x2F;script&gt;</content>
        
    </entry>
    <entry xml:lang="fr">
        <title>Jardin zen nord-américain</title>
        <published>2012-01-01T00:00:00+00:00</published>
        <updated>2012-01-01T00:00:00+00:00</updated>
        
        <author>
          <name>
            
              Pierre Tremblay-Thériault
            
          </name>
        </author>
        
        <link rel="alternate" type="text/html" href="https://lapinchatware.ca/arts/jardin-zen-nord-americain/"/>
        <id>https://lapinchatware.ca/arts/jardin-zen-nord-americain/</id>
        
        <content type="html" xml:base="https://lapinchatware.ca/arts/jardin-zen-nord-americain/">&lt;p&gt;Artistes: Andrée-Anne Giguère, Elaine Juteau, Yves Whissell, Pierre Tremblay-Thériault&lt;&#x2F;p&gt;
&lt;div id=&quot;galleryjardinzennordamericain&quot; class=&quot;gallery&quot;&gt;
    
    &lt;div class=&quot;gallery__viewport&quot;&gt;
        &lt;div class=&quot;gallery__viewport__images&quot;&gt;
            
            
                    
                    &lt;img id=&quot;galleryjardinzennordamericainimage0&quot; class=&quot;gallery__viewport__image&quot; src=&quot;&amp;#x2F;arts&amp;#x2F;jardin-zen-nord-americain&amp;#x2F;gallery&amp;#x2F;jardin_01.jpg&quot; alt=&quot;Photo d&amp;#x27;archive de performance: 1&quot;&#x2F;&gt;
                    
                    
                    &lt;img id=&quot;galleryjardinzennordamericainimage1&quot; class=&quot;gallery__viewport__image&quot; src=&quot;&amp;#x2F;arts&amp;#x2F;jardin-zen-nord-americain&amp;#x2F;gallery&amp;#x2F;jardin_02.jpg&quot; alt=&quot;Photo d&amp;#x27;archive de performance: 2&quot;&#x2F;&gt;
                    
                    
                    &lt;img id=&quot;galleryjardinzennordamericainimage2&quot; class=&quot;gallery__viewport__image&quot; src=&quot;&amp;#x2F;arts&amp;#x2F;jardin-zen-nord-americain&amp;#x2F;gallery&amp;#x2F;jardin_03.jpg&quot; alt=&quot;Photo d&amp;#x27;archive de performance: 3&quot;&#x2F;&gt;
                    
                    
                    &lt;img id=&quot;galleryjardinzennordamericainimage3&quot; class=&quot;gallery__viewport__image&quot; src=&quot;&amp;#x2F;arts&amp;#x2F;jardin-zen-nord-americain&amp;#x2F;gallery&amp;#x2F;jardin_04.jpg&quot; alt=&quot;Photo d&amp;#x27;archive de performance: 4&quot;&#x2F;&gt;
                    
                    
                    &lt;img id=&quot;galleryjardinzennordamericainimage4&quot; class=&quot;gallery__viewport__image&quot; src=&quot;&amp;#x2F;arts&amp;#x2F;jardin-zen-nord-americain&amp;#x2F;gallery&amp;#x2F;jardin_05.jpg&quot; alt=&quot;Photo d&amp;#x27;archive de performance: 5&quot;&#x2F;&gt;
                    
                    
                    &lt;img id=&quot;galleryjardinzennordamericainimage5&quot; class=&quot;gallery__viewport__image&quot; src=&quot;&amp;#x2F;arts&amp;#x2F;jardin-zen-nord-americain&amp;#x2F;gallery&amp;#x2F;jardin_06.jpg&quot; alt=&quot;Photo d&amp;#x27;archive de performance: 6&quot;&#x2F;&gt;
                    
                    
                    &lt;img id=&quot;galleryjardinzennordamericainimage6&quot; class=&quot;gallery__viewport__image&quot; src=&quot;&amp;#x2F;arts&amp;#x2F;jardin-zen-nord-americain&amp;#x2F;gallery&amp;#x2F;jardin_07.jpg&quot; alt=&quot;Photo d&amp;#x27;archive de performance: 7&quot;&#x2F;&gt;
                    
                    
                    &lt;img id=&quot;galleryjardinzennordamericainimage7&quot; class=&quot;gallery__viewport__image&quot; src=&quot;&amp;#x2F;arts&amp;#x2F;jardin-zen-nord-americain&amp;#x2F;gallery&amp;#x2F;jardin_08.jpg&quot; alt=&quot;Photo d&amp;#x27;archive de performance: 8&quot;&#x2F;&gt;
                    
                    
                    &lt;img id=&quot;galleryjardinzennordamericainimage8&quot; class=&quot;gallery__viewport__image&quot; src=&quot;&amp;#x2F;arts&amp;#x2F;jardin-zen-nord-americain&amp;#x2F;gallery&amp;#x2F;jardin_09.jpg&quot; alt=&quot;Photo d&amp;#x27;archive de performance: 9&quot;&#x2F;&gt;
                    
                    
                    &lt;img id=&quot;galleryjardinzennordamericainimage9&quot; class=&quot;gallery__viewport__image&quot; src=&quot;&amp;#x2F;arts&amp;#x2F;jardin-zen-nord-americain&amp;#x2F;gallery&amp;#x2F;jardin_10.jpg&quot; alt=&quot;Photo d&amp;#x27;archive de performance: 10&quot;&#x2F;&gt;
                    
        &lt;&#x2F;div&gt;
        &lt;div class=&quot;gallery__viewport__controls&quot;&gt;
            &lt;img class=&quot;gallery__viewport__controls__nav-button gallery__viewport__controls__nav-button--left&quot; src=&quot;&#x2F;images&#x2F;angle-left.svg&quot; alt=&quot;Voir l&#x27;image précédente.&quot; aria-hidden=&quot;true&quot;&#x2F;&gt;
            &lt;img class=&quot;gallery__viewport__controls__nav-button gallery__viewport__controls__nav-button--right&quot; src=&quot;&#x2F;images&#x2F;angle-right.svg&quot; alt=&quot;Voir l&#x27;image suivante.&quot; aria-hidden=&quot;true&quot;&#x2F;&gt;
            &lt;img class=&quot;gallery__viewport__controls__nav-close-btn&quot; src=&quot;&#x2F;images&#x2F;close-icon.svg&quot; alt=&quot;Fermer la gallery&quot;&#x2F;&gt;
        &lt;&#x2F;div&gt;
    &lt;&#x2F;div&gt;
    &lt;ul class=&quot;gallery__selector&quot;&gt;
        
        
                
                &lt;li class=&quot;gallery__selector__item&quot;&gt;
                    &lt;button
                            class=&quot;gallery__selector__button&quot;
                            aria-expanded=&quot;false&quot;
                            aria-controls=&quot;galleryjardinzennordamericainimage0&quot;
                            aria-label=&quot;Voir l&#x27;image &amp;quot;Photo d&amp;#x27;archive de performance: 1&amp;quot;&quot;
                            type=&quot;button&quot;
                    &gt;
                        &lt;img class=&quot;gallery__selector__image&quot; src=&quot;&amp;#x2F;arts&amp;#x2F;jardin-zen-nord-americain&amp;#x2F;gallery&amp;#x2F;jardin_01.jpg&quot; alt=&quot;Photo d&amp;#x27;archive de performance: 1&quot;&#x2F;&gt;
                    &lt;&#x2F;button&gt;
                &lt;&#x2F;li&gt;
                
                
                &lt;li class=&quot;gallery__selector__item&quot;&gt;
                    &lt;button
                            class=&quot;gallery__selector__button&quot;
                            aria-expanded=&quot;false&quot;
                            aria-controls=&quot;galleryjardinzennordamericainimage1&quot;
                            aria-label=&quot;Voir l&#x27;image &amp;quot;Photo d&amp;#x27;archive de performance: 2&amp;quot;&quot;
                            type=&quot;button&quot;
                    &gt;
                        &lt;img class=&quot;gallery__selector__image&quot; src=&quot;&amp;#x2F;arts&amp;#x2F;jardin-zen-nord-americain&amp;#x2F;gallery&amp;#x2F;jardin_02.jpg&quot; alt=&quot;Photo d&amp;#x27;archive de performance: 2&quot;&#x2F;&gt;
                    &lt;&#x2F;button&gt;
                &lt;&#x2F;li&gt;
                
                
                &lt;li class=&quot;gallery__selector__item&quot;&gt;
                    &lt;button
                            class=&quot;gallery__selector__button&quot;
                            aria-expanded=&quot;false&quot;
                            aria-controls=&quot;galleryjardinzennordamericainimage2&quot;
                            aria-label=&quot;Voir l&#x27;image &amp;quot;Photo d&amp;#x27;archive de performance: 3&amp;quot;&quot;
                            type=&quot;button&quot;
                    &gt;
                        &lt;img class=&quot;gallery__selector__image&quot; src=&quot;&amp;#x2F;arts&amp;#x2F;jardin-zen-nord-americain&amp;#x2F;gallery&amp;#x2F;jardin_03.jpg&quot; alt=&quot;Photo d&amp;#x27;archive de performance: 3&quot;&#x2F;&gt;
                    &lt;&#x2F;button&gt;
                &lt;&#x2F;li&gt;
                
                
                &lt;li class=&quot;gallery__selector__item&quot;&gt;
                    &lt;button
                            class=&quot;gallery__selector__button&quot;
                            aria-expanded=&quot;false&quot;
                            aria-controls=&quot;galleryjardinzennordamericainimage3&quot;
                            aria-label=&quot;Voir l&#x27;image &amp;quot;Photo d&amp;#x27;archive de performance: 4&amp;quot;&quot;
                            type=&quot;button&quot;
                    &gt;
                        &lt;img class=&quot;gallery__selector__image&quot; src=&quot;&amp;#x2F;arts&amp;#x2F;jardin-zen-nord-americain&amp;#x2F;gallery&amp;#x2F;jardin_04.jpg&quot; alt=&quot;Photo d&amp;#x27;archive de performance: 4&quot;&#x2F;&gt;
                    &lt;&#x2F;button&gt;
                &lt;&#x2F;li&gt;
                
                
                &lt;li class=&quot;gallery__selector__item&quot;&gt;
                    &lt;button
                            class=&quot;gallery__selector__button&quot;
                            aria-expanded=&quot;false&quot;
                            aria-controls=&quot;galleryjardinzennordamericainimage4&quot;
                            aria-label=&quot;Voir l&#x27;image &amp;quot;Photo d&amp;#x27;archive de performance: 5&amp;quot;&quot;
                            type=&quot;button&quot;
                    &gt;
                        &lt;img class=&quot;gallery__selector__image&quot; src=&quot;&amp;#x2F;arts&amp;#x2F;jardin-zen-nord-americain&amp;#x2F;gallery&amp;#x2F;jardin_05.jpg&quot; alt=&quot;Photo d&amp;#x27;archive de performance: 5&quot;&#x2F;&gt;
                    &lt;&#x2F;button&gt;
                &lt;&#x2F;li&gt;
                
                
                &lt;li class=&quot;gallery__selector__item&quot;&gt;
                    &lt;button
                            class=&quot;gallery__selector__button&quot;
                            aria-expanded=&quot;false&quot;
                            aria-controls=&quot;galleryjardinzennordamericainimage5&quot;
                            aria-label=&quot;Voir l&#x27;image &amp;quot;Photo d&amp;#x27;archive de performance: 6&amp;quot;&quot;
                            type=&quot;button&quot;
                    &gt;
                        &lt;img class=&quot;gallery__selector__image&quot; src=&quot;&amp;#x2F;arts&amp;#x2F;jardin-zen-nord-americain&amp;#x2F;gallery&amp;#x2F;jardin_06.jpg&quot; alt=&quot;Photo d&amp;#x27;archive de performance: 6&quot;&#x2F;&gt;
                    &lt;&#x2F;button&gt;
                &lt;&#x2F;li&gt;
                
                
                &lt;li class=&quot;gallery__selector__item&quot;&gt;
                    &lt;button
                            class=&quot;gallery__selector__button&quot;
                            aria-expanded=&quot;false&quot;
                            aria-controls=&quot;galleryjardinzennordamericainimage6&quot;
                            aria-label=&quot;Voir l&#x27;image &amp;quot;Photo d&amp;#x27;archive de performance: 7&amp;quot;&quot;
                            type=&quot;button&quot;
                    &gt;
                        &lt;img class=&quot;gallery__selector__image&quot; src=&quot;&amp;#x2F;arts&amp;#x2F;jardin-zen-nord-americain&amp;#x2F;gallery&amp;#x2F;jardin_07.jpg&quot; alt=&quot;Photo d&amp;#x27;archive de performance: 7&quot;&#x2F;&gt;
                    &lt;&#x2F;button&gt;
                &lt;&#x2F;li&gt;
                
                
                &lt;li class=&quot;gallery__selector__item&quot;&gt;
                    &lt;button
                            class=&quot;gallery__selector__button&quot;
                            aria-expanded=&quot;false&quot;
                            aria-controls=&quot;galleryjardinzennordamericainimage7&quot;
                            aria-label=&quot;Voir l&#x27;image &amp;quot;Photo d&amp;#x27;archive de performance: 8&amp;quot;&quot;
                            type=&quot;button&quot;
                    &gt;
                        &lt;img class=&quot;gallery__selector__image&quot; src=&quot;&amp;#x2F;arts&amp;#x2F;jardin-zen-nord-americain&amp;#x2F;gallery&amp;#x2F;jardin_08.jpg&quot; alt=&quot;Photo d&amp;#x27;archive de performance: 8&quot;&#x2F;&gt;
                    &lt;&#x2F;button&gt;
                &lt;&#x2F;li&gt;
                
                
                &lt;li class=&quot;gallery__selector__item&quot;&gt;
                    &lt;button
                            class=&quot;gallery__selector__button&quot;
                            aria-expanded=&quot;false&quot;
                            aria-controls=&quot;galleryjardinzennordamericainimage8&quot;
                            aria-label=&quot;Voir l&#x27;image &amp;quot;Photo d&amp;#x27;archive de performance: 9&amp;quot;&quot;
                            type=&quot;button&quot;
                    &gt;
                        &lt;img class=&quot;gallery__selector__image&quot; src=&quot;&amp;#x2F;arts&amp;#x2F;jardin-zen-nord-americain&amp;#x2F;gallery&amp;#x2F;jardin_09.jpg&quot; alt=&quot;Photo d&amp;#x27;archive de performance: 9&quot;&#x2F;&gt;
                    &lt;&#x2F;button&gt;
                &lt;&#x2F;li&gt;
                
                
                &lt;li class=&quot;gallery__selector__item&quot;&gt;
                    &lt;button
                            class=&quot;gallery__selector__button&quot;
                            aria-expanded=&quot;false&quot;
                            aria-controls=&quot;galleryjardinzennordamericainimage9&quot;
                            aria-label=&quot;Voir l&#x27;image &amp;quot;Photo d&amp;#x27;archive de performance: 10&amp;quot;&quot;
                            type=&quot;button&quot;
                    &gt;
                        &lt;img class=&quot;gallery__selector__image&quot; src=&quot;&amp;#x2F;arts&amp;#x2F;jardin-zen-nord-americain&amp;#x2F;gallery&amp;#x2F;jardin_10.jpg&quot; alt=&quot;Photo d&amp;#x27;archive de performance: 10&quot;&#x2F;&gt;
                    &lt;&#x2F;button&gt;
                &lt;&#x2F;li&gt;
                
    &lt;&#x2F;ul&gt;
&lt;&#x2F;div&gt;
&lt;script&gt;
    &#x2F;&#x2F; Define
    &#x2F;&#x2F; function hideDisplayedImage(galleryId, image)
    if (typeof globalThis.hideDisplayedImage === &quot;undefined&quot;) {
        globalThis.hideDisplayedImage = function(galleryId, image) {
            const fullscreenImageContainer = document.querySelector(&quot;#&quot; + galleryId + &quot; .gallery__viewport&quot;);
            fullscreenImageContainer.classList.remove(&quot;gallery__viewport--display&quot;);
            image.classList.remove(&quot;gallery__viewport__image--display&quot;);
            const selector = &#x27;[aria-controls=&quot;&#x27; + image.getAttribute(&quot;id&quot;) + &#x27;&quot;]&#x27;
            const controlsButton = document.querySelector(selector);
            controlsButton.setAttribute(&quot;aria-expanded&quot;, &quot;false&quot;);
        }
    }

    &#x2F;&#x2F; Define
    &#x2F;&#x2F; function displayImageWithButton(galleryId, button)
    if (typeof globalThis.displayImageWithButton === &quot;undefined&quot;) {
        globalThis.displayImageWithButton = function(galleryId, button) {
            button.focus();
            const fullscreenImageContainer = document.querySelector(&quot;#&quot; + galleryId + &quot; .gallery__viewport&quot;);
            fullscreenImageContainer.classList.add(&quot;gallery__viewport--display&quot;);
            const ariaControlsId = button.getAttribute(&quot;aria-controls&quot;);
            const controlledElement = document.getElementById(ariaControlsId);
            controlledElement.classList.add(&quot;gallery__viewport__image--display&quot;);
            button.setAttribute(&quot;aria-expanded&quot;, &quot;true&quot;);
        }
    }

    &#x2F;&#x2F; Define
    &#x2F;&#x2F; function displayImageWithControlledElement(galleryId, button)
    if (typeof globalThis.displayImageWithControlledElement === &quot;undefined&quot;) {
        globalThis.displayImageWithControlledElement = function(galleryId, controlledElement) {
            const selector = &#x27;[aria-controls=&quot;&#x27; + controlledElement.getAttribute(&quot;id&quot;) + &#x27;&quot;]&#x27;
            const controlsButton = document.querySelector(selector);
            displayImageWithButton(galleryId, controlsButton);
        }
    }

    &#x2F;&#x2F; Define
    &#x2F;&#x2F; function checkSwipeDirection(touchstartX, touchendX)
    if (typeof globalThis.checkSwipeDirection === &quot;undefined&quot;) {
        globalThis.checkSwipeDirection =  function(touchstartX, touchendX) {
            if (touchendX &lt; touchstartX) {
                return &quot;left&quot;;
            } else if (touchendX &gt; touchstartX) {
                return &quot;right&quot;;
            } else {
                return &quot;&quot;;
            }
        }
    }

    &#x2F;&#x2F; Define
    &#x2F;&#x2F; function displayNextImage()
    if (typeof globalThis.displayNextImage === &quot;undefined&quot;) {
        globalThis.displayNextImage = function() {
            const controlledElement = document.getElementsByClassName(&quot;gallery__viewport__image--display&quot;)[0];
            if (controlledElement !== undefined) {
                hideDisplayedImage(&quot;galleryjardinzennordamericain&quot;, controlledElement);

                let newControlledElement = controlledElement.nextElementSibling;
                if (newControlledElement === null) {
                    newControlledElement = controlledElement.parentElement.firstElementChild;
                }

                if (newControlledElement !== null &amp;&amp; newControlledElement !== undefined) {
                    displayImageWithControlledElement(&quot;galleryjardinzennordamericain&quot;, newControlledElement);
                }
            }
        }
    }

    &#x2F;&#x2F; Define
    &#x2F;&#x2F; function displayPreviousImage()
    if (typeof globalThis.displayPreviousImage === &quot;undefined&quot;) {
        globalThis.displayPreviousImage = function () {
            const controlledElement = document.getElementsByClassName(&quot;gallery__viewport__image--display&quot;)[0];
            if (controlledElement !== undefined) {
                hideDisplayedImage(&quot;galleryjardinzennordamericain&quot;, controlledElement);

                let newControlledElement = controlledElement.previousElementSibling;
                if (newControlledElement === null) {
                    newControlledElement = controlledElement.parentElement.lastElementChild;
                }

                if (newControlledElement !== null &amp;&amp; newControlledElement !== undefined) {
                    displayImageWithControlledElement(&quot;galleryjardinzennordamericain&quot;, newControlledElement);
                }
            }
        }
    }

    &#x2F;&#x2F; Init
    &#x2F;&#x2F; Gallery Buttons
    const galleryButtonsgalleryjardinzennordamericain = document.querySelectorAll(&quot;#galleryjardinzennordamericain .gallery__selector__button&quot;);
    for (let i = 0; i &lt; galleryButtonsgalleryjardinzennordamericain.length; i++) {

        &#x2F;&#x2F; Click
        galleryButtonsgalleryjardinzennordamericain[i].addEventListener(&quot;click&quot;, function(event) {
            displayImageWithButton(&quot;galleryjardinzennordamericain&quot;, this);
        });

        &#x2F;&#x2F; Focus In
        galleryButtonsgalleryjardinzennordamericain[i].addEventListener(&#x27;focusin&#x27;, function(event) {
            const previousFocusableItem = event.relatedTarget;
            const displayedImages = document.getElementsByClassName(&quot;gallery__viewport__image--display&quot;);
            if (
                (previousFocusableItem === null || !previousFocusableItem.classList.contains(&quot;gallery__selector__button&quot;))
                &amp;&amp; displayedImages.length &gt; 0
            ) {
                &#x2F;&#x2F; Hide all displayed images
                const displayedImages = document.getElementsByClassName(&quot;gallery__viewport__image--display&quot;);
                if (displayedImages.length &gt; 0) {
                    for (let i = 0; i &lt; displayedImages.length; i++) {
                        hideDisplayedImage(&quot;galleryjardinzennordamericain&quot;, displayedImages[i]);
                    }
                }
                displayImageWithButton(&quot;galleryjardinzennordamericain&quot;, this);
            }
        });

        &#x2F;&#x2F; Focus Out
        galleryButtonsgalleryjardinzennordamericain[i].addEventListener(&#x27;focusout&#x27;, function(event) {
            &#x2F;&#x2F; Prevent focus out actions if it&#x27;s a click on a gallery viewport element.
            const eventOriginClassList = event.explicitOriginalTarget.classList;
            if (
                eventOriginClassList.contains(&quot;gallery__viewport__image&quot;)
                || eventOriginClassList.contains(&quot;gallery__viewport__controls&quot;)
                || eventOriginClassList.contains(&quot;gallery__viewport__controls__nav-button&quot;)
                || eventOriginClassList.contains(&quot;gallery__viewport__controls__nav-close-btn&quot;)
                || eventOriginClassList.contains(&quot;gallery__viewport&quot;)
            ) {
                return;
            }

            &#x2F;&#x2F; Hide all displayed images
            const displayedImages = document.getElementsByClassName(&quot;gallery__viewport__image--display&quot;);
            if (displayedImages.length &gt; 0) {
                for (let i = 0; i &lt; displayedImages.length; i++) {
                    hideDisplayedImage(&quot;galleryjardinzennordamericain&quot;, displayedImages[i]);
                }
                const nextFocusableItem = event.relatedTarget;
                if (nextFocusableItem != null &amp;&amp; nextFocusableItem.classList.contains(&quot;gallery__selector__button&quot;)) {
                    displayImageWithButton(&quot;galleryjardinzennordamericain&quot;, nextFocusableItem);
                }
            }
        });
    }

    &#x2F;&#x2F; Previous Button
    &#x2F;&#x2F; Click
    const previousImageButtongalleryjardinzennordamericain = document.querySelector(&quot;#galleryjardinzennordamericain .gallery__viewport__controls__nav-button--left&quot;);
    previousImageButtongalleryjardinzennordamericain.addEventListener(&#x27;click&#x27;, function(event) {
        displayPreviousImage();
    });

    &#x2F;&#x2F; Next Button
    &#x2F;&#x2F; Click
    const nextImageButtongalleryjardinzennordamericain = document.querySelector(&quot;#galleryjardinzennordamericain .gallery__viewport__controls__nav-button--right&quot;);
    nextImageButtongalleryjardinzennordamericain.addEventListener(&#x27;click&#x27;, function(event) {
        displayNextImage();
    });

    &#x2F;&#x2F; Close Button
    &#x2F;&#x2F; Click
    const closeImageButtongalleryjardinzennordamericain = document.querySelector(&quot;#galleryjardinzennordamericain .gallery__viewport__controls__nav-close-btn&quot;);
    closeImageButtongalleryjardinzennordamericain.addEventListener(&#x27;click&#x27;, function(event) {
        const controlledElement = document.getElementsByClassName(&quot;gallery__viewport__image--display&quot;)[0];
        if (controlledElement !== undefined) {
            hideDisplayedImage(&quot;galleryjardinzennordamericain&quot;, controlledElement);
        }
    });

    &#x2F;&#x2F; Keyboard Controls
    document.addEventListener(&#x27;keydown&#x27;, (event) =&gt; {
        const controlledElement = document.getElementsByClassName(&quot;gallery__viewport__image--display&quot;)[0];
        if (controlledElement !== undefined) {

            &#x2F;&#x2F; Hide image
            &#x2F;&#x2F; ESC, LEFT, RIGHT
            if (event.code === &#x27;Escape&#x27; || event.code === &#x27;ArrowLeft&#x27; || event.code === &#x27;ArrowRight&#x27;) {
                hideDisplayedImage(&quot;galleryjardinzennordamericain&quot;, controlledElement);
            }

            let newControlledElement;

            &#x2F;&#x2F; Select new controlled element(image)
            &#x2F;&#x2F; LEFT
            if (event.code === &#x27;ArrowLeft&#x27;) {
                newControlledElement = controlledElement.previousElementSibling;
                if (newControlledElement === null) {
                    newControlledElement = controlledElement.parentElement.lastElementChild;
                }
            }
            &#x2F;&#x2F; RIGHT
            if (event.code === &#x27;ArrowRight&#x27;) {
                newControlledElement = controlledElement.nextElementSibling;
                if (newControlledElement === null) {
                    newControlledElement = controlledElement.parentElement.firstElementChild;
                }
            }

            &#x2F;&#x2F; Active button and display image
            if (newControlledElement !== null &amp;&amp; newControlledElement !== undefined) {
                displayImageWithControlledElement(&quot;galleryjardinzennordamericain&quot;, newControlledElement);
            }
        }
    })

    &#x2F;&#x2F; Touch Gesture
    let touchstartXgalleryjardinzennordamericain = 0;
    let touchendXgalleryjardinzennordamericain = 0;

    const galleryViewportgalleryjardinzennordamericain = document.getElementsByClassName(&quot;gallery__viewport&quot;)[0];
    if (galleryViewportgalleryjardinzennordamericain !== undefined) {

        galleryViewportgalleryjardinzennordamericain.addEventListener(&#x27;touchstart&#x27;, function(event) {
            touchstartXgalleryjardinzennordamericain = event.changedTouches[0].screenX
        });

        galleryViewportgalleryjardinzennordamericain.addEventListener(&#x27;touchend&#x27;, function(event) {
            touchendXgalleryjardinzennordamericain = event.changedTouches[0].screenX
            const direction = checkSwipeDirection(touchstartXgalleryjardinzennordamericain, touchendXgalleryjardinzennordamericain);
            if (direction === &quot;left&quot;) {
                displayPreviousImage();
            } else if (direction === &quot;right&quot;) {
                displayNextImage();
            }
        });

        galleryViewportgalleryjardinzennordamericain.addEventListner(&#x27;touchmove&#x27;, function(event) {
            event.preventDefault();
            event.stopPropagation();
        });
    }
&lt;&#x2F;script&gt;</content>
        
    </entry>
    <entry xml:lang="fr">
        <title>Leuleu</title>
        <published>2012-01-01T00:00:00+00:00</published>
        <updated>2012-01-01T00:00:00+00:00</updated>
        
        <author>
          <name>
            
              Pierre Tremblay-Thériault
            
          </name>
        </author>
        
        <link rel="alternate" type="text/html" href="https://lapinchatware.ca/arts/leuleu/"/>
        <id>https://lapinchatware.ca/arts/leuleu/</id>
        
        <content type="html" xml:base="https://lapinchatware.ca/arts/leuleu/">&lt;p&gt;Un théâtre performatif vidéo ; Leuleu est un projet sur la technologie et le ressenti qui vise les relations entre le corps de l’acteur et l’image vidéo projetée. À partir d’un texte-matière écrit par une femme au corps malade (atteinte de dystrophie musculaire), quatre femmes sur scène mènent leur corps jusqu’à l’épuisement. Elles exploreront la persistance, la résistance et l’endurance. Aussi, deux hommes, des corps, des présences sur scène, des manipules-acteurs rencontrent dans une relation d’écoute particulière (à la fois conflictuelle et complice) les quatre actrices-performeures. Entre théâtre et performance, leur corps en duo et en écoute avec l’image vidéo projetée, les quatre actrices-performeures traversent la thématique de l’échec. Ce projet exprime avec ludisme un rapport au corps et à la technologie de la projection vidéo. C’est dans la poursuite de recherches sur la présence de la vidéo projection au théâtre que l’idée de ce projet est venue. Le but est de sortir de l’instrumentalisation qu’on donne à la projection vidéo provenant de la machine et de lui donner un rôle de ressenti en lien avec le corps de l’acteur. Ne pas créer un effet sensationnaliste, mais plutôt un lien sensible à la technique.&lt;&#x2F;p&gt;
&lt;p&gt;Un récit fragmenté, à l’intérieur duquel le spectateur tient un rôle particulier. Le spectateur au centre de l’action n’est pas ignoré et participe par sa présence à l’action et est même sollicité. Aussi nous donnons la responsabilité du sens au spectateur en lui offrant des actions, des images, qu’il peut rassembler pour créer sa propre dramaturgie. Richard Schechner, théoricien de la performance, dit à ce sujet : « Le metteur en scène n’a pas pour rôle de proposer un «manifeste» cohérent. C’est au spectateur de trouver une cohérence.» (2007). C’est dans cette optique que nous construirons la ligne dramaturgique du spectacle, en laissant une place à la création du spectateur. Un travail sous forme de duo-solo où le spectateur aura parfois à faire un choix sur ce qu’il souhaite regarder. Amenant ainsi chaque spectateur à vivre une expérience particulière et différente.&lt;&#x2F;p&gt;
&lt;h2 id=&quot;equipe&quot;&gt;ÉQUIPE&lt;&#x2F;h2&gt;
&lt;p&gt;Direction de projet Andrée-Anne Giguère&lt;&#x2F;p&gt;
&lt;p&gt;Équipe de création &#x2F; sur la scène &lt;br &#x2F;&gt;
Andrée-Anne Giguère &lt;br &#x2F;&gt;
Elaine Juteau &lt;br &#x2F;&gt;
Anick Martel &lt;br &#x2F;&gt;
Anne-Marie Ouellet &lt;br &#x2F;&gt;
Pierre Tremblay-Thériault &lt;br &#x2F;&gt;
Yves Whissell&lt;&#x2F;p&gt;
&lt;p&gt;Création des images &lt;br &#x2F;&gt;
Pierre Tremblay-Thériault &lt;br &#x2F;&gt;
Yves Whissell&lt;&#x2F;p&gt;
&lt;p&gt;Co-conception Éclairage &lt;br &#x2F;&gt;
Andrée-Anne Giguère &lt;br &#x2F;&gt;
Alexandre Nadeau&lt;&#x2F;p&gt;
&lt;p&gt;Direction de maîtrise d’Andrée-Anne Giguère &lt;br &#x2F;&gt;
Jean-Paul Quéinnec &lt;br &#x2F;&gt;
Constanza Camelo&lt;&#x2F;p&gt;
&lt;p&gt;Durée: 1h20&lt;&#x2F;p&gt;
&lt;div style=&quot;padding:56.25% 0 0 0;position:relative;&quot;&gt;
    &lt;iframe
            src=&quot;https:&#x2F;&#x2F;player.vimeo.com&#x2F;video&#x2F;235256313?h=4250ca05b2&amp;title=0&amp;byline=0&amp;portrait=0&quot;
            style=&quot;position:absolute;top:0;left:0;width:100%;height:100%;&quot;
            frameborder=&quot;0&quot;
            allow=&quot;autoplay; fullscreen; picture-in-picture&quot;
            allowfullscreen
    &gt;&lt;&#x2F;iframe&gt;
&lt;&#x2F;div&gt;
&lt;script src=&quot;https:&#x2F;&#x2F;player.vimeo.com&#x2F;api&#x2F;player.js&quot;&gt;&lt;&#x2F;script&gt;&lt;div id=&quot;galleryleuleu&quot; class=&quot;gallery&quot;&gt;
    
    &lt;div class=&quot;gallery__viewport&quot;&gt;
        &lt;div class=&quot;gallery__viewport__images&quot;&gt;
            
            
                    
                    &lt;img id=&quot;galleryleuleuimage0&quot; class=&quot;gallery__viewport__image&quot; src=&quot;&amp;#x2F;arts&amp;#x2F;leuleu&amp;#x2F;gallery&amp;#x2F;leuleu_01.jpg&quot; alt=&quot;Photo d&amp;#x27;archive de performance: 1&quot;&#x2F;&gt;
                    
                    
                    &lt;img id=&quot;galleryleuleuimage1&quot; class=&quot;gallery__viewport__image&quot; src=&quot;&amp;#x2F;arts&amp;#x2F;leuleu&amp;#x2F;gallery&amp;#x2F;leuleu_02.jpg&quot; alt=&quot;Photo d&amp;#x27;archive de performance: 2&quot;&#x2F;&gt;
                    
                    
                    &lt;img id=&quot;galleryleuleuimage2&quot; class=&quot;gallery__viewport__image&quot; src=&quot;&amp;#x2F;arts&amp;#x2F;leuleu&amp;#x2F;gallery&amp;#x2F;leuleu_03.jpg&quot; alt=&quot;Photo d&amp;#x27;archive de performance: 3&quot;&#x2F;&gt;
                    
                    
                    &lt;img id=&quot;galleryleuleuimage3&quot; class=&quot;gallery__viewport__image&quot; src=&quot;&amp;#x2F;arts&amp;#x2F;leuleu&amp;#x2F;gallery&amp;#x2F;leuleu_04.jpg&quot; alt=&quot;Photo d&amp;#x27;archive de performance: 4&quot;&#x2F;&gt;
                    
                    
                    &lt;img id=&quot;galleryleuleuimage4&quot; class=&quot;gallery__viewport__image&quot; src=&quot;&amp;#x2F;arts&amp;#x2F;leuleu&amp;#x2F;gallery&amp;#x2F;leuleu_05.jpg&quot; alt=&quot;Photo d&amp;#x27;archive de performance: 5&quot;&#x2F;&gt;
                    
                    
                    &lt;img id=&quot;galleryleuleuimage5&quot; class=&quot;gallery__viewport__image&quot; src=&quot;&amp;#x2F;arts&amp;#x2F;leuleu&amp;#x2F;gallery&amp;#x2F;leuleu_06.jpg&quot; alt=&quot;Photo d&amp;#x27;archive de performance: 6&quot;&#x2F;&gt;
                    
                    
                    &lt;img id=&quot;galleryleuleuimage6&quot; class=&quot;gallery__viewport__image&quot; src=&quot;&amp;#x2F;arts&amp;#x2F;leuleu&amp;#x2F;gallery&amp;#x2F;leuleu_07.jpg&quot; alt=&quot;Photo d&amp;#x27;archive de performance: 7&quot;&#x2F;&gt;
                    
                    
                    &lt;img id=&quot;galleryleuleuimage7&quot; class=&quot;gallery__viewport__image&quot; src=&quot;&amp;#x2F;arts&amp;#x2F;leuleu&amp;#x2F;gallery&amp;#x2F;leuleu_08.jpg&quot; alt=&quot;Photo d&amp;#x27;archive de performance: 8&quot;&#x2F;&gt;
                    
                    
                    &lt;img id=&quot;galleryleuleuimage8&quot; class=&quot;gallery__viewport__image&quot; src=&quot;&amp;#x2F;arts&amp;#x2F;leuleu&amp;#x2F;gallery&amp;#x2F;leuleu_09.jpg&quot; alt=&quot;Photo d&amp;#x27;archive de performance: 9&quot;&#x2F;&gt;
                    
                    
                    &lt;img id=&quot;galleryleuleuimage9&quot; class=&quot;gallery__viewport__image&quot; src=&quot;&amp;#x2F;arts&amp;#x2F;leuleu&amp;#x2F;gallery&amp;#x2F;leuleu_10.jpg&quot; alt=&quot;Photo d&amp;#x27;archive de performance: 10&quot;&#x2F;&gt;
                    
                    
                    &lt;img id=&quot;galleryleuleuimage10&quot; class=&quot;gallery__viewport__image&quot; src=&quot;&amp;#x2F;arts&amp;#x2F;leuleu&amp;#x2F;gallery&amp;#x2F;leuleu_11.jpg&quot; alt=&quot;Photo d&amp;#x27;archive de performance: 11&quot;&#x2F;&gt;
                    
                    
                    &lt;img id=&quot;galleryleuleuimage11&quot; class=&quot;gallery__viewport__image&quot; src=&quot;&amp;#x2F;arts&amp;#x2F;leuleu&amp;#x2F;gallery&amp;#x2F;leuleu_12.jpg&quot; alt=&quot;Photo d&amp;#x27;archive de performance: 12&quot;&#x2F;&gt;
                    
                    
                    &lt;img id=&quot;galleryleuleuimage12&quot; class=&quot;gallery__viewport__image&quot; src=&quot;&amp;#x2F;arts&amp;#x2F;leuleu&amp;#x2F;gallery&amp;#x2F;leuleu_13.jpg&quot; alt=&quot;Photo d&amp;#x27;archive de performance: 13&quot;&#x2F;&gt;
                    
                    
                    &lt;img id=&quot;galleryleuleuimage13&quot; class=&quot;gallery__viewport__image&quot; src=&quot;&amp;#x2F;arts&amp;#x2F;leuleu&amp;#x2F;gallery&amp;#x2F;leuleu_14.jpg&quot; alt=&quot;Photo d&amp;#x27;archive de performance: 14&quot;&#x2F;&gt;
                    
        &lt;&#x2F;div&gt;
        &lt;div class=&quot;gallery__viewport__controls&quot;&gt;
            &lt;img class=&quot;gallery__viewport__controls__nav-button gallery__viewport__controls__nav-button--left&quot; src=&quot;&#x2F;images&#x2F;angle-left.svg&quot; alt=&quot;Voir l&#x27;image précédente.&quot; aria-hidden=&quot;true&quot;&#x2F;&gt;
            &lt;img class=&quot;gallery__viewport__controls__nav-button gallery__viewport__controls__nav-button--right&quot; src=&quot;&#x2F;images&#x2F;angle-right.svg&quot; alt=&quot;Voir l&#x27;image suivante.&quot; aria-hidden=&quot;true&quot;&#x2F;&gt;
            &lt;img class=&quot;gallery__viewport__controls__nav-close-btn&quot; src=&quot;&#x2F;images&#x2F;close-icon.svg&quot; alt=&quot;Fermer la gallery&quot;&#x2F;&gt;
        &lt;&#x2F;div&gt;
    &lt;&#x2F;div&gt;
    &lt;ul class=&quot;gallery__selector&quot;&gt;
        
        
                
                &lt;li class=&quot;gallery__selector__item&quot;&gt;
                    &lt;button
                            class=&quot;gallery__selector__button&quot;
                            aria-expanded=&quot;false&quot;
                            aria-controls=&quot;galleryleuleuimage0&quot;
                            aria-label=&quot;Voir l&#x27;image &amp;quot;Photo d&amp;#x27;archive de performance: 1&amp;quot;&quot;
                            type=&quot;button&quot;
                    &gt;
                        &lt;img class=&quot;gallery__selector__image&quot; src=&quot;&amp;#x2F;arts&amp;#x2F;leuleu&amp;#x2F;gallery&amp;#x2F;leuleu_01.jpg&quot; alt=&quot;Photo d&amp;#x27;archive de performance: 1&quot;&#x2F;&gt;
                    &lt;&#x2F;button&gt;
                &lt;&#x2F;li&gt;
                
                
                &lt;li class=&quot;gallery__selector__item&quot;&gt;
                    &lt;button
                            class=&quot;gallery__selector__button&quot;
                            aria-expanded=&quot;false&quot;
                            aria-controls=&quot;galleryleuleuimage1&quot;
                            aria-label=&quot;Voir l&#x27;image &amp;quot;Photo d&amp;#x27;archive de performance: 2&amp;quot;&quot;
                            type=&quot;button&quot;
                    &gt;
                        &lt;img class=&quot;gallery__selector__image&quot; src=&quot;&amp;#x2F;arts&amp;#x2F;leuleu&amp;#x2F;gallery&amp;#x2F;leuleu_02.jpg&quot; alt=&quot;Photo d&amp;#x27;archive de performance: 2&quot;&#x2F;&gt;
                    &lt;&#x2F;button&gt;
                &lt;&#x2F;li&gt;
                
                
                &lt;li class=&quot;gallery__selector__item&quot;&gt;
                    &lt;button
                            class=&quot;gallery__selector__button&quot;
                            aria-expanded=&quot;false&quot;
                            aria-controls=&quot;galleryleuleuimage2&quot;
                            aria-label=&quot;Voir l&#x27;image &amp;quot;Photo d&amp;#x27;archive de performance: 3&amp;quot;&quot;
                            type=&quot;button&quot;
                    &gt;
                        &lt;img class=&quot;gallery__selector__image&quot; src=&quot;&amp;#x2F;arts&amp;#x2F;leuleu&amp;#x2F;gallery&amp;#x2F;leuleu_03.jpg&quot; alt=&quot;Photo d&amp;#x27;archive de performance: 3&quot;&#x2F;&gt;
                    &lt;&#x2F;button&gt;
                &lt;&#x2F;li&gt;
                
                
                &lt;li class=&quot;gallery__selector__item&quot;&gt;
                    &lt;button
                            class=&quot;gallery__selector__button&quot;
                            aria-expanded=&quot;false&quot;
                            aria-controls=&quot;galleryleuleuimage3&quot;
                            aria-label=&quot;Voir l&#x27;image &amp;quot;Photo d&amp;#x27;archive de performance: 4&amp;quot;&quot;
                            type=&quot;button&quot;
                    &gt;
                        &lt;img class=&quot;gallery__selector__image&quot; src=&quot;&amp;#x2F;arts&amp;#x2F;leuleu&amp;#x2F;gallery&amp;#x2F;leuleu_04.jpg&quot; alt=&quot;Photo d&amp;#x27;archive de performance: 4&quot;&#x2F;&gt;
                    &lt;&#x2F;button&gt;
                &lt;&#x2F;li&gt;
                
                
                &lt;li class=&quot;gallery__selector__item&quot;&gt;
                    &lt;button
                            class=&quot;gallery__selector__button&quot;
                            aria-expanded=&quot;false&quot;
                            aria-controls=&quot;galleryleuleuimage4&quot;
                            aria-label=&quot;Voir l&#x27;image &amp;quot;Photo d&amp;#x27;archive de performance: 5&amp;quot;&quot;
                            type=&quot;button&quot;
                    &gt;
                        &lt;img class=&quot;gallery__selector__image&quot; src=&quot;&amp;#x2F;arts&amp;#x2F;leuleu&amp;#x2F;gallery&amp;#x2F;leuleu_05.jpg&quot; alt=&quot;Photo d&amp;#x27;archive de performance: 5&quot;&#x2F;&gt;
                    &lt;&#x2F;button&gt;
                &lt;&#x2F;li&gt;
                
                
                &lt;li class=&quot;gallery__selector__item&quot;&gt;
                    &lt;button
                            class=&quot;gallery__selector__button&quot;
                            aria-expanded=&quot;false&quot;
                            aria-controls=&quot;galleryleuleuimage5&quot;
                            aria-label=&quot;Voir l&#x27;image &amp;quot;Photo d&amp;#x27;archive de performance: 6&amp;quot;&quot;
                            type=&quot;button&quot;
                    &gt;
                        &lt;img class=&quot;gallery__selector__image&quot; src=&quot;&amp;#x2F;arts&amp;#x2F;leuleu&amp;#x2F;gallery&amp;#x2F;leuleu_06.jpg&quot; alt=&quot;Photo d&amp;#x27;archive de performance: 6&quot;&#x2F;&gt;
                    &lt;&#x2F;button&gt;
                &lt;&#x2F;li&gt;
                
                
                &lt;li class=&quot;gallery__selector__item&quot;&gt;
                    &lt;button
                            class=&quot;gallery__selector__button&quot;
                            aria-expanded=&quot;false&quot;
                            aria-controls=&quot;galleryleuleuimage6&quot;
                            aria-label=&quot;Voir l&#x27;image &amp;quot;Photo d&amp;#x27;archive de performance: 7&amp;quot;&quot;
                            type=&quot;button&quot;
                    &gt;
                        &lt;img class=&quot;gallery__selector__image&quot; src=&quot;&amp;#x2F;arts&amp;#x2F;leuleu&amp;#x2F;gallery&amp;#x2F;leuleu_07.jpg&quot; alt=&quot;Photo d&amp;#x27;archive de performance: 7&quot;&#x2F;&gt;
                    &lt;&#x2F;button&gt;
                &lt;&#x2F;li&gt;
                
                
                &lt;li class=&quot;gallery__selector__item&quot;&gt;
                    &lt;button
                            class=&quot;gallery__selector__button&quot;
                            aria-expanded=&quot;false&quot;
                            aria-controls=&quot;galleryleuleuimage7&quot;
                            aria-label=&quot;Voir l&#x27;image &amp;quot;Photo d&amp;#x27;archive de performance: 8&amp;quot;&quot;
                            type=&quot;button&quot;
                    &gt;
                        &lt;img class=&quot;gallery__selector__image&quot; src=&quot;&amp;#x2F;arts&amp;#x2F;leuleu&amp;#x2F;gallery&amp;#x2F;leuleu_08.jpg&quot; alt=&quot;Photo d&amp;#x27;archive de performance: 8&quot;&#x2F;&gt;
                    &lt;&#x2F;button&gt;
                &lt;&#x2F;li&gt;
                
                
                &lt;li class=&quot;gallery__selector__item&quot;&gt;
                    &lt;button
                            class=&quot;gallery__selector__button&quot;
                            aria-expanded=&quot;false&quot;
                            aria-controls=&quot;galleryleuleuimage8&quot;
                            aria-label=&quot;Voir l&#x27;image &amp;quot;Photo d&amp;#x27;archive de performance: 9&amp;quot;&quot;
                            type=&quot;button&quot;
                    &gt;
                        &lt;img class=&quot;gallery__selector__image&quot; src=&quot;&amp;#x2F;arts&amp;#x2F;leuleu&amp;#x2F;gallery&amp;#x2F;leuleu_09.jpg&quot; alt=&quot;Photo d&amp;#x27;archive de performance: 9&quot;&#x2F;&gt;
                    &lt;&#x2F;button&gt;
                &lt;&#x2F;li&gt;
                
                
                &lt;li class=&quot;gallery__selector__item&quot;&gt;
                    &lt;button
                            class=&quot;gallery__selector__button&quot;
                            aria-expanded=&quot;false&quot;
                            aria-controls=&quot;galleryleuleuimage9&quot;
                            aria-label=&quot;Voir l&#x27;image &amp;quot;Photo d&amp;#x27;archive de performance: 10&amp;quot;&quot;
                            type=&quot;button&quot;
                    &gt;
                        &lt;img class=&quot;gallery__selector__image&quot; src=&quot;&amp;#x2F;arts&amp;#x2F;leuleu&amp;#x2F;gallery&amp;#x2F;leuleu_10.jpg&quot; alt=&quot;Photo d&amp;#x27;archive de performance: 10&quot;&#x2F;&gt;
                    &lt;&#x2F;button&gt;
                &lt;&#x2F;li&gt;
                
                
                &lt;li class=&quot;gallery__selector__item&quot;&gt;
                    &lt;button
                            class=&quot;gallery__selector__button&quot;
                            aria-expanded=&quot;false&quot;
                            aria-controls=&quot;galleryleuleuimage10&quot;
                            aria-label=&quot;Voir l&#x27;image &amp;quot;Photo d&amp;#x27;archive de performance: 11&amp;quot;&quot;
                            type=&quot;button&quot;
                    &gt;
                        &lt;img class=&quot;gallery__selector__image&quot; src=&quot;&amp;#x2F;arts&amp;#x2F;leuleu&amp;#x2F;gallery&amp;#x2F;leuleu_11.jpg&quot; alt=&quot;Photo d&amp;#x27;archive de performance: 11&quot;&#x2F;&gt;
                    &lt;&#x2F;button&gt;
                &lt;&#x2F;li&gt;
                
                
                &lt;li class=&quot;gallery__selector__item&quot;&gt;
                    &lt;button
                            class=&quot;gallery__selector__button&quot;
                            aria-expanded=&quot;false&quot;
                            aria-controls=&quot;galleryleuleuimage11&quot;
                            aria-label=&quot;Voir l&#x27;image &amp;quot;Photo d&amp;#x27;archive de performance: 12&amp;quot;&quot;
                            type=&quot;button&quot;
                    &gt;
                        &lt;img class=&quot;gallery__selector__image&quot; src=&quot;&amp;#x2F;arts&amp;#x2F;leuleu&amp;#x2F;gallery&amp;#x2F;leuleu_12.jpg&quot; alt=&quot;Photo d&amp;#x27;archive de performance: 12&quot;&#x2F;&gt;
                    &lt;&#x2F;button&gt;
                &lt;&#x2F;li&gt;
                
                
                &lt;li class=&quot;gallery__selector__item&quot;&gt;
                    &lt;button
                            class=&quot;gallery__selector__button&quot;
                            aria-expanded=&quot;false&quot;
                            aria-controls=&quot;galleryleuleuimage12&quot;
                            aria-label=&quot;Voir l&#x27;image &amp;quot;Photo d&amp;#x27;archive de performance: 13&amp;quot;&quot;
                            type=&quot;button&quot;
                    &gt;
                        &lt;img class=&quot;gallery__selector__image&quot; src=&quot;&amp;#x2F;arts&amp;#x2F;leuleu&amp;#x2F;gallery&amp;#x2F;leuleu_13.jpg&quot; alt=&quot;Photo d&amp;#x27;archive de performance: 13&quot;&#x2F;&gt;
                    &lt;&#x2F;button&gt;
                &lt;&#x2F;li&gt;
                
                
                &lt;li class=&quot;gallery__selector__item&quot;&gt;
                    &lt;button
                            class=&quot;gallery__selector__button&quot;
                            aria-expanded=&quot;false&quot;
                            aria-controls=&quot;galleryleuleuimage13&quot;
                            aria-label=&quot;Voir l&#x27;image &amp;quot;Photo d&amp;#x27;archive de performance: 14&amp;quot;&quot;
                            type=&quot;button&quot;
                    &gt;
                        &lt;img class=&quot;gallery__selector__image&quot; src=&quot;&amp;#x2F;arts&amp;#x2F;leuleu&amp;#x2F;gallery&amp;#x2F;leuleu_14.jpg&quot; alt=&quot;Photo d&amp;#x27;archive de performance: 14&quot;&#x2F;&gt;
                    &lt;&#x2F;button&gt;
                &lt;&#x2F;li&gt;
                
    &lt;&#x2F;ul&gt;
&lt;&#x2F;div&gt;
&lt;script&gt;
    &#x2F;&#x2F; Define
    &#x2F;&#x2F; function hideDisplayedImage(galleryId, image)
    if (typeof globalThis.hideDisplayedImage === &quot;undefined&quot;) {
        globalThis.hideDisplayedImage = function(galleryId, image) {
            const fullscreenImageContainer = document.querySelector(&quot;#&quot; + galleryId + &quot; .gallery__viewport&quot;);
            fullscreenImageContainer.classList.remove(&quot;gallery__viewport--display&quot;);
            image.classList.remove(&quot;gallery__viewport__image--display&quot;);
            const selector = &#x27;[aria-controls=&quot;&#x27; + image.getAttribute(&quot;id&quot;) + &#x27;&quot;]&#x27;
            const controlsButton = document.querySelector(selector);
            controlsButton.setAttribute(&quot;aria-expanded&quot;, &quot;false&quot;);
        }
    }

    &#x2F;&#x2F; Define
    &#x2F;&#x2F; function displayImageWithButton(galleryId, button)
    if (typeof globalThis.displayImageWithButton === &quot;undefined&quot;) {
        globalThis.displayImageWithButton = function(galleryId, button) {
            button.focus();
            const fullscreenImageContainer = document.querySelector(&quot;#&quot; + galleryId + &quot; .gallery__viewport&quot;);
            fullscreenImageContainer.classList.add(&quot;gallery__viewport--display&quot;);
            const ariaControlsId = button.getAttribute(&quot;aria-controls&quot;);
            const controlledElement = document.getElementById(ariaControlsId);
            controlledElement.classList.add(&quot;gallery__viewport__image--display&quot;);
            button.setAttribute(&quot;aria-expanded&quot;, &quot;true&quot;);
        }
    }

    &#x2F;&#x2F; Define
    &#x2F;&#x2F; function displayImageWithControlledElement(galleryId, button)
    if (typeof globalThis.displayImageWithControlledElement === &quot;undefined&quot;) {
        globalThis.displayImageWithControlledElement = function(galleryId, controlledElement) {
            const selector = &#x27;[aria-controls=&quot;&#x27; + controlledElement.getAttribute(&quot;id&quot;) + &#x27;&quot;]&#x27;
            const controlsButton = document.querySelector(selector);
            displayImageWithButton(galleryId, controlsButton);
        }
    }

    &#x2F;&#x2F; Define
    &#x2F;&#x2F; function checkSwipeDirection(touchstartX, touchendX)
    if (typeof globalThis.checkSwipeDirection === &quot;undefined&quot;) {
        globalThis.checkSwipeDirection =  function(touchstartX, touchendX) {
            if (touchendX &lt; touchstartX) {
                return &quot;left&quot;;
            } else if (touchendX &gt; touchstartX) {
                return &quot;right&quot;;
            } else {
                return &quot;&quot;;
            }
        }
    }

    &#x2F;&#x2F; Define
    &#x2F;&#x2F; function displayNextImage()
    if (typeof globalThis.displayNextImage === &quot;undefined&quot;) {
        globalThis.displayNextImage = function() {
            const controlledElement = document.getElementsByClassName(&quot;gallery__viewport__image--display&quot;)[0];
            if (controlledElement !== undefined) {
                hideDisplayedImage(&quot;galleryleuleu&quot;, controlledElement);

                let newControlledElement = controlledElement.nextElementSibling;
                if (newControlledElement === null) {
                    newControlledElement = controlledElement.parentElement.firstElementChild;
                }

                if (newControlledElement !== null &amp;&amp; newControlledElement !== undefined) {
                    displayImageWithControlledElement(&quot;galleryleuleu&quot;, newControlledElement);
                }
            }
        }
    }

    &#x2F;&#x2F; Define
    &#x2F;&#x2F; function displayPreviousImage()
    if (typeof globalThis.displayPreviousImage === &quot;undefined&quot;) {
        globalThis.displayPreviousImage = function () {
            const controlledElement = document.getElementsByClassName(&quot;gallery__viewport__image--display&quot;)[0];
            if (controlledElement !== undefined) {
                hideDisplayedImage(&quot;galleryleuleu&quot;, controlledElement);

                let newControlledElement = controlledElement.previousElementSibling;
                if (newControlledElement === null) {
                    newControlledElement = controlledElement.parentElement.lastElementChild;
                }

                if (newControlledElement !== null &amp;&amp; newControlledElement !== undefined) {
                    displayImageWithControlledElement(&quot;galleryleuleu&quot;, newControlledElement);
                }
            }
        }
    }

    &#x2F;&#x2F; Init
    &#x2F;&#x2F; Gallery Buttons
    const galleryButtonsgalleryleuleu = document.querySelectorAll(&quot;#galleryleuleu .gallery__selector__button&quot;);
    for (let i = 0; i &lt; galleryButtonsgalleryleuleu.length; i++) {

        &#x2F;&#x2F; Click
        galleryButtonsgalleryleuleu[i].addEventListener(&quot;click&quot;, function(event) {
            displayImageWithButton(&quot;galleryleuleu&quot;, this);
        });

        &#x2F;&#x2F; Focus In
        galleryButtonsgalleryleuleu[i].addEventListener(&#x27;focusin&#x27;, function(event) {
            const previousFocusableItem = event.relatedTarget;
            const displayedImages = document.getElementsByClassName(&quot;gallery__viewport__image--display&quot;);
            if (
                (previousFocusableItem === null || !previousFocusableItem.classList.contains(&quot;gallery__selector__button&quot;))
                &amp;&amp; displayedImages.length &gt; 0
            ) {
                &#x2F;&#x2F; Hide all displayed images
                const displayedImages = document.getElementsByClassName(&quot;gallery__viewport__image--display&quot;);
                if (displayedImages.length &gt; 0) {
                    for (let i = 0; i &lt; displayedImages.length; i++) {
                        hideDisplayedImage(&quot;galleryleuleu&quot;, displayedImages[i]);
                    }
                }
                displayImageWithButton(&quot;galleryleuleu&quot;, this);
            }
        });

        &#x2F;&#x2F; Focus Out
        galleryButtonsgalleryleuleu[i].addEventListener(&#x27;focusout&#x27;, function(event) {
            &#x2F;&#x2F; Prevent focus out actions if it&#x27;s a click on a gallery viewport element.
            const eventOriginClassList = event.explicitOriginalTarget.classList;
            if (
                eventOriginClassList.contains(&quot;gallery__viewport__image&quot;)
                || eventOriginClassList.contains(&quot;gallery__viewport__controls&quot;)
                || eventOriginClassList.contains(&quot;gallery__viewport__controls__nav-button&quot;)
                || eventOriginClassList.contains(&quot;gallery__viewport__controls__nav-close-btn&quot;)
                || eventOriginClassList.contains(&quot;gallery__viewport&quot;)
            ) {
                return;
            }

            &#x2F;&#x2F; Hide all displayed images
            const displayedImages = document.getElementsByClassName(&quot;gallery__viewport__image--display&quot;);
            if (displayedImages.length &gt; 0) {
                for (let i = 0; i &lt; displayedImages.length; i++) {
                    hideDisplayedImage(&quot;galleryleuleu&quot;, displayedImages[i]);
                }
                const nextFocusableItem = event.relatedTarget;
                if (nextFocusableItem != null &amp;&amp; nextFocusableItem.classList.contains(&quot;gallery__selector__button&quot;)) {
                    displayImageWithButton(&quot;galleryleuleu&quot;, nextFocusableItem);
                }
            }
        });
    }

    &#x2F;&#x2F; Previous Button
    &#x2F;&#x2F; Click
    const previousImageButtongalleryleuleu = document.querySelector(&quot;#galleryleuleu .gallery__viewport__controls__nav-button--left&quot;);
    previousImageButtongalleryleuleu.addEventListener(&#x27;click&#x27;, function(event) {
        displayPreviousImage();
    });

    &#x2F;&#x2F; Next Button
    &#x2F;&#x2F; Click
    const nextImageButtongalleryleuleu = document.querySelector(&quot;#galleryleuleu .gallery__viewport__controls__nav-button--right&quot;);
    nextImageButtongalleryleuleu.addEventListener(&#x27;click&#x27;, function(event) {
        displayNextImage();
    });

    &#x2F;&#x2F; Close Button
    &#x2F;&#x2F; Click
    const closeImageButtongalleryleuleu = document.querySelector(&quot;#galleryleuleu .gallery__viewport__controls__nav-close-btn&quot;);
    closeImageButtongalleryleuleu.addEventListener(&#x27;click&#x27;, function(event) {
        const controlledElement = document.getElementsByClassName(&quot;gallery__viewport__image--display&quot;)[0];
        if (controlledElement !== undefined) {
            hideDisplayedImage(&quot;galleryleuleu&quot;, controlledElement);
        }
    });

    &#x2F;&#x2F; Keyboard Controls
    document.addEventListener(&#x27;keydown&#x27;, (event) =&gt; {
        const controlledElement = document.getElementsByClassName(&quot;gallery__viewport__image--display&quot;)[0];
        if (controlledElement !== undefined) {

            &#x2F;&#x2F; Hide image
            &#x2F;&#x2F; ESC, LEFT, RIGHT
            if (event.code === &#x27;Escape&#x27; || event.code === &#x27;ArrowLeft&#x27; || event.code === &#x27;ArrowRight&#x27;) {
                hideDisplayedImage(&quot;galleryleuleu&quot;, controlledElement);
            }

            let newControlledElement;

            &#x2F;&#x2F; Select new controlled element(image)
            &#x2F;&#x2F; LEFT
            if (event.code === &#x27;ArrowLeft&#x27;) {
                newControlledElement = controlledElement.previousElementSibling;
                if (newControlledElement === null) {
                    newControlledElement = controlledElement.parentElement.lastElementChild;
                }
            }
            &#x2F;&#x2F; RIGHT
            if (event.code === &#x27;ArrowRight&#x27;) {
                newControlledElement = controlledElement.nextElementSibling;
                if (newControlledElement === null) {
                    newControlledElement = controlledElement.parentElement.firstElementChild;
                }
            }

            &#x2F;&#x2F; Active button and display image
            if (newControlledElement !== null &amp;&amp; newControlledElement !== undefined) {
                displayImageWithControlledElement(&quot;galleryleuleu&quot;, newControlledElement);
            }
        }
    })

    &#x2F;&#x2F; Touch Gesture
    let touchstartXgalleryleuleu = 0;
    let touchendXgalleryleuleu = 0;

    const galleryViewportgalleryleuleu = document.getElementsByClassName(&quot;gallery__viewport&quot;)[0];
    if (galleryViewportgalleryleuleu !== undefined) {

        galleryViewportgalleryleuleu.addEventListener(&#x27;touchstart&#x27;, function(event) {
            touchstartXgalleryleuleu = event.changedTouches[0].screenX
        });

        galleryViewportgalleryleuleu.addEventListener(&#x27;touchend&#x27;, function(event) {
            touchendXgalleryleuleu = event.changedTouches[0].screenX
            const direction = checkSwipeDirection(touchstartXgalleryleuleu, touchendXgalleryleuleu);
            if (direction === &quot;left&quot;) {
                displayPreviousImage();
            } else if (direction === &quot;right&quot;) {
                displayNextImage();
            }
        });

        galleryViewportgalleryleuleu.addEventListner(&#x27;touchmove&#x27;, function(event) {
            event.preventDefault();
            event.stopPropagation();
        });
    }
&lt;&#x2F;script&gt;</content>
        
    </entry>
    <entry xml:lang="fr">
        <title>Statique</title>
        <published>2012-01-01T00:00:00+00:00</published>
        <updated>2012-01-01T00:00:00+00:00</updated>
        
        <author>
          <name>
            
              Pierre Tremblay-Thériault
            
          </name>
        </author>
        
        <link rel="alternate" type="text/html" href="https://lapinchatware.ca/arts/statique/"/>
        <id>https://lapinchatware.ca/arts/statique/</id>
        
        <content type="html" xml:base="https://lapinchatware.ca/arts/statique/">&lt;p&gt;Création vidéo présentée dans le cadre de «La Minute Vidéo &#x2F; Folie Culture» au Centre d’artistes L’Oeil de Poisson à Québec.&lt;&#x2F;p&gt;
&lt;p&gt;18 octobre au 18 novembre 2012&lt;&#x2F;p&gt;
&lt;p&gt;Artistes: Andrée-Anne Giguère, Elaine Juteau, Pierre Tremblay-Thériault et Yves Whissell&lt;&#x2F;p&gt;
&lt;div style=&quot;padding:56.25% 0 0 0;position:relative;&quot;&gt;
    &lt;iframe
            src=&quot;https:&#x2F;&#x2F;player.vimeo.com&#x2F;video&#x2F;153453777?h=4250ca05b2&amp;title=0&amp;byline=0&amp;portrait=0&quot;
            style=&quot;position:absolute;top:0;left:0;width:100%;height:100%;&quot;
            frameborder=&quot;0&quot;
            allow=&quot;autoplay; fullscreen; picture-in-picture&quot;
            allowfullscreen
    &gt;&lt;&#x2F;iframe&gt;
&lt;&#x2F;div&gt;
&lt;script src=&quot;https:&#x2F;&#x2F;player.vimeo.com&#x2F;api&#x2F;player.js&quot;&gt;&lt;&#x2F;script&gt;&lt;div id=&quot;gallerystatique&quot; class=&quot;gallery&quot;&gt;
    
    &lt;div class=&quot;gallery__viewport&quot;&gt;
        &lt;div class=&quot;gallery__viewport__images&quot;&gt;
            
            
                    
                    &lt;img id=&quot;gallerystatiqueimage0&quot; class=&quot;gallery__viewport__image&quot; src=&quot;&amp;#x2F;arts&amp;#x2F;statique&amp;#x2F;gallery&amp;#x2F;statique.jpg&quot; alt=&quot;Photo d&amp;#x27;écran de la vidéo: Boule de crème glacé beige fondant sur un brownie. En arrière plan, une femme est assise dos à un mur. Ses cheveux semblent voler dans un courant d&amp;#x27;air.&quot;&#x2F;&gt;
                    
        &lt;&#x2F;div&gt;
        &lt;div class=&quot;gallery__viewport__controls&quot;&gt;
            &lt;img class=&quot;gallery__viewport__controls__nav-button gallery__viewport__controls__nav-button--left&quot; src=&quot;&#x2F;images&#x2F;angle-left.svg&quot; alt=&quot;Voir l&#x27;image précédente.&quot; aria-hidden=&quot;true&quot;&#x2F;&gt;
            &lt;img class=&quot;gallery__viewport__controls__nav-button gallery__viewport__controls__nav-button--right&quot; src=&quot;&#x2F;images&#x2F;angle-right.svg&quot; alt=&quot;Voir l&#x27;image suivante.&quot; aria-hidden=&quot;true&quot;&#x2F;&gt;
            &lt;img class=&quot;gallery__viewport__controls__nav-close-btn&quot; src=&quot;&#x2F;images&#x2F;close-icon.svg&quot; alt=&quot;Fermer la gallery&quot;&#x2F;&gt;
        &lt;&#x2F;div&gt;
    &lt;&#x2F;div&gt;
    &lt;ul class=&quot;gallery__selector&quot;&gt;
        
        
                
                &lt;li class=&quot;gallery__selector__item&quot;&gt;
                    &lt;button
                            class=&quot;gallery__selector__button&quot;
                            aria-expanded=&quot;false&quot;
                            aria-controls=&quot;gallerystatiqueimage0&quot;
                            aria-label=&quot;Voir l&#x27;image &amp;quot;Photo d&amp;#x27;écran de la vidéo: Boule de crème glacé beige fondant sur un brownie. En arrière plan, une femme est assise dos à un mur. Ses cheveux semblent voler dans un courant d&amp;#x27;air.&amp;quot;&quot;
                            type=&quot;button&quot;
                    &gt;
                        &lt;img class=&quot;gallery__selector__image&quot; src=&quot;&amp;#x2F;arts&amp;#x2F;statique&amp;#x2F;gallery&amp;#x2F;statique.jpg&quot; alt=&quot;Photo d&amp;#x27;écran de la vidéo: Boule de crème glacé beige fondant sur un brownie. En arrière plan, une femme est assise dos à un mur. Ses cheveux semblent voler dans un courant d&amp;#x27;air.&quot;&#x2F;&gt;
                    &lt;&#x2F;button&gt;
                &lt;&#x2F;li&gt;
                
    &lt;&#x2F;ul&gt;
&lt;&#x2F;div&gt;
&lt;script&gt;
    &#x2F;&#x2F; Define
    &#x2F;&#x2F; function hideDisplayedImage(galleryId, image)
    if (typeof globalThis.hideDisplayedImage === &quot;undefined&quot;) {
        globalThis.hideDisplayedImage = function(galleryId, image) {
            const fullscreenImageContainer = document.querySelector(&quot;#&quot; + galleryId + &quot; .gallery__viewport&quot;);
            fullscreenImageContainer.classList.remove(&quot;gallery__viewport--display&quot;);
            image.classList.remove(&quot;gallery__viewport__image--display&quot;);
            const selector = &#x27;[aria-controls=&quot;&#x27; + image.getAttribute(&quot;id&quot;) + &#x27;&quot;]&#x27;
            const controlsButton = document.querySelector(selector);
            controlsButton.setAttribute(&quot;aria-expanded&quot;, &quot;false&quot;);
        }
    }

    &#x2F;&#x2F; Define
    &#x2F;&#x2F; function displayImageWithButton(galleryId, button)
    if (typeof globalThis.displayImageWithButton === &quot;undefined&quot;) {
        globalThis.displayImageWithButton = function(galleryId, button) {
            button.focus();
            const fullscreenImageContainer = document.querySelector(&quot;#&quot; + galleryId + &quot; .gallery__viewport&quot;);
            fullscreenImageContainer.classList.add(&quot;gallery__viewport--display&quot;);
            const ariaControlsId = button.getAttribute(&quot;aria-controls&quot;);
            const controlledElement = document.getElementById(ariaControlsId);
            controlledElement.classList.add(&quot;gallery__viewport__image--display&quot;);
            button.setAttribute(&quot;aria-expanded&quot;, &quot;true&quot;);
        }
    }

    &#x2F;&#x2F; Define
    &#x2F;&#x2F; function displayImageWithControlledElement(galleryId, button)
    if (typeof globalThis.displayImageWithControlledElement === &quot;undefined&quot;) {
        globalThis.displayImageWithControlledElement = function(galleryId, controlledElement) {
            const selector = &#x27;[aria-controls=&quot;&#x27; + controlledElement.getAttribute(&quot;id&quot;) + &#x27;&quot;]&#x27;
            const controlsButton = document.querySelector(selector);
            displayImageWithButton(galleryId, controlsButton);
        }
    }

    &#x2F;&#x2F; Define
    &#x2F;&#x2F; function checkSwipeDirection(touchstartX, touchendX)
    if (typeof globalThis.checkSwipeDirection === &quot;undefined&quot;) {
        globalThis.checkSwipeDirection =  function(touchstartX, touchendX) {
            if (touchendX &lt; touchstartX) {
                return &quot;left&quot;;
            } else if (touchendX &gt; touchstartX) {
                return &quot;right&quot;;
            } else {
                return &quot;&quot;;
            }
        }
    }

    &#x2F;&#x2F; Define
    &#x2F;&#x2F; function displayNextImage()
    if (typeof globalThis.displayNextImage === &quot;undefined&quot;) {
        globalThis.displayNextImage = function() {
            const controlledElement = document.getElementsByClassName(&quot;gallery__viewport__image--display&quot;)[0];
            if (controlledElement !== undefined) {
                hideDisplayedImage(&quot;gallerystatique&quot;, controlledElement);

                let newControlledElement = controlledElement.nextElementSibling;
                if (newControlledElement === null) {
                    newControlledElement = controlledElement.parentElement.firstElementChild;
                }

                if (newControlledElement !== null &amp;&amp; newControlledElement !== undefined) {
                    displayImageWithControlledElement(&quot;gallerystatique&quot;, newControlledElement);
                }
            }
        }
    }

    &#x2F;&#x2F; Define
    &#x2F;&#x2F; function displayPreviousImage()
    if (typeof globalThis.displayPreviousImage === &quot;undefined&quot;) {
        globalThis.displayPreviousImage = function () {
            const controlledElement = document.getElementsByClassName(&quot;gallery__viewport__image--display&quot;)[0];
            if (controlledElement !== undefined) {
                hideDisplayedImage(&quot;gallerystatique&quot;, controlledElement);

                let newControlledElement = controlledElement.previousElementSibling;
                if (newControlledElement === null) {
                    newControlledElement = controlledElement.parentElement.lastElementChild;
                }

                if (newControlledElement !== null &amp;&amp; newControlledElement !== undefined) {
                    displayImageWithControlledElement(&quot;gallerystatique&quot;, newControlledElement);
                }
            }
        }
    }

    &#x2F;&#x2F; Init
    &#x2F;&#x2F; Gallery Buttons
    const galleryButtonsgallerystatique = document.querySelectorAll(&quot;#gallerystatique .gallery__selector__button&quot;);
    for (let i = 0; i &lt; galleryButtonsgallerystatique.length; i++) {

        &#x2F;&#x2F; Click
        galleryButtonsgallerystatique[i].addEventListener(&quot;click&quot;, function(event) {
            displayImageWithButton(&quot;gallerystatique&quot;, this);
        });

        &#x2F;&#x2F; Focus In
        galleryButtonsgallerystatique[i].addEventListener(&#x27;focusin&#x27;, function(event) {
            const previousFocusableItem = event.relatedTarget;
            const displayedImages = document.getElementsByClassName(&quot;gallery__viewport__image--display&quot;);
            if (
                (previousFocusableItem === null || !previousFocusableItem.classList.contains(&quot;gallery__selector__button&quot;))
                &amp;&amp; displayedImages.length &gt; 0
            ) {
                &#x2F;&#x2F; Hide all displayed images
                const displayedImages = document.getElementsByClassName(&quot;gallery__viewport__image--display&quot;);
                if (displayedImages.length &gt; 0) {
                    for (let i = 0; i &lt; displayedImages.length; i++) {
                        hideDisplayedImage(&quot;gallerystatique&quot;, displayedImages[i]);
                    }
                }
                displayImageWithButton(&quot;gallerystatique&quot;, this);
            }
        });

        &#x2F;&#x2F; Focus Out
        galleryButtonsgallerystatique[i].addEventListener(&#x27;focusout&#x27;, function(event) {
            &#x2F;&#x2F; Prevent focus out actions if it&#x27;s a click on a gallery viewport element.
            const eventOriginClassList = event.explicitOriginalTarget.classList;
            if (
                eventOriginClassList.contains(&quot;gallery__viewport__image&quot;)
                || eventOriginClassList.contains(&quot;gallery__viewport__controls&quot;)
                || eventOriginClassList.contains(&quot;gallery__viewport__controls__nav-button&quot;)
                || eventOriginClassList.contains(&quot;gallery__viewport__controls__nav-close-btn&quot;)
                || eventOriginClassList.contains(&quot;gallery__viewport&quot;)
            ) {
                return;
            }

            &#x2F;&#x2F; Hide all displayed images
            const displayedImages = document.getElementsByClassName(&quot;gallery__viewport__image--display&quot;);
            if (displayedImages.length &gt; 0) {
                for (let i = 0; i &lt; displayedImages.length; i++) {
                    hideDisplayedImage(&quot;gallerystatique&quot;, displayedImages[i]);
                }
                const nextFocusableItem = event.relatedTarget;
                if (nextFocusableItem != null &amp;&amp; nextFocusableItem.classList.contains(&quot;gallery__selector__button&quot;)) {
                    displayImageWithButton(&quot;gallerystatique&quot;, nextFocusableItem);
                }
            }
        });
    }

    &#x2F;&#x2F; Previous Button
    &#x2F;&#x2F; Click
    const previousImageButtongallerystatique = document.querySelector(&quot;#gallerystatique .gallery__viewport__controls__nav-button--left&quot;);
    previousImageButtongallerystatique.addEventListener(&#x27;click&#x27;, function(event) {
        displayPreviousImage();
    });

    &#x2F;&#x2F; Next Button
    &#x2F;&#x2F; Click
    const nextImageButtongallerystatique = document.querySelector(&quot;#gallerystatique .gallery__viewport__controls__nav-button--right&quot;);
    nextImageButtongallerystatique.addEventListener(&#x27;click&#x27;, function(event) {
        displayNextImage();
    });

    &#x2F;&#x2F; Close Button
    &#x2F;&#x2F; Click
    const closeImageButtongallerystatique = document.querySelector(&quot;#gallerystatique .gallery__viewport__controls__nav-close-btn&quot;);
    closeImageButtongallerystatique.addEventListener(&#x27;click&#x27;, function(event) {
        const controlledElement = document.getElementsByClassName(&quot;gallery__viewport__image--display&quot;)[0];
        if (controlledElement !== undefined) {
            hideDisplayedImage(&quot;gallerystatique&quot;, controlledElement);
        }
    });

    &#x2F;&#x2F; Keyboard Controls
    document.addEventListener(&#x27;keydown&#x27;, (event) =&gt; {
        const controlledElement = document.getElementsByClassName(&quot;gallery__viewport__image--display&quot;)[0];
        if (controlledElement !== undefined) {

            &#x2F;&#x2F; Hide image
            &#x2F;&#x2F; ESC, LEFT, RIGHT
            if (event.code === &#x27;Escape&#x27; || event.code === &#x27;ArrowLeft&#x27; || event.code === &#x27;ArrowRight&#x27;) {
                hideDisplayedImage(&quot;gallerystatique&quot;, controlledElement);
            }

            let newControlledElement;

            &#x2F;&#x2F; Select new controlled element(image)
            &#x2F;&#x2F; LEFT
            if (event.code === &#x27;ArrowLeft&#x27;) {
                newControlledElement = controlledElement.previousElementSibling;
                if (newControlledElement === null) {
                    newControlledElement = controlledElement.parentElement.lastElementChild;
                }
            }
            &#x2F;&#x2F; RIGHT
            if (event.code === &#x27;ArrowRight&#x27;) {
                newControlledElement = controlledElement.nextElementSibling;
                if (newControlledElement === null) {
                    newControlledElement = controlledElement.parentElement.firstElementChild;
                }
            }

            &#x2F;&#x2F; Active button and display image
            if (newControlledElement !== null &amp;&amp; newControlledElement !== undefined) {
                displayImageWithControlledElement(&quot;gallerystatique&quot;, newControlledElement);
            }
        }
    })

    &#x2F;&#x2F; Touch Gesture
    let touchstartXgallerystatique = 0;
    let touchendXgallerystatique = 0;

    const galleryViewportgallerystatique = document.getElementsByClassName(&quot;gallery__viewport&quot;)[0];
    if (galleryViewportgallerystatique !== undefined) {

        galleryViewportgallerystatique.addEventListener(&#x27;touchstart&#x27;, function(event) {
            touchstartXgallerystatique = event.changedTouches[0].screenX
        });

        galleryViewportgallerystatique.addEventListener(&#x27;touchend&#x27;, function(event) {
            touchendXgallerystatique = event.changedTouches[0].screenX
            const direction = checkSwipeDirection(touchstartXgallerystatique, touchendXgallerystatique);
            if (direction === &quot;left&quot;) {
                displayPreviousImage();
            } else if (direction === &quot;right&quot;) {
                displayNextImage();
            }
        });

        galleryViewportgallerystatique.addEventListner(&#x27;touchmove&#x27;, function(event) {
            event.preventDefault();
            event.stopPropagation();
        });
    }
&lt;&#x2F;script&gt;</content>
        
    </entry>
    <entry xml:lang="fr">
        <title>Ajuste ton poste!</title>
        <published>2011-01-01T00:00:00+00:00</published>
        <updated>2011-01-01T00:00:00+00:00</updated>
        
        <author>
          <name>
            
              Pierre Tremblay-Thériault
            
          </name>
        </author>
        
        <link rel="alternate" type="text/html" href="https://lapinchatware.ca/arts/ajuste-ton-poste/"/>
        <id>https://lapinchatware.ca/arts/ajuste-ton-poste/</id>
        
        <content type="html" xml:base="https://lapinchatware.ca/arts/ajuste-ton-poste/">&lt;p&gt;Écran LCD, caméra web, détecteur de distance, Arduino, cadre en bois, ordinateur &lt;br &#x2F;&gt;
40cm X 30cm &lt;br &#x2F;&gt;
2011&lt;&#x2F;p&gt;
&lt;div style=&quot;padding:56.25% 0 0 0;position:relative;&quot;&gt;
    &lt;iframe
            src=&quot;https:&#x2F;&#x2F;player.vimeo.com&#x2F;video&#x2F;163081684?h=4250ca05b2&amp;title=0&amp;byline=0&amp;portrait=0&quot;
            style=&quot;position:absolute;top:0;left:0;width:100%;height:100%;&quot;
            frameborder=&quot;0&quot;
            allow=&quot;autoplay; fullscreen; picture-in-picture&quot;
            allowfullscreen
    &gt;&lt;&#x2F;iframe&gt;
&lt;&#x2F;div&gt;
&lt;script src=&quot;https:&#x2F;&#x2F;player.vimeo.com&#x2F;api&#x2F;player.js&quot;&gt;&lt;&#x2F;script&gt;&lt;div id=&quot;galleryajustetonposte&quot; class=&quot;gallery&quot;&gt;
    
    &lt;div class=&quot;gallery__viewport&quot;&gt;
        &lt;div class=&quot;gallery__viewport__images&quot;&gt;
            
            
                    
                    &lt;img id=&quot;galleryajustetonposteimage0&quot; class=&quot;gallery__viewport__image&quot; src=&quot;&amp;#x2F;arts&amp;#x2F;ajuste-ton-poste&amp;#x2F;gallery&amp;#x2F;ajuste_01.jpg&quot; alt=&quot;Photo d&amp;#x27;archive: 1&quot;&#x2F;&gt;
                    
                    
                    &lt;img id=&quot;galleryajustetonposteimage1&quot; class=&quot;gallery__viewport__image&quot; src=&quot;&amp;#x2F;arts&amp;#x2F;ajuste-ton-poste&amp;#x2F;gallery&amp;#x2F;ajuste_02.jpg&quot; alt=&quot;Photo d&amp;#x27;archive: 2&quot;&#x2F;&gt;
                    
                    
                    &lt;img id=&quot;galleryajustetonposteimage2&quot; class=&quot;gallery__viewport__image&quot; src=&quot;&amp;#x2F;arts&amp;#x2F;ajuste-ton-poste&amp;#x2F;gallery&amp;#x2F;ajuste_03.jpg&quot; alt=&quot;Photo d&amp;#x27;archive: 3&quot;&#x2F;&gt;
                    
                    
                    &lt;img id=&quot;galleryajustetonposteimage3&quot; class=&quot;gallery__viewport__image&quot; src=&quot;&amp;#x2F;arts&amp;#x2F;ajuste-ton-poste&amp;#x2F;gallery&amp;#x2F;ajuste_04.jpg&quot; alt=&quot;Photo d&amp;#x27;archive: 4&quot;&#x2F;&gt;
                    
                    
                    &lt;img id=&quot;galleryajustetonposteimage4&quot; class=&quot;gallery__viewport__image&quot; src=&quot;&amp;#x2F;arts&amp;#x2F;ajuste-ton-poste&amp;#x2F;gallery&amp;#x2F;ajuste_05.jpg&quot; alt=&quot;Photo d&amp;#x27;archive: 5&quot;&#x2F;&gt;
                    
                    
                    &lt;img id=&quot;galleryajustetonposteimage5&quot; class=&quot;gallery__viewport__image&quot; src=&quot;&amp;#x2F;arts&amp;#x2F;ajuste-ton-poste&amp;#x2F;gallery&amp;#x2F;ajuste_06.jpg&quot; alt=&quot;Photo d&amp;#x27;archive: 6&quot;&#x2F;&gt;
                    
                    
                    &lt;img id=&quot;galleryajustetonposteimage6&quot; class=&quot;gallery__viewport__image&quot; src=&quot;&amp;#x2F;arts&amp;#x2F;ajuste-ton-poste&amp;#x2F;gallery&amp;#x2F;ajuste_07.jpg&quot; alt=&quot;Photo d&amp;#x27;archive: 7&quot;&#x2F;&gt;
                    
                    
                    &lt;img id=&quot;galleryajustetonposteimage7&quot; class=&quot;gallery__viewport__image&quot; src=&quot;&amp;#x2F;arts&amp;#x2F;ajuste-ton-poste&amp;#x2F;gallery&amp;#x2F;ajuste_08.jpg&quot; alt=&quot;Photo d&amp;#x27;archive: 8&quot;&#x2F;&gt;
                    
                    
                    &lt;img id=&quot;galleryajustetonposteimage8&quot; class=&quot;gallery__viewport__image&quot; src=&quot;&amp;#x2F;arts&amp;#x2F;ajuste-ton-poste&amp;#x2F;gallery&amp;#x2F;ajuste_09.jpg&quot; alt=&quot;Photo d&amp;#x27;archive: 9&quot;&#x2F;&gt;
                    
                    
                    &lt;img id=&quot;galleryajustetonposteimage9&quot; class=&quot;gallery__viewport__image&quot; src=&quot;&amp;#x2F;arts&amp;#x2F;ajuste-ton-poste&amp;#x2F;gallery&amp;#x2F;ajuste_10.jpg&quot; alt=&quot;Photo d&amp;#x27;archive: 10&quot;&#x2F;&gt;
                    
                    
                    &lt;img id=&quot;galleryajustetonposteimage10&quot; class=&quot;gallery__viewport__image&quot; src=&quot;&amp;#x2F;arts&amp;#x2F;ajuste-ton-poste&amp;#x2F;gallery&amp;#x2F;ajuste_11.jpg&quot; alt=&quot;Photo d&amp;#x27;archive: 11&quot;&#x2F;&gt;
                    
                    
                    &lt;img id=&quot;galleryajustetonposteimage11&quot; class=&quot;gallery__viewport__image&quot; src=&quot;&amp;#x2F;arts&amp;#x2F;ajuste-ton-poste&amp;#x2F;gallery&amp;#x2F;ajuste_12.jpg&quot; alt=&quot;Photo d&amp;#x27;archive: 12&quot;&#x2F;&gt;
                    
        &lt;&#x2F;div&gt;
        &lt;div class=&quot;gallery__viewport__controls&quot;&gt;
            &lt;img class=&quot;gallery__viewport__controls__nav-button gallery__viewport__controls__nav-button--left&quot; src=&quot;&#x2F;images&#x2F;angle-left.svg&quot; alt=&quot;Voir l&#x27;image précédente.&quot; aria-hidden=&quot;true&quot;&#x2F;&gt;
            &lt;img class=&quot;gallery__viewport__controls__nav-button gallery__viewport__controls__nav-button--right&quot; src=&quot;&#x2F;images&#x2F;angle-right.svg&quot; alt=&quot;Voir l&#x27;image suivante.&quot; aria-hidden=&quot;true&quot;&#x2F;&gt;
            &lt;img class=&quot;gallery__viewport__controls__nav-close-btn&quot; src=&quot;&#x2F;images&#x2F;close-icon.svg&quot; alt=&quot;Fermer la gallery&quot;&#x2F;&gt;
        &lt;&#x2F;div&gt;
    &lt;&#x2F;div&gt;
    &lt;ul class=&quot;gallery__selector&quot;&gt;
        
        
                
                &lt;li class=&quot;gallery__selector__item&quot;&gt;
                    &lt;button
                            class=&quot;gallery__selector__button&quot;
                            aria-expanded=&quot;false&quot;
                            aria-controls=&quot;galleryajustetonposteimage0&quot;
                            aria-label=&quot;Voir l&#x27;image &amp;quot;Photo d&amp;#x27;archive: 1&amp;quot;&quot;
                            type=&quot;button&quot;
                    &gt;
                        &lt;img class=&quot;gallery__selector__image&quot; src=&quot;&amp;#x2F;arts&amp;#x2F;ajuste-ton-poste&amp;#x2F;gallery&amp;#x2F;ajuste_01.jpg&quot; alt=&quot;Photo d&amp;#x27;archive: 1&quot;&#x2F;&gt;
                    &lt;&#x2F;button&gt;
                &lt;&#x2F;li&gt;
                
                
                &lt;li class=&quot;gallery__selector__item&quot;&gt;
                    &lt;button
                            class=&quot;gallery__selector__button&quot;
                            aria-expanded=&quot;false&quot;
                            aria-controls=&quot;galleryajustetonposteimage1&quot;
                            aria-label=&quot;Voir l&#x27;image &amp;quot;Photo d&amp;#x27;archive: 2&amp;quot;&quot;
                            type=&quot;button&quot;
                    &gt;
                        &lt;img class=&quot;gallery__selector__image&quot; src=&quot;&amp;#x2F;arts&amp;#x2F;ajuste-ton-poste&amp;#x2F;gallery&amp;#x2F;ajuste_02.jpg&quot; alt=&quot;Photo d&amp;#x27;archive: 2&quot;&#x2F;&gt;
                    &lt;&#x2F;button&gt;
                &lt;&#x2F;li&gt;
                
                
                &lt;li class=&quot;gallery__selector__item&quot;&gt;
                    &lt;button
                            class=&quot;gallery__selector__button&quot;
                            aria-expanded=&quot;false&quot;
                            aria-controls=&quot;galleryajustetonposteimage2&quot;
                            aria-label=&quot;Voir l&#x27;image &amp;quot;Photo d&amp;#x27;archive: 3&amp;quot;&quot;
                            type=&quot;button&quot;
                    &gt;
                        &lt;img class=&quot;gallery__selector__image&quot; src=&quot;&amp;#x2F;arts&amp;#x2F;ajuste-ton-poste&amp;#x2F;gallery&amp;#x2F;ajuste_03.jpg&quot; alt=&quot;Photo d&amp;#x27;archive: 3&quot;&#x2F;&gt;
                    &lt;&#x2F;button&gt;
                &lt;&#x2F;li&gt;
                
                
                &lt;li class=&quot;gallery__selector__item&quot;&gt;
                    &lt;button
                            class=&quot;gallery__selector__button&quot;
                            aria-expanded=&quot;false&quot;
                            aria-controls=&quot;galleryajustetonposteimage3&quot;
                            aria-label=&quot;Voir l&#x27;image &amp;quot;Photo d&amp;#x27;archive: 4&amp;quot;&quot;
                            type=&quot;button&quot;
                    &gt;
                        &lt;img class=&quot;gallery__selector__image&quot; src=&quot;&amp;#x2F;arts&amp;#x2F;ajuste-ton-poste&amp;#x2F;gallery&amp;#x2F;ajuste_04.jpg&quot; alt=&quot;Photo d&amp;#x27;archive: 4&quot;&#x2F;&gt;
                    &lt;&#x2F;button&gt;
                &lt;&#x2F;li&gt;
                
                
                &lt;li class=&quot;gallery__selector__item&quot;&gt;
                    &lt;button
                            class=&quot;gallery__selector__button&quot;
                            aria-expanded=&quot;false&quot;
                            aria-controls=&quot;galleryajustetonposteimage4&quot;
                            aria-label=&quot;Voir l&#x27;image &amp;quot;Photo d&amp;#x27;archive: 5&amp;quot;&quot;
                            type=&quot;button&quot;
                    &gt;
                        &lt;img class=&quot;gallery__selector__image&quot; src=&quot;&amp;#x2F;arts&amp;#x2F;ajuste-ton-poste&amp;#x2F;gallery&amp;#x2F;ajuste_05.jpg&quot; alt=&quot;Photo d&amp;#x27;archive: 5&quot;&#x2F;&gt;
                    &lt;&#x2F;button&gt;
                &lt;&#x2F;li&gt;
                
                
                &lt;li class=&quot;gallery__selector__item&quot;&gt;
                    &lt;button
                            class=&quot;gallery__selector__button&quot;
                            aria-expanded=&quot;false&quot;
                            aria-controls=&quot;galleryajustetonposteimage5&quot;
                            aria-label=&quot;Voir l&#x27;image &amp;quot;Photo d&amp;#x27;archive: 6&amp;quot;&quot;
                            type=&quot;button&quot;
                    &gt;
                        &lt;img class=&quot;gallery__selector__image&quot; src=&quot;&amp;#x2F;arts&amp;#x2F;ajuste-ton-poste&amp;#x2F;gallery&amp;#x2F;ajuste_06.jpg&quot; alt=&quot;Photo d&amp;#x27;archive: 6&quot;&#x2F;&gt;
                    &lt;&#x2F;button&gt;
                &lt;&#x2F;li&gt;
                
                
                &lt;li class=&quot;gallery__selector__item&quot;&gt;
                    &lt;button
                            class=&quot;gallery__selector__button&quot;
                            aria-expanded=&quot;false&quot;
                            aria-controls=&quot;galleryajustetonposteimage6&quot;
                            aria-label=&quot;Voir l&#x27;image &amp;quot;Photo d&amp;#x27;archive: 7&amp;quot;&quot;
                            type=&quot;button&quot;
                    &gt;
                        &lt;img class=&quot;gallery__selector__image&quot; src=&quot;&amp;#x2F;arts&amp;#x2F;ajuste-ton-poste&amp;#x2F;gallery&amp;#x2F;ajuste_07.jpg&quot; alt=&quot;Photo d&amp;#x27;archive: 7&quot;&#x2F;&gt;
                    &lt;&#x2F;button&gt;
                &lt;&#x2F;li&gt;
                
                
                &lt;li class=&quot;gallery__selector__item&quot;&gt;
                    &lt;button
                            class=&quot;gallery__selector__button&quot;
                            aria-expanded=&quot;false&quot;
                            aria-controls=&quot;galleryajustetonposteimage7&quot;
                            aria-label=&quot;Voir l&#x27;image &amp;quot;Photo d&amp;#x27;archive: 8&amp;quot;&quot;
                            type=&quot;button&quot;
                    &gt;
                        &lt;img class=&quot;gallery__selector__image&quot; src=&quot;&amp;#x2F;arts&amp;#x2F;ajuste-ton-poste&amp;#x2F;gallery&amp;#x2F;ajuste_08.jpg&quot; alt=&quot;Photo d&amp;#x27;archive: 8&quot;&#x2F;&gt;
                    &lt;&#x2F;button&gt;
                &lt;&#x2F;li&gt;
                
                
                &lt;li class=&quot;gallery__selector__item&quot;&gt;
                    &lt;button
                            class=&quot;gallery__selector__button&quot;
                            aria-expanded=&quot;false&quot;
                            aria-controls=&quot;galleryajustetonposteimage8&quot;
                            aria-label=&quot;Voir l&#x27;image &amp;quot;Photo d&amp;#x27;archive: 9&amp;quot;&quot;
                            type=&quot;button&quot;
                    &gt;
                        &lt;img class=&quot;gallery__selector__image&quot; src=&quot;&amp;#x2F;arts&amp;#x2F;ajuste-ton-poste&amp;#x2F;gallery&amp;#x2F;ajuste_09.jpg&quot; alt=&quot;Photo d&amp;#x27;archive: 9&quot;&#x2F;&gt;
                    &lt;&#x2F;button&gt;
                &lt;&#x2F;li&gt;
                
                
                &lt;li class=&quot;gallery__selector__item&quot;&gt;
                    &lt;button
                            class=&quot;gallery__selector__button&quot;
                            aria-expanded=&quot;false&quot;
                            aria-controls=&quot;galleryajustetonposteimage9&quot;
                            aria-label=&quot;Voir l&#x27;image &amp;quot;Photo d&amp;#x27;archive: 10&amp;quot;&quot;
                            type=&quot;button&quot;
                    &gt;
                        &lt;img class=&quot;gallery__selector__image&quot; src=&quot;&amp;#x2F;arts&amp;#x2F;ajuste-ton-poste&amp;#x2F;gallery&amp;#x2F;ajuste_10.jpg&quot; alt=&quot;Photo d&amp;#x27;archive: 10&quot;&#x2F;&gt;
                    &lt;&#x2F;button&gt;
                &lt;&#x2F;li&gt;
                
                
                &lt;li class=&quot;gallery__selector__item&quot;&gt;
                    &lt;button
                            class=&quot;gallery__selector__button&quot;
                            aria-expanded=&quot;false&quot;
                            aria-controls=&quot;galleryajustetonposteimage10&quot;
                            aria-label=&quot;Voir l&#x27;image &amp;quot;Photo d&amp;#x27;archive: 11&amp;quot;&quot;
                            type=&quot;button&quot;
                    &gt;
                        &lt;img class=&quot;gallery__selector__image&quot; src=&quot;&amp;#x2F;arts&amp;#x2F;ajuste-ton-poste&amp;#x2F;gallery&amp;#x2F;ajuste_11.jpg&quot; alt=&quot;Photo d&amp;#x27;archive: 11&quot;&#x2F;&gt;
                    &lt;&#x2F;button&gt;
                &lt;&#x2F;li&gt;
                
                
                &lt;li class=&quot;gallery__selector__item&quot;&gt;
                    &lt;button
                            class=&quot;gallery__selector__button&quot;
                            aria-expanded=&quot;false&quot;
                            aria-controls=&quot;galleryajustetonposteimage11&quot;
                            aria-label=&quot;Voir l&#x27;image &amp;quot;Photo d&amp;#x27;archive: 12&amp;quot;&quot;
                            type=&quot;button&quot;
                    &gt;
                        &lt;img class=&quot;gallery__selector__image&quot; src=&quot;&amp;#x2F;arts&amp;#x2F;ajuste-ton-poste&amp;#x2F;gallery&amp;#x2F;ajuste_12.jpg&quot; alt=&quot;Photo d&amp;#x27;archive: 12&quot;&#x2F;&gt;
                    &lt;&#x2F;button&gt;
                &lt;&#x2F;li&gt;
                
    &lt;&#x2F;ul&gt;
&lt;&#x2F;div&gt;
&lt;script&gt;
    &#x2F;&#x2F; Define
    &#x2F;&#x2F; function hideDisplayedImage(galleryId, image)
    if (typeof globalThis.hideDisplayedImage === &quot;undefined&quot;) {
        globalThis.hideDisplayedImage = function(galleryId, image) {
            const fullscreenImageContainer = document.querySelector(&quot;#&quot; + galleryId + &quot; .gallery__viewport&quot;);
            fullscreenImageContainer.classList.remove(&quot;gallery__viewport--display&quot;);
            image.classList.remove(&quot;gallery__viewport__image--display&quot;);
            const selector = &#x27;[aria-controls=&quot;&#x27; + image.getAttribute(&quot;id&quot;) + &#x27;&quot;]&#x27;
            const controlsButton = document.querySelector(selector);
            controlsButton.setAttribute(&quot;aria-expanded&quot;, &quot;false&quot;);
        }
    }

    &#x2F;&#x2F; Define
    &#x2F;&#x2F; function displayImageWithButton(galleryId, button)
    if (typeof globalThis.displayImageWithButton === &quot;undefined&quot;) {
        globalThis.displayImageWithButton = function(galleryId, button) {
            button.focus();
            const fullscreenImageContainer = document.querySelector(&quot;#&quot; + galleryId + &quot; .gallery__viewport&quot;);
            fullscreenImageContainer.classList.add(&quot;gallery__viewport--display&quot;);
            const ariaControlsId = button.getAttribute(&quot;aria-controls&quot;);
            const controlledElement = document.getElementById(ariaControlsId);
            controlledElement.classList.add(&quot;gallery__viewport__image--display&quot;);
            button.setAttribute(&quot;aria-expanded&quot;, &quot;true&quot;);
        }
    }

    &#x2F;&#x2F; Define
    &#x2F;&#x2F; function displayImageWithControlledElement(galleryId, button)
    if (typeof globalThis.displayImageWithControlledElement === &quot;undefined&quot;) {
        globalThis.displayImageWithControlledElement = function(galleryId, controlledElement) {
            const selector = &#x27;[aria-controls=&quot;&#x27; + controlledElement.getAttribute(&quot;id&quot;) + &#x27;&quot;]&#x27;
            const controlsButton = document.querySelector(selector);
            displayImageWithButton(galleryId, controlsButton);
        }
    }

    &#x2F;&#x2F; Define
    &#x2F;&#x2F; function checkSwipeDirection(touchstartX, touchendX)
    if (typeof globalThis.checkSwipeDirection === &quot;undefined&quot;) {
        globalThis.checkSwipeDirection =  function(touchstartX, touchendX) {
            if (touchendX &lt; touchstartX) {
                return &quot;left&quot;;
            } else if (touchendX &gt; touchstartX) {
                return &quot;right&quot;;
            } else {
                return &quot;&quot;;
            }
        }
    }

    &#x2F;&#x2F; Define
    &#x2F;&#x2F; function displayNextImage()
    if (typeof globalThis.displayNextImage === &quot;undefined&quot;) {
        globalThis.displayNextImage = function() {
            const controlledElement = document.getElementsByClassName(&quot;gallery__viewport__image--display&quot;)[0];
            if (controlledElement !== undefined) {
                hideDisplayedImage(&quot;galleryajustetonposte&quot;, controlledElement);

                let newControlledElement = controlledElement.nextElementSibling;
                if (newControlledElement === null) {
                    newControlledElement = controlledElement.parentElement.firstElementChild;
                }

                if (newControlledElement !== null &amp;&amp; newControlledElement !== undefined) {
                    displayImageWithControlledElement(&quot;galleryajustetonposte&quot;, newControlledElement);
                }
            }
        }
    }

    &#x2F;&#x2F; Define
    &#x2F;&#x2F; function displayPreviousImage()
    if (typeof globalThis.displayPreviousImage === &quot;undefined&quot;) {
        globalThis.displayPreviousImage = function () {
            const controlledElement = document.getElementsByClassName(&quot;gallery__viewport__image--display&quot;)[0];
            if (controlledElement !== undefined) {
                hideDisplayedImage(&quot;galleryajustetonposte&quot;, controlledElement);

                let newControlledElement = controlledElement.previousElementSibling;
                if (newControlledElement === null) {
                    newControlledElement = controlledElement.parentElement.lastElementChild;
                }

                if (newControlledElement !== null &amp;&amp; newControlledElement !== undefined) {
                    displayImageWithControlledElement(&quot;galleryajustetonposte&quot;, newControlledElement);
                }
            }
        }
    }

    &#x2F;&#x2F; Init
    &#x2F;&#x2F; Gallery Buttons
    const galleryButtonsgalleryajustetonposte = document.querySelectorAll(&quot;#galleryajustetonposte .gallery__selector__button&quot;);
    for (let i = 0; i &lt; galleryButtonsgalleryajustetonposte.length; i++) {

        &#x2F;&#x2F; Click
        galleryButtonsgalleryajustetonposte[i].addEventListener(&quot;click&quot;, function(event) {
            displayImageWithButton(&quot;galleryajustetonposte&quot;, this);
        });

        &#x2F;&#x2F; Focus In
        galleryButtonsgalleryajustetonposte[i].addEventListener(&#x27;focusin&#x27;, function(event) {
            const previousFocusableItem = event.relatedTarget;
            const displayedImages = document.getElementsByClassName(&quot;gallery__viewport__image--display&quot;);
            if (
                (previousFocusableItem === null || !previousFocusableItem.classList.contains(&quot;gallery__selector__button&quot;))
                &amp;&amp; displayedImages.length &gt; 0
            ) {
                &#x2F;&#x2F; Hide all displayed images
                const displayedImages = document.getElementsByClassName(&quot;gallery__viewport__image--display&quot;);
                if (displayedImages.length &gt; 0) {
                    for (let i = 0; i &lt; displayedImages.length; i++) {
                        hideDisplayedImage(&quot;galleryajustetonposte&quot;, displayedImages[i]);
                    }
                }
                displayImageWithButton(&quot;galleryajustetonposte&quot;, this);
            }
        });

        &#x2F;&#x2F; Focus Out
        galleryButtonsgalleryajustetonposte[i].addEventListener(&#x27;focusout&#x27;, function(event) {
            &#x2F;&#x2F; Prevent focus out actions if it&#x27;s a click on a gallery viewport element.
            const eventOriginClassList = event.explicitOriginalTarget.classList;
            if (
                eventOriginClassList.contains(&quot;gallery__viewport__image&quot;)
                || eventOriginClassList.contains(&quot;gallery__viewport__controls&quot;)
                || eventOriginClassList.contains(&quot;gallery__viewport__controls__nav-button&quot;)
                || eventOriginClassList.contains(&quot;gallery__viewport__controls__nav-close-btn&quot;)
                || eventOriginClassList.contains(&quot;gallery__viewport&quot;)
            ) {
                return;
            }

            &#x2F;&#x2F; Hide all displayed images
            const displayedImages = document.getElementsByClassName(&quot;gallery__viewport__image--display&quot;);
            if (displayedImages.length &gt; 0) {
                for (let i = 0; i &lt; displayedImages.length; i++) {
                    hideDisplayedImage(&quot;galleryajustetonposte&quot;, displayedImages[i]);
                }
                const nextFocusableItem = event.relatedTarget;
                if (nextFocusableItem != null &amp;&amp; nextFocusableItem.classList.contains(&quot;gallery__selector__button&quot;)) {
                    displayImageWithButton(&quot;galleryajustetonposte&quot;, nextFocusableItem);
                }
            }
        });
    }

    &#x2F;&#x2F; Previous Button
    &#x2F;&#x2F; Click
    const previousImageButtongalleryajustetonposte = document.querySelector(&quot;#galleryajustetonposte .gallery__viewport__controls__nav-button--left&quot;);
    previousImageButtongalleryajustetonposte.addEventListener(&#x27;click&#x27;, function(event) {
        displayPreviousImage();
    });

    &#x2F;&#x2F; Next Button
    &#x2F;&#x2F; Click
    const nextImageButtongalleryajustetonposte = document.querySelector(&quot;#galleryajustetonposte .gallery__viewport__controls__nav-button--right&quot;);
    nextImageButtongalleryajustetonposte.addEventListener(&#x27;click&#x27;, function(event) {
        displayNextImage();
    });

    &#x2F;&#x2F; Close Button
    &#x2F;&#x2F; Click
    const closeImageButtongalleryajustetonposte = document.querySelector(&quot;#galleryajustetonposte .gallery__viewport__controls__nav-close-btn&quot;);
    closeImageButtongalleryajustetonposte.addEventListener(&#x27;click&#x27;, function(event) {
        const controlledElement = document.getElementsByClassName(&quot;gallery__viewport__image--display&quot;)[0];
        if (controlledElement !== undefined) {
            hideDisplayedImage(&quot;galleryajustetonposte&quot;, controlledElement);
        }
    });

    &#x2F;&#x2F; Keyboard Controls
    document.addEventListener(&#x27;keydown&#x27;, (event) =&gt; {
        const controlledElement = document.getElementsByClassName(&quot;gallery__viewport__image--display&quot;)[0];
        if (controlledElement !== undefined) {

            &#x2F;&#x2F; Hide image
            &#x2F;&#x2F; ESC, LEFT, RIGHT
            if (event.code === &#x27;Escape&#x27; || event.code === &#x27;ArrowLeft&#x27; || event.code === &#x27;ArrowRight&#x27;) {
                hideDisplayedImage(&quot;galleryajustetonposte&quot;, controlledElement);
            }

            let newControlledElement;

            &#x2F;&#x2F; Select new controlled element(image)
            &#x2F;&#x2F; LEFT
            if (event.code === &#x27;ArrowLeft&#x27;) {
                newControlledElement = controlledElement.previousElementSibling;
                if (newControlledElement === null) {
                    newControlledElement = controlledElement.parentElement.lastElementChild;
                }
            }
            &#x2F;&#x2F; RIGHT
            if (event.code === &#x27;ArrowRight&#x27;) {
                newControlledElement = controlledElement.nextElementSibling;
                if (newControlledElement === null) {
                    newControlledElement = controlledElement.parentElement.firstElementChild;
                }
            }

            &#x2F;&#x2F; Active button and display image
            if (newControlledElement !== null &amp;&amp; newControlledElement !== undefined) {
                displayImageWithControlledElement(&quot;galleryajustetonposte&quot;, newControlledElement);
            }
        }
    })

    &#x2F;&#x2F; Touch Gesture
    let touchstartXgalleryajustetonposte = 0;
    let touchendXgalleryajustetonposte = 0;

    const galleryViewportgalleryajustetonposte = document.getElementsByClassName(&quot;gallery__viewport&quot;)[0];
    if (galleryViewportgalleryajustetonposte !== undefined) {

        galleryViewportgalleryajustetonposte.addEventListener(&#x27;touchstart&#x27;, function(event) {
            touchstartXgalleryajustetonposte = event.changedTouches[0].screenX
        });

        galleryViewportgalleryajustetonposte.addEventListener(&#x27;touchend&#x27;, function(event) {
            touchendXgalleryajustetonposte = event.changedTouches[0].screenX
            const direction = checkSwipeDirection(touchstartXgalleryajustetonposte, touchendXgalleryajustetonposte);
            if (direction === &quot;left&quot;) {
                displayPreviousImage();
            } else if (direction === &quot;right&quot;) {
                displayNextImage();
            }
        });

        galleryViewportgalleryajustetonposte.addEventListner(&#x27;touchmove&#x27;, function(event) {
            event.preventDefault();
            event.stopPropagation();
        });
    }
&lt;&#x2F;script&gt;</content>
        
    </entry>
    <entry xml:lang="fr">
        <title>Géographies variables</title>
        <published>2011-01-01T00:00:00+00:00</published>
        <updated>2011-01-01T00:00:00+00:00</updated>
        
        <author>
          <name>
            
              Pierre Tremblay-Thériault
            
          </name>
        </author>
        
        <link rel="alternate" type="text/html" href="https://lapinchatware.ca/arts/geographies-variables/"/>
        <id>https://lapinchatware.ca/arts/geographies-variables/</id>
        
        <content type="html" xml:base="https://lapinchatware.ca/arts/geographies-variables/">&lt;div id=&quot;gallerygeographiesvariables&quot; class=&quot;gallery&quot;&gt;
    
    &lt;div class=&quot;gallery__viewport&quot;&gt;
        &lt;div class=&quot;gallery__viewport__images&quot;&gt;
            
            
                    
                    &lt;img id=&quot;gallerygeographiesvariablesimage0&quot; class=&quot;gallery__viewport__image&quot; src=&quot;&amp;#x2F;arts&amp;#x2F;geographies-variables&amp;#x2F;gallery&amp;#x2F;geo_01.jpg&quot; alt=&quot;Photo d&amp;#x27;archive: 1&quot;&#x2F;&gt;
                    
                    
                    &lt;img id=&quot;gallerygeographiesvariablesimage1&quot; class=&quot;gallery__viewport__image&quot; src=&quot;&amp;#x2F;arts&amp;#x2F;geographies-variables&amp;#x2F;gallery&amp;#x2F;geo_02.jpg&quot; alt=&quot;Photo d&amp;#x27;archive: 2&quot;&#x2F;&gt;
                    
                    
                    &lt;img id=&quot;gallerygeographiesvariablesimage2&quot; class=&quot;gallery__viewport__image&quot; src=&quot;&amp;#x2F;arts&amp;#x2F;geographies-variables&amp;#x2F;gallery&amp;#x2F;geo_03.jpg&quot; alt=&quot;Photo d&amp;#x27;archive: 3&quot;&#x2F;&gt;
                    
                    
                    &lt;img id=&quot;gallerygeographiesvariablesimage3&quot; class=&quot;gallery__viewport__image&quot; src=&quot;&amp;#x2F;arts&amp;#x2F;geographies-variables&amp;#x2F;gallery&amp;#x2F;geo_04.jpg&quot; alt=&quot;Photo d&amp;#x27;archive: 4&quot;&#x2F;&gt;
                    
                    
                    &lt;img id=&quot;gallerygeographiesvariablesimage4&quot; class=&quot;gallery__viewport__image&quot; src=&quot;&amp;#x2F;arts&amp;#x2F;geographies-variables&amp;#x2F;gallery&amp;#x2F;geo_05.jpg&quot; alt=&quot;Photo d&amp;#x27;archive: 5&quot;&#x2F;&gt;
                    
                    
                    &lt;img id=&quot;gallerygeographiesvariablesimage5&quot; class=&quot;gallery__viewport__image&quot; src=&quot;&amp;#x2F;arts&amp;#x2F;geographies-variables&amp;#x2F;gallery&amp;#x2F;geo_06.jpg&quot; alt=&quot;Photo d&amp;#x27;archive: 6&quot;&#x2F;&gt;
                    
                    
                    &lt;img id=&quot;gallerygeographiesvariablesimage6&quot; class=&quot;gallery__viewport__image&quot; src=&quot;&amp;#x2F;arts&amp;#x2F;geographies-variables&amp;#x2F;gallery&amp;#x2F;geo_08.jpg&quot; alt=&quot;Photo d&amp;#x27;archive: 7&quot;&#x2F;&gt;
                    
                    
                    &lt;img id=&quot;gallerygeographiesvariablesimage7&quot; class=&quot;gallery__viewport__image&quot; src=&quot;&amp;#x2F;arts&amp;#x2F;geographies-variables&amp;#x2F;gallery&amp;#x2F;geo_09.jpg&quot; alt=&quot;Photo d&amp;#x27;archive: 8&quot;&#x2F;&gt;
                    
                    
                    &lt;img id=&quot;gallerygeographiesvariablesimage8&quot; class=&quot;gallery__viewport__image&quot; src=&quot;&amp;#x2F;arts&amp;#x2F;geographies-variables&amp;#x2F;gallery&amp;#x2F;geo_10.jpg&quot; alt=&quot;Photo d&amp;#x27;archive: 9&quot;&#x2F;&gt;
                    
                    
                    &lt;img id=&quot;gallerygeographiesvariablesimage9&quot; class=&quot;gallery__viewport__image&quot; src=&quot;&amp;#x2F;arts&amp;#x2F;geographies-variables&amp;#x2F;gallery&amp;#x2F;geo_11.jpg&quot; alt=&quot;Photo d&amp;#x27;archive: 10&quot;&#x2F;&gt;
                    
                    
                    &lt;img id=&quot;gallerygeographiesvariablesimage10&quot; class=&quot;gallery__viewport__image&quot; src=&quot;&amp;#x2F;arts&amp;#x2F;geographies-variables&amp;#x2F;gallery&amp;#x2F;geo_12.jpg&quot; alt=&quot;Photo d&amp;#x27;archive: 11&quot;&#x2F;&gt;
                    
                    
                    &lt;img id=&quot;gallerygeographiesvariablesimage11&quot; class=&quot;gallery__viewport__image&quot; src=&quot;&amp;#x2F;arts&amp;#x2F;geographies-variables&amp;#x2F;gallery&amp;#x2F;geo_13.jpg&quot; alt=&quot;Photo d&amp;#x27;archive: 12&quot;&#x2F;&gt;
                    
                    
                    &lt;img id=&quot;gallerygeographiesvariablesimage12&quot; class=&quot;gallery__viewport__image&quot; src=&quot;&amp;#x2F;arts&amp;#x2F;geographies-variables&amp;#x2F;gallery&amp;#x2F;geo_14.jpg&quot; alt=&quot;Photo d&amp;#x27;archive: 13&quot;&#x2F;&gt;
                    
        &lt;&#x2F;div&gt;
        &lt;div class=&quot;gallery__viewport__controls&quot;&gt;
            &lt;img class=&quot;gallery__viewport__controls__nav-button gallery__viewport__controls__nav-button--left&quot; src=&quot;&#x2F;images&#x2F;angle-left.svg&quot; alt=&quot;Voir l&#x27;image précédente.&quot; aria-hidden=&quot;true&quot;&#x2F;&gt;
            &lt;img class=&quot;gallery__viewport__controls__nav-button gallery__viewport__controls__nav-button--right&quot; src=&quot;&#x2F;images&#x2F;angle-right.svg&quot; alt=&quot;Voir l&#x27;image suivante.&quot; aria-hidden=&quot;true&quot;&#x2F;&gt;
            &lt;img class=&quot;gallery__viewport__controls__nav-close-btn&quot; src=&quot;&#x2F;images&#x2F;close-icon.svg&quot; alt=&quot;Fermer la gallery&quot;&#x2F;&gt;
        &lt;&#x2F;div&gt;
    &lt;&#x2F;div&gt;
    &lt;ul class=&quot;gallery__selector&quot;&gt;
        
        
                
                &lt;li class=&quot;gallery__selector__item&quot;&gt;
                    &lt;button
                            class=&quot;gallery__selector__button&quot;
                            aria-expanded=&quot;false&quot;
                            aria-controls=&quot;gallerygeographiesvariablesimage0&quot;
                            aria-label=&quot;Voir l&#x27;image &amp;quot;Photo d&amp;#x27;archive: 1&amp;quot;&quot;
                            type=&quot;button&quot;
                    &gt;
                        &lt;img class=&quot;gallery__selector__image&quot; src=&quot;&amp;#x2F;arts&amp;#x2F;geographies-variables&amp;#x2F;gallery&amp;#x2F;geo_01.jpg&quot; alt=&quot;Photo d&amp;#x27;archive: 1&quot;&#x2F;&gt;
                    &lt;&#x2F;button&gt;
                &lt;&#x2F;li&gt;
                
                
                &lt;li class=&quot;gallery__selector__item&quot;&gt;
                    &lt;button
                            class=&quot;gallery__selector__button&quot;
                            aria-expanded=&quot;false&quot;
                            aria-controls=&quot;gallerygeographiesvariablesimage1&quot;
                            aria-label=&quot;Voir l&#x27;image &amp;quot;Photo d&amp;#x27;archive: 2&amp;quot;&quot;
                            type=&quot;button&quot;
                    &gt;
                        &lt;img class=&quot;gallery__selector__image&quot; src=&quot;&amp;#x2F;arts&amp;#x2F;geographies-variables&amp;#x2F;gallery&amp;#x2F;geo_02.jpg&quot; alt=&quot;Photo d&amp;#x27;archive: 2&quot;&#x2F;&gt;
                    &lt;&#x2F;button&gt;
                &lt;&#x2F;li&gt;
                
                
                &lt;li class=&quot;gallery__selector__item&quot;&gt;
                    &lt;button
                            class=&quot;gallery__selector__button&quot;
                            aria-expanded=&quot;false&quot;
                            aria-controls=&quot;gallerygeographiesvariablesimage2&quot;
                            aria-label=&quot;Voir l&#x27;image &amp;quot;Photo d&amp;#x27;archive: 3&amp;quot;&quot;
                            type=&quot;button&quot;
                    &gt;
                        &lt;img class=&quot;gallery__selector__image&quot; src=&quot;&amp;#x2F;arts&amp;#x2F;geographies-variables&amp;#x2F;gallery&amp;#x2F;geo_03.jpg&quot; alt=&quot;Photo d&amp;#x27;archive: 3&quot;&#x2F;&gt;
                    &lt;&#x2F;button&gt;
                &lt;&#x2F;li&gt;
                
                
                &lt;li class=&quot;gallery__selector__item&quot;&gt;
                    &lt;button
                            class=&quot;gallery__selector__button&quot;
                            aria-expanded=&quot;false&quot;
                            aria-controls=&quot;gallerygeographiesvariablesimage3&quot;
                            aria-label=&quot;Voir l&#x27;image &amp;quot;Photo d&amp;#x27;archive: 4&amp;quot;&quot;
                            type=&quot;button&quot;
                    &gt;
                        &lt;img class=&quot;gallery__selector__image&quot; src=&quot;&amp;#x2F;arts&amp;#x2F;geographies-variables&amp;#x2F;gallery&amp;#x2F;geo_04.jpg&quot; alt=&quot;Photo d&amp;#x27;archive: 4&quot;&#x2F;&gt;
                    &lt;&#x2F;button&gt;
                &lt;&#x2F;li&gt;
                
                
                &lt;li class=&quot;gallery__selector__item&quot;&gt;
                    &lt;button
                            class=&quot;gallery__selector__button&quot;
                            aria-expanded=&quot;false&quot;
                            aria-controls=&quot;gallerygeographiesvariablesimage4&quot;
                            aria-label=&quot;Voir l&#x27;image &amp;quot;Photo d&amp;#x27;archive: 5&amp;quot;&quot;
                            type=&quot;button&quot;
                    &gt;
                        &lt;img class=&quot;gallery__selector__image&quot; src=&quot;&amp;#x2F;arts&amp;#x2F;geographies-variables&amp;#x2F;gallery&amp;#x2F;geo_05.jpg&quot; alt=&quot;Photo d&amp;#x27;archive: 5&quot;&#x2F;&gt;
                    &lt;&#x2F;button&gt;
                &lt;&#x2F;li&gt;
                
                
                &lt;li class=&quot;gallery__selector__item&quot;&gt;
                    &lt;button
                            class=&quot;gallery__selector__button&quot;
                            aria-expanded=&quot;false&quot;
                            aria-controls=&quot;gallerygeographiesvariablesimage5&quot;
                            aria-label=&quot;Voir l&#x27;image &amp;quot;Photo d&amp;#x27;archive: 6&amp;quot;&quot;
                            type=&quot;button&quot;
                    &gt;
                        &lt;img class=&quot;gallery__selector__image&quot; src=&quot;&amp;#x2F;arts&amp;#x2F;geographies-variables&amp;#x2F;gallery&amp;#x2F;geo_06.jpg&quot; alt=&quot;Photo d&amp;#x27;archive: 6&quot;&#x2F;&gt;
                    &lt;&#x2F;button&gt;
                &lt;&#x2F;li&gt;
                
                
                &lt;li class=&quot;gallery__selector__item&quot;&gt;
                    &lt;button
                            class=&quot;gallery__selector__button&quot;
                            aria-expanded=&quot;false&quot;
                            aria-controls=&quot;gallerygeographiesvariablesimage6&quot;
                            aria-label=&quot;Voir l&#x27;image &amp;quot;Photo d&amp;#x27;archive: 7&amp;quot;&quot;
                            type=&quot;button&quot;
                    &gt;
                        &lt;img class=&quot;gallery__selector__image&quot; src=&quot;&amp;#x2F;arts&amp;#x2F;geographies-variables&amp;#x2F;gallery&amp;#x2F;geo_08.jpg&quot; alt=&quot;Photo d&amp;#x27;archive: 7&quot;&#x2F;&gt;
                    &lt;&#x2F;button&gt;
                &lt;&#x2F;li&gt;
                
                
                &lt;li class=&quot;gallery__selector__item&quot;&gt;
                    &lt;button
                            class=&quot;gallery__selector__button&quot;
                            aria-expanded=&quot;false&quot;
                            aria-controls=&quot;gallerygeographiesvariablesimage7&quot;
                            aria-label=&quot;Voir l&#x27;image &amp;quot;Photo d&amp;#x27;archive: 8&amp;quot;&quot;
                            type=&quot;button&quot;
                    &gt;
                        &lt;img class=&quot;gallery__selector__image&quot; src=&quot;&amp;#x2F;arts&amp;#x2F;geographies-variables&amp;#x2F;gallery&amp;#x2F;geo_09.jpg&quot; alt=&quot;Photo d&amp;#x27;archive: 8&quot;&#x2F;&gt;
                    &lt;&#x2F;button&gt;
                &lt;&#x2F;li&gt;
                
                
                &lt;li class=&quot;gallery__selector__item&quot;&gt;
                    &lt;button
                            class=&quot;gallery__selector__button&quot;
                            aria-expanded=&quot;false&quot;
                            aria-controls=&quot;gallerygeographiesvariablesimage8&quot;
                            aria-label=&quot;Voir l&#x27;image &amp;quot;Photo d&amp;#x27;archive: 9&amp;quot;&quot;
                            type=&quot;button&quot;
                    &gt;
                        &lt;img class=&quot;gallery__selector__image&quot; src=&quot;&amp;#x2F;arts&amp;#x2F;geographies-variables&amp;#x2F;gallery&amp;#x2F;geo_10.jpg&quot; alt=&quot;Photo d&amp;#x27;archive: 9&quot;&#x2F;&gt;
                    &lt;&#x2F;button&gt;
                &lt;&#x2F;li&gt;
                
                
                &lt;li class=&quot;gallery__selector__item&quot;&gt;
                    &lt;button
                            class=&quot;gallery__selector__button&quot;
                            aria-expanded=&quot;false&quot;
                            aria-controls=&quot;gallerygeographiesvariablesimage9&quot;
                            aria-label=&quot;Voir l&#x27;image &amp;quot;Photo d&amp;#x27;archive: 10&amp;quot;&quot;
                            type=&quot;button&quot;
                    &gt;
                        &lt;img class=&quot;gallery__selector__image&quot; src=&quot;&amp;#x2F;arts&amp;#x2F;geographies-variables&amp;#x2F;gallery&amp;#x2F;geo_11.jpg&quot; alt=&quot;Photo d&amp;#x27;archive: 10&quot;&#x2F;&gt;
                    &lt;&#x2F;button&gt;
                &lt;&#x2F;li&gt;
                
                
                &lt;li class=&quot;gallery__selector__item&quot;&gt;
                    &lt;button
                            class=&quot;gallery__selector__button&quot;
                            aria-expanded=&quot;false&quot;
                            aria-controls=&quot;gallerygeographiesvariablesimage10&quot;
                            aria-label=&quot;Voir l&#x27;image &amp;quot;Photo d&amp;#x27;archive: 11&amp;quot;&quot;
                            type=&quot;button&quot;
                    &gt;
                        &lt;img class=&quot;gallery__selector__image&quot; src=&quot;&amp;#x2F;arts&amp;#x2F;geographies-variables&amp;#x2F;gallery&amp;#x2F;geo_12.jpg&quot; alt=&quot;Photo d&amp;#x27;archive: 11&quot;&#x2F;&gt;
                    &lt;&#x2F;button&gt;
                &lt;&#x2F;li&gt;
                
                
                &lt;li class=&quot;gallery__selector__item&quot;&gt;
                    &lt;button
                            class=&quot;gallery__selector__button&quot;
                            aria-expanded=&quot;false&quot;
                            aria-controls=&quot;gallerygeographiesvariablesimage11&quot;
                            aria-label=&quot;Voir l&#x27;image &amp;quot;Photo d&amp;#x27;archive: 12&amp;quot;&quot;
                            type=&quot;button&quot;
                    &gt;
                        &lt;img class=&quot;gallery__selector__image&quot; src=&quot;&amp;#x2F;arts&amp;#x2F;geographies-variables&amp;#x2F;gallery&amp;#x2F;geo_13.jpg&quot; alt=&quot;Photo d&amp;#x27;archive: 12&quot;&#x2F;&gt;
                    &lt;&#x2F;button&gt;
                &lt;&#x2F;li&gt;
                
                
                &lt;li class=&quot;gallery__selector__item&quot;&gt;
                    &lt;button
                            class=&quot;gallery__selector__button&quot;
                            aria-expanded=&quot;false&quot;
                            aria-controls=&quot;gallerygeographiesvariablesimage12&quot;
                            aria-label=&quot;Voir l&#x27;image &amp;quot;Photo d&amp;#x27;archive: 13&amp;quot;&quot;
                            type=&quot;button&quot;
                    &gt;
                        &lt;img class=&quot;gallery__selector__image&quot; src=&quot;&amp;#x2F;arts&amp;#x2F;geographies-variables&amp;#x2F;gallery&amp;#x2F;geo_14.jpg&quot; alt=&quot;Photo d&amp;#x27;archive: 13&quot;&#x2F;&gt;
                    &lt;&#x2F;button&gt;
                &lt;&#x2F;li&gt;
                
    &lt;&#x2F;ul&gt;
&lt;&#x2F;div&gt;
&lt;script&gt;
    &#x2F;&#x2F; Define
    &#x2F;&#x2F; function hideDisplayedImage(galleryId, image)
    if (typeof globalThis.hideDisplayedImage === &quot;undefined&quot;) {
        globalThis.hideDisplayedImage = function(galleryId, image) {
            const fullscreenImageContainer = document.querySelector(&quot;#&quot; + galleryId + &quot; .gallery__viewport&quot;);
            fullscreenImageContainer.classList.remove(&quot;gallery__viewport--display&quot;);
            image.classList.remove(&quot;gallery__viewport__image--display&quot;);
            const selector = &#x27;[aria-controls=&quot;&#x27; + image.getAttribute(&quot;id&quot;) + &#x27;&quot;]&#x27;
            const controlsButton = document.querySelector(selector);
            controlsButton.setAttribute(&quot;aria-expanded&quot;, &quot;false&quot;);
        }
    }

    &#x2F;&#x2F; Define
    &#x2F;&#x2F; function displayImageWithButton(galleryId, button)
    if (typeof globalThis.displayImageWithButton === &quot;undefined&quot;) {
        globalThis.displayImageWithButton = function(galleryId, button) {
            button.focus();
            const fullscreenImageContainer = document.querySelector(&quot;#&quot; + galleryId + &quot; .gallery__viewport&quot;);
            fullscreenImageContainer.classList.add(&quot;gallery__viewport--display&quot;);
            const ariaControlsId = button.getAttribute(&quot;aria-controls&quot;);
            const controlledElement = document.getElementById(ariaControlsId);
            controlledElement.classList.add(&quot;gallery__viewport__image--display&quot;);
            button.setAttribute(&quot;aria-expanded&quot;, &quot;true&quot;);
        }
    }

    &#x2F;&#x2F; Define
    &#x2F;&#x2F; function displayImageWithControlledElement(galleryId, button)
    if (typeof globalThis.displayImageWithControlledElement === &quot;undefined&quot;) {
        globalThis.displayImageWithControlledElement = function(galleryId, controlledElement) {
            const selector = &#x27;[aria-controls=&quot;&#x27; + controlledElement.getAttribute(&quot;id&quot;) + &#x27;&quot;]&#x27;
            const controlsButton = document.querySelector(selector);
            displayImageWithButton(galleryId, controlsButton);
        }
    }

    &#x2F;&#x2F; Define
    &#x2F;&#x2F; function checkSwipeDirection(touchstartX, touchendX)
    if (typeof globalThis.checkSwipeDirection === &quot;undefined&quot;) {
        globalThis.checkSwipeDirection =  function(touchstartX, touchendX) {
            if (touchendX &lt; touchstartX) {
                return &quot;left&quot;;
            } else if (touchendX &gt; touchstartX) {
                return &quot;right&quot;;
            } else {
                return &quot;&quot;;
            }
        }
    }

    &#x2F;&#x2F; Define
    &#x2F;&#x2F; function displayNextImage()
    if (typeof globalThis.displayNextImage === &quot;undefined&quot;) {
        globalThis.displayNextImage = function() {
            const controlledElement = document.getElementsByClassName(&quot;gallery__viewport__image--display&quot;)[0];
            if (controlledElement !== undefined) {
                hideDisplayedImage(&quot;gallerygeographiesvariables&quot;, controlledElement);

                let newControlledElement = controlledElement.nextElementSibling;
                if (newControlledElement === null) {
                    newControlledElement = controlledElement.parentElement.firstElementChild;
                }

                if (newControlledElement !== null &amp;&amp; newControlledElement !== undefined) {
                    displayImageWithControlledElement(&quot;gallerygeographiesvariables&quot;, newControlledElement);
                }
            }
        }
    }

    &#x2F;&#x2F; Define
    &#x2F;&#x2F; function displayPreviousImage()
    if (typeof globalThis.displayPreviousImage === &quot;undefined&quot;) {
        globalThis.displayPreviousImage = function () {
            const controlledElement = document.getElementsByClassName(&quot;gallery__viewport__image--display&quot;)[0];
            if (controlledElement !== undefined) {
                hideDisplayedImage(&quot;gallerygeographiesvariables&quot;, controlledElement);

                let newControlledElement = controlledElement.previousElementSibling;
                if (newControlledElement === null) {
                    newControlledElement = controlledElement.parentElement.lastElementChild;
                }

                if (newControlledElement !== null &amp;&amp; newControlledElement !== undefined) {
                    displayImageWithControlledElement(&quot;gallerygeographiesvariables&quot;, newControlledElement);
                }
            }
        }
    }

    &#x2F;&#x2F; Init
    &#x2F;&#x2F; Gallery Buttons
    const galleryButtonsgallerygeographiesvariables = document.querySelectorAll(&quot;#gallerygeographiesvariables .gallery__selector__button&quot;);
    for (let i = 0; i &lt; galleryButtonsgallerygeographiesvariables.length; i++) {

        &#x2F;&#x2F; Click
        galleryButtonsgallerygeographiesvariables[i].addEventListener(&quot;click&quot;, function(event) {
            displayImageWithButton(&quot;gallerygeographiesvariables&quot;, this);
        });

        &#x2F;&#x2F; Focus In
        galleryButtonsgallerygeographiesvariables[i].addEventListener(&#x27;focusin&#x27;, function(event) {
            const previousFocusableItem = event.relatedTarget;
            const displayedImages = document.getElementsByClassName(&quot;gallery__viewport__image--display&quot;);
            if (
                (previousFocusableItem === null || !previousFocusableItem.classList.contains(&quot;gallery__selector__button&quot;))
                &amp;&amp; displayedImages.length &gt; 0
            ) {
                &#x2F;&#x2F; Hide all displayed images
                const displayedImages = document.getElementsByClassName(&quot;gallery__viewport__image--display&quot;);
                if (displayedImages.length &gt; 0) {
                    for (let i = 0; i &lt; displayedImages.length; i++) {
                        hideDisplayedImage(&quot;gallerygeographiesvariables&quot;, displayedImages[i]);
                    }
                }
                displayImageWithButton(&quot;gallerygeographiesvariables&quot;, this);
            }
        });

        &#x2F;&#x2F; Focus Out
        galleryButtonsgallerygeographiesvariables[i].addEventListener(&#x27;focusout&#x27;, function(event) {
            &#x2F;&#x2F; Prevent focus out actions if it&#x27;s a click on a gallery viewport element.
            const eventOriginClassList = event.explicitOriginalTarget.classList;
            if (
                eventOriginClassList.contains(&quot;gallery__viewport__image&quot;)
                || eventOriginClassList.contains(&quot;gallery__viewport__controls&quot;)
                || eventOriginClassList.contains(&quot;gallery__viewport__controls__nav-button&quot;)
                || eventOriginClassList.contains(&quot;gallery__viewport__controls__nav-close-btn&quot;)
                || eventOriginClassList.contains(&quot;gallery__viewport&quot;)
            ) {
                return;
            }

            &#x2F;&#x2F; Hide all displayed images
            const displayedImages = document.getElementsByClassName(&quot;gallery__viewport__image--display&quot;);
            if (displayedImages.length &gt; 0) {
                for (let i = 0; i &lt; displayedImages.length; i++) {
                    hideDisplayedImage(&quot;gallerygeographiesvariables&quot;, displayedImages[i]);
                }
                const nextFocusableItem = event.relatedTarget;
                if (nextFocusableItem != null &amp;&amp; nextFocusableItem.classList.contains(&quot;gallery__selector__button&quot;)) {
                    displayImageWithButton(&quot;gallerygeographiesvariables&quot;, nextFocusableItem);
                }
            }
        });
    }

    &#x2F;&#x2F; Previous Button
    &#x2F;&#x2F; Click
    const previousImageButtongallerygeographiesvariables = document.querySelector(&quot;#gallerygeographiesvariables .gallery__viewport__controls__nav-button--left&quot;);
    previousImageButtongallerygeographiesvariables.addEventListener(&#x27;click&#x27;, function(event) {
        displayPreviousImage();
    });

    &#x2F;&#x2F; Next Button
    &#x2F;&#x2F; Click
    const nextImageButtongallerygeographiesvariables = document.querySelector(&quot;#gallerygeographiesvariables .gallery__viewport__controls__nav-button--right&quot;);
    nextImageButtongallerygeographiesvariables.addEventListener(&#x27;click&#x27;, function(event) {
        displayNextImage();
    });

    &#x2F;&#x2F; Close Button
    &#x2F;&#x2F; Click
    const closeImageButtongallerygeographiesvariables = document.querySelector(&quot;#gallerygeographiesvariables .gallery__viewport__controls__nav-close-btn&quot;);
    closeImageButtongallerygeographiesvariables.addEventListener(&#x27;click&#x27;, function(event) {
        const controlledElement = document.getElementsByClassName(&quot;gallery__viewport__image--display&quot;)[0];
        if (controlledElement !== undefined) {
            hideDisplayedImage(&quot;gallerygeographiesvariables&quot;, controlledElement);
        }
    });

    &#x2F;&#x2F; Keyboard Controls
    document.addEventListener(&#x27;keydown&#x27;, (event) =&gt; {
        const controlledElement = document.getElementsByClassName(&quot;gallery__viewport__image--display&quot;)[0];
        if (controlledElement !== undefined) {

            &#x2F;&#x2F; Hide image
            &#x2F;&#x2F; ESC, LEFT, RIGHT
            if (event.code === &#x27;Escape&#x27; || event.code === &#x27;ArrowLeft&#x27; || event.code === &#x27;ArrowRight&#x27;) {
                hideDisplayedImage(&quot;gallerygeographiesvariables&quot;, controlledElement);
            }

            let newControlledElement;

            &#x2F;&#x2F; Select new controlled element(image)
            &#x2F;&#x2F; LEFT
            if (event.code === &#x27;ArrowLeft&#x27;) {
                newControlledElement = controlledElement.previousElementSibling;
                if (newControlledElement === null) {
                    newControlledElement = controlledElement.parentElement.lastElementChild;
                }
            }
            &#x2F;&#x2F; RIGHT
            if (event.code === &#x27;ArrowRight&#x27;) {
                newControlledElement = controlledElement.nextElementSibling;
                if (newControlledElement === null) {
                    newControlledElement = controlledElement.parentElement.firstElementChild;
                }
            }

            &#x2F;&#x2F; Active button and display image
            if (newControlledElement !== null &amp;&amp; newControlledElement !== undefined) {
                displayImageWithControlledElement(&quot;gallerygeographiesvariables&quot;, newControlledElement);
            }
        }
    })

    &#x2F;&#x2F; Touch Gesture
    let touchstartXgallerygeographiesvariables = 0;
    let touchendXgallerygeographiesvariables = 0;

    const galleryViewportgallerygeographiesvariables = document.getElementsByClassName(&quot;gallery__viewport&quot;)[0];
    if (galleryViewportgallerygeographiesvariables !== undefined) {

        galleryViewportgallerygeographiesvariables.addEventListener(&#x27;touchstart&#x27;, function(event) {
            touchstartXgallerygeographiesvariables = event.changedTouches[0].screenX
        });

        galleryViewportgallerygeographiesvariables.addEventListener(&#x27;touchend&#x27;, function(event) {
            touchendXgallerygeographiesvariables = event.changedTouches[0].screenX
            const direction = checkSwipeDirection(touchstartXgallerygeographiesvariables, touchendXgallerygeographiesvariables);
            if (direction === &quot;left&quot;) {
                displayPreviousImage();
            } else if (direction === &quot;right&quot;) {
                displayNextImage();
            }
        });

        galleryViewportgallerygeographiesvariables.addEventListner(&#x27;touchmove&#x27;, function(event) {
            event.preventDefault();
            event.stopPropagation();
        });
    }
&lt;&#x2F;script&gt;</content>
        
    </entry>
    <entry xml:lang="fr">
        <title>LAB_21 et LAB_22</title>
        <published>2011-01-01T00:00:00+00:00</published>
        <updated>2011-01-01T00:00:00+00:00</updated>
        
        <author>
          <name>
            
              Pierre Tremblay-Thériault
            
          </name>
        </author>
        
        <link rel="alternate" type="text/html" href="https://lapinchatware.ca/arts/lab2122/"/>
        <id>https://lapinchatware.ca/arts/lab2122/</id>
        
        <content type="html" xml:base="https://lapinchatware.ca/arts/lab2122/">&lt;div style=&quot;padding:56.25% 0 0 0;position:relative;&quot;&gt;
    &lt;iframe
            src=&quot;https:&#x2F;&#x2F;player.vimeo.com&#x2F;video&#x2F;168112101?h=4250ca05b2&amp;title=0&amp;byline=0&amp;portrait=0&quot;
            style=&quot;position:absolute;top:0;left:0;width:100%;height:100%;&quot;
            frameborder=&quot;0&quot;
            allow=&quot;autoplay; fullscreen; picture-in-picture&quot;
            allowfullscreen
    &gt;&lt;&#x2F;iframe&gt;
&lt;&#x2F;div&gt;
&lt;script src=&quot;https:&#x2F;&#x2F;player.vimeo.com&#x2F;api&#x2F;player.js&quot;&gt;&lt;&#x2F;script&gt;&lt;div id=&quot;gallerylab2122&quot; class=&quot;gallery&quot;&gt;
    
    &lt;div class=&quot;gallery__viewport&quot;&gt;
        &lt;div class=&quot;gallery__viewport__images&quot;&gt;
            
            
                    
                    &lt;img id=&quot;gallerylab2122image0&quot; class=&quot;gallery__viewport__image&quot; src=&quot;&amp;#x2F;arts&amp;#x2F;lab2122&amp;#x2F;gallery&amp;#x2F;lab2122_1.jpg&quot; alt=&quot;Photo d&amp;#x27;archive: 1&quot;&#x2F;&gt;
                    
                    
                    &lt;img id=&quot;gallerylab2122image1&quot; class=&quot;gallery__viewport__image&quot; src=&quot;&amp;#x2F;arts&amp;#x2F;lab2122&amp;#x2F;gallery&amp;#x2F;lab2122_2.jpg&quot; alt=&quot;Photo d&amp;#x27;archive: 2&quot;&#x2F;&gt;
                    
                    
                    &lt;img id=&quot;gallerylab2122image2&quot; class=&quot;gallery__viewport__image&quot; src=&quot;&amp;#x2F;arts&amp;#x2F;lab2122&amp;#x2F;gallery&amp;#x2F;lab2122_3.jpg&quot; alt=&quot;Photo d&amp;#x27;archive: 3&quot;&#x2F;&gt;
                    
                    
                    &lt;img id=&quot;gallerylab2122image3&quot; class=&quot;gallery__viewport__image&quot; src=&quot;&amp;#x2F;arts&amp;#x2F;lab2122&amp;#x2F;gallery&amp;#x2F;lab2122_4.jpg&quot; alt=&quot;Photo d&amp;#x27;archive: 4&quot;&#x2F;&gt;
                    
                    
                    &lt;img id=&quot;gallerylab2122image4&quot; class=&quot;gallery__viewport__image&quot; src=&quot;&amp;#x2F;arts&amp;#x2F;lab2122&amp;#x2F;gallery&amp;#x2F;lab2122_5.jpg&quot; alt=&quot;Photo d&amp;#x27;archive: 5&quot;&#x2F;&gt;
                    
                    
                    &lt;img id=&quot;gallerylab2122image5&quot; class=&quot;gallery__viewport__image&quot; src=&quot;&amp;#x2F;arts&amp;#x2F;lab2122&amp;#x2F;gallery&amp;#x2F;lab2122_6.jpg&quot; alt=&quot;Photo d&amp;#x27;archive: 6&quot;&#x2F;&gt;
                    
                    
                    &lt;img id=&quot;gallerylab2122image6&quot; class=&quot;gallery__viewport__image&quot; src=&quot;&amp;#x2F;arts&amp;#x2F;lab2122&amp;#x2F;gallery&amp;#x2F;lab2122_7.jpg&quot; alt=&quot;Photo d&amp;#x27;archive: 7&quot;&#x2F;&gt;
                    
                    
                    &lt;img id=&quot;gallerylab2122image7&quot; class=&quot;gallery__viewport__image&quot; src=&quot;&amp;#x2F;arts&amp;#x2F;lab2122&amp;#x2F;gallery&amp;#x2F;lab2122_8.jpg&quot; alt=&quot;Photo d&amp;#x27;archive: 8&quot;&#x2F;&gt;
                    
                    
                    &lt;img id=&quot;gallerylab2122image8&quot; class=&quot;gallery__viewport__image&quot; src=&quot;&amp;#x2F;arts&amp;#x2F;lab2122&amp;#x2F;gallery&amp;#x2F;lab2122_9.jpg&quot; alt=&quot;Photo d&amp;#x27;archive: 9&quot;&#x2F;&gt;
                    
        &lt;&#x2F;div&gt;
        &lt;div class=&quot;gallery__viewport__controls&quot;&gt;
            &lt;img class=&quot;gallery__viewport__controls__nav-button gallery__viewport__controls__nav-button--left&quot; src=&quot;&#x2F;images&#x2F;angle-left.svg&quot; alt=&quot;Voir l&#x27;image précédente.&quot; aria-hidden=&quot;true&quot;&#x2F;&gt;
            &lt;img class=&quot;gallery__viewport__controls__nav-button gallery__viewport__controls__nav-button--right&quot; src=&quot;&#x2F;images&#x2F;angle-right.svg&quot; alt=&quot;Voir l&#x27;image suivante.&quot; aria-hidden=&quot;true&quot;&#x2F;&gt;
            &lt;img class=&quot;gallery__viewport__controls__nav-close-btn&quot; src=&quot;&#x2F;images&#x2F;close-icon.svg&quot; alt=&quot;Fermer la gallery&quot;&#x2F;&gt;
        &lt;&#x2F;div&gt;
    &lt;&#x2F;div&gt;
    &lt;ul class=&quot;gallery__selector&quot;&gt;
        
        
                
                &lt;li class=&quot;gallery__selector__item&quot;&gt;
                    &lt;button
                            class=&quot;gallery__selector__button&quot;
                            aria-expanded=&quot;false&quot;
                            aria-controls=&quot;gallerylab2122image0&quot;
                            aria-label=&quot;Voir l&#x27;image &amp;quot;Photo d&amp;#x27;archive: 1&amp;quot;&quot;
                            type=&quot;button&quot;
                    &gt;
                        &lt;img class=&quot;gallery__selector__image&quot; src=&quot;&amp;#x2F;arts&amp;#x2F;lab2122&amp;#x2F;gallery&amp;#x2F;lab2122_1.jpg&quot; alt=&quot;Photo d&amp;#x27;archive: 1&quot;&#x2F;&gt;
                    &lt;&#x2F;button&gt;
                &lt;&#x2F;li&gt;
                
                
                &lt;li class=&quot;gallery__selector__item&quot;&gt;
                    &lt;button
                            class=&quot;gallery__selector__button&quot;
                            aria-expanded=&quot;false&quot;
                            aria-controls=&quot;gallerylab2122image1&quot;
                            aria-label=&quot;Voir l&#x27;image &amp;quot;Photo d&amp;#x27;archive: 2&amp;quot;&quot;
                            type=&quot;button&quot;
                    &gt;
                        &lt;img class=&quot;gallery__selector__image&quot; src=&quot;&amp;#x2F;arts&amp;#x2F;lab2122&amp;#x2F;gallery&amp;#x2F;lab2122_2.jpg&quot; alt=&quot;Photo d&amp;#x27;archive: 2&quot;&#x2F;&gt;
                    &lt;&#x2F;button&gt;
                &lt;&#x2F;li&gt;
                
                
                &lt;li class=&quot;gallery__selector__item&quot;&gt;
                    &lt;button
                            class=&quot;gallery__selector__button&quot;
                            aria-expanded=&quot;false&quot;
                            aria-controls=&quot;gallerylab2122image2&quot;
                            aria-label=&quot;Voir l&#x27;image &amp;quot;Photo d&amp;#x27;archive: 3&amp;quot;&quot;
                            type=&quot;button&quot;
                    &gt;
                        &lt;img class=&quot;gallery__selector__image&quot; src=&quot;&amp;#x2F;arts&amp;#x2F;lab2122&amp;#x2F;gallery&amp;#x2F;lab2122_3.jpg&quot; alt=&quot;Photo d&amp;#x27;archive: 3&quot;&#x2F;&gt;
                    &lt;&#x2F;button&gt;
                &lt;&#x2F;li&gt;
                
                
                &lt;li class=&quot;gallery__selector__item&quot;&gt;
                    &lt;button
                            class=&quot;gallery__selector__button&quot;
                            aria-expanded=&quot;false&quot;
                            aria-controls=&quot;gallerylab2122image3&quot;
                            aria-label=&quot;Voir l&#x27;image &amp;quot;Photo d&amp;#x27;archive: 4&amp;quot;&quot;
                            type=&quot;button&quot;
                    &gt;
                        &lt;img class=&quot;gallery__selector__image&quot; src=&quot;&amp;#x2F;arts&amp;#x2F;lab2122&amp;#x2F;gallery&amp;#x2F;lab2122_4.jpg&quot; alt=&quot;Photo d&amp;#x27;archive: 4&quot;&#x2F;&gt;
                    &lt;&#x2F;button&gt;
                &lt;&#x2F;li&gt;
                
                
                &lt;li class=&quot;gallery__selector__item&quot;&gt;
                    &lt;button
                            class=&quot;gallery__selector__button&quot;
                            aria-expanded=&quot;false&quot;
                            aria-controls=&quot;gallerylab2122image4&quot;
                            aria-label=&quot;Voir l&#x27;image &amp;quot;Photo d&amp;#x27;archive: 5&amp;quot;&quot;
                            type=&quot;button&quot;
                    &gt;
                        &lt;img class=&quot;gallery__selector__image&quot; src=&quot;&amp;#x2F;arts&amp;#x2F;lab2122&amp;#x2F;gallery&amp;#x2F;lab2122_5.jpg&quot; alt=&quot;Photo d&amp;#x27;archive: 5&quot;&#x2F;&gt;
                    &lt;&#x2F;button&gt;
                &lt;&#x2F;li&gt;
                
                
                &lt;li class=&quot;gallery__selector__item&quot;&gt;
                    &lt;button
                            class=&quot;gallery__selector__button&quot;
                            aria-expanded=&quot;false&quot;
                            aria-controls=&quot;gallerylab2122image5&quot;
                            aria-label=&quot;Voir l&#x27;image &amp;quot;Photo d&amp;#x27;archive: 6&amp;quot;&quot;
                            type=&quot;button&quot;
                    &gt;
                        &lt;img class=&quot;gallery__selector__image&quot; src=&quot;&amp;#x2F;arts&amp;#x2F;lab2122&amp;#x2F;gallery&amp;#x2F;lab2122_6.jpg&quot; alt=&quot;Photo d&amp;#x27;archive: 6&quot;&#x2F;&gt;
                    &lt;&#x2F;button&gt;
                &lt;&#x2F;li&gt;
                
                
                &lt;li class=&quot;gallery__selector__item&quot;&gt;
                    &lt;button
                            class=&quot;gallery__selector__button&quot;
                            aria-expanded=&quot;false&quot;
                            aria-controls=&quot;gallerylab2122image6&quot;
                            aria-label=&quot;Voir l&#x27;image &amp;quot;Photo d&amp;#x27;archive: 7&amp;quot;&quot;
                            type=&quot;button&quot;
                    &gt;
                        &lt;img class=&quot;gallery__selector__image&quot; src=&quot;&amp;#x2F;arts&amp;#x2F;lab2122&amp;#x2F;gallery&amp;#x2F;lab2122_7.jpg&quot; alt=&quot;Photo d&amp;#x27;archive: 7&quot;&#x2F;&gt;
                    &lt;&#x2F;button&gt;
                &lt;&#x2F;li&gt;
                
                
                &lt;li class=&quot;gallery__selector__item&quot;&gt;
                    &lt;button
                            class=&quot;gallery__selector__button&quot;
                            aria-expanded=&quot;false&quot;
                            aria-controls=&quot;gallerylab2122image7&quot;
                            aria-label=&quot;Voir l&#x27;image &amp;quot;Photo d&amp;#x27;archive: 8&amp;quot;&quot;
                            type=&quot;button&quot;
                    &gt;
                        &lt;img class=&quot;gallery__selector__image&quot; src=&quot;&amp;#x2F;arts&amp;#x2F;lab2122&amp;#x2F;gallery&amp;#x2F;lab2122_8.jpg&quot; alt=&quot;Photo d&amp;#x27;archive: 8&quot;&#x2F;&gt;
                    &lt;&#x2F;button&gt;
                &lt;&#x2F;li&gt;
                
                
                &lt;li class=&quot;gallery__selector__item&quot;&gt;
                    &lt;button
                            class=&quot;gallery__selector__button&quot;
                            aria-expanded=&quot;false&quot;
                            aria-controls=&quot;gallerylab2122image8&quot;
                            aria-label=&quot;Voir l&#x27;image &amp;quot;Photo d&amp;#x27;archive: 9&amp;quot;&quot;
                            type=&quot;button&quot;
                    &gt;
                        &lt;img class=&quot;gallery__selector__image&quot; src=&quot;&amp;#x2F;arts&amp;#x2F;lab2122&amp;#x2F;gallery&amp;#x2F;lab2122_9.jpg&quot; alt=&quot;Photo d&amp;#x27;archive: 9&quot;&#x2F;&gt;
                    &lt;&#x2F;button&gt;
                &lt;&#x2F;li&gt;
                
    &lt;&#x2F;ul&gt;
&lt;&#x2F;div&gt;
&lt;script&gt;
    &#x2F;&#x2F; Define
    &#x2F;&#x2F; function hideDisplayedImage(galleryId, image)
    if (typeof globalThis.hideDisplayedImage === &quot;undefined&quot;) {
        globalThis.hideDisplayedImage = function(galleryId, image) {
            const fullscreenImageContainer = document.querySelector(&quot;#&quot; + galleryId + &quot; .gallery__viewport&quot;);
            fullscreenImageContainer.classList.remove(&quot;gallery__viewport--display&quot;);
            image.classList.remove(&quot;gallery__viewport__image--display&quot;);
            const selector = &#x27;[aria-controls=&quot;&#x27; + image.getAttribute(&quot;id&quot;) + &#x27;&quot;]&#x27;
            const controlsButton = document.querySelector(selector);
            controlsButton.setAttribute(&quot;aria-expanded&quot;, &quot;false&quot;);
        }
    }

    &#x2F;&#x2F; Define
    &#x2F;&#x2F; function displayImageWithButton(galleryId, button)
    if (typeof globalThis.displayImageWithButton === &quot;undefined&quot;) {
        globalThis.displayImageWithButton = function(galleryId, button) {
            button.focus();
            const fullscreenImageContainer = document.querySelector(&quot;#&quot; + galleryId + &quot; .gallery__viewport&quot;);
            fullscreenImageContainer.classList.add(&quot;gallery__viewport--display&quot;);
            const ariaControlsId = button.getAttribute(&quot;aria-controls&quot;);
            const controlledElement = document.getElementById(ariaControlsId);
            controlledElement.classList.add(&quot;gallery__viewport__image--display&quot;);
            button.setAttribute(&quot;aria-expanded&quot;, &quot;true&quot;);
        }
    }

    &#x2F;&#x2F; Define
    &#x2F;&#x2F; function displayImageWithControlledElement(galleryId, button)
    if (typeof globalThis.displayImageWithControlledElement === &quot;undefined&quot;) {
        globalThis.displayImageWithControlledElement = function(galleryId, controlledElement) {
            const selector = &#x27;[aria-controls=&quot;&#x27; + controlledElement.getAttribute(&quot;id&quot;) + &#x27;&quot;]&#x27;
            const controlsButton = document.querySelector(selector);
            displayImageWithButton(galleryId, controlsButton);
        }
    }

    &#x2F;&#x2F; Define
    &#x2F;&#x2F; function checkSwipeDirection(touchstartX, touchendX)
    if (typeof globalThis.checkSwipeDirection === &quot;undefined&quot;) {
        globalThis.checkSwipeDirection =  function(touchstartX, touchendX) {
            if (touchendX &lt; touchstartX) {
                return &quot;left&quot;;
            } else if (touchendX &gt; touchstartX) {
                return &quot;right&quot;;
            } else {
                return &quot;&quot;;
            }
        }
    }

    &#x2F;&#x2F; Define
    &#x2F;&#x2F; function displayNextImage()
    if (typeof globalThis.displayNextImage === &quot;undefined&quot;) {
        globalThis.displayNextImage = function() {
            const controlledElement = document.getElementsByClassName(&quot;gallery__viewport__image--display&quot;)[0];
            if (controlledElement !== undefined) {
                hideDisplayedImage(&quot;gallerylab2122&quot;, controlledElement);

                let newControlledElement = controlledElement.nextElementSibling;
                if (newControlledElement === null) {
                    newControlledElement = controlledElement.parentElement.firstElementChild;
                }

                if (newControlledElement !== null &amp;&amp; newControlledElement !== undefined) {
                    displayImageWithControlledElement(&quot;gallerylab2122&quot;, newControlledElement);
                }
            }
        }
    }

    &#x2F;&#x2F; Define
    &#x2F;&#x2F; function displayPreviousImage()
    if (typeof globalThis.displayPreviousImage === &quot;undefined&quot;) {
        globalThis.displayPreviousImage = function () {
            const controlledElement = document.getElementsByClassName(&quot;gallery__viewport__image--display&quot;)[0];
            if (controlledElement !== undefined) {
                hideDisplayedImage(&quot;gallerylab2122&quot;, controlledElement);

                let newControlledElement = controlledElement.previousElementSibling;
                if (newControlledElement === null) {
                    newControlledElement = controlledElement.parentElement.lastElementChild;
                }

                if (newControlledElement !== null &amp;&amp; newControlledElement !== undefined) {
                    displayImageWithControlledElement(&quot;gallerylab2122&quot;, newControlledElement);
                }
            }
        }
    }

    &#x2F;&#x2F; Init
    &#x2F;&#x2F; Gallery Buttons
    const galleryButtonsgallerylab2122 = document.querySelectorAll(&quot;#gallerylab2122 .gallery__selector__button&quot;);
    for (let i = 0; i &lt; galleryButtonsgallerylab2122.length; i++) {

        &#x2F;&#x2F; Click
        galleryButtonsgallerylab2122[i].addEventListener(&quot;click&quot;, function(event) {
            displayImageWithButton(&quot;gallerylab2122&quot;, this);
        });

        &#x2F;&#x2F; Focus In
        galleryButtonsgallerylab2122[i].addEventListener(&#x27;focusin&#x27;, function(event) {
            const previousFocusableItem = event.relatedTarget;
            const displayedImages = document.getElementsByClassName(&quot;gallery__viewport__image--display&quot;);
            if (
                (previousFocusableItem === null || !previousFocusableItem.classList.contains(&quot;gallery__selector__button&quot;))
                &amp;&amp; displayedImages.length &gt; 0
            ) {
                &#x2F;&#x2F; Hide all displayed images
                const displayedImages = document.getElementsByClassName(&quot;gallery__viewport__image--display&quot;);
                if (displayedImages.length &gt; 0) {
                    for (let i = 0; i &lt; displayedImages.length; i++) {
                        hideDisplayedImage(&quot;gallerylab2122&quot;, displayedImages[i]);
                    }
                }
                displayImageWithButton(&quot;gallerylab2122&quot;, this);
            }
        });

        &#x2F;&#x2F; Focus Out
        galleryButtonsgallerylab2122[i].addEventListener(&#x27;focusout&#x27;, function(event) {
            &#x2F;&#x2F; Prevent focus out actions if it&#x27;s a click on a gallery viewport element.
            const eventOriginClassList = event.explicitOriginalTarget.classList;
            if (
                eventOriginClassList.contains(&quot;gallery__viewport__image&quot;)
                || eventOriginClassList.contains(&quot;gallery__viewport__controls&quot;)
                || eventOriginClassList.contains(&quot;gallery__viewport__controls__nav-button&quot;)
                || eventOriginClassList.contains(&quot;gallery__viewport__controls__nav-close-btn&quot;)
                || eventOriginClassList.contains(&quot;gallery__viewport&quot;)
            ) {
                return;
            }

            &#x2F;&#x2F; Hide all displayed images
            const displayedImages = document.getElementsByClassName(&quot;gallery__viewport__image--display&quot;);
            if (displayedImages.length &gt; 0) {
                for (let i = 0; i &lt; displayedImages.length; i++) {
                    hideDisplayedImage(&quot;gallerylab2122&quot;, displayedImages[i]);
                }
                const nextFocusableItem = event.relatedTarget;
                if (nextFocusableItem != null &amp;&amp; nextFocusableItem.classList.contains(&quot;gallery__selector__button&quot;)) {
                    displayImageWithButton(&quot;gallerylab2122&quot;, nextFocusableItem);
                }
            }
        });
    }

    &#x2F;&#x2F; Previous Button
    &#x2F;&#x2F; Click
    const previousImageButtongallerylab2122 = document.querySelector(&quot;#gallerylab2122 .gallery__viewport__controls__nav-button--left&quot;);
    previousImageButtongallerylab2122.addEventListener(&#x27;click&#x27;, function(event) {
        displayPreviousImage();
    });

    &#x2F;&#x2F; Next Button
    &#x2F;&#x2F; Click
    const nextImageButtongallerylab2122 = document.querySelector(&quot;#gallerylab2122 .gallery__viewport__controls__nav-button--right&quot;);
    nextImageButtongallerylab2122.addEventListener(&#x27;click&#x27;, function(event) {
        displayNextImage();
    });

    &#x2F;&#x2F; Close Button
    &#x2F;&#x2F; Click
    const closeImageButtongallerylab2122 = document.querySelector(&quot;#gallerylab2122 .gallery__viewport__controls__nav-close-btn&quot;);
    closeImageButtongallerylab2122.addEventListener(&#x27;click&#x27;, function(event) {
        const controlledElement = document.getElementsByClassName(&quot;gallery__viewport__image--display&quot;)[0];
        if (controlledElement !== undefined) {
            hideDisplayedImage(&quot;gallerylab2122&quot;, controlledElement);
        }
    });

    &#x2F;&#x2F; Keyboard Controls
    document.addEventListener(&#x27;keydown&#x27;, (event) =&gt; {
        const controlledElement = document.getElementsByClassName(&quot;gallery__viewport__image--display&quot;)[0];
        if (controlledElement !== undefined) {

            &#x2F;&#x2F; Hide image
            &#x2F;&#x2F; ESC, LEFT, RIGHT
            if (event.code === &#x27;Escape&#x27; || event.code === &#x27;ArrowLeft&#x27; || event.code === &#x27;ArrowRight&#x27;) {
                hideDisplayedImage(&quot;gallerylab2122&quot;, controlledElement);
            }

            let newControlledElement;

            &#x2F;&#x2F; Select new controlled element(image)
            &#x2F;&#x2F; LEFT
            if (event.code === &#x27;ArrowLeft&#x27;) {
                newControlledElement = controlledElement.previousElementSibling;
                if (newControlledElement === null) {
                    newControlledElement = controlledElement.parentElement.lastElementChild;
                }
            }
            &#x2F;&#x2F; RIGHT
            if (event.code === &#x27;ArrowRight&#x27;) {
                newControlledElement = controlledElement.nextElementSibling;
                if (newControlledElement === null) {
                    newControlledElement = controlledElement.parentElement.firstElementChild;
                }
            }

            &#x2F;&#x2F; Active button and display image
            if (newControlledElement !== null &amp;&amp; newControlledElement !== undefined) {
                displayImageWithControlledElement(&quot;gallerylab2122&quot;, newControlledElement);
            }
        }
    })

    &#x2F;&#x2F; Touch Gesture
    let touchstartXgallerylab2122 = 0;
    let touchendXgallerylab2122 = 0;

    const galleryViewportgallerylab2122 = document.getElementsByClassName(&quot;gallery__viewport&quot;)[0];
    if (galleryViewportgallerylab2122 !== undefined) {

        galleryViewportgallerylab2122.addEventListener(&#x27;touchstart&#x27;, function(event) {
            touchstartXgallerylab2122 = event.changedTouches[0].screenX
        });

        galleryViewportgallerylab2122.addEventListener(&#x27;touchend&#x27;, function(event) {
            touchendXgallerylab2122 = event.changedTouches[0].screenX
            const direction = checkSwipeDirection(touchstartXgallerylab2122, touchendXgallerylab2122);
            if (direction === &quot;left&quot;) {
                displayPreviousImage();
            } else if (direction === &quot;right&quot;) {
                displayNextImage();
            }
        });

        galleryViewportgallerylab2122.addEventListner(&#x27;touchmove&#x27;, function(event) {
            event.preventDefault();
            event.stopPropagation();
        });
    }
&lt;&#x2F;script&gt;</content>
        
    </entry>
    <entry xml:lang="fr">
        <title>Conversation</title>
        <published>2010-01-01T00:00:00+00:00</published>
        <updated>2010-01-01T00:00:00+00:00</updated>
        
        <author>
          <name>
            
              Pierre Tremblay-Thériault
            
          </name>
        </author>
        
        <link rel="alternate" type="text/html" href="https://lapinchatware.ca/arts/conversation/"/>
        <id>https://lapinchatware.ca/arts/conversation/</id>
        
        <content type="html" xml:base="https://lapinchatware.ca/arts/conversation/">&lt;p&gt;Action vidéo interactive&lt;&#x2F;p&gt;
&lt;div style=&quot;padding:56.25% 0 0 0;position:relative;&quot;&gt;
    &lt;iframe
            src=&quot;https:&#x2F;&#x2F;player.vimeo.com&#x2F;video&#x2F;168189615?h=4250ca05b2&amp;title=0&amp;byline=0&amp;portrait=0&quot;
            style=&quot;position:absolute;top:0;left:0;width:100%;height:100%;&quot;
            frameborder=&quot;0&quot;
            allow=&quot;autoplay; fullscreen; picture-in-picture&quot;
            allowfullscreen
    &gt;&lt;&#x2F;iframe&gt;
&lt;&#x2F;div&gt;
&lt;script src=&quot;https:&#x2F;&#x2F;player.vimeo.com&#x2F;api&#x2F;player.js&quot;&gt;&lt;&#x2F;script&gt;&lt;div id=&quot;galleryconversation&quot; class=&quot;gallery&quot;&gt;
    
    &lt;div class=&quot;gallery__viewport&quot;&gt;
        &lt;div class=&quot;gallery__viewport__images&quot;&gt;
            
            
                    
                    &lt;img id=&quot;galleryconversationimage0&quot; class=&quot;gallery__viewport__image&quot; src=&quot;&amp;#x2F;arts&amp;#x2F;conversation&amp;#x2F;gallery&amp;#x2F;conversation_1.jpg&quot; alt=&quot;Photo d&amp;#x27;archive&quot;&#x2F;&gt;
                    
        &lt;&#x2F;div&gt;
        &lt;div class=&quot;gallery__viewport__controls&quot;&gt;
            &lt;img class=&quot;gallery__viewport__controls__nav-button gallery__viewport__controls__nav-button--left&quot; src=&quot;&#x2F;images&#x2F;angle-left.svg&quot; alt=&quot;Voir l&#x27;image précédente.&quot; aria-hidden=&quot;true&quot;&#x2F;&gt;
            &lt;img class=&quot;gallery__viewport__controls__nav-button gallery__viewport__controls__nav-button--right&quot; src=&quot;&#x2F;images&#x2F;angle-right.svg&quot; alt=&quot;Voir l&#x27;image suivante.&quot; aria-hidden=&quot;true&quot;&#x2F;&gt;
            &lt;img class=&quot;gallery__viewport__controls__nav-close-btn&quot; src=&quot;&#x2F;images&#x2F;close-icon.svg&quot; alt=&quot;Fermer la gallery&quot;&#x2F;&gt;
        &lt;&#x2F;div&gt;
    &lt;&#x2F;div&gt;
    &lt;ul class=&quot;gallery__selector&quot;&gt;
        
        
                
                &lt;li class=&quot;gallery__selector__item&quot;&gt;
                    &lt;button
                            class=&quot;gallery__selector__button&quot;
                            aria-expanded=&quot;false&quot;
                            aria-controls=&quot;galleryconversationimage0&quot;
                            aria-label=&quot;Voir l&#x27;image &amp;quot;Photo d&amp;#x27;archive&amp;quot;&quot;
                            type=&quot;button&quot;
                    &gt;
                        &lt;img class=&quot;gallery__selector__image&quot; src=&quot;&amp;#x2F;arts&amp;#x2F;conversation&amp;#x2F;gallery&amp;#x2F;conversation_1.jpg&quot; alt=&quot;Photo d&amp;#x27;archive&quot;&#x2F;&gt;
                    &lt;&#x2F;button&gt;
                &lt;&#x2F;li&gt;
                
    &lt;&#x2F;ul&gt;
&lt;&#x2F;div&gt;
&lt;script&gt;
    &#x2F;&#x2F; Define
    &#x2F;&#x2F; function hideDisplayedImage(galleryId, image)
    if (typeof globalThis.hideDisplayedImage === &quot;undefined&quot;) {
        globalThis.hideDisplayedImage = function(galleryId, image) {
            const fullscreenImageContainer = document.querySelector(&quot;#&quot; + galleryId + &quot; .gallery__viewport&quot;);
            fullscreenImageContainer.classList.remove(&quot;gallery__viewport--display&quot;);
            image.classList.remove(&quot;gallery__viewport__image--display&quot;);
            const selector = &#x27;[aria-controls=&quot;&#x27; + image.getAttribute(&quot;id&quot;) + &#x27;&quot;]&#x27;
            const controlsButton = document.querySelector(selector);
            controlsButton.setAttribute(&quot;aria-expanded&quot;, &quot;false&quot;);
        }
    }

    &#x2F;&#x2F; Define
    &#x2F;&#x2F; function displayImageWithButton(galleryId, button)
    if (typeof globalThis.displayImageWithButton === &quot;undefined&quot;) {
        globalThis.displayImageWithButton = function(galleryId, button) {
            button.focus();
            const fullscreenImageContainer = document.querySelector(&quot;#&quot; + galleryId + &quot; .gallery__viewport&quot;);
            fullscreenImageContainer.classList.add(&quot;gallery__viewport--display&quot;);
            const ariaControlsId = button.getAttribute(&quot;aria-controls&quot;);
            const controlledElement = document.getElementById(ariaControlsId);
            controlledElement.classList.add(&quot;gallery__viewport__image--display&quot;);
            button.setAttribute(&quot;aria-expanded&quot;, &quot;true&quot;);
        }
    }

    &#x2F;&#x2F; Define
    &#x2F;&#x2F; function displayImageWithControlledElement(galleryId, button)
    if (typeof globalThis.displayImageWithControlledElement === &quot;undefined&quot;) {
        globalThis.displayImageWithControlledElement = function(galleryId, controlledElement) {
            const selector = &#x27;[aria-controls=&quot;&#x27; + controlledElement.getAttribute(&quot;id&quot;) + &#x27;&quot;]&#x27;
            const controlsButton = document.querySelector(selector);
            displayImageWithButton(galleryId, controlsButton);
        }
    }

    &#x2F;&#x2F; Define
    &#x2F;&#x2F; function checkSwipeDirection(touchstartX, touchendX)
    if (typeof globalThis.checkSwipeDirection === &quot;undefined&quot;) {
        globalThis.checkSwipeDirection =  function(touchstartX, touchendX) {
            if (touchendX &lt; touchstartX) {
                return &quot;left&quot;;
            } else if (touchendX &gt; touchstartX) {
                return &quot;right&quot;;
            } else {
                return &quot;&quot;;
            }
        }
    }

    &#x2F;&#x2F; Define
    &#x2F;&#x2F; function displayNextImage()
    if (typeof globalThis.displayNextImage === &quot;undefined&quot;) {
        globalThis.displayNextImage = function() {
            const controlledElement = document.getElementsByClassName(&quot;gallery__viewport__image--display&quot;)[0];
            if (controlledElement !== undefined) {
                hideDisplayedImage(&quot;galleryconversation&quot;, controlledElement);

                let newControlledElement = controlledElement.nextElementSibling;
                if (newControlledElement === null) {
                    newControlledElement = controlledElement.parentElement.firstElementChild;
                }

                if (newControlledElement !== null &amp;&amp; newControlledElement !== undefined) {
                    displayImageWithControlledElement(&quot;galleryconversation&quot;, newControlledElement);
                }
            }
        }
    }

    &#x2F;&#x2F; Define
    &#x2F;&#x2F; function displayPreviousImage()
    if (typeof globalThis.displayPreviousImage === &quot;undefined&quot;) {
        globalThis.displayPreviousImage = function () {
            const controlledElement = document.getElementsByClassName(&quot;gallery__viewport__image--display&quot;)[0];
            if (controlledElement !== undefined) {
                hideDisplayedImage(&quot;galleryconversation&quot;, controlledElement);

                let newControlledElement = controlledElement.previousElementSibling;
                if (newControlledElement === null) {
                    newControlledElement = controlledElement.parentElement.lastElementChild;
                }

                if (newControlledElement !== null &amp;&amp; newControlledElement !== undefined) {
                    displayImageWithControlledElement(&quot;galleryconversation&quot;, newControlledElement);
                }
            }
        }
    }

    &#x2F;&#x2F; Init
    &#x2F;&#x2F; Gallery Buttons
    const galleryButtonsgalleryconversation = document.querySelectorAll(&quot;#galleryconversation .gallery__selector__button&quot;);
    for (let i = 0; i &lt; galleryButtonsgalleryconversation.length; i++) {

        &#x2F;&#x2F; Click
        galleryButtonsgalleryconversation[i].addEventListener(&quot;click&quot;, function(event) {
            displayImageWithButton(&quot;galleryconversation&quot;, this);
        });

        &#x2F;&#x2F; Focus In
        galleryButtonsgalleryconversation[i].addEventListener(&#x27;focusin&#x27;, function(event) {
            const previousFocusableItem = event.relatedTarget;
            const displayedImages = document.getElementsByClassName(&quot;gallery__viewport__image--display&quot;);
            if (
                (previousFocusableItem === null || !previousFocusableItem.classList.contains(&quot;gallery__selector__button&quot;))
                &amp;&amp; displayedImages.length &gt; 0
            ) {
                &#x2F;&#x2F; Hide all displayed images
                const displayedImages = document.getElementsByClassName(&quot;gallery__viewport__image--display&quot;);
                if (displayedImages.length &gt; 0) {
                    for (let i = 0; i &lt; displayedImages.length; i++) {
                        hideDisplayedImage(&quot;galleryconversation&quot;, displayedImages[i]);
                    }
                }
                displayImageWithButton(&quot;galleryconversation&quot;, this);
            }
        });

        &#x2F;&#x2F; Focus Out
        galleryButtonsgalleryconversation[i].addEventListener(&#x27;focusout&#x27;, function(event) {
            &#x2F;&#x2F; Prevent focus out actions if it&#x27;s a click on a gallery viewport element.
            const eventOriginClassList = event.explicitOriginalTarget.classList;
            if (
                eventOriginClassList.contains(&quot;gallery__viewport__image&quot;)
                || eventOriginClassList.contains(&quot;gallery__viewport__controls&quot;)
                || eventOriginClassList.contains(&quot;gallery__viewport__controls__nav-button&quot;)
                || eventOriginClassList.contains(&quot;gallery__viewport__controls__nav-close-btn&quot;)
                || eventOriginClassList.contains(&quot;gallery__viewport&quot;)
            ) {
                return;
            }

            &#x2F;&#x2F; Hide all displayed images
            const displayedImages = document.getElementsByClassName(&quot;gallery__viewport__image--display&quot;);
            if (displayedImages.length &gt; 0) {
                for (let i = 0; i &lt; displayedImages.length; i++) {
                    hideDisplayedImage(&quot;galleryconversation&quot;, displayedImages[i]);
                }
                const nextFocusableItem = event.relatedTarget;
                if (nextFocusableItem != null &amp;&amp; nextFocusableItem.classList.contains(&quot;gallery__selector__button&quot;)) {
                    displayImageWithButton(&quot;galleryconversation&quot;, nextFocusableItem);
                }
            }
        });
    }

    &#x2F;&#x2F; Previous Button
    &#x2F;&#x2F; Click
    const previousImageButtongalleryconversation = document.querySelector(&quot;#galleryconversation .gallery__viewport__controls__nav-button--left&quot;);
    previousImageButtongalleryconversation.addEventListener(&#x27;click&#x27;, function(event) {
        displayPreviousImage();
    });

    &#x2F;&#x2F; Next Button
    &#x2F;&#x2F; Click
    const nextImageButtongalleryconversation = document.querySelector(&quot;#galleryconversation .gallery__viewport__controls__nav-button--right&quot;);
    nextImageButtongalleryconversation.addEventListener(&#x27;click&#x27;, function(event) {
        displayNextImage();
    });

    &#x2F;&#x2F; Close Button
    &#x2F;&#x2F; Click
    const closeImageButtongalleryconversation = document.querySelector(&quot;#galleryconversation .gallery__viewport__controls__nav-close-btn&quot;);
    closeImageButtongalleryconversation.addEventListener(&#x27;click&#x27;, function(event) {
        const controlledElement = document.getElementsByClassName(&quot;gallery__viewport__image--display&quot;)[0];
        if (controlledElement !== undefined) {
            hideDisplayedImage(&quot;galleryconversation&quot;, controlledElement);
        }
    });

    &#x2F;&#x2F; Keyboard Controls
    document.addEventListener(&#x27;keydown&#x27;, (event) =&gt; {
        const controlledElement = document.getElementsByClassName(&quot;gallery__viewport__image--display&quot;)[0];
        if (controlledElement !== undefined) {

            &#x2F;&#x2F; Hide image
            &#x2F;&#x2F; ESC, LEFT, RIGHT
            if (event.code === &#x27;Escape&#x27; || event.code === &#x27;ArrowLeft&#x27; || event.code === &#x27;ArrowRight&#x27;) {
                hideDisplayedImage(&quot;galleryconversation&quot;, controlledElement);
            }

            let newControlledElement;

            &#x2F;&#x2F; Select new controlled element(image)
            &#x2F;&#x2F; LEFT
            if (event.code === &#x27;ArrowLeft&#x27;) {
                newControlledElement = controlledElement.previousElementSibling;
                if (newControlledElement === null) {
                    newControlledElement = controlledElement.parentElement.lastElementChild;
                }
            }
            &#x2F;&#x2F; RIGHT
            if (event.code === &#x27;ArrowRight&#x27;) {
                newControlledElement = controlledElement.nextElementSibling;
                if (newControlledElement === null) {
                    newControlledElement = controlledElement.parentElement.firstElementChild;
                }
            }

            &#x2F;&#x2F; Active button and display image
            if (newControlledElement !== null &amp;&amp; newControlledElement !== undefined) {
                displayImageWithControlledElement(&quot;galleryconversation&quot;, newControlledElement);
            }
        }
    })

    &#x2F;&#x2F; Touch Gesture
    let touchstartXgalleryconversation = 0;
    let touchendXgalleryconversation = 0;

    const galleryViewportgalleryconversation = document.getElementsByClassName(&quot;gallery__viewport&quot;)[0];
    if (galleryViewportgalleryconversation !== undefined) {

        galleryViewportgalleryconversation.addEventListener(&#x27;touchstart&#x27;, function(event) {
            touchstartXgalleryconversation = event.changedTouches[0].screenX
        });

        galleryViewportgalleryconversation.addEventListener(&#x27;touchend&#x27;, function(event) {
            touchendXgalleryconversation = event.changedTouches[0].screenX
            const direction = checkSwipeDirection(touchstartXgalleryconversation, touchendXgalleryconversation);
            if (direction === &quot;left&quot;) {
                displayPreviousImage();
            } else if (direction === &quot;right&quot;) {
                displayNextImage();
            }
        });

        galleryViewportgalleryconversation.addEventListner(&#x27;touchmove&#x27;, function(event) {
            event.preventDefault();
            event.stopPropagation();
        });
    }
&lt;&#x2F;script&gt;</content>
        
    </entry>
    <entry xml:lang="fr">
        <title>Nuit urbaine électro</title>
        <published>2010-01-01T00:00:00+00:00</published>
        <updated>2010-01-01T00:00:00+00:00</updated>
        
        <author>
          <name>
            
              Pierre Tremblay-Thériault
            
          </name>
        </author>
        
        <link rel="alternate" type="text/html" href="https://lapinchatware.ca/arts/nuit-urbaine-electro/"/>
        <id>https://lapinchatware.ca/arts/nuit-urbaine-electro/</id>
        
        <content type="html" xml:base="https://lapinchatware.ca/arts/nuit-urbaine-electro/">&lt;div id=&quot;gallerynuiturbaineelectro&quot; class=&quot;gallery&quot;&gt;
    
    &lt;div class=&quot;gallery__viewport&quot;&gt;
        &lt;div class=&quot;gallery__viewport__images&quot;&gt;
            
            
                    
                    &lt;img id=&quot;gallerynuiturbaineelectroimage0&quot; class=&quot;gallery__viewport__image&quot; src=&quot;&amp;#x2F;arts&amp;#x2F;nuit-urbaine-electro&amp;#x2F;gallery&amp;#x2F;nuiturbaine_1.jpg&quot; alt=&quot;Photo d&amp;#x27;archive&quot;&#x2F;&gt;
                    
        &lt;&#x2F;div&gt;
        &lt;div class=&quot;gallery__viewport__controls&quot;&gt;
            &lt;img class=&quot;gallery__viewport__controls__nav-button gallery__viewport__controls__nav-button--left&quot; src=&quot;&#x2F;images&#x2F;angle-left.svg&quot; alt=&quot;Voir l&#x27;image précédente.&quot; aria-hidden=&quot;true&quot;&#x2F;&gt;
            &lt;img class=&quot;gallery__viewport__controls__nav-button gallery__viewport__controls__nav-button--right&quot; src=&quot;&#x2F;images&#x2F;angle-right.svg&quot; alt=&quot;Voir l&#x27;image suivante.&quot; aria-hidden=&quot;true&quot;&#x2F;&gt;
            &lt;img class=&quot;gallery__viewport__controls__nav-close-btn&quot; src=&quot;&#x2F;images&#x2F;close-icon.svg&quot; alt=&quot;Fermer la gallery&quot;&#x2F;&gt;
        &lt;&#x2F;div&gt;
    &lt;&#x2F;div&gt;
    &lt;ul class=&quot;gallery__selector&quot;&gt;
        
        
                
                &lt;li class=&quot;gallery__selector__item&quot;&gt;
                    &lt;button
                            class=&quot;gallery__selector__button&quot;
                            aria-expanded=&quot;false&quot;
                            aria-controls=&quot;gallerynuiturbaineelectroimage0&quot;
                            aria-label=&quot;Voir l&#x27;image &amp;quot;Photo d&amp;#x27;archive&amp;quot;&quot;
                            type=&quot;button&quot;
                    &gt;
                        &lt;img class=&quot;gallery__selector__image&quot; src=&quot;&amp;#x2F;arts&amp;#x2F;nuit-urbaine-electro&amp;#x2F;gallery&amp;#x2F;nuiturbaine_1.jpg&quot; alt=&quot;Photo d&amp;#x27;archive&quot;&#x2F;&gt;
                    &lt;&#x2F;button&gt;
                &lt;&#x2F;li&gt;
                
    &lt;&#x2F;ul&gt;
&lt;&#x2F;div&gt;
&lt;script&gt;
    &#x2F;&#x2F; Define
    &#x2F;&#x2F; function hideDisplayedImage(galleryId, image)
    if (typeof globalThis.hideDisplayedImage === &quot;undefined&quot;) {
        globalThis.hideDisplayedImage = function(galleryId, image) {
            const fullscreenImageContainer = document.querySelector(&quot;#&quot; + galleryId + &quot; .gallery__viewport&quot;);
            fullscreenImageContainer.classList.remove(&quot;gallery__viewport--display&quot;);
            image.classList.remove(&quot;gallery__viewport__image--display&quot;);
            const selector = &#x27;[aria-controls=&quot;&#x27; + image.getAttribute(&quot;id&quot;) + &#x27;&quot;]&#x27;
            const controlsButton = document.querySelector(selector);
            controlsButton.setAttribute(&quot;aria-expanded&quot;, &quot;false&quot;);
        }
    }

    &#x2F;&#x2F; Define
    &#x2F;&#x2F; function displayImageWithButton(galleryId, button)
    if (typeof globalThis.displayImageWithButton === &quot;undefined&quot;) {
        globalThis.displayImageWithButton = function(galleryId, button) {
            button.focus();
            const fullscreenImageContainer = document.querySelector(&quot;#&quot; + galleryId + &quot; .gallery__viewport&quot;);
            fullscreenImageContainer.classList.add(&quot;gallery__viewport--display&quot;);
            const ariaControlsId = button.getAttribute(&quot;aria-controls&quot;);
            const controlledElement = document.getElementById(ariaControlsId);
            controlledElement.classList.add(&quot;gallery__viewport__image--display&quot;);
            button.setAttribute(&quot;aria-expanded&quot;, &quot;true&quot;);
        }
    }

    &#x2F;&#x2F; Define
    &#x2F;&#x2F; function displayImageWithControlledElement(galleryId, button)
    if (typeof globalThis.displayImageWithControlledElement === &quot;undefined&quot;) {
        globalThis.displayImageWithControlledElement = function(galleryId, controlledElement) {
            const selector = &#x27;[aria-controls=&quot;&#x27; + controlledElement.getAttribute(&quot;id&quot;) + &#x27;&quot;]&#x27;
            const controlsButton = document.querySelector(selector);
            displayImageWithButton(galleryId, controlsButton);
        }
    }

    &#x2F;&#x2F; Define
    &#x2F;&#x2F; function checkSwipeDirection(touchstartX, touchendX)
    if (typeof globalThis.checkSwipeDirection === &quot;undefined&quot;) {
        globalThis.checkSwipeDirection =  function(touchstartX, touchendX) {
            if (touchendX &lt; touchstartX) {
                return &quot;left&quot;;
            } else if (touchendX &gt; touchstartX) {
                return &quot;right&quot;;
            } else {
                return &quot;&quot;;
            }
        }
    }

    &#x2F;&#x2F; Define
    &#x2F;&#x2F; function displayNextImage()
    if (typeof globalThis.displayNextImage === &quot;undefined&quot;) {
        globalThis.displayNextImage = function() {
            const controlledElement = document.getElementsByClassName(&quot;gallery__viewport__image--display&quot;)[0];
            if (controlledElement !== undefined) {
                hideDisplayedImage(&quot;gallerynuiturbaineelectro&quot;, controlledElement);

                let newControlledElement = controlledElement.nextElementSibling;
                if (newControlledElement === null) {
                    newControlledElement = controlledElement.parentElement.firstElementChild;
                }

                if (newControlledElement !== null &amp;&amp; newControlledElement !== undefined) {
                    displayImageWithControlledElement(&quot;gallerynuiturbaineelectro&quot;, newControlledElement);
                }
            }
        }
    }

    &#x2F;&#x2F; Define
    &#x2F;&#x2F; function displayPreviousImage()
    if (typeof globalThis.displayPreviousImage === &quot;undefined&quot;) {
        globalThis.displayPreviousImage = function () {
            const controlledElement = document.getElementsByClassName(&quot;gallery__viewport__image--display&quot;)[0];
            if (controlledElement !== undefined) {
                hideDisplayedImage(&quot;gallerynuiturbaineelectro&quot;, controlledElement);

                let newControlledElement = controlledElement.previousElementSibling;
                if (newControlledElement === null) {
                    newControlledElement = controlledElement.parentElement.lastElementChild;
                }

                if (newControlledElement !== null &amp;&amp; newControlledElement !== undefined) {
                    displayImageWithControlledElement(&quot;gallerynuiturbaineelectro&quot;, newControlledElement);
                }
            }
        }
    }

    &#x2F;&#x2F; Init
    &#x2F;&#x2F; Gallery Buttons
    const galleryButtonsgallerynuiturbaineelectro = document.querySelectorAll(&quot;#gallerynuiturbaineelectro .gallery__selector__button&quot;);
    for (let i = 0; i &lt; galleryButtonsgallerynuiturbaineelectro.length; i++) {

        &#x2F;&#x2F; Click
        galleryButtonsgallerynuiturbaineelectro[i].addEventListener(&quot;click&quot;, function(event) {
            displayImageWithButton(&quot;gallerynuiturbaineelectro&quot;, this);
        });

        &#x2F;&#x2F; Focus In
        galleryButtonsgallerynuiturbaineelectro[i].addEventListener(&#x27;focusin&#x27;, function(event) {
            const previousFocusableItem = event.relatedTarget;
            const displayedImages = document.getElementsByClassName(&quot;gallery__viewport__image--display&quot;);
            if (
                (previousFocusableItem === null || !previousFocusableItem.classList.contains(&quot;gallery__selector__button&quot;))
                &amp;&amp; displayedImages.length &gt; 0
            ) {
                &#x2F;&#x2F; Hide all displayed images
                const displayedImages = document.getElementsByClassName(&quot;gallery__viewport__image--display&quot;);
                if (displayedImages.length &gt; 0) {
                    for (let i = 0; i &lt; displayedImages.length; i++) {
                        hideDisplayedImage(&quot;gallerynuiturbaineelectro&quot;, displayedImages[i]);
                    }
                }
                displayImageWithButton(&quot;gallerynuiturbaineelectro&quot;, this);
            }
        });

        &#x2F;&#x2F; Focus Out
        galleryButtonsgallerynuiturbaineelectro[i].addEventListener(&#x27;focusout&#x27;, function(event) {
            &#x2F;&#x2F; Prevent focus out actions if it&#x27;s a click on a gallery viewport element.
            const eventOriginClassList = event.explicitOriginalTarget.classList;
            if (
                eventOriginClassList.contains(&quot;gallery__viewport__image&quot;)
                || eventOriginClassList.contains(&quot;gallery__viewport__controls&quot;)
                || eventOriginClassList.contains(&quot;gallery__viewport__controls__nav-button&quot;)
                || eventOriginClassList.contains(&quot;gallery__viewport__controls__nav-close-btn&quot;)
                || eventOriginClassList.contains(&quot;gallery__viewport&quot;)
            ) {
                return;
            }

            &#x2F;&#x2F; Hide all displayed images
            const displayedImages = document.getElementsByClassName(&quot;gallery__viewport__image--display&quot;);
            if (displayedImages.length &gt; 0) {
                for (let i = 0; i &lt; displayedImages.length; i++) {
                    hideDisplayedImage(&quot;gallerynuiturbaineelectro&quot;, displayedImages[i]);
                }
                const nextFocusableItem = event.relatedTarget;
                if (nextFocusableItem != null &amp;&amp; nextFocusableItem.classList.contains(&quot;gallery__selector__button&quot;)) {
                    displayImageWithButton(&quot;gallerynuiturbaineelectro&quot;, nextFocusableItem);
                }
            }
        });
    }

    &#x2F;&#x2F; Previous Button
    &#x2F;&#x2F; Click
    const previousImageButtongallerynuiturbaineelectro = document.querySelector(&quot;#gallerynuiturbaineelectro .gallery__viewport__controls__nav-button--left&quot;);
    previousImageButtongallerynuiturbaineelectro.addEventListener(&#x27;click&#x27;, function(event) {
        displayPreviousImage();
    });

    &#x2F;&#x2F; Next Button
    &#x2F;&#x2F; Click
    const nextImageButtongallerynuiturbaineelectro = document.querySelector(&quot;#gallerynuiturbaineelectro .gallery__viewport__controls__nav-button--right&quot;);
    nextImageButtongallerynuiturbaineelectro.addEventListener(&#x27;click&#x27;, function(event) {
        displayNextImage();
    });

    &#x2F;&#x2F; Close Button
    &#x2F;&#x2F; Click
    const closeImageButtongallerynuiturbaineelectro = document.querySelector(&quot;#gallerynuiturbaineelectro .gallery__viewport__controls__nav-close-btn&quot;);
    closeImageButtongallerynuiturbaineelectro.addEventListener(&#x27;click&#x27;, function(event) {
        const controlledElement = document.getElementsByClassName(&quot;gallery__viewport__image--display&quot;)[0];
        if (controlledElement !== undefined) {
            hideDisplayedImage(&quot;gallerynuiturbaineelectro&quot;, controlledElement);
        }
    });

    &#x2F;&#x2F; Keyboard Controls
    document.addEventListener(&#x27;keydown&#x27;, (event) =&gt; {
        const controlledElement = document.getElementsByClassName(&quot;gallery__viewport__image--display&quot;)[0];
        if (controlledElement !== undefined) {

            &#x2F;&#x2F; Hide image
            &#x2F;&#x2F; ESC, LEFT, RIGHT
            if (event.code === &#x27;Escape&#x27; || event.code === &#x27;ArrowLeft&#x27; || event.code === &#x27;ArrowRight&#x27;) {
                hideDisplayedImage(&quot;gallerynuiturbaineelectro&quot;, controlledElement);
            }

            let newControlledElement;

            &#x2F;&#x2F; Select new controlled element(image)
            &#x2F;&#x2F; LEFT
            if (event.code === &#x27;ArrowLeft&#x27;) {
                newControlledElement = controlledElement.previousElementSibling;
                if (newControlledElement === null) {
                    newControlledElement = controlledElement.parentElement.lastElementChild;
                }
            }
            &#x2F;&#x2F; RIGHT
            if (event.code === &#x27;ArrowRight&#x27;) {
                newControlledElement = controlledElement.nextElementSibling;
                if (newControlledElement === null) {
                    newControlledElement = controlledElement.parentElement.firstElementChild;
                }
            }

            &#x2F;&#x2F; Active button and display image
            if (newControlledElement !== null &amp;&amp; newControlledElement !== undefined) {
                displayImageWithControlledElement(&quot;gallerynuiturbaineelectro&quot;, newControlledElement);
            }
        }
    })

    &#x2F;&#x2F; Touch Gesture
    let touchstartXgallerynuiturbaineelectro = 0;
    let touchendXgallerynuiturbaineelectro = 0;

    const galleryViewportgallerynuiturbaineelectro = document.getElementsByClassName(&quot;gallery__viewport&quot;)[0];
    if (galleryViewportgallerynuiturbaineelectro !== undefined) {

        galleryViewportgallerynuiturbaineelectro.addEventListener(&#x27;touchstart&#x27;, function(event) {
            touchstartXgallerynuiturbaineelectro = event.changedTouches[0].screenX
        });

        galleryViewportgallerynuiturbaineelectro.addEventListener(&#x27;touchend&#x27;, function(event) {
            touchendXgallerynuiturbaineelectro = event.changedTouches[0].screenX
            const direction = checkSwipeDirection(touchstartXgallerynuiturbaineelectro, touchendXgallerynuiturbaineelectro);
            if (direction === &quot;left&quot;) {
                displayPreviousImage();
            } else if (direction === &quot;right&quot;) {
                displayNextImage();
            }
        });

        galleryViewportgallerynuiturbaineelectro.addEventListner(&#x27;touchmove&#x27;, function(event) {
            event.preventDefault();
            event.stopPropagation();
        });
    }
&lt;&#x2F;script&gt;</content>
        
    </entry>
    <entry xml:lang="fr">
        <title>Tu me plais!</title>
        <published>2010-01-01T00:00:00+00:00</published>
        <updated>2010-01-01T00:00:00+00:00</updated>
        
        <author>
          <name>
            
              Pierre Tremblay-Thériault
            
          </name>
        </author>
        
        <link rel="alternate" type="text/html" href="https://lapinchatware.ca/arts/tu-me-plais/"/>
        <id>https://lapinchatware.ca/arts/tu-me-plais/</id>
        
        <content type="html" xml:base="https://lapinchatware.ca/arts/tu-me-plais/">&lt;p&gt;Tissu, écran LCD, caméra web, ordinateur &lt;br &#x2F;&gt;
45cm X 45cm X 90cm &lt;br &#x2F;&gt;
2010&lt;&#x2F;p&gt;
&lt;div id=&quot;gallerytumeplais&quot; class=&quot;gallery&quot;&gt;
    
    &lt;div class=&quot;gallery__viewport&quot;&gt;
        &lt;div class=&quot;gallery__viewport__images&quot;&gt;
            
            
                    
                    &lt;img id=&quot;gallerytumeplaisimage0&quot; class=&quot;gallery__viewport__image&quot; src=&quot;&amp;#x2F;arts&amp;#x2F;tu-me-plais&amp;#x2F;gallery&amp;#x2F;tumeplais_1.jpg&quot; alt=&quot;Photo d&amp;#x27;archive: 1&quot;&#x2F;&gt;
                    
                    
                    &lt;img id=&quot;gallerytumeplaisimage1&quot; class=&quot;gallery__viewport__image&quot; src=&quot;&amp;#x2F;arts&amp;#x2F;tu-me-plais&amp;#x2F;gallery&amp;#x2F;tumeplais_2.jpg&quot; alt=&quot;Photo d&amp;#x27;archive: 2&quot;&#x2F;&gt;
                    
                    
                    &lt;img id=&quot;gallerytumeplaisimage2&quot; class=&quot;gallery__viewport__image&quot; src=&quot;&amp;#x2F;arts&amp;#x2F;tu-me-plais&amp;#x2F;gallery&amp;#x2F;tumeplais_3.jpg&quot; alt=&quot;Photo d&amp;#x27;archive: 3&quot;&#x2F;&gt;
                    
                    
                    &lt;img id=&quot;gallerytumeplaisimage3&quot; class=&quot;gallery__viewport__image&quot; src=&quot;&amp;#x2F;arts&amp;#x2F;tu-me-plais&amp;#x2F;gallery&amp;#x2F;tumeplais_4.jpg&quot; alt=&quot;Photo d&amp;#x27;archive: 4&quot;&#x2F;&gt;
                    
                    
                    &lt;img id=&quot;gallerytumeplaisimage4&quot; class=&quot;gallery__viewport__image&quot; src=&quot;&amp;#x2F;arts&amp;#x2F;tu-me-plais&amp;#x2F;gallery&amp;#x2F;tumeplais_5.jpg&quot; alt=&quot;Photo d&amp;#x27;archive: 5&quot;&#x2F;&gt;
                    
        &lt;&#x2F;div&gt;
        &lt;div class=&quot;gallery__viewport__controls&quot;&gt;
            &lt;img class=&quot;gallery__viewport__controls__nav-button gallery__viewport__controls__nav-button--left&quot; src=&quot;&#x2F;images&#x2F;angle-left.svg&quot; alt=&quot;Voir l&#x27;image précédente.&quot; aria-hidden=&quot;true&quot;&#x2F;&gt;
            &lt;img class=&quot;gallery__viewport__controls__nav-button gallery__viewport__controls__nav-button--right&quot; src=&quot;&#x2F;images&#x2F;angle-right.svg&quot; alt=&quot;Voir l&#x27;image suivante.&quot; aria-hidden=&quot;true&quot;&#x2F;&gt;
            &lt;img class=&quot;gallery__viewport__controls__nav-close-btn&quot; src=&quot;&#x2F;images&#x2F;close-icon.svg&quot; alt=&quot;Fermer la gallery&quot;&#x2F;&gt;
        &lt;&#x2F;div&gt;
    &lt;&#x2F;div&gt;
    &lt;ul class=&quot;gallery__selector&quot;&gt;
        
        
                
                &lt;li class=&quot;gallery__selector__item&quot;&gt;
                    &lt;button
                            class=&quot;gallery__selector__button&quot;
                            aria-expanded=&quot;false&quot;
                            aria-controls=&quot;gallerytumeplaisimage0&quot;
                            aria-label=&quot;Voir l&#x27;image &amp;quot;Photo d&amp;#x27;archive: 1&amp;quot;&quot;
                            type=&quot;button&quot;
                    &gt;
                        &lt;img class=&quot;gallery__selector__image&quot; src=&quot;&amp;#x2F;arts&amp;#x2F;tu-me-plais&amp;#x2F;gallery&amp;#x2F;tumeplais_1.jpg&quot; alt=&quot;Photo d&amp;#x27;archive: 1&quot;&#x2F;&gt;
                    &lt;&#x2F;button&gt;
                &lt;&#x2F;li&gt;
                
                
                &lt;li class=&quot;gallery__selector__item&quot;&gt;
                    &lt;button
                            class=&quot;gallery__selector__button&quot;
                            aria-expanded=&quot;false&quot;
                            aria-controls=&quot;gallerytumeplaisimage1&quot;
                            aria-label=&quot;Voir l&#x27;image &amp;quot;Photo d&amp;#x27;archive: 2&amp;quot;&quot;
                            type=&quot;button&quot;
                    &gt;
                        &lt;img class=&quot;gallery__selector__image&quot; src=&quot;&amp;#x2F;arts&amp;#x2F;tu-me-plais&amp;#x2F;gallery&amp;#x2F;tumeplais_2.jpg&quot; alt=&quot;Photo d&amp;#x27;archive: 2&quot;&#x2F;&gt;
                    &lt;&#x2F;button&gt;
                &lt;&#x2F;li&gt;
                
                
                &lt;li class=&quot;gallery__selector__item&quot;&gt;
                    &lt;button
                            class=&quot;gallery__selector__button&quot;
                            aria-expanded=&quot;false&quot;
                            aria-controls=&quot;gallerytumeplaisimage2&quot;
                            aria-label=&quot;Voir l&#x27;image &amp;quot;Photo d&amp;#x27;archive: 3&amp;quot;&quot;
                            type=&quot;button&quot;
                    &gt;
                        &lt;img class=&quot;gallery__selector__image&quot; src=&quot;&amp;#x2F;arts&amp;#x2F;tu-me-plais&amp;#x2F;gallery&amp;#x2F;tumeplais_3.jpg&quot; alt=&quot;Photo d&amp;#x27;archive: 3&quot;&#x2F;&gt;
                    &lt;&#x2F;button&gt;
                &lt;&#x2F;li&gt;
                
                
                &lt;li class=&quot;gallery__selector__item&quot;&gt;
                    &lt;button
                            class=&quot;gallery__selector__button&quot;
                            aria-expanded=&quot;false&quot;
                            aria-controls=&quot;gallerytumeplaisimage3&quot;
                            aria-label=&quot;Voir l&#x27;image &amp;quot;Photo d&amp;#x27;archive: 4&amp;quot;&quot;
                            type=&quot;button&quot;
                    &gt;
                        &lt;img class=&quot;gallery__selector__image&quot; src=&quot;&amp;#x2F;arts&amp;#x2F;tu-me-plais&amp;#x2F;gallery&amp;#x2F;tumeplais_4.jpg&quot; alt=&quot;Photo d&amp;#x27;archive: 4&quot;&#x2F;&gt;
                    &lt;&#x2F;button&gt;
                &lt;&#x2F;li&gt;
                
                
                &lt;li class=&quot;gallery__selector__item&quot;&gt;
                    &lt;button
                            class=&quot;gallery__selector__button&quot;
                            aria-expanded=&quot;false&quot;
                            aria-controls=&quot;gallerytumeplaisimage4&quot;
                            aria-label=&quot;Voir l&#x27;image &amp;quot;Photo d&amp;#x27;archive: 5&amp;quot;&quot;
                            type=&quot;button&quot;
                    &gt;
                        &lt;img class=&quot;gallery__selector__image&quot; src=&quot;&amp;#x2F;arts&amp;#x2F;tu-me-plais&amp;#x2F;gallery&amp;#x2F;tumeplais_5.jpg&quot; alt=&quot;Photo d&amp;#x27;archive: 5&quot;&#x2F;&gt;
                    &lt;&#x2F;button&gt;
                &lt;&#x2F;li&gt;
                
    &lt;&#x2F;ul&gt;
&lt;&#x2F;div&gt;
&lt;script&gt;
    &#x2F;&#x2F; Define
    &#x2F;&#x2F; function hideDisplayedImage(galleryId, image)
    if (typeof globalThis.hideDisplayedImage === &quot;undefined&quot;) {
        globalThis.hideDisplayedImage = function(galleryId, image) {
            const fullscreenImageContainer = document.querySelector(&quot;#&quot; + galleryId + &quot; .gallery__viewport&quot;);
            fullscreenImageContainer.classList.remove(&quot;gallery__viewport--display&quot;);
            image.classList.remove(&quot;gallery__viewport__image--display&quot;);
            const selector = &#x27;[aria-controls=&quot;&#x27; + image.getAttribute(&quot;id&quot;) + &#x27;&quot;]&#x27;
            const controlsButton = document.querySelector(selector);
            controlsButton.setAttribute(&quot;aria-expanded&quot;, &quot;false&quot;);
        }
    }

    &#x2F;&#x2F; Define
    &#x2F;&#x2F; function displayImageWithButton(galleryId, button)
    if (typeof globalThis.displayImageWithButton === &quot;undefined&quot;) {
        globalThis.displayImageWithButton = function(galleryId, button) {
            button.focus();
            const fullscreenImageContainer = document.querySelector(&quot;#&quot; + galleryId + &quot; .gallery__viewport&quot;);
            fullscreenImageContainer.classList.add(&quot;gallery__viewport--display&quot;);
            const ariaControlsId = button.getAttribute(&quot;aria-controls&quot;);
            const controlledElement = document.getElementById(ariaControlsId);
            controlledElement.classList.add(&quot;gallery__viewport__image--display&quot;);
            button.setAttribute(&quot;aria-expanded&quot;, &quot;true&quot;);
        }
    }

    &#x2F;&#x2F; Define
    &#x2F;&#x2F; function displayImageWithControlledElement(galleryId, button)
    if (typeof globalThis.displayImageWithControlledElement === &quot;undefined&quot;) {
        globalThis.displayImageWithControlledElement = function(galleryId, controlledElement) {
            const selector = &#x27;[aria-controls=&quot;&#x27; + controlledElement.getAttribute(&quot;id&quot;) + &#x27;&quot;]&#x27;
            const controlsButton = document.querySelector(selector);
            displayImageWithButton(galleryId, controlsButton);
        }
    }

    &#x2F;&#x2F; Define
    &#x2F;&#x2F; function checkSwipeDirection(touchstartX, touchendX)
    if (typeof globalThis.checkSwipeDirection === &quot;undefined&quot;) {
        globalThis.checkSwipeDirection =  function(touchstartX, touchendX) {
            if (touchendX &lt; touchstartX) {
                return &quot;left&quot;;
            } else if (touchendX &gt; touchstartX) {
                return &quot;right&quot;;
            } else {
                return &quot;&quot;;
            }
        }
    }

    &#x2F;&#x2F; Define
    &#x2F;&#x2F; function displayNextImage()
    if (typeof globalThis.displayNextImage === &quot;undefined&quot;) {
        globalThis.displayNextImage = function() {
            const controlledElement = document.getElementsByClassName(&quot;gallery__viewport__image--display&quot;)[0];
            if (controlledElement !== undefined) {
                hideDisplayedImage(&quot;gallerytumeplais&quot;, controlledElement);

                let newControlledElement = controlledElement.nextElementSibling;
                if (newControlledElement === null) {
                    newControlledElement = controlledElement.parentElement.firstElementChild;
                }

                if (newControlledElement !== null &amp;&amp; newControlledElement !== undefined) {
                    displayImageWithControlledElement(&quot;gallerytumeplais&quot;, newControlledElement);
                }
            }
        }
    }

    &#x2F;&#x2F; Define
    &#x2F;&#x2F; function displayPreviousImage()
    if (typeof globalThis.displayPreviousImage === &quot;undefined&quot;) {
        globalThis.displayPreviousImage = function () {
            const controlledElement = document.getElementsByClassName(&quot;gallery__viewport__image--display&quot;)[0];
            if (controlledElement !== undefined) {
                hideDisplayedImage(&quot;gallerytumeplais&quot;, controlledElement);

                let newControlledElement = controlledElement.previousElementSibling;
                if (newControlledElement === null) {
                    newControlledElement = controlledElement.parentElement.lastElementChild;
                }

                if (newControlledElement !== null &amp;&amp; newControlledElement !== undefined) {
                    displayImageWithControlledElement(&quot;gallerytumeplais&quot;, newControlledElement);
                }
            }
        }
    }

    &#x2F;&#x2F; Init
    &#x2F;&#x2F; Gallery Buttons
    const galleryButtonsgallerytumeplais = document.querySelectorAll(&quot;#gallerytumeplais .gallery__selector__button&quot;);
    for (let i = 0; i &lt; galleryButtonsgallerytumeplais.length; i++) {

        &#x2F;&#x2F; Click
        galleryButtonsgallerytumeplais[i].addEventListener(&quot;click&quot;, function(event) {
            displayImageWithButton(&quot;gallerytumeplais&quot;, this);
        });

        &#x2F;&#x2F; Focus In
        galleryButtonsgallerytumeplais[i].addEventListener(&#x27;focusin&#x27;, function(event) {
            const previousFocusableItem = event.relatedTarget;
            const displayedImages = document.getElementsByClassName(&quot;gallery__viewport__image--display&quot;);
            if (
                (previousFocusableItem === null || !previousFocusableItem.classList.contains(&quot;gallery__selector__button&quot;))
                &amp;&amp; displayedImages.length &gt; 0
            ) {
                &#x2F;&#x2F; Hide all displayed images
                const displayedImages = document.getElementsByClassName(&quot;gallery__viewport__image--display&quot;);
                if (displayedImages.length &gt; 0) {
                    for (let i = 0; i &lt; displayedImages.length; i++) {
                        hideDisplayedImage(&quot;gallerytumeplais&quot;, displayedImages[i]);
                    }
                }
                displayImageWithButton(&quot;gallerytumeplais&quot;, this);
            }
        });

        &#x2F;&#x2F; Focus Out
        galleryButtonsgallerytumeplais[i].addEventListener(&#x27;focusout&#x27;, function(event) {
            &#x2F;&#x2F; Prevent focus out actions if it&#x27;s a click on a gallery viewport element.
            const eventOriginClassList = event.explicitOriginalTarget.classList;
            if (
                eventOriginClassList.contains(&quot;gallery__viewport__image&quot;)
                || eventOriginClassList.contains(&quot;gallery__viewport__controls&quot;)
                || eventOriginClassList.contains(&quot;gallery__viewport__controls__nav-button&quot;)
                || eventOriginClassList.contains(&quot;gallery__viewport__controls__nav-close-btn&quot;)
                || eventOriginClassList.contains(&quot;gallery__viewport&quot;)
            ) {
                return;
            }

            &#x2F;&#x2F; Hide all displayed images
            const displayedImages = document.getElementsByClassName(&quot;gallery__viewport__image--display&quot;);
            if (displayedImages.length &gt; 0) {
                for (let i = 0; i &lt; displayedImages.length; i++) {
                    hideDisplayedImage(&quot;gallerytumeplais&quot;, displayedImages[i]);
                }
                const nextFocusableItem = event.relatedTarget;
                if (nextFocusableItem != null &amp;&amp; nextFocusableItem.classList.contains(&quot;gallery__selector__button&quot;)) {
                    displayImageWithButton(&quot;gallerytumeplais&quot;, nextFocusableItem);
                }
            }
        });
    }

    &#x2F;&#x2F; Previous Button
    &#x2F;&#x2F; Click
    const previousImageButtongallerytumeplais = document.querySelector(&quot;#gallerytumeplais .gallery__viewport__controls__nav-button--left&quot;);
    previousImageButtongallerytumeplais.addEventListener(&#x27;click&#x27;, function(event) {
        displayPreviousImage();
    });

    &#x2F;&#x2F; Next Button
    &#x2F;&#x2F; Click
    const nextImageButtongallerytumeplais = document.querySelector(&quot;#gallerytumeplais .gallery__viewport__controls__nav-button--right&quot;);
    nextImageButtongallerytumeplais.addEventListener(&#x27;click&#x27;, function(event) {
        displayNextImage();
    });

    &#x2F;&#x2F; Close Button
    &#x2F;&#x2F; Click
    const closeImageButtongallerytumeplais = document.querySelector(&quot;#gallerytumeplais .gallery__viewport__controls__nav-close-btn&quot;);
    closeImageButtongallerytumeplais.addEventListener(&#x27;click&#x27;, function(event) {
        const controlledElement = document.getElementsByClassName(&quot;gallery__viewport__image--display&quot;)[0];
        if (controlledElement !== undefined) {
            hideDisplayedImage(&quot;gallerytumeplais&quot;, controlledElement);
        }
    });

    &#x2F;&#x2F; Keyboard Controls
    document.addEventListener(&#x27;keydown&#x27;, (event) =&gt; {
        const controlledElement = document.getElementsByClassName(&quot;gallery__viewport__image--display&quot;)[0];
        if (controlledElement !== undefined) {

            &#x2F;&#x2F; Hide image
            &#x2F;&#x2F; ESC, LEFT, RIGHT
            if (event.code === &#x27;Escape&#x27; || event.code === &#x27;ArrowLeft&#x27; || event.code === &#x27;ArrowRight&#x27;) {
                hideDisplayedImage(&quot;gallerytumeplais&quot;, controlledElement);
            }

            let newControlledElement;

            &#x2F;&#x2F; Select new controlled element(image)
            &#x2F;&#x2F; LEFT
            if (event.code === &#x27;ArrowLeft&#x27;) {
                newControlledElement = controlledElement.previousElementSibling;
                if (newControlledElement === null) {
                    newControlledElement = controlledElement.parentElement.lastElementChild;
                }
            }
            &#x2F;&#x2F; RIGHT
            if (event.code === &#x27;ArrowRight&#x27;) {
                newControlledElement = controlledElement.nextElementSibling;
                if (newControlledElement === null) {
                    newControlledElement = controlledElement.parentElement.firstElementChild;
                }
            }

            &#x2F;&#x2F; Active button and display image
            if (newControlledElement !== null &amp;&amp; newControlledElement !== undefined) {
                displayImageWithControlledElement(&quot;gallerytumeplais&quot;, newControlledElement);
            }
        }
    })

    &#x2F;&#x2F; Touch Gesture
    let touchstartXgallerytumeplais = 0;
    let touchendXgallerytumeplais = 0;

    const galleryViewportgallerytumeplais = document.getElementsByClassName(&quot;gallery__viewport&quot;)[0];
    if (galleryViewportgallerytumeplais !== undefined) {

        galleryViewportgallerytumeplais.addEventListener(&#x27;touchstart&#x27;, function(event) {
            touchstartXgallerytumeplais = event.changedTouches[0].screenX
        });

        galleryViewportgallerytumeplais.addEventListener(&#x27;touchend&#x27;, function(event) {
            touchendXgallerytumeplais = event.changedTouches[0].screenX
            const direction = checkSwipeDirection(touchstartXgallerytumeplais, touchendXgallerytumeplais);
            if (direction === &quot;left&quot;) {
                displayPreviousImage();
            } else if (direction === &quot;right&quot;) {
                displayNextImage();
            }
        });

        galleryViewportgallerytumeplais.addEventListner(&#x27;touchmove&#x27;, function(event) {
            event.preventDefault();
            event.stopPropagation();
        });
    }
&lt;&#x2F;script&gt;</content>
        
    </entry>
    <entry xml:lang="fr">
        <title>Zone de confort</title>
        <published>2010-01-01T00:00:00+00:00</published>
        <updated>2010-01-01T00:00:00+00:00</updated>
        
        <author>
          <name>
            
              Pierre Tremblay-Thériault
            
          </name>
        </author>
        
        <link rel="alternate" type="text/html" href="https://lapinchatware.ca/arts/zone-de-confort/"/>
        <id>https://lapinchatware.ca/arts/zone-de-confort/</id>
        
        <content type="html" xml:base="https://lapinchatware.ca/arts/zone-de-confort/">&lt;p&gt;Écran LCD, caméra web, détecteur de distance, Arduino, cadre en bois, ordinateur &lt;br &#x2F;&gt;
40cm X 30cm &lt;br &#x2F;&gt;
2010&lt;&#x2F;p&gt;
&lt;div id=&quot;galleryzonedeconfort&quot; class=&quot;gallery&quot;&gt;
    
    &lt;div class=&quot;gallery__viewport&quot;&gt;
        &lt;div class=&quot;gallery__viewport__images&quot;&gt;
            
            
                    
                    &lt;img id=&quot;galleryzonedeconfortimage0&quot; class=&quot;gallery__viewport__image&quot; src=&quot;&amp;#x2F;arts&amp;#x2F;zone-de-confort&amp;#x2F;gallery&amp;#x2F;zone_1.jpg&quot; alt=&quot;Photo d&amp;#x27;archive: 1&quot;&#x2F;&gt;
                    
                    
                    &lt;img id=&quot;galleryzonedeconfortimage1&quot; class=&quot;gallery__viewport__image&quot; src=&quot;&amp;#x2F;arts&amp;#x2F;zone-de-confort&amp;#x2F;gallery&amp;#x2F;zone_2.jpg&quot; alt=&quot;Photo d&amp;#x27;archive: 2&quot;&#x2F;&gt;
                    
                    
                    &lt;img id=&quot;galleryzonedeconfortimage2&quot; class=&quot;gallery__viewport__image&quot; src=&quot;&amp;#x2F;arts&amp;#x2F;zone-de-confort&amp;#x2F;gallery&amp;#x2F;zone_3.jpg&quot; alt=&quot;Photo d&amp;#x27;archive: 3&quot;&#x2F;&gt;
                    
                    
                    &lt;img id=&quot;galleryzonedeconfortimage3&quot; class=&quot;gallery__viewport__image&quot; src=&quot;&amp;#x2F;arts&amp;#x2F;zone-de-confort&amp;#x2F;gallery&amp;#x2F;zone_4.jpg&quot; alt=&quot;Photo d&amp;#x27;archive: 4&quot;&#x2F;&gt;
                    
                    
                    &lt;img id=&quot;galleryzonedeconfortimage4&quot; class=&quot;gallery__viewport__image&quot; src=&quot;&amp;#x2F;arts&amp;#x2F;zone-de-confort&amp;#x2F;gallery&amp;#x2F;zone_5.jpg&quot; alt=&quot;Photo d&amp;#x27;archive: 5&quot;&#x2F;&gt;
                    
        &lt;&#x2F;div&gt;
        &lt;div class=&quot;gallery__viewport__controls&quot;&gt;
            &lt;img class=&quot;gallery__viewport__controls__nav-button gallery__viewport__controls__nav-button--left&quot; src=&quot;&#x2F;images&#x2F;angle-left.svg&quot; alt=&quot;Voir l&#x27;image précédente.&quot; aria-hidden=&quot;true&quot;&#x2F;&gt;
            &lt;img class=&quot;gallery__viewport__controls__nav-button gallery__viewport__controls__nav-button--right&quot; src=&quot;&#x2F;images&#x2F;angle-right.svg&quot; alt=&quot;Voir l&#x27;image suivante.&quot; aria-hidden=&quot;true&quot;&#x2F;&gt;
            &lt;img class=&quot;gallery__viewport__controls__nav-close-btn&quot; src=&quot;&#x2F;images&#x2F;close-icon.svg&quot; alt=&quot;Fermer la gallery&quot;&#x2F;&gt;
        &lt;&#x2F;div&gt;
    &lt;&#x2F;div&gt;
    &lt;ul class=&quot;gallery__selector&quot;&gt;
        
        
                
                &lt;li class=&quot;gallery__selector__item&quot;&gt;
                    &lt;button
                            class=&quot;gallery__selector__button&quot;
                            aria-expanded=&quot;false&quot;
                            aria-controls=&quot;galleryzonedeconfortimage0&quot;
                            aria-label=&quot;Voir l&#x27;image &amp;quot;Photo d&amp;#x27;archive: 1&amp;quot;&quot;
                            type=&quot;button&quot;
                    &gt;
                        &lt;img class=&quot;gallery__selector__image&quot; src=&quot;&amp;#x2F;arts&amp;#x2F;zone-de-confort&amp;#x2F;gallery&amp;#x2F;zone_1.jpg&quot; alt=&quot;Photo d&amp;#x27;archive: 1&quot;&#x2F;&gt;
                    &lt;&#x2F;button&gt;
                &lt;&#x2F;li&gt;
                
                
                &lt;li class=&quot;gallery__selector__item&quot;&gt;
                    &lt;button
                            class=&quot;gallery__selector__button&quot;
                            aria-expanded=&quot;false&quot;
                            aria-controls=&quot;galleryzonedeconfortimage1&quot;
                            aria-label=&quot;Voir l&#x27;image &amp;quot;Photo d&amp;#x27;archive: 2&amp;quot;&quot;
                            type=&quot;button&quot;
                    &gt;
                        &lt;img class=&quot;gallery__selector__image&quot; src=&quot;&amp;#x2F;arts&amp;#x2F;zone-de-confort&amp;#x2F;gallery&amp;#x2F;zone_2.jpg&quot; alt=&quot;Photo d&amp;#x27;archive: 2&quot;&#x2F;&gt;
                    &lt;&#x2F;button&gt;
                &lt;&#x2F;li&gt;
                
                
                &lt;li class=&quot;gallery__selector__item&quot;&gt;
                    &lt;button
                            class=&quot;gallery__selector__button&quot;
                            aria-expanded=&quot;false&quot;
                            aria-controls=&quot;galleryzonedeconfortimage2&quot;
                            aria-label=&quot;Voir l&#x27;image &amp;quot;Photo d&amp;#x27;archive: 3&amp;quot;&quot;
                            type=&quot;button&quot;
                    &gt;
                        &lt;img class=&quot;gallery__selector__image&quot; src=&quot;&amp;#x2F;arts&amp;#x2F;zone-de-confort&amp;#x2F;gallery&amp;#x2F;zone_3.jpg&quot; alt=&quot;Photo d&amp;#x27;archive: 3&quot;&#x2F;&gt;
                    &lt;&#x2F;button&gt;
                &lt;&#x2F;li&gt;
                
                
                &lt;li class=&quot;gallery__selector__item&quot;&gt;
                    &lt;button
                            class=&quot;gallery__selector__button&quot;
                            aria-expanded=&quot;false&quot;
                            aria-controls=&quot;galleryzonedeconfortimage3&quot;
                            aria-label=&quot;Voir l&#x27;image &amp;quot;Photo d&amp;#x27;archive: 4&amp;quot;&quot;
                            type=&quot;button&quot;
                    &gt;
                        &lt;img class=&quot;gallery__selector__image&quot; src=&quot;&amp;#x2F;arts&amp;#x2F;zone-de-confort&amp;#x2F;gallery&amp;#x2F;zone_4.jpg&quot; alt=&quot;Photo d&amp;#x27;archive: 4&quot;&#x2F;&gt;
                    &lt;&#x2F;button&gt;
                &lt;&#x2F;li&gt;
                
                
                &lt;li class=&quot;gallery__selector__item&quot;&gt;
                    &lt;button
                            class=&quot;gallery__selector__button&quot;
                            aria-expanded=&quot;false&quot;
                            aria-controls=&quot;galleryzonedeconfortimage4&quot;
                            aria-label=&quot;Voir l&#x27;image &amp;quot;Photo d&amp;#x27;archive: 5&amp;quot;&quot;
                            type=&quot;button&quot;
                    &gt;
                        &lt;img class=&quot;gallery__selector__image&quot; src=&quot;&amp;#x2F;arts&amp;#x2F;zone-de-confort&amp;#x2F;gallery&amp;#x2F;zone_5.jpg&quot; alt=&quot;Photo d&amp;#x27;archive: 5&quot;&#x2F;&gt;
                    &lt;&#x2F;button&gt;
                &lt;&#x2F;li&gt;
                
    &lt;&#x2F;ul&gt;
&lt;&#x2F;div&gt;
&lt;script&gt;
    &#x2F;&#x2F; Define
    &#x2F;&#x2F; function hideDisplayedImage(galleryId, image)
    if (typeof globalThis.hideDisplayedImage === &quot;undefined&quot;) {
        globalThis.hideDisplayedImage = function(galleryId, image) {
            const fullscreenImageContainer = document.querySelector(&quot;#&quot; + galleryId + &quot; .gallery__viewport&quot;);
            fullscreenImageContainer.classList.remove(&quot;gallery__viewport--display&quot;);
            image.classList.remove(&quot;gallery__viewport__image--display&quot;);
            const selector = &#x27;[aria-controls=&quot;&#x27; + image.getAttribute(&quot;id&quot;) + &#x27;&quot;]&#x27;
            const controlsButton = document.querySelector(selector);
            controlsButton.setAttribute(&quot;aria-expanded&quot;, &quot;false&quot;);
        }
    }

    &#x2F;&#x2F; Define
    &#x2F;&#x2F; function displayImageWithButton(galleryId, button)
    if (typeof globalThis.displayImageWithButton === &quot;undefined&quot;) {
        globalThis.displayImageWithButton = function(galleryId, button) {
            button.focus();
            const fullscreenImageContainer = document.querySelector(&quot;#&quot; + galleryId + &quot; .gallery__viewport&quot;);
            fullscreenImageContainer.classList.add(&quot;gallery__viewport--display&quot;);
            const ariaControlsId = button.getAttribute(&quot;aria-controls&quot;);
            const controlledElement = document.getElementById(ariaControlsId);
            controlledElement.classList.add(&quot;gallery__viewport__image--display&quot;);
            button.setAttribute(&quot;aria-expanded&quot;, &quot;true&quot;);
        }
    }

    &#x2F;&#x2F; Define
    &#x2F;&#x2F; function displayImageWithControlledElement(galleryId, button)
    if (typeof globalThis.displayImageWithControlledElement === &quot;undefined&quot;) {
        globalThis.displayImageWithControlledElement = function(galleryId, controlledElement) {
            const selector = &#x27;[aria-controls=&quot;&#x27; + controlledElement.getAttribute(&quot;id&quot;) + &#x27;&quot;]&#x27;
            const controlsButton = document.querySelector(selector);
            displayImageWithButton(galleryId, controlsButton);
        }
    }

    &#x2F;&#x2F; Define
    &#x2F;&#x2F; function checkSwipeDirection(touchstartX, touchendX)
    if (typeof globalThis.checkSwipeDirection === &quot;undefined&quot;) {
        globalThis.checkSwipeDirection =  function(touchstartX, touchendX) {
            if (touchendX &lt; touchstartX) {
                return &quot;left&quot;;
            } else if (touchendX &gt; touchstartX) {
                return &quot;right&quot;;
            } else {
                return &quot;&quot;;
            }
        }
    }

    &#x2F;&#x2F; Define
    &#x2F;&#x2F; function displayNextImage()
    if (typeof globalThis.displayNextImage === &quot;undefined&quot;) {
        globalThis.displayNextImage = function() {
            const controlledElement = document.getElementsByClassName(&quot;gallery__viewport__image--display&quot;)[0];
            if (controlledElement !== undefined) {
                hideDisplayedImage(&quot;galleryzonedeconfort&quot;, controlledElement);

                let newControlledElement = controlledElement.nextElementSibling;
                if (newControlledElement === null) {
                    newControlledElement = controlledElement.parentElement.firstElementChild;
                }

                if (newControlledElement !== null &amp;&amp; newControlledElement !== undefined) {
                    displayImageWithControlledElement(&quot;galleryzonedeconfort&quot;, newControlledElement);
                }
            }
        }
    }

    &#x2F;&#x2F; Define
    &#x2F;&#x2F; function displayPreviousImage()
    if (typeof globalThis.displayPreviousImage === &quot;undefined&quot;) {
        globalThis.displayPreviousImage = function () {
            const controlledElement = document.getElementsByClassName(&quot;gallery__viewport__image--display&quot;)[0];
            if (controlledElement !== undefined) {
                hideDisplayedImage(&quot;galleryzonedeconfort&quot;, controlledElement);

                let newControlledElement = controlledElement.previousElementSibling;
                if (newControlledElement === null) {
                    newControlledElement = controlledElement.parentElement.lastElementChild;
                }

                if (newControlledElement !== null &amp;&amp; newControlledElement !== undefined) {
                    displayImageWithControlledElement(&quot;galleryzonedeconfort&quot;, newControlledElement);
                }
            }
        }
    }

    &#x2F;&#x2F; Init
    &#x2F;&#x2F; Gallery Buttons
    const galleryButtonsgalleryzonedeconfort = document.querySelectorAll(&quot;#galleryzonedeconfort .gallery__selector__button&quot;);
    for (let i = 0; i &lt; galleryButtonsgalleryzonedeconfort.length; i++) {

        &#x2F;&#x2F; Click
        galleryButtonsgalleryzonedeconfort[i].addEventListener(&quot;click&quot;, function(event) {
            displayImageWithButton(&quot;galleryzonedeconfort&quot;, this);
        });

        &#x2F;&#x2F; Focus In
        galleryButtonsgalleryzonedeconfort[i].addEventListener(&#x27;focusin&#x27;, function(event) {
            const previousFocusableItem = event.relatedTarget;
            const displayedImages = document.getElementsByClassName(&quot;gallery__viewport__image--display&quot;);
            if (
                (previousFocusableItem === null || !previousFocusableItem.classList.contains(&quot;gallery__selector__button&quot;))
                &amp;&amp; displayedImages.length &gt; 0
            ) {
                &#x2F;&#x2F; Hide all displayed images
                const displayedImages = document.getElementsByClassName(&quot;gallery__viewport__image--display&quot;);
                if (displayedImages.length &gt; 0) {
                    for (let i = 0; i &lt; displayedImages.length; i++) {
                        hideDisplayedImage(&quot;galleryzonedeconfort&quot;, displayedImages[i]);
                    }
                }
                displayImageWithButton(&quot;galleryzonedeconfort&quot;, this);
            }
        });

        &#x2F;&#x2F; Focus Out
        galleryButtonsgalleryzonedeconfort[i].addEventListener(&#x27;focusout&#x27;, function(event) {
            &#x2F;&#x2F; Prevent focus out actions if it&#x27;s a click on a gallery viewport element.
            const eventOriginClassList = event.explicitOriginalTarget.classList;
            if (
                eventOriginClassList.contains(&quot;gallery__viewport__image&quot;)
                || eventOriginClassList.contains(&quot;gallery__viewport__controls&quot;)
                || eventOriginClassList.contains(&quot;gallery__viewport__controls__nav-button&quot;)
                || eventOriginClassList.contains(&quot;gallery__viewport__controls__nav-close-btn&quot;)
                || eventOriginClassList.contains(&quot;gallery__viewport&quot;)
            ) {
                return;
            }

            &#x2F;&#x2F; Hide all displayed images
            const displayedImages = document.getElementsByClassName(&quot;gallery__viewport__image--display&quot;);
            if (displayedImages.length &gt; 0) {
                for (let i = 0; i &lt; displayedImages.length; i++) {
                    hideDisplayedImage(&quot;galleryzonedeconfort&quot;, displayedImages[i]);
                }
                const nextFocusableItem = event.relatedTarget;
                if (nextFocusableItem != null &amp;&amp; nextFocusableItem.classList.contains(&quot;gallery__selector__button&quot;)) {
                    displayImageWithButton(&quot;galleryzonedeconfort&quot;, nextFocusableItem);
                }
            }
        });
    }

    &#x2F;&#x2F; Previous Button
    &#x2F;&#x2F; Click
    const previousImageButtongalleryzonedeconfort = document.querySelector(&quot;#galleryzonedeconfort .gallery__viewport__controls__nav-button--left&quot;);
    previousImageButtongalleryzonedeconfort.addEventListener(&#x27;click&#x27;, function(event) {
        displayPreviousImage();
    });

    &#x2F;&#x2F; Next Button
    &#x2F;&#x2F; Click
    const nextImageButtongalleryzonedeconfort = document.querySelector(&quot;#galleryzonedeconfort .gallery__viewport__controls__nav-button--right&quot;);
    nextImageButtongalleryzonedeconfort.addEventListener(&#x27;click&#x27;, function(event) {
        displayNextImage();
    });

    &#x2F;&#x2F; Close Button
    &#x2F;&#x2F; Click
    const closeImageButtongalleryzonedeconfort = document.querySelector(&quot;#galleryzonedeconfort .gallery__viewport__controls__nav-close-btn&quot;);
    closeImageButtongalleryzonedeconfort.addEventListener(&#x27;click&#x27;, function(event) {
        const controlledElement = document.getElementsByClassName(&quot;gallery__viewport__image--display&quot;)[0];
        if (controlledElement !== undefined) {
            hideDisplayedImage(&quot;galleryzonedeconfort&quot;, controlledElement);
        }
    });

    &#x2F;&#x2F; Keyboard Controls
    document.addEventListener(&#x27;keydown&#x27;, (event) =&gt; {
        const controlledElement = document.getElementsByClassName(&quot;gallery__viewport__image--display&quot;)[0];
        if (controlledElement !== undefined) {

            &#x2F;&#x2F; Hide image
            &#x2F;&#x2F; ESC, LEFT, RIGHT
            if (event.code === &#x27;Escape&#x27; || event.code === &#x27;ArrowLeft&#x27; || event.code === &#x27;ArrowRight&#x27;) {
                hideDisplayedImage(&quot;galleryzonedeconfort&quot;, controlledElement);
            }

            let newControlledElement;

            &#x2F;&#x2F; Select new controlled element(image)
            &#x2F;&#x2F; LEFT
            if (event.code === &#x27;ArrowLeft&#x27;) {
                newControlledElement = controlledElement.previousElementSibling;
                if (newControlledElement === null) {
                    newControlledElement = controlledElement.parentElement.lastElementChild;
                }
            }
            &#x2F;&#x2F; RIGHT
            if (event.code === &#x27;ArrowRight&#x27;) {
                newControlledElement = controlledElement.nextElementSibling;
                if (newControlledElement === null) {
                    newControlledElement = controlledElement.parentElement.firstElementChild;
                }
            }

            &#x2F;&#x2F; Active button and display image
            if (newControlledElement !== null &amp;&amp; newControlledElement !== undefined) {
                displayImageWithControlledElement(&quot;galleryzonedeconfort&quot;, newControlledElement);
            }
        }
    })

    &#x2F;&#x2F; Touch Gesture
    let touchstartXgalleryzonedeconfort = 0;
    let touchendXgalleryzonedeconfort = 0;

    const galleryViewportgalleryzonedeconfort = document.getElementsByClassName(&quot;gallery__viewport&quot;)[0];
    if (galleryViewportgalleryzonedeconfort !== undefined) {

        galleryViewportgalleryzonedeconfort.addEventListener(&#x27;touchstart&#x27;, function(event) {
            touchstartXgalleryzonedeconfort = event.changedTouches[0].screenX
        });

        galleryViewportgalleryzonedeconfort.addEventListener(&#x27;touchend&#x27;, function(event) {
            touchendXgalleryzonedeconfort = event.changedTouches[0].screenX
            const direction = checkSwipeDirection(touchstartXgalleryzonedeconfort, touchendXgalleryzonedeconfort);
            if (direction === &quot;left&quot;) {
                displayPreviousImage();
            } else if (direction === &quot;right&quot;) {
                displayNextImage();
            }
        });

        galleryViewportgalleryzonedeconfort.addEventListner(&#x27;touchmove&#x27;, function(event) {
            event.preventDefault();
            event.stopPropagation();
        });
    }
&lt;&#x2F;script&gt;</content>
        
    </entry>
    <entry xml:lang="fr">
        <title>L&#x27;homme d&#x27;affaire</title>
        <published>2009-01-01T00:00:00+00:00</published>
        <updated>2009-01-01T00:00:00+00:00</updated>
        
        <author>
          <name>
            
              Pierre Tremblay-Thériault
            
          </name>
        </author>
        
        <link rel="alternate" type="text/html" href="https://lapinchatware.ca/arts/lhomme-daffaire/"/>
        <id>https://lapinchatware.ca/arts/lhomme-daffaire/</id>
        
        <content type="html" xml:base="https://lapinchatware.ca/arts/lhomme-daffaire/">&lt;p&gt;Acier, bois de balsa &lt;br &#x2F;&gt;
60cm X 60cm X 90cm &lt;br &#x2F;&gt;
2009&lt;&#x2F;p&gt;
&lt;div id=&quot;galleryouiouijesuisloeuvre&quot; class=&quot;gallery&quot;&gt;
    
    &lt;div class=&quot;gallery__viewport&quot;&gt;
        &lt;div class=&quot;gallery__viewport__images&quot;&gt;
            
            
                    
                    &lt;img id=&quot;galleryouiouijesuisloeuvreimage0&quot; class=&quot;gallery__viewport__image&quot; src=&quot;&amp;#x2F;arts&amp;#x2F;lhomme-daffaire&amp;#x2F;gallery&amp;#x2F;lhommedaffaire_1.jpg&quot; alt=&quot;Photo d&amp;#x27;archive: 1&quot;&#x2F;&gt;
                    
                    
                    &lt;img id=&quot;galleryouiouijesuisloeuvreimage1&quot; class=&quot;gallery__viewport__image&quot; src=&quot;&amp;#x2F;arts&amp;#x2F;lhomme-daffaire&amp;#x2F;gallery&amp;#x2F;lhommedaffaire_2.jpg&quot; alt=&quot;Photo d&amp;#x27;archive: 2&quot;&#x2F;&gt;
                    
                    
                    &lt;img id=&quot;galleryouiouijesuisloeuvreimage2&quot; class=&quot;gallery__viewport__image&quot; src=&quot;&amp;#x2F;arts&amp;#x2F;lhomme-daffaire&amp;#x2F;gallery&amp;#x2F;lhommedaffaire_4.jpg&quot; alt=&quot;Photo d&amp;#x27;archive: 3&quot;&#x2F;&gt;
                    
                    
                    &lt;img id=&quot;galleryouiouijesuisloeuvreimage3&quot; class=&quot;gallery__viewport__image&quot; src=&quot;&amp;#x2F;arts&amp;#x2F;lhomme-daffaire&amp;#x2F;gallery&amp;#x2F;lhommedaffaire_5.jpg&quot; alt=&quot;Photo d&amp;#x27;archive: 4&quot;&#x2F;&gt;
                    
                    
                    &lt;img id=&quot;galleryouiouijesuisloeuvreimage4&quot; class=&quot;gallery__viewport__image&quot; src=&quot;&amp;#x2F;arts&amp;#x2F;lhomme-daffaire&amp;#x2F;gallery&amp;#x2F;lhommedaffaire_6.jpg&quot; alt=&quot;Photo d&amp;#x27;archive: 5&quot;&#x2F;&gt;
                    
                    
                    &lt;img id=&quot;galleryouiouijesuisloeuvreimage5&quot; class=&quot;gallery__viewport__image&quot; src=&quot;&amp;#x2F;arts&amp;#x2F;lhomme-daffaire&amp;#x2F;gallery&amp;#x2F;lhommedaffaire_7.jpg&quot; alt=&quot;Photo d&amp;#x27;archive: 6&quot;&#x2F;&gt;
                    
                    
                    &lt;img id=&quot;galleryouiouijesuisloeuvreimage6&quot; class=&quot;gallery__viewport__image&quot; src=&quot;&amp;#x2F;arts&amp;#x2F;lhomme-daffaire&amp;#x2F;gallery&amp;#x2F;lhommedaffaire_8.jpg&quot; alt=&quot;Photo d&amp;#x27;archive: 7&quot;&#x2F;&gt;
                    
        &lt;&#x2F;div&gt;
        &lt;div class=&quot;gallery__viewport__controls&quot;&gt;
            &lt;img class=&quot;gallery__viewport__controls__nav-button gallery__viewport__controls__nav-button--left&quot; src=&quot;&#x2F;images&#x2F;angle-left.svg&quot; alt=&quot;Voir l&#x27;image précédente.&quot; aria-hidden=&quot;true&quot;&#x2F;&gt;
            &lt;img class=&quot;gallery__viewport__controls__nav-button gallery__viewport__controls__nav-button--right&quot; src=&quot;&#x2F;images&#x2F;angle-right.svg&quot; alt=&quot;Voir l&#x27;image suivante.&quot; aria-hidden=&quot;true&quot;&#x2F;&gt;
            &lt;img class=&quot;gallery__viewport__controls__nav-close-btn&quot; src=&quot;&#x2F;images&#x2F;close-icon.svg&quot; alt=&quot;Fermer la gallery&quot;&#x2F;&gt;
        &lt;&#x2F;div&gt;
    &lt;&#x2F;div&gt;
    &lt;ul class=&quot;gallery__selector&quot;&gt;
        
        
                
                &lt;li class=&quot;gallery__selector__item&quot;&gt;
                    &lt;button
                            class=&quot;gallery__selector__button&quot;
                            aria-expanded=&quot;false&quot;
                            aria-controls=&quot;galleryouiouijesuisloeuvreimage0&quot;
                            aria-label=&quot;Voir l&#x27;image &amp;quot;Photo d&amp;#x27;archive: 1&amp;quot;&quot;
                            type=&quot;button&quot;
                    &gt;
                        &lt;img class=&quot;gallery__selector__image&quot; src=&quot;&amp;#x2F;arts&amp;#x2F;lhomme-daffaire&amp;#x2F;gallery&amp;#x2F;lhommedaffaire_1.jpg&quot; alt=&quot;Photo d&amp;#x27;archive: 1&quot;&#x2F;&gt;
                    &lt;&#x2F;button&gt;
                &lt;&#x2F;li&gt;
                
                
                &lt;li class=&quot;gallery__selector__item&quot;&gt;
                    &lt;button
                            class=&quot;gallery__selector__button&quot;
                            aria-expanded=&quot;false&quot;
                            aria-controls=&quot;galleryouiouijesuisloeuvreimage1&quot;
                            aria-label=&quot;Voir l&#x27;image &amp;quot;Photo d&amp;#x27;archive: 2&amp;quot;&quot;
                            type=&quot;button&quot;
                    &gt;
                        &lt;img class=&quot;gallery__selector__image&quot; src=&quot;&amp;#x2F;arts&amp;#x2F;lhomme-daffaire&amp;#x2F;gallery&amp;#x2F;lhommedaffaire_2.jpg&quot; alt=&quot;Photo d&amp;#x27;archive: 2&quot;&#x2F;&gt;
                    &lt;&#x2F;button&gt;
                &lt;&#x2F;li&gt;
                
                
                &lt;li class=&quot;gallery__selector__item&quot;&gt;
                    &lt;button
                            class=&quot;gallery__selector__button&quot;
                            aria-expanded=&quot;false&quot;
                            aria-controls=&quot;galleryouiouijesuisloeuvreimage2&quot;
                            aria-label=&quot;Voir l&#x27;image &amp;quot;Photo d&amp;#x27;archive: 3&amp;quot;&quot;
                            type=&quot;button&quot;
                    &gt;
                        &lt;img class=&quot;gallery__selector__image&quot; src=&quot;&amp;#x2F;arts&amp;#x2F;lhomme-daffaire&amp;#x2F;gallery&amp;#x2F;lhommedaffaire_4.jpg&quot; alt=&quot;Photo d&amp;#x27;archive: 3&quot;&#x2F;&gt;
                    &lt;&#x2F;button&gt;
                &lt;&#x2F;li&gt;
                
                
                &lt;li class=&quot;gallery__selector__item&quot;&gt;
                    &lt;button
                            class=&quot;gallery__selector__button&quot;
                            aria-expanded=&quot;false&quot;
                            aria-controls=&quot;galleryouiouijesuisloeuvreimage3&quot;
                            aria-label=&quot;Voir l&#x27;image &amp;quot;Photo d&amp;#x27;archive: 4&amp;quot;&quot;
                            type=&quot;button&quot;
                    &gt;
                        &lt;img class=&quot;gallery__selector__image&quot; src=&quot;&amp;#x2F;arts&amp;#x2F;lhomme-daffaire&amp;#x2F;gallery&amp;#x2F;lhommedaffaire_5.jpg&quot; alt=&quot;Photo d&amp;#x27;archive: 4&quot;&#x2F;&gt;
                    &lt;&#x2F;button&gt;
                &lt;&#x2F;li&gt;
                
                
                &lt;li class=&quot;gallery__selector__item&quot;&gt;
                    &lt;button
                            class=&quot;gallery__selector__button&quot;
                            aria-expanded=&quot;false&quot;
                            aria-controls=&quot;galleryouiouijesuisloeuvreimage4&quot;
                            aria-label=&quot;Voir l&#x27;image &amp;quot;Photo d&amp;#x27;archive: 5&amp;quot;&quot;
                            type=&quot;button&quot;
                    &gt;
                        &lt;img class=&quot;gallery__selector__image&quot; src=&quot;&amp;#x2F;arts&amp;#x2F;lhomme-daffaire&amp;#x2F;gallery&amp;#x2F;lhommedaffaire_6.jpg&quot; alt=&quot;Photo d&amp;#x27;archive: 5&quot;&#x2F;&gt;
                    &lt;&#x2F;button&gt;
                &lt;&#x2F;li&gt;
                
                
                &lt;li class=&quot;gallery__selector__item&quot;&gt;
                    &lt;button
                            class=&quot;gallery__selector__button&quot;
                            aria-expanded=&quot;false&quot;
                            aria-controls=&quot;galleryouiouijesuisloeuvreimage5&quot;
                            aria-label=&quot;Voir l&#x27;image &amp;quot;Photo d&amp;#x27;archive: 6&amp;quot;&quot;
                            type=&quot;button&quot;
                    &gt;
                        &lt;img class=&quot;gallery__selector__image&quot; src=&quot;&amp;#x2F;arts&amp;#x2F;lhomme-daffaire&amp;#x2F;gallery&amp;#x2F;lhommedaffaire_7.jpg&quot; alt=&quot;Photo d&amp;#x27;archive: 6&quot;&#x2F;&gt;
                    &lt;&#x2F;button&gt;
                &lt;&#x2F;li&gt;
                
                
                &lt;li class=&quot;gallery__selector__item&quot;&gt;
                    &lt;button
                            class=&quot;gallery__selector__button&quot;
                            aria-expanded=&quot;false&quot;
                            aria-controls=&quot;galleryouiouijesuisloeuvreimage6&quot;
                            aria-label=&quot;Voir l&#x27;image &amp;quot;Photo d&amp;#x27;archive: 7&amp;quot;&quot;
                            type=&quot;button&quot;
                    &gt;
                        &lt;img class=&quot;gallery__selector__image&quot; src=&quot;&amp;#x2F;arts&amp;#x2F;lhomme-daffaire&amp;#x2F;gallery&amp;#x2F;lhommedaffaire_8.jpg&quot; alt=&quot;Photo d&amp;#x27;archive: 7&quot;&#x2F;&gt;
                    &lt;&#x2F;button&gt;
                &lt;&#x2F;li&gt;
                
    &lt;&#x2F;ul&gt;
&lt;&#x2F;div&gt;
&lt;script&gt;
    &#x2F;&#x2F; Define
    &#x2F;&#x2F; function hideDisplayedImage(galleryId, image)
    if (typeof globalThis.hideDisplayedImage === &quot;undefined&quot;) {
        globalThis.hideDisplayedImage = function(galleryId, image) {
            const fullscreenImageContainer = document.querySelector(&quot;#&quot; + galleryId + &quot; .gallery__viewport&quot;);
            fullscreenImageContainer.classList.remove(&quot;gallery__viewport--display&quot;);
            image.classList.remove(&quot;gallery__viewport__image--display&quot;);
            const selector = &#x27;[aria-controls=&quot;&#x27; + image.getAttribute(&quot;id&quot;) + &#x27;&quot;]&#x27;
            const controlsButton = document.querySelector(selector);
            controlsButton.setAttribute(&quot;aria-expanded&quot;, &quot;false&quot;);
        }
    }

    &#x2F;&#x2F; Define
    &#x2F;&#x2F; function displayImageWithButton(galleryId, button)
    if (typeof globalThis.displayImageWithButton === &quot;undefined&quot;) {
        globalThis.displayImageWithButton = function(galleryId, button) {
            button.focus();
            const fullscreenImageContainer = document.querySelector(&quot;#&quot; + galleryId + &quot; .gallery__viewport&quot;);
            fullscreenImageContainer.classList.add(&quot;gallery__viewport--display&quot;);
            const ariaControlsId = button.getAttribute(&quot;aria-controls&quot;);
            const controlledElement = document.getElementById(ariaControlsId);
            controlledElement.classList.add(&quot;gallery__viewport__image--display&quot;);
            button.setAttribute(&quot;aria-expanded&quot;, &quot;true&quot;);
        }
    }

    &#x2F;&#x2F; Define
    &#x2F;&#x2F; function displayImageWithControlledElement(galleryId, button)
    if (typeof globalThis.displayImageWithControlledElement === &quot;undefined&quot;) {
        globalThis.displayImageWithControlledElement = function(galleryId, controlledElement) {
            const selector = &#x27;[aria-controls=&quot;&#x27; + controlledElement.getAttribute(&quot;id&quot;) + &#x27;&quot;]&#x27;
            const controlsButton = document.querySelector(selector);
            displayImageWithButton(galleryId, controlsButton);
        }
    }

    &#x2F;&#x2F; Define
    &#x2F;&#x2F; function checkSwipeDirection(touchstartX, touchendX)
    if (typeof globalThis.checkSwipeDirection === &quot;undefined&quot;) {
        globalThis.checkSwipeDirection =  function(touchstartX, touchendX) {
            if (touchendX &lt; touchstartX) {
                return &quot;left&quot;;
            } else if (touchendX &gt; touchstartX) {
                return &quot;right&quot;;
            } else {
                return &quot;&quot;;
            }
        }
    }

    &#x2F;&#x2F; Define
    &#x2F;&#x2F; function displayNextImage()
    if (typeof globalThis.displayNextImage === &quot;undefined&quot;) {
        globalThis.displayNextImage = function() {
            const controlledElement = document.getElementsByClassName(&quot;gallery__viewport__image--display&quot;)[0];
            if (controlledElement !== undefined) {
                hideDisplayedImage(&quot;galleryouiouijesuisloeuvre&quot;, controlledElement);

                let newControlledElement = controlledElement.nextElementSibling;
                if (newControlledElement === null) {
                    newControlledElement = controlledElement.parentElement.firstElementChild;
                }

                if (newControlledElement !== null &amp;&amp; newControlledElement !== undefined) {
                    displayImageWithControlledElement(&quot;galleryouiouijesuisloeuvre&quot;, newControlledElement);
                }
            }
        }
    }

    &#x2F;&#x2F; Define
    &#x2F;&#x2F; function displayPreviousImage()
    if (typeof globalThis.displayPreviousImage === &quot;undefined&quot;) {
        globalThis.displayPreviousImage = function () {
            const controlledElement = document.getElementsByClassName(&quot;gallery__viewport__image--display&quot;)[0];
            if (controlledElement !== undefined) {
                hideDisplayedImage(&quot;galleryouiouijesuisloeuvre&quot;, controlledElement);

                let newControlledElement = controlledElement.previousElementSibling;
                if (newControlledElement === null) {
                    newControlledElement = controlledElement.parentElement.lastElementChild;
                }

                if (newControlledElement !== null &amp;&amp; newControlledElement !== undefined) {
                    displayImageWithControlledElement(&quot;galleryouiouijesuisloeuvre&quot;, newControlledElement);
                }
            }
        }
    }

    &#x2F;&#x2F; Init
    &#x2F;&#x2F; Gallery Buttons
    const galleryButtonsgalleryouiouijesuisloeuvre = document.querySelectorAll(&quot;#galleryouiouijesuisloeuvre .gallery__selector__button&quot;);
    for (let i = 0; i &lt; galleryButtonsgalleryouiouijesuisloeuvre.length; i++) {

        &#x2F;&#x2F; Click
        galleryButtonsgalleryouiouijesuisloeuvre[i].addEventListener(&quot;click&quot;, function(event) {
            displayImageWithButton(&quot;galleryouiouijesuisloeuvre&quot;, this);
        });

        &#x2F;&#x2F; Focus In
        galleryButtonsgalleryouiouijesuisloeuvre[i].addEventListener(&#x27;focusin&#x27;, function(event) {
            const previousFocusableItem = event.relatedTarget;
            const displayedImages = document.getElementsByClassName(&quot;gallery__viewport__image--display&quot;);
            if (
                (previousFocusableItem === null || !previousFocusableItem.classList.contains(&quot;gallery__selector__button&quot;))
                &amp;&amp; displayedImages.length &gt; 0
            ) {
                &#x2F;&#x2F; Hide all displayed images
                const displayedImages = document.getElementsByClassName(&quot;gallery__viewport__image--display&quot;);
                if (displayedImages.length &gt; 0) {
                    for (let i = 0; i &lt; displayedImages.length; i++) {
                        hideDisplayedImage(&quot;galleryouiouijesuisloeuvre&quot;, displayedImages[i]);
                    }
                }
                displayImageWithButton(&quot;galleryouiouijesuisloeuvre&quot;, this);
            }
        });

        &#x2F;&#x2F; Focus Out
        galleryButtonsgalleryouiouijesuisloeuvre[i].addEventListener(&#x27;focusout&#x27;, function(event) {
            &#x2F;&#x2F; Prevent focus out actions if it&#x27;s a click on a gallery viewport element.
            const eventOriginClassList = event.explicitOriginalTarget.classList;
            if (
                eventOriginClassList.contains(&quot;gallery__viewport__image&quot;)
                || eventOriginClassList.contains(&quot;gallery__viewport__controls&quot;)
                || eventOriginClassList.contains(&quot;gallery__viewport__controls__nav-button&quot;)
                || eventOriginClassList.contains(&quot;gallery__viewport__controls__nav-close-btn&quot;)
                || eventOriginClassList.contains(&quot;gallery__viewport&quot;)
            ) {
                return;
            }

            &#x2F;&#x2F; Hide all displayed images
            const displayedImages = document.getElementsByClassName(&quot;gallery__viewport__image--display&quot;);
            if (displayedImages.length &gt; 0) {
                for (let i = 0; i &lt; displayedImages.length; i++) {
                    hideDisplayedImage(&quot;galleryouiouijesuisloeuvre&quot;, displayedImages[i]);
                }
                const nextFocusableItem = event.relatedTarget;
                if (nextFocusableItem != null &amp;&amp; nextFocusableItem.classList.contains(&quot;gallery__selector__button&quot;)) {
                    displayImageWithButton(&quot;galleryouiouijesuisloeuvre&quot;, nextFocusableItem);
                }
            }
        });
    }

    &#x2F;&#x2F; Previous Button
    &#x2F;&#x2F; Click
    const previousImageButtongalleryouiouijesuisloeuvre = document.querySelector(&quot;#galleryouiouijesuisloeuvre .gallery__viewport__controls__nav-button--left&quot;);
    previousImageButtongalleryouiouijesuisloeuvre.addEventListener(&#x27;click&#x27;, function(event) {
        displayPreviousImage();
    });

    &#x2F;&#x2F; Next Button
    &#x2F;&#x2F; Click
    const nextImageButtongalleryouiouijesuisloeuvre = document.querySelector(&quot;#galleryouiouijesuisloeuvre .gallery__viewport__controls__nav-button--right&quot;);
    nextImageButtongalleryouiouijesuisloeuvre.addEventListener(&#x27;click&#x27;, function(event) {
        displayNextImage();
    });

    &#x2F;&#x2F; Close Button
    &#x2F;&#x2F; Click
    const closeImageButtongalleryouiouijesuisloeuvre = document.querySelector(&quot;#galleryouiouijesuisloeuvre .gallery__viewport__controls__nav-close-btn&quot;);
    closeImageButtongalleryouiouijesuisloeuvre.addEventListener(&#x27;click&#x27;, function(event) {
        const controlledElement = document.getElementsByClassName(&quot;gallery__viewport__image--display&quot;)[0];
        if (controlledElement !== undefined) {
            hideDisplayedImage(&quot;galleryouiouijesuisloeuvre&quot;, controlledElement);
        }
    });

    &#x2F;&#x2F; Keyboard Controls
    document.addEventListener(&#x27;keydown&#x27;, (event) =&gt; {
        const controlledElement = document.getElementsByClassName(&quot;gallery__viewport__image--display&quot;)[0];
        if (controlledElement !== undefined) {

            &#x2F;&#x2F; Hide image
            &#x2F;&#x2F; ESC, LEFT, RIGHT
            if (event.code === &#x27;Escape&#x27; || event.code === &#x27;ArrowLeft&#x27; || event.code === &#x27;ArrowRight&#x27;) {
                hideDisplayedImage(&quot;galleryouiouijesuisloeuvre&quot;, controlledElement);
            }

            let newControlledElement;

            &#x2F;&#x2F; Select new controlled element(image)
            &#x2F;&#x2F; LEFT
            if (event.code === &#x27;ArrowLeft&#x27;) {
                newControlledElement = controlledElement.previousElementSibling;
                if (newControlledElement === null) {
                    newControlledElement = controlledElement.parentElement.lastElementChild;
                }
            }
            &#x2F;&#x2F; RIGHT
            if (event.code === &#x27;ArrowRight&#x27;) {
                newControlledElement = controlledElement.nextElementSibling;
                if (newControlledElement === null) {
                    newControlledElement = controlledElement.parentElement.firstElementChild;
                }
            }

            &#x2F;&#x2F; Active button and display image
            if (newControlledElement !== null &amp;&amp; newControlledElement !== undefined) {
                displayImageWithControlledElement(&quot;galleryouiouijesuisloeuvre&quot;, newControlledElement);
            }
        }
    })

    &#x2F;&#x2F; Touch Gesture
    let touchstartXgalleryouiouijesuisloeuvre = 0;
    let touchendXgalleryouiouijesuisloeuvre = 0;

    const galleryViewportgalleryouiouijesuisloeuvre = document.getElementsByClassName(&quot;gallery__viewport&quot;)[0];
    if (galleryViewportgalleryouiouijesuisloeuvre !== undefined) {

        galleryViewportgalleryouiouijesuisloeuvre.addEventListener(&#x27;touchstart&#x27;, function(event) {
            touchstartXgalleryouiouijesuisloeuvre = event.changedTouches[0].screenX
        });

        galleryViewportgalleryouiouijesuisloeuvre.addEventListener(&#x27;touchend&#x27;, function(event) {
            touchendXgalleryouiouijesuisloeuvre = event.changedTouches[0].screenX
            const direction = checkSwipeDirection(touchstartXgalleryouiouijesuisloeuvre, touchendXgalleryouiouijesuisloeuvre);
            if (direction === &quot;left&quot;) {
                displayPreviousImage();
            } else if (direction === &quot;right&quot;) {
                displayNextImage();
            }
        });

        galleryViewportgalleryouiouijesuisloeuvre.addEventListner(&#x27;touchmove&#x27;, function(event) {
            event.preventDefault();
            event.stopPropagation();
        });
    }
&lt;&#x2F;script&gt;</content>
        
    </entry>
    <entry xml:lang="fr">
        <title>Oui oui! Je suis l&#x27;oeuvre!</title>
        <published>2009-01-01T00:00:00+00:00</published>
        <updated>2009-01-01T00:00:00+00:00</updated>
        
        <author>
          <name>
            
              Pierre Tremblay-Thériault
            
          </name>
        </author>
        
        <link rel="alternate" type="text/html" href="https://lapinchatware.ca/arts/oui-oui-je-suis-loeuvre/"/>
        <id>https://lapinchatware.ca/arts/oui-oui-je-suis-loeuvre/</id>
        
        <content type="html" xml:base="https://lapinchatware.ca/arts/oui-oui-je-suis-loeuvre/">&lt;p&gt;Oui oui! Je suis l’oeuvre! &lt;br &#x2F;&gt;
Écran LCD, caméra web, cadre en bois, ordinateur &lt;br &#x2F;&gt;
40cm X 30cm &lt;br &#x2F;&gt;
2009&lt;&#x2F;p&gt;
&lt;div id=&quot;galleryouiouijesuisloeuvre&quot; class=&quot;gallery&quot;&gt;
    
    &lt;div class=&quot;gallery__viewport&quot;&gt;
        &lt;div class=&quot;gallery__viewport__images&quot;&gt;
            
            
                    
                    &lt;img id=&quot;galleryouiouijesuisloeuvreimage0&quot; class=&quot;gallery__viewport__image&quot; src=&quot;&amp;#x2F;arts&amp;#x2F;oui-oui-je-suis-loeuvre&amp;#x2F;gallery&amp;#x2F;ouiouijesuisloeuvre_1.jpg&quot; alt=&quot;Photo d&amp;#x27;archive&quot;&#x2F;&gt;
                    
        &lt;&#x2F;div&gt;
        &lt;div class=&quot;gallery__viewport__controls&quot;&gt;
            &lt;img class=&quot;gallery__viewport__controls__nav-button gallery__viewport__controls__nav-button--left&quot; src=&quot;&#x2F;images&#x2F;angle-left.svg&quot; alt=&quot;Voir l&#x27;image précédente.&quot; aria-hidden=&quot;true&quot;&#x2F;&gt;
            &lt;img class=&quot;gallery__viewport__controls__nav-button gallery__viewport__controls__nav-button--right&quot; src=&quot;&#x2F;images&#x2F;angle-right.svg&quot; alt=&quot;Voir l&#x27;image suivante.&quot; aria-hidden=&quot;true&quot;&#x2F;&gt;
            &lt;img class=&quot;gallery__viewport__controls__nav-close-btn&quot; src=&quot;&#x2F;images&#x2F;close-icon.svg&quot; alt=&quot;Fermer la gallery&quot;&#x2F;&gt;
        &lt;&#x2F;div&gt;
    &lt;&#x2F;div&gt;
    &lt;ul class=&quot;gallery__selector&quot;&gt;
        
        
                
                &lt;li class=&quot;gallery__selector__item&quot;&gt;
                    &lt;button
                            class=&quot;gallery__selector__button&quot;
                            aria-expanded=&quot;false&quot;
                            aria-controls=&quot;galleryouiouijesuisloeuvreimage0&quot;
                            aria-label=&quot;Voir l&#x27;image &amp;quot;Photo d&amp;#x27;archive&amp;quot;&quot;
                            type=&quot;button&quot;
                    &gt;
                        &lt;img class=&quot;gallery__selector__image&quot; src=&quot;&amp;#x2F;arts&amp;#x2F;oui-oui-je-suis-loeuvre&amp;#x2F;gallery&amp;#x2F;ouiouijesuisloeuvre_1.jpg&quot; alt=&quot;Photo d&amp;#x27;archive&quot;&#x2F;&gt;
                    &lt;&#x2F;button&gt;
                &lt;&#x2F;li&gt;
                
    &lt;&#x2F;ul&gt;
&lt;&#x2F;div&gt;
&lt;script&gt;
    &#x2F;&#x2F; Define
    &#x2F;&#x2F; function hideDisplayedImage(galleryId, image)
    if (typeof globalThis.hideDisplayedImage === &quot;undefined&quot;) {
        globalThis.hideDisplayedImage = function(galleryId, image) {
            const fullscreenImageContainer = document.querySelector(&quot;#&quot; + galleryId + &quot; .gallery__viewport&quot;);
            fullscreenImageContainer.classList.remove(&quot;gallery__viewport--display&quot;);
            image.classList.remove(&quot;gallery__viewport__image--display&quot;);
            const selector = &#x27;[aria-controls=&quot;&#x27; + image.getAttribute(&quot;id&quot;) + &#x27;&quot;]&#x27;
            const controlsButton = document.querySelector(selector);
            controlsButton.setAttribute(&quot;aria-expanded&quot;, &quot;false&quot;);
        }
    }

    &#x2F;&#x2F; Define
    &#x2F;&#x2F; function displayImageWithButton(galleryId, button)
    if (typeof globalThis.displayImageWithButton === &quot;undefined&quot;) {
        globalThis.displayImageWithButton = function(galleryId, button) {
            button.focus();
            const fullscreenImageContainer = document.querySelector(&quot;#&quot; + galleryId + &quot; .gallery__viewport&quot;);
            fullscreenImageContainer.classList.add(&quot;gallery__viewport--display&quot;);
            const ariaControlsId = button.getAttribute(&quot;aria-controls&quot;);
            const controlledElement = document.getElementById(ariaControlsId);
            controlledElement.classList.add(&quot;gallery__viewport__image--display&quot;);
            button.setAttribute(&quot;aria-expanded&quot;, &quot;true&quot;);
        }
    }

    &#x2F;&#x2F; Define
    &#x2F;&#x2F; function displayImageWithControlledElement(galleryId, button)
    if (typeof globalThis.displayImageWithControlledElement === &quot;undefined&quot;) {
        globalThis.displayImageWithControlledElement = function(galleryId, controlledElement) {
            const selector = &#x27;[aria-controls=&quot;&#x27; + controlledElement.getAttribute(&quot;id&quot;) + &#x27;&quot;]&#x27;
            const controlsButton = document.querySelector(selector);
            displayImageWithButton(galleryId, controlsButton);
        }
    }

    &#x2F;&#x2F; Define
    &#x2F;&#x2F; function checkSwipeDirection(touchstartX, touchendX)
    if (typeof globalThis.checkSwipeDirection === &quot;undefined&quot;) {
        globalThis.checkSwipeDirection =  function(touchstartX, touchendX) {
            if (touchendX &lt; touchstartX) {
                return &quot;left&quot;;
            } else if (touchendX &gt; touchstartX) {
                return &quot;right&quot;;
            } else {
                return &quot;&quot;;
            }
        }
    }

    &#x2F;&#x2F; Define
    &#x2F;&#x2F; function displayNextImage()
    if (typeof globalThis.displayNextImage === &quot;undefined&quot;) {
        globalThis.displayNextImage = function() {
            const controlledElement = document.getElementsByClassName(&quot;gallery__viewport__image--display&quot;)[0];
            if (controlledElement !== undefined) {
                hideDisplayedImage(&quot;galleryouiouijesuisloeuvre&quot;, controlledElement);

                let newControlledElement = controlledElement.nextElementSibling;
                if (newControlledElement === null) {
                    newControlledElement = controlledElement.parentElement.firstElementChild;
                }

                if (newControlledElement !== null &amp;&amp; newControlledElement !== undefined) {
                    displayImageWithControlledElement(&quot;galleryouiouijesuisloeuvre&quot;, newControlledElement);
                }
            }
        }
    }

    &#x2F;&#x2F; Define
    &#x2F;&#x2F; function displayPreviousImage()
    if (typeof globalThis.displayPreviousImage === &quot;undefined&quot;) {
        globalThis.displayPreviousImage = function () {
            const controlledElement = document.getElementsByClassName(&quot;gallery__viewport__image--display&quot;)[0];
            if (controlledElement !== undefined) {
                hideDisplayedImage(&quot;galleryouiouijesuisloeuvre&quot;, controlledElement);

                let newControlledElement = controlledElement.previousElementSibling;
                if (newControlledElement === null) {
                    newControlledElement = controlledElement.parentElement.lastElementChild;
                }

                if (newControlledElement !== null &amp;&amp; newControlledElement !== undefined) {
                    displayImageWithControlledElement(&quot;galleryouiouijesuisloeuvre&quot;, newControlledElement);
                }
            }
        }
    }

    &#x2F;&#x2F; Init
    &#x2F;&#x2F; Gallery Buttons
    const galleryButtonsgalleryouiouijesuisloeuvre = document.querySelectorAll(&quot;#galleryouiouijesuisloeuvre .gallery__selector__button&quot;);
    for (let i = 0; i &lt; galleryButtonsgalleryouiouijesuisloeuvre.length; i++) {

        &#x2F;&#x2F; Click
        galleryButtonsgalleryouiouijesuisloeuvre[i].addEventListener(&quot;click&quot;, function(event) {
            displayImageWithButton(&quot;galleryouiouijesuisloeuvre&quot;, this);
        });

        &#x2F;&#x2F; Focus In
        galleryButtonsgalleryouiouijesuisloeuvre[i].addEventListener(&#x27;focusin&#x27;, function(event) {
            const previousFocusableItem = event.relatedTarget;
            const displayedImages = document.getElementsByClassName(&quot;gallery__viewport__image--display&quot;);
            if (
                (previousFocusableItem === null || !previousFocusableItem.classList.contains(&quot;gallery__selector__button&quot;))
                &amp;&amp; displayedImages.length &gt; 0
            ) {
                &#x2F;&#x2F; Hide all displayed images
                const displayedImages = document.getElementsByClassName(&quot;gallery__viewport__image--display&quot;);
                if (displayedImages.length &gt; 0) {
                    for (let i = 0; i &lt; displayedImages.length; i++) {
                        hideDisplayedImage(&quot;galleryouiouijesuisloeuvre&quot;, displayedImages[i]);
                    }
                }
                displayImageWithButton(&quot;galleryouiouijesuisloeuvre&quot;, this);
            }
        });

        &#x2F;&#x2F; Focus Out
        galleryButtonsgalleryouiouijesuisloeuvre[i].addEventListener(&#x27;focusout&#x27;, function(event) {
            &#x2F;&#x2F; Prevent focus out actions if it&#x27;s a click on a gallery viewport element.
            const eventOriginClassList = event.explicitOriginalTarget.classList;
            if (
                eventOriginClassList.contains(&quot;gallery__viewport__image&quot;)
                || eventOriginClassList.contains(&quot;gallery__viewport__controls&quot;)
                || eventOriginClassList.contains(&quot;gallery__viewport__controls__nav-button&quot;)
                || eventOriginClassList.contains(&quot;gallery__viewport__controls__nav-close-btn&quot;)
                || eventOriginClassList.contains(&quot;gallery__viewport&quot;)
            ) {
                return;
            }

            &#x2F;&#x2F; Hide all displayed images
            const displayedImages = document.getElementsByClassName(&quot;gallery__viewport__image--display&quot;);
            if (displayedImages.length &gt; 0) {
                for (let i = 0; i &lt; displayedImages.length; i++) {
                    hideDisplayedImage(&quot;galleryouiouijesuisloeuvre&quot;, displayedImages[i]);
                }
                const nextFocusableItem = event.relatedTarget;
                if (nextFocusableItem != null &amp;&amp; nextFocusableItem.classList.contains(&quot;gallery__selector__button&quot;)) {
                    displayImageWithButton(&quot;galleryouiouijesuisloeuvre&quot;, nextFocusableItem);
                }
            }
        });
    }

    &#x2F;&#x2F; Previous Button
    &#x2F;&#x2F; Click
    const previousImageButtongalleryouiouijesuisloeuvre = document.querySelector(&quot;#galleryouiouijesuisloeuvre .gallery__viewport__controls__nav-button--left&quot;);
    previousImageButtongalleryouiouijesuisloeuvre.addEventListener(&#x27;click&#x27;, function(event) {
        displayPreviousImage();
    });

    &#x2F;&#x2F; Next Button
    &#x2F;&#x2F; Click
    const nextImageButtongalleryouiouijesuisloeuvre = document.querySelector(&quot;#galleryouiouijesuisloeuvre .gallery__viewport__controls__nav-button--right&quot;);
    nextImageButtongalleryouiouijesuisloeuvre.addEventListener(&#x27;click&#x27;, function(event) {
        displayNextImage();
    });

    &#x2F;&#x2F; Close Button
    &#x2F;&#x2F; Click
    const closeImageButtongalleryouiouijesuisloeuvre = document.querySelector(&quot;#galleryouiouijesuisloeuvre .gallery__viewport__controls__nav-close-btn&quot;);
    closeImageButtongalleryouiouijesuisloeuvre.addEventListener(&#x27;click&#x27;, function(event) {
        const controlledElement = document.getElementsByClassName(&quot;gallery__viewport__image--display&quot;)[0];
        if (controlledElement !== undefined) {
            hideDisplayedImage(&quot;galleryouiouijesuisloeuvre&quot;, controlledElement);
        }
    });

    &#x2F;&#x2F; Keyboard Controls
    document.addEventListener(&#x27;keydown&#x27;, (event) =&gt; {
        const controlledElement = document.getElementsByClassName(&quot;gallery__viewport__image--display&quot;)[0];
        if (controlledElement !== undefined) {

            &#x2F;&#x2F; Hide image
            &#x2F;&#x2F; ESC, LEFT, RIGHT
            if (event.code === &#x27;Escape&#x27; || event.code === &#x27;ArrowLeft&#x27; || event.code === &#x27;ArrowRight&#x27;) {
                hideDisplayedImage(&quot;galleryouiouijesuisloeuvre&quot;, controlledElement);
            }

            let newControlledElement;

            &#x2F;&#x2F; Select new controlled element(image)
            &#x2F;&#x2F; LEFT
            if (event.code === &#x27;ArrowLeft&#x27;) {
                newControlledElement = controlledElement.previousElementSibling;
                if (newControlledElement === null) {
                    newControlledElement = controlledElement.parentElement.lastElementChild;
                }
            }
            &#x2F;&#x2F; RIGHT
            if (event.code === &#x27;ArrowRight&#x27;) {
                newControlledElement = controlledElement.nextElementSibling;
                if (newControlledElement === null) {
                    newControlledElement = controlledElement.parentElement.firstElementChild;
                }
            }

            &#x2F;&#x2F; Active button and display image
            if (newControlledElement !== null &amp;&amp; newControlledElement !== undefined) {
                displayImageWithControlledElement(&quot;galleryouiouijesuisloeuvre&quot;, newControlledElement);
            }
        }
    })

    &#x2F;&#x2F; Touch Gesture
    let touchstartXgalleryouiouijesuisloeuvre = 0;
    let touchendXgalleryouiouijesuisloeuvre = 0;

    const galleryViewportgalleryouiouijesuisloeuvre = document.getElementsByClassName(&quot;gallery__viewport&quot;)[0];
    if (galleryViewportgalleryouiouijesuisloeuvre !== undefined) {

        galleryViewportgalleryouiouijesuisloeuvre.addEventListener(&#x27;touchstart&#x27;, function(event) {
            touchstartXgalleryouiouijesuisloeuvre = event.changedTouches[0].screenX
        });

        galleryViewportgalleryouiouijesuisloeuvre.addEventListener(&#x27;touchend&#x27;, function(event) {
            touchendXgalleryouiouijesuisloeuvre = event.changedTouches[0].screenX
            const direction = checkSwipeDirection(touchstartXgalleryouiouijesuisloeuvre, touchendXgalleryouiouijesuisloeuvre);
            if (direction === &quot;left&quot;) {
                displayPreviousImage();
            } else if (direction === &quot;right&quot;) {
                displayNextImage();
            }
        });

        galleryViewportgalleryouiouijesuisloeuvre.addEventListner(&#x27;touchmove&#x27;, function(event) {
            event.preventDefault();
            event.stopPropagation();
        });
    }
&lt;&#x2F;script&gt;</content>
        
    </entry>
    <entry xml:lang="fr">
        <title>Pixel V.1.0</title>
        <published>2009-01-01T00:00:00+00:00</published>
        <updated>2009-01-01T00:00:00+00:00</updated>
        
        <author>
          <name>
            
              Pierre Tremblay-Thériault
            
          </name>
        </author>
        
        <link rel="alternate" type="text/html" href="https://lapinchatware.ca/arts/pixel-v10/"/>
        <id>https://lapinchatware.ca/arts/pixel-v10/</id>
        
        <content type="html" xml:base="https://lapinchatware.ca/arts/pixel-v10/">&lt;p&gt;Pixel V.1.0 &lt;br &#x2F;&gt;
Cadre en bois, plexiglass, électronique, arduino, caméra web, ordinateur &lt;br &#x2F;&gt;
2009&lt;&#x2F;p&gt;
&lt;div id=&quot;gallerypixelv10&quot; class=&quot;gallery&quot;&gt;
    
    &lt;div class=&quot;gallery__viewport&quot;&gt;
        &lt;div class=&quot;gallery__viewport__images&quot;&gt;
            
            
                    
                    &lt;img id=&quot;gallerypixelv10image0&quot; class=&quot;gallery__viewport__image&quot; src=&quot;&amp;#x2F;arts&amp;#x2F;pixel-v10&amp;#x2F;gallery&amp;#x2F;pixelv10_1.jpg&quot; alt=&quot;Photo d&amp;#x27;archive&quot;&#x2F;&gt;
                    
        &lt;&#x2F;div&gt;
        &lt;div class=&quot;gallery__viewport__controls&quot;&gt;
            &lt;img class=&quot;gallery__viewport__controls__nav-button gallery__viewport__controls__nav-button--left&quot; src=&quot;&#x2F;images&#x2F;angle-left.svg&quot; alt=&quot;Voir l&#x27;image précédente.&quot; aria-hidden=&quot;true&quot;&#x2F;&gt;
            &lt;img class=&quot;gallery__viewport__controls__nav-button gallery__viewport__controls__nav-button--right&quot; src=&quot;&#x2F;images&#x2F;angle-right.svg&quot; alt=&quot;Voir l&#x27;image suivante.&quot; aria-hidden=&quot;true&quot;&#x2F;&gt;
            &lt;img class=&quot;gallery__viewport__controls__nav-close-btn&quot; src=&quot;&#x2F;images&#x2F;close-icon.svg&quot; alt=&quot;Fermer la gallery&quot;&#x2F;&gt;
        &lt;&#x2F;div&gt;
    &lt;&#x2F;div&gt;
    &lt;ul class=&quot;gallery__selector&quot;&gt;
        
        
                
                &lt;li class=&quot;gallery__selector__item&quot;&gt;
                    &lt;button
                            class=&quot;gallery__selector__button&quot;
                            aria-expanded=&quot;false&quot;
                            aria-controls=&quot;gallerypixelv10image0&quot;
                            aria-label=&quot;Voir l&#x27;image &amp;quot;Photo d&amp;#x27;archive&amp;quot;&quot;
                            type=&quot;button&quot;
                    &gt;
                        &lt;img class=&quot;gallery__selector__image&quot; src=&quot;&amp;#x2F;arts&amp;#x2F;pixel-v10&amp;#x2F;gallery&amp;#x2F;pixelv10_1.jpg&quot; alt=&quot;Photo d&amp;#x27;archive&quot;&#x2F;&gt;
                    &lt;&#x2F;button&gt;
                &lt;&#x2F;li&gt;
                
    &lt;&#x2F;ul&gt;
&lt;&#x2F;div&gt;
&lt;script&gt;
    &#x2F;&#x2F; Define
    &#x2F;&#x2F; function hideDisplayedImage(galleryId, image)
    if (typeof globalThis.hideDisplayedImage === &quot;undefined&quot;) {
        globalThis.hideDisplayedImage = function(galleryId, image) {
            const fullscreenImageContainer = document.querySelector(&quot;#&quot; + galleryId + &quot; .gallery__viewport&quot;);
            fullscreenImageContainer.classList.remove(&quot;gallery__viewport--display&quot;);
            image.classList.remove(&quot;gallery__viewport__image--display&quot;);
            const selector = &#x27;[aria-controls=&quot;&#x27; + image.getAttribute(&quot;id&quot;) + &#x27;&quot;]&#x27;
            const controlsButton = document.querySelector(selector);
            controlsButton.setAttribute(&quot;aria-expanded&quot;, &quot;false&quot;);
        }
    }

    &#x2F;&#x2F; Define
    &#x2F;&#x2F; function displayImageWithButton(galleryId, button)
    if (typeof globalThis.displayImageWithButton === &quot;undefined&quot;) {
        globalThis.displayImageWithButton = function(galleryId, button) {
            button.focus();
            const fullscreenImageContainer = document.querySelector(&quot;#&quot; + galleryId + &quot; .gallery__viewport&quot;);
            fullscreenImageContainer.classList.add(&quot;gallery__viewport--display&quot;);
            const ariaControlsId = button.getAttribute(&quot;aria-controls&quot;);
            const controlledElement = document.getElementById(ariaControlsId);
            controlledElement.classList.add(&quot;gallery__viewport__image--display&quot;);
            button.setAttribute(&quot;aria-expanded&quot;, &quot;true&quot;);
        }
    }

    &#x2F;&#x2F; Define
    &#x2F;&#x2F; function displayImageWithControlledElement(galleryId, button)
    if (typeof globalThis.displayImageWithControlledElement === &quot;undefined&quot;) {
        globalThis.displayImageWithControlledElement = function(galleryId, controlledElement) {
            const selector = &#x27;[aria-controls=&quot;&#x27; + controlledElement.getAttribute(&quot;id&quot;) + &#x27;&quot;]&#x27;
            const controlsButton = document.querySelector(selector);
            displayImageWithButton(galleryId, controlsButton);
        }
    }

    &#x2F;&#x2F; Define
    &#x2F;&#x2F; function checkSwipeDirection(touchstartX, touchendX)
    if (typeof globalThis.checkSwipeDirection === &quot;undefined&quot;) {
        globalThis.checkSwipeDirection =  function(touchstartX, touchendX) {
            if (touchendX &lt; touchstartX) {
                return &quot;left&quot;;
            } else if (touchendX &gt; touchstartX) {
                return &quot;right&quot;;
            } else {
                return &quot;&quot;;
            }
        }
    }

    &#x2F;&#x2F; Define
    &#x2F;&#x2F; function displayNextImage()
    if (typeof globalThis.displayNextImage === &quot;undefined&quot;) {
        globalThis.displayNextImage = function() {
            const controlledElement = document.getElementsByClassName(&quot;gallery__viewport__image--display&quot;)[0];
            if (controlledElement !== undefined) {
                hideDisplayedImage(&quot;gallerypixelv10&quot;, controlledElement);

                let newControlledElement = controlledElement.nextElementSibling;
                if (newControlledElement === null) {
                    newControlledElement = controlledElement.parentElement.firstElementChild;
                }

                if (newControlledElement !== null &amp;&amp; newControlledElement !== undefined) {
                    displayImageWithControlledElement(&quot;gallerypixelv10&quot;, newControlledElement);
                }
            }
        }
    }

    &#x2F;&#x2F; Define
    &#x2F;&#x2F; function displayPreviousImage()
    if (typeof globalThis.displayPreviousImage === &quot;undefined&quot;) {
        globalThis.displayPreviousImage = function () {
            const controlledElement = document.getElementsByClassName(&quot;gallery__viewport__image--display&quot;)[0];
            if (controlledElement !== undefined) {
                hideDisplayedImage(&quot;gallerypixelv10&quot;, controlledElement);

                let newControlledElement = controlledElement.previousElementSibling;
                if (newControlledElement === null) {
                    newControlledElement = controlledElement.parentElement.lastElementChild;
                }

                if (newControlledElement !== null &amp;&amp; newControlledElement !== undefined) {
                    displayImageWithControlledElement(&quot;gallerypixelv10&quot;, newControlledElement);
                }
            }
        }
    }

    &#x2F;&#x2F; Init
    &#x2F;&#x2F; Gallery Buttons
    const galleryButtonsgallerypixelv10 = document.querySelectorAll(&quot;#gallerypixelv10 .gallery__selector__button&quot;);
    for (let i = 0; i &lt; galleryButtonsgallerypixelv10.length; i++) {

        &#x2F;&#x2F; Click
        galleryButtonsgallerypixelv10[i].addEventListener(&quot;click&quot;, function(event) {
            displayImageWithButton(&quot;gallerypixelv10&quot;, this);
        });

        &#x2F;&#x2F; Focus In
        galleryButtonsgallerypixelv10[i].addEventListener(&#x27;focusin&#x27;, function(event) {
            const previousFocusableItem = event.relatedTarget;
            const displayedImages = document.getElementsByClassName(&quot;gallery__viewport__image--display&quot;);
            if (
                (previousFocusableItem === null || !previousFocusableItem.classList.contains(&quot;gallery__selector__button&quot;))
                &amp;&amp; displayedImages.length &gt; 0
            ) {
                &#x2F;&#x2F; Hide all displayed images
                const displayedImages = document.getElementsByClassName(&quot;gallery__viewport__image--display&quot;);
                if (displayedImages.length &gt; 0) {
                    for (let i = 0; i &lt; displayedImages.length; i++) {
                        hideDisplayedImage(&quot;gallerypixelv10&quot;, displayedImages[i]);
                    }
                }
                displayImageWithButton(&quot;gallerypixelv10&quot;, this);
            }
        });

        &#x2F;&#x2F; Focus Out
        galleryButtonsgallerypixelv10[i].addEventListener(&#x27;focusout&#x27;, function(event) {
            &#x2F;&#x2F; Prevent focus out actions if it&#x27;s a click on a gallery viewport element.
            const eventOriginClassList = event.explicitOriginalTarget.classList;
            if (
                eventOriginClassList.contains(&quot;gallery__viewport__image&quot;)
                || eventOriginClassList.contains(&quot;gallery__viewport__controls&quot;)
                || eventOriginClassList.contains(&quot;gallery__viewport__controls__nav-button&quot;)
                || eventOriginClassList.contains(&quot;gallery__viewport__controls__nav-close-btn&quot;)
                || eventOriginClassList.contains(&quot;gallery__viewport&quot;)
            ) {
                return;
            }

            &#x2F;&#x2F; Hide all displayed images
            const displayedImages = document.getElementsByClassName(&quot;gallery__viewport__image--display&quot;);
            if (displayedImages.length &gt; 0) {
                for (let i = 0; i &lt; displayedImages.length; i++) {
                    hideDisplayedImage(&quot;gallerypixelv10&quot;, displayedImages[i]);
                }
                const nextFocusableItem = event.relatedTarget;
                if (nextFocusableItem != null &amp;&amp; nextFocusableItem.classList.contains(&quot;gallery__selector__button&quot;)) {
                    displayImageWithButton(&quot;gallerypixelv10&quot;, nextFocusableItem);
                }
            }
        });
    }

    &#x2F;&#x2F; Previous Button
    &#x2F;&#x2F; Click
    const previousImageButtongallerypixelv10 = document.querySelector(&quot;#gallerypixelv10 .gallery__viewport__controls__nav-button--left&quot;);
    previousImageButtongallerypixelv10.addEventListener(&#x27;click&#x27;, function(event) {
        displayPreviousImage();
    });

    &#x2F;&#x2F; Next Button
    &#x2F;&#x2F; Click
    const nextImageButtongallerypixelv10 = document.querySelector(&quot;#gallerypixelv10 .gallery__viewport__controls__nav-button--right&quot;);
    nextImageButtongallerypixelv10.addEventListener(&#x27;click&#x27;, function(event) {
        displayNextImage();
    });

    &#x2F;&#x2F; Close Button
    &#x2F;&#x2F; Click
    const closeImageButtongallerypixelv10 = document.querySelector(&quot;#gallerypixelv10 .gallery__viewport__controls__nav-close-btn&quot;);
    closeImageButtongallerypixelv10.addEventListener(&#x27;click&#x27;, function(event) {
        const controlledElement = document.getElementsByClassName(&quot;gallery__viewport__image--display&quot;)[0];
        if (controlledElement !== undefined) {
            hideDisplayedImage(&quot;gallerypixelv10&quot;, controlledElement);
        }
    });

    &#x2F;&#x2F; Keyboard Controls
    document.addEventListener(&#x27;keydown&#x27;, (event) =&gt; {
        const controlledElement = document.getElementsByClassName(&quot;gallery__viewport__image--display&quot;)[0];
        if (controlledElement !== undefined) {

            &#x2F;&#x2F; Hide image
            &#x2F;&#x2F; ESC, LEFT, RIGHT
            if (event.code === &#x27;Escape&#x27; || event.code === &#x27;ArrowLeft&#x27; || event.code === &#x27;ArrowRight&#x27;) {
                hideDisplayedImage(&quot;gallerypixelv10&quot;, controlledElement);
            }

            let newControlledElement;

            &#x2F;&#x2F; Select new controlled element(image)
            &#x2F;&#x2F; LEFT
            if (event.code === &#x27;ArrowLeft&#x27;) {
                newControlledElement = controlledElement.previousElementSibling;
                if (newControlledElement === null) {
                    newControlledElement = controlledElement.parentElement.lastElementChild;
                }
            }
            &#x2F;&#x2F; RIGHT
            if (event.code === &#x27;ArrowRight&#x27;) {
                newControlledElement = controlledElement.nextElementSibling;
                if (newControlledElement === null) {
                    newControlledElement = controlledElement.parentElement.firstElementChild;
                }
            }

            &#x2F;&#x2F; Active button and display image
            if (newControlledElement !== null &amp;&amp; newControlledElement !== undefined) {
                displayImageWithControlledElement(&quot;gallerypixelv10&quot;, newControlledElement);
            }
        }
    })

    &#x2F;&#x2F; Touch Gesture
    let touchstartXgallerypixelv10 = 0;
    let touchendXgallerypixelv10 = 0;

    const galleryViewportgallerypixelv10 = document.getElementsByClassName(&quot;gallery__viewport&quot;)[0];
    if (galleryViewportgallerypixelv10 !== undefined) {

        galleryViewportgallerypixelv10.addEventListener(&#x27;touchstart&#x27;, function(event) {
            touchstartXgallerypixelv10 = event.changedTouches[0].screenX
        });

        galleryViewportgallerypixelv10.addEventListener(&#x27;touchend&#x27;, function(event) {
            touchendXgallerypixelv10 = event.changedTouches[0].screenX
            const direction = checkSwipeDirection(touchstartXgallerypixelv10, touchendXgallerypixelv10);
            if (direction === &quot;left&quot;) {
                displayPreviousImage();
            } else if (direction === &quot;right&quot;) {
                displayNextImage();
            }
        });

        galleryViewportgallerypixelv10.addEventListner(&#x27;touchmove&#x27;, function(event) {
            event.preventDefault();
            event.stopPropagation();
        });
    }
&lt;&#x2F;script&gt;</content>
        
    </entry>
    <entry xml:lang="fr">
        <title>Je te vois!</title>
        <published>2008-01-01T00:00:00+00:00</published>
        <updated>2008-01-01T00:00:00+00:00</updated>
        
        <author>
          <name>
            
              Pierre Tremblay-Thériault
            
          </name>
        </author>
        
        <link rel="alternate" type="text/html" href="https://lapinchatware.ca/arts/je-te-vois/"/>
        <id>https://lapinchatware.ca/arts/je-te-vois/</id>
        
        <content type="html" xml:base="https://lapinchatware.ca/arts/je-te-vois/">&lt;p&gt;Je te vois! &lt;br &#x2F;&gt;
Carton, DEL &lt;br &#x2F;&gt;
20cm X 10cm 15cm(une caméra) &lt;br &#x2F;&gt;
2008&lt;&#x2F;p&gt;
&lt;div id=&quot;galleryjetevois&quot; class=&quot;gallery&quot;&gt;
    
    &lt;div class=&quot;gallery__viewport&quot;&gt;
        &lt;div class=&quot;gallery__viewport__images&quot;&gt;
            
            
                    
                    &lt;img id=&quot;galleryjetevoisimage0&quot; class=&quot;gallery__viewport__image&quot; src=&quot;&amp;#x2F;arts&amp;#x2F;je-te-vois&amp;#x2F;gallery&amp;#x2F;jetevois_1.jpg&quot; alt=&quot;Photo d&amp;#x27;archive: 1&quot;&#x2F;&gt;
                    
                    
                    &lt;img id=&quot;galleryjetevoisimage1&quot; class=&quot;gallery__viewport__image&quot; src=&quot;&amp;#x2F;arts&amp;#x2F;je-te-vois&amp;#x2F;gallery&amp;#x2F;jetevois_2.jpg&quot; alt=&quot;Photo d&amp;#x27;archive: 2&quot;&#x2F;&gt;
                    
                    
                    &lt;img id=&quot;galleryjetevoisimage2&quot; class=&quot;gallery__viewport__image&quot; src=&quot;&amp;#x2F;arts&amp;#x2F;je-te-vois&amp;#x2F;gallery&amp;#x2F;jetevois_3.jpg&quot; alt=&quot;Photo d&amp;#x27;archive: 3&quot;&#x2F;&gt;
                    
        &lt;&#x2F;div&gt;
        &lt;div class=&quot;gallery__viewport__controls&quot;&gt;
            &lt;img class=&quot;gallery__viewport__controls__nav-button gallery__viewport__controls__nav-button--left&quot; src=&quot;&#x2F;images&#x2F;angle-left.svg&quot; alt=&quot;Voir l&#x27;image précédente.&quot; aria-hidden=&quot;true&quot;&#x2F;&gt;
            &lt;img class=&quot;gallery__viewport__controls__nav-button gallery__viewport__controls__nav-button--right&quot; src=&quot;&#x2F;images&#x2F;angle-right.svg&quot; alt=&quot;Voir l&#x27;image suivante.&quot; aria-hidden=&quot;true&quot;&#x2F;&gt;
            &lt;img class=&quot;gallery__viewport__controls__nav-close-btn&quot; src=&quot;&#x2F;images&#x2F;close-icon.svg&quot; alt=&quot;Fermer la gallery&quot;&#x2F;&gt;
        &lt;&#x2F;div&gt;
    &lt;&#x2F;div&gt;
    &lt;ul class=&quot;gallery__selector&quot;&gt;
        
        
                
                &lt;li class=&quot;gallery__selector__item&quot;&gt;
                    &lt;button
                            class=&quot;gallery__selector__button&quot;
                            aria-expanded=&quot;false&quot;
                            aria-controls=&quot;galleryjetevoisimage0&quot;
                            aria-label=&quot;Voir l&#x27;image &amp;quot;Photo d&amp;#x27;archive: 1&amp;quot;&quot;
                            type=&quot;button&quot;
                    &gt;
                        &lt;img class=&quot;gallery__selector__image&quot; src=&quot;&amp;#x2F;arts&amp;#x2F;je-te-vois&amp;#x2F;gallery&amp;#x2F;jetevois_1.jpg&quot; alt=&quot;Photo d&amp;#x27;archive: 1&quot;&#x2F;&gt;
                    &lt;&#x2F;button&gt;
                &lt;&#x2F;li&gt;
                
                
                &lt;li class=&quot;gallery__selector__item&quot;&gt;
                    &lt;button
                            class=&quot;gallery__selector__button&quot;
                            aria-expanded=&quot;false&quot;
                            aria-controls=&quot;galleryjetevoisimage1&quot;
                            aria-label=&quot;Voir l&#x27;image &amp;quot;Photo d&amp;#x27;archive: 2&amp;quot;&quot;
                            type=&quot;button&quot;
                    &gt;
                        &lt;img class=&quot;gallery__selector__image&quot; src=&quot;&amp;#x2F;arts&amp;#x2F;je-te-vois&amp;#x2F;gallery&amp;#x2F;jetevois_2.jpg&quot; alt=&quot;Photo d&amp;#x27;archive: 2&quot;&#x2F;&gt;
                    &lt;&#x2F;button&gt;
                &lt;&#x2F;li&gt;
                
                
                &lt;li class=&quot;gallery__selector__item&quot;&gt;
                    &lt;button
                            class=&quot;gallery__selector__button&quot;
                            aria-expanded=&quot;false&quot;
                            aria-controls=&quot;galleryjetevoisimage2&quot;
                            aria-label=&quot;Voir l&#x27;image &amp;quot;Photo d&amp;#x27;archive: 3&amp;quot;&quot;
                            type=&quot;button&quot;
                    &gt;
                        &lt;img class=&quot;gallery__selector__image&quot; src=&quot;&amp;#x2F;arts&amp;#x2F;je-te-vois&amp;#x2F;gallery&amp;#x2F;jetevois_3.jpg&quot; alt=&quot;Photo d&amp;#x27;archive: 3&quot;&#x2F;&gt;
                    &lt;&#x2F;button&gt;
                &lt;&#x2F;li&gt;
                
    &lt;&#x2F;ul&gt;
&lt;&#x2F;div&gt;
&lt;script&gt;
    &#x2F;&#x2F; Define
    &#x2F;&#x2F; function hideDisplayedImage(galleryId, image)
    if (typeof globalThis.hideDisplayedImage === &quot;undefined&quot;) {
        globalThis.hideDisplayedImage = function(galleryId, image) {
            const fullscreenImageContainer = document.querySelector(&quot;#&quot; + galleryId + &quot; .gallery__viewport&quot;);
            fullscreenImageContainer.classList.remove(&quot;gallery__viewport--display&quot;);
            image.classList.remove(&quot;gallery__viewport__image--display&quot;);
            const selector = &#x27;[aria-controls=&quot;&#x27; + image.getAttribute(&quot;id&quot;) + &#x27;&quot;]&#x27;
            const controlsButton = document.querySelector(selector);
            controlsButton.setAttribute(&quot;aria-expanded&quot;, &quot;false&quot;);
        }
    }

    &#x2F;&#x2F; Define
    &#x2F;&#x2F; function displayImageWithButton(galleryId, button)
    if (typeof globalThis.displayImageWithButton === &quot;undefined&quot;) {
        globalThis.displayImageWithButton = function(galleryId, button) {
            button.focus();
            const fullscreenImageContainer = document.querySelector(&quot;#&quot; + galleryId + &quot; .gallery__viewport&quot;);
            fullscreenImageContainer.classList.add(&quot;gallery__viewport--display&quot;);
            const ariaControlsId = button.getAttribute(&quot;aria-controls&quot;);
            const controlledElement = document.getElementById(ariaControlsId);
            controlledElement.classList.add(&quot;gallery__viewport__image--display&quot;);
            button.setAttribute(&quot;aria-expanded&quot;, &quot;true&quot;);
        }
    }

    &#x2F;&#x2F; Define
    &#x2F;&#x2F; function displayImageWithControlledElement(galleryId, button)
    if (typeof globalThis.displayImageWithControlledElement === &quot;undefined&quot;) {
        globalThis.displayImageWithControlledElement = function(galleryId, controlledElement) {
            const selector = &#x27;[aria-controls=&quot;&#x27; + controlledElement.getAttribute(&quot;id&quot;) + &#x27;&quot;]&#x27;
            const controlsButton = document.querySelector(selector);
            displayImageWithButton(galleryId, controlsButton);
        }
    }

    &#x2F;&#x2F; Define
    &#x2F;&#x2F; function checkSwipeDirection(touchstartX, touchendX)
    if (typeof globalThis.checkSwipeDirection === &quot;undefined&quot;) {
        globalThis.checkSwipeDirection =  function(touchstartX, touchendX) {
            if (touchendX &lt; touchstartX) {
                return &quot;left&quot;;
            } else if (touchendX &gt; touchstartX) {
                return &quot;right&quot;;
            } else {
                return &quot;&quot;;
            }
        }
    }

    &#x2F;&#x2F; Define
    &#x2F;&#x2F; function displayNextImage()
    if (typeof globalThis.displayNextImage === &quot;undefined&quot;) {
        globalThis.displayNextImage = function() {
            const controlledElement = document.getElementsByClassName(&quot;gallery__viewport__image--display&quot;)[0];
            if (controlledElement !== undefined) {
                hideDisplayedImage(&quot;galleryjetevois&quot;, controlledElement);

                let newControlledElement = controlledElement.nextElementSibling;
                if (newControlledElement === null) {
                    newControlledElement = controlledElement.parentElement.firstElementChild;
                }

                if (newControlledElement !== null &amp;&amp; newControlledElement !== undefined) {
                    displayImageWithControlledElement(&quot;galleryjetevois&quot;, newControlledElement);
                }
            }
        }
    }

    &#x2F;&#x2F; Define
    &#x2F;&#x2F; function displayPreviousImage()
    if (typeof globalThis.displayPreviousImage === &quot;undefined&quot;) {
        globalThis.displayPreviousImage = function () {
            const controlledElement = document.getElementsByClassName(&quot;gallery__viewport__image--display&quot;)[0];
            if (controlledElement !== undefined) {
                hideDisplayedImage(&quot;galleryjetevois&quot;, controlledElement);

                let newControlledElement = controlledElement.previousElementSibling;
                if (newControlledElement === null) {
                    newControlledElement = controlledElement.parentElement.lastElementChild;
                }

                if (newControlledElement !== null &amp;&amp; newControlledElement !== undefined) {
                    displayImageWithControlledElement(&quot;galleryjetevois&quot;, newControlledElement);
                }
            }
        }
    }

    &#x2F;&#x2F; Init
    &#x2F;&#x2F; Gallery Buttons
    const galleryButtonsgalleryjetevois = document.querySelectorAll(&quot;#galleryjetevois .gallery__selector__button&quot;);
    for (let i = 0; i &lt; galleryButtonsgalleryjetevois.length; i++) {

        &#x2F;&#x2F; Click
        galleryButtonsgalleryjetevois[i].addEventListener(&quot;click&quot;, function(event) {
            displayImageWithButton(&quot;galleryjetevois&quot;, this);
        });

        &#x2F;&#x2F; Focus In
        galleryButtonsgalleryjetevois[i].addEventListener(&#x27;focusin&#x27;, function(event) {
            const previousFocusableItem = event.relatedTarget;
            const displayedImages = document.getElementsByClassName(&quot;gallery__viewport__image--display&quot;);
            if (
                (previousFocusableItem === null || !previousFocusableItem.classList.contains(&quot;gallery__selector__button&quot;))
                &amp;&amp; displayedImages.length &gt; 0
            ) {
                &#x2F;&#x2F; Hide all displayed images
                const displayedImages = document.getElementsByClassName(&quot;gallery__viewport__image--display&quot;);
                if (displayedImages.length &gt; 0) {
                    for (let i = 0; i &lt; displayedImages.length; i++) {
                        hideDisplayedImage(&quot;galleryjetevois&quot;, displayedImages[i]);
                    }
                }
                displayImageWithButton(&quot;galleryjetevois&quot;, this);
            }
        });

        &#x2F;&#x2F; Focus Out
        galleryButtonsgalleryjetevois[i].addEventListener(&#x27;focusout&#x27;, function(event) {
            &#x2F;&#x2F; Prevent focus out actions if it&#x27;s a click on a gallery viewport element.
            const eventOriginClassList = event.explicitOriginalTarget.classList;
            if (
                eventOriginClassList.contains(&quot;gallery__viewport__image&quot;)
                || eventOriginClassList.contains(&quot;gallery__viewport__controls&quot;)
                || eventOriginClassList.contains(&quot;gallery__viewport__controls__nav-button&quot;)
                || eventOriginClassList.contains(&quot;gallery__viewport__controls__nav-close-btn&quot;)
                || eventOriginClassList.contains(&quot;gallery__viewport&quot;)
            ) {
                return;
            }

            &#x2F;&#x2F; Hide all displayed images
            const displayedImages = document.getElementsByClassName(&quot;gallery__viewport__image--display&quot;);
            if (displayedImages.length &gt; 0) {
                for (let i = 0; i &lt; displayedImages.length; i++) {
                    hideDisplayedImage(&quot;galleryjetevois&quot;, displayedImages[i]);
                }
                const nextFocusableItem = event.relatedTarget;
                if (nextFocusableItem != null &amp;&amp; nextFocusableItem.classList.contains(&quot;gallery__selector__button&quot;)) {
                    displayImageWithButton(&quot;galleryjetevois&quot;, nextFocusableItem);
                }
            }
        });
    }

    &#x2F;&#x2F; Previous Button
    &#x2F;&#x2F; Click
    const previousImageButtongalleryjetevois = document.querySelector(&quot;#galleryjetevois .gallery__viewport__controls__nav-button--left&quot;);
    previousImageButtongalleryjetevois.addEventListener(&#x27;click&#x27;, function(event) {
        displayPreviousImage();
    });

    &#x2F;&#x2F; Next Button
    &#x2F;&#x2F; Click
    const nextImageButtongalleryjetevois = document.querySelector(&quot;#galleryjetevois .gallery__viewport__controls__nav-button--right&quot;);
    nextImageButtongalleryjetevois.addEventListener(&#x27;click&#x27;, function(event) {
        displayNextImage();
    });

    &#x2F;&#x2F; Close Button
    &#x2F;&#x2F; Click
    const closeImageButtongalleryjetevois = document.querySelector(&quot;#galleryjetevois .gallery__viewport__controls__nav-close-btn&quot;);
    closeImageButtongalleryjetevois.addEventListener(&#x27;click&#x27;, function(event) {
        const controlledElement = document.getElementsByClassName(&quot;gallery__viewport__image--display&quot;)[0];
        if (controlledElement !== undefined) {
            hideDisplayedImage(&quot;galleryjetevois&quot;, controlledElement);
        }
    });

    &#x2F;&#x2F; Keyboard Controls
    document.addEventListener(&#x27;keydown&#x27;, (event) =&gt; {
        const controlledElement = document.getElementsByClassName(&quot;gallery__viewport__image--display&quot;)[0];
        if (controlledElement !== undefined) {

            &#x2F;&#x2F; Hide image
            &#x2F;&#x2F; ESC, LEFT, RIGHT
            if (event.code === &#x27;Escape&#x27; || event.code === &#x27;ArrowLeft&#x27; || event.code === &#x27;ArrowRight&#x27;) {
                hideDisplayedImage(&quot;galleryjetevois&quot;, controlledElement);
            }

            let newControlledElement;

            &#x2F;&#x2F; Select new controlled element(image)
            &#x2F;&#x2F; LEFT
            if (event.code === &#x27;ArrowLeft&#x27;) {
                newControlledElement = controlledElement.previousElementSibling;
                if (newControlledElement === null) {
                    newControlledElement = controlledElement.parentElement.lastElementChild;
                }
            }
            &#x2F;&#x2F; RIGHT
            if (event.code === &#x27;ArrowRight&#x27;) {
                newControlledElement = controlledElement.nextElementSibling;
                if (newControlledElement === null) {
                    newControlledElement = controlledElement.parentElement.firstElementChild;
                }
            }

            &#x2F;&#x2F; Active button and display image
            if (newControlledElement !== null &amp;&amp; newControlledElement !== undefined) {
                displayImageWithControlledElement(&quot;galleryjetevois&quot;, newControlledElement);
            }
        }
    })

    &#x2F;&#x2F; Touch Gesture
    let touchstartXgalleryjetevois = 0;
    let touchendXgalleryjetevois = 0;

    const galleryViewportgalleryjetevois = document.getElementsByClassName(&quot;gallery__viewport&quot;)[0];
    if (galleryViewportgalleryjetevois !== undefined) {

        galleryViewportgalleryjetevois.addEventListener(&#x27;touchstart&#x27;, function(event) {
            touchstartXgalleryjetevois = event.changedTouches[0].screenX
        });

        galleryViewportgalleryjetevois.addEventListener(&#x27;touchend&#x27;, function(event) {
            touchendXgalleryjetevois = event.changedTouches[0].screenX
            const direction = checkSwipeDirection(touchstartXgalleryjetevois, touchendXgalleryjetevois);
            if (direction === &quot;left&quot;) {
                displayPreviousImage();
            } else if (direction === &quot;right&quot;) {
                displayNextImage();
            }
        });

        galleryViewportgalleryjetevois.addEventListner(&#x27;touchmove&#x27;, function(event) {
            event.preventDefault();
            event.stopPropagation();
        });
    }
&lt;&#x2F;script&gt;</content>
        
    </entry>
    <entry xml:lang="fr">
        <title>Le chat</title>
        <published>2008-01-01T00:00:00+00:00</published>
        <updated>2008-01-01T00:00:00+00:00</updated>
        
        <author>
          <name>
            
              Pierre Tremblay-Thériault
            
          </name>
        </author>
        
        <link rel="alternate" type="text/html" href="https://lapinchatware.ca/arts/le-chat/"/>
        <id>https://lapinchatware.ca/arts/le-chat/</id>
        
        <content type="html" xml:base="https://lapinchatware.ca/arts/le-chat/">&lt;p&gt;Le chat &lt;br &#x2F;&gt;
Aérosol acrylique sur planche de gypse &lt;br &#x2F;&gt;
120cm X 240cm &lt;br &#x2F;&gt;
2008&lt;&#x2F;p&gt;
&lt;div id=&quot;gallerylechat&quot; class=&quot;gallery&quot;&gt;
    
    &lt;div class=&quot;gallery__viewport&quot;&gt;
        &lt;div class=&quot;gallery__viewport__images&quot;&gt;
            
            
                    
                    &lt;img id=&quot;gallerylechatimage0&quot; class=&quot;gallery__viewport__image&quot; src=&quot;&amp;#x2F;arts&amp;#x2F;le-chat&amp;#x2F;gallery&amp;#x2F;lechat_1.jpg&quot; alt=&quot;Photo d&amp;#x27;archive: 1&quot;&#x2F;&gt;
                    
                    
                    &lt;img id=&quot;gallerylechatimage1&quot; class=&quot;gallery__viewport__image&quot; src=&quot;&amp;#x2F;arts&amp;#x2F;le-chat&amp;#x2F;gallery&amp;#x2F;lechat_2.jpg&quot; alt=&quot;Photo d&amp;#x27;archive: 2&quot;&#x2F;&gt;
                    
        &lt;&#x2F;div&gt;
        &lt;div class=&quot;gallery__viewport__controls&quot;&gt;
            &lt;img class=&quot;gallery__viewport__controls__nav-button gallery__viewport__controls__nav-button--left&quot; src=&quot;&#x2F;images&#x2F;angle-left.svg&quot; alt=&quot;Voir l&#x27;image précédente.&quot; aria-hidden=&quot;true&quot;&#x2F;&gt;
            &lt;img class=&quot;gallery__viewport__controls__nav-button gallery__viewport__controls__nav-button--right&quot; src=&quot;&#x2F;images&#x2F;angle-right.svg&quot; alt=&quot;Voir l&#x27;image suivante.&quot; aria-hidden=&quot;true&quot;&#x2F;&gt;
            &lt;img class=&quot;gallery__viewport__controls__nav-close-btn&quot; src=&quot;&#x2F;images&#x2F;close-icon.svg&quot; alt=&quot;Fermer la gallery&quot;&#x2F;&gt;
        &lt;&#x2F;div&gt;
    &lt;&#x2F;div&gt;
    &lt;ul class=&quot;gallery__selector&quot;&gt;
        
        
                
                &lt;li class=&quot;gallery__selector__item&quot;&gt;
                    &lt;button
                            class=&quot;gallery__selector__button&quot;
                            aria-expanded=&quot;false&quot;
                            aria-controls=&quot;gallerylechatimage0&quot;
                            aria-label=&quot;Voir l&#x27;image &amp;quot;Photo d&amp;#x27;archive: 1&amp;quot;&quot;
                            type=&quot;button&quot;
                    &gt;
                        &lt;img class=&quot;gallery__selector__image&quot; src=&quot;&amp;#x2F;arts&amp;#x2F;le-chat&amp;#x2F;gallery&amp;#x2F;lechat_1.jpg&quot; alt=&quot;Photo d&amp;#x27;archive: 1&quot;&#x2F;&gt;
                    &lt;&#x2F;button&gt;
                &lt;&#x2F;li&gt;
                
                
                &lt;li class=&quot;gallery__selector__item&quot;&gt;
                    &lt;button
                            class=&quot;gallery__selector__button&quot;
                            aria-expanded=&quot;false&quot;
                            aria-controls=&quot;gallerylechatimage1&quot;
                            aria-label=&quot;Voir l&#x27;image &amp;quot;Photo d&amp;#x27;archive: 2&amp;quot;&quot;
                            type=&quot;button&quot;
                    &gt;
                        &lt;img class=&quot;gallery__selector__image&quot; src=&quot;&amp;#x2F;arts&amp;#x2F;le-chat&amp;#x2F;gallery&amp;#x2F;lechat_2.jpg&quot; alt=&quot;Photo d&amp;#x27;archive: 2&quot;&#x2F;&gt;
                    &lt;&#x2F;button&gt;
                &lt;&#x2F;li&gt;
                
    &lt;&#x2F;ul&gt;
&lt;&#x2F;div&gt;
&lt;script&gt;
    &#x2F;&#x2F; Define
    &#x2F;&#x2F; function hideDisplayedImage(galleryId, image)
    if (typeof globalThis.hideDisplayedImage === &quot;undefined&quot;) {
        globalThis.hideDisplayedImage = function(galleryId, image) {
            const fullscreenImageContainer = document.querySelector(&quot;#&quot; + galleryId + &quot; .gallery__viewport&quot;);
            fullscreenImageContainer.classList.remove(&quot;gallery__viewport--display&quot;);
            image.classList.remove(&quot;gallery__viewport__image--display&quot;);
            const selector = &#x27;[aria-controls=&quot;&#x27; + image.getAttribute(&quot;id&quot;) + &#x27;&quot;]&#x27;
            const controlsButton = document.querySelector(selector);
            controlsButton.setAttribute(&quot;aria-expanded&quot;, &quot;false&quot;);
        }
    }

    &#x2F;&#x2F; Define
    &#x2F;&#x2F; function displayImageWithButton(galleryId, button)
    if (typeof globalThis.displayImageWithButton === &quot;undefined&quot;) {
        globalThis.displayImageWithButton = function(galleryId, button) {
            button.focus();
            const fullscreenImageContainer = document.querySelector(&quot;#&quot; + galleryId + &quot; .gallery__viewport&quot;);
            fullscreenImageContainer.classList.add(&quot;gallery__viewport--display&quot;);
            const ariaControlsId = button.getAttribute(&quot;aria-controls&quot;);
            const controlledElement = document.getElementById(ariaControlsId);
            controlledElement.classList.add(&quot;gallery__viewport__image--display&quot;);
            button.setAttribute(&quot;aria-expanded&quot;, &quot;true&quot;);
        }
    }

    &#x2F;&#x2F; Define
    &#x2F;&#x2F; function displayImageWithControlledElement(galleryId, button)
    if (typeof globalThis.displayImageWithControlledElement === &quot;undefined&quot;) {
        globalThis.displayImageWithControlledElement = function(galleryId, controlledElement) {
            const selector = &#x27;[aria-controls=&quot;&#x27; + controlledElement.getAttribute(&quot;id&quot;) + &#x27;&quot;]&#x27;
            const controlsButton = document.querySelector(selector);
            displayImageWithButton(galleryId, controlsButton);
        }
    }

    &#x2F;&#x2F; Define
    &#x2F;&#x2F; function checkSwipeDirection(touchstartX, touchendX)
    if (typeof globalThis.checkSwipeDirection === &quot;undefined&quot;) {
        globalThis.checkSwipeDirection =  function(touchstartX, touchendX) {
            if (touchendX &lt; touchstartX) {
                return &quot;left&quot;;
            } else if (touchendX &gt; touchstartX) {
                return &quot;right&quot;;
            } else {
                return &quot;&quot;;
            }
        }
    }

    &#x2F;&#x2F; Define
    &#x2F;&#x2F; function displayNextImage()
    if (typeof globalThis.displayNextImage === &quot;undefined&quot;) {
        globalThis.displayNextImage = function() {
            const controlledElement = document.getElementsByClassName(&quot;gallery__viewport__image--display&quot;)[0];
            if (controlledElement !== undefined) {
                hideDisplayedImage(&quot;gallerylechat&quot;, controlledElement);

                let newControlledElement = controlledElement.nextElementSibling;
                if (newControlledElement === null) {
                    newControlledElement = controlledElement.parentElement.firstElementChild;
                }

                if (newControlledElement !== null &amp;&amp; newControlledElement !== undefined) {
                    displayImageWithControlledElement(&quot;gallerylechat&quot;, newControlledElement);
                }
            }
        }
    }

    &#x2F;&#x2F; Define
    &#x2F;&#x2F; function displayPreviousImage()
    if (typeof globalThis.displayPreviousImage === &quot;undefined&quot;) {
        globalThis.displayPreviousImage = function () {
            const controlledElement = document.getElementsByClassName(&quot;gallery__viewport__image--display&quot;)[0];
            if (controlledElement !== undefined) {
                hideDisplayedImage(&quot;gallerylechat&quot;, controlledElement);

                let newControlledElement = controlledElement.previousElementSibling;
                if (newControlledElement === null) {
                    newControlledElement = controlledElement.parentElement.lastElementChild;
                }

                if (newControlledElement !== null &amp;&amp; newControlledElement !== undefined) {
                    displayImageWithControlledElement(&quot;gallerylechat&quot;, newControlledElement);
                }
            }
        }
    }

    &#x2F;&#x2F; Init
    &#x2F;&#x2F; Gallery Buttons
    const galleryButtonsgallerylechat = document.querySelectorAll(&quot;#gallerylechat .gallery__selector__button&quot;);
    for (let i = 0; i &lt; galleryButtonsgallerylechat.length; i++) {

        &#x2F;&#x2F; Click
        galleryButtonsgallerylechat[i].addEventListener(&quot;click&quot;, function(event) {
            displayImageWithButton(&quot;gallerylechat&quot;, this);
        });

        &#x2F;&#x2F; Focus In
        galleryButtonsgallerylechat[i].addEventListener(&#x27;focusin&#x27;, function(event) {
            const previousFocusableItem = event.relatedTarget;
            const displayedImages = document.getElementsByClassName(&quot;gallery__viewport__image--display&quot;);
            if (
                (previousFocusableItem === null || !previousFocusableItem.classList.contains(&quot;gallery__selector__button&quot;))
                &amp;&amp; displayedImages.length &gt; 0
            ) {
                &#x2F;&#x2F; Hide all displayed images
                const displayedImages = document.getElementsByClassName(&quot;gallery__viewport__image--display&quot;);
                if (displayedImages.length &gt; 0) {
                    for (let i = 0; i &lt; displayedImages.length; i++) {
                        hideDisplayedImage(&quot;gallerylechat&quot;, displayedImages[i]);
                    }
                }
                displayImageWithButton(&quot;gallerylechat&quot;, this);
            }
        });

        &#x2F;&#x2F; Focus Out
        galleryButtonsgallerylechat[i].addEventListener(&#x27;focusout&#x27;, function(event) {
            &#x2F;&#x2F; Prevent focus out actions if it&#x27;s a click on a gallery viewport element.
            const eventOriginClassList = event.explicitOriginalTarget.classList;
            if (
                eventOriginClassList.contains(&quot;gallery__viewport__image&quot;)
                || eventOriginClassList.contains(&quot;gallery__viewport__controls&quot;)
                || eventOriginClassList.contains(&quot;gallery__viewport__controls__nav-button&quot;)
                || eventOriginClassList.contains(&quot;gallery__viewport__controls__nav-close-btn&quot;)
                || eventOriginClassList.contains(&quot;gallery__viewport&quot;)
            ) {
                return;
            }

            &#x2F;&#x2F; Hide all displayed images
            const displayedImages = document.getElementsByClassName(&quot;gallery__viewport__image--display&quot;);
            if (displayedImages.length &gt; 0) {
                for (let i = 0; i &lt; displayedImages.length; i++) {
                    hideDisplayedImage(&quot;gallerylechat&quot;, displayedImages[i]);
                }
                const nextFocusableItem = event.relatedTarget;
                if (nextFocusableItem != null &amp;&amp; nextFocusableItem.classList.contains(&quot;gallery__selector__button&quot;)) {
                    displayImageWithButton(&quot;gallerylechat&quot;, nextFocusableItem);
                }
            }
        });
    }

    &#x2F;&#x2F; Previous Button
    &#x2F;&#x2F; Click
    const previousImageButtongallerylechat = document.querySelector(&quot;#gallerylechat .gallery__viewport__controls__nav-button--left&quot;);
    previousImageButtongallerylechat.addEventListener(&#x27;click&#x27;, function(event) {
        displayPreviousImage();
    });

    &#x2F;&#x2F; Next Button
    &#x2F;&#x2F; Click
    const nextImageButtongallerylechat = document.querySelector(&quot;#gallerylechat .gallery__viewport__controls__nav-button--right&quot;);
    nextImageButtongallerylechat.addEventListener(&#x27;click&#x27;, function(event) {
        displayNextImage();
    });

    &#x2F;&#x2F; Close Button
    &#x2F;&#x2F; Click
    const closeImageButtongallerylechat = document.querySelector(&quot;#gallerylechat .gallery__viewport__controls__nav-close-btn&quot;);
    closeImageButtongallerylechat.addEventListener(&#x27;click&#x27;, function(event) {
        const controlledElement = document.getElementsByClassName(&quot;gallery__viewport__image--display&quot;)[0];
        if (controlledElement !== undefined) {
            hideDisplayedImage(&quot;gallerylechat&quot;, controlledElement);
        }
    });

    &#x2F;&#x2F; Keyboard Controls
    document.addEventListener(&#x27;keydown&#x27;, (event) =&gt; {
        const controlledElement = document.getElementsByClassName(&quot;gallery__viewport__image--display&quot;)[0];
        if (controlledElement !== undefined) {

            &#x2F;&#x2F; Hide image
            &#x2F;&#x2F; ESC, LEFT, RIGHT
            if (event.code === &#x27;Escape&#x27; || event.code === &#x27;ArrowLeft&#x27; || event.code === &#x27;ArrowRight&#x27;) {
                hideDisplayedImage(&quot;gallerylechat&quot;, controlledElement);
            }

            let newControlledElement;

            &#x2F;&#x2F; Select new controlled element(image)
            &#x2F;&#x2F; LEFT
            if (event.code === &#x27;ArrowLeft&#x27;) {
                newControlledElement = controlledElement.previousElementSibling;
                if (newControlledElement === null) {
                    newControlledElement = controlledElement.parentElement.lastElementChild;
                }
            }
            &#x2F;&#x2F; RIGHT
            if (event.code === &#x27;ArrowRight&#x27;) {
                newControlledElement = controlledElement.nextElementSibling;
                if (newControlledElement === null) {
                    newControlledElement = controlledElement.parentElement.firstElementChild;
                }
            }

            &#x2F;&#x2F; Active button and display image
            if (newControlledElement !== null &amp;&amp; newControlledElement !== undefined) {
                displayImageWithControlledElement(&quot;gallerylechat&quot;, newControlledElement);
            }
        }
    })

    &#x2F;&#x2F; Touch Gesture
    let touchstartXgallerylechat = 0;
    let touchendXgallerylechat = 0;

    const galleryViewportgallerylechat = document.getElementsByClassName(&quot;gallery__viewport&quot;)[0];
    if (galleryViewportgallerylechat !== undefined) {

        galleryViewportgallerylechat.addEventListener(&#x27;touchstart&#x27;, function(event) {
            touchstartXgallerylechat = event.changedTouches[0].screenX
        });

        galleryViewportgallerylechat.addEventListener(&#x27;touchend&#x27;, function(event) {
            touchendXgallerylechat = event.changedTouches[0].screenX
            const direction = checkSwipeDirection(touchstartXgallerylechat, touchendXgallerylechat);
            if (direction === &quot;left&quot;) {
                displayPreviousImage();
            } else if (direction === &quot;right&quot;) {
                displayNextImage();
            }
        });

        galleryViewportgallerylechat.addEventListner(&#x27;touchmove&#x27;, function(event) {
            event.preventDefault();
            event.stopPropagation();
        });
    }
&lt;&#x2F;script&gt;</content>
        
    </entry>
    <entry xml:lang="fr">
        <title>Pixel V.0.5</title>
        <published>2008-01-01T00:00:00+00:00</published>
        <updated>2008-01-01T00:00:00+00:00</updated>
        
        <author>
          <name>
            
              Pierre Tremblay-Thériault
            
          </name>
        </author>
        
        <link rel="alternate" type="text/html" href="https://lapinchatware.ca/arts/pixel-v05/"/>
        <id>https://lapinchatware.ca/arts/pixel-v05/</id>
        
        <content type="html" xml:base="https://lapinchatware.ca/arts/pixel-v05/">&lt;p&gt;Pixel V.0.5 &lt;br &#x2F;&gt;
Électroniques &lt;br &#x2F;&gt;
30cm X 30cm &lt;br &#x2F;&gt;
2008&lt;&#x2F;p&gt;
&lt;div id=&quot;gallerypixelv05&quot; class=&quot;gallery&quot;&gt;
    
    &lt;div class=&quot;gallery__viewport&quot;&gt;
        &lt;div class=&quot;gallery__viewport__images&quot;&gt;
            
            
                    
                    &lt;img id=&quot;gallerypixelv05image0&quot; class=&quot;gallery__viewport__image&quot; src=&quot;&amp;#x2F;arts&amp;#x2F;pixel-v05&amp;#x2F;gallery&amp;#x2F;pixelv05_1.jpg&quot; alt=&quot;Photo d&amp;#x27;archive&quot;&#x2F;&gt;
                    
        &lt;&#x2F;div&gt;
        &lt;div class=&quot;gallery__viewport__controls&quot;&gt;
            &lt;img class=&quot;gallery__viewport__controls__nav-button gallery__viewport__controls__nav-button--left&quot; src=&quot;&#x2F;images&#x2F;angle-left.svg&quot; alt=&quot;Voir l&#x27;image précédente.&quot; aria-hidden=&quot;true&quot;&#x2F;&gt;
            &lt;img class=&quot;gallery__viewport__controls__nav-button gallery__viewport__controls__nav-button--right&quot; src=&quot;&#x2F;images&#x2F;angle-right.svg&quot; alt=&quot;Voir l&#x27;image suivante.&quot; aria-hidden=&quot;true&quot;&#x2F;&gt;
            &lt;img class=&quot;gallery__viewport__controls__nav-close-btn&quot; src=&quot;&#x2F;images&#x2F;close-icon.svg&quot; alt=&quot;Fermer la gallery&quot;&#x2F;&gt;
        &lt;&#x2F;div&gt;
    &lt;&#x2F;div&gt;
    &lt;ul class=&quot;gallery__selector&quot;&gt;
        
        
                
                &lt;li class=&quot;gallery__selector__item&quot;&gt;
                    &lt;button
                            class=&quot;gallery__selector__button&quot;
                            aria-expanded=&quot;false&quot;
                            aria-controls=&quot;gallerypixelv05image0&quot;
                            aria-label=&quot;Voir l&#x27;image &amp;quot;Photo d&amp;#x27;archive&amp;quot;&quot;
                            type=&quot;button&quot;
                    &gt;
                        &lt;img class=&quot;gallery__selector__image&quot; src=&quot;&amp;#x2F;arts&amp;#x2F;pixel-v05&amp;#x2F;gallery&amp;#x2F;pixelv05_1.jpg&quot; alt=&quot;Photo d&amp;#x27;archive&quot;&#x2F;&gt;
                    &lt;&#x2F;button&gt;
                &lt;&#x2F;li&gt;
                
    &lt;&#x2F;ul&gt;
&lt;&#x2F;div&gt;
&lt;script&gt;
    &#x2F;&#x2F; Define
    &#x2F;&#x2F; function hideDisplayedImage(galleryId, image)
    if (typeof globalThis.hideDisplayedImage === &quot;undefined&quot;) {
        globalThis.hideDisplayedImage = function(galleryId, image) {
            const fullscreenImageContainer = document.querySelector(&quot;#&quot; + galleryId + &quot; .gallery__viewport&quot;);
            fullscreenImageContainer.classList.remove(&quot;gallery__viewport--display&quot;);
            image.classList.remove(&quot;gallery__viewport__image--display&quot;);
            const selector = &#x27;[aria-controls=&quot;&#x27; + image.getAttribute(&quot;id&quot;) + &#x27;&quot;]&#x27;
            const controlsButton = document.querySelector(selector);
            controlsButton.setAttribute(&quot;aria-expanded&quot;, &quot;false&quot;);
        }
    }

    &#x2F;&#x2F; Define
    &#x2F;&#x2F; function displayImageWithButton(galleryId, button)
    if (typeof globalThis.displayImageWithButton === &quot;undefined&quot;) {
        globalThis.displayImageWithButton = function(galleryId, button) {
            button.focus();
            const fullscreenImageContainer = document.querySelector(&quot;#&quot; + galleryId + &quot; .gallery__viewport&quot;);
            fullscreenImageContainer.classList.add(&quot;gallery__viewport--display&quot;);
            const ariaControlsId = button.getAttribute(&quot;aria-controls&quot;);
            const controlledElement = document.getElementById(ariaControlsId);
            controlledElement.classList.add(&quot;gallery__viewport__image--display&quot;);
            button.setAttribute(&quot;aria-expanded&quot;, &quot;true&quot;);
        }
    }

    &#x2F;&#x2F; Define
    &#x2F;&#x2F; function displayImageWithControlledElement(galleryId, button)
    if (typeof globalThis.displayImageWithControlledElement === &quot;undefined&quot;) {
        globalThis.displayImageWithControlledElement = function(galleryId, controlledElement) {
            const selector = &#x27;[aria-controls=&quot;&#x27; + controlledElement.getAttribute(&quot;id&quot;) + &#x27;&quot;]&#x27;
            const controlsButton = document.querySelector(selector);
            displayImageWithButton(galleryId, controlsButton);
        }
    }

    &#x2F;&#x2F; Define
    &#x2F;&#x2F; function checkSwipeDirection(touchstartX, touchendX)
    if (typeof globalThis.checkSwipeDirection === &quot;undefined&quot;) {
        globalThis.checkSwipeDirection =  function(touchstartX, touchendX) {
            if (touchendX &lt; touchstartX) {
                return &quot;left&quot;;
            } else if (touchendX &gt; touchstartX) {
                return &quot;right&quot;;
            } else {
                return &quot;&quot;;
            }
        }
    }

    &#x2F;&#x2F; Define
    &#x2F;&#x2F; function displayNextImage()
    if (typeof globalThis.displayNextImage === &quot;undefined&quot;) {
        globalThis.displayNextImage = function() {
            const controlledElement = document.getElementsByClassName(&quot;gallery__viewport__image--display&quot;)[0];
            if (controlledElement !== undefined) {
                hideDisplayedImage(&quot;gallerypixelv05&quot;, controlledElement);

                let newControlledElement = controlledElement.nextElementSibling;
                if (newControlledElement === null) {
                    newControlledElement = controlledElement.parentElement.firstElementChild;
                }

                if (newControlledElement !== null &amp;&amp; newControlledElement !== undefined) {
                    displayImageWithControlledElement(&quot;gallerypixelv05&quot;, newControlledElement);
                }
            }
        }
    }

    &#x2F;&#x2F; Define
    &#x2F;&#x2F; function displayPreviousImage()
    if (typeof globalThis.displayPreviousImage === &quot;undefined&quot;) {
        globalThis.displayPreviousImage = function () {
            const controlledElement = document.getElementsByClassName(&quot;gallery__viewport__image--display&quot;)[0];
            if (controlledElement !== undefined) {
                hideDisplayedImage(&quot;gallerypixelv05&quot;, controlledElement);

                let newControlledElement = controlledElement.previousElementSibling;
                if (newControlledElement === null) {
                    newControlledElement = controlledElement.parentElement.lastElementChild;
                }

                if (newControlledElement !== null &amp;&amp; newControlledElement !== undefined) {
                    displayImageWithControlledElement(&quot;gallerypixelv05&quot;, newControlledElement);
                }
            }
        }
    }

    &#x2F;&#x2F; Init
    &#x2F;&#x2F; Gallery Buttons
    const galleryButtonsgallerypixelv05 = document.querySelectorAll(&quot;#gallerypixelv05 .gallery__selector__button&quot;);
    for (let i = 0; i &lt; galleryButtonsgallerypixelv05.length; i++) {

        &#x2F;&#x2F; Click
        galleryButtonsgallerypixelv05[i].addEventListener(&quot;click&quot;, function(event) {
            displayImageWithButton(&quot;gallerypixelv05&quot;, this);
        });

        &#x2F;&#x2F; Focus In
        galleryButtonsgallerypixelv05[i].addEventListener(&#x27;focusin&#x27;, function(event) {
            const previousFocusableItem = event.relatedTarget;
            const displayedImages = document.getElementsByClassName(&quot;gallery__viewport__image--display&quot;);
            if (
                (previousFocusableItem === null || !previousFocusableItem.classList.contains(&quot;gallery__selector__button&quot;))
                &amp;&amp; displayedImages.length &gt; 0
            ) {
                &#x2F;&#x2F; Hide all displayed images
                const displayedImages = document.getElementsByClassName(&quot;gallery__viewport__image--display&quot;);
                if (displayedImages.length &gt; 0) {
                    for (let i = 0; i &lt; displayedImages.length; i++) {
                        hideDisplayedImage(&quot;gallerypixelv05&quot;, displayedImages[i]);
                    }
                }
                displayImageWithButton(&quot;gallerypixelv05&quot;, this);
            }
        });

        &#x2F;&#x2F; Focus Out
        galleryButtonsgallerypixelv05[i].addEventListener(&#x27;focusout&#x27;, function(event) {
            &#x2F;&#x2F; Prevent focus out actions if it&#x27;s a click on a gallery viewport element.
            const eventOriginClassList = event.explicitOriginalTarget.classList;
            if (
                eventOriginClassList.contains(&quot;gallery__viewport__image&quot;)
                || eventOriginClassList.contains(&quot;gallery__viewport__controls&quot;)
                || eventOriginClassList.contains(&quot;gallery__viewport__controls__nav-button&quot;)
                || eventOriginClassList.contains(&quot;gallery__viewport__controls__nav-close-btn&quot;)
                || eventOriginClassList.contains(&quot;gallery__viewport&quot;)
            ) {
                return;
            }

            &#x2F;&#x2F; Hide all displayed images
            const displayedImages = document.getElementsByClassName(&quot;gallery__viewport__image--display&quot;);
            if (displayedImages.length &gt; 0) {
                for (let i = 0; i &lt; displayedImages.length; i++) {
                    hideDisplayedImage(&quot;gallerypixelv05&quot;, displayedImages[i]);
                }
                const nextFocusableItem = event.relatedTarget;
                if (nextFocusableItem != null &amp;&amp; nextFocusableItem.classList.contains(&quot;gallery__selector__button&quot;)) {
                    displayImageWithButton(&quot;gallerypixelv05&quot;, nextFocusableItem);
                }
            }
        });
    }

    &#x2F;&#x2F; Previous Button
    &#x2F;&#x2F; Click
    const previousImageButtongallerypixelv05 = document.querySelector(&quot;#gallerypixelv05 .gallery__viewport__controls__nav-button--left&quot;);
    previousImageButtongallerypixelv05.addEventListener(&#x27;click&#x27;, function(event) {
        displayPreviousImage();
    });

    &#x2F;&#x2F; Next Button
    &#x2F;&#x2F; Click
    const nextImageButtongallerypixelv05 = document.querySelector(&quot;#gallerypixelv05 .gallery__viewport__controls__nav-button--right&quot;);
    nextImageButtongallerypixelv05.addEventListener(&#x27;click&#x27;, function(event) {
        displayNextImage();
    });

    &#x2F;&#x2F; Close Button
    &#x2F;&#x2F; Click
    const closeImageButtongallerypixelv05 = document.querySelector(&quot;#gallerypixelv05 .gallery__viewport__controls__nav-close-btn&quot;);
    closeImageButtongallerypixelv05.addEventListener(&#x27;click&#x27;, function(event) {
        const controlledElement = document.getElementsByClassName(&quot;gallery__viewport__image--display&quot;)[0];
        if (controlledElement !== undefined) {
            hideDisplayedImage(&quot;gallerypixelv05&quot;, controlledElement);
        }
    });

    &#x2F;&#x2F; Keyboard Controls
    document.addEventListener(&#x27;keydown&#x27;, (event) =&gt; {
        const controlledElement = document.getElementsByClassName(&quot;gallery__viewport__image--display&quot;)[0];
        if (controlledElement !== undefined) {

            &#x2F;&#x2F; Hide image
            &#x2F;&#x2F; ESC, LEFT, RIGHT
            if (event.code === &#x27;Escape&#x27; || event.code === &#x27;ArrowLeft&#x27; || event.code === &#x27;ArrowRight&#x27;) {
                hideDisplayedImage(&quot;gallerypixelv05&quot;, controlledElement);
            }

            let newControlledElement;

            &#x2F;&#x2F; Select new controlled element(image)
            &#x2F;&#x2F; LEFT
            if (event.code === &#x27;ArrowLeft&#x27;) {
                newControlledElement = controlledElement.previousElementSibling;
                if (newControlledElement === null) {
                    newControlledElement = controlledElement.parentElement.lastElementChild;
                }
            }
            &#x2F;&#x2F; RIGHT
            if (event.code === &#x27;ArrowRight&#x27;) {
                newControlledElement = controlledElement.nextElementSibling;
                if (newControlledElement === null) {
                    newControlledElement = controlledElement.parentElement.firstElementChild;
                }
            }

            &#x2F;&#x2F; Active button and display image
            if (newControlledElement !== null &amp;&amp; newControlledElement !== undefined) {
                displayImageWithControlledElement(&quot;gallerypixelv05&quot;, newControlledElement);
            }
        }
    })

    &#x2F;&#x2F; Touch Gesture
    let touchstartXgallerypixelv05 = 0;
    let touchendXgallerypixelv05 = 0;

    const galleryViewportgallerypixelv05 = document.getElementsByClassName(&quot;gallery__viewport&quot;)[0];
    if (galleryViewportgallerypixelv05 !== undefined) {

        galleryViewportgallerypixelv05.addEventListener(&#x27;touchstart&#x27;, function(event) {
            touchstartXgallerypixelv05 = event.changedTouches[0].screenX
        });

        galleryViewportgallerypixelv05.addEventListener(&#x27;touchend&#x27;, function(event) {
            touchendXgallerypixelv05 = event.changedTouches[0].screenX
            const direction = checkSwipeDirection(touchstartXgallerypixelv05, touchendXgallerypixelv05);
            if (direction === &quot;left&quot;) {
                displayPreviousImage();
            } else if (direction === &quot;right&quot;) {
                displayNextImage();
            }
        });

        galleryViewportgallerypixelv05.addEventListner(&#x27;touchmove&#x27;, function(event) {
            event.preventDefault();
            event.stopPropagation();
        });
    }
&lt;&#x2F;script&gt;</content>
        
    </entry>
    <entry xml:lang="fr">
        <title>Pour Julie</title>
        <published>2008-01-01T00:00:00+00:00</published>
        <updated>2008-01-01T00:00:00+00:00</updated>
        
        <author>
          <name>
            
              Pierre Tremblay-Thériault
            
          </name>
        </author>
        
        <link rel="alternate" type="text/html" href="https://lapinchatware.ca/arts/pour-julie/"/>
        <id>https://lapinchatware.ca/arts/pour-julie/</id>
        
        <content type="html" xml:base="https://lapinchatware.ca/arts/pour-julie/">&lt;p&gt;Aérosol acrylique sur toile &lt;br &#x2F;&gt;
100cmX 75cm &lt;br &#x2F;&gt;
2008&lt;&#x2F;p&gt;
&lt;div id=&quot;gallerypourjulie&quot; class=&quot;gallery&quot;&gt;
    
    &lt;div class=&quot;gallery__viewport&quot;&gt;
        &lt;div class=&quot;gallery__viewport__images&quot;&gt;
            
            
                    
                    &lt;img id=&quot;gallerypourjulieimage0&quot; class=&quot;gallery__viewport__image&quot; src=&quot;&amp;#x2F;arts&amp;#x2F;pour-julie&amp;#x2F;gallery&amp;#x2F;pourjulie_1.jpg&quot; alt=&quot;Photo d&amp;#x27;archive&quot;&#x2F;&gt;
                    
        &lt;&#x2F;div&gt;
        &lt;div class=&quot;gallery__viewport__controls&quot;&gt;
            &lt;img class=&quot;gallery__viewport__controls__nav-button gallery__viewport__controls__nav-button--left&quot; src=&quot;&#x2F;images&#x2F;angle-left.svg&quot; alt=&quot;Voir l&#x27;image précédente.&quot; aria-hidden=&quot;true&quot;&#x2F;&gt;
            &lt;img class=&quot;gallery__viewport__controls__nav-button gallery__viewport__controls__nav-button--right&quot; src=&quot;&#x2F;images&#x2F;angle-right.svg&quot; alt=&quot;Voir l&#x27;image suivante.&quot; aria-hidden=&quot;true&quot;&#x2F;&gt;
            &lt;img class=&quot;gallery__viewport__controls__nav-close-btn&quot; src=&quot;&#x2F;images&#x2F;close-icon.svg&quot; alt=&quot;Fermer la gallery&quot;&#x2F;&gt;
        &lt;&#x2F;div&gt;
    &lt;&#x2F;div&gt;
    &lt;ul class=&quot;gallery__selector&quot;&gt;
        
        
                
                &lt;li class=&quot;gallery__selector__item&quot;&gt;
                    &lt;button
                            class=&quot;gallery__selector__button&quot;
                            aria-expanded=&quot;false&quot;
                            aria-controls=&quot;gallerypourjulieimage0&quot;
                            aria-label=&quot;Voir l&#x27;image &amp;quot;Photo d&amp;#x27;archive&amp;quot;&quot;
                            type=&quot;button&quot;
                    &gt;
                        &lt;img class=&quot;gallery__selector__image&quot; src=&quot;&amp;#x2F;arts&amp;#x2F;pour-julie&amp;#x2F;gallery&amp;#x2F;pourjulie_1.jpg&quot; alt=&quot;Photo d&amp;#x27;archive&quot;&#x2F;&gt;
                    &lt;&#x2F;button&gt;
                &lt;&#x2F;li&gt;
                
    &lt;&#x2F;ul&gt;
&lt;&#x2F;div&gt;
&lt;script&gt;
    &#x2F;&#x2F; Define
    &#x2F;&#x2F; function hideDisplayedImage(galleryId, image)
    if (typeof globalThis.hideDisplayedImage === &quot;undefined&quot;) {
        globalThis.hideDisplayedImage = function(galleryId, image) {
            const fullscreenImageContainer = document.querySelector(&quot;#&quot; + galleryId + &quot; .gallery__viewport&quot;);
            fullscreenImageContainer.classList.remove(&quot;gallery__viewport--display&quot;);
            image.classList.remove(&quot;gallery__viewport__image--display&quot;);
            const selector = &#x27;[aria-controls=&quot;&#x27; + image.getAttribute(&quot;id&quot;) + &#x27;&quot;]&#x27;
            const controlsButton = document.querySelector(selector);
            controlsButton.setAttribute(&quot;aria-expanded&quot;, &quot;false&quot;);
        }
    }

    &#x2F;&#x2F; Define
    &#x2F;&#x2F; function displayImageWithButton(galleryId, button)
    if (typeof globalThis.displayImageWithButton === &quot;undefined&quot;) {
        globalThis.displayImageWithButton = function(galleryId, button) {
            button.focus();
            const fullscreenImageContainer = document.querySelector(&quot;#&quot; + galleryId + &quot; .gallery__viewport&quot;);
            fullscreenImageContainer.classList.add(&quot;gallery__viewport--display&quot;);
            const ariaControlsId = button.getAttribute(&quot;aria-controls&quot;);
            const controlledElement = document.getElementById(ariaControlsId);
            controlledElement.classList.add(&quot;gallery__viewport__image--display&quot;);
            button.setAttribute(&quot;aria-expanded&quot;, &quot;true&quot;);
        }
    }

    &#x2F;&#x2F; Define
    &#x2F;&#x2F; function displayImageWithControlledElement(galleryId, button)
    if (typeof globalThis.displayImageWithControlledElement === &quot;undefined&quot;) {
        globalThis.displayImageWithControlledElement = function(galleryId, controlledElement) {
            const selector = &#x27;[aria-controls=&quot;&#x27; + controlledElement.getAttribute(&quot;id&quot;) + &#x27;&quot;]&#x27;
            const controlsButton = document.querySelector(selector);
            displayImageWithButton(galleryId, controlsButton);
        }
    }

    &#x2F;&#x2F; Define
    &#x2F;&#x2F; function checkSwipeDirection(touchstartX, touchendX)
    if (typeof globalThis.checkSwipeDirection === &quot;undefined&quot;) {
        globalThis.checkSwipeDirection =  function(touchstartX, touchendX) {
            if (touchendX &lt; touchstartX) {
                return &quot;left&quot;;
            } else if (touchendX &gt; touchstartX) {
                return &quot;right&quot;;
            } else {
                return &quot;&quot;;
            }
        }
    }

    &#x2F;&#x2F; Define
    &#x2F;&#x2F; function displayNextImage()
    if (typeof globalThis.displayNextImage === &quot;undefined&quot;) {
        globalThis.displayNextImage = function() {
            const controlledElement = document.getElementsByClassName(&quot;gallery__viewport__image--display&quot;)[0];
            if (controlledElement !== undefined) {
                hideDisplayedImage(&quot;gallerypourjulie&quot;, controlledElement);

                let newControlledElement = controlledElement.nextElementSibling;
                if (newControlledElement === null) {
                    newControlledElement = controlledElement.parentElement.firstElementChild;
                }

                if (newControlledElement !== null &amp;&amp; newControlledElement !== undefined) {
                    displayImageWithControlledElement(&quot;gallerypourjulie&quot;, newControlledElement);
                }
            }
        }
    }

    &#x2F;&#x2F; Define
    &#x2F;&#x2F; function displayPreviousImage()
    if (typeof globalThis.displayPreviousImage === &quot;undefined&quot;) {
        globalThis.displayPreviousImage = function () {
            const controlledElement = document.getElementsByClassName(&quot;gallery__viewport__image--display&quot;)[0];
            if (controlledElement !== undefined) {
                hideDisplayedImage(&quot;gallerypourjulie&quot;, controlledElement);

                let newControlledElement = controlledElement.previousElementSibling;
                if (newControlledElement === null) {
                    newControlledElement = controlledElement.parentElement.lastElementChild;
                }

                if (newControlledElement !== null &amp;&amp; newControlledElement !== undefined) {
                    displayImageWithControlledElement(&quot;gallerypourjulie&quot;, newControlledElement);
                }
            }
        }
    }

    &#x2F;&#x2F; Init
    &#x2F;&#x2F; Gallery Buttons
    const galleryButtonsgallerypourjulie = document.querySelectorAll(&quot;#gallerypourjulie .gallery__selector__button&quot;);
    for (let i = 0; i &lt; galleryButtonsgallerypourjulie.length; i++) {

        &#x2F;&#x2F; Click
        galleryButtonsgallerypourjulie[i].addEventListener(&quot;click&quot;, function(event) {
            displayImageWithButton(&quot;gallerypourjulie&quot;, this);
        });

        &#x2F;&#x2F; Focus In
        galleryButtonsgallerypourjulie[i].addEventListener(&#x27;focusin&#x27;, function(event) {
            const previousFocusableItem = event.relatedTarget;
            const displayedImages = document.getElementsByClassName(&quot;gallery__viewport__image--display&quot;);
            if (
                (previousFocusableItem === null || !previousFocusableItem.classList.contains(&quot;gallery__selector__button&quot;))
                &amp;&amp; displayedImages.length &gt; 0
            ) {
                &#x2F;&#x2F; Hide all displayed images
                const displayedImages = document.getElementsByClassName(&quot;gallery__viewport__image--display&quot;);
                if (displayedImages.length &gt; 0) {
                    for (let i = 0; i &lt; displayedImages.length; i++) {
                        hideDisplayedImage(&quot;gallerypourjulie&quot;, displayedImages[i]);
                    }
                }
                displayImageWithButton(&quot;gallerypourjulie&quot;, this);
            }
        });

        &#x2F;&#x2F; Focus Out
        galleryButtonsgallerypourjulie[i].addEventListener(&#x27;focusout&#x27;, function(event) {
            &#x2F;&#x2F; Prevent focus out actions if it&#x27;s a click on a gallery viewport element.
            const eventOriginClassList = event.explicitOriginalTarget.classList;
            if (
                eventOriginClassList.contains(&quot;gallery__viewport__image&quot;)
                || eventOriginClassList.contains(&quot;gallery__viewport__controls&quot;)
                || eventOriginClassList.contains(&quot;gallery__viewport__controls__nav-button&quot;)
                || eventOriginClassList.contains(&quot;gallery__viewport__controls__nav-close-btn&quot;)
                || eventOriginClassList.contains(&quot;gallery__viewport&quot;)
            ) {
                return;
            }

            &#x2F;&#x2F; Hide all displayed images
            const displayedImages = document.getElementsByClassName(&quot;gallery__viewport__image--display&quot;);
            if (displayedImages.length &gt; 0) {
                for (let i = 0; i &lt; displayedImages.length; i++) {
                    hideDisplayedImage(&quot;gallerypourjulie&quot;, displayedImages[i]);
                }
                const nextFocusableItem = event.relatedTarget;
                if (nextFocusableItem != null &amp;&amp; nextFocusableItem.classList.contains(&quot;gallery__selector__button&quot;)) {
                    displayImageWithButton(&quot;gallerypourjulie&quot;, nextFocusableItem);
                }
            }
        });
    }

    &#x2F;&#x2F; Previous Button
    &#x2F;&#x2F; Click
    const previousImageButtongallerypourjulie = document.querySelector(&quot;#gallerypourjulie .gallery__viewport__controls__nav-button--left&quot;);
    previousImageButtongallerypourjulie.addEventListener(&#x27;click&#x27;, function(event) {
        displayPreviousImage();
    });

    &#x2F;&#x2F; Next Button
    &#x2F;&#x2F; Click
    const nextImageButtongallerypourjulie = document.querySelector(&quot;#gallerypourjulie .gallery__viewport__controls__nav-button--right&quot;);
    nextImageButtongallerypourjulie.addEventListener(&#x27;click&#x27;, function(event) {
        displayNextImage();
    });

    &#x2F;&#x2F; Close Button
    &#x2F;&#x2F; Click
    const closeImageButtongallerypourjulie = document.querySelector(&quot;#gallerypourjulie .gallery__viewport__controls__nav-close-btn&quot;);
    closeImageButtongallerypourjulie.addEventListener(&#x27;click&#x27;, function(event) {
        const controlledElement = document.getElementsByClassName(&quot;gallery__viewport__image--display&quot;)[0];
        if (controlledElement !== undefined) {
            hideDisplayedImage(&quot;gallerypourjulie&quot;, controlledElement);
        }
    });

    &#x2F;&#x2F; Keyboard Controls
    document.addEventListener(&#x27;keydown&#x27;, (event) =&gt; {
        const controlledElement = document.getElementsByClassName(&quot;gallery__viewport__image--display&quot;)[0];
        if (controlledElement !== undefined) {

            &#x2F;&#x2F; Hide image
            &#x2F;&#x2F; ESC, LEFT, RIGHT
            if (event.code === &#x27;Escape&#x27; || event.code === &#x27;ArrowLeft&#x27; || event.code === &#x27;ArrowRight&#x27;) {
                hideDisplayedImage(&quot;gallerypourjulie&quot;, controlledElement);
            }

            let newControlledElement;

            &#x2F;&#x2F; Select new controlled element(image)
            &#x2F;&#x2F; LEFT
            if (event.code === &#x27;ArrowLeft&#x27;) {
                newControlledElement = controlledElement.previousElementSibling;
                if (newControlledElement === null) {
                    newControlledElement = controlledElement.parentElement.lastElementChild;
                }
            }
            &#x2F;&#x2F; RIGHT
            if (event.code === &#x27;ArrowRight&#x27;) {
                newControlledElement = controlledElement.nextElementSibling;
                if (newControlledElement === null) {
                    newControlledElement = controlledElement.parentElement.firstElementChild;
                }
            }

            &#x2F;&#x2F; Active button and display image
            if (newControlledElement !== null &amp;&amp; newControlledElement !== undefined) {
                displayImageWithControlledElement(&quot;gallerypourjulie&quot;, newControlledElement);
            }
        }
    })

    &#x2F;&#x2F; Touch Gesture
    let touchstartXgallerypourjulie = 0;
    let touchendXgallerypourjulie = 0;

    const galleryViewportgallerypourjulie = document.getElementsByClassName(&quot;gallery__viewport&quot;)[0];
    if (galleryViewportgallerypourjulie !== undefined) {

        galleryViewportgallerypourjulie.addEventListener(&#x27;touchstart&#x27;, function(event) {
            touchstartXgallerypourjulie = event.changedTouches[0].screenX
        });

        galleryViewportgallerypourjulie.addEventListener(&#x27;touchend&#x27;, function(event) {
            touchendXgallerypourjulie = event.changedTouches[0].screenX
            const direction = checkSwipeDirection(touchstartXgallerypourjulie, touchendXgallerypourjulie);
            if (direction === &quot;left&quot;) {
                displayPreviousImage();
            } else if (direction === &quot;right&quot;) {
                displayNextImage();
            }
        });

        galleryViewportgallerypourjulie.addEventListner(&#x27;touchmove&#x27;, function(event) {
            event.preventDefault();
            event.stopPropagation();
        });
    }
&lt;&#x2F;script&gt;</content>
        
    </entry>
    <entry xml:lang="fr">
        <title>Sans titre</title>
        <published>2008-01-01T00:00:00+00:00</published>
        <updated>2008-01-01T00:00:00+00:00</updated>
        
        <author>
          <name>
            
              Pierre Tremblay-Thériault
            
          </name>
        </author>
        
        <link rel="alternate" type="text/html" href="https://lapinchatware.ca/arts/sans-titre/"/>
        <id>https://lapinchatware.ca/arts/sans-titre/</id>
        
        <content type="html" xml:base="https://lapinchatware.ca/arts/sans-titre/">&lt;p&gt;Projection réactive&lt;&#x2F;p&gt;
&lt;div style=&quot;padding:56.25% 0 0 0;position:relative;&quot;&gt;
    &lt;iframe
            src=&quot;https:&#x2F;&#x2F;player.vimeo.com&#x2F;video&#x2F;168226751?h=4250ca05b2&amp;title=0&amp;byline=0&amp;portrait=0&quot;
            style=&quot;position:absolute;top:0;left:0;width:100%;height:100%;&quot;
            frameborder=&quot;0&quot;
            allow=&quot;autoplay; fullscreen; picture-in-picture&quot;
            allowfullscreen
    &gt;&lt;&#x2F;iframe&gt;
&lt;&#x2F;div&gt;
&lt;script src=&quot;https:&#x2F;&#x2F;player.vimeo.com&#x2F;api&#x2F;player.js&quot;&gt;&lt;&#x2F;script&gt;&lt;div id=&quot;gallerysanstitre&quot; class=&quot;gallery&quot;&gt;
    
    &lt;div class=&quot;gallery__viewport&quot;&gt;
        &lt;div class=&quot;gallery__viewport__images&quot;&gt;
            
            
                    
                    &lt;img id=&quot;gallerysanstitreimage0&quot; class=&quot;gallery__viewport__image&quot; src=&quot;&amp;#x2F;arts&amp;#x2F;sans-titre&amp;#x2F;gallery&amp;#x2F;sanstitre_01.jpg&quot; alt=&quot;Photo d&amp;#x27;archive: 1&quot;&#x2F;&gt;
                    
                    
                    &lt;img id=&quot;gallerysanstitreimage1&quot; class=&quot;gallery__viewport__image&quot; src=&quot;&amp;#x2F;arts&amp;#x2F;sans-titre&amp;#x2F;gallery&amp;#x2F;sanstitre_02.jpg&quot; alt=&quot;Photo d&amp;#x27;archive: 2&quot;&#x2F;&gt;
                    
                    
                    &lt;img id=&quot;gallerysanstitreimage2&quot; class=&quot;gallery__viewport__image&quot; src=&quot;&amp;#x2F;arts&amp;#x2F;sans-titre&amp;#x2F;gallery&amp;#x2F;sanstitre_03.jpg&quot; alt=&quot;Photo d&amp;#x27;archive: 3&quot;&#x2F;&gt;
                    
                    
                    &lt;img id=&quot;gallerysanstitreimage3&quot; class=&quot;gallery__viewport__image&quot; src=&quot;&amp;#x2F;arts&amp;#x2F;sans-titre&amp;#x2F;gallery&amp;#x2F;sanstitre_04.jpg&quot; alt=&quot;Photo d&amp;#x27;archive: 4&quot;&#x2F;&gt;
                    
                    
                    &lt;img id=&quot;gallerysanstitreimage4&quot; class=&quot;gallery__viewport__image&quot; src=&quot;&amp;#x2F;arts&amp;#x2F;sans-titre&amp;#x2F;gallery&amp;#x2F;sanstitre_05.jpg&quot; alt=&quot;Photo d&amp;#x27;archive: 5&quot;&#x2F;&gt;
                    
                    
                    &lt;img id=&quot;gallerysanstitreimage5&quot; class=&quot;gallery__viewport__image&quot; src=&quot;&amp;#x2F;arts&amp;#x2F;sans-titre&amp;#x2F;gallery&amp;#x2F;sanstitre_06.jpg&quot; alt=&quot;Photo d&amp;#x27;archive: 6&quot;&#x2F;&gt;
                    
                    
                    &lt;img id=&quot;gallerysanstitreimage6&quot; class=&quot;gallery__viewport__image&quot; src=&quot;&amp;#x2F;arts&amp;#x2F;sans-titre&amp;#x2F;gallery&amp;#x2F;sanstitre_07.jpg&quot; alt=&quot;Photo d&amp;#x27;archive: 7&quot;&#x2F;&gt;
                    
                    
                    &lt;img id=&quot;gallerysanstitreimage7&quot; class=&quot;gallery__viewport__image&quot; src=&quot;&amp;#x2F;arts&amp;#x2F;sans-titre&amp;#x2F;gallery&amp;#x2F;sanstitre_08.jpg&quot; alt=&quot;Photo d&amp;#x27;archive: 8&quot;&#x2F;&gt;
                    
                    
                    &lt;img id=&quot;gallerysanstitreimage8&quot; class=&quot;gallery__viewport__image&quot; src=&quot;&amp;#x2F;arts&amp;#x2F;sans-titre&amp;#x2F;gallery&amp;#x2F;sanstitre_09.jpg&quot; alt=&quot;Photo d&amp;#x27;archive: 9&quot;&#x2F;&gt;
                    
                    
                    &lt;img id=&quot;gallerysanstitreimage9&quot; class=&quot;gallery__viewport__image&quot; src=&quot;&amp;#x2F;arts&amp;#x2F;sans-titre&amp;#x2F;gallery&amp;#x2F;sanstitre_10.jpg&quot; alt=&quot;Photo d&amp;#x27;archive: 10&quot;&#x2F;&gt;
                    
                    
                    &lt;img id=&quot;gallerysanstitreimage10&quot; class=&quot;gallery__viewport__image&quot; src=&quot;&amp;#x2F;arts&amp;#x2F;sans-titre&amp;#x2F;gallery&amp;#x2F;sanstitre_11.jpg&quot; alt=&quot;Photo d&amp;#x27;archive: 11&quot;&#x2F;&gt;
                    
                    
                    &lt;img id=&quot;gallerysanstitreimage11&quot; class=&quot;gallery__viewport__image&quot; src=&quot;&amp;#x2F;arts&amp;#x2F;sans-titre&amp;#x2F;gallery&amp;#x2F;sanstitre_12.jpg&quot; alt=&quot;Photo d&amp;#x27;archive: 12&quot;&#x2F;&gt;
                    
                    
                    &lt;img id=&quot;gallerysanstitreimage12&quot; class=&quot;gallery__viewport__image&quot; src=&quot;&amp;#x2F;arts&amp;#x2F;sans-titre&amp;#x2F;gallery&amp;#x2F;sanstitre_13.jpg&quot; alt=&quot;Photo d&amp;#x27;archive: 13&quot;&#x2F;&gt;
                    
                    
                    &lt;img id=&quot;gallerysanstitreimage13&quot; class=&quot;gallery__viewport__image&quot; src=&quot;&amp;#x2F;arts&amp;#x2F;sans-titre&amp;#x2F;gallery&amp;#x2F;sanstitre_14.jpg&quot; alt=&quot;Photo d&amp;#x27;archive: 14&quot;&#x2F;&gt;
                    
                    
                    &lt;img id=&quot;gallerysanstitreimage14&quot; class=&quot;gallery__viewport__image&quot; src=&quot;&amp;#x2F;arts&amp;#x2F;sans-titre&amp;#x2F;gallery&amp;#x2F;sanstitre_15.jpg&quot; alt=&quot;Photo d&amp;#x27;archive: 15&quot;&#x2F;&gt;
                    
                    
                    &lt;img id=&quot;gallerysanstitreimage15&quot; class=&quot;gallery__viewport__image&quot; src=&quot;&amp;#x2F;arts&amp;#x2F;sans-titre&amp;#x2F;gallery&amp;#x2F;sanstitre_16.jpg&quot; alt=&quot;Photo d&amp;#x27;archive: 16&quot;&#x2F;&gt;
                    
                    
                    &lt;img id=&quot;gallerysanstitreimage16&quot; class=&quot;gallery__viewport__image&quot; src=&quot;&amp;#x2F;arts&amp;#x2F;sans-titre&amp;#x2F;gallery&amp;#x2F;sanstitre_17.jpg&quot; alt=&quot;Photo d&amp;#x27;archive: 17&quot;&#x2F;&gt;
                    
                    
                    &lt;img id=&quot;gallerysanstitreimage17&quot; class=&quot;gallery__viewport__image&quot; src=&quot;&amp;#x2F;arts&amp;#x2F;sans-titre&amp;#x2F;gallery&amp;#x2F;sanstitre_18.jpg&quot; alt=&quot;Photo d&amp;#x27;archive: 18&quot;&#x2F;&gt;
                    
                    
                    &lt;img id=&quot;gallerysanstitreimage18&quot; class=&quot;gallery__viewport__image&quot; src=&quot;&amp;#x2F;arts&amp;#x2F;sans-titre&amp;#x2F;gallery&amp;#x2F;sanstitre_19.jpg&quot; alt=&quot;Photo d&amp;#x27;archive: 19&quot;&#x2F;&gt;
                    
                    
                    &lt;img id=&quot;gallerysanstitreimage19&quot; class=&quot;gallery__viewport__image&quot; src=&quot;&amp;#x2F;arts&amp;#x2F;sans-titre&amp;#x2F;gallery&amp;#x2F;sanstitre_20.jpg&quot; alt=&quot;Photo d&amp;#x27;archive: 20&quot;&#x2F;&gt;
                    
                    
                    &lt;img id=&quot;gallerysanstitreimage20&quot; class=&quot;gallery__viewport__image&quot; src=&quot;&amp;#x2F;arts&amp;#x2F;sans-titre&amp;#x2F;gallery&amp;#x2F;sanstitre_21.jpg&quot; alt=&quot;Photo d&amp;#x27;archive: 21&quot;&#x2F;&gt;
                    
                    
                    &lt;img id=&quot;gallerysanstitreimage21&quot; class=&quot;gallery__viewport__image&quot; src=&quot;&amp;#x2F;arts&amp;#x2F;sans-titre&amp;#x2F;gallery&amp;#x2F;sanstitre_22.jpg&quot; alt=&quot;Photo d&amp;#x27;archive: 22&quot;&#x2F;&gt;
                    
                    
                    &lt;img id=&quot;gallerysanstitreimage22&quot; class=&quot;gallery__viewport__image&quot; src=&quot;&amp;#x2F;arts&amp;#x2F;sans-titre&amp;#x2F;gallery&amp;#x2F;sanstitre_23.jpg&quot; alt=&quot;Photo d&amp;#x27;archive: 23&quot;&#x2F;&gt;
                    
                    
                    &lt;img id=&quot;gallerysanstitreimage23&quot; class=&quot;gallery__viewport__image&quot; src=&quot;&amp;#x2F;arts&amp;#x2F;sans-titre&amp;#x2F;gallery&amp;#x2F;sanstitre_24.jpg&quot; alt=&quot;Photo d&amp;#x27;archive: 24&quot;&#x2F;&gt;
                    
        &lt;&#x2F;div&gt;
        &lt;div class=&quot;gallery__viewport__controls&quot;&gt;
            &lt;img class=&quot;gallery__viewport__controls__nav-button gallery__viewport__controls__nav-button--left&quot; src=&quot;&#x2F;images&#x2F;angle-left.svg&quot; alt=&quot;Voir l&#x27;image précédente.&quot; aria-hidden=&quot;true&quot;&#x2F;&gt;
            &lt;img class=&quot;gallery__viewport__controls__nav-button gallery__viewport__controls__nav-button--right&quot; src=&quot;&#x2F;images&#x2F;angle-right.svg&quot; alt=&quot;Voir l&#x27;image suivante.&quot; aria-hidden=&quot;true&quot;&#x2F;&gt;
            &lt;img class=&quot;gallery__viewport__controls__nav-close-btn&quot; src=&quot;&#x2F;images&#x2F;close-icon.svg&quot; alt=&quot;Fermer la gallery&quot;&#x2F;&gt;
        &lt;&#x2F;div&gt;
    &lt;&#x2F;div&gt;
    &lt;ul class=&quot;gallery__selector&quot;&gt;
        
        
                
                &lt;li class=&quot;gallery__selector__item&quot;&gt;
                    &lt;button
                            class=&quot;gallery__selector__button&quot;
                            aria-expanded=&quot;false&quot;
                            aria-controls=&quot;gallerysanstitreimage0&quot;
                            aria-label=&quot;Voir l&#x27;image &amp;quot;Photo d&amp;#x27;archive: 1&amp;quot;&quot;
                            type=&quot;button&quot;
                    &gt;
                        &lt;img class=&quot;gallery__selector__image&quot; src=&quot;&amp;#x2F;arts&amp;#x2F;sans-titre&amp;#x2F;gallery&amp;#x2F;sanstitre_01.jpg&quot; alt=&quot;Photo d&amp;#x27;archive: 1&quot;&#x2F;&gt;
                    &lt;&#x2F;button&gt;
                &lt;&#x2F;li&gt;
                
                
                &lt;li class=&quot;gallery__selector__item&quot;&gt;
                    &lt;button
                            class=&quot;gallery__selector__button&quot;
                            aria-expanded=&quot;false&quot;
                            aria-controls=&quot;gallerysanstitreimage1&quot;
                            aria-label=&quot;Voir l&#x27;image &amp;quot;Photo d&amp;#x27;archive: 2&amp;quot;&quot;
                            type=&quot;button&quot;
                    &gt;
                        &lt;img class=&quot;gallery__selector__image&quot; src=&quot;&amp;#x2F;arts&amp;#x2F;sans-titre&amp;#x2F;gallery&amp;#x2F;sanstitre_02.jpg&quot; alt=&quot;Photo d&amp;#x27;archive: 2&quot;&#x2F;&gt;
                    &lt;&#x2F;button&gt;
                &lt;&#x2F;li&gt;
                
                
                &lt;li class=&quot;gallery__selector__item&quot;&gt;
                    &lt;button
                            class=&quot;gallery__selector__button&quot;
                            aria-expanded=&quot;false&quot;
                            aria-controls=&quot;gallerysanstitreimage2&quot;
                            aria-label=&quot;Voir l&#x27;image &amp;quot;Photo d&amp;#x27;archive: 3&amp;quot;&quot;
                            type=&quot;button&quot;
                    &gt;
                        &lt;img class=&quot;gallery__selector__image&quot; src=&quot;&amp;#x2F;arts&amp;#x2F;sans-titre&amp;#x2F;gallery&amp;#x2F;sanstitre_03.jpg&quot; alt=&quot;Photo d&amp;#x27;archive: 3&quot;&#x2F;&gt;
                    &lt;&#x2F;button&gt;
                &lt;&#x2F;li&gt;
                
                
                &lt;li class=&quot;gallery__selector__item&quot;&gt;
                    &lt;button
                            class=&quot;gallery__selector__button&quot;
                            aria-expanded=&quot;false&quot;
                            aria-controls=&quot;gallerysanstitreimage3&quot;
                            aria-label=&quot;Voir l&#x27;image &amp;quot;Photo d&amp;#x27;archive: 4&amp;quot;&quot;
                            type=&quot;button&quot;
                    &gt;
                        &lt;img class=&quot;gallery__selector__image&quot; src=&quot;&amp;#x2F;arts&amp;#x2F;sans-titre&amp;#x2F;gallery&amp;#x2F;sanstitre_04.jpg&quot; alt=&quot;Photo d&amp;#x27;archive: 4&quot;&#x2F;&gt;
                    &lt;&#x2F;button&gt;
                &lt;&#x2F;li&gt;
                
                
                &lt;li class=&quot;gallery__selector__item&quot;&gt;
                    &lt;button
                            class=&quot;gallery__selector__button&quot;
                            aria-expanded=&quot;false&quot;
                            aria-controls=&quot;gallerysanstitreimage4&quot;
                            aria-label=&quot;Voir l&#x27;image &amp;quot;Photo d&amp;#x27;archive: 5&amp;quot;&quot;
                            type=&quot;button&quot;
                    &gt;
                        &lt;img class=&quot;gallery__selector__image&quot; src=&quot;&amp;#x2F;arts&amp;#x2F;sans-titre&amp;#x2F;gallery&amp;#x2F;sanstitre_05.jpg&quot; alt=&quot;Photo d&amp;#x27;archive: 5&quot;&#x2F;&gt;
                    &lt;&#x2F;button&gt;
                &lt;&#x2F;li&gt;
                
                
                &lt;li class=&quot;gallery__selector__item&quot;&gt;
                    &lt;button
                            class=&quot;gallery__selector__button&quot;
                            aria-expanded=&quot;false&quot;
                            aria-controls=&quot;gallerysanstitreimage5&quot;
                            aria-label=&quot;Voir l&#x27;image &amp;quot;Photo d&amp;#x27;archive: 6&amp;quot;&quot;
                            type=&quot;button&quot;
                    &gt;
                        &lt;img class=&quot;gallery__selector__image&quot; src=&quot;&amp;#x2F;arts&amp;#x2F;sans-titre&amp;#x2F;gallery&amp;#x2F;sanstitre_06.jpg&quot; alt=&quot;Photo d&amp;#x27;archive: 6&quot;&#x2F;&gt;
                    &lt;&#x2F;button&gt;
                &lt;&#x2F;li&gt;
                
                
                &lt;li class=&quot;gallery__selector__item&quot;&gt;
                    &lt;button
                            class=&quot;gallery__selector__button&quot;
                            aria-expanded=&quot;false&quot;
                            aria-controls=&quot;gallerysanstitreimage6&quot;
                            aria-label=&quot;Voir l&#x27;image &amp;quot;Photo d&amp;#x27;archive: 7&amp;quot;&quot;
                            type=&quot;button&quot;
                    &gt;
                        &lt;img class=&quot;gallery__selector__image&quot; src=&quot;&amp;#x2F;arts&amp;#x2F;sans-titre&amp;#x2F;gallery&amp;#x2F;sanstitre_07.jpg&quot; alt=&quot;Photo d&amp;#x27;archive: 7&quot;&#x2F;&gt;
                    &lt;&#x2F;button&gt;
                &lt;&#x2F;li&gt;
                
                
                &lt;li class=&quot;gallery__selector__item&quot;&gt;
                    &lt;button
                            class=&quot;gallery__selector__button&quot;
                            aria-expanded=&quot;false&quot;
                            aria-controls=&quot;gallerysanstitreimage7&quot;
                            aria-label=&quot;Voir l&#x27;image &amp;quot;Photo d&amp;#x27;archive: 8&amp;quot;&quot;
                            type=&quot;button&quot;
                    &gt;
                        &lt;img class=&quot;gallery__selector__image&quot; src=&quot;&amp;#x2F;arts&amp;#x2F;sans-titre&amp;#x2F;gallery&amp;#x2F;sanstitre_08.jpg&quot; alt=&quot;Photo d&amp;#x27;archive: 8&quot;&#x2F;&gt;
                    &lt;&#x2F;button&gt;
                &lt;&#x2F;li&gt;
                
                
                &lt;li class=&quot;gallery__selector__item&quot;&gt;
                    &lt;button
                            class=&quot;gallery__selector__button&quot;
                            aria-expanded=&quot;false&quot;
                            aria-controls=&quot;gallerysanstitreimage8&quot;
                            aria-label=&quot;Voir l&#x27;image &amp;quot;Photo d&amp;#x27;archive: 9&amp;quot;&quot;
                            type=&quot;button&quot;
                    &gt;
                        &lt;img class=&quot;gallery__selector__image&quot; src=&quot;&amp;#x2F;arts&amp;#x2F;sans-titre&amp;#x2F;gallery&amp;#x2F;sanstitre_09.jpg&quot; alt=&quot;Photo d&amp;#x27;archive: 9&quot;&#x2F;&gt;
                    &lt;&#x2F;button&gt;
                &lt;&#x2F;li&gt;
                
                
                &lt;li class=&quot;gallery__selector__item&quot;&gt;
                    &lt;button
                            class=&quot;gallery__selector__button&quot;
                            aria-expanded=&quot;false&quot;
                            aria-controls=&quot;gallerysanstitreimage9&quot;
                            aria-label=&quot;Voir l&#x27;image &amp;quot;Photo d&amp;#x27;archive: 10&amp;quot;&quot;
                            type=&quot;button&quot;
                    &gt;
                        &lt;img class=&quot;gallery__selector__image&quot; src=&quot;&amp;#x2F;arts&amp;#x2F;sans-titre&amp;#x2F;gallery&amp;#x2F;sanstitre_10.jpg&quot; alt=&quot;Photo d&amp;#x27;archive: 10&quot;&#x2F;&gt;
                    &lt;&#x2F;button&gt;
                &lt;&#x2F;li&gt;
                
                
                &lt;li class=&quot;gallery__selector__item&quot;&gt;
                    &lt;button
                            class=&quot;gallery__selector__button&quot;
                            aria-expanded=&quot;false&quot;
                            aria-controls=&quot;gallerysanstitreimage10&quot;
                            aria-label=&quot;Voir l&#x27;image &amp;quot;Photo d&amp;#x27;archive: 11&amp;quot;&quot;
                            type=&quot;button&quot;
                    &gt;
                        &lt;img class=&quot;gallery__selector__image&quot; src=&quot;&amp;#x2F;arts&amp;#x2F;sans-titre&amp;#x2F;gallery&amp;#x2F;sanstitre_11.jpg&quot; alt=&quot;Photo d&amp;#x27;archive: 11&quot;&#x2F;&gt;
                    &lt;&#x2F;button&gt;
                &lt;&#x2F;li&gt;
                
                
                &lt;li class=&quot;gallery__selector__item&quot;&gt;
                    &lt;button
                            class=&quot;gallery__selector__button&quot;
                            aria-expanded=&quot;false&quot;
                            aria-controls=&quot;gallerysanstitreimage11&quot;
                            aria-label=&quot;Voir l&#x27;image &amp;quot;Photo d&amp;#x27;archive: 12&amp;quot;&quot;
                            type=&quot;button&quot;
                    &gt;
                        &lt;img class=&quot;gallery__selector__image&quot; src=&quot;&amp;#x2F;arts&amp;#x2F;sans-titre&amp;#x2F;gallery&amp;#x2F;sanstitre_12.jpg&quot; alt=&quot;Photo d&amp;#x27;archive: 12&quot;&#x2F;&gt;
                    &lt;&#x2F;button&gt;
                &lt;&#x2F;li&gt;
                
                
                &lt;li class=&quot;gallery__selector__item&quot;&gt;
                    &lt;button
                            class=&quot;gallery__selector__button&quot;
                            aria-expanded=&quot;false&quot;
                            aria-controls=&quot;gallerysanstitreimage12&quot;
                            aria-label=&quot;Voir l&#x27;image &amp;quot;Photo d&amp;#x27;archive: 13&amp;quot;&quot;
                            type=&quot;button&quot;
                    &gt;
                        &lt;img class=&quot;gallery__selector__image&quot; src=&quot;&amp;#x2F;arts&amp;#x2F;sans-titre&amp;#x2F;gallery&amp;#x2F;sanstitre_13.jpg&quot; alt=&quot;Photo d&amp;#x27;archive: 13&quot;&#x2F;&gt;
                    &lt;&#x2F;button&gt;
                &lt;&#x2F;li&gt;
                
                
                &lt;li class=&quot;gallery__selector__item&quot;&gt;
                    &lt;button
                            class=&quot;gallery__selector__button&quot;
                            aria-expanded=&quot;false&quot;
                            aria-controls=&quot;gallerysanstitreimage13&quot;
                            aria-label=&quot;Voir l&#x27;image &amp;quot;Photo d&amp;#x27;archive: 14&amp;quot;&quot;
                            type=&quot;button&quot;
                    &gt;
                        &lt;img class=&quot;gallery__selector__image&quot; src=&quot;&amp;#x2F;arts&amp;#x2F;sans-titre&amp;#x2F;gallery&amp;#x2F;sanstitre_14.jpg&quot; alt=&quot;Photo d&amp;#x27;archive: 14&quot;&#x2F;&gt;
                    &lt;&#x2F;button&gt;
                &lt;&#x2F;li&gt;
                
                
                &lt;li class=&quot;gallery__selector__item&quot;&gt;
                    &lt;button
                            class=&quot;gallery__selector__button&quot;
                            aria-expanded=&quot;false&quot;
                            aria-controls=&quot;gallerysanstitreimage14&quot;
                            aria-label=&quot;Voir l&#x27;image &amp;quot;Photo d&amp;#x27;archive: 15&amp;quot;&quot;
                            type=&quot;button&quot;
                    &gt;
                        &lt;img class=&quot;gallery__selector__image&quot; src=&quot;&amp;#x2F;arts&amp;#x2F;sans-titre&amp;#x2F;gallery&amp;#x2F;sanstitre_15.jpg&quot; alt=&quot;Photo d&amp;#x27;archive: 15&quot;&#x2F;&gt;
                    &lt;&#x2F;button&gt;
                &lt;&#x2F;li&gt;
                
                
                &lt;li class=&quot;gallery__selector__item&quot;&gt;
                    &lt;button
                            class=&quot;gallery__selector__button&quot;
                            aria-expanded=&quot;false&quot;
                            aria-controls=&quot;gallerysanstitreimage15&quot;
                            aria-label=&quot;Voir l&#x27;image &amp;quot;Photo d&amp;#x27;archive: 16&amp;quot;&quot;
                            type=&quot;button&quot;
                    &gt;
                        &lt;img class=&quot;gallery__selector__image&quot; src=&quot;&amp;#x2F;arts&amp;#x2F;sans-titre&amp;#x2F;gallery&amp;#x2F;sanstitre_16.jpg&quot; alt=&quot;Photo d&amp;#x27;archive: 16&quot;&#x2F;&gt;
                    &lt;&#x2F;button&gt;
                &lt;&#x2F;li&gt;
                
                
                &lt;li class=&quot;gallery__selector__item&quot;&gt;
                    &lt;button
                            class=&quot;gallery__selector__button&quot;
                            aria-expanded=&quot;false&quot;
                            aria-controls=&quot;gallerysanstitreimage16&quot;
                            aria-label=&quot;Voir l&#x27;image &amp;quot;Photo d&amp;#x27;archive: 17&amp;quot;&quot;
                            type=&quot;button&quot;
                    &gt;
                        &lt;img class=&quot;gallery__selector__image&quot; src=&quot;&amp;#x2F;arts&amp;#x2F;sans-titre&amp;#x2F;gallery&amp;#x2F;sanstitre_17.jpg&quot; alt=&quot;Photo d&amp;#x27;archive: 17&quot;&#x2F;&gt;
                    &lt;&#x2F;button&gt;
                &lt;&#x2F;li&gt;
                
                
                &lt;li class=&quot;gallery__selector__item&quot;&gt;
                    &lt;button
                            class=&quot;gallery__selector__button&quot;
                            aria-expanded=&quot;false&quot;
                            aria-controls=&quot;gallerysanstitreimage17&quot;
                            aria-label=&quot;Voir l&#x27;image &amp;quot;Photo d&amp;#x27;archive: 18&amp;quot;&quot;
                            type=&quot;button&quot;
                    &gt;
                        &lt;img class=&quot;gallery__selector__image&quot; src=&quot;&amp;#x2F;arts&amp;#x2F;sans-titre&amp;#x2F;gallery&amp;#x2F;sanstitre_18.jpg&quot; alt=&quot;Photo d&amp;#x27;archive: 18&quot;&#x2F;&gt;
                    &lt;&#x2F;button&gt;
                &lt;&#x2F;li&gt;
                
                
                &lt;li class=&quot;gallery__selector__item&quot;&gt;
                    &lt;button
                            class=&quot;gallery__selector__button&quot;
                            aria-expanded=&quot;false&quot;
                            aria-controls=&quot;gallerysanstitreimage18&quot;
                            aria-label=&quot;Voir l&#x27;image &amp;quot;Photo d&amp;#x27;archive: 19&amp;quot;&quot;
                            type=&quot;button&quot;
                    &gt;
                        &lt;img class=&quot;gallery__selector__image&quot; src=&quot;&amp;#x2F;arts&amp;#x2F;sans-titre&amp;#x2F;gallery&amp;#x2F;sanstitre_19.jpg&quot; alt=&quot;Photo d&amp;#x27;archive: 19&quot;&#x2F;&gt;
                    &lt;&#x2F;button&gt;
                &lt;&#x2F;li&gt;
                
                
                &lt;li class=&quot;gallery__selector__item&quot;&gt;
                    &lt;button
                            class=&quot;gallery__selector__button&quot;
                            aria-expanded=&quot;false&quot;
                            aria-controls=&quot;gallerysanstitreimage19&quot;
                            aria-label=&quot;Voir l&#x27;image &amp;quot;Photo d&amp;#x27;archive: 20&amp;quot;&quot;
                            type=&quot;button&quot;
                    &gt;
                        &lt;img class=&quot;gallery__selector__image&quot; src=&quot;&amp;#x2F;arts&amp;#x2F;sans-titre&amp;#x2F;gallery&amp;#x2F;sanstitre_20.jpg&quot; alt=&quot;Photo d&amp;#x27;archive: 20&quot;&#x2F;&gt;
                    &lt;&#x2F;button&gt;
                &lt;&#x2F;li&gt;
                
                
                &lt;li class=&quot;gallery__selector__item&quot;&gt;
                    &lt;button
                            class=&quot;gallery__selector__button&quot;
                            aria-expanded=&quot;false&quot;
                            aria-controls=&quot;gallerysanstitreimage20&quot;
                            aria-label=&quot;Voir l&#x27;image &amp;quot;Photo d&amp;#x27;archive: 21&amp;quot;&quot;
                            type=&quot;button&quot;
                    &gt;
                        &lt;img class=&quot;gallery__selector__image&quot; src=&quot;&amp;#x2F;arts&amp;#x2F;sans-titre&amp;#x2F;gallery&amp;#x2F;sanstitre_21.jpg&quot; alt=&quot;Photo d&amp;#x27;archive: 21&quot;&#x2F;&gt;
                    &lt;&#x2F;button&gt;
                &lt;&#x2F;li&gt;
                
                
                &lt;li class=&quot;gallery__selector__item&quot;&gt;
                    &lt;button
                            class=&quot;gallery__selector__button&quot;
                            aria-expanded=&quot;false&quot;
                            aria-controls=&quot;gallerysanstitreimage21&quot;
                            aria-label=&quot;Voir l&#x27;image &amp;quot;Photo d&amp;#x27;archive: 22&amp;quot;&quot;
                            type=&quot;button&quot;
                    &gt;
                        &lt;img class=&quot;gallery__selector__image&quot; src=&quot;&amp;#x2F;arts&amp;#x2F;sans-titre&amp;#x2F;gallery&amp;#x2F;sanstitre_22.jpg&quot; alt=&quot;Photo d&amp;#x27;archive: 22&quot;&#x2F;&gt;
                    &lt;&#x2F;button&gt;
                &lt;&#x2F;li&gt;
                
                
                &lt;li class=&quot;gallery__selector__item&quot;&gt;
                    &lt;button
                            class=&quot;gallery__selector__button&quot;
                            aria-expanded=&quot;false&quot;
                            aria-controls=&quot;gallerysanstitreimage22&quot;
                            aria-label=&quot;Voir l&#x27;image &amp;quot;Photo d&amp;#x27;archive: 23&amp;quot;&quot;
                            type=&quot;button&quot;
                    &gt;
                        &lt;img class=&quot;gallery__selector__image&quot; src=&quot;&amp;#x2F;arts&amp;#x2F;sans-titre&amp;#x2F;gallery&amp;#x2F;sanstitre_23.jpg&quot; alt=&quot;Photo d&amp;#x27;archive: 23&quot;&#x2F;&gt;
                    &lt;&#x2F;button&gt;
                &lt;&#x2F;li&gt;
                
                
                &lt;li class=&quot;gallery__selector__item&quot;&gt;
                    &lt;button
                            class=&quot;gallery__selector__button&quot;
                            aria-expanded=&quot;false&quot;
                            aria-controls=&quot;gallerysanstitreimage23&quot;
                            aria-label=&quot;Voir l&#x27;image &amp;quot;Photo d&amp;#x27;archive: 24&amp;quot;&quot;
                            type=&quot;button&quot;
                    &gt;
                        &lt;img class=&quot;gallery__selector__image&quot; src=&quot;&amp;#x2F;arts&amp;#x2F;sans-titre&amp;#x2F;gallery&amp;#x2F;sanstitre_24.jpg&quot; alt=&quot;Photo d&amp;#x27;archive: 24&quot;&#x2F;&gt;
                    &lt;&#x2F;button&gt;
                &lt;&#x2F;li&gt;
                
    &lt;&#x2F;ul&gt;
&lt;&#x2F;div&gt;
&lt;script&gt;
    &#x2F;&#x2F; Define
    &#x2F;&#x2F; function hideDisplayedImage(galleryId, image)
    if (typeof globalThis.hideDisplayedImage === &quot;undefined&quot;) {
        globalThis.hideDisplayedImage = function(galleryId, image) {
            const fullscreenImageContainer = document.querySelector(&quot;#&quot; + galleryId + &quot; .gallery__viewport&quot;);
            fullscreenImageContainer.classList.remove(&quot;gallery__viewport--display&quot;);
            image.classList.remove(&quot;gallery__viewport__image--display&quot;);
            const selector = &#x27;[aria-controls=&quot;&#x27; + image.getAttribute(&quot;id&quot;) + &#x27;&quot;]&#x27;
            const controlsButton = document.querySelector(selector);
            controlsButton.setAttribute(&quot;aria-expanded&quot;, &quot;false&quot;);
        }
    }

    &#x2F;&#x2F; Define
    &#x2F;&#x2F; function displayImageWithButton(galleryId, button)
    if (typeof globalThis.displayImageWithButton === &quot;undefined&quot;) {
        globalThis.displayImageWithButton = function(galleryId, button) {
            button.focus();
            const fullscreenImageContainer = document.querySelector(&quot;#&quot; + galleryId + &quot; .gallery__viewport&quot;);
            fullscreenImageContainer.classList.add(&quot;gallery__viewport--display&quot;);
            const ariaControlsId = button.getAttribute(&quot;aria-controls&quot;);
            const controlledElement = document.getElementById(ariaControlsId);
            controlledElement.classList.add(&quot;gallery__viewport__image--display&quot;);
            button.setAttribute(&quot;aria-expanded&quot;, &quot;true&quot;);
        }
    }

    &#x2F;&#x2F; Define
    &#x2F;&#x2F; function displayImageWithControlledElement(galleryId, button)
    if (typeof globalThis.displayImageWithControlledElement === &quot;undefined&quot;) {
        globalThis.displayImageWithControlledElement = function(galleryId, controlledElement) {
            const selector = &#x27;[aria-controls=&quot;&#x27; + controlledElement.getAttribute(&quot;id&quot;) + &#x27;&quot;]&#x27;
            const controlsButton = document.querySelector(selector);
            displayImageWithButton(galleryId, controlsButton);
        }
    }

    &#x2F;&#x2F; Define
    &#x2F;&#x2F; function checkSwipeDirection(touchstartX, touchendX)
    if (typeof globalThis.checkSwipeDirection === &quot;undefined&quot;) {
        globalThis.checkSwipeDirection =  function(touchstartX, touchendX) {
            if (touchendX &lt; touchstartX) {
                return &quot;left&quot;;
            } else if (touchendX &gt; touchstartX) {
                return &quot;right&quot;;
            } else {
                return &quot;&quot;;
            }
        }
    }

    &#x2F;&#x2F; Define
    &#x2F;&#x2F; function displayNextImage()
    if (typeof globalThis.displayNextImage === &quot;undefined&quot;) {
        globalThis.displayNextImage = function() {
            const controlledElement = document.getElementsByClassName(&quot;gallery__viewport__image--display&quot;)[0];
            if (controlledElement !== undefined) {
                hideDisplayedImage(&quot;gallerysanstitre&quot;, controlledElement);

                let newControlledElement = controlledElement.nextElementSibling;
                if (newControlledElement === null) {
                    newControlledElement = controlledElement.parentElement.firstElementChild;
                }

                if (newControlledElement !== null &amp;&amp; newControlledElement !== undefined) {
                    displayImageWithControlledElement(&quot;gallerysanstitre&quot;, newControlledElement);
                }
            }
        }
    }

    &#x2F;&#x2F; Define
    &#x2F;&#x2F; function displayPreviousImage()
    if (typeof globalThis.displayPreviousImage === &quot;undefined&quot;) {
        globalThis.displayPreviousImage = function () {
            const controlledElement = document.getElementsByClassName(&quot;gallery__viewport__image--display&quot;)[0];
            if (controlledElement !== undefined) {
                hideDisplayedImage(&quot;gallerysanstitre&quot;, controlledElement);

                let newControlledElement = controlledElement.previousElementSibling;
                if (newControlledElement === null) {
                    newControlledElement = controlledElement.parentElement.lastElementChild;
                }

                if (newControlledElement !== null &amp;&amp; newControlledElement !== undefined) {
                    displayImageWithControlledElement(&quot;gallerysanstitre&quot;, newControlledElement);
                }
            }
        }
    }

    &#x2F;&#x2F; Init
    &#x2F;&#x2F; Gallery Buttons
    const galleryButtonsgallerysanstitre = document.querySelectorAll(&quot;#gallerysanstitre .gallery__selector__button&quot;);
    for (let i = 0; i &lt; galleryButtonsgallerysanstitre.length; i++) {

        &#x2F;&#x2F; Click
        galleryButtonsgallerysanstitre[i].addEventListener(&quot;click&quot;, function(event) {
            displayImageWithButton(&quot;gallerysanstitre&quot;, this);
        });

        &#x2F;&#x2F; Focus In
        galleryButtonsgallerysanstitre[i].addEventListener(&#x27;focusin&#x27;, function(event) {
            const previousFocusableItem = event.relatedTarget;
            const displayedImages = document.getElementsByClassName(&quot;gallery__viewport__image--display&quot;);
            if (
                (previousFocusableItem === null || !previousFocusableItem.classList.contains(&quot;gallery__selector__button&quot;))
                &amp;&amp; displayedImages.length &gt; 0
            ) {
                &#x2F;&#x2F; Hide all displayed images
                const displayedImages = document.getElementsByClassName(&quot;gallery__viewport__image--display&quot;);
                if (displayedImages.length &gt; 0) {
                    for (let i = 0; i &lt; displayedImages.length; i++) {
                        hideDisplayedImage(&quot;gallerysanstitre&quot;, displayedImages[i]);
                    }
                }
                displayImageWithButton(&quot;gallerysanstitre&quot;, this);
            }
        });

        &#x2F;&#x2F; Focus Out
        galleryButtonsgallerysanstitre[i].addEventListener(&#x27;focusout&#x27;, function(event) {
            &#x2F;&#x2F; Prevent focus out actions if it&#x27;s a click on a gallery viewport element.
            const eventOriginClassList = event.explicitOriginalTarget.classList;
            if (
                eventOriginClassList.contains(&quot;gallery__viewport__image&quot;)
                || eventOriginClassList.contains(&quot;gallery__viewport__controls&quot;)
                || eventOriginClassList.contains(&quot;gallery__viewport__controls__nav-button&quot;)
                || eventOriginClassList.contains(&quot;gallery__viewport__controls__nav-close-btn&quot;)
                || eventOriginClassList.contains(&quot;gallery__viewport&quot;)
            ) {
                return;
            }

            &#x2F;&#x2F; Hide all displayed images
            const displayedImages = document.getElementsByClassName(&quot;gallery__viewport__image--display&quot;);
            if (displayedImages.length &gt; 0) {
                for (let i = 0; i &lt; displayedImages.length; i++) {
                    hideDisplayedImage(&quot;gallerysanstitre&quot;, displayedImages[i]);
                }
                const nextFocusableItem = event.relatedTarget;
                if (nextFocusableItem != null &amp;&amp; nextFocusableItem.classList.contains(&quot;gallery__selector__button&quot;)) {
                    displayImageWithButton(&quot;gallerysanstitre&quot;, nextFocusableItem);
                }
            }
        });
    }

    &#x2F;&#x2F; Previous Button
    &#x2F;&#x2F; Click
    const previousImageButtongallerysanstitre = document.querySelector(&quot;#gallerysanstitre .gallery__viewport__controls__nav-button--left&quot;);
    previousImageButtongallerysanstitre.addEventListener(&#x27;click&#x27;, function(event) {
        displayPreviousImage();
    });

    &#x2F;&#x2F; Next Button
    &#x2F;&#x2F; Click
    const nextImageButtongallerysanstitre = document.querySelector(&quot;#gallerysanstitre .gallery__viewport__controls__nav-button--right&quot;);
    nextImageButtongallerysanstitre.addEventListener(&#x27;click&#x27;, function(event) {
        displayNextImage();
    });

    &#x2F;&#x2F; Close Button
    &#x2F;&#x2F; Click
    const closeImageButtongallerysanstitre = document.querySelector(&quot;#gallerysanstitre .gallery__viewport__controls__nav-close-btn&quot;);
    closeImageButtongallerysanstitre.addEventListener(&#x27;click&#x27;, function(event) {
        const controlledElement = document.getElementsByClassName(&quot;gallery__viewport__image--display&quot;)[0];
        if (controlledElement !== undefined) {
            hideDisplayedImage(&quot;gallerysanstitre&quot;, controlledElement);
        }
    });

    &#x2F;&#x2F; Keyboard Controls
    document.addEventListener(&#x27;keydown&#x27;, (event) =&gt; {
        const controlledElement = document.getElementsByClassName(&quot;gallery__viewport__image--display&quot;)[0];
        if (controlledElement !== undefined) {

            &#x2F;&#x2F; Hide image
            &#x2F;&#x2F; ESC, LEFT, RIGHT
            if (event.code === &#x27;Escape&#x27; || event.code === &#x27;ArrowLeft&#x27; || event.code === &#x27;ArrowRight&#x27;) {
                hideDisplayedImage(&quot;gallerysanstitre&quot;, controlledElement);
            }

            let newControlledElement;

            &#x2F;&#x2F; Select new controlled element(image)
            &#x2F;&#x2F; LEFT
            if (event.code === &#x27;ArrowLeft&#x27;) {
                newControlledElement = controlledElement.previousElementSibling;
                if (newControlledElement === null) {
                    newControlledElement = controlledElement.parentElement.lastElementChild;
                }
            }
            &#x2F;&#x2F; RIGHT
            if (event.code === &#x27;ArrowRight&#x27;) {
                newControlledElement = controlledElement.nextElementSibling;
                if (newControlledElement === null) {
                    newControlledElement = controlledElement.parentElement.firstElementChild;
                }
            }

            &#x2F;&#x2F; Active button and display image
            if (newControlledElement !== null &amp;&amp; newControlledElement !== undefined) {
                displayImageWithControlledElement(&quot;gallerysanstitre&quot;, newControlledElement);
            }
        }
    })

    &#x2F;&#x2F; Touch Gesture
    let touchstartXgallerysanstitre = 0;
    let touchendXgallerysanstitre = 0;

    const galleryViewportgallerysanstitre = document.getElementsByClassName(&quot;gallery__viewport&quot;)[0];
    if (galleryViewportgallerysanstitre !== undefined) {

        galleryViewportgallerysanstitre.addEventListener(&#x27;touchstart&#x27;, function(event) {
            touchstartXgallerysanstitre = event.changedTouches[0].screenX
        });

        galleryViewportgallerysanstitre.addEventListener(&#x27;touchend&#x27;, function(event) {
            touchendXgallerysanstitre = event.changedTouches[0].screenX
            const direction = checkSwipeDirection(touchstartXgallerysanstitre, touchendXgallerysanstitre);
            if (direction === &quot;left&quot;) {
                displayPreviousImage();
            } else if (direction === &quot;right&quot;) {
                displayNextImage();
            }
        });

        galleryViewportgallerysanstitre.addEventListner(&#x27;touchmove&#x27;, function(event) {
            event.preventDefault();
            event.stopPropagation();
        });
    }
&lt;&#x2F;script&gt;</content>
        
    </entry>
    <entry xml:lang="fr">
        <title>Touche moi pas!</title>
        <published>2008-01-01T00:00:00+00:00</published>
        <updated>2008-01-01T00:00:00+00:00</updated>
        
        <author>
          <name>
            
              Pierre Tremblay-Thériault
            
          </name>
        </author>
        
        <link rel="alternate" type="text/html" href="https://lapinchatware.ca/arts/touche-moi-pas/"/>
        <id>https://lapinchatware.ca/arts/touche-moi-pas/</id>
        
        <content type="html" xml:base="https://lapinchatware.ca/arts/touche-moi-pas/">&lt;p&gt;tissu, fils, électroniques, ordinateur, trame sonore, haut-parleur &lt;br &#x2F;&gt;
30cm X 60cm X 30cm &lt;br &#x2F;&gt;
2008&lt;&#x2F;p&gt;
&lt;div style=&quot;padding:56.25% 0 0 0;position:relative;&quot;&gt;
    &lt;iframe
            src=&quot;https:&#x2F;&#x2F;player.vimeo.com&#x2F;video&#x2F;168224319?h=4250ca05b2&amp;title=0&amp;byline=0&amp;portrait=0&quot;
            style=&quot;position:absolute;top:0;left:0;width:100%;height:100%;&quot;
            frameborder=&quot;0&quot;
            allow=&quot;autoplay; fullscreen; picture-in-picture&quot;
            allowfullscreen
    &gt;&lt;&#x2F;iframe&gt;
&lt;&#x2F;div&gt;
&lt;script src=&quot;https:&#x2F;&#x2F;player.vimeo.com&#x2F;api&#x2F;player.js&quot;&gt;&lt;&#x2F;script&gt;&lt;div id=&quot;gallerytouchemoipas&quot; class=&quot;gallery&quot;&gt;
    
    &lt;div class=&quot;gallery__viewport&quot;&gt;
        &lt;div class=&quot;gallery__viewport__images&quot;&gt;
            
            
                    
                    &lt;img id=&quot;gallerytouchemoipasimage0&quot; class=&quot;gallery__viewport__image&quot; src=&quot;&amp;#x2F;arts&amp;#x2F;touche-moi-pas&amp;#x2F;gallery&amp;#x2F;touchemoipas_1.jpg&quot; alt=&quot;Photo d&amp;#x27;archive: 1&quot;&#x2F;&gt;
                    
                    
                    &lt;img id=&quot;gallerytouchemoipasimage1&quot; class=&quot;gallery__viewport__image&quot; src=&quot;&amp;#x2F;arts&amp;#x2F;touche-moi-pas&amp;#x2F;gallery&amp;#x2F;touchemoipas_2.jpg&quot; alt=&quot;Photo d&amp;#x27;archive: 2&quot;&#x2F;&gt;
                    
                    
                    &lt;img id=&quot;gallerytouchemoipasimage2&quot; class=&quot;gallery__viewport__image&quot; src=&quot;&amp;#x2F;arts&amp;#x2F;touche-moi-pas&amp;#x2F;gallery&amp;#x2F;touchemoipas_3.jpg&quot; alt=&quot;Photo d&amp;#x27;archive: 3&quot;&#x2F;&gt;
                    
                    
                    &lt;img id=&quot;gallerytouchemoipasimage3&quot; class=&quot;gallery__viewport__image&quot; src=&quot;&amp;#x2F;arts&amp;#x2F;touche-moi-pas&amp;#x2F;gallery&amp;#x2F;touchemoipas_4.jpg&quot; alt=&quot;Photo d&amp;#x27;archive: 4&quot;&#x2F;&gt;
                    
                    
                    &lt;img id=&quot;gallerytouchemoipasimage4&quot; class=&quot;gallery__viewport__image&quot; src=&quot;&amp;#x2F;arts&amp;#x2F;touche-moi-pas&amp;#x2F;gallery&amp;#x2F;touchemoipas_5.jpg&quot; alt=&quot;Photo d&amp;#x27;archive: 5&quot;&#x2F;&gt;
                    
                    
                    &lt;img id=&quot;gallerytouchemoipasimage5&quot; class=&quot;gallery__viewport__image&quot; src=&quot;&amp;#x2F;arts&amp;#x2F;touche-moi-pas&amp;#x2F;gallery&amp;#x2F;touchemoipas_6.jpg&quot; alt=&quot;Photo d&amp;#x27;archive: 6&quot;&#x2F;&gt;
                    
        &lt;&#x2F;div&gt;
        &lt;div class=&quot;gallery__viewport__controls&quot;&gt;
            &lt;img class=&quot;gallery__viewport__controls__nav-button gallery__viewport__controls__nav-button--left&quot; src=&quot;&#x2F;images&#x2F;angle-left.svg&quot; alt=&quot;Voir l&#x27;image précédente.&quot; aria-hidden=&quot;true&quot;&#x2F;&gt;
            &lt;img class=&quot;gallery__viewport__controls__nav-button gallery__viewport__controls__nav-button--right&quot; src=&quot;&#x2F;images&#x2F;angle-right.svg&quot; alt=&quot;Voir l&#x27;image suivante.&quot; aria-hidden=&quot;true&quot;&#x2F;&gt;
            &lt;img class=&quot;gallery__viewport__controls__nav-close-btn&quot; src=&quot;&#x2F;images&#x2F;close-icon.svg&quot; alt=&quot;Fermer la gallery&quot;&#x2F;&gt;
        &lt;&#x2F;div&gt;
    &lt;&#x2F;div&gt;
    &lt;ul class=&quot;gallery__selector&quot;&gt;
        
        
                
                &lt;li class=&quot;gallery__selector__item&quot;&gt;
                    &lt;button
                            class=&quot;gallery__selector__button&quot;
                            aria-expanded=&quot;false&quot;
                            aria-controls=&quot;gallerytouchemoipasimage0&quot;
                            aria-label=&quot;Voir l&#x27;image &amp;quot;Photo d&amp;#x27;archive: 1&amp;quot;&quot;
                            type=&quot;button&quot;
                    &gt;
                        &lt;img class=&quot;gallery__selector__image&quot; src=&quot;&amp;#x2F;arts&amp;#x2F;touche-moi-pas&amp;#x2F;gallery&amp;#x2F;touchemoipas_1.jpg&quot; alt=&quot;Photo d&amp;#x27;archive: 1&quot;&#x2F;&gt;
                    &lt;&#x2F;button&gt;
                &lt;&#x2F;li&gt;
                
                
                &lt;li class=&quot;gallery__selector__item&quot;&gt;
                    &lt;button
                            class=&quot;gallery__selector__button&quot;
                            aria-expanded=&quot;false&quot;
                            aria-controls=&quot;gallerytouchemoipasimage1&quot;
                            aria-label=&quot;Voir l&#x27;image &amp;quot;Photo d&amp;#x27;archive: 2&amp;quot;&quot;
                            type=&quot;button&quot;
                    &gt;
                        &lt;img class=&quot;gallery__selector__image&quot; src=&quot;&amp;#x2F;arts&amp;#x2F;touche-moi-pas&amp;#x2F;gallery&amp;#x2F;touchemoipas_2.jpg&quot; alt=&quot;Photo d&amp;#x27;archive: 2&quot;&#x2F;&gt;
                    &lt;&#x2F;button&gt;
                &lt;&#x2F;li&gt;
                
                
                &lt;li class=&quot;gallery__selector__item&quot;&gt;
                    &lt;button
                            class=&quot;gallery__selector__button&quot;
                            aria-expanded=&quot;false&quot;
                            aria-controls=&quot;gallerytouchemoipasimage2&quot;
                            aria-label=&quot;Voir l&#x27;image &amp;quot;Photo d&amp;#x27;archive: 3&amp;quot;&quot;
                            type=&quot;button&quot;
                    &gt;
                        &lt;img class=&quot;gallery__selector__image&quot; src=&quot;&amp;#x2F;arts&amp;#x2F;touche-moi-pas&amp;#x2F;gallery&amp;#x2F;touchemoipas_3.jpg&quot; alt=&quot;Photo d&amp;#x27;archive: 3&quot;&#x2F;&gt;
                    &lt;&#x2F;button&gt;
                &lt;&#x2F;li&gt;
                
                
                &lt;li class=&quot;gallery__selector__item&quot;&gt;
                    &lt;button
                            class=&quot;gallery__selector__button&quot;
                            aria-expanded=&quot;false&quot;
                            aria-controls=&quot;gallerytouchemoipasimage3&quot;
                            aria-label=&quot;Voir l&#x27;image &amp;quot;Photo d&amp;#x27;archive: 4&amp;quot;&quot;
                            type=&quot;button&quot;
                    &gt;
                        &lt;img class=&quot;gallery__selector__image&quot; src=&quot;&amp;#x2F;arts&amp;#x2F;touche-moi-pas&amp;#x2F;gallery&amp;#x2F;touchemoipas_4.jpg&quot; alt=&quot;Photo d&amp;#x27;archive: 4&quot;&#x2F;&gt;
                    &lt;&#x2F;button&gt;
                &lt;&#x2F;li&gt;
                
                
                &lt;li class=&quot;gallery__selector__item&quot;&gt;
                    &lt;button
                            class=&quot;gallery__selector__button&quot;
                            aria-expanded=&quot;false&quot;
                            aria-controls=&quot;gallerytouchemoipasimage4&quot;
                            aria-label=&quot;Voir l&#x27;image &amp;quot;Photo d&amp;#x27;archive: 5&amp;quot;&quot;
                            type=&quot;button&quot;
                    &gt;
                        &lt;img class=&quot;gallery__selector__image&quot; src=&quot;&amp;#x2F;arts&amp;#x2F;touche-moi-pas&amp;#x2F;gallery&amp;#x2F;touchemoipas_5.jpg&quot; alt=&quot;Photo d&amp;#x27;archive: 5&quot;&#x2F;&gt;
                    &lt;&#x2F;button&gt;
                &lt;&#x2F;li&gt;
                
                
                &lt;li class=&quot;gallery__selector__item&quot;&gt;
                    &lt;button
                            class=&quot;gallery__selector__button&quot;
                            aria-expanded=&quot;false&quot;
                            aria-controls=&quot;gallerytouchemoipasimage5&quot;
                            aria-label=&quot;Voir l&#x27;image &amp;quot;Photo d&amp;#x27;archive: 6&amp;quot;&quot;
                            type=&quot;button&quot;
                    &gt;
                        &lt;img class=&quot;gallery__selector__image&quot; src=&quot;&amp;#x2F;arts&amp;#x2F;touche-moi-pas&amp;#x2F;gallery&amp;#x2F;touchemoipas_6.jpg&quot; alt=&quot;Photo d&amp;#x27;archive: 6&quot;&#x2F;&gt;
                    &lt;&#x2F;button&gt;
                &lt;&#x2F;li&gt;
                
    &lt;&#x2F;ul&gt;
&lt;&#x2F;div&gt;
&lt;script&gt;
    &#x2F;&#x2F; Define
    &#x2F;&#x2F; function hideDisplayedImage(galleryId, image)
    if (typeof globalThis.hideDisplayedImage === &quot;undefined&quot;) {
        globalThis.hideDisplayedImage = function(galleryId, image) {
            const fullscreenImageContainer = document.querySelector(&quot;#&quot; + galleryId + &quot; .gallery__viewport&quot;);
            fullscreenImageContainer.classList.remove(&quot;gallery__viewport--display&quot;);
            image.classList.remove(&quot;gallery__viewport__image--display&quot;);
            const selector = &#x27;[aria-controls=&quot;&#x27; + image.getAttribute(&quot;id&quot;) + &#x27;&quot;]&#x27;
            const controlsButton = document.querySelector(selector);
            controlsButton.setAttribute(&quot;aria-expanded&quot;, &quot;false&quot;);
        }
    }

    &#x2F;&#x2F; Define
    &#x2F;&#x2F; function displayImageWithButton(galleryId, button)
    if (typeof globalThis.displayImageWithButton === &quot;undefined&quot;) {
        globalThis.displayImageWithButton = function(galleryId, button) {
            button.focus();
            const fullscreenImageContainer = document.querySelector(&quot;#&quot; + galleryId + &quot; .gallery__viewport&quot;);
            fullscreenImageContainer.classList.add(&quot;gallery__viewport--display&quot;);
            const ariaControlsId = button.getAttribute(&quot;aria-controls&quot;);
            const controlledElement = document.getElementById(ariaControlsId);
            controlledElement.classList.add(&quot;gallery__viewport__image--display&quot;);
            button.setAttribute(&quot;aria-expanded&quot;, &quot;true&quot;);
        }
    }

    &#x2F;&#x2F; Define
    &#x2F;&#x2F; function displayImageWithControlledElement(galleryId, button)
    if (typeof globalThis.displayImageWithControlledElement === &quot;undefined&quot;) {
        globalThis.displayImageWithControlledElement = function(galleryId, controlledElement) {
            const selector = &#x27;[aria-controls=&quot;&#x27; + controlledElement.getAttribute(&quot;id&quot;) + &#x27;&quot;]&#x27;
            const controlsButton = document.querySelector(selector);
            displayImageWithButton(galleryId, controlsButton);
        }
    }

    &#x2F;&#x2F; Define
    &#x2F;&#x2F; function checkSwipeDirection(touchstartX, touchendX)
    if (typeof globalThis.checkSwipeDirection === &quot;undefined&quot;) {
        globalThis.checkSwipeDirection =  function(touchstartX, touchendX) {
            if (touchendX &lt; touchstartX) {
                return &quot;left&quot;;
            } else if (touchendX &gt; touchstartX) {
                return &quot;right&quot;;
            } else {
                return &quot;&quot;;
            }
        }
    }

    &#x2F;&#x2F; Define
    &#x2F;&#x2F; function displayNextImage()
    if (typeof globalThis.displayNextImage === &quot;undefined&quot;) {
        globalThis.displayNextImage = function() {
            const controlledElement = document.getElementsByClassName(&quot;gallery__viewport__image--display&quot;)[0];
            if (controlledElement !== undefined) {
                hideDisplayedImage(&quot;gallerytouchemoipas&quot;, controlledElement);

                let newControlledElement = controlledElement.nextElementSibling;
                if (newControlledElement === null) {
                    newControlledElement = controlledElement.parentElement.firstElementChild;
                }

                if (newControlledElement !== null &amp;&amp; newControlledElement !== undefined) {
                    displayImageWithControlledElement(&quot;gallerytouchemoipas&quot;, newControlledElement);
                }
            }
        }
    }

    &#x2F;&#x2F; Define
    &#x2F;&#x2F; function displayPreviousImage()
    if (typeof globalThis.displayPreviousImage === &quot;undefined&quot;) {
        globalThis.displayPreviousImage = function () {
            const controlledElement = document.getElementsByClassName(&quot;gallery__viewport__image--display&quot;)[0];
            if (controlledElement !== undefined) {
                hideDisplayedImage(&quot;gallerytouchemoipas&quot;, controlledElement);

                let newControlledElement = controlledElement.previousElementSibling;
                if (newControlledElement === null) {
                    newControlledElement = controlledElement.parentElement.lastElementChild;
                }

                if (newControlledElement !== null &amp;&amp; newControlledElement !== undefined) {
                    displayImageWithControlledElement(&quot;gallerytouchemoipas&quot;, newControlledElement);
                }
            }
        }
    }

    &#x2F;&#x2F; Init
    &#x2F;&#x2F; Gallery Buttons
    const galleryButtonsgallerytouchemoipas = document.querySelectorAll(&quot;#gallerytouchemoipas .gallery__selector__button&quot;);
    for (let i = 0; i &lt; galleryButtonsgallerytouchemoipas.length; i++) {

        &#x2F;&#x2F; Click
        galleryButtonsgallerytouchemoipas[i].addEventListener(&quot;click&quot;, function(event) {
            displayImageWithButton(&quot;gallerytouchemoipas&quot;, this);
        });

        &#x2F;&#x2F; Focus In
        galleryButtonsgallerytouchemoipas[i].addEventListener(&#x27;focusin&#x27;, function(event) {
            const previousFocusableItem = event.relatedTarget;
            const displayedImages = document.getElementsByClassName(&quot;gallery__viewport__image--display&quot;);
            if (
                (previousFocusableItem === null || !previousFocusableItem.classList.contains(&quot;gallery__selector__button&quot;))
                &amp;&amp; displayedImages.length &gt; 0
            ) {
                &#x2F;&#x2F; Hide all displayed images
                const displayedImages = document.getElementsByClassName(&quot;gallery__viewport__image--display&quot;);
                if (displayedImages.length &gt; 0) {
                    for (let i = 0; i &lt; displayedImages.length; i++) {
                        hideDisplayedImage(&quot;gallerytouchemoipas&quot;, displayedImages[i]);
                    }
                }
                displayImageWithButton(&quot;gallerytouchemoipas&quot;, this);
            }
        });

        &#x2F;&#x2F; Focus Out
        galleryButtonsgallerytouchemoipas[i].addEventListener(&#x27;focusout&#x27;, function(event) {
            &#x2F;&#x2F; Prevent focus out actions if it&#x27;s a click on a gallery viewport element.
            const eventOriginClassList = event.explicitOriginalTarget.classList;
            if (
                eventOriginClassList.contains(&quot;gallery__viewport__image&quot;)
                || eventOriginClassList.contains(&quot;gallery__viewport__controls&quot;)
                || eventOriginClassList.contains(&quot;gallery__viewport__controls__nav-button&quot;)
                || eventOriginClassList.contains(&quot;gallery__viewport__controls__nav-close-btn&quot;)
                || eventOriginClassList.contains(&quot;gallery__viewport&quot;)
            ) {
                return;
            }

            &#x2F;&#x2F; Hide all displayed images
            const displayedImages = document.getElementsByClassName(&quot;gallery__viewport__image--display&quot;);
            if (displayedImages.length &gt; 0) {
                for (let i = 0; i &lt; displayedImages.length; i++) {
                    hideDisplayedImage(&quot;gallerytouchemoipas&quot;, displayedImages[i]);
                }
                const nextFocusableItem = event.relatedTarget;
                if (nextFocusableItem != null &amp;&amp; nextFocusableItem.classList.contains(&quot;gallery__selector__button&quot;)) {
                    displayImageWithButton(&quot;gallerytouchemoipas&quot;, nextFocusableItem);
                }
            }
        });
    }

    &#x2F;&#x2F; Previous Button
    &#x2F;&#x2F; Click
    const previousImageButtongallerytouchemoipas = document.querySelector(&quot;#gallerytouchemoipas .gallery__viewport__controls__nav-button--left&quot;);
    previousImageButtongallerytouchemoipas.addEventListener(&#x27;click&#x27;, function(event) {
        displayPreviousImage();
    });

    &#x2F;&#x2F; Next Button
    &#x2F;&#x2F; Click
    const nextImageButtongallerytouchemoipas = document.querySelector(&quot;#gallerytouchemoipas .gallery__viewport__controls__nav-button--right&quot;);
    nextImageButtongallerytouchemoipas.addEventListener(&#x27;click&#x27;, function(event) {
        displayNextImage();
    });

    &#x2F;&#x2F; Close Button
    &#x2F;&#x2F; Click
    const closeImageButtongallerytouchemoipas = document.querySelector(&quot;#gallerytouchemoipas .gallery__viewport__controls__nav-close-btn&quot;);
    closeImageButtongallerytouchemoipas.addEventListener(&#x27;click&#x27;, function(event) {
        const controlledElement = document.getElementsByClassName(&quot;gallery__viewport__image--display&quot;)[0];
        if (controlledElement !== undefined) {
            hideDisplayedImage(&quot;gallerytouchemoipas&quot;, controlledElement);
        }
    });

    &#x2F;&#x2F; Keyboard Controls
    document.addEventListener(&#x27;keydown&#x27;, (event) =&gt; {
        const controlledElement = document.getElementsByClassName(&quot;gallery__viewport__image--display&quot;)[0];
        if (controlledElement !== undefined) {

            &#x2F;&#x2F; Hide image
            &#x2F;&#x2F; ESC, LEFT, RIGHT
            if (event.code === &#x27;Escape&#x27; || event.code === &#x27;ArrowLeft&#x27; || event.code === &#x27;ArrowRight&#x27;) {
                hideDisplayedImage(&quot;gallerytouchemoipas&quot;, controlledElement);
            }

            let newControlledElement;

            &#x2F;&#x2F; Select new controlled element(image)
            &#x2F;&#x2F; LEFT
            if (event.code === &#x27;ArrowLeft&#x27;) {
                newControlledElement = controlledElement.previousElementSibling;
                if (newControlledElement === null) {
                    newControlledElement = controlledElement.parentElement.lastElementChild;
                }
            }
            &#x2F;&#x2F; RIGHT
            if (event.code === &#x27;ArrowRight&#x27;) {
                newControlledElement = controlledElement.nextElementSibling;
                if (newControlledElement === null) {
                    newControlledElement = controlledElement.parentElement.firstElementChild;
                }
            }

            &#x2F;&#x2F; Active button and display image
            if (newControlledElement !== null &amp;&amp; newControlledElement !== undefined) {
                displayImageWithControlledElement(&quot;gallerytouchemoipas&quot;, newControlledElement);
            }
        }
    })

    &#x2F;&#x2F; Touch Gesture
    let touchstartXgallerytouchemoipas = 0;
    let touchendXgallerytouchemoipas = 0;

    const galleryViewportgallerytouchemoipas = document.getElementsByClassName(&quot;gallery__viewport&quot;)[0];
    if (galleryViewportgallerytouchemoipas !== undefined) {

        galleryViewportgallerytouchemoipas.addEventListener(&#x27;touchstart&#x27;, function(event) {
            touchstartXgallerytouchemoipas = event.changedTouches[0].screenX
        });

        galleryViewportgallerytouchemoipas.addEventListener(&#x27;touchend&#x27;, function(event) {
            touchendXgallerytouchemoipas = event.changedTouches[0].screenX
            const direction = checkSwipeDirection(touchstartXgallerytouchemoipas, touchendXgallerytouchemoipas);
            if (direction === &quot;left&quot;) {
                displayPreviousImage();
            } else if (direction === &quot;right&quot;) {
                displayNextImage();
            }
        });

        galleryViewportgallerytouchemoipas.addEventListner(&#x27;touchmove&#x27;, function(event) {
            event.preventDefault();
            event.stopPropagation();
        });
    }
&lt;&#x2F;script&gt;</content>
        
    </entry>
    <entry xml:lang="fr">
        <title>Splurt!</title>
        <published>2007-01-01T00:00:00+00:00</published>
        <updated>2007-01-01T00:00:00+00:00</updated>
        
        <author>
          <name>
            
              Pierre Tremblay-Thériault
            
          </name>
        </author>
        
        <link rel="alternate" type="text/html" href="https://lapinchatware.ca/arts/splurt/"/>
        <id>https://lapinchatware.ca/arts/splurt/</id>
        
        <content type="html" xml:base="https://lapinchatware.ca/arts/splurt/">&lt;p&gt;Splurt! &lt;br &#x2F;&gt;
Aérosol acrylique sur la rue &lt;br &#x2F;&gt;
20cm X 45cm &lt;br &#x2F;&gt;
2007&lt;&#x2F;p&gt;
&lt;div id=&quot;gallerysplurt&quot; class=&quot;gallery&quot;&gt;
    
    &lt;div class=&quot;gallery__viewport&quot;&gt;
        &lt;div class=&quot;gallery__viewport__images&quot;&gt;
            
            
                    
                    &lt;img id=&quot;gallerysplurtimage0&quot; class=&quot;gallery__viewport__image&quot; src=&quot;&amp;#x2F;arts&amp;#x2F;splurt&amp;#x2F;gallery&amp;#x2F;splurt_1.jpg&quot; alt=&quot;Photo d&amp;#x27;archive&quot;&#x2F;&gt;
                    
        &lt;&#x2F;div&gt;
        &lt;div class=&quot;gallery__viewport__controls&quot;&gt;
            &lt;img class=&quot;gallery__viewport__controls__nav-button gallery__viewport__controls__nav-button--left&quot; src=&quot;&#x2F;images&#x2F;angle-left.svg&quot; alt=&quot;Voir l&#x27;image précédente.&quot; aria-hidden=&quot;true&quot;&#x2F;&gt;
            &lt;img class=&quot;gallery__viewport__controls__nav-button gallery__viewport__controls__nav-button--right&quot; src=&quot;&#x2F;images&#x2F;angle-right.svg&quot; alt=&quot;Voir l&#x27;image suivante.&quot; aria-hidden=&quot;true&quot;&#x2F;&gt;
            &lt;img class=&quot;gallery__viewport__controls__nav-close-btn&quot; src=&quot;&#x2F;images&#x2F;close-icon.svg&quot; alt=&quot;Fermer la gallery&quot;&#x2F;&gt;
        &lt;&#x2F;div&gt;
    &lt;&#x2F;div&gt;
    &lt;ul class=&quot;gallery__selector&quot;&gt;
        
        
                
                &lt;li class=&quot;gallery__selector__item&quot;&gt;
                    &lt;button
                            class=&quot;gallery__selector__button&quot;
                            aria-expanded=&quot;false&quot;
                            aria-controls=&quot;gallerysplurtimage0&quot;
                            aria-label=&quot;Voir l&#x27;image &amp;quot;Photo d&amp;#x27;archive&amp;quot;&quot;
                            type=&quot;button&quot;
                    &gt;
                        &lt;img class=&quot;gallery__selector__image&quot; src=&quot;&amp;#x2F;arts&amp;#x2F;splurt&amp;#x2F;gallery&amp;#x2F;splurt_1.jpg&quot; alt=&quot;Photo d&amp;#x27;archive&quot;&#x2F;&gt;
                    &lt;&#x2F;button&gt;
                &lt;&#x2F;li&gt;
                
    &lt;&#x2F;ul&gt;
&lt;&#x2F;div&gt;
&lt;script&gt;
    &#x2F;&#x2F; Define
    &#x2F;&#x2F; function hideDisplayedImage(galleryId, image)
    if (typeof globalThis.hideDisplayedImage === &quot;undefined&quot;) {
        globalThis.hideDisplayedImage = function(galleryId, image) {
            const fullscreenImageContainer = document.querySelector(&quot;#&quot; + galleryId + &quot; .gallery__viewport&quot;);
            fullscreenImageContainer.classList.remove(&quot;gallery__viewport--display&quot;);
            image.classList.remove(&quot;gallery__viewport__image--display&quot;);
            const selector = &#x27;[aria-controls=&quot;&#x27; + image.getAttribute(&quot;id&quot;) + &#x27;&quot;]&#x27;
            const controlsButton = document.querySelector(selector);
            controlsButton.setAttribute(&quot;aria-expanded&quot;, &quot;false&quot;);
        }
    }

    &#x2F;&#x2F; Define
    &#x2F;&#x2F; function displayImageWithButton(galleryId, button)
    if (typeof globalThis.displayImageWithButton === &quot;undefined&quot;) {
        globalThis.displayImageWithButton = function(galleryId, button) {
            button.focus();
            const fullscreenImageContainer = document.querySelector(&quot;#&quot; + galleryId + &quot; .gallery__viewport&quot;);
            fullscreenImageContainer.classList.add(&quot;gallery__viewport--display&quot;);
            const ariaControlsId = button.getAttribute(&quot;aria-controls&quot;);
            const controlledElement = document.getElementById(ariaControlsId);
            controlledElement.classList.add(&quot;gallery__viewport__image--display&quot;);
            button.setAttribute(&quot;aria-expanded&quot;, &quot;true&quot;);
        }
    }

    &#x2F;&#x2F; Define
    &#x2F;&#x2F; function displayImageWithControlledElement(galleryId, button)
    if (typeof globalThis.displayImageWithControlledElement === &quot;undefined&quot;) {
        globalThis.displayImageWithControlledElement = function(galleryId, controlledElement) {
            const selector = &#x27;[aria-controls=&quot;&#x27; + controlledElement.getAttribute(&quot;id&quot;) + &#x27;&quot;]&#x27;
            const controlsButton = document.querySelector(selector);
            displayImageWithButton(galleryId, controlsButton);
        }
    }

    &#x2F;&#x2F; Define
    &#x2F;&#x2F; function checkSwipeDirection(touchstartX, touchendX)
    if (typeof globalThis.checkSwipeDirection === &quot;undefined&quot;) {
        globalThis.checkSwipeDirection =  function(touchstartX, touchendX) {
            if (touchendX &lt; touchstartX) {
                return &quot;left&quot;;
            } else if (touchendX &gt; touchstartX) {
                return &quot;right&quot;;
            } else {
                return &quot;&quot;;
            }
        }
    }

    &#x2F;&#x2F; Define
    &#x2F;&#x2F; function displayNextImage()
    if (typeof globalThis.displayNextImage === &quot;undefined&quot;) {
        globalThis.displayNextImage = function() {
            const controlledElement = document.getElementsByClassName(&quot;gallery__viewport__image--display&quot;)[0];
            if (controlledElement !== undefined) {
                hideDisplayedImage(&quot;gallerysplurt&quot;, controlledElement);

                let newControlledElement = controlledElement.nextElementSibling;
                if (newControlledElement === null) {
                    newControlledElement = controlledElement.parentElement.firstElementChild;
                }

                if (newControlledElement !== null &amp;&amp; newControlledElement !== undefined) {
                    displayImageWithControlledElement(&quot;gallerysplurt&quot;, newControlledElement);
                }
            }
        }
    }

    &#x2F;&#x2F; Define
    &#x2F;&#x2F; function displayPreviousImage()
    if (typeof globalThis.displayPreviousImage === &quot;undefined&quot;) {
        globalThis.displayPreviousImage = function () {
            const controlledElement = document.getElementsByClassName(&quot;gallery__viewport__image--display&quot;)[0];
            if (controlledElement !== undefined) {
                hideDisplayedImage(&quot;gallerysplurt&quot;, controlledElement);

                let newControlledElement = controlledElement.previousElementSibling;
                if (newControlledElement === null) {
                    newControlledElement = controlledElement.parentElement.lastElementChild;
                }

                if (newControlledElement !== null &amp;&amp; newControlledElement !== undefined) {
                    displayImageWithControlledElement(&quot;gallerysplurt&quot;, newControlledElement);
                }
            }
        }
    }

    &#x2F;&#x2F; Init
    &#x2F;&#x2F; Gallery Buttons
    const galleryButtonsgallerysplurt = document.querySelectorAll(&quot;#gallerysplurt .gallery__selector__button&quot;);
    for (let i = 0; i &lt; galleryButtonsgallerysplurt.length; i++) {

        &#x2F;&#x2F; Click
        galleryButtonsgallerysplurt[i].addEventListener(&quot;click&quot;, function(event) {
            displayImageWithButton(&quot;gallerysplurt&quot;, this);
        });

        &#x2F;&#x2F; Focus In
        galleryButtonsgallerysplurt[i].addEventListener(&#x27;focusin&#x27;, function(event) {
            const previousFocusableItem = event.relatedTarget;
            const displayedImages = document.getElementsByClassName(&quot;gallery__viewport__image--display&quot;);
            if (
                (previousFocusableItem === null || !previousFocusableItem.classList.contains(&quot;gallery__selector__button&quot;))
                &amp;&amp; displayedImages.length &gt; 0
            ) {
                &#x2F;&#x2F; Hide all displayed images
                const displayedImages = document.getElementsByClassName(&quot;gallery__viewport__image--display&quot;);
                if (displayedImages.length &gt; 0) {
                    for (let i = 0; i &lt; displayedImages.length; i++) {
                        hideDisplayedImage(&quot;gallerysplurt&quot;, displayedImages[i]);
                    }
                }
                displayImageWithButton(&quot;gallerysplurt&quot;, this);
            }
        });

        &#x2F;&#x2F; Focus Out
        galleryButtonsgallerysplurt[i].addEventListener(&#x27;focusout&#x27;, function(event) {
            &#x2F;&#x2F; Prevent focus out actions if it&#x27;s a click on a gallery viewport element.
            const eventOriginClassList = event.explicitOriginalTarget.classList;
            if (
                eventOriginClassList.contains(&quot;gallery__viewport__image&quot;)
                || eventOriginClassList.contains(&quot;gallery__viewport__controls&quot;)
                || eventOriginClassList.contains(&quot;gallery__viewport__controls__nav-button&quot;)
                || eventOriginClassList.contains(&quot;gallery__viewport__controls__nav-close-btn&quot;)
                || eventOriginClassList.contains(&quot;gallery__viewport&quot;)
            ) {
                return;
            }

            &#x2F;&#x2F; Hide all displayed images
            const displayedImages = document.getElementsByClassName(&quot;gallery__viewport__image--display&quot;);
            if (displayedImages.length &gt; 0) {
                for (let i = 0; i &lt; displayedImages.length; i++) {
                    hideDisplayedImage(&quot;gallerysplurt&quot;, displayedImages[i]);
                }
                const nextFocusableItem = event.relatedTarget;
                if (nextFocusableItem != null &amp;&amp; nextFocusableItem.classList.contains(&quot;gallery__selector__button&quot;)) {
                    displayImageWithButton(&quot;gallerysplurt&quot;, nextFocusableItem);
                }
            }
        });
    }

    &#x2F;&#x2F; Previous Button
    &#x2F;&#x2F; Click
    const previousImageButtongallerysplurt = document.querySelector(&quot;#gallerysplurt .gallery__viewport__controls__nav-button--left&quot;);
    previousImageButtongallerysplurt.addEventListener(&#x27;click&#x27;, function(event) {
        displayPreviousImage();
    });

    &#x2F;&#x2F; Next Button
    &#x2F;&#x2F; Click
    const nextImageButtongallerysplurt = document.querySelector(&quot;#gallerysplurt .gallery__viewport__controls__nav-button--right&quot;);
    nextImageButtongallerysplurt.addEventListener(&#x27;click&#x27;, function(event) {
        displayNextImage();
    });

    &#x2F;&#x2F; Close Button
    &#x2F;&#x2F; Click
    const closeImageButtongallerysplurt = document.querySelector(&quot;#gallerysplurt .gallery__viewport__controls__nav-close-btn&quot;);
    closeImageButtongallerysplurt.addEventListener(&#x27;click&#x27;, function(event) {
        const controlledElement = document.getElementsByClassName(&quot;gallery__viewport__image--display&quot;)[0];
        if (controlledElement !== undefined) {
            hideDisplayedImage(&quot;gallerysplurt&quot;, controlledElement);
        }
    });

    &#x2F;&#x2F; Keyboard Controls
    document.addEventListener(&#x27;keydown&#x27;, (event) =&gt; {
        const controlledElement = document.getElementsByClassName(&quot;gallery__viewport__image--display&quot;)[0];
        if (controlledElement !== undefined) {

            &#x2F;&#x2F; Hide image
            &#x2F;&#x2F; ESC, LEFT, RIGHT
            if (event.code === &#x27;Escape&#x27; || event.code === &#x27;ArrowLeft&#x27; || event.code === &#x27;ArrowRight&#x27;) {
                hideDisplayedImage(&quot;gallerysplurt&quot;, controlledElement);
            }

            let newControlledElement;

            &#x2F;&#x2F; Select new controlled element(image)
            &#x2F;&#x2F; LEFT
            if (event.code === &#x27;ArrowLeft&#x27;) {
                newControlledElement = controlledElement.previousElementSibling;
                if (newControlledElement === null) {
                    newControlledElement = controlledElement.parentElement.lastElementChild;
                }
            }
            &#x2F;&#x2F; RIGHT
            if (event.code === &#x27;ArrowRight&#x27;) {
                newControlledElement = controlledElement.nextElementSibling;
                if (newControlledElement === null) {
                    newControlledElement = controlledElement.parentElement.firstElementChild;
                }
            }

            &#x2F;&#x2F; Active button and display image
            if (newControlledElement !== null &amp;&amp; newControlledElement !== undefined) {
                displayImageWithControlledElement(&quot;gallerysplurt&quot;, newControlledElement);
            }
        }
    })

    &#x2F;&#x2F; Touch Gesture
    let touchstartXgallerysplurt = 0;
    let touchendXgallerysplurt = 0;

    const galleryViewportgallerysplurt = document.getElementsByClassName(&quot;gallery__viewport&quot;)[0];
    if (galleryViewportgallerysplurt !== undefined) {

        galleryViewportgallerysplurt.addEventListener(&#x27;touchstart&#x27;, function(event) {
            touchstartXgallerysplurt = event.changedTouches[0].screenX
        });

        galleryViewportgallerysplurt.addEventListener(&#x27;touchend&#x27;, function(event) {
            touchendXgallerysplurt = event.changedTouches[0].screenX
            const direction = checkSwipeDirection(touchstartXgallerysplurt, touchendXgallerysplurt);
            if (direction === &quot;left&quot;) {
                displayPreviousImage();
            } else if (direction === &quot;right&quot;) {
                displayNextImage();
            }
        });

        galleryViewportgallerysplurt.addEventListner(&#x27;touchmove&#x27;, function(event) {
            event.preventDefault();
            event.stopPropagation();
        });
    }
&lt;&#x2F;script&gt;</content>
        
    </entry>
    <entry xml:lang="fr">
        <title>Game Over</title>
        <published>2006-01-01T00:00:00+00:00</published>
        <updated>2006-01-01T00:00:00+00:00</updated>
        
        <author>
          <name>
            
              Pierre Tremblay-Thériault
            
          </name>
        </author>
        
        <link rel="alternate" type="text/html" href="https://lapinchatware.ca/arts/game-over/"/>
        <id>https://lapinchatware.ca/arts/game-over/</id>
        
        <content type="html" xml:base="https://lapinchatware.ca/arts/game-over/">&lt;p&gt;Boîte de jeux vidéo, projection, console de jeux &lt;br &#x2F;&gt;
150cm X 120cm X 120cm &lt;br &#x2F;&gt;
2006&lt;&#x2F;p&gt;
&lt;div style=&quot;padding:56.25% 0 0 0;position:relative;&quot;&gt;
    &lt;iframe
            src=&quot;https:&#x2F;&#x2F;player.vimeo.com&#x2F;video&#x2F;186099215?h=4250ca05b2&amp;title=0&amp;byline=0&amp;portrait=0&quot;
            style=&quot;position:absolute;top:0;left:0;width:100%;height:100%;&quot;
            frameborder=&quot;0&quot;
            allow=&quot;autoplay; fullscreen; picture-in-picture&quot;
            allowfullscreen
    &gt;&lt;&#x2F;iframe&gt;
&lt;&#x2F;div&gt;
&lt;script src=&quot;https:&#x2F;&#x2F;player.vimeo.com&#x2F;api&#x2F;player.js&quot;&gt;&lt;&#x2F;script&gt;&lt;div style=&quot;padding:56.25% 0 0 0;position:relative;&quot;&gt;
    &lt;iframe
            src=&quot;https:&#x2F;&#x2F;player.vimeo.com&#x2F;video&#x2F;186099214?h=4250ca05b2&amp;title=0&amp;byline=0&amp;portrait=0&quot;
            style=&quot;position:absolute;top:0;left:0;width:100%;height:100%;&quot;
            frameborder=&quot;0&quot;
            allow=&quot;autoplay; fullscreen; picture-in-picture&quot;
            allowfullscreen
    &gt;&lt;&#x2F;iframe&gt;
&lt;&#x2F;div&gt;
&lt;script src=&quot;https:&#x2F;&#x2F;player.vimeo.com&#x2F;api&#x2F;player.js&quot;&gt;&lt;&#x2F;script&gt;&lt;div id=&quot;gallerygameover&quot; class=&quot;gallery&quot;&gt;
    
    &lt;div class=&quot;gallery__viewport&quot;&gt;
        &lt;div class=&quot;gallery__viewport__images&quot;&gt;
            
            
                    
                    &lt;img id=&quot;gallerygameoverimage0&quot; class=&quot;gallery__viewport__image&quot; src=&quot;&amp;#x2F;arts&amp;#x2F;game-over&amp;#x2F;gallery&amp;#x2F;gameover_01.jpg&quot; alt=&quot;Photo d&amp;#x27;archive: 1&quot;&#x2F;&gt;
                    
                    
                    &lt;img id=&quot;gallerygameoverimage1&quot; class=&quot;gallery__viewport__image&quot; src=&quot;&amp;#x2F;arts&amp;#x2F;game-over&amp;#x2F;gallery&amp;#x2F;gameover_02.jpg&quot; alt=&quot;Photo d&amp;#x27;archive: 2&quot;&#x2F;&gt;
                    
                    
                    &lt;img id=&quot;gallerygameoverimage2&quot; class=&quot;gallery__viewport__image&quot; src=&quot;&amp;#x2F;arts&amp;#x2F;game-over&amp;#x2F;gallery&amp;#x2F;gameover_03.jpg&quot; alt=&quot;Photo d&amp;#x27;archive: 3&quot;&#x2F;&gt;
                    
                    
                    &lt;img id=&quot;gallerygameoverimage3&quot; class=&quot;gallery__viewport__image&quot; src=&quot;&amp;#x2F;arts&amp;#x2F;game-over&amp;#x2F;gallery&amp;#x2F;gameover_04.jpg&quot; alt=&quot;Photo d&amp;#x27;archive: 4&quot;&#x2F;&gt;
                    
                    
                    &lt;img id=&quot;gallerygameoverimage4&quot; class=&quot;gallery__viewport__image&quot; src=&quot;&amp;#x2F;arts&amp;#x2F;game-over&amp;#x2F;gallery&amp;#x2F;gameover_05.jpg&quot; alt=&quot;Photo d&amp;#x27;archive: 5&quot;&#x2F;&gt;
                    
                    
                    &lt;img id=&quot;gallerygameoverimage5&quot; class=&quot;gallery__viewport__image&quot; src=&quot;&amp;#x2F;arts&amp;#x2F;game-over&amp;#x2F;gallery&amp;#x2F;gameover_06.jpg&quot; alt=&quot;Photo d&amp;#x27;archive: 6&quot;&#x2F;&gt;
                    
                    
                    &lt;img id=&quot;gallerygameoverimage6&quot; class=&quot;gallery__viewport__image&quot; src=&quot;&amp;#x2F;arts&amp;#x2F;game-over&amp;#x2F;gallery&amp;#x2F;gameover_07.jpg&quot; alt=&quot;Photo d&amp;#x27;archive: 7&quot;&#x2F;&gt;
                    
                    
                    &lt;img id=&quot;gallerygameoverimage7&quot; class=&quot;gallery__viewport__image&quot; src=&quot;&amp;#x2F;arts&amp;#x2F;game-over&amp;#x2F;gallery&amp;#x2F;gameover_08.jpg&quot; alt=&quot;Photo d&amp;#x27;archive: 8&quot;&#x2F;&gt;
                    
                    
                    &lt;img id=&quot;gallerygameoverimage8&quot; class=&quot;gallery__viewport__image&quot; src=&quot;&amp;#x2F;arts&amp;#x2F;game-over&amp;#x2F;gallery&amp;#x2F;gameover_09.jpg&quot; alt=&quot;Photo d&amp;#x27;archive: 9&quot;&#x2F;&gt;
                    
                    
                    &lt;img id=&quot;gallerygameoverimage9&quot; class=&quot;gallery__viewport__image&quot; src=&quot;&amp;#x2F;arts&amp;#x2F;game-over&amp;#x2F;gallery&amp;#x2F;gameover_10.jpg&quot; alt=&quot;Photo d&amp;#x27;archive: 10&quot;&#x2F;&gt;
                    
                    
                    &lt;img id=&quot;gallerygameoverimage10&quot; class=&quot;gallery__viewport__image&quot; src=&quot;&amp;#x2F;arts&amp;#x2F;game-over&amp;#x2F;gallery&amp;#x2F;gameover_11.jpg&quot; alt=&quot;Photo d&amp;#x27;archive: 11&quot;&#x2F;&gt;
                    
                    
                    &lt;img id=&quot;gallerygameoverimage11&quot; class=&quot;gallery__viewport__image&quot; src=&quot;&amp;#x2F;arts&amp;#x2F;game-over&amp;#x2F;gallery&amp;#x2F;gameover_12.jpg&quot; alt=&quot;Photo d&amp;#x27;archive: 12&quot;&#x2F;&gt;
                    
        &lt;&#x2F;div&gt;
        &lt;div class=&quot;gallery__viewport__controls&quot;&gt;
            &lt;img class=&quot;gallery__viewport__controls__nav-button gallery__viewport__controls__nav-button--left&quot; src=&quot;&#x2F;images&#x2F;angle-left.svg&quot; alt=&quot;Voir l&#x27;image précédente.&quot; aria-hidden=&quot;true&quot;&#x2F;&gt;
            &lt;img class=&quot;gallery__viewport__controls__nav-button gallery__viewport__controls__nav-button--right&quot; src=&quot;&#x2F;images&#x2F;angle-right.svg&quot; alt=&quot;Voir l&#x27;image suivante.&quot; aria-hidden=&quot;true&quot;&#x2F;&gt;
            &lt;img class=&quot;gallery__viewport__controls__nav-close-btn&quot; src=&quot;&#x2F;images&#x2F;close-icon.svg&quot; alt=&quot;Fermer la gallery&quot;&#x2F;&gt;
        &lt;&#x2F;div&gt;
    &lt;&#x2F;div&gt;
    &lt;ul class=&quot;gallery__selector&quot;&gt;
        
        
                
                &lt;li class=&quot;gallery__selector__item&quot;&gt;
                    &lt;button
                            class=&quot;gallery__selector__button&quot;
                            aria-expanded=&quot;false&quot;
                            aria-controls=&quot;gallerygameoverimage0&quot;
                            aria-label=&quot;Voir l&#x27;image &amp;quot;Photo d&amp;#x27;archive: 1&amp;quot;&quot;
                            type=&quot;button&quot;
                    &gt;
                        &lt;img class=&quot;gallery__selector__image&quot; src=&quot;&amp;#x2F;arts&amp;#x2F;game-over&amp;#x2F;gallery&amp;#x2F;gameover_01.jpg&quot; alt=&quot;Photo d&amp;#x27;archive: 1&quot;&#x2F;&gt;
                    &lt;&#x2F;button&gt;
                &lt;&#x2F;li&gt;
                
                
                &lt;li class=&quot;gallery__selector__item&quot;&gt;
                    &lt;button
                            class=&quot;gallery__selector__button&quot;
                            aria-expanded=&quot;false&quot;
                            aria-controls=&quot;gallerygameoverimage1&quot;
                            aria-label=&quot;Voir l&#x27;image &amp;quot;Photo d&amp;#x27;archive: 2&amp;quot;&quot;
                            type=&quot;button&quot;
                    &gt;
                        &lt;img class=&quot;gallery__selector__image&quot; src=&quot;&amp;#x2F;arts&amp;#x2F;game-over&amp;#x2F;gallery&amp;#x2F;gameover_02.jpg&quot; alt=&quot;Photo d&amp;#x27;archive: 2&quot;&#x2F;&gt;
                    &lt;&#x2F;button&gt;
                &lt;&#x2F;li&gt;
                
                
                &lt;li class=&quot;gallery__selector__item&quot;&gt;
                    &lt;button
                            class=&quot;gallery__selector__button&quot;
                            aria-expanded=&quot;false&quot;
                            aria-controls=&quot;gallerygameoverimage2&quot;
                            aria-label=&quot;Voir l&#x27;image &amp;quot;Photo d&amp;#x27;archive: 3&amp;quot;&quot;
                            type=&quot;button&quot;
                    &gt;
                        &lt;img class=&quot;gallery__selector__image&quot; src=&quot;&amp;#x2F;arts&amp;#x2F;game-over&amp;#x2F;gallery&amp;#x2F;gameover_03.jpg&quot; alt=&quot;Photo d&amp;#x27;archive: 3&quot;&#x2F;&gt;
                    &lt;&#x2F;button&gt;
                &lt;&#x2F;li&gt;
                
                
                &lt;li class=&quot;gallery__selector__item&quot;&gt;
                    &lt;button
                            class=&quot;gallery__selector__button&quot;
                            aria-expanded=&quot;false&quot;
                            aria-controls=&quot;gallerygameoverimage3&quot;
                            aria-label=&quot;Voir l&#x27;image &amp;quot;Photo d&amp;#x27;archive: 4&amp;quot;&quot;
                            type=&quot;button&quot;
                    &gt;
                        &lt;img class=&quot;gallery__selector__image&quot; src=&quot;&amp;#x2F;arts&amp;#x2F;game-over&amp;#x2F;gallery&amp;#x2F;gameover_04.jpg&quot; alt=&quot;Photo d&amp;#x27;archive: 4&quot;&#x2F;&gt;
                    &lt;&#x2F;button&gt;
                &lt;&#x2F;li&gt;
                
                
                &lt;li class=&quot;gallery__selector__item&quot;&gt;
                    &lt;button
                            class=&quot;gallery__selector__button&quot;
                            aria-expanded=&quot;false&quot;
                            aria-controls=&quot;gallerygameoverimage4&quot;
                            aria-label=&quot;Voir l&#x27;image &amp;quot;Photo d&amp;#x27;archive: 5&amp;quot;&quot;
                            type=&quot;button&quot;
                    &gt;
                        &lt;img class=&quot;gallery__selector__image&quot; src=&quot;&amp;#x2F;arts&amp;#x2F;game-over&amp;#x2F;gallery&amp;#x2F;gameover_05.jpg&quot; alt=&quot;Photo d&amp;#x27;archive: 5&quot;&#x2F;&gt;
                    &lt;&#x2F;button&gt;
                &lt;&#x2F;li&gt;
                
                
                &lt;li class=&quot;gallery__selector__item&quot;&gt;
                    &lt;button
                            class=&quot;gallery__selector__button&quot;
                            aria-expanded=&quot;false&quot;
                            aria-controls=&quot;gallerygameoverimage5&quot;
                            aria-label=&quot;Voir l&#x27;image &amp;quot;Photo d&amp;#x27;archive: 6&amp;quot;&quot;
                            type=&quot;button&quot;
                    &gt;
                        &lt;img class=&quot;gallery__selector__image&quot; src=&quot;&amp;#x2F;arts&amp;#x2F;game-over&amp;#x2F;gallery&amp;#x2F;gameover_06.jpg&quot; alt=&quot;Photo d&amp;#x27;archive: 6&quot;&#x2F;&gt;
                    &lt;&#x2F;button&gt;
                &lt;&#x2F;li&gt;
                
                
                &lt;li class=&quot;gallery__selector__item&quot;&gt;
                    &lt;button
                            class=&quot;gallery__selector__button&quot;
                            aria-expanded=&quot;false&quot;
                            aria-controls=&quot;gallerygameoverimage6&quot;
                            aria-label=&quot;Voir l&#x27;image &amp;quot;Photo d&amp;#x27;archive: 7&amp;quot;&quot;
                            type=&quot;button&quot;
                    &gt;
                        &lt;img class=&quot;gallery__selector__image&quot; src=&quot;&amp;#x2F;arts&amp;#x2F;game-over&amp;#x2F;gallery&amp;#x2F;gameover_07.jpg&quot; alt=&quot;Photo d&amp;#x27;archive: 7&quot;&#x2F;&gt;
                    &lt;&#x2F;button&gt;
                &lt;&#x2F;li&gt;
                
                
                &lt;li class=&quot;gallery__selector__item&quot;&gt;
                    &lt;button
                            class=&quot;gallery__selector__button&quot;
                            aria-expanded=&quot;false&quot;
                            aria-controls=&quot;gallerygameoverimage7&quot;
                            aria-label=&quot;Voir l&#x27;image &amp;quot;Photo d&amp;#x27;archive: 8&amp;quot;&quot;
                            type=&quot;button&quot;
                    &gt;
                        &lt;img class=&quot;gallery__selector__image&quot; src=&quot;&amp;#x2F;arts&amp;#x2F;game-over&amp;#x2F;gallery&amp;#x2F;gameover_08.jpg&quot; alt=&quot;Photo d&amp;#x27;archive: 8&quot;&#x2F;&gt;
                    &lt;&#x2F;button&gt;
                &lt;&#x2F;li&gt;
                
                
                &lt;li class=&quot;gallery__selector__item&quot;&gt;
                    &lt;button
                            class=&quot;gallery__selector__button&quot;
                            aria-expanded=&quot;false&quot;
                            aria-controls=&quot;gallerygameoverimage8&quot;
                            aria-label=&quot;Voir l&#x27;image &amp;quot;Photo d&amp;#x27;archive: 9&amp;quot;&quot;
                            type=&quot;button&quot;
                    &gt;
                        &lt;img class=&quot;gallery__selector__image&quot; src=&quot;&amp;#x2F;arts&amp;#x2F;game-over&amp;#x2F;gallery&amp;#x2F;gameover_09.jpg&quot; alt=&quot;Photo d&amp;#x27;archive: 9&quot;&#x2F;&gt;
                    &lt;&#x2F;button&gt;
                &lt;&#x2F;li&gt;
                
                
                &lt;li class=&quot;gallery__selector__item&quot;&gt;
                    &lt;button
                            class=&quot;gallery__selector__button&quot;
                            aria-expanded=&quot;false&quot;
                            aria-controls=&quot;gallerygameoverimage9&quot;
                            aria-label=&quot;Voir l&#x27;image &amp;quot;Photo d&amp;#x27;archive: 10&amp;quot;&quot;
                            type=&quot;button&quot;
                    &gt;
                        &lt;img class=&quot;gallery__selector__image&quot; src=&quot;&amp;#x2F;arts&amp;#x2F;game-over&amp;#x2F;gallery&amp;#x2F;gameover_10.jpg&quot; alt=&quot;Photo d&amp;#x27;archive: 10&quot;&#x2F;&gt;
                    &lt;&#x2F;button&gt;
                &lt;&#x2F;li&gt;
                
                
                &lt;li class=&quot;gallery__selector__item&quot;&gt;
                    &lt;button
                            class=&quot;gallery__selector__button&quot;
                            aria-expanded=&quot;false&quot;
                            aria-controls=&quot;gallerygameoverimage10&quot;
                            aria-label=&quot;Voir l&#x27;image &amp;quot;Photo d&amp;#x27;archive: 11&amp;quot;&quot;
                            type=&quot;button&quot;
                    &gt;
                        &lt;img class=&quot;gallery__selector__image&quot; src=&quot;&amp;#x2F;arts&amp;#x2F;game-over&amp;#x2F;gallery&amp;#x2F;gameover_11.jpg&quot; alt=&quot;Photo d&amp;#x27;archive: 11&quot;&#x2F;&gt;
                    &lt;&#x2F;button&gt;
                &lt;&#x2F;li&gt;
                
                
                &lt;li class=&quot;gallery__selector__item&quot;&gt;
                    &lt;button
                            class=&quot;gallery__selector__button&quot;
                            aria-expanded=&quot;false&quot;
                            aria-controls=&quot;gallerygameoverimage11&quot;
                            aria-label=&quot;Voir l&#x27;image &amp;quot;Photo d&amp;#x27;archive: 12&amp;quot;&quot;
                            type=&quot;button&quot;
                    &gt;
                        &lt;img class=&quot;gallery__selector__image&quot; src=&quot;&amp;#x2F;arts&amp;#x2F;game-over&amp;#x2F;gallery&amp;#x2F;gameover_12.jpg&quot; alt=&quot;Photo d&amp;#x27;archive: 12&quot;&#x2F;&gt;
                    &lt;&#x2F;button&gt;
                &lt;&#x2F;li&gt;
                
    &lt;&#x2F;ul&gt;
&lt;&#x2F;div&gt;
&lt;script&gt;
    &#x2F;&#x2F; Define
    &#x2F;&#x2F; function hideDisplayedImage(galleryId, image)
    if (typeof globalThis.hideDisplayedImage === &quot;undefined&quot;) {
        globalThis.hideDisplayedImage = function(galleryId, image) {
            const fullscreenImageContainer = document.querySelector(&quot;#&quot; + galleryId + &quot; .gallery__viewport&quot;);
            fullscreenImageContainer.classList.remove(&quot;gallery__viewport--display&quot;);
            image.classList.remove(&quot;gallery__viewport__image--display&quot;);
            const selector = &#x27;[aria-controls=&quot;&#x27; + image.getAttribute(&quot;id&quot;) + &#x27;&quot;]&#x27;
            const controlsButton = document.querySelector(selector);
            controlsButton.setAttribute(&quot;aria-expanded&quot;, &quot;false&quot;);
        }
    }

    &#x2F;&#x2F; Define
    &#x2F;&#x2F; function displayImageWithButton(galleryId, button)
    if (typeof globalThis.displayImageWithButton === &quot;undefined&quot;) {
        globalThis.displayImageWithButton = function(galleryId, button) {
            button.focus();
            const fullscreenImageContainer = document.querySelector(&quot;#&quot; + galleryId + &quot; .gallery__viewport&quot;);
            fullscreenImageContainer.classList.add(&quot;gallery__viewport--display&quot;);
            const ariaControlsId = button.getAttribute(&quot;aria-controls&quot;);
            const controlledElement = document.getElementById(ariaControlsId);
            controlledElement.classList.add(&quot;gallery__viewport__image--display&quot;);
            button.setAttribute(&quot;aria-expanded&quot;, &quot;true&quot;);
        }
    }

    &#x2F;&#x2F; Define
    &#x2F;&#x2F; function displayImageWithControlledElement(galleryId, button)
    if (typeof globalThis.displayImageWithControlledElement === &quot;undefined&quot;) {
        globalThis.displayImageWithControlledElement = function(galleryId, controlledElement) {
            const selector = &#x27;[aria-controls=&quot;&#x27; + controlledElement.getAttribute(&quot;id&quot;) + &#x27;&quot;]&#x27;
            const controlsButton = document.querySelector(selector);
            displayImageWithButton(galleryId, controlsButton);
        }
    }

    &#x2F;&#x2F; Define
    &#x2F;&#x2F; function checkSwipeDirection(touchstartX, touchendX)
    if (typeof globalThis.checkSwipeDirection === &quot;undefined&quot;) {
        globalThis.checkSwipeDirection =  function(touchstartX, touchendX) {
            if (touchendX &lt; touchstartX) {
                return &quot;left&quot;;
            } else if (touchendX &gt; touchstartX) {
                return &quot;right&quot;;
            } else {
                return &quot;&quot;;
            }
        }
    }

    &#x2F;&#x2F; Define
    &#x2F;&#x2F; function displayNextImage()
    if (typeof globalThis.displayNextImage === &quot;undefined&quot;) {
        globalThis.displayNextImage = function() {
            const controlledElement = document.getElementsByClassName(&quot;gallery__viewport__image--display&quot;)[0];
            if (controlledElement !== undefined) {
                hideDisplayedImage(&quot;gallerygameover&quot;, controlledElement);

                let newControlledElement = controlledElement.nextElementSibling;
                if (newControlledElement === null) {
                    newControlledElement = controlledElement.parentElement.firstElementChild;
                }

                if (newControlledElement !== null &amp;&amp; newControlledElement !== undefined) {
                    displayImageWithControlledElement(&quot;gallerygameover&quot;, newControlledElement);
                }
            }
        }
    }

    &#x2F;&#x2F; Define
    &#x2F;&#x2F; function displayPreviousImage()
    if (typeof globalThis.displayPreviousImage === &quot;undefined&quot;) {
        globalThis.displayPreviousImage = function () {
            const controlledElement = document.getElementsByClassName(&quot;gallery__viewport__image--display&quot;)[0];
            if (controlledElement !== undefined) {
                hideDisplayedImage(&quot;gallerygameover&quot;, controlledElement);

                let newControlledElement = controlledElement.previousElementSibling;
                if (newControlledElement === null) {
                    newControlledElement = controlledElement.parentElement.lastElementChild;
                }

                if (newControlledElement !== null &amp;&amp; newControlledElement !== undefined) {
                    displayImageWithControlledElement(&quot;gallerygameover&quot;, newControlledElement);
                }
            }
        }
    }

    &#x2F;&#x2F; Init
    &#x2F;&#x2F; Gallery Buttons
    const galleryButtonsgallerygameover = document.querySelectorAll(&quot;#gallerygameover .gallery__selector__button&quot;);
    for (let i = 0; i &lt; galleryButtonsgallerygameover.length; i++) {

        &#x2F;&#x2F; Click
        galleryButtonsgallerygameover[i].addEventListener(&quot;click&quot;, function(event) {
            displayImageWithButton(&quot;gallerygameover&quot;, this);
        });

        &#x2F;&#x2F; Focus In
        galleryButtonsgallerygameover[i].addEventListener(&#x27;focusin&#x27;, function(event) {
            const previousFocusableItem = event.relatedTarget;
            const displayedImages = document.getElementsByClassName(&quot;gallery__viewport__image--display&quot;);
            if (
                (previousFocusableItem === null || !previousFocusableItem.classList.contains(&quot;gallery__selector__button&quot;))
                &amp;&amp; displayedImages.length &gt; 0
            ) {
                &#x2F;&#x2F; Hide all displayed images
                const displayedImages = document.getElementsByClassName(&quot;gallery__viewport__image--display&quot;);
                if (displayedImages.length &gt; 0) {
                    for (let i = 0; i &lt; displayedImages.length; i++) {
                        hideDisplayedImage(&quot;gallerygameover&quot;, displayedImages[i]);
                    }
                }
                displayImageWithButton(&quot;gallerygameover&quot;, this);
            }
        });

        &#x2F;&#x2F; Focus Out
        galleryButtonsgallerygameover[i].addEventListener(&#x27;focusout&#x27;, function(event) {
            &#x2F;&#x2F; Prevent focus out actions if it&#x27;s a click on a gallery viewport element.
            const eventOriginClassList = event.explicitOriginalTarget.classList;
            if (
                eventOriginClassList.contains(&quot;gallery__viewport__image&quot;)
                || eventOriginClassList.contains(&quot;gallery__viewport__controls&quot;)
                || eventOriginClassList.contains(&quot;gallery__viewport__controls__nav-button&quot;)
                || eventOriginClassList.contains(&quot;gallery__viewport__controls__nav-close-btn&quot;)
                || eventOriginClassList.contains(&quot;gallery__viewport&quot;)
            ) {
                return;
            }

            &#x2F;&#x2F; Hide all displayed images
            const displayedImages = document.getElementsByClassName(&quot;gallery__viewport__image--display&quot;);
            if (displayedImages.length &gt; 0) {
                for (let i = 0; i &lt; displayedImages.length; i++) {
                    hideDisplayedImage(&quot;gallerygameover&quot;, displayedImages[i]);
                }
                const nextFocusableItem = event.relatedTarget;
                if (nextFocusableItem != null &amp;&amp; nextFocusableItem.classList.contains(&quot;gallery__selector__button&quot;)) {
                    displayImageWithButton(&quot;gallerygameover&quot;, nextFocusableItem);
                }
            }
        });
    }

    &#x2F;&#x2F; Previous Button
    &#x2F;&#x2F; Click
    const previousImageButtongallerygameover = document.querySelector(&quot;#gallerygameover .gallery__viewport__controls__nav-button--left&quot;);
    previousImageButtongallerygameover.addEventListener(&#x27;click&#x27;, function(event) {
        displayPreviousImage();
    });

    &#x2F;&#x2F; Next Button
    &#x2F;&#x2F; Click
    const nextImageButtongallerygameover = document.querySelector(&quot;#gallerygameover .gallery__viewport__controls__nav-button--right&quot;);
    nextImageButtongallerygameover.addEventListener(&#x27;click&#x27;, function(event) {
        displayNextImage();
    });

    &#x2F;&#x2F; Close Button
    &#x2F;&#x2F; Click
    const closeImageButtongallerygameover = document.querySelector(&quot;#gallerygameover .gallery__viewport__controls__nav-close-btn&quot;);
    closeImageButtongallerygameover.addEventListener(&#x27;click&#x27;, function(event) {
        const controlledElement = document.getElementsByClassName(&quot;gallery__viewport__image--display&quot;)[0];
        if (controlledElement !== undefined) {
            hideDisplayedImage(&quot;gallerygameover&quot;, controlledElement);
        }
    });

    &#x2F;&#x2F; Keyboard Controls
    document.addEventListener(&#x27;keydown&#x27;, (event) =&gt; {
        const controlledElement = document.getElementsByClassName(&quot;gallery__viewport__image--display&quot;)[0];
        if (controlledElement !== undefined) {

            &#x2F;&#x2F; Hide image
            &#x2F;&#x2F; ESC, LEFT, RIGHT
            if (event.code === &#x27;Escape&#x27; || event.code === &#x27;ArrowLeft&#x27; || event.code === &#x27;ArrowRight&#x27;) {
                hideDisplayedImage(&quot;gallerygameover&quot;, controlledElement);
            }

            let newControlledElement;

            &#x2F;&#x2F; Select new controlled element(image)
            &#x2F;&#x2F; LEFT
            if (event.code === &#x27;ArrowLeft&#x27;) {
                newControlledElement = controlledElement.previousElementSibling;
                if (newControlledElement === null) {
                    newControlledElement = controlledElement.parentElement.lastElementChild;
                }
            }
            &#x2F;&#x2F; RIGHT
            if (event.code === &#x27;ArrowRight&#x27;) {
                newControlledElement = controlledElement.nextElementSibling;
                if (newControlledElement === null) {
                    newControlledElement = controlledElement.parentElement.firstElementChild;
                }
            }

            &#x2F;&#x2F; Active button and display image
            if (newControlledElement !== null &amp;&amp; newControlledElement !== undefined) {
                displayImageWithControlledElement(&quot;gallerygameover&quot;, newControlledElement);
            }
        }
    })

    &#x2F;&#x2F; Touch Gesture
    let touchstartXgallerygameover = 0;
    let touchendXgallerygameover = 0;

    const galleryViewportgallerygameover = document.getElementsByClassName(&quot;gallery__viewport&quot;)[0];
    if (galleryViewportgallerygameover !== undefined) {

        galleryViewportgallerygameover.addEventListener(&#x27;touchstart&#x27;, function(event) {
            touchstartXgallerygameover = event.changedTouches[0].screenX
        });

        galleryViewportgallerygameover.addEventListener(&#x27;touchend&#x27;, function(event) {
            touchendXgallerygameover = event.changedTouches[0].screenX
            const direction = checkSwipeDirection(touchstartXgallerygameover, touchendXgallerygameover);
            if (direction === &quot;left&quot;) {
                displayPreviousImage();
            } else if (direction === &quot;right&quot;) {
                displayNextImage();
            }
        });

        galleryViewportgallerygameover.addEventListner(&#x27;touchmove&#x27;, function(event) {
            event.preventDefault();
            event.stopPropagation();
        });
    }
&lt;&#x2F;script&gt;</content>
        
    </entry>
    <entry xml:lang="fr">
        <title>Sale punk!</title>
        <published>2006-01-01T00:00:00+00:00</published>
        <updated>2006-01-01T00:00:00+00:00</updated>
        
        <author>
          <name>
            
              Pierre Tremblay-Thériault
            
          </name>
        </author>
        
        <link rel="alternate" type="text/html" href="https://lapinchatware.ca/arts/sale-punk/"/>
        <id>https://lapinchatware.ca/arts/sale-punk/</id>
        
        <content type="html" xml:base="https://lapinchatware.ca/arts/sale-punk/">&lt;p&gt;Sale punk! &lt;br &#x2F;&gt;
Aérosol acrylique sur masonite &lt;br &#x2F;&gt;
120cm X 120cm &lt;br &#x2F;&gt;
2006&lt;&#x2F;p&gt;
&lt;div id=&quot;gallerysalepunk&quot; class=&quot;gallery&quot;&gt;
    
    &lt;div class=&quot;gallery__viewport&quot;&gt;
        &lt;div class=&quot;gallery__viewport__images&quot;&gt;
            
            
                    
                    &lt;img id=&quot;gallerysalepunkimage0&quot; class=&quot;gallery__viewport__image&quot; src=&quot;&amp;#x2F;arts&amp;#x2F;sale-punk&amp;#x2F;gallery&amp;#x2F;salepunk_1.jpg&quot; alt=&quot;Photo d&amp;#x27;archive&quot;&#x2F;&gt;
                    
        &lt;&#x2F;div&gt;
        &lt;div class=&quot;gallery__viewport__controls&quot;&gt;
            &lt;img class=&quot;gallery__viewport__controls__nav-button gallery__viewport__controls__nav-button--left&quot; src=&quot;&#x2F;images&#x2F;angle-left.svg&quot; alt=&quot;Voir l&#x27;image précédente.&quot; aria-hidden=&quot;true&quot;&#x2F;&gt;
            &lt;img class=&quot;gallery__viewport__controls__nav-button gallery__viewport__controls__nav-button--right&quot; src=&quot;&#x2F;images&#x2F;angle-right.svg&quot; alt=&quot;Voir l&#x27;image suivante.&quot; aria-hidden=&quot;true&quot;&#x2F;&gt;
            &lt;img class=&quot;gallery__viewport__controls__nav-close-btn&quot; src=&quot;&#x2F;images&#x2F;close-icon.svg&quot; alt=&quot;Fermer la gallery&quot;&#x2F;&gt;
        &lt;&#x2F;div&gt;
    &lt;&#x2F;div&gt;
    &lt;ul class=&quot;gallery__selector&quot;&gt;
        
        
                
                &lt;li class=&quot;gallery__selector__item&quot;&gt;
                    &lt;button
                            class=&quot;gallery__selector__button&quot;
                            aria-expanded=&quot;false&quot;
                            aria-controls=&quot;gallerysalepunkimage0&quot;
                            aria-label=&quot;Voir l&#x27;image &amp;quot;Photo d&amp;#x27;archive&amp;quot;&quot;
                            type=&quot;button&quot;
                    &gt;
                        &lt;img class=&quot;gallery__selector__image&quot; src=&quot;&amp;#x2F;arts&amp;#x2F;sale-punk&amp;#x2F;gallery&amp;#x2F;salepunk_1.jpg&quot; alt=&quot;Photo d&amp;#x27;archive&quot;&#x2F;&gt;
                    &lt;&#x2F;button&gt;
                &lt;&#x2F;li&gt;
                
    &lt;&#x2F;ul&gt;
&lt;&#x2F;div&gt;
&lt;script&gt;
    &#x2F;&#x2F; Define
    &#x2F;&#x2F; function hideDisplayedImage(galleryId, image)
    if (typeof globalThis.hideDisplayedImage === &quot;undefined&quot;) {
        globalThis.hideDisplayedImage = function(galleryId, image) {
            const fullscreenImageContainer = document.querySelector(&quot;#&quot; + galleryId + &quot; .gallery__viewport&quot;);
            fullscreenImageContainer.classList.remove(&quot;gallery__viewport--display&quot;);
            image.classList.remove(&quot;gallery__viewport__image--display&quot;);
            const selector = &#x27;[aria-controls=&quot;&#x27; + image.getAttribute(&quot;id&quot;) + &#x27;&quot;]&#x27;
            const controlsButton = document.querySelector(selector);
            controlsButton.setAttribute(&quot;aria-expanded&quot;, &quot;false&quot;);
        }
    }

    &#x2F;&#x2F; Define
    &#x2F;&#x2F; function displayImageWithButton(galleryId, button)
    if (typeof globalThis.displayImageWithButton === &quot;undefined&quot;) {
        globalThis.displayImageWithButton = function(galleryId, button) {
            button.focus();
            const fullscreenImageContainer = document.querySelector(&quot;#&quot; + galleryId + &quot; .gallery__viewport&quot;);
            fullscreenImageContainer.classList.add(&quot;gallery__viewport--display&quot;);
            const ariaControlsId = button.getAttribute(&quot;aria-controls&quot;);
            const controlledElement = document.getElementById(ariaControlsId);
            controlledElement.classList.add(&quot;gallery__viewport__image--display&quot;);
            button.setAttribute(&quot;aria-expanded&quot;, &quot;true&quot;);
        }
    }

    &#x2F;&#x2F; Define
    &#x2F;&#x2F; function displayImageWithControlledElement(galleryId, button)
    if (typeof globalThis.displayImageWithControlledElement === &quot;undefined&quot;) {
        globalThis.displayImageWithControlledElement = function(galleryId, controlledElement) {
            const selector = &#x27;[aria-controls=&quot;&#x27; + controlledElement.getAttribute(&quot;id&quot;) + &#x27;&quot;]&#x27;
            const controlsButton = document.querySelector(selector);
            displayImageWithButton(galleryId, controlsButton);
        }
    }

    &#x2F;&#x2F; Define
    &#x2F;&#x2F; function checkSwipeDirection(touchstartX, touchendX)
    if (typeof globalThis.checkSwipeDirection === &quot;undefined&quot;) {
        globalThis.checkSwipeDirection =  function(touchstartX, touchendX) {
            if (touchendX &lt; touchstartX) {
                return &quot;left&quot;;
            } else if (touchendX &gt; touchstartX) {
                return &quot;right&quot;;
            } else {
                return &quot;&quot;;
            }
        }
    }

    &#x2F;&#x2F; Define
    &#x2F;&#x2F; function displayNextImage()
    if (typeof globalThis.displayNextImage === &quot;undefined&quot;) {
        globalThis.displayNextImage = function() {
            const controlledElement = document.getElementsByClassName(&quot;gallery__viewport__image--display&quot;)[0];
            if (controlledElement !== undefined) {
                hideDisplayedImage(&quot;gallerysalepunk&quot;, controlledElement);

                let newControlledElement = controlledElement.nextElementSibling;
                if (newControlledElement === null) {
                    newControlledElement = controlledElement.parentElement.firstElementChild;
                }

                if (newControlledElement !== null &amp;&amp; newControlledElement !== undefined) {
                    displayImageWithControlledElement(&quot;gallerysalepunk&quot;, newControlledElement);
                }
            }
        }
    }

    &#x2F;&#x2F; Define
    &#x2F;&#x2F; function displayPreviousImage()
    if (typeof globalThis.displayPreviousImage === &quot;undefined&quot;) {
        globalThis.displayPreviousImage = function () {
            const controlledElement = document.getElementsByClassName(&quot;gallery__viewport__image--display&quot;)[0];
            if (controlledElement !== undefined) {
                hideDisplayedImage(&quot;gallerysalepunk&quot;, controlledElement);

                let newControlledElement = controlledElement.previousElementSibling;
                if (newControlledElement === null) {
                    newControlledElement = controlledElement.parentElement.lastElementChild;
                }

                if (newControlledElement !== null &amp;&amp; newControlledElement !== undefined) {
                    displayImageWithControlledElement(&quot;gallerysalepunk&quot;, newControlledElement);
                }
            }
        }
    }

    &#x2F;&#x2F; Init
    &#x2F;&#x2F; Gallery Buttons
    const galleryButtonsgallerysalepunk = document.querySelectorAll(&quot;#gallerysalepunk .gallery__selector__button&quot;);
    for (let i = 0; i &lt; galleryButtonsgallerysalepunk.length; i++) {

        &#x2F;&#x2F; Click
        galleryButtonsgallerysalepunk[i].addEventListener(&quot;click&quot;, function(event) {
            displayImageWithButton(&quot;gallerysalepunk&quot;, this);
        });

        &#x2F;&#x2F; Focus In
        galleryButtonsgallerysalepunk[i].addEventListener(&#x27;focusin&#x27;, function(event) {
            const previousFocusableItem = event.relatedTarget;
            const displayedImages = document.getElementsByClassName(&quot;gallery__viewport__image--display&quot;);
            if (
                (previousFocusableItem === null || !previousFocusableItem.classList.contains(&quot;gallery__selector__button&quot;))
                &amp;&amp; displayedImages.length &gt; 0
            ) {
                &#x2F;&#x2F; Hide all displayed images
                const displayedImages = document.getElementsByClassName(&quot;gallery__viewport__image--display&quot;);
                if (displayedImages.length &gt; 0) {
                    for (let i = 0; i &lt; displayedImages.length; i++) {
                        hideDisplayedImage(&quot;gallerysalepunk&quot;, displayedImages[i]);
                    }
                }
                displayImageWithButton(&quot;gallerysalepunk&quot;, this);
            }
        });

        &#x2F;&#x2F; Focus Out
        galleryButtonsgallerysalepunk[i].addEventListener(&#x27;focusout&#x27;, function(event) {
            &#x2F;&#x2F; Prevent focus out actions if it&#x27;s a click on a gallery viewport element.
            const eventOriginClassList = event.explicitOriginalTarget.classList;
            if (
                eventOriginClassList.contains(&quot;gallery__viewport__image&quot;)
                || eventOriginClassList.contains(&quot;gallery__viewport__controls&quot;)
                || eventOriginClassList.contains(&quot;gallery__viewport__controls__nav-button&quot;)
                || eventOriginClassList.contains(&quot;gallery__viewport__controls__nav-close-btn&quot;)
                || eventOriginClassList.contains(&quot;gallery__viewport&quot;)
            ) {
                return;
            }

            &#x2F;&#x2F; Hide all displayed images
            const displayedImages = document.getElementsByClassName(&quot;gallery__viewport__image--display&quot;);
            if (displayedImages.length &gt; 0) {
                for (let i = 0; i &lt; displayedImages.length; i++) {
                    hideDisplayedImage(&quot;gallerysalepunk&quot;, displayedImages[i]);
                }
                const nextFocusableItem = event.relatedTarget;
                if (nextFocusableItem != null &amp;&amp; nextFocusableItem.classList.contains(&quot;gallery__selector__button&quot;)) {
                    displayImageWithButton(&quot;gallerysalepunk&quot;, nextFocusableItem);
                }
            }
        });
    }

    &#x2F;&#x2F; Previous Button
    &#x2F;&#x2F; Click
    const previousImageButtongallerysalepunk = document.querySelector(&quot;#gallerysalepunk .gallery__viewport__controls__nav-button--left&quot;);
    previousImageButtongallerysalepunk.addEventListener(&#x27;click&#x27;, function(event) {
        displayPreviousImage();
    });

    &#x2F;&#x2F; Next Button
    &#x2F;&#x2F; Click
    const nextImageButtongallerysalepunk = document.querySelector(&quot;#gallerysalepunk .gallery__viewport__controls__nav-button--right&quot;);
    nextImageButtongallerysalepunk.addEventListener(&#x27;click&#x27;, function(event) {
        displayNextImage();
    });

    &#x2F;&#x2F; Close Button
    &#x2F;&#x2F; Click
    const closeImageButtongallerysalepunk = document.querySelector(&quot;#gallerysalepunk .gallery__viewport__controls__nav-close-btn&quot;);
    closeImageButtongallerysalepunk.addEventListener(&#x27;click&#x27;, function(event) {
        const controlledElement = document.getElementsByClassName(&quot;gallery__viewport__image--display&quot;)[0];
        if (controlledElement !== undefined) {
            hideDisplayedImage(&quot;gallerysalepunk&quot;, controlledElement);
        }
    });

    &#x2F;&#x2F; Keyboard Controls
    document.addEventListener(&#x27;keydown&#x27;, (event) =&gt; {
        const controlledElement = document.getElementsByClassName(&quot;gallery__viewport__image--display&quot;)[0];
        if (controlledElement !== undefined) {

            &#x2F;&#x2F; Hide image
            &#x2F;&#x2F; ESC, LEFT, RIGHT
            if (event.code === &#x27;Escape&#x27; || event.code === &#x27;ArrowLeft&#x27; || event.code === &#x27;ArrowRight&#x27;) {
                hideDisplayedImage(&quot;gallerysalepunk&quot;, controlledElement);
            }

            let newControlledElement;

            &#x2F;&#x2F; Select new controlled element(image)
            &#x2F;&#x2F; LEFT
            if (event.code === &#x27;ArrowLeft&#x27;) {
                newControlledElement = controlledElement.previousElementSibling;
                if (newControlledElement === null) {
                    newControlledElement = controlledElement.parentElement.lastElementChild;
                }
            }
            &#x2F;&#x2F; RIGHT
            if (event.code === &#x27;ArrowRight&#x27;) {
                newControlledElement = controlledElement.nextElementSibling;
                if (newControlledElement === null) {
                    newControlledElement = controlledElement.parentElement.firstElementChild;
                }
            }

            &#x2F;&#x2F; Active button and display image
            if (newControlledElement !== null &amp;&amp; newControlledElement !== undefined) {
                displayImageWithControlledElement(&quot;gallerysalepunk&quot;, newControlledElement);
            }
        }
    })

    &#x2F;&#x2F; Touch Gesture
    let touchstartXgallerysalepunk = 0;
    let touchendXgallerysalepunk = 0;

    const galleryViewportgallerysalepunk = document.getElementsByClassName(&quot;gallery__viewport&quot;)[0];
    if (galleryViewportgallerysalepunk !== undefined) {

        galleryViewportgallerysalepunk.addEventListener(&#x27;touchstart&#x27;, function(event) {
            touchstartXgallerysalepunk = event.changedTouches[0].screenX
        });

        galleryViewportgallerysalepunk.addEventListener(&#x27;touchend&#x27;, function(event) {
            touchendXgallerysalepunk = event.changedTouches[0].screenX
            const direction = checkSwipeDirection(touchstartXgallerysalepunk, touchendXgallerysalepunk);
            if (direction === &quot;left&quot;) {
                displayPreviousImage();
            } else if (direction === &quot;right&quot;) {
                displayNextImage();
            }
        });

        galleryViewportgallerysalepunk.addEventListner(&#x27;touchmove&#x27;, function(event) {
            event.preventDefault();
            event.stopPropagation();
        });
    }
&lt;&#x2F;script&gt;</content>
        
    </entry>
</feed>
