Fini le plugin WordPress Stats, passez à Jetpack!

Ces derniers jours les statistiques de mon blog fonctionnant avec WordPress étaient inaccessibles à cause de quelques turbulences sur les serveurs de WordPress.com. Ce sont des choses qui arrivent, c’est très acceptable.
Mais ce matin en essayant à nouveau de voir les statistiques de mon blog que ce soit directement depuis mon site ou bien depuis le tableau de bord de WordPress.com, j’ai eu la surprise de ce genre de ce messages:
Your WordPress.com account, XXXXXX is not authorized to view the stats of this blog.
Vous n’êtes pas un membre autorisé de ce site.

Et d’autres messages tout aussi sympathiques… On me dit aussi que ma clé API appartient au compte d’un autre utilisateur… mouaif…
Cela n’aurait-il pas plutôt rapport avec le lancement de Jetpack et son nouveau mode d’autorisation d’accès?… si si!

Jetpack c’est quoi?

Ben voici le site: http://jetpack.me

Présentation sur le blog officiel de WordPress (en anglais): Boost your self-hosted WordPress with Jetpack

L’idée de cette extension est de proposer les avantages de WP.com (aucune maintenance à faire, ajout constant de nouvelles fonctionnalités) aux utilisateurs de WP ayant choisi d’héberger eux-mêmes leur site — et donc de leur éviter certaines tâches laborieuses.
Source: Automattic lance l’extension Jetpack (wordpress-fr.net)

Et parmi ces extensions inclues dans Jetpack figure WordPress Stats…
Apparemment l’extension de statistique ne semble plus fonctionner désormais de façon autonome hors de Jetpack.

Résoudre le problème

Il va falloir abandonner l’extension WordPress Stats (alias WP Stats) au profit de Jetpack:

(à faire dans l’ordre)
1. Désinstaller WordPress Stats
Depuis le menu des extensions dans votre interface d’administration de WordPress:
- d’abord désactivez WordPress Stats
- puis allez dans les extensions désactivées et supprimez celle-ci (ses fichiers seront effacés physiquement de votre serveur)

2. Installer l’extension Jetpack
- Téléchargez l’extension Jetpack et installez-là (dézippez-là) sur votre serveur dans le dossier habituel des plugins (wp-content/plugins/)
- Depuis le menu des extensions, activez l’extension Jetpack.

Voilà c’est fait, maintenant comment ça fonctionne avec Jetpack?…

Le meta-plugin Jetpack

Une fois que l’extension Jetpack est activée dans votre installation personnelle de WordPress, il faut la connecter avec votre compte WordPress.com pour bénéficier des différents services (et notamment des statistiques).

On vous demande alors d’autoriser la connexion à votre compte WordPress.com pour votre blog/site, un peu à la manière d’une application pour Twitter:

Une fois que c’est fait votre site/blog a désormais accès aux différents services offerts par Automattic/Wordpress.com. Il faudra aller cliquer sur le bouton « configurer » de « WordPress Stats » dans cette liste pour l’activer.

Sauvegardez la configuration de « WordPress Stats »:

Et voilà, vous avez à nouveau accès à vos statistiques depuis le menu « Jetpack / Statistiques du site » dans le tableau de bord. Et votre historique de visites à été conservée.

La VOIP chez SFR (DSL/Fibre)… ça bloque!

Je vais revenir sur un petit désagrément qui m’est arrivé avec la téléphonie VOIP SIP en fin d’année 2010 qui s’est retrouvée bloquée en ayant SFR comme FAI, et vous apporter une solution si vous êtes amenés à rencontrer aussi le même problème.

Le contexte

J’utilise une ligne téléphonique VOIP de chez OVH pour mon activité professionnelle (Freelance working@home), ça a plein d’avantages:
- pas cher (~1.20€ TTC/mois)
- numéro de ligne fixe français (les gens m’appellent comme sur n’importe quel numéro national)
- communications quasi illimitées sur les fixes en Europe (et un certain nombre d’autres pays)
- protocole standard et ouvert: SIP
- assez flexible et très configurable (ex: les communications arrivent sur mon combiné, si je ne décroche pas ça tombe sur le répondeur qui m’envoie les messages en mp3 par mail. Si je pars en déplacement/voyage alors je débranche le téléphone et ça route automatiquement vers mon mobile, et si je ne décroche pas -> répondeur. En plus je peux utiliser la ligne depuis n’importe quel logiciel de softphone sur n’importe quelle plate-forme dont Linux ;) ).


Ce compte VOIP est branché sur un téléphone hybride VOIP/Analogique Siemens C450 IP (dont je n’utilise que la partie VOIP) et le tout marche vraiment très bien!
Ça me permet d’avoir une ligne dédiée à mes clients et prospects, qui n’est pas spammée par les démarcheurs téléphoniques de tout poils (contrairement à mon autre ligne), que l’on peut appeler depuis n’importe quel téléphone et qui m’apporte beaucoup de souplesse en déplacements.


Voilà tout se passait très bien jusqu’à une panne de fibre optique qui a duré 6 semaines (sans connexion internet), au rétablissement de ma connexion internet la téléphonie en VOIP SIP ne marchait plus…

Le constat

N’ayant rien changé à mon installation, mon matériel ou mon infrastructure réseau, j’en viens à douter d’un peu tout: mon téléphone Siemens C450IP, un problème avec mon compte, un problème avec le serveur OVH, des changements de codecs, etc…
Pour dédouaner mon téléphone, j’essaie avec un softphone logiciel et le résultat est le même: téléphonie IP ineffective. Je change les codecs audio, vérifie mes identifiants, mon compte OVH, active le mode debug du softphone pour analyser les messages de transaction et d’erreur. Il m’est bien possible de me connecter mais pas de passer d’appels: pas de son et ça coupe.
Je vais me rencarder sur le forum d’OVH, apparemment il n’y a pas eu de changement. Et mon frère (chez un autre FAI) qui utilise aussi une ligne VOIP OVH n’a aucun problème avec.

Puis je vais sur l’interface de ma Neufbox 5 pour faire un routage NAT et ouvrir le port standard dédié à la VOIP SIP (le port 5060), ce dont normalement je n’ai pas besoin car je passe par le serveur proxy SIP d’OVH. Et là surprise:
On ne peut pas plus utiliser le port 5060! Ce port est désormais réservé par et pour SFR.
Ça me la coupe! Un port standard, non mais ça ne va pas dans leur tête…

Alors est-ce pour un service spécifique à SFR?… j’en doute fort: la ligne fixe SFR qui passe (aussi) par la VOIP utilise un autre port, le service NeufTalk ils l’ont gentiment étouffé, la VOIP sur le NeufWifi n’y passe plus, la VOIP du Twin ils l’ont dégommé, et la VOIP sur forfait 3G est limite classée dans le registre « crimes et délits » dans leurs CGV (j’exagère à peine). Bref tout ce qui sort de leur conception commerciale d’un système de rente/vache à lait ils l’éliminent, l’excluent ou le bloquent.

Ici la résultante en bloquant le port 5060 est de vous enlever toute velléité d’aller voir un autre fournisseur de téléphonie, car d’entrée tel quel ça ne marchera pas.
Concurrence déloyale? Abus de position? Atteinte à la neutralité du net? Je laisserai les juristes en juger…

La solution

Évidemment il y a bien une solution. Tout comme lorsque les FAI bloquaient le port 119 pour censurer l’accès à Usenet, on passait par un port alternatif… il faudra en faire de même ici pour la téléphonie.
Bon c’est pas vraiment documenté du côté d’OVH mais ils proposent d’autres ports pour accéder à leurs serveurs de téléphonie SIP.
Voici donc le port alternatif à utiliser: 5962 Astuce trouvée ici

Voici en image la configuration toute basique de mon C450IP avec le port alternatif:

Et depuis le changement de port? Ben ça marche à nouveau très bien, merci OVH (pas SFR).

A ce dire une nouvelle fois que SFR est avant tout un fournisseur de téléphonie et de télévision, et seulement accessoirement un fournisseur d’accès internet…

Démarrer et utiliser Apache et MySQL uniquement à la demande

