Zataz

<!DOCTYPE html>
<html lang="fr">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>ZatazArmy - Nous contrôlons tout</title>
    <style>
        body {
            margin: 0;
            background-color: #330000;
            color: #FF0000;
            font-family: 'Arial', sans-serif;
            text-align: center;
            overflow: hidden;
            position: relative;
        }
        canvas {
            display: block;
            position: absolute;
            top: 0;
            left: 0;
        }
        .container {
            position: relative;
            z-index: 1;
            padding: 20px;
            animation: shake 0.1s infinite;
        }
        h1 {
            font-size: 4em;
            animation: flicker 1.5s infinite, glitch 0.5s infinite;
            text-shadow: 0 0 10px #FF0000, 0 0 20px #FF0000, 0 0 30px #FF0000;
        }
        @keyframes flicker {
            0%, 18%, 22%, 25%, 53%, 57%, 100% {
                opacity: 1;
            }
            20%, 24%, 55% {
                opacity: 0.5;
            }
        }
        @keyframes glitch {
            0%, 100% {
                transform: translate(0);
            }
            20% {
                transform: translate(-5px, 5px);
            }
            40% {
                transform: translate(5px, -5px);
            }
            60% {
                transform: translate(-5px, -5px);
            }
            80% {
                transform: translate(5px, 5px);
            }
        }
        p {
            font-size: 1.5em;
            margin: 20px 0;
            text-shadow: 0 0 5px #FF0000;
            animation: fadeInOut 3s infinite;
        }
        @keyframes fadeInOut {
            0%, 100% {
                opacity: 1;
            }
            50% {
                opacity: 0.3;
            }
        }
        .blinking-cursor {
            font-size: 1.5em;
            animation: blink 0.7s infinite;
        }
        @keyframes blink {
            0%, 100% {
                opacity: 1;
            }
            50% {
                opacity: 0;
            }
        }
        @keyframes shake {
            0%, 100% {
                transform: translateX(0);
            }
            25% {
                transform: translateX(-5px);
            }
            50% {
                transform: translateX(5px);
            }
            75% {
                transform: translateX(-5px);
            }
        }
        .moving-image {
            position: absolute;
            width: 100px;
            height: auto;
        }
    </style>
</head>
<body>
    <canvas id="canvas"></canvas>
    <canvas id="canvas2"></canvas>
    <div class="container">
        <h1>ZatazArmy</h1>
        <p>Nous contrôlons tout. Vos données, vos secrets, vos vies.</p>
        <p>Nous sommes partout. Vous ne pouvez pas nous échapper.</p>
        <p>Préparez-vous. Le chaos approche.</p>
        <p class="blinking-cursor">_</p>
    </div>
    <script>
        var canvas = document.getElementById('canvas'),
            ctx = canvas.getContext('2d'),
            canvas2 = document.getElementById('canvas2'),
            ctx2 = canvas2.getContext('2d'),
            cw = window.innerWidth,
            ch = window.innerHeight,
            charArr = ['0', '1'],
            maxCharCount = 100,
            fallingCharArr = [],
            fontSize = 15,
            maxColums = cw / fontSize;

        canvas.width = canvas2.width = cw;
        canvas.height = canvas2.height = ch;

        function randomInt(min, max) {
            return Math.floor(Math.random() * (max - min) + min);
        }

        function randomFloat(min, max) {
            return Math.random() * (max - min) + min;
        }

        function Point(x, y) {
            this.x = x;
            this.y = y;
        }

        Point.prototype.draw = function (ctx) {
            this.value = charArr[randomInt(0, charArr.length - 1)].toUpperCase();
            this.speed = randomFloat(1, 5);

            ctx2.fillStyle = "rgba(255,0,0,0.8)";
            ctx2.font = fontSize + "px san-serif";
            ctx2.fillText(this.value, this.x, this.y);

            ctx.fillStyle = "#FF0000";
            ctx.font = fontSize + "px san-serif";
            ctx.fillText(this.value, this.x, this.y);

            this.y += this.speed;
            if (this.y > ch) {
                this.y = randomFloat(-100, 0);
                this.speed = randomFloat(20, 55);
            }
        }

        for (var i = 0; i < maxColums; i++) {
            fallingCharArr.push(new Point(i * fontSize, randomFloat(-500, 0)));
        }

        var update = function () {
            ctx.fillStyle = "rgba(0,0,0,0.05)";
            ctx.fillRect(0, 0, cw, ch);

            ctx2.clearRect(0, 0, cw, ch);

            var i = fallingCharArr.length;

            while (i--) {
                fallingCharArr[i].draw(ctx);
                var v = fallingCharArr[i];
            }

            requestAnimationFrame(update);
        }

        update();

        // Create multiple moving images
        function createMovingImages(count) {
            for (var i = 0; i < count; i++) {
                var img = document.createElement('img');
                img.src = 'https://a.top4top.io/p_3366byqrb1.png';
                img.className = 'moving-image';
                img.style.top = randomInt(0, ch) + 'px';
                img.style.left = randomInt(0, cw) + 'px';
                img.dataset.dx = randomFloat(-2, 2);
                img.dataset.dy = randomFloat(-2, 2);
                document.body.appendChild(img);
            }
        }

        function moveImages() {
            var images = document.querySelectorAll('.moving-image');
            images.forEach(function(img) {
                var rect = img.getBoundingClientRect();
                var dx = parseFloat(img.dataset.dx);
                var dy = parseFloat(img.dataset.dy);

                var newLeft = rect.left + dx*3;
                var newTop = rect.top + dy*3;

                if (newLeft <= 0 || newLeft + rect.width >= cw) {
                    img.dataset.dx = -dx;
                }
                if (newTop <= 0 || newTop + rect.height >= ch) {
                    img.dataset.dy = -dy;
                }

                img.style.left = newLeft + 'px';
                img.style.top = newTop + 'px';
            });

            requestAnimationFrame(moveImages);
        }

        createMovingImages(20); // Create 10 moving images
        moveImages();
    </script>
</body>
</html>