Une image Docker pour Web2py

J’ai récemment découvert Docker. Docker permet d’empaqueter une applications et tout son environnement dans un “conteneur” afin de pouvoir le déployer facilement sur une autre machine, serveur,…

Il est par exemple possible de créer une image Docker pour un serveur Web, une autre pour une serveur de base de données et une troisième pour une application spécifique. Ces images pourront servir à développer l’application. Une fois l’application prête à être déployée sur un serveur de test puis sur un serveur de production, il suffira de copier les conteneurs correspondant à ces applications sur le serveur de test et de production. Ainsi, lors de toutes les étapes de développement, le même environnement d’exécution est utilisé.

Il s’agit là d’un exemple assez complexe, mais moi, je commence simple : j’ai mis au point une petite image Docker permettant de créer un conteneur  exécutant Web2Py, le framework Python que j’utilise pour mes développements web. Continue reading “Une image Docker pour Web2py”

RaspberryPi et carte-son Wolfson : convertir un vinyle en MP3

L’Ancien m’a parlé d’une époque où, pour écouter le dernier album des Beatles, il fallait se rendre au magazin de musique du coin, acheter le vinyle, rentrer chez soi, et, très délicatement, déballer le vinyle, le placer sur le tourne disque, finalement, avec une infime précaution, déposer l’aiguile sur le vinyle. A cette époque, il était très facile de copier un vinyle sur une cassette, pour pouvoir l’écouter dans la voiture, par exemple.

​Cette époque, je l’ai à peine connue. Mais le vinyle revient à la mode, et de nombreux groupes sortent leurs albums en édition vinyle. Et il se trouve que j’apprécie ce moyen de consommer la musique. Le vinyle, avec sa pochette, sont de beaux objets, et le fait se devoir le manipuler avec tant d’attention me pousse à respecter et à apprécier la musique beaucoup plus intensément que si elle provenait d’un simple fichier MP3.

Ma collection de vinyles commence à s’agrandire. Je possède la version CD et/ou digitale de la plupart de mes vinyles mais… pas de tous. J’aimerais cependant pouvoir les écouter en voiture ou au boulot. Comment faire?

L’Ancien me répondra que, de son temps, il suffisait de le copier sur une cassette mais… je n’ai pas de lecteur de cassette dans ma voiture. Le pti-jeune répondra qu’il lui faut un fichier MP3 pour pouvoir l’écouter sur son smartphone.

Voyons maintenant comment convertir un vinyle en MP3 en utilisant un RaspberryPi équipé d’une carte son Wolfson !

Continue reading “RaspberryPi et carte-son Wolfson : convertir un vinyle en MP3”

RpiPowerControl, un contrôleur d’alimentation pour le RaspberryPi!

Cela fait un moment que je n’ai plus posté d’article sur ce blog, et ce, pour plusieurs raisons. La principale étant que je travaillais sur un petit projet en parallèle de Touchradio :RpiPowerControl. Derrière ce nom se cache un petit module me permettant de contrôler (ON/OFF) l’alimentation du RaspberryPi et de l’écran tactile, individuellement.

J’avais en effet besoin de ce genre de module pour Touchradio. Comme je l’ai dis précédemment, j’ai actuellement une version utilisable du soft, et j’ai donc commencé à l’utiliser dans ma cuisine. Comme vous le savez, le RaspberryPi ne dispose pas de bouton permettant d’allumer, d’éteindre ou de resetter le système. Il est donc nécessaire de brancher l’alimentation lorsque l’on souhaite l’allumer, et de retirer la prise pour l’éteindre ou le redémarrer. Cela se faisait du temps de Windows95, où l’ordinateur nous demandait gentiment d’éteindre l’ordinateur lorsque le système avait fini sa procédure d’arrêt. Mais de nos jours, nous sommes habitués à allumer nos appareils high-tech en appuyant sur un simple bouton, et à les arrêter ou les mettre en veille en réappuyant sur ce même bouton. Continue reading “RpiPowerControl, un contrôleur d’alimentation pour le RaspberryPi!”

Installation de Squeezelite sur le RaspberryPi

Squeezelite est un émulateur pour Squeezebox pour Linux, OSX et Windows. Les Squeezebox font partie de la gamme des lecteurs audio de Logitech qui se connectent au serveur Logitech Media Server. L’ensemble permet de créer un système audio disposant de plusieurs lecteurs pouvant être ou non synchronisés. On peut ainsi mettre en place un système audio multi-pièces en connectant un ou plusieurs lecteurs (Squeezebox de Logitech, par exemple) avec un dispositif faisant tourner le serveur Logitech Media Server. Continue reading “Installation de Squeezelite sur le RaspberryPi”

Touchradio: avancement

Ces derniers temps, j’ai pas mal avancé sur mon projet Touchradio. J’ai codé une bonne partie des fonctionnalités minimum de base:

Affichage du morceau en cours de lecture (artiste, album, titre, pochette si disponible)
Contrôle de la lecture (lecture, arrêt, pause, précédent, suivant) et du volume
Parcours de la bibliothèque par artistes, albums et chansons
Parcours de la liste des favoris.

Ces fonctionnalités me permettent d’avoir un lecture audio de base et de pouvoir lire ma collection musicale ainsi que mes radios internet favorites.

Le but est d’avoir un premier prototype utilisable en situation réelle (dans ma cuisine…) d’ici la fin de l’année.