Avoir un environnement de travail et de développement sous la main sur son ordinateur portable c’est bien pratique, aussi j’ai Apache2/MySQL/PHP5/PhpMyAdmin (et moult autres joyeusetés) sur mon fidèle Thinkpad tournant avec Ubuntu.
J’ai aussi installé cet environnement sur le Netbook jouet « Playskool » (eMachines 350*) qui me sert comme machine d’appoint, en cas de déplacements non-professionnels.

Néanmoins, lorsque l’on utilise que ponctuellement cet environnement de travail, avoir ces lourds processus qui tournent pour rien ça peut être gênant car ça consomme son petit paquet de ressources (surtout si la machine est limitée et c’est bien le cas d’un netbook) et encore plus lorsque l’on est sur batterie car cela vient réduire l’autonomie.

Nous allons voir comment faire pour n’avoir Apache et MySQL qui ne tournent pas inutilement, mais seulement lorsque l’on en a besoin.

Arrêter le lancement automatique d’Apache et de MySQL au démarrage de la machine

Note: je n’ai fait cette procédure que sur mon Netbook où je n’y utilise Apache/MySQL qu’occasionnellement, alors que sur mon Thinkpad c’est mon environnement de travail quotidien: quasi tout le temps sur secteur, bien plus puissant, et j’y ai très souvent besoin de ces serveurs.

Ouvrez un terminal et lancez-y ces commandes:

sudo update-rc.d -f apache2 remove
sudo update-rc.d -f mysql remove

j’utilise l’option -f car ils pouvaient être récalcitrants à dégager.
Ça enlève leur lancement de la séquence de démarrage des processus de la machine.

Mais bon, ce n’est pas suffisant pour le serveur MySQL qui a aussi une procédure de lancement lorsque votre interface réseau émerge. Il faut alors éditer le fichier /etc/init/mysql.conf avec la commande:

gksudo gedit /etc/init/mysql.conf

puis commenter ces lignes:

start on (net-device-up
          and local-filesystems
          and runlevel [2345])

ce qui donne:

#start on (net-device-up
#          and local-filesystems
#          and runlevel [2345])

et enregistrer le fichier.

Au redémarrage de la machine, ils ne se lanceront plus automatiquement!

Commandes pour les démarrer et arrêter manuellement

Il y a surement plus malin, plus élégant, plus efficace, mais je me suis simplement fait deux petits scripts bash tout simples
.lamp-start , avec dedans:

#!/bin/bash

# by Tof www.galipe.net
# lamp start

sudo service apache2 start
sudo service mysql start

et .lamp-stop , avec dedans:

#!/bin/bash

# by Tof www.galipe.net
# lamp stop

sudo service apache2 stop
sudo service mysql stop

Rendre ces deux scripts exécutables par un « chmod +x » ou en mode graphique: clic-droit sur le fichier > Propriétés > Permissions, puis cocher « Autoriser l’exécution du fichier comme un programme »

Puis j’ai ajouté le lancement de ces deux scripts depuis le menu « Applications » de Gnome (clic-droit sur le menu « Applications » > Éditer les menus):

C’est ainsi plus accessible en clic depuis le menu que d’aller faire ça à chaque fois en console.

Conclusion

Voilà, sur mon Netbook: Apache et MySQL ne se lancent jamais sauf si j’en ai besoin, auquel cas je peux les lancer et les arrêter d’un simple clic. Et sur mon Thinkpad (qui est ma station de travail principale et plutôt sédentaire) ils restent lancés au démarrage mais je peux facilement les arrêter (et relancer) manuellement si jamais je l’emporte dans le train.


* eMachine 350: une concession que j’ai du faire à l’informatique plébéienne, ayant eu un besoin urgent d’un laptop pour une journée (donc budget minimum) afin de réaliser une intervention imprévue pour un client lors de mes vacances cet été. Le Windows 7 Starter (32bits et bloqué en un seul thread processeur, donc le processeur 64bits/dual-thread est sous-utilisé) installé en standard est déjà une vraie ramasse, avec en plus toute la couche de pourriciels made-in Acer/Norton/etc… en font une machine qui ne sert pas à grand chose tellement la couche OS et logicielle est lourde, inappropriée et inutile.
Je lui ai augmenté sa RAM à 2Go et changé sa carte wifi par une Intel. Mais bon le problème n’est pas la RAM sur cet ordi mais bel et bien Windows. (Au passage un conseil pour générer et graver les DVD de restauration de windows afin de mettre l’installe Winwin d’usine sur DVD dans un placard et d’ensuite dégager Windows pour de bon de votre machine et y installer un vrai OS)
Avec Ubuntu en version Desktop c’est déjà bien mieux: 64bits et plusieurs threads (le processeur de cette machine étant dual-thread, autant en profiter), cette machine est déjà 100 fois plus utilisable.


Un petit coup de Newrez (+ d’infos) pour extrapoler à la volée le bureau au-delà de sa pauvre résolution (et le mettre en 1280 pixel, par exemple quand il y a besoin) et là il y a moyen de faire des choses! Mais bon… ça ne vaut pas un bon Thinkpad!

Test du client linux pour le NAS MyDitto

MyDitto est un NAS amélioré, auto-configuré autant pour une utilisation locale que distante et dans une optique « foolproof »: donc très orienté grand public. J’ai participé à la présentation de ce produit le 2 décembre dernier et l’intrigue portait pour moi sur quatre axes:
- quel procédé permet d’accéder à son NAS de l’extérieur sans s’occuper de paramétrage du routeur, des règles NAT ou du firewall?
- qu’apporte concrètement cette clef USB fournie avec le NAS?
- Y-a-t-il des possibilités d’intégration d’applications?
- et le fameux support Linux annoncé, qu’en est-il réellement?

Pour la description publi-rédactionnelle de ce produit, les specs et le fonctionnement général je vous laisse aller lire ça chez les blogueurs invétérés, ils le feront mieux que moi. Mais bon, allez hop en vrac, vite-fait: 1 ou 2 baies (donc possibilité de RAID), un co-processeur pour appuyer le processeur ARM dans les transferts de fichiers via le réseau (vitesse de transfert accrue), fonctionnalité DLNA, accès via protocole Samba depuis le réseau local (il doit y avoir à mon avis Avahi-Zeroconf qui tourne aussi), et une application qui vous permet d’y accéder de façon sécurisée, transparente et auto-adaptée niveau réseau(=versatile, mais dans le sens anglais) depuis l’extérieur sur l’internet, ce depuis Win/MacOS/Linux/IOS et bientôt Android. Accès en direct depuis votre machine à votre myDitto chez vous (en P2P), ou bien de façon relayée si pas d’autre possibilité.

On nous a donné lors de la présentation des clefs USB nous permettant d’accéder pendant un certain laps de temps à des MyDitto distants (localisés dans les locaux de Dane-Elec), donc je ne parlerais ici que de la partie client, dans une utilisation distante et sur Linux.

Quel procédé utilise-t-il pour accéder au NAS depuis l’extérieur?

Pas trop de détail sur les technologies et procédés utilisés… « Cela a demandé beaucoup de développements et de brevets ». Néanmoins pour que le MyDitto puisse être accessible depuis l’extérieur et de manière sécurisée, on devine vite que c’est le MyDitto qui en fait initie la connexion, l’autre solution aurait été qu’il utilise l’ouverture de ports et la génération des règles NAT à la volée via la fonctionnalité UPnP des routeurs (mais ils ne en sont pas tous équipés).
Pour pouvoir fonctionner partout et se de passer de règles NAT, il doit ouvirir la connexion de son côté, et pour cela le MyDitto doit logiquement être connecté à un serveur d’intermédiation distant, qui lui déclenche l’ordre.
Côté client il faut que la personne connectée puisse être identifiée comme l’utilisateur autorisé et qu’il puisse accéder au MyDitto sans en connaitre son IP, donc passage aussi par un serveur d’intermédiation. Les échanges sont ensuite réalisés en direct de paire à paire (P2P) si la connexion de votre client (PC/Smartphone) le permet ou bien relayée via les serveurs de Dane-Elec si votre connexion internet est insuffisante ou limitée. Je l’ai testé avec succès depuis un pauvre Hotspot NeufWiFi où les ports sont complétement bridés et le débit y est limité.

