PROJET AUTOBLOG


Planet-Libre

source: Planet-Libre

⇐ retour index

Nicolas Lœuillet : Effectuez votre veille en toute liberté, aux RMLL 2015 de Beauvais

lundi 27 juillet 2015 à 13:00

Le 8 juillet 2015, j'étais présent aux Rencontres Mondiales du Logiciel Libre à Beauvais pour parler de veille, de liberté et principalement de wallabag.

C'était une première pour moi, ça s'est plutôt bien passé, malgré quelques petits obstacles (changement de salle 45 minutes avant de démarrer, changement de matériel 2 minutes avant de démarrer). À renouveler donc, dès que possible. Au Paris Open Source Summit en novembre peut-être ?

Les slides sont disponibles sur Slideshare.
La vidéo est ici.

Gravatar de Nicolas Lœuillet
Original post of Nicolas Lœuillet.Votez pour ce billet sur Planet Libre.

Goffi : Parlons XMPP - épisode 6 - les commandes à distance

lundi 27 juillet 2015 à 12:48

(pour lire les épisodes précédents, suivez l'étiquette correspondante)

 
Aujourd'hui nous allons parler d'une de mes fonctionnalités favorites dans XMPP : les commandes à distance. Il s'agit de la possibilité pour 2 entités XMPP d'exécuter des actions à distance de manière générique.

La première méthode, assez peu utilisée à ma connaissance, est via la XEP-0009 (oui c'est une vieille, elle date de 2001), qui donne une méthode pour utiliser XML-RPC à travers XMPP.
XML-RPC est un Système de communications inter processus, c'est à dire un moyen pour 2 entités de communiquer à distance. Vous pouvez ainsi exécuter des commandes indépendamment du langage de programmation, en ayant des données décrites (est-ce que je reçois un entier ? Une chaîne de caractères ?). Ceci est particulièrement adapté pour la communication de machines à machines, quand on sait déjà quelles méthodes sont disponibles et ce qu'elles font. Le cas type est une interface de programmation (ou API) pour permettre de contrôler quelque chose, comme un serveur par exemple.

La deuxième méthode est appelée commandes « ad-hoc » (de circonstance), et c'est la XEP-0050 qui les explique. L'idée est aussi de pouvoir exécuter de manière générique des commandes, mais cette fois sans savoir à l'avance ce qui va être disponible, et en pensant plutôt à une interaction humain/machine, bien que machine/machine soit bien sûr tout à fait possible.

Le cas typique d'utilisation est la configuration d'un service, mais ce peut être utilisé pour n'importe quoi.
Ce qui rend cette fonctionnalité particulièrement puissante, c'est qu'elle fait partie de XMPP et donc peut profiter de tous ses avantages, en particulier l'authentification forte (quand on parle à server@example.net, on sait qu'on ne parle pas à quelqu'un d'autre) et la liste de contacts (roster) avec leurs groupes. Nous avons ainsi un système de permissions simple à mettre en œuvre et efficace.

Prenons un exemple: vous êtes administrateur sur Prosody (pour mémoire, un serveur XMPP populaire) – pour cela il vous suffit de donner votre jid dans la variable « admins » dans la configuration –, et vous voulez… pouvoir administrer votre serveur. Pas besoin de s'embêter à avoir une page web dédiée avec mot de passe etc, il vous suffit d'avoir un client XMPP qui gère les commandes ad-hoc (Gajim par exemple), et d'entrer l'adresse de votre serveur.

Exemple ci-dessous avec Libervia, l'adresse libervia.org est celle du serveur, voici ce que, en tant qu'admin, je peux voir.

capture d'écran des commandes ad-hoc pour un admin avec Libervia

Le « Send Announcement to Online Users » (envoyer une annonce à tous les utilisateurs en ligne) est particulièrement utile juste avant une mise à jour.

Avec un compte lambda, voilà ce que l'on voit :
capture d'écran des commandes ad-hoc pour un utilisateur lambda avec Libervia

Malheureusement avec certains clients, l'accès est tout sauf intuitif. Je pense que l'exemple le pire est Psi : pour accéder aux commandes du serveur il faut aller dans la découverte des services (« service discovery ») soit via le menu « General » soit en cliquant droit sur votre profil, puis cliquer sur le nom de votre serveur dans la liste des services, puis enfin cliquer sur l’icône en forme de terminal, appelée « execute command » (exécuter une commande).

Dans Gajim c'est plus simple (clique droit sur votre profil puis « exécuter une commande »), dans Swift c'est dans le menu Actions => Run Server Command (Exécuter une commande serveur). Si vous voulez exécuter des commandes sur un jid arbitraire dans Gajim, il vous faut passer par le menu « Découvrir les services », comme avec Psi ; je n'ai pas l'impression que ce soit possible avec Swift.

Ci dessous une capture de Movim, ces commandes sont dans le menu « actions »:

les actions dans Movim

Même sans être administrateur, les commandes « ad-hoc » peuvent vous être utiles. Par exemple, vous avez oublié de déconnecter votre client chez vous et vous vous trouvez chez un ami. Il vous suffit de vous connecter, et de spécifier le jid complet, avec la ressource, de votre client à la maison. SàT par exemple vous permet à l'heure actuelle de changer votre statut voire de vous déconnecter. Gajim permet en plus de transférer les messages non lus ou de quitter des salons de discussions.

Accès à un client Gajim à distance

Il est facile d'imaginer à quel point cette fonctionnalité peut être utile pour l'administration ou la surveillance de serveurs, pour la robotique, la domotique, le contrôle à distance de votre ordinateur, de votre bot XMPP, etc.

Voyons un autre cas pratique que nous avons implémenté dans Salut à Toi : on couple les commandes « ad-hoc » avec D-Bus. Pour ceux qui ne connaissent pas, D-Bus est un autre système de communication inter-processus qui a été développé par Freedesktop comme un standard commun dans les bureaux libres, en s'inspirant de l'existant et en particulier du DCOP de KDE. Il est donc très largement utilisé dans les logiciels libres, et permet de piloter beaucoup de logiciels courants.
En liant D-Bus et ad-hoc, SàT permet de créer très facilement une télécommande universelle, pilotable depuis n'importe quel client XMPP compatible (y compris sur votre téléphone, ce qui est particulièrement intéressant pour une télécommande), et en prime avec gestion des permissions par groupe.

Cette fonctionnalité est montrée dans le courte vidéo ci-dessous, on autorise les membres du groupe « coloc » à piloter une instance de VLC, pratique quand on fait une séance cinéma dans la colocation :).