Il reste donc la deuxième partie de ce projet, qui est peut-être la plus importante, l’interface graphique! Mon objectif est de réussir à créer une interface graphique agréable à utiliser, simple, rapide, moderne, et conçue pour être utilisée via un écran tactile. Le problème : je suis très mauvais à ce petit jeu! Les interfaces graphiques que je crée pour des applications PC sont, la plupart du temps, très laides, et absolument pas pratiques. Arriverai-je à faire mieux cette fois-ci? Continue reading “Touchradio: avancement”

TouchRadio: passage à QT5

Je vous ai parlé précédemment de mon projet en cours, TouchRadio. J’ai commencé (et bien avancé) le travail en me basant sur le couple Python/Kivy. Kivy est une excellente libraire graphique optimisée pour utiliser l’accélération hardware OpenGL ES. J’ai réussi assez facilement à me créer une petite interface graphique sympa, à communiquer avec le serveur Logitech Media Server en utilisant PyLMS,…

Continue reading “TouchRadio: passage à QT5”

Quelques expérimentations avec Diaspora*

Utilisateurs d’internet, nous utilisons de plus en plus de services en ligne soi-disant gratuits: réseaux sociaux, boîtes mail, chats, conversations audio/video, stockage de données,… Ces services sont hébergés et maintenu par des sociétés dont le but est de se faire de l’argent. Or, comment peuvent-elles se faire de l’argent alors qu’elles ne vous demandent pas de payer pour pouvoir utiliser ces services? Et puis, que font ces sociétés avec nos photos de vacances, avec nos conversations hautement phylosophiques sur le lien entre les extra-terrestres et nos ‘dieux’ que j’ai eue hier soir avec un ami, avec mes commentaires sur mon humeur du moment,…? Aussi, comment ces services sont-ils gérés? Sont-ils sécurisés? Existeront-ils encore sous la même forme dans quelques mois ou années? Oh, je n’ai pas de réponses toutes faites à ces questions, et je ne compte pas y répondre dans ce billet. Néanmoins, le simple fait de me poser ces questions m’a poussé à chercher des alternatives à certains de ces services. De plus, c’est tellement amusant et intéressant de pouvoir héberger ses propres services chez soi, dans son salon, sur son RaspberryPi préféré.

C’est d’ailleurs dans cette optique là que j’ai décidé d’héberger moi-même ce blog ! Continue reading “Quelques expérimentations avec Diaspora*”

Un écran tactile HDMI pour le RaspberryPi!

Pour mon projet Touchradio, j’avais besoin d’un écran tactile. Trouver un écran, c’est facile. Trouver un écran de taille et de résolution adaptée, ça l’est déjà un peu moins. Trouver un écran avec une connectique HDMI et un prix raisonnable, c’est encore un peu plus compliqué. Mais alors, trouver un écran tactile ayant ces caractéristiques et pour lequel le support pour Linux/ARM est confirmé, là, ça devient limite impossible!

Finalement, j’ai trouvé mon bonheur chez Chalk-Elec. Il s’agit d’une société basée en Malaisie qui conçoit des écrans, convertisseurs LVDS,… pour des cartes comme le BeagleBone, PandaBoard et, bien entendu, le RaspberryPi. Continue reading “Un écran tactile HDMI pour le RaspberryPi!”

Bittorrent Sync sur le RaspberryPi

BitTorrent Sync est un outil créé par BitTorrent permettant de synchroniser des répertoires entre plusieurs machines de manière simple, sécurisée et décentralisée. C’est bien cette notion de décentralisation qui diffère le plus Sync des autres solutions de synchronisation “dans le cloud” telles que DropBox, Skydrive, Google Drive,… L’absence d’un serveur central assure une plus grande confidentialité des données. En effet, les données ne sont jamais copiées sur un serveur distant, serveur sur lequel vous n’avez pas la main. Les données restent donc sur votre disque dur et sur celui des ordinateurs qui sont synchronisés avec votre répertoire. Cela a pour désavantage que au moins un des ordinateur synchronisé doit être en ligne afin de pouvoir télécharger le contenu ou les mises à jours du contenu.

Pour plus d’information sur BitTorrent Sync, je vous invite à visiter le site de l’application Continue reading “Bittorrent Sync sur le RaspberryPi”

Serveur dédié OpenTTD

OpenTTD est un jeu de simulation open-source basé sur Transport Tycool Deluxe. Le but de ce jeu est de créer une compagnie de transport (routier, ferrovière, aérien) la plus propère possible.

Même si les graphismes font un peu vieux jeu, je peux vous assurer que l’essayer, c’est l’adopter! Ce jeu est vraiment adictif!

OpenTTD est donc open-source et est porté sur de multiples plateformes : Windows, Linux, MacOS,…

Il est possible de jouer en solo, avec éventuellement d’autres joueurs gérés par une IA. Mais le jeu prend tout son intérêt en multi-joueurs! J’ai passé des heures et des heures avec des amis à essayer de gagner encore et toujours plus d’argent, à créer des réseaux de chemins de fer de plus en plus complexes,…

Il est possible de trouver des serveurs publics, mais aussi d’héberger son propre serveur. Libre à tout un chacun de le rendre public ou non.

C’est l’installation du serveur dédié, sur le RaspberryPi, que je vais détailler ici.

Continue reading “Serveur dédié OpenTTD”