Bon OK, une technologie de pointe, des brevets… mais ça ressemble énormément à la façon dont procède Hamachi depuis un bon nombre d’années (et racheté depuis un moment par LogMeIn): l’intermédiation, l’authentification centralisée, la traversée des routeurs et NAT sans aucune configuration, l’accès direct en P2P et même l’éventuel recours au relais! Oui ça se ressemble beaucoup même si les deux ne font pas le même usage applicatif, l’un est un VPN l’autre un NAS.
Néanmoins que les procédés et technologie soit nouveaux ou pas, cette méthode de fonctionnement est assez efficace pour permettre une connectivité quasi universelle à n’importe quel néophyte et/ou réfractaire aux problématiques réseau.
Il faut juste ne pas avoir peur de dépendre entièrement d’une « black-box » chez un tiers (ici Dane-Elec), certains stallmaniens vont en frémir, et avoir conscience que cette fonctionnalité durera le temps que le tiers voudra bien la faire fonctionner: donc une grande partie des fonctions pour le matériel que vous aurez acheté, son éventuelle obsolescence ou inutilité seront décidée non pas par vous mais par le bon vouloir, les préoccupations du moment ou la santé financière du constructeur…. Ce n’est pas du tout orienté contre Dane-Elec, c’est juste le regret de cette tendance où les produits hardware deviennent de plus en plus dépendants dans leur continuité de fonctionnement chez l’utilisateur, après achat, du bon vouloir des constructeurs… et puis il y a des exemple qui refroidissent: la tablette Archos 5 by SFR, les livres numériques achetés et effacés à distance après coup sur les Kindles des clients par Amazon, etc… combien de gens ont connu un constructeur qui les a laissés en plan avec leur matériel par arrêt du service distant dont il dépendait, par un abandon du support ou du développement d’un firmware ultra-buggué? Et bien désormais les constructeurs peuvent aussi potentiellement vous réduire ou couper les fonctionnalités de votre matériel, réviser vos données, etc…

Ce qu’apporte concrètement la clef USB

La clef permet d’identifier l’utilisateur via son hardware/vendor ID inscrit dans la ROM de la clef.
Lorsque vous appareillez votre clef au NAS MyDitto, ce dernier identifie l’ID de la clef comme un nouvel utilisateur, il informe le serveur central (d’authentification) de Dane-Elec que cet ID est associé à ce NAS précis.
Ensuite côté client lorsque vous voulez vous connecter de façon distante à votre NAS, l’application myDitto lit l’ID de votre clef et l’envoie au serveur d’authentification qui repère à quel NAS vous êtes associé, puis fait la médiation. Voilà, la clef (par son ID) n’est qu’un identifiant, il vous faudra bien-sûr saisir votre mot de passe, mais nul besoin de connaître l’IP de votre NAS si vous êtes en IP dynamique, et puis cela permet de gérer assez facilement les espaces utilisateurs de votre disque dur.
C’est plutôt intéressant l’utilisation de l’ID hardware de la clef USB, j’en avais déjà vu des implémentations sur le forum FR d’Ubuntu où selon l’ID d’un matériel USB branché cela permet de déclencher des évènements: du simple évènement comme lancer une tache ou une application, jusqu’à l’autorisation ou bien interdire telle ou telle chose si une clef avec un ID précis n’est pas branché sur la machine. Mais je n’avais pas encore vu d’implémentation à large échelle comme moyen d’identification.

Possibilités d’intégration d’applications et de fonctionnalités

Pas pour l’instant, hélas. Des API ou un SDK verront peut-être le jour pour développer des applications côté client.
Par contre côté serveur, il n’est pas prévu de pouvoir développer et y ajouter des fonctionnalités et services sous forme de modules comme c’est possible sur le Pogoplug ou sur d’autres NAS évolués comme les Synology ou bien ceux qui ont été ouverts à (ou par) la communauté (ex: NSLU2 et autres).
Dommage, car le MyDitto a du potentiel pour ça. Je pense que cela est dû à plusieurs motivations:
- les processeurs ARM sont vraiment excellents et amènent un peu de fraicheur par rapport au vieux monde du x86 et ses lourdeurs antiques, néanmoins s’ils sont redoutables pour certaines tâches, ils ont quelques faiblesses pour d’autres (les calculs en virgules flottantes notamment). Aussi si Dane-Elec laisse la porte ouverte à toutes application sur son MyDitto, il n’en maitrisera plus l’optimisation des performances et des ralentissements pourront se faire au détriment de certaines tâches vitales.
- En informatique la source majeure de problèmes se situe en général entre la chaise et le clavier. Et pour un matériel, si on laisse l’utilisateur la possibilité de pouvoir transformer ses applications logicielles cela augmente de façon exponentiel les possibilités de problèmes, donc l’insatisfaction du client et surtout le coût en terme de support. Rappelons que la cible commerciale ici c’est le grand public (un joli terme pour « noobies ») et pas forcément les geeks hackeurs.
- Justement pour que cela prenne commercialement, il faut que le produit soit simple d’utilisation, avec une bonne couche d’abstraction pour rendre pas mal de fonctionnalités transparentes. Stratégiquement la multitude d’options en induisant une notion (même imaginaire) de complexité d’utilisation pourrait refroidir ou déconcerter beaucoup d’acquéreurs… C’est bien sur la simplicité et souvent sur le « one app, one task » que les appliances créent leur niche.
- Je ne connais pas du tout la politique de Dane-Elec à ce sujet pour m’avancer à leur sujet, mais il existe encore chez pas mal de constructeurs une haine ou une peur viscérale que la lie des utilisateurs puisse utiliser son matériel autrement que ce qu’il a défini du haut de sa tour d’ivoire.

Le client Linux

Rentrons dans le vif du sujet!
Lorsque l’on apparie la clef USB sur le NAS, ce dernier transfère aussi sur la clef l’application MyDitto, avec ses versions Windows, MacOS et Linux. Il s’agit d’une application de type « portable », qui n’a pas besoin d’être installée depuis le système et peut-être lancé depuis la clef.
Lors de la présentation on m’annonce qu’elle a été testée et est certifiée fonctionnelle sur Ubuntu 10.04 seulement… Arf, on va bien voir.

