Monthly Archive 30 November 2025

ByPatrick

Samsung DeX

Samsung DeX, c’est :

  • Tu branches ton téléphone ou tablette Samsung à un écran externe (HDMI/USB‑C ou via dock/Hub).
    Tu peux connecter clavier + souris.
  • L’interface passe en mode “bureau” : fenêtres, barre des tâches, raccourcis, etc.
    Mais ce n’est PAS Windows :
    • Ça reste Android, avec une surcouche “desktop”.
    • Ce sont les applications Android qui tournent, pas des applis Windows classiques (.exe).

On peut voir ça comme :

“Android + interface façon PC”, pas “un téléphone qui devient un vrai PC Windows”.

2️⃣ Pourquoi cette techno n’a pas pris plus d’ampleur ?

Il y a plusieurs raisons, techniques mais surtout… économiques et d’usage.

a) Les applis ne sont pas pensées pour un vrai “bureau”

Même si l’interface DeX ressemble à un PC :

La plupart des applis Android sont pensées pour :

  • écran tactile, format vertical,
    usage “mobile”, pas multi-fenêtres intensif.
    Sur DeX :
  • Certaines applis gèrent mal la fenêtrisation, beaucoup ne sont pas optimisées pour clavier/souris,
    Certaines refusent de s’ouvrir (apps de streaming, banque, etc.).

Résultat : pour un usage pro/productivité sérieux, tu te heurtes vite à des limites.
Un “vrai” PC reste meilleur en bureautique avancée, dev, graphisme, etc.

b) Cas d’usage trop “niche” pour le grand public

DeX est surtout intéressant pour :

  • des pros en déplacement,
  • des travailleurs en “hot desk” (un écran sur chaque bureau, tu poses ton tel et tu bosses),
  • des gens qui veulent remplacer un PC basique (web, mail, bureautique simple).

Mais le grand public :

a déjà souvent un ordinateur portable à la maison,
ou ne ressent tout simplement pas le besoin de brancher le téléphone à un écran.

Ça crée un décalage :

  • Techniquement, c’est cool.
  • Commercialement, ce n’est pas un besoin massif → donc peu de mise en avant, peu d’investissement.

c) Le coût et les accessoires : pas si “magique” que ça

Sur le papier : “Un seul appareil pour tout faire, ton téléphone devient ton PC”.

En pratique :

Il faut :

  • un téléphone haut de gamme (Samsung S / Note / certains A récents),
  • un ou plusieurs écrans compatibles,
  • souvent un dock ou un hub USB‑C, un clavier, une souris.
  • Un PC portable d’entrée/milieu de gamme ne coûte pas beaucoup plus cher qu’un smartphone haut de gamme seul.

Du point de vue d’un utilisateur moyen :

Acheter un PC + un téléphone moyen est souvent plus logique qu’acheter un téléphone très cher + tout un setup écran/dock.

d) Limites techniques (surtout au début)

Aujourd’hui, les SoC mobiles sont très puissants, mais longtemps :

Performances OK pour la bureautique, mais :

  • limitées pour le multitâche lourd, throttling (chauffe → baisse de fréquence),stockage et RAM plus limités qu’un PC.
    Et surtout :
  • Samsung ne peut pas faire tourner des apps Windows nativement sur Android/ARM.
    DeX n’est qu’un mode d’affichage, pas un changement de système.

Pour transformer un téléphone en “vrai PC”, il faudrait :

soit de la virtualisation (Windows en VM, bureau à distance…),
soit que les gens se contentent d’applis 100 % web/cloud (ce que certains font déjà).

e) Intérêt économique limité pour les gros acteurs

Un point important que les gens oublient souvent :

Les constructeurs (Samsung, Apple, etc.) gagnent de l’argent en te vendant :

  • un téléphone
  • un PC / Mac / tablette
  • des accessoires.
    Si ton téléphone remplace ton PC, ça peut réduire les ventes de laptops.

Donc :

Samsung garde DeX comme fonction “plus” pour se différencier, surtout côté pro,
mais ce n’est pas leur cheval de bataille n°1 auprès du grand public.

Et côté Google/Android :

Il existe un “desktop mode” expérimental dans Android, mais Google ne le pousse quasiment pas.
Ils poussent beaucoup plus ChromeOS (Chromebooks) pour le rôle de “PC léger”.

3️⃣ Vraiment aucune concurrence ? En fait, si, mais discrète

