Outils

Thumbor

Thumbor

Fonctionnement

Introduction

Thumbor est un service open-source de traitement d'image en temps réel. Il permet de redimensionner, découper, ajuster, et transformer des images de manière dynamique via des requêtes HTTP. Thumbor est particulièrement utile pour les développeurs web et les administrateurs de sites qui ont besoin de manipuler des images sur le serveur de manière flexible et efficace.

Fonctionnalités principales

Exemples de Transformations

  1. Redimensionnement
    Description : Redimensionne l'image à des dimensions spécifiques.

    https://proxy.hyundai.media/thumb/?500x300/https://cdn.hyundai.media/l2r/campaign/2024_03/retargeting/bayon/slide_1.jpg

    Explication : Redimensionne l'image à 500 pixels de large et 300 pixels de haut.
  2. Recadrage Centré
    Description : Recadre l'image pour qu'elle soit centrée sur une zone de 300x200 pixels.

    https://proxy.hyundai.media/thumb/?300x200:600x400/https://cdn.hyundai.media/l2r/campaign/2024_03/retargeting/bayon/slide_1.jpg

    Explication : Recadre l'image de 300x200 pixels en son centre.
  3. Rotation
    Description : Tourne l'image de 90 degrés.

    https://proxy.hyundai.media/thumb/?350x200/filters:rotate(90)/https://cdn.hyundai.media/l2r/campaign/2024_03/retargeting/bayon/slide_1.jpg

    Explication : Tourne l'image de 90 degrés dans le sens des aiguilles d'une montre.
  4. Effet de Flou
    Description : Applique un effet de flou sur l'image.

    https://proxy.hyundai.media/thumb/?350x200/filters:blur(10)/https://cdn.hyundai.media/l2r/campaign/2024_03/retargeting/bayon/slide_1.jpg

    Explication : Applique un flou de 10 pixels sur l'image.
  5. Conversion en Noir et Blanc
    Description : Convertit l'image en noir et blanc.

    https://proxy.hyundai.media/thumb/?350x200/filters:grayscale()/https://cdn.hyundai.media/l2r/campaign/2024_03/retargeting/bayon/slide_1.jpg

    Explication : Convertit l'image en niveaux de gris, supprimant toutes les couleurs.
  6. Ajustement de la Luminosité
    Description : Augmente la luminosité de l'image.

    https://proxy.hyundai.media/thumb/?350x200/filters:brightness(20)/https://cdn.hyundai.media/l2r/campaign/2024_03/retargeting/bayon/slide_1.jpg

    Explication : Augmente la luminosité de l'image de 20%.
  7. Ajout de Bordures
    Description : Ajoute une bordure noire autour de l'image.

    https://proxy.hyundai.media/thumb/?350x200/filters:frame(5, "black")/https://cdn.hyundai.media/l2r/campaign/2024_03/retargeting/bayon/slide_1.jpg

    Explication : Ajoute une bordure de 5 pixels de large de couleur noire autour de l'image.
  8. Miroir Horizontal
    Description : Retourne l'image horizontalement.

    https://proxy.hyundai.media/thumb/?350x200/filters:flip()/https://cdn.hyundai.media/l2r/campaign/2024_03/retargeting/bayon/slide_1.jpg

    Explication : Retourne l'image de gauche à droite.
  9. Miroir Vertical
    Description : Retourne l'image verticalement.

    https://proxy.hyundai.media/thumb/?350x200/filters:flop()/https://cdn.hyundai.media/l2r/campaign/2024_03/retargeting/bayon/slide_1.jpg

    Explication : Retourne l'image de haut en bas.
  10. Format de Sortie JPEG
    Description : Convertit l'image au format JPEG.

    https://proxy.hyundai.media/thumb/?350x200/filters:format(jpeg)/https://cdn.hyundai.media/l2r/campaign/2024_03/retargeting/bayon/slide_1.jpg

    Explication : Convertit l'image au format JPEG.