Bon, je me lance dans un essai de l’application depuis Ubuntu 10.10: il y a le fichier myDitto.sh (qui n’est qu’un simple script bash qui exporte les librairies et lance le binaire « myDitto » situé dans le sous dossier « myDitto.app/Contents/LnxOS ». Le double-clic sur ce fichier ne lance rien, puisqu’il n’est pas associé comme exécutable, passage en mode console un « ./myDitto.sh » ou « sh myDitto.sh » n’y font rien: problème de droit, même constat en utilisant « sudo » ou « sudo » su pour l’exécuter en mode root: problème de droits.
Un essai pour lancé directement myDitto.app/Contents/LnxOS/myDitto, rien… enfin si des erreurs.
Donc je rends les fichiers exécutables via un « sudo chmod +x »… ça ne marche toujours pas.
Et là, mais ouais c’est con comme la lune! Il n’y a pas de gestion des droits sur une partition FAT!! Donc pas de notion qu’un fichier soit un exécutable ou pas, donc les fichiers exécutables situés sur la partiton FAT ne sont tout simplement pas exécutables!!!

Un petit coup dans GParted pour voir ce qu’il en ressort: mince une partition FAT16! Ça existe encore ça?? Wow! Rétro-projection instantanée dans le siècle précédent… ça me donne aussitôt envie d’écouter des vieux tubes des années 90, tiens un petit « Fight The Power » de Public Enemy, suivi de « Brother James » de Sonic Youth, ça fait toujours du bien. Fermons la parenthèse musicale et regardons s’il est possible d’utiliser MyDitto sur un bureau Linux.
Je transfère le contenu de la clef USB sur une partition Linux (ext3) de mon laptop, et tente de lancer l’application: elle se lance bien (donc c’est bien une simple question de type de partition), néanmoins l’application refuse de m’identifier: « Your myDitto key was removed ».

Un essai en lançant l’application myDitto pour windows depuis Wine, même résultat: « Your myDitto key was removed ».
Un essai sur une des machines en spare chez moi et qui dispose encore de Windows pour l’instant: tout fonctionne bien, je ne suis pas black-listé. Conclusion: l’application doit vérifier l’ID matériel uniquement du lecteur depuis lequel elle est lancée et l’utiliser comme « identifiant d’authentification », ce qui veut dire impossible de lancer l’application depuis autre chose que la clef USB… et dans l’état c’est donc inutilisable sur Linux. C’est ballot!

Mais il y-a-t-il un espoir de l’utiliser sur Linux, une solution?
Je vous rassure: oui! Mais il va falloir procéder de manière un peu barbare et faire du ménage.

D’abord copiez quelque part tout le contenu de la clef associée à votre MyDitto.
Puis rendez-vous dans GParted pour aller gérer les partitions de votre clef USB. On va réduire la partition FAT pour y ajouter une partition de type EXT2 à la suite, en seconde position (et surtout pas en première position car au cas où vous seriez amené à utiliser cette clef aussi sur un système windows, ce dernier ne sait détecter que la première partition présente sur une clef USB et donc s’il ne détecte que la EXT2 autant dire qu’il ne verra rien et même la FAT derrière ne lui sera pas visible).
Impossible de réduire la FAT16 présente sur la clef car elle est à un format invalide (nombre de secteurs invalide par rapport à la taille du volume). On va tout simplement dégager cette partition de m…. purement et simplement, en créer une nouvelle en FAT32 à la place mais qui ne fait pas tout la taille disponible de la clef, et créer derrière une partition au format EXT2 (avec assez d’espace, donc au moins 100Mo).

Voici ce que cela donne:

Il ne reste plus qu’à copier l’ancien contenu de la clef (dont vous avez fait une sauvegarde préalable) sur la partition EXT2.
Un petit clic-droit sur le fichier myDitto.sh > propriétés > Permissions > et cocher « Autorisez l’exécution du fichier comme un programme » (ou passer par un « sudo chmod +x myDitto.sh » pour les amoureux de la console, afin de pouvoir ensuite lancer l’application depuis la clef USB d’un simple double-clic.
Il est désormais possible de lancer l’application qui vous authentifie correctement et vous permet d’accèder à vos fichier distants. Enfin… ;)

Évidemment en raison d’un développement assez statique de l’application, on se retrouve limité à une simple interface de transfert de fichier depuis le panel.
Un essai de drag’n'drop hors de l’appli vers le bureau:

Un aperçu sur les erreurs dans le terminal:

Quelques critiques à propos du client Linux

Même si j’apprécie grandement l’effort de consacrer du temps à une version Linux, je pense franchement que le développement pour Linux a été fait dans une mauvaise approche en voulant calquer telle quelle la logique du client pour Windows. Je vais étayer mon avis:

1. Pour rappel, Linux utilise des Environnements de Bureau (Gnome, KDE, etc…) et donc que l’utilisateur se choisisse un thème au design absolument étonnant ou bien horrible (chacun ses gouts), ce qui prime c’est homogénéité et l’harmonie: toutes les applications s’intègrent visuellement et fonctionnellement de la même façon à l’environnement de bureau. Autant pour les utilisateurs Windows l’interface de MyDitto (à la Spotify) pourra sembler innovante et visuellement attrayante, pour les utilisateurs Linux, elle fera tâche et sera limitante: donc une application frustrante!

2. Intégrer des fonctionnalités de lecture de média (audio/vidéo) en pseudo-streaming, de génération des vignettes à la volée pour les images, etc… non mais tout cela existe déjà en standard sur Linux. Donc un effort de développement pour rien. En plus pour faire cela vous intégrez quelques outils qui dépendent de la version dans laquelle il ont été compilés, sachant l’évolution rapide du noyau et des outils GNU/Linux votre application sera toujours obsolète et jamais pleinement fonctionnelle. Au mieux elle ne sera à jour et complétement utilisable que pendant quelques semaines après que vous en sortiez une nouvelle version, au-delà elle ne se résumera seulement qu’à une simple interface de transfert de fichiers dont je ne vois même pas l’intérêt (open/copy/rename/cut/delete), même avec Filezilla on fait plus de choses. -> c’est complétement gâcher votre effort (donc vos ressources, votre temps, votre budget) de développement!

3. Il y a un truc génial sur Linux qui s’appelle FUSE (File System in Userspace) et des choses merveilleuses pour l’abstraction des volumes comme Gvfs… Allez voir ce que font comme client Linux Dropbox, SpiderOak ou encore Ubuntu One pour leur stockage dans le Cloud: un simple client pour la connexion/authentification et gérer les transfert intelligemment en backend (le coeur applicatif et la valeur ajoutée de votre appli), tout le reste c’est FUSE, Gvfs et leurs copains qui s’en chargent. C’est plus souple, plus léger, plus élégant. Mes dossiers et fichiers distants sont complétement intégrés à mon bureau et mon système de fichier. Ainsi toutes mes applications peuvent utiliser naturellement les fichiers et dossiers en remote: mes notes Tomeboy, mes bookmarks Firefox s’y synchronisent, mon calendrier Thunderbird, mes backup automatiques (et avec versionning si je veux,monsieur) et même si je veux je peux utiliser une couche d’encryption à la volée avec EncFS ou Truecrypt… Et évidemment Totem et VLC n’ont pas besoin d’attendre que le fichier vidéo ou audio soit complétement transféré pour le lire, c’est naturel pour eux.
En plus udev permet d’interroger n’importe quel matériel, donc toutes clefs USB présentes et d’en obtenir l’ID matériel. Donc il est aisément possible de s’affranchir du fait de devoir lancer l’application uniquement depuis LA clef USB, du moment que la clef « appareillée » au MyDitto est simplement branchée sur l’un des ports USB de la machine cliente ça suffit pour l’identifier.
Donc autant utiliser ce qui existe déjà, qui se fait de bien, finalement coute beaucoup moins cher à développer et en plus ne vous rend pas dépendant de l’obsolescence des versions des autres couches logicielles.

Voilà ceci un plaidoyer, messieurs et dames de Dane-Elec, pour revoir votre approche, sinon vous allez directement dans le mur pour conquérir les utilisateurs Linux et vous allez en conclure qu’il n’y a pas de possibilité de marché pour un service ou une application avec technologie propriétaire sur Linux, que ce c’est un cout de développement trop important pour un retour commercial qui n’en vaut pas la peine. Je pense qu’il est encore temps de changer de cap…

Juste comme ça au passage, l’appli cliente de MyDitto est développée en QT… c’est le framework de prédilection de Meego (dans les véhicules, sur tablette, smartphone, netbook, télévision, etc…) ;)

Conclusion personnelle, recommandation

Mon intérêt primaire pour ce matériel (dans une optique purement personnelle) était de seconder mon fidèle Dockstar (bidouillé à ma sauce). Mais aussi pour en placer un second, cette fois-ci un chez un ami qui dispose aussi de la fibre optique, ce qui me permettrait ainsi avec un backup externalisé de palier à ce qu’on appelle « le risque feu » en informatique, et ce sans devoir requérir à des services privés de stockage « dans le cloud ». Les aspects sécurité, gestion et identification utilisateurs, accès distant « tout-terrain » et aucune configuration réseau sont très intéressants. En plus cela revient moins cher qu’une solution Cloud « à-la Dropbox » pour du stockage/backup redondant de masse (jusqu’à 2To).
Ben en l’état, dans l’optique d’une utilisation sur Linux, et en bon geek, le client est trop pauvre et limitant pour moi (je sais, je suis exigeant et pas forcément l’utilisateur lamdba ciblé, par exemple: madame Michu sous Windows et/ou iPhone et qui l’achètera chez Auchan). Finalement pour l’instant mon « bricolage maison » sur le Dockstar est beaucoup plus utilisable pour moi, car complétement sécurisé, pas besoin d’une application cliente et d’une clef USB, donc plus portable, la méthode d’authentification c’est mon compte Facebook (je me suis concocté un truc perso bien tordu à base d’une utilisation de fail2ban inversée, d’un bot xmpp comme trigger et facteur d’intermédiation ainsi qu’une appli Facebook en php), ça passe partout et j’y ai accès en natif dans mon environnement de bureau et mon filesystem. Le fonctionnement du MyDitto va surement me donner des idées pour améliorer encore mon système.