Nous allons ajouter également la possibilité d’exécuter des scripts ou des commandes shell, on pourra ainsi très facilement autoriser tous les administrateurs d'un serveur à le redémarrer ou à avoir son statut.

Petite note sur le fonctionnement : les commandes ad-hoc, comme à peu près tout ce qui demande de la transmission d'informations typées dans XMPP, se basent sur les « Data Forms » (formulaires de données, XEP-0004). Cette extension standardise donc les formulaires, et permet de demander des booléens, des mots de passes ou encore des listes de jids.

J'en profite aussi pour vous donner le lien vers la conférence « PubSub, microblogage et XMPP » que j'ai faite aux RMLL il y a un peu plus de 2 semaines. J'y explique en 20 min les bases de PubSub et du microblogage dans XMPP, ainsi que l'intérêt des 2 XEPs que nous avons publiées (cf ce journal sur DLFP). J'en reparlerai bien sûr dans un prochain article.

Bien qu'ayant plusieurs idées en tête, je ne suis pas encore décidé pour le prochain article, il est possible que je parle de PubSub, de copie de fichiers, de chiffrement de bout en bout, ou de tout autre chose…

Gravatar de Goffi
Original post of Goffi.Votez pour ce billet sur Planet Libre.

Geek de France : KDE arrive sur smartphone avec Plasma Mobile

lundi 27 juillet 2015 à 11:02

plasma-mobile-logo

Avec l’hégémonie des géants Apple (iOS), Google (Android) et Microsoft (Windows Phone), on ne peut que se réjouir de l’arrivée de nouveaux OS à destination des smartphones et tablettes. Après Tizen, FirefoxOS et Ubuntu, c’est à KDE de proposer un challenger avec PLASMA MOBILE.

Pour être honnête, Plasma n’est actuellement qu’au stade expérimental. Toutefois, si l’envie vous en prends, vous pouvez déjà expérimenter son usage sur un Nexus 5 (petit how-to ici).

plasma-screen-7

Plasma Mobile repose sur l’environnement Plasma de KDE avec un support ARM et un support des fonctions téléphonique. L’OS a été codé en Qt (KDE oblige) et se veut largement ouvert.

Voila une brève vidéo de présentation de l’OS :

Un large support applicatif

Puisque les applications sont le nerf de la guerre, Plasma Mobile vise l’ouverture et propose le support des applications en Qt/GTK/X11. Aussi, on pourra installer sur son mobile des applications Plasma, Ubuntu Touch (.click), Gnome (e.g.GnomeChess), X11 (e.g.xmame) et potentiellement des application basées sur Qt destinées à Sailfish OS ou Nemo.

Tout n’est pas rose puisqu’actuellement les applications s’installent encore selon la vieille méthode “apt-get install packagename”. Un vrai frein à l’ouverture à un plus large public…

Notons toutefois qu’un travail d’intégration des applications a déjà été pas mal engagé.

plasma_apps

