HtmlToText
menu deblan catégories moi futilités de geek le blog trinity cms la toile cms installer sunderland divers développement les cours graphisme le [frigo] les jeux-video informatique musique humour cinéma contact recherche hébergement forge le réseau neutralnetwork (irc) métamoteur (searx) colorisateur de code (#!gist) colorisateur de code (wall) indenteur xml livecoding mes flux amis tux-planet planet libre vtc colmar dr saule in the us djan gicquel romain sibille dotshare.it datalove agence digitale simon vieille it director at zenitude groupe, symfony expert and debian addict rss github linkedin diaspora twitter facebook gist 1.9.0 en ligne… vive le monde du dev front ! la version 1.8.3 aussitôt publiée, j'avais complètement oublié la mort de bower au profit de yarn . du coup, une tentative d'installation et tout fonctionne sauf les assets qui étaient gérés avec bower . j'avais 2 choix possibles : utiliser yarn pour remplacer bower pour sans doute le voir disparaître dans quelques mois ou choisir un outil un peu plus bas niveau : npm . la version 1.9.0 inclue donc npm pour gérer les assets de gist . dans cette version, il y a également un script exécuté à la fin des commandes composer pour configurer l'application sans passer par une édition manuelle des fichiers : pour mettre à jour votre application gist coté client et serveur : make à la racine du projet. développement #gist gist 1.8.3 released! 2 bugs majeurs fixés gist est un service en ligne et une application auto-hébergeable pour partager du code sur le web et en ligne de commande. j'ai publié à l'instant la version 1.8.3 qui corrige 2 bugs majeurs concernant l'api : la mise à jour d'un gist requêtait le mauvais end point ( diff ) le contrôleur php pour la mise à jour d'un gist pouvait récupérer un gist qui n'était pas celui qu'on voulait mettre à jour ( diff ) pour mettre à jour votre application gist coté client et serveur : développement #gist remote i3-wm ws : ma télécommande pour bureau debian gnu/linux il m'arrive d'avoir besoin de prendre le contrôle de ma machine via mon android (bouger la souris, scroller et taper du texte). j'ai quasiment toujours utilisé l'application pointer host . elle s'appuie sur un serveur java lancé sur ma machine. pour bouger la souris et générer des cliques, elle est très efficace. cependant, l'écriture de caractères a toujours posé problème (chiffres et lettres accentuées erronés). depuis quelques semaines, j'ai envie de jouer avec les websockets et réécrire une appli du genre m'a semblé être un bon exercice. ce que je vais vous présenter est une poc. cette application n'est pas sécurisée et est orientée pour mes besoins. il est cependant très simple de la faire évoluer. voici mon cahier des charges : aucune application ne doit être installée sur mon téléphone utilisation du navigateur web pour le pilotage pouvoir bouger la souris pouvoir générer des cliques pouvoir scroller pouvoir taper des mots pouvoir lancer des raccouris claviers pouvoir gérer le volume du son pour spotify : lancer et mettre en pause la musique, avancer et reculer dans la playlist en cours de lecture pouvoir changer de workspace dans mon gestionnaire de fenêtres i3-wm les outils pour scripter tout ça sont connus : xdotool pour simuler un clavier et une souris (3, 4, 5, 6, 7) : xdotool type "ceci va être tapé" xdotool key enter (touche entrée ) xdotool click 1 (clique gauche) amixer pour gérer le volume (8) : amixer set master 50% (volume à 50%) playerctl pour piloter spotify (9) : playerctl -p spotify next (titre suivant) i3-msg pour piloter i3-wm (10) : i3-msg 'workspace "foo"' (affichage du workspace foo ) websocket est un protocole réseau issu du web qui permet de créer un canal full-duplex entre un client et un serveur. ils peuvent donc communiquer en temps réel dans une connexion tcp. comme à mon habitude et par esprit de contradiction (pas de nodejs), j'ai décidé d'écrire la partie serveur en php 7. la partie cliente est en html 5 avec un peu de javascript. entre le serveur et le client, ce sont des messages textes qui sont échangés. j'ai décidé de les formater en json et seul le client va en envoyer. ils sont toujours sous cette forme : {"type":"un type de message", [données complémentaires]} . voici quelques exemples : {"type":"workspace","value":"1. irc"} {"type":"pointer","click":"left"} {"type":"media","value":"next"} {"type":"volume","value":"down"} {"type":"scroll","value":"up"} {"type":"pointer","x":"-2","y":"3"} {"type":"text","value":"un texte"} on peut aussi envoyer plusieurs messages dans un seul. voici un exemple qui va permettre d'ouvrir urxvt via dmenu que je lance avec win+d : {"type":"messages","value":[{"type":"keys","value":"win,d"},{"type":"text","value":"urxvt"},{"type":"key","value":"enter"}]} ces messages sont générés par le client et sont interprétés par des messagehandler une fois transmis au serveur. en voici un exemple : le code source de l'application est disponible sur deblan/remote-i3wm-ws et la procédure d'installation est simple : pour lancer le serveur websocket, il faut exécuter server/server start (@see restart et stop ). le serveur va écouter sur le port 14598 . concernant la partie cliente, vous pouvez créer un vhost apache/nginx qui pointera sur client/ ou lancer le serveur web built-in de php via php -s 0.0.0.0:15000 -t client/ . il faudra à présent vous connecter au serveur web depuis un navigateur. quelques captures de la partie cliente : je vais essayer de faire une vidéo de démonstration. depuis mon samsung s8, ça fonctionne du feu de dieu et sur un petit iphone 4s, c'est tout aussi fonctionnel (à part l'interface web un peu étriquée). edit 1 dbus-send a été remplacé par playerctl (merci thomas l) le type messages a été ajouté et permet d'envoyer plusieurs messages (cf l'exemple avec urxvt ) et les mises à jour du code edit 2 le code php du serveur a été déplacé dans server/src/resource/server.php server/server est à présent un script shell et permet de lancer, relancer et stopper le serveur websocket ( server/server start|restart|stop ) développement futilités de geek #remote access #i3-wm #php7 #websocket monitordisplay : gérer ses dispositions d'écrans je branche très souvent des écrans externes à mon laptop et je suis un peu lassé de bidouiller xrandr . en effet, ses instructions sont simples mais assez longues et pénibles à écrire. ainsi, j'ai décidé de me faire un outil pour pouvoir configurer des modes d'affichage, pouvoir ajouter plusieurs dispositions et les activer rapidement. comme à mon habitude, c'est un outil en ligne de commande. j'ai décidé d'utiliser php pour une question de pratique pour moi. installation de monitordisplay il faut installer l'interpréteur php (5 ou 7) : maintenant que php est installé, il faut récupérer le projet : configuration monitordisplay va essayer de charger 3 fichiers. chaque fichier peut surcharger la configuration du précédent. voici la liste : /etc/monitordisplay/config.ini $home/.config/monitordisplay/config.ini $home/.monitordisplay je suis le seul utilisateur du laptop donc je vais juste créer le dernier. le fichier de configuration copié contient 2 écrans : laptop et hdmi sont les identifiants "humains" sur lesquels je vais m'appuyer pour réaliser les dispositions. le paramètre name contient l'identifiant technique passé à xrand . resolutionx et resolutiony indiquent la résolution de l'écran. il est possible de configurer plusieurs fois le même écran. il suffit de modifier l'identifiant humain. vous pouvez ainsi prévoir plusieurs résolutions. maintenant, il reste à renseigner des modes d'affichage. en voici trois exemples : tout comme un écran, le mode d'affichage porte un identifiant. il possède également une liste de dispositions ( config[] ) et un indicateur (optionnel) d'écran principal ( primary ). l'ordre des identifiants définie la position, de gauche à droite, des écrans. utilisation pour activer un mode d'affichage (exemple : work ), il suffit de lancer cette ligne de commande
Informations Whois
Whois est un protocole qui permet d'accéder aux informations d'enregistrement.Vous pouvez atteindre quand le site Web a été enregistré, quand il va expirer, quelles sont les coordonnées du site avec les informations suivantes. En un mot, il comprend ces informations;
Domain Name: DEBLAN.ORG
Registry Domain ID: D163502223-LROR
Registrar WHOIS Server:
Registrar URL: http://www.gandi.net
Updated Date: 2016-08-04T18:54:37Z
Creation Date: 2011-10-03T21:32:15Z
Registry Expiry Date: 2017-10-03T21:32:15Z
Registrar Registration Expiration Date:
Registrar: Gandi SAS
Registrar IANA ID: 81
Registrar Abuse Contact Email:
Registrar Abuse Contact Phone:
Reseller:
Domain Status: clientTransferProhibited https://icann.org/epp#clientTransferProhibited
Registry Registrant ID: C115352851-LROR
Registrant Name: Simon Vieille
Registrant Organization:
Registrant Street: Obfuscated whois Gandi-63-65 boulevard Massena
Registrant City: Obfuscated whois Gandi-Paris
Registrant State/Province:
Registrant Postal Code: 75013
Registrant Country: FR
Registrant Phone: +33.170377666
Registrant Phone Ext:
Registrant Fax: +33.143730576
Registrant Fax Ext:
Registrant Email: f8037a041d39076a906166aee2b68285-1381717@contact.gandi.net
Registry Admin ID: C115352851-LROR
Admin Name: Simon Vieille
Admin Organization:
Admin Street: Obfuscated whois Gandi-63-65 boulevard Massena
Admin City: Obfuscated whois Gandi-Paris
Admin State/Province:
Admin Postal Code: 75013
Admin Country: FR
Admin Phone: +33.170377666
Admin Phone Ext:
Admin Fax: +33.143730576
Admin Fax Ext:
Admin Email: f8037a041d39076a906166aee2b68285-1381717@contact.gandi.net
Registry Tech ID: C115352851-LROR
Tech Name: Simon Vieille
Tech Organization:
Tech Street: Obfuscated whois Gandi-63-65 boulevard Massena
Tech City: Obfuscated whois Gandi-Paris
Tech State/Province:
Tech Postal Code: 75013
Tech Country: FR
Tech Phone: +33.170377666
Tech Phone Ext:
Tech Fax: +33.143730576
Tech Fax Ext:
Tech Email: f8037a041d39076a906166aee2b68285-1381717@contact.gandi.net
Name Server: C.DNS.GANDI.NET
Name Server: B.DNS.GANDI.NET
Name Server: A.DNS.GANDI.NET
DNSSEC: unsigned
URL of the ICANN Whois Inaccuracy Complaint Form: https://www.icann.org/wicf/
>>> Last update of WHOIS database: 2017-08-04T09:24:25Z <<<
For more information on Whois status codes, please visit https://icann.org/epp
Access to Public Interest Registry WHOIS information is provided to assist persons in determining the contents of a domain name registration record in the Public Interest Registry registry database. The data in this record is provided by Public Interest Registry for informational purposes only, and Public Interest Registry does not guarantee its accuracy. This service is intended only for query-based access. You agree that you will use this data only for lawful purposes and that, under no circumstances will you use this data to: (a) allow, enable, or otherwise support the transmission by e-mail, telephone, or facsimile of mass unsolicited, commercial advertising or solicitations to entities other than the data recipient's own existing customers; or (b) enable high volume, automated, electronic processes that send queries or data to the systems of Registry Operator, a Registrar, or Afilias except as reasonably necessary to register domain names or modify existing registrations. All rights reserved. Public Interest Registry reserves the right to modify these terms at any time. By submitting this query, you agree to abide by this policy.
REFERRER http://www.pir.org/
REGISTRAR Public Interest Registry
SERVERS
SERVER org.whois-servers.net
ARGS deblan.org
PORT 43
TYPE domain
RegrInfo
DOMAIN
NAME deblan.org
HANDLE D163502223-LROR
CREATED 2011-03-10
STATUS
clientTransferProhibited https://icann.org/epp#clientTransferProhibited
NSERVER
C.DNS.GANDI.NET 217.70.179.1
B.DNS.GANDI.NET 213.167.229.1
A.DNS.GANDI.NET 173.246.98.1
OWNER
HANDLE C115352851-LROR
NAME Simon Vieille
ADDRESS
STREET
Obfuscated whois Gandi-63-65 boulevard Massena
CITY Obfuscated whois Gandi-Paris
PCODE 75013
COUNTRY FR
PHONE +33.170377666
EMAIL f8037a041d39076a906166aee2b68285-1381717@contact.gandi.net
ADMIN
HANDLE C115352851-LROR
NAME Simon Vieille
ADDRESS
STREET
Obfuscated whois Gandi-63-65 boulevard Massena
CITY Obfuscated whois Gandi-Paris
PCODE 75013
COUNTRY FR
PHONE +33.170377666
EMAIL f8037a041d39076a906166aee2b68285-1381717@contact.gandi.net
TECH
HANDLE C115352851-LROR
NAME Simon Vieille
ADDRESS
STREET
Obfuscated whois Gandi-63-65 boulevard Massena
CITY Obfuscated whois Gandi-Paris
PCODE 75013
COUNTRY FR
PHONE +33.170377666
EMAIL f8037a041d39076a906166aee2b68285-1381717@contact.gandi.net
REGISTERED yes
Go to top