Si vous êtes un utilisateur Linux lambda, ben déjà le client ne marche pas tel quel out-of-the-box depuis la clef USB, à moins d’y faire les modifications de partitions que j’ai indiquées plus haut.
Par contre si vous êtes dans la vraie cible de clientèle de masse (Windows et/ou iPhone, donc), je pense que c’est une solution très intéressante.

Utiliser le DevCloud OpenVPN d’OVH pour travailler depuis un hotspot

Panne de fibre optique hier: plus d’internet et des projets sous le coude à terminer, des clients qui attendent.
Le technicien support de SFR fibre m’annonce que c’est une panne locale et qu’un technicien passera… mais pas avant 10 jours.

Que faire? J’ai bien un Neuf Wifi/SFR Wifi à portée de signal, mais c’est de l’accès internet pour Télétubbies à la mode du parti communiste chinois, bridé et fermé de partout: pop, smtp, http, https et c’est tout, avec un serveur DNS quasi toujours à la rame. Donc impossible de travailler avec mes outils et protocoles usuels: ligne téléphonique SIP, FTP, SSH, NFS, XMPP, IMAP, SMTPS, et j’en passe…

Puis là je me rappelle qu’il y a les solutions de Cloud Computing de chez OVH, j’avais d’ailleurs participé au beta-test des miniCloud. Des machines virtuelles installables sur demande, payables à l’utilisation. Je n’en avais pas pris au final car j’avais le VPN chez moi sur mon Dockstar pour quand j’étais en déplacement. Mais cette fois-ci c’est la solution parfaite.

Ni une ni deux, je vais voir ce qu’il y a comme machines pré-configurées dans leur section DevCloud: parfait y un serveur OpenVPN tout prêt, je fonce sur l’interface du manager des clouds d’OVH.

Je précise que je suis déjà client chez OVH pour des noms de domaine, de la téléphonie sur IP, etc… donc j’ai déjà un compte client, et même un peu de crédit prépayé, les nouveaux clients devront eux s’affranchir de ces étapes.

Installation et configuration d’une machine virtuelle avec serveur OpenVPN opérationnel en quelques minutes à peine

Depuis la première page de l’interface du manager, on a le choix des distributions pour créer notre machine virtuelle. Je choisi ici la distribution Open VPN 0.3 et lance sa création.

Au bout de quelques dizaines de secondes la machine virtuelle est créée, lancée et prête à l’emploi. Il ne reste plus qu’à créer un ou des utilisateurs pour le VPN et adapter le port pour que ça passe au travers des quelques ports autorisés de Neuf WiFi.

Configurer OpenVPN sur le port 8080 en TCP (car c’est un port autorisé* pour le http pour Neuf Wifi, et puis au pire sur d’autres hotspots le 8080 passera quasiment depuis n’importe où)

*Liste des ports autorisés sur Neuf WiFi / SFR WiFi:

* HTTP TCP 80, 8080
* HTTPS TCP 443
* MAIL TCP 25,110,143,220
* SIP UDP 5060 (pas certain que ce soit encore d’actualité depuis que SFR a bloqué les offres TWIN)
* IPSEC TCP 50,51
* IPSEC UDP 500
* SSH TCP 22 Je viens de découvrir ça en testant après rédaction de l’article, excellent!!

Configuration de l’utilisateur:

En fait il n’y a pas vraiment à configurer, mais juste ajouter un ou des utilisateurs à votre guise. Puis ensuite télécharger le fichier zip (la flèche bleue à droite de l’utilisateur) pour la configuration de la connexion sur votre ordinateur (zip contenant certificats et clef, ainsi que fichier d’auto-configuration).

Configuration sur l’ordinateur local

Il suffit de dézipper le fichier téléchargé correspondant à la configuration pour votre utilisateur.

Puis sur Ubuntu c’est hyper-simple, j’utilise Network-Manager avec le paquet network-manager-openvpn, donc dans network-manager, dans le menu « Connexions VPN > Configurer le VPN », je n’ai eu qu’à choisir « Importer » et lui indiquer le fichier de conf .ovpn (fournis dans le fichier ZIP) pour que toutes les infos soient prises en compte.
Essai de connexion => Yes, ça marche.

Bon, en fait pas tout à fait… Pas de ping, pas de requête DNS, rien ne sort, rien… pourtant les routes sont bonnes.
Apparemment dans la conf en local ça a oublié de prendre en compte l’information sur la compression LZO, juste une case à cocher mais si on ne le sait pas on peut chercher d’où vient le problème pendant un bon moment…

Nouvelle connexion au VPN => là ça marche vraiment!! Je peux me connecter à mon compte XMPP et aller mettre à jour une machine en SSH :)

Conclusion

C’est rapide à installer, redoutable d’efficacité et de simplicité (j’ai déjà installé 2 serveurs OpenVPN sur Debian, je sais que faire cela à la main « from scratch » ça demande pas mal de temps et beaucoup de rigueur).

A ce tarif de 1.2 ct de l’heure, ça me revient à 28,8 centimes par jour. 2,8€ pour les 10 jours à attendre que l’on vienne me rétablir la fibre optique. Bref un coût très acceptable pour pouvoir continuer mon activité.

Pour les requêtes DNS, c’est le jour et la nuit par rapport à Neuf WiFI. Pour le web les sites qui étrangement rament*, par le VPN ils passent très bien. Ça semble même globalement plus rapide qu’en direct avec Neuf Wifi, je pense grâce à la compression LZO.
*J’avais déjà remarqué ça auparavant et en était arrivé à la conclusion que SFR doit appliquer une certaines prioritisation sur certains sites web, contraire à la neutralité du net.Des sites rament plus que d’autres, voire sont inaccessibles sur la connexion SFR WiFi de ma propre Neufbox, alors qu’aucun problème en direct sur cette même Neufbox au même moment… Ya de quoi se poser des question, non?

Si vous arrêtez votre machine virtuelle car vous le l’utilisez plus, elle passera alors en mode « archivage » et ne vous sera plus facturé. Seule ombre au tableau, lorsqu’elle ré-émerge de l’archivage (pour une nouvelle utilisation), la machine virtuelle change d’adresse IP: donc il ne faut pas oublier de changer l’adresse IP du serveur VPN dans la conf de votre client en local.

Bon évidemment, ce genre de solution n’est pas pour les petits leechers qui pensent avoir une solution permettant de les anonymiser et faire plein de conneries au regard de la loi: pour avoir un Cloud il faut déjà montrer patte blanche lors de la création de votre compte (on sait qui vous êtes) et vous tombez toujours sous le coup la loi française. C’est une solution pour travailler, dont je vous parle ici.

Utiliser un graveur virtuel pour créer les DVD de restauration d’un netbook

La problématique du graveur sur les Netbooks

L’intérêt des netbooks est leur taille réduite, et pour limiter celle-ci le lecteur optique n’est quasi jamais présent. D’autre part Windows (que je considère même dans sa version 7 comme un système d’exploitation bancal) a parfois tendance à ne pas repérer correctement un graveur externe USB (mon graveur externe qui fonctionne très bien n’était reconnu que comme lecteur!).

Et d’un autre côté certains fabriquant comme Acer (et ses autres marques: eMachines, Packard Bell, Gateway) ne fournissent pas de DVD de restauration directement mais proposent au client de se les graver soit-même depuis une application sous Windows. Le comble pour un netbook…

Avoir des CD/DVD de restauration est primordial pour plusieurs raisons:
- Votre disque dur (où est situé la partition cachée de restauration) peut vous lâcher à tout moment
- Vous pouvez vouloir changer de disque dur sur votre ordinateur
- Vous pouvez vouloir simplement dégager la partition de restauration pour gagner de la place
- Vous pouvez, consciemment ou non, modifier ou abîmer la MBR (Master Boot Record) qui permet de pouvoir lancer la restauration depuis le disque dur
- Les services clients des constructeurs ne sont pas forcément toujours prompt à vous envoyer les disques de restauration, ou vous le font facturer (et parfois à un prix abusé). Et encore pire après la période de garantie d’un an.