Un nouvel OS, pour quoi faire?

plasma-screen-1

Il y a des chances que Plasma restera très minoritaire dans l’environnement des OS mobiles. Toutefois, ce genre de projet est une excellente initiative à plus d’un égard

Bref, s’il fallait résumer tout ça, je dirai qu’il est temps qu’une alternative viable à Android pointe son bout du nez et que Plasma est un pas avant de plus dans ce sens!

Site officiel de plasma-mobile : http://plasma-mobile.org/

Gravatar de Geek de France
Original post of Geek de France.Votez pour ce billet sur Planet Libre.

Pierre-Alain Bandinelli : Imprimer un espaceur pour le Raspberry et l'Hifiberry Amp+ avec Arduino Materia 101

lundi 27 juillet 2015 à 06:59

Nous évoquions dans ces pages il y a quelques jours l'adjonction de l'Hifiberry Amp+ au Raspberry pour obtenir une station Hifi connectée. Le résultat global était très satisfaisant si ce n'est une résistance mécanique de l'ensemble un peu limitée : la plaque Hifiberry Amp+ n'est en effet fixée sur le Raspberry que par le bus couvrant les pins GPIO.

Qu'à cela ne tienne, imprimons en 3D des petits espaceurs en plastique qui maintiendront un écartement standard entre les 2 circuits imprimés. Le résultat ressemblera à cela :

20150727-espaceur.jpg

Etape 1 : modélisons l'espaceur sous Blender

Une rapide observation de la situation conduit à choisir un parallélépipède rectangle :

Après un peu de travail sous Blender, le résultat sort et semble très satisfaisant :

20150727-espaceur-blender.jpg

Etape 2 : préparons l'impression 3D avec Slic3r

Préparons ensuite le processus d'impression 3D en important le fichier Blender (préalablement converti sous la forme d'un .stl) sous Slic3r. Slic3r est un logiciel libre de grande qualité qui va décomposer la forme 3D en une suite de couches (des "slices" en anglais) et chaque couche va être décomposée en un "chemin" d'impression i.e. une suite des mouvements que fera la tête d'impression 3D.

On profite de cette étape pour vérifier l'échelle de l'objet (il doit mesurer 15 mm de long dans sa plus grande longueur, et 4 mm * 4 mm sur les deux autres faces => on utilisera la fonction "Scale" de Slic3r si la taille n'est pas correcte) et multiplier l'objet sur la plaque d'impression (fonction "More" de Slic3r).

20150727-espaceur-slic3r.jpg

Le processus de découpage se lance automatiquement et il est ensuite possible de vérifier le chemin de la tête d'impression couche après couche :

20150727-espaceur-sliced.jpg

Si l'on est satisfait, on exporte le fichier de commande pour l'imprimante 3D sous la forme d'un Gcode.

Etape 3 : impression avec Materia 101

Au moyen d'une carte SD, on introduit le Gcode dans l'imprimante Materia 101 et, après les préparatifs d'usage (préchauffage, introduction d'un filament de PLA, réalisation d'une "Test Plate" pour vérifier l'alignement en Z), on lance l'impression. 5 minutes plus tard, les 4 petits espaceurs sont prêts. Un petit coup de lime sur les cylindres permet de gommer les quelques aspérités créées lors de l'impression. Il ne reste plus que le montage du Raspberry et de l'Hifiberry Amp+ avec ces nouveaux espaceurs.

Les fichiers 3D pour les espaceurs

Les 3 fichiers ci-dessous sont bien sûr mis à disposition sous Creative Commons Attribution 4.0 International License.

Gravatar de Pierre-Alain Bandinelli
Original post of Pierre-Alain Bandinelli.Votez pour ce billet sur Planet Libre.

Articles similaires

Carl Chenet : Le Journal du hacker choisit son logo !

lundi 27 juillet 2015 à 00:00

Suivez-moi aussi sur Diaspora*diaspora-banner ou Twitter  ou sur Identi.ca

Après avoir modifié son nom, le Journal du hacker choisit son logo ! Et vous pouvez l’aider si vous êtes membre du Journal en choisissant vos 6 logos préférés sur 99designers puis en votant ici.

Il s’agit ici de choisir un concept et un illustrateur, pas le logo définitif. Toutefois nous souhaitons impliquer dès maintenant la communauté de nos lecteurs et contributeurs dans le choix du logo qui forgera l’identité du site.

Pour nos lecteurs qui n’auraient pas encore de compte, il suffit d’en faire la demande ici et un membre de la communauté vous enverra rapidement une invitation. Ce compte vous permet de poster vos liens et de participer à la vie du Journal.

À bientôt sur le Journal du hacker ;)


Gravatar de Carl Chenet
Original post of Carl Chenet.Votez pour ce billet sur Planet Libre.