Skip to content

Serge Matthieu

Le but de ma mission sur ce projet était de modifier le code pour faire qu'en fonction de la saison, la vidéo permettant de mettre en avant la marque change. J'ai donc dû modifier le code pour que la vidéo change automatiquement en fonction de la saison.

Code pour changer la vidéo en fonction de la saison

js
    <script>(() => {
        function mobileCheck() {
            let check = false;
            (function (a) {
                if (/(android|bb\d+|meego).+mobile|avantgo|bada\/|blackberry|blazer|compal|elaine|fennec|hiptop|iemobile|ip(hone|od)|iris|kindle|lge |maemo|midp|mmp|mobile.+firefox|netfront|opera m(ob|in)i|palm( os)?|phone|p(ixi|re)\/|plucker|pocket|psp|series(4|6)0|symbian|treo|up\.(browser|link)|vodafone|wap|windows ce|xda|xiino/i.test(a) || /1207|6310|6590|3gso|4thp|50[1-6]i|770s|802s|a wa|abac|ac(er|oo|s\-)|ai(ko|rn)|al(av|ca|co)|amoi|an(ex|ny|yw)|aptu|ar(ch|go)|as(te|us)|attw|au(di|\-m|r |s )|avan|be(ck|ll|nq)|bi(lb|rd)|bl(ac|az)|br(e|v)w|bumb|bw\-(n|u)|c55\/|capi|ccwa|cdm\-|cell|chtm|cldc|cmd\-|co(mp|nd)|craw|da(it|ll|ng)|dbte|dc\-s|devi|dica|dmob|do(c|p)o|ds(12|\-d)|el(49|ai)|em(l2|ul)|er(ic|k0)|esl8|ez([4-7]0|os|wa|ze)|fetc|fly(\-|_)|g1 u|g560|gene|gf\-5|g\-mo|go(\.w|od)|gr(ad|un)|haie|hcit|hd\-(m|p|t)|hei\-|hi(pt|ta)|hp( i|ip)|hs\-c|ht(c(\-| |_|a|g|p|s|t)|tp)|hu(aw|tc)|i\-(20|go|ma)|i230|iac( |\-|\/)|ibro|idea|ig01|ikom|im1k|inno|ipaq|iris|ja(t|v)a|jbro|jemu|jigs|kddi|keji|kgt( |\/)|klon|kpt |kwc\-|kyo(c|k)|le(no|xi)|lg( g|\/(k|l|u)|50|54|\-[a-w])|libw|lynx|m1\-w|m3ga|m50\/|ma(te|ui|xo)|mc(01|21|ca)|m\-cr|me(rc|ri)|mi(o8|oa|ts)|mmef|mo(01|02|bi|de|do|t(\-| |o|v)|zz)|mt(50|p1|v )|mwbp|mywa|n10[0-2]|n20[2-3]|n30(0|2)|n50(0|2|5)|n7(0(0|1)|10)|ne((c|m)\-|on|tf|wf|wg|wt)|nok(6|i)|nzph|o2im|op(ti|wv)|oran|owg1|p800|pan(a|d|t)|pdxg|pg(13|\-([1-8]|c))|phil|pire|pl(ay|uc)|pn\-2|po(ck|rt|se)|prox|psio|pt\-g|qa\-a|qc(07|12|21|32|60|\-[2-7]|i\-)|qtek|r380|r600|raks|rim9|ro(ve|zo)|s55\/|sa(ge|ma|mm|ms|ny|va)|sc(01|h\-|oo|p\-)|sdk\/|se(c(\-|0|1)|47|mc|nd|ri)|sgh\-|shar|sie(\-|m)|sk\-0|sl(45|id)|sm(al|ar|b3|it|t5)|so(ft|ny)|sp(01|h\-|v\-|v )|sy(01|mb)|t2(18|50)|t6(00|10|18)|ta(gt|lk)|tcl\-|tdg\-|tel(i|m)|tim\-|t\-mo|to(pl|sh)|ts(70|m\-|m3|m5)|tx\-9|up(\.b|g1|si)|utst|v400|v750|veri|vi(rg|te)|vk(40|5[0-3]|\-v)|vm40|voda|vulc|vx(52|53|60|61|70|80|81|83|85|98)|w3c(\-| )|webc|whit|wi(g |nc|nw)|wmlb|wonu|x700|yas\-|your|zeto|zte\-/i.test(a.substr(0, 4))) check = true;
            })(navigator.userAgent || navigator.vendor || window.opera);
            return check;
        }

        const video = document.getElementById('video');
        const video_source = document.getElementById('video_src');
        let actualDate = new Date();
        let args = "_desk";

        if (mobileCheck()) {
            args = "_mobile";
        }

        let day = actualDate.getDate();
        let month = actualDate.getMonth();
        let year = actualDate.getFullYear();

        const estBis = (year) => {
            return year % 4 === 0 && (year % 100 !== 0 || year % 400 === 0);
        };

        if (estBis(year) && month > 1) {
            day += 1;
        }

        if (day > new Date(year, month + 1, 0).getDate()) {
            day = 1;
            month += 1;
            if (month > 11) {
                month = 0;
                year += 1;
            }
        }

        if ((month === 2 && day >= 20) || (month === 3) || (month === 4) || (month === 5 && day <= 20)) {
            console.log('Printemps');
            video_source.setAttribute('src', `/images/video${args}_printemps.mp4`);
        }
        else if ((month === 5 && day >= 21) || (month === 6) || (month === 7 && day <= 31) || (month === 8 && day <= 21)) {
            console.log('Été');
            video_source.setAttribute('src', `/images/video${args}_été.mp4`);
        }
        else if ((month === 8 && day >= 22) || (month === 9) || (month === 10 && day <= 30) || (month === 11 && day <= 20)) {
            console.log('Automne');
            video_source.setAttribute('src', `/images/video${args}_automne.mp4`);
        }
        else if ((month === 11 && day >= 21) || (month === 0) || (month === 1) || (month === 2 && day <= 19)) {
            console.log('Hiver');
            video_source.setAttribute('src', `/images/video${args}_hiver.mp4`);
        }

        video.load();
        video.play();
    })();

    </script>