Transformez votre smartphone en télécommande Windows – sans cloud ni compte

Votre téléphone peut déjà diffuser des films vers votre téléviseur, alors pourquoi ne pas mettre en pause celui qui tourne sur votre ordinateur sans quitter votre lit ? LapDeck, un nouvel outil open source, le permet – sans cloud, sans compte, juste un npm start sur Windows et un rapide scan de QR depuis votre smartphone.
Conçu en un week-end, pensé pour un usage réel
LapDeck repose sur un seul processus Node.js exécuté sur l’ordinateur portable et une PWA sur le téléphone. L’agent héberge la PWA, ouvre un WebSocket pour les commandes et diffuse l’écran en MJPEG via votre propre réseau Wi-Fi. Le protocole utilise volontairement des enveloppes JSON simples, afin qu’un futur client Android ou un script CLI puisse l’adopter en une après-midi. Les fonctionnalités spécifiques à Windows, comme le volume, la luminosité et l’alimentation, sont isolées dans leur propre dossier, ce qui facilite un portage sur macOS ou Linux en remplaçant uniquement cette couche plutôt qu’en tout réécrire.
Les astuces qui donnent une expérience native
Les claviers mobiles mentent sur ce que vous tapez. Au lieu d’écouter les codes de touche individuels – Android signale chaque appui comme keyCode 229 –, LapDeck maintient un champ de saisie caché, compare sa valeur avec le dernier état connu et envoie des insertions propres à l’ordinateur. Tapez une phrase en glissant et l’ordinateur reçoit un collage cohérent. Pour la visualisation en direct de l’écran, WebRTC serait « la bonne solution », mais LapDeck utilise du MJPEG à la place : des captures d’écran réalisées avec nut.js, redimensionnées et encodées en JPEG avec sharp, envoyées en tant que multipart/x-mixed-replace. Une simple balise <img> affiche les images en natif ; les préréglages de qualité ajustent les FPS, la largeur et la qualité JPEG. Pour masquer le délai inhérent au flux, le téléphone superpose son propre curseur, afin que votre doigt se déplace instantanément tandis que le vrai curseur rattrape le mouvement en dessous.
Sécurité sans formalités inutiles
Donner à une page web le pouvoir d’injecter des entrées et d’éteindre votre ordinateur mérite de la méfiance. LapDeck exige un jeton aléatoire de 256 bits généré au premier lancement et intégré au lien QR ; le scanner ne l’enregistre qu’une fois sur le téléphone. Chaque commande WebSocket et le flux MJPEG doivent présenter ce jeton ; la comparaison s’effectue en temps constant et la connexion est coupée si l’authentification n’est pas validée sous trois secondes. Les fonctionnalités sont activées côté serveur, donc si vous désactivez la visualisation d’écran, l’agent refuse le flux même si le téléphone conserve le jeton.
Pourquoi c’est important
LapDeck démontre jusqu’où il est possible d’aller avec du JavaScript pur, un protocole unique et une attention méticuleuse aux spécificités mobiles du monde réel. Il élimine les frictions des outils distants dépendants du cloud tout en restant réactif et sécurisé. Pour les développeurs lassés des configurations multi-comptes et pour les utilisateurs qui veulent simplement un pont local et rapide entre leurs appareils, cette solution légère prouve que la simplicité peut surpasser la complexité.
Source : DEV Community. Synthèse éditoriale assistée par IA — TechnoExpress.