En réalité, Samsung n’est pas totalement seul sur ce terrain, mais :

Les concurrents sont moins connus, certains sont réservés à certains marchés (Chine, etc.), d’autres ont été abandonnés.

Quelques exemples :

✅ Ce qui existe / a existé :

  • Huawei Easy Projection / EMUI Desktop
  • Fonction très proche de DeX : tu branches ton Huawei à un écran, tu as un bureau façon PC.
    Problème : l’embargo US a fortement freiné Huawei hors de Chine.

Motorola Ready For
Sur certains Moto (Edge, etc.) : bureau Android sur écran externe, très similaire à DeX.

Mode bureau d’Android (expérimental)
Inclut dans Android depuis Android 10, mais :

   non activé par défaut,
   peu poli, peu mis en avant par Google.

Anciennes tentatives “téléphone = PC” :

   Motorola Atrix (2011) avec son Lapdock,
   Ubuntu Touch / Ubuntu Convergence (Ubuntu Phone),
   Windows 10 Mobile Continuum (Microsoft : ton téléphone Lumia devenait une sorte de PC Windows simplifié).

Toutes ces tentatives se sont cassé les dents soit par manque d’applis, soit par échec de la plateforme complète (Windows Mobile, Ubuntu Phone…).

🔄 Alternatives “proches mais pas identiques”

Ce n’est pas la même approche, mais ça répond à un besoin similaire “un appareil léger pour faire du PC” :

  • Chromebooks (ChromeOS + apps Android) : Laptops très légers, pas basés sur ton téléphone, mais très liés au cloud Google.
  • iPad + clavier + souris + Stage Manager : Apple pousse l’iPad comme “remplacement potentiel du PC” mais ne propose pas un vrai mode bureau à partir de l’iPhone.
  • Bureau à distance / Cloud PC : Tu utilises ton téléphone ou ta tablette comme “terminal” pour te connecter à un vrai PC dans le cloud (Remote Desktop, Shadow, etc.).

4️⃣ En résumé

Samsung DeX est une super démo technologique, très pratique dans certains contextes (pros, nomades, voyages, postes partagés).
Mais ça n’a pas explosé car :

  • les applis Android ne sont pas conçues comme des applis PC,
  • le besoin grand public est limité,
  • PC portables bon marché restent plus simples à comprendre pour tout le monde,les gros acteurs n’ont pas d’intérêt économique énorme à pousser fort ce concept.
  • Il existe de la concurrence, mais très peu visible (Huawei, Motorola, modes bureau cachés d’Android, anciennes tentatives de Microsoft/Ubuntu).
ByPatrick

JPEGmini : Le secret pour réduire vos images

La vitesse de chargement d’un site web dépend énormément du poids des images. C’est là qu’intervient JPEGmini. Cette technologie est devenue une référence pour les photographes et les développeurs web soucieux de la performance.

Mais qu’est-ce que c’est exactement, et surtout, existe-t-il des alternatives gratuites pour nous, développeurs ?

C’est quoi JPEGmini ?

JPEGmini est une technologie de compression d’image brevetée qui permet de réduire la taille des fichiers JPEG (souvent jusqu’à 80 %) sans affecter la qualité perceptuelle.

Contrairement aux compresseurs classiques qui appliquent une compression mathématique uniforme, JPEGmini utilise un algorithme qui imite le système visuel humain. Il analyse l’image zone par zone pour déterminer combien de “détails” peuvent être supprimés avant que l’œil humain ne remarque une différence.

Le résultat ? Une image qui pèse beaucoup moins lourd, mais qui semble identique à l’originale à l’œil nu.

Alternatives Open-Source et Gratuites

Bien que JPEGmini soit très performant, c’est un logiciel propriétaire et payant. Si vous cherchez des solutions similaires pour vos serveurs ou vos pipelines de développement sans passer à la caisse, voici les meilleures alternatives :

MozJPEG (par Mozilla) : Probablement le meilleur compromis actuel. C’est un encodeur JPEG amélioré qui produit des fichiers plus petits que la libjpeg standard, tout en restant compatible avec tous les navigateurs.
Guetzli (par Google) : Un encodeur perceptuel qui vise une qualité visuelle irréprochable. Attention cependant, il est très lent à l’encodage (gourmand en CPU), à réserver pour du traitement hors ligne.
ImageMagick : Le “couteau suisse” de la manipulation d’images. Avec une commande simple (convert -quality 85 input.jpg output.jpg), on obtient des résultats décents, bien que moins optimisés que MozJPEG.
TinyPNG / TinyJPG : Un service en ligne très populaire (avec une API gratuite limitée) qui compresse intelligemment les PNG et JPEG.