Or, sans graveur de DVD on se retrouve bien coincé!

Virtual CD comme réponse

J’ai cherché quelle solution gratuite, en shareware ou en évaluation pouvait me permettre d’utiliser un graveur virtuel. Résultat pas grand monde: Nero a abandonné ImageDrive, Alcohol 120% ne fait plus graveur virtuel pour le système, la plupart ne font que lecteur virtuel et pas graveur, les autres ne peuvent créer des images disque que depuis leur interface propre (et pas accessible directement depuis le système), et les quelques uns qui peuvent permettre cette pleine fonctionnalité sont limités dans leur version d’évaluation à une taille de disque réduite qui ne permet pas de graver des disques entiers.

Puis je suis tombé sur Virtual CD. Un logiciel qui répond pleinement à cette fonction, certes payant, mais dont la version d’essai de 30 jours est pleinement fonctionnelle. 30 jours c’est largement assez, puisqu’il vous faudra seulement une vingtaine de minutes pour créer vos DVD de restauration.

Une fois Virtual CD installé, votre graveur virtuel multi-format (Blu-Ray, DVD, CD) apparait disponible pour le système:

Lancer la création des disques de restauration d’usine

Ici l’utilitaire de eMachines/Acer/Packard Bell (oui c’est la même maison ;) ) pour créer les disques de restauration d’usine.

Le graveur virtuel est bien repéré et utilisable:

Il vous faudra procéder à la création de 3 images DVD car la restauration est assez lourde…

Préparer un DVD vierge virtuel pour le graveur virtuel

Il suffit pour cela de lancer l’application Virtual CD et dans son menu de choisir de mettre un nouveau DVD vierge dans le graveur: « Insert virtual blank »

Puis d’utiliser l’assistant de création de media vierge: « Run the Blank Media Wizzard »

J’ai choisi d’utiliser ce qu’il y a de plus standard: un DVD-R simple sous forme d’une image disque au format ISO (format reconnu par quasi tous les outils de gravure tous systèmes d’exploitation confondus).
Ne pas oublier de choisir d’insérer ce DVD vierge dans le graveur virtuel, en choisissant la lettre de ce lecteur.

Lancer la gravure du DVD

Une fois le « DVD vierge » dans votre graveur virtuelle, vous pouvez lancer la gravure qui se déroule comme avec un vrai graveur. Même la vérification se déroule comme avec un vrai DVD.

La gravure est fini pour un DVD (dans mon exemple il s’agissait du disque 2), il faudra procéder une nouvelle fois à la création de DVD pour continuer de graver les autres disques de sauvegarde.

Créer d’autres DVD vierges

Retour à l’étape « Préparer un DVD vierge virtuel pour le graveur virtuel » pour faire un nouveau DVD vierge et continuer l’étape de gravure jusqu’à la fin.

Fin de l’étape

Vous obtenez ici 3 images disque au format ISO, que vous pouvez stocker où bon vous semble (sur un autre disque dur ou ordinateur, de préférence), et que vous pourrez graver depuis un autre ordinateur (avec votre logiciel de gravure habituel) quand bon vous semble.

Conclusion personnelle

N’ayant pas eu le temps et la possibilité de passer outre le racket imposé par Microsoft et les constructeurs d’ordinateurs, j’ai du m’acquitter de la taxe qui consiste en la vente forcée de Windows même si l’ont n’en veut pas.

Mais je ne compte pas utiliser/conserver Windows 7 sur mon ordinateur, car je trouve ce système tout aussi naze que ses prédécesseurs (j’ai du pester je ne sais pas combien de fois « mais c’est quoi cette merdasse pourrie! » en ayant à l’utiliser quelques jours… de trop).
Au moins avec les images des disques de restauration, je peux dégager complétement cette daube de mon ordinateur, ainsi que la dizaine de Gigaoctets de la partition de restauration cachée et y mettre un vrai système digne de ce nom (GNU/Linux inside). Et je me garde la possibilité de réinstaller la « boite à neuneu » telle quelle d’usine lorsque je souhaiterai me séparer de ce netbook et le revendre.

Réparer une télé LCD pour moins de 2€


Photo d’illustration: crédit

Mes parents disposent d’une Télé LCD 30″ (modèle: Packard Bell Digital Television 300 SW) qui marchait très bien jusqu’au jour où elle s’est mise à s’éteindre immédiatement après allumage.
A chaque allumage elle s’éteint, au bout d’un certain nombre d’allumages successifs ou du maintient du bouton Power assez longtemps elle reste allumée. Le problème c’est que cela empire: au début 1 minute ou 10 allumages, récemment 10 minutes de pression sur le bouton ou plus de 70 allumages successifs.

Le genre de problème qui fleure bon la défaillance d’un condensateur. Les problèmes de condensateurs (bas de gamme) sont souvent la base des dysfonctionnements dans les objets modernes d’électronique de grande consommation.

Gros problème: je suis une quiche en électronique et je n’ai aucun appareil pour tester les composants.

Réflexion de geek:

- les parents sont en zone blanche (pas de TNT) et réception par satellite branché à la TV par prise péritel, donc aucun intérêt de racheter une TV dernier cri hors de prix HD, tunner TNT, et tout le tralala… puisque le satellite passera toujours par une pauvre prise péritel.
- jeter la TV et en racheter une neuve, pour une panne de quelques composants à deux balles c’est vraiment marquant de l’apogée de notre société de la consommation et du gâchis.
- un réparateur va facturer ça hors de prix ou bien proposer d’acheter une TV neuve…
- Internet regorge de ressources, de savoir, de savoir-faire et de bonnes volontés

Réflexe de geek:

Chercher des infos sur le net à propos du modèle de ce téléviseur:
Résultat: pas grand chose, le modèle n’étant pas très récent je n’ai pu obtenir que les spécifications basiques et un manuel en PDF. C’est déjà ça.

Chercher sur les moteurs de recherche en utilisant des mots clefs
Pas de résultat précis en essayant diverses combinaisons avec les références du modèle « Packard Bell 300 SW » et des mots clefs comme « panne », extinction », « éteindre », « allumer », « problème », etc… la liste est longue.
Par contre des résultats variés concernant d’autres marques et modèles, me confirmant dans le fait que c’est un problème courant et un simple problème de condensateurs défectueux.

Poster sur un forum spécialisé:
M’est venu ensuite l’idée de passer au mode d’entraide communautaire et de poster mon problème sur un forum où sévissent des amateurs et des plus pros en électronique. Mon topic (pourtant clair et détaillé) s’est fait fermé à peine au bout de quelques jours sans réponse alors que j’étais parti prendre des photos des circuits imprimés pour les poster. Bref ce n’est pas un forum où l’on laisse le temps d’approfondir un sujet et de se pencher sur un problème…

J’ai étendu ma recherche sur Google:
Cette TV Packard Bell 300 SW fait partie d’une gamme de 3 modèles identiques sauf en taille d’écran, j’ai alors cherché ce même problème sur Google avec les autres références de la gamme.
Et là bingo! Non seulement quelqu’un a rencontré le même problème (sur le modèle 23″), mais l’a identifié et corrigé sur une dizaine de TV et donne même les explications des composants à changer.
(Note aux admins de forums.futura-sciences.com: sur le forum forum.hardware.fr on laisse aux topics le temps de vivre ;) )

Bricolage de geek:
- Achat des condensateurs à changer, coût: 1,15€
- Démontage de la TV
- Démonter les 4 condensateurs (qui se déclipsent très facilement avec un tournevis)
- Soudage des 4 nouveaux condensateurs
- Remontage de la TV
- Test: ça marche impéccablement!

Voici les 4 condensateurs changés par mes soins, les salles soudures sont les plus belle que j’ai jamais réalisées de ma vie :D

Conclusion:

Pour moins de 2€, avec les bonnes informations sur le net et pas trop de connaissance en électronique, c’est une télé qui continuera sa vie et ne finira pas à la poubelle puis soit dans une déchèterie, une brulerie de déchets ou dans les mains d’un enfant du tiers-monde essayant d’en récupérer les quelques métaux précieux au risque de sa santé.
Et c’est aussi une belle dépense inutile d’évitée.

Réflexe de geek à nouveau:

En retour sur ce même topic du forum où j’ai trouvé ma solution, j’y apporte un retour d’expérience et quelques petits détails qui pourront peut-être servir à d’autres plus tard. De plus j’y précise le modèle exact de ma TV pour que l’on puisse retrouver ce topic via Google par la suite en faisant une recherche sur ce modèle.

MiniDLNA: le serveur UPnP/DLNA léger

A la recherche d’un serveur UPnP à installer sur mon plug-computer Docktsar, on m’a conseillé MiniDLNA, un serveur UPnP qui répond enfin à mes attentes.

Un petit tour d’horizon

J’avais déjà fait il y a un moment un tour d’horizon de ce que je pouvais installer sur un serveur Debian.

Disponible dans les dépôts Debian Lenny:
Gmediaserver – UPnP Mediaserver
Mediatomb – UPnP MediaServer
uShare – Lightweight UPnP A/V Media Server

Que je connais aussi:
FUPPES
PyMeds
PS3 Media Server
Twonkyvision (aka TwonkyServer) License d’utilisation payante.

Mais aucun ne m’avais pleinement satisfait, soit trop lourds à gérer, trop gourmands en ressources, ne tenant pas forcément la charge d’une grosse collection, des incompatibilités diverses et variées (tant au niveau interne avec les fichiers, les tags, qu’avec certains clients UPnP), des classements farfelus de la médiathèque et/ou de l’ordre des pistes, parfois l’obligation d’un mode de navigation dans la médiathèque pas très ergonomique pour une collection conséquente, ou encore l’impossibilité de naviguer dans la bibliothèque lors que le serveur est en train de streamer un fichier…
Bref aucun ne répondait pleinement à ce que je cherchais, excepté peut-être Twonkyvision qui est payant.

MiniDLNA

MiniDLNA (anciennement ReadyDLNA) est un serveur dont l’objectif est d’être pleinement compatible avec les clients DLNA/UPnP-AV. Il a été développé par un employé de la société NETGEAR pour leur gamme de NAS « ReadyNAS ».
Donc dans sa conception MiniDLNA est pensé pour fonctionner sur de petites machines aux capacités restreintes (tel que les NAS), ce qui est idéal pour le Dockstar (CPU ARM, 128Mo de RAM).

Il est aussi réputé pour être plus compatible que certains autres serveurs UPnP/DLNA avec différents matériels un peu capricieux dans l’électronique grand public (ex: Téléviseurs avec fonctionnalité DLNA).

En téléchargement est disponible un binaire pré-compilé pour architecture x86 et son fichier de conf. Une simple extraction de l’archive en plaçant minidlna dans le répertoire /usr/sbin/ et minidlna.conf dans le répertoire /etc/. Puis quelques réglages dans le fichier de conf, lancer minidlna et hop ça a fonctionné direct sur mon portable sur Ubuntu.

Parfait rendu sur ma radio wifi Freecom MusicPal: navigation par artistes, albums, recherche de fichier, mais surtout possibilité de navigation dans l’arborescence du système de fichiers (ce que je préfère). Les pistes sont bien classées dans le bon ordre, lancez un morceau et il enchaine automatiquement ceux qui suivent dans le même dossier.
Le seul « désagrément » inévitable mais attendu c’est la durée du scan initial de la bibliothèque si celle-ci est conséquente. (Note: à partir de la version 1.0.22, l’utilisation de Inotify permet à la base de données de se mettre à jour toute seule lors de l’ajout de nouveaux médias).

Installation de MiniDLNA sur le Dockstar (Debian)

Étant donné que le Dockstar de Seagate (équivalent du PogoPlug, basé sur SheevaPlug) a une architecture processeur différente (ARM Marvell Kirkwood 1,2 GHz), il va falloir compiler MiniDLNA.

Un petit tutoriel? Allez…
Bon déjà ne pas oublier qu’on est avec l’utilisateur root.

On installe d’abord les dépendances requises pour la compilation:

aptitude install build-essential libexif-dev libjpeg-dev libid3tag0-dev libflac-dev libvorbis-dev libsqlite3-dev libavformat-dev libuuid1


Puis on va se placer dans le dossier temporaire:

cd /tmp/


On télécharge le fichier des sources (ici la dernière version en date était la 1.0.18):

wget http://downloads.sourceforge.net/project/minidlna/minidlna/1.0.18/minidlna_1.0.18_src.tar.gz


Et l'on décompresse l'archive:

tar -xzvf minidlna_1.0.18_src.tar.gz


On se met dans le dossier des sources décompressées "minidlna":

cd minidlna


Et on lance un "make"

make


Il n'y a plus qu'à copier les fichiers obtenus aux bons endroits:

cp minidlna /usr/sbin/
cp minidlna.conf /etc/
cat linux/minidlna.init.d.script > /etc/init.d/minidlna
chmod +X /etc/init.d/minidlna
chmod 755 /etc/init.d/minidlna


On peut faire un peu de ménage en désinstallant les paquets "dev" destinés à la compilation:

aptitude remove libexif-dev libjpeg-dev libid3tag0-dev libflac-dev libvorbis-dev libsqlite3-dev libavformat-dev

Voilà, vous n'avez plus qu'à faire les réglages de vos préférences (dossier où sont stockés vos medias, port d'écoute, pochettes d'albums, etc...) dans le /etc/minidlna.conf puis de lancer minidlna, soit par:

./usr/sbin/minidlna

ou plus propre:

/etc/init.d/minidlna start

Note: /etc/init.d/minidlna vous permet de l'ajouter en démarrage automatique à votre séquence de boot ;)

update-rc.d minidlna defaults

Cas pratique et personnel sur le Dockstar:

MiniDLNA a mis 1h15 pour scanner 71815 fichiers, c'est très honorable en considérant le petit CPU du Dockstar, sa RAM et le fait que les medias soient sur un disque USB.

Néanmoins lors du scan/indexation il se gauffre complétement et passe un temps monstre dès qu'il trouve le moindre fichier de playlist de type m3u.

Le problème des fichiers de playlist:
Lors du scan il a passé ~ 2 minutes d'analyse par fichier m3u qu'il a trouvé, s'il en trouve tout un tas l'indexation ne finira jamais...
(il fait une comparaison récurrente de dingue dans une énorme base sqlite sur des valeurs sans index, je vous laisse imaginer le massacre pour ceux qui ont l'habitude des bases de données)

Comme je n'ai aucune utilité des fichiers m3u, ni pls, je les ai effacé de ma bibliothèque en me rendant dans le dossier où sont stockés mes medias et en utilisant ces commandes:

find . -name "*.m3u" -exec rm '{}' \;
find . -name "*.M3U" -exec rm '{}' \;
find . -name "*.pls" -exec rm '{}' \;
find . -name "*.PLS" -exec rm '{}' \;

Le cache de MiniDLNA mis dans le répertoire /tmp:
Par défaut MiniDLNA génère ses fichiers de cache (base de données, etc...) dans le dossier temporaire /tmp/ qui dégage à chaque reboot (ça veut dire rescanner tout à chaque démarrage de la machine).
Une option est disponible depuis des récentes version pour stocker ces données ailleurs (au choix de l'utilisateur).
Il suffit de renseigner la variable "db_dir" dans le fichier de configuration, ex:

db_dir=/var/cache/minidlna

note: je n'avais vu nulle part cette mention, on me l'a indiqué dans un forum.

Une fois le scan terminé, en fonctionnement normal il ne consomme que très peu de ressource:
4.5% de la mémoire (sur 128Mo de RAM) et quasi 0% de CPU (à peine quelques % en pointe)

Module Webmin: MiniDLNA Webmin Module permet de modifier la configuration de MiniDLNA, de le redémarrer ou de relancer un scan depuis Webmin.

Seagate Dockstar en déstockage, un Plug Computer très abordable.

C’est suite à une promotion repérée sur le topic d’un forum que je suis du coin de l’oeil, que j’ai décidé de passer enfin au Plug Computer (ordinateur de la taille d’une prise, ou intégré dans une prise): Seagate déstocke ses Dockstar, vendus à 15€ pièce (attention les commerçants en ligne ont vite fait de repérer l’agitation sur un de leurs produits et d’en remonter très vite le prix).

Le Dockstar, tel qu’il est présenté et commercialisé par Segate

C’est une base (dock) pour les disques durs externes Seagate FreeAgent Go 2.5″, qui permet la mise en partage des données via le service en ligne my.pogoplug.com de la société Cloud Engine.
Voici la présentation officielle: http://www.seagate.com/www/fr-fr/products/network_storage/freeagent_dockstar/

Ce service en ligne qui permet des utilisation très aisée a cependant trois gros inconvénients:
- il est gratuit la 1ere année de l’activation du service (car fournit avec le matériel) et payant les années suivantes (~30€/an).
- il ne faut pas avoir peur de confier à une société tierce les accès en ligne et la sécurité des données stockées sur votre disque dur, ainsi qu’un potentiel droit de regard sur vos données à leur propre discrétion…
- via un système privateur de mises à jour, ils peuvent se permettre de faire ce qu’ils veulent de votre matériel: l’upgrader, le révoquer ou le désactiver…

Bref, Seagate en a fait fabriquer une belle quantité, l’a commercialisé à 99$ et cela a du être un flop commercial (notamment à cause de la gestion en ligne tierce et payante et de mauvaises critiques de ce service lié) car ils liquident désormais les stocks à bas prix.

Ce que le Seagate Dockstar est en réalité

C’est un Sheevaplug sous-vitaminé, un mini-ordinateur avec comme spécifications:
- Processeur ARM Marvell Kirkwood 1,2 GHz
- 128Mo de RAM
- 256Mo de mémoire Flash NAND, dont ~32Mo occupés par le système/firmware
- 3 ports USB
- 1 port mini-USB (le port du haut du dock est en fait un mini-USB mâle standard)
- 1 port Ethernet Gigabit
- Consommation annoncée: entre 4 et 8W selon le fonctionnement (et en incluant la consommation d’un HDD 2.5″)
- 8,6 x 8,5 x 3,8, cm (long. x larg. x prof.) / Poids : 0,50 kg

Limites: pas de calcul CPU en virgule flottantes, pas de Real Time Clock (à contourner avec le service NTP).

Que peut-on faire du Dockstar ?

Il y est possible de se passer du système originel et d’en faire ce que l’on veut en y installant Debian, Plugbox Linux ( Arch Linux compilé pour Sheevaplug et Seagate Dockstar), OpenWRT… d’autres plus spécialisés comme FreeSwitch ou PlugBX, et fort probablement d’autres systèmes à venir étant donné la compatibilité de l’architecture ARM et l’intérêt de la communauté sur ce type de matériel.
La machine est capable de booter soit sur sa mémoire flash interne, soit (après légère adaptation du bootloader) sur un media USB (clef, disque dur externe,…) :D

Il y a donc de quoi faire un petit serveur très capable, sans bruit, discret et basse consommation, sa taille ridicule permet de le planquer n’importe où. C’est parfait pour une machine fonctionnant 24h/24!
Pour info mon petit serveur actuel (sous Voyage Linux, une Debian) est un client léger avec comme spécs: CPU Via C3 500Mhz / 128Mo RAM / 256Mo Flash et s’en sort déjà très bien.

Les 4 ports USB au total et la quantités d’accessoires existants en USB laisse libre-court à l’imagination quant à ce que l’on peut lui rajouter (clef wifi, webcam, carte son, etc…).

Pour voir la bête de l’intérieur, voici des photos de l’ouverture de ses entrailles.

On peut l’imaginer en petit serveur personnel, de mise en réseau de ressources (HDD, imprimante), des services web, serveur de media (upnp, itunes), en serveur VOIP, en serveur de gestion domotique, système de download autonome (torrents, newsgroups, … ), serveur de groupware, de messagerie instantanée, un point d’accès wifi sur mesure (avec portail captif ou sécurité VPN), etc… ça ne dépend que de vos envies.

Voici ce que je compte en faire:
- Serveur OpenVPN (pour me protéger des hotspots quand je suis en déplacement)
- Serveur XMMP/Jabber (Prosody), ainsi qu’un bot jabber (comme ça je n’embêterai plus le serveur jabber.fr avec mes expériences ;) )
- Serveur web léger (Lighttpd ou Nginx), accompagné de PHP et Sqlite
- Serveur UPnP (pour ma radio wifi Freecom MusicPal et le mediacenter de la Neufbox)
- Partage Samba et NFS
- Serveur de sauvegardes programmées
- Gardien de porte (en combinant IPtable, Fail2ban et le bot XMPP)
et peut-être:
- Relais Icecast
- Lecteur audio MPD (en ajoutant une carte son USB)
- Serveur de webcam avec détection de mouvement et système d’alerte

Au prix de 15€ la bestiole, on peut même imaginer plusieurs de ces petites machines avec un usage spécifique pour chacune.

Quelques ressources en vrac:
Plugapps, plugcomputer (son forum et son wiki), forum.hardware.fr (« Topic Unique »: Seagate Dockstar, le plug computer pas cher).

Petit clin d’oeil au passage à Benjamin Bayart: avoir des services en ligne hébergés chez soi sur une machine qui tourne 24h/24, ne coute quasi-rien et consomme que dalles, c’est désormais possible!

Recoller des archives au format 001

Après recoller des archives au format XTM, voici comment sous linux on peut d’une façon simple recoller des archives découpées au format 001, 002, etc…

Je commencerai d’abord par la méthode simple avec Lxsplit, puis je parlerai de la méthode oldschool avec la commande cat.

Lxsplit

Lxsplit est un petit utilitaire en ligne de commande (le pendant Linux de HJSplit pour Windows). Il est disponible sur les dépôts Ubuntu, Debian, etc…
Installable facilement donc, sur Ubuntu soit directement depuis votre navigateur en cliquant ici: apt://lxsplit (grâce au protocole apturl), soit depuis Synaptic, soit avec la ligne de commande suivante:

sudo apt-get install lxsplit

Une fois installé la syntaxe est très simple:
-j pour join (joindre) ou -s pour split (découper)
En cas de recollage choisir le premier fichier de la série soit celui qui se termine par .001, en cas de découpage choisir votre gros fichier suivi de la taille des archives à créer (ex:15M pour 15Mo).

Bon, voici ce que cela donne dans la pratique pour recoller une archive:

lxsplit -j monfichier.iso.001
Creating merged file `monfichier.iso'.
Complete size: 349249931 in 7 files.
Processing file `monfichier.iso.001' ...
Processing file `monfichier.iso.002' ...
Processing file `monfichier.iso.003' ...
Processing file `monfichier.iso.004' ...
Processing file `monfichier.iso.005' ...
Processing file `monfichier.iso.006' ...
Processing file `monfichier.iso.007' ...
Done!

La méthode oldschool: cat

La commande cat: « Concatener des fichiers et les afficher sur la sortie standard ». Elle sert de façon commune à afficher un fichier, par exemple cat monfichier.txt. Mais elle peut aussi joindre des fichiers à la suite (concaténation) si on lui donne la liste des fichiers et le fichier final de sortie (au lieu de la sortie standard).

Méthode fainéante:

cat monfichier.iso.* > monfichier.iso

au lieu de mettre 001, on remplace par *, ainsi il ira chercher dans l’ordre tous les fichiers qui commencent par monfichier.iso. et suivis de quelque chose.

Méthode plus manuelle:

cat monfichier.iso.001 monfichier.iso.002 monfichier.iso.003 monfichier.iso.004 monfichier.iso.005 monfichier.iso.006 monfichier.iso.007 > monfichier.iso

Ici on lui liste manuellement tous les fichiers à utiliser pour créer le fichier final. Bref c’est fastidieux et long (surtout si l’archive est découpée en de nombreux morceaux). On préférera donc la méthode fainéante.