Formats pris en charge

  1. JPEG

    https://proxy.hyundai.media/thumb/?350x200/filters:format(jpeg)/https://cdn.hyundai.media/l2r/campaign/2024_03/retargeting/bayon/slide_1.jpg

    Explication : Convertit l'image au format JPEG.
  2. PNG

    https://proxy.hyundai.media/thumb/?350x200/filters:format(png)/https://cdn.hyundai.media/l2r/campaign/2024_03/retargeting/bayon/slide_1.jpg

    Explication : Convertit l'image au format PNG.
  3. WebP

    https://proxy.hyundai.media/thumb/?350x200/filters:format(webp)/https://cdn.hyundai.media/l2r/campaign/2024_03/retargeting/bayon/slide_1.jpg

    Explication : Convertit l'image au format WebP.
  4. GIF

    https://proxy.hyundai.media/thumb/?350x200/filters:format(gif)/https://cdn.hyundai.media/l2r/campaign/2024_03/retargeting/bayon/slide_1.jpg

    Explication : Convertit l'image au format GIF.
  5. AVIF

    https://proxy.hyundai.media/thumb/?350x200/filters:format(avif)/https://cdn.hyundai.media/l2r/campaign/2024_03/retargeting/bayon/slide_1.jpg

    Explication : Convertit l'image au format AVIF.

Exemple avec Plusieurs Filtres

Thumbor permet d'appliquer plusieurs filtres en les combinant dans l'URL. Voici un exemple où plusieurs filtres sont appliqués :

Description : Redimensionne l'image, applique un effet de flou, ajuste la luminosité, et convertit l'image au format JPEG.

https://proxy.hyundai.media/thumb/?350x200/filters:blur(5):brightness(10):format(jpeg)/https://cdn.hyundai.media/l2r/campaign/2024_03/retargeting/bayon/slide_1.jpg

Explication :

Autres Exemples de Filtres Combinés

    1. Recadrage Centré et Conversion en PNG

      https://proxy.hyundai.media/thumb/?300x200:600x400/filters:format(png)/https://cdn.hyundai.media/l2r/campaign/2024_03/retargeting/bayon/slide_1.jpg

      Explication : Recadre l'image de 300x200 pixels en son centre et la convertit au format PNG.
    1. Rotation et Noir et Blanc

      https://proxy.hyundai.media/thumb/?350x200/filters:rotate(90):grayscale()/https://cdn.hyundai.media/l2r/campaign/2024_03/retargeting/bayon/slide_1.jpg

      Explication : Tourne l'image de 90 degrés et la convertit en niveaux de gris.

    2. Flip Horizontal et Frame

      https://proxy.hyundai.media/thumb/?350x200/filters:flip():frame(5,"black")/https://cdn.hyundai.media/l2r/campaign/2024_03/retargeting/bayon/slide_1.jpg

      Explication : Retourne l'image horizontalement et ajoute une bordure noire de 5 pixels.

    3. JPEG avec qualité modifiée

      https://proxy.hyundai.media/thumb/?350x200/filters:quality(80):format(jpeg)/https://cdn.hyundai.media/l2r/campaign/2024_03/retargeting/bayon/slide_1.jpg 

      Explication : Redimensionne l'image à 350x200 pixels et ajuste la qualité du JPEG à 80%.

    Paramètres AVIF dans Thumbor

    https://proxy.hyundai.media/thumb/?350x200/filters:quality(60):speed(4):format(avif)/https://cdn.hyundai.media/l2r/campaign/2024_03/retargeting/bayon/slide_1.jpg

    Explication :

    Exemple d'URL pour Ajouter un Watermark


    Description : Ajoute un watermark à une image, spécifie l'image de watermark, sa position, et son opacité.

    https://proxy.hyundai.media/thumb/?350x200/filters:watermark(https://example.com/path/to/watermark.png,10,10,50)/https://cdn.hyundai.media/l2r/campaign/2024_03/retargeting/bayon/slide_1.jpg


    Explication :

    Filtres Supplémentaires

    Fill (Remplissage)

    Description : Remplit l'image avec une couleur spécifique si elle n'atteint pas les dimensions spécifiées.

    https://proxy.hyundai.media/thumb/?350x200/filters:fill(white)/https://cdn.hyundai.media/l2r/campaign/2024_03/retargeting/bayon/slide_1.jpg

    Explication: Remplit l'image avec une couleur blanche pour atteindre les dimensions 350x200 pixels.

    Round Corner (Coins Arrondis)

    Description : Applique des coins arrondis à l'image.

    https://proxy.hyundai.media/thumb/?filters:round_corner(20,20,5)/https://cdn.hyundai.media/l2r/campaign/2024_03/retargeting/bayon/slide_1.jpg

    Explication: Applique des coins arrondis avec un rayon de 20 pixels, un lissage de 20, et une opacité de 5.

    Gestion des images issues de NocoDB

    Le proxy gère également les transformations d'images issues de nocodb

    https://proxy.hyundai.media/thumb/?fit-in/350x300/filters:fill(002c5f):background_color(002c5f):border(5,white):format(webp):quality(100)/dltemp/DtS-QtG9HKyOFvv7/1720804200000/noco/pt1ltv5xyoreh11/md6xxnbcufy5s3c/cn472ajk23jslj8/s2L4pI30SPEDfKnSr-.png

    L'url de l'image NocoDB doit obligatoirement commencer par "dltemp/"

    Thumbor

    Proxy

    Proxy PHP pour Thumbor avec Support de NocoDB

    Description

    Ce script PHP sert de proxy pour accéder à Thumbor, tout en téléchargeant et en traitant les images provenant de NocoDB. Il cache également les images pour améliorer les performances et inclut des fonctionnalités de journalisation.

    Structure du Projet

    1. proxy.php: Script principal pour servir les images via Thumbor.
    2. config.php: Fichier de configuration contenant les paramètres essentiels.
    3. cleanup.php: Script pour nettoyer les fichiers temporaires et le cache.
    4. debug.log: Fichier de journalisation des événements du proxy.
    5. temp/: Dossier pour stocker temporairement les images téléchargées.
    6. cache/: Dossier pour stocker les images mises en cache.

    Explication du Code

    1. proxy.php

    2. config.php

    Ce fichier contient les paramètres de configuration pour le proxy, incluant :

    3. cleanup.php

    Conclusion

    Ce proxy PHP est conçu pour servir les images via Thumbor tout en téléchargeant et en traitant les images provenant de NocoDB. Il met en cache les images pour des performances optimales et inclut des fonctionnalités de journalisation et de nettoyage pour gérer les fichiers temporaires et de cache.

    Uptime Kuma

    Uptime Kuma

    Monitorring

    Présentation

    Uptime Kuma est un logiciel open-source de surveillance de la disponibilité des services web et des serveurs. Il permet aux utilisateurs de suivre en temps réel le statut de divers services, sites web, et serveurs, en vérifiant régulièrement leur disponibilité et leur temps de réponse. Les principales fonctionnalités d'Uptime Kuma incluent :

    1. Surveillance de la disponibilité : Uptime Kuma peut surveiller une variété de services comme les sites web HTTP/HTTPS, les services TCP, les bases de données et les serveurs de messagerie.

    2. Notifications : Les utilisateurs peuvent configurer des notifications via plusieurs canaux (email, Slack, Telegram, Discord, etc.) pour être alertés en cas de panne ou de rétablissement d'un service.

    3. Interface utilisateur : L'application dispose d'une interface web intuitive qui permet de visualiser rapidement l'état de tous les services surveillés, avec des graphiques et des statistiques sur la disponibilité et les temps de réponse.

    4. Historique et rapports : Uptime Kuma garde un historique des incidents et des périodes de disponibilité, permettant aux utilisateurs de générer des rapports détaillés pour analyser la performance de leurs services au fil du temps.

    5. Installation facile : Le logiciel est facile à installer et à configurer, souvent déployé via des conteneurs Docker ou directement sur un serveur Linux.

    En résumé, Uptime Kuma est un outil puissant et flexible pour assurer la surveillance continue et proactive des infrastructures numériques, aidant les administrateurs à maintenir une haute disponibilité et à réagir rapidement en cas de problème.

    Connexion

    http://192.168.1.146:3001/dashboard

    login : innocean
    mdp : x?Gbr99q#$eF#Ca3

    Plane

    Déploiement Vercel

    Un guide étape par étape pour déployer une application sur Vercel

    Étape 1 :

    Avoir un repository Github sous l'organisation INNOCEAN.
    Se connecter à Vercel avec le compte TeamProd.

    Étape 2 :

    Ouvrir le terminal et lancer la commande vercel login
    Se connecter avec le compte GitHub TeamProd

    Lancer la commande vercel --prod

    Étape 3 :

    Installer Vercel-CLI avec la commande suivante : npm i -g vercel

    Ajouter à la racine du projet un dossier ".github"
    Dans ce dossier, créer un nouveau dossier "workflows".
    A l'intérieur de ce dossier, créer un fichier "deploy.yml" contenant la configuration suivante :

    name: Deploy to Vercel
    
    on:
      push:
        branches:
          - "*" # Déclencher pour toutes les branches sauf celles explicitement ignorées
    
    jobs:
      deploy:
        runs-on: ubuntu-latest
    
        steps:
          - name: Checkout code
            uses: actions/checkout@v2
    
          - name: Setup Node.js
            uses: actions/setup-node@v2
            with:
              node-version: "18" # Utilisez la version Node.js requise par votre projet
    
          - name: Install dependencies
            run: npm install
    
          - name: Deploy to Vercel (Production)
            if: github.ref == 'refs/heads/main' || github.ref == 'refs/heads/master' # Si la branche est 'main ou master'
            env:
              VERCEL_TOKEN: ${{ secrets.VERCEL_TOKEN }}
            run: npx vercel --token $VERCEL_TOKEN --prod --confirm --cwd .
    
          - name: Deploy to Vercel (Staging)
            if: github.ref != 'refs/heads/main' && github.ref != 'refs/heads/master' # Si la branche n'est pas 'main ou master'
            env:
              VERCEL_TOKEN: ${{ secrets.VERCEL_TOKEN }}
            run: npx vercel --token $VERCEL_TOKEN --confirm --cwd .

    NE PAS OUBLIER COMMIT & PUSH SUR MAIN 

    Étape 4 :

    Dans le repository GitHub, aller à l'onglet Settings > Secrets and variables > Actions > New Repository Secret
    Le nom de la clé doit être : "VERCEL_TOKEN"
    Le secret doit être : HqqGOjsZyXFgAkKmvJkmLite (Clé Vercel qui est déjà générée)

    Étape 5 :

    Si vous voulez que l'URL de déploiement soit différente sur Vercel, vous pouvez créer une variable d'environnement qui prendra en valeur votre URL de déploiement en production (par exemple sur le site de Hyundai) dans votre projet Vue.js et la changer directement dans Vercel pour qu'elle soit à la racine.

    Aller dans votre projet sur le site de Vercel puis Settings > Environnement Variables. Ensuite, ajouter le nom de la variable que vous avez créée dans votre fichier .env et ne rien mettre dans la value.

    Étape 6 :

    Vérifier l'avancement du déploiement dans GitHub Actions.
    Vérifier le déploiement sur Vercel

    Annexe 2 : Harcèlement moral et Sexuel

    Voici des exemples de fraudes internes, sans que cette liste soit exhaustive :

    Schémas de facturation

    Mauvaise utilisation des comptes

    Inventaire et actifs fixes

    Approvisionnement

    Paie

    Pots-de-vin

    Intérêts personnels