Comment l’intégrer dans vos scripts Python ?

En tant que développeur, vous n’avez pas toujours envie d’installer des binaires complexes. Voici comment automatiser la compression d’images directement dans vos scripts Python.

1. La méthode native avec Pillow (PIL)

C’est la méthode la plus simple. La librairie Pillow permet de sauvegarder une image en activant l’option d’optimisation des tables de Huffman.

from PIL import Image

def compresserimage(inputpath, outputpath):
    try:
        img = Image.open(inputpath)
         'optimize=True' force l'encodeur à faire une passe supplémentaire
         'quality=85' est le "sweet spot" entre poids et qualité visuelle
        img.save(outputpath, "JPEG", quality=85, optimize=True)
        print(f"Image sauvegardée : {outputpath}")
    except Exception as e:
        print(f"Erreur : {e}")

compresserimage("monimage.jpg", "monimageopt.jpg")

2. Utiliser MozJPEG via subprocess

Si vous avez besoin d’une compression plus agressive type “production”, le mieux est d’installer l’exécutable mozjpeg (ou cjpeg) sur votre machine et de l’appeler via Python.

import subprocess

subprocess.run(["cjpeg", "-quality", "85", "-outfile", "output.jpg", "input.jpg"])

3. Via une API (JPEGmini ou TinyPNG)

Si vous avez un compte (clé API), vous pouvez envoyer l’image à traiter sur leurs serveurs via la librairie requests. C’est utile si vous ne voulez pas gérer la charge CPU de la compression sur votre propre serveur.

  1. Le concept clé : La “Quantification Adaptative”

Le format JPEG divise l’image en blocs de 8×8 pixels. Pour chaque bloc, il applique une transformation (DCT – Discrete Cosine Transform) puis supprime des détails (Quantification).

JPEG standard : Applique la même force de compression sur toute l'image.
Ton logiciel (type JPEGmini) : Doit analyser chaque zone de l'image.
    Zone de ciel bleu (faible fréquence) : L'œil voit très bien les défauts -> Faible compression.
    Zone de forêt dense (haute fréquence) : L'œil est distrait par le chaos -> Forte compression (masquage visuel).
  1. Les briques techniques à assembler

Si tu veux le coder, tu ne vas pas réécrire l’encodeur JPEG bit par bit (trop complexe et lent en Python/C pur). Tu vas plutôt écrire un optimiseur qui pilote un encodeur existant.

Voici les étapes logiques : A. Le changement d’espace colorimétrique (Luminance vs Chrominance)

L’œil humain est très sensible à la luminosité (Luma), mais peu à la couleur (Chroma).

Action : Convertir RGB en YCbCr.
Technique : Appliquer un sous-échantillonnage (Chroma Subsampling) en 4:2:0. Cela divise déjà le poids des couleurs par 2 sans perte visible.

B. La métrique de qualité “Humaine” (Le juge)

C’est le cœur du système. Tu ne peux pas utiliser le MSE (Mean Squared Error). Tu as besoin d’une métrique qui “voit” comme un humain.

SSIM (Structural Similarity Index) : Compare la structure (contours) plutôt que les pixels bruts.
Butteraugli (par Google) : C'est la métrique utilisée par l'encodeur Guetzli. Elle simule précisément la psychophysique de la vision humaine.
DSSIM : Une variation du SSIM orientée vers la perception de la distance visuelle.

C. La boucle d’optimisation (L’algorithme)

Ton code doit trouver le seuil de compression maximal (Q) avant que la métrique (SSIM ou Butteraugli) ne chute en dessous d’un seuil acceptable.

Algorithme simplifié :

Prendre une image source.
Encoder l'image avec une qualité JPEG de 95 (très haute).
Calculer le score SSIM entre la source et la version compressée.
Si le score est > 0.98 (indiscernable), baisser la qualité à 90.
Répéter (recherche dichotomique) jusqu'à trouver la qualité la plus basse où le SSIM reste acceptable.

Conclusion

JPEGmini reste un outil incroyable pour sa simplicité “drag-and-drop”, mais pour un développeur, combiner Python et MozJPEG (ou simplement Pillow bien configuré) permet souvent d’atteindre des résultats très proches gratuitement.