Le Blog Utux

HTTP 200 GET /

YunoHost pour mon cloud perso

Rédigé par uTux 6 commentaires

Qu'est-ce que le cloud ? C'est d'abord un terme commercial qui veut dire "je veux tes données, tes logiciels, tes bottes et ta moto je m'en occupe pour toi". Mais pas toujours heureusement car on peut avoir du cloud géré par soi même et c'est même une solution avantageuse. Le cloud c'est un ensemble de services synchronisé ou au moins accessibles depuis plusieurs endroits. Par exemple si j'ajoute un élément dans mon calendrier sur Thunderbird je veux qu'il apparaisse sur mon téléphone automatiquement et ça c'est possible avec le cloud. Il existe de nombreuses solutions propriétaires mais aussi des libres. Avant d'aller plus loin voici mes besoins :

  • E-mail
  • Agenda
  • Contacts
  • Fichiers (dropbox-like)

J'utilise depuis 2 ans YunoHost qui est une solution libre prête à l'emploi pour installer son propre serveur de "cloud". Techniquement c'est Debian + un ensemble de services de base (LDAP, MySQL, XMPP, SMTP, IMAP) auxquels des "applications" viennent se greffer. Le tout est géré par une interface Web et un portail SSO (authentification 1 fois puis accès à toutes les applications).

L'installation se fait soit avec une ISO soit un script à exécuter sur Debian 7 ou 8. Ensuite on se connecte à l'interface d'administration web puis on créé ses domaines, ses utilisateurs, et on installe ses applications comme par exemple Roundcube pour les e-mail. L'application sera automatiquement configurée pour se connecter au serveur mail et au LDAP afin d'authentifier les utilisateurs, c'est aussi simple que ça.

Le portail YunoHost.

Voici quelques applications que j'utilise :

  • Baikal : serveur caldav/carddav pour agenda/contacts.
  • Z-Push : connecteur ActiveSync pour mon Windows Phone.
  • Seafile : Dropbox-like avec interface web et client lourd.
  • TinyTinyRSS : lecteur de flux RSS.
  • DokuWiki : wiki perso.
  • Zerobin : pour copier-coller du texte et le partager en 1 lien.
  • Jirafeau : partage rapide de fichiers.
  • Movim : que j'utilise comme client XMPP web.

YunoHost a une belle interface, c'est coloré, c'est sexy, c'est moderne. L'équipe est sympathique et souvent disponible sur leur salon XMPP (support@conference.yunohost.org). Et si vous voulez packager vos propres applications, le système est assez simple. Il faut faire des scripts bash faisant appel à des fonctions de l'api yunohost (exemple : création d'une database et d'un utilisateur) puis stocker le tout sur github. L'URL du dépôt sera ensuite utilisée pour installer l'application.

Utilisateur de Yunohost depuis deux ans je suis plus que satisfait, c'est une excellente solution pour celui qui veut avoir son propre serveur sur Linux mais n'a pas le temps ou les compétences pour tout configurer soit-même. Je recommande.

HP ProLiant MicroServer Gen8 : mon NAS homemade

Rédigé par uTux 10 commentaires

Le HP Proliant Gen8 G1610T format micro tour est un petit serveur en forme de cube ayant la particularité d'offrir 4 baies de disque. Il est totalement silencieux avec une consommation électrique maîtrisée et est proposé à un prix abordable. Il existe en version Intel Celeron ou Intel Xeon, la première étant trouvable à moins de 300 euros (j'ai eu le miens à 226€ neuf chez Amazon en Septembre). Ce n'est pas si cher si on le compare à un NAS Synlogy d'autant qu'on a droit à du hardware beaucoup plus intéressant :

  • CPU Intel Celeron G1610T (double cœur, 64 bits, virtualisation)
  • 2GB de RAM ECC (extensible)
  • 2 cartes réseau gigabit
  • iLo (KVM IP)
  • Un emplacement PCI Express 16x format low profile.
  • Consommation en idle et sans disques de ~30W
  • Silencieux
Lien vers la fiche constructeur.

On a donc un vrai serveur sur lequel on peut mettre l'OS de son choix et faire de la virtualisation.

Après avoir mis 8GB de RAM ECC ainsi que 4 disques de 1To dans les baies, j'ai installé FreeNAS sur une clé USB. Au démarrage le ventilateur souffle fort (puisqu'on a affaire à un vrai serveur) mais il ralenti progressivement pour devenir quasiment inaudible. C'est simple : ce serveur fait moins de bruit qu'une Bbox Sensation fibre.

Les disques en cours d'ajout dans les baies.

Je connaissais déjà un peu FreeNAS mais il y a quelques années encore je n'étais pas très familier avec ZFS et FreeBSD. Aujourd'hui je le suis beaucoup plus et je découvre donc à quel point ce produit est bon. Quelle joie d'avoir à portée de main les outils pour gérer un zpool, programmer des scrub périodiques, des snapshots avec durée de rétention, des dataset, des périphériques block...

Bien entendu FreeNAS est orienté NAS donc au delà de ZFS on a les fonctionnalités de partage Windows, UNIX et Apple ainsi qu'une gestion complète des utilisateurs (intégration LDAP ou AD possible).

Les sysadmin FreeBSD seront ravis de noter la présence des jails. Si vous voulez que votre NAS fasse office de serveur DNS, il suffit de créer une jail qui tournera sur FreeBSD 9.3 et dans laquelle vous pourrez configurer named. Backuppc ? Idem, une jail avec les ports qui vont bien (ou pkg).

Mes jails sur FreeNAS.

Pour le stockage j'ai testé deux configurations :

  • 4 disques en raidz-1, similaire à du RAID5 : 3TB utiles
  • 2 disques en mirror + 2 disques en mirror, similaire à du RAID10 : 2TB utiles.

La première configuration semble la plus avantageuse car elle offre la plus grosse capacité de stockage mais souffre de mauvaises performances en écriture sans que je comprenne réellement pourquoi (bloqué à 30Mo/s). Refaire le zpool avec 3 disques + 1 spare règle le problème mais c'est dommage d'avoir un disque inutilisé. Il faut noter aussi que beaucoup de sysadmin déconseillent le raidz-1/RAID5 en raison de la reconstruction stressante en cas de changement de disque. Cet excellent article résume la situation. La deuxième configuration en mirror+mirror n'offre que 2TB de stockage (50%) mais fonctionne mieux et la maintenance est facilitée. Voici mon zpool de stockage "data" :


[root@freenas] ~# zpool status
  pool: data
 state: ONLINE
  scan: scrub repaired 0 in 1h38m with 0 errors on Wed Jan 20 03:38:41 2016
config:

	NAME                                            STATE     READ WRITE CKSUM
	data                                            ONLINE       0     0     0
	  mirror-0                                      ONLINE       0     0     0
	    gptid/094171e0-69d3-11e5-81a0-d0bf9c46b918  ONLINE       0     0     0
	    gptid/0a481bb7-69d3-11e5-81a0-d0bf9c46b918  ONLINE       0     0     0
	  mirror-1                                      ONLINE       0     0     0
	    gptid/0b1b6253-69d3-11e5-81a0-d0bf9c46b918  ONLINE       0     0     0
	    gptid/0bf02931-69d3-11e5-81a0-d0bf9c46b918  ONLINE       0     0     0

errors: No known data errors

Explication : le zpool data est composé de deux vdev additionnés : mirror-0 et mirror-1. Chaque mirror est composé de deux disques qui, comme leur nom l'indique, sont en miroir (comme du RAID1). Notez qu'il n'y a pas de "stripping" comme dans le RAID10 entre mirror-0 et mirror-1, les données sont écrites là où il y a de la place. L'avantage est qu'on peut avoir deux vdev de taille différente. Par exemple mirror-0 pourrait faire 1TB et mirror-1 faire 2TB, le zpool aurait donc une taille de 1+2 = 3TB là où un RAID10 s'alignerait sur le plus petit et n'aurait donc que 2TB disponibles. ZFS permet aussi de remplacer les disques au fur et à mesure et augmenter la taille du stockage, le tout à chaud. Pour la petite histoire, je l'ai déjà fait sur un serveur de production en remplaçant des disques de 2TB par des 4TB, le zpool est passé de 4 à 6 puis à 8TB.

La compression lz4 est activée par défaut dans FreeNAS car avantageuse en terme de stockage mais aussi de performances. En effet le coût CPU est faible et la réduction du nombre de blocs physiquement écrits et lus améliore la rapidité.

En conclusion le HP Proliant G1610T est le serveur que j'attendais depuis des années. Silencieux, peu gourmand mais néanmoins véloce, il a tout d'un grand surtout les baies de disque qui permettent de faire du stockage. Associé à FreeNAS, il bat toutes les solutions propriétaires du marché et se révèle beaucoup plus souple pour un sysadmin comme moi qui ne jure que par les produits qui offrent un vrai accès root.

HTML5 : la propriété <figure> c'est super !

Rédigé par uTux 2 commentaires

J'ai fait beaucoup de CSS de 2008 à 2010, j'étais capable de coder un thème dotclear ou pluxml de A à Z avec un simple éditeur de texte. Mais les choses ont beaucoup changé aujourd'hui, HTML5 est arrivé ainsi que le responsive design et javascript qui prennent une place de plus en plus importante. Donc je suis non seulement rouillé mais en plus totalement à la ramasse par rapport au code moderne.

C'est la raison pour laquelle je me suis contenté de légèrement modifier le thème de base Pluxml au lieu d'en refaire un entier. Rien de bien fracassant puisque je me suis contenté d'ajouter un fichier "local.css" invoqué dans le header afin de modifier certains éléments notamment les couleurs et les polices.

En cherchant comment gérer une image + sa légende dans un article j'ai découvert <figure>. Cette propriété HTML5 évite de devoir créer inutilement des <div> et se révèle plus élégante :

<figure>
    <img src="https://utux.fr/data/medias/0005/orage.jpg" alt="" />
    <figcaption>Orage à Nantes (août 2015)</figcaption>.
</figure>

Lisible non ? Plus d'infos chez alsacréations. ou w3schools. Je ne détaille pas la partie CSS car ce serait un peu lourd, mais si ça vous intéresse vous pouvez jeter un œil dans le local.css. En attendant voici le résultat :

Orage à Nantes (août 2015)

Image extraite d'une vidéo prise avec un Lumia 735 il y a quelques temps. La tour que l'on voit entre les grues à gauche et l'éclair est bien sûr la Tour Bretagne.

Je n'ai plus de télévision

Rédigé par uTux 7 commentaires

Fin décembre, j'ai vendu ma télévision. Je ne la regardais pas vraiment, elle me servait surtout d'écran secondaire pour mon PC, me permettant de visionner des vidéos sur Youtube et jouer à certains jeux. Mais c'est un objet très encombrant et coûteux (redevance) j'ai donc décidé de m'en passer.

Je suis né à la fin des années 80, j'ai donc grandit avec la télévision, ses 6 chaînes et ses dessins animés. J'ai eu dans les années 2000 une carte d'acquisition TV analogique et même décodé illégalement une certaine chaîne cryptée. J'ai vécu le passage à la TNT et l'arrivée de chaînes supplémentaires. Mais plus les années passent et plus je me lasse de cet écran qui diffuse des programmes que je ne choisis pas, entrecoupés de publicités de plus en plus nombreuses.

De plus en plus de gens choisissent de se passer de télévision, assistons-nous là à la fin d'un medium ? C'est peu probable. Si nous cessons de consommer des contenus sur le petit écran nous sommes en revanche très friands de Youtube et autres plateformes de diffusion en ligne. En effet c'est très avantageux car on ne subit plus un programme TV, on le construit soi même, à volonté et gratuitement. De plus le contenu est beaucoup varié (des vidéos de chats aux vidéos scientifiques), moins censuré (What The Cut) et tout le monde peut tenter sa chance. On en oublie rapidement que Youtube existe dans une logique de rentabilité et que la publicité est extrêmement présente. Il y a celle qui vous interrompt avant et pendant la lecture, et celle beaucoup plus subtile où c'est le contenu lui-même qui est sponsorisé. De là à dire que Youtube est la télévision 2.0 il n'y a qu'un pas.

Pour caricaturer on pourrait dire que nous avons connu les télévisions en noir et blanc sans télécommande, puis les télévisions couleur avec télécommande à pile et maintenant les télévisions en 4K sur smartphone et tablette.

En conclusion, la télévision a encore de beaux jours devant elle, car si on cessait d'émettre et que l'on supprimait les écrans, on réaliserait à quel point elle est présente sur internet sous de nouvelles formes. En attendant j'ai gagné de la place chez moi en me débarrassant de la mienne et j'économiserai la redevance audiovisuelle l'année prochaine.

La fibre Free

Rédigé par uTux 4 commentaires

Dans mon logement j'ai la chance d'être éligible à la fois au FTTH (fibre dans le logement) et au FTTLa (fibre au pied de l'immeuble, prises coaxiales "câble" dans l'appartement) ce qui m'ouvre plusieurs possibilités en matière de THD (Très Haut Débit). Il y a d'un côté Orange et Free sur les offres FTTH et de l'autre Numéricable/SFR et Bouygues sur le FTTLa. J'ai rapidement écarté Numéricable/SFR en raison de leur réputation désastreuse puis Orange pour ses tarifs élevés. Il restait donc Free et Bouygues. J'ai finalement retenu Free car les débits sont meilleurs : 1 Gbps en download et 200 Mbps en upload contre 200 Mbps en download et 10 Mbps seulement en upoad chez Bouygues. J'ai donc souscrit à l'offre Freebox mini 4K.

Quelques temps après j'ai eu la visite d'un technicien sympathique qui m'a montré l'acheminement de la fibre dans le parking souterrain ainsi que l'armoire où le "brassage" s'effectue pour raccorder les particuliers au bon opérateur. Une fois le raccordement effectué il ne me restait plus qu'à attendre de recevoir ma Freebox. Après deux semaines environ j'ai reçu mes deux petits boîtiers (Server et Player) et les câbles qui vont avec. J'ai noté que l'emballage est économique car les cartons sont dimensionnés juste comme il faut, pas de gaspillage donc. Une fois déballé on a donc le Server qui est basiquement le routeur, et le Player qui est le décodeur sous Android TV. Notez que les deux boîtiers sont plutôt petits ce qui est appréciable car ils sont plus discrets une fois mis dans un meuble.

Les deux boîtiers au déballage avec le Server à gauche et le Player à droite.

L'installation du Server est très rapide et la connexion est vite établie. J'ai pu m'amuser à télécharger quelques jeux sur Steam en atteignant un débit de 65 Mo/s ;). La configuration se fait à l'aide de l'interface web en 192.168.1.254 ou par l'afficheur LCD tactile assez bien fichu. Plusieurs options sont disponibles, dont celle pour passer en mode bridge ce qui est très intéressant.

J'ai cependant rapidement trouvé un problème embêtant : l'absence de bande 5GHz pour le Wi-Fi. Pour des raisons historiques la plupart des réseaux Wi-Fi utilisent la bande des 2,4GHz mais cette dernière présente certains inconvénients : la saturation (surtout en résidence avec beaucoup de voisins), le parasitage par des appareils (four à micro-ondes) et la limitation courante à 450Mbps (à diviser par 3 ou 4 pour en situation réelle). En 5GHz on est plus tranquille car la bande est beaucoup moins occupée et permet d'atteindre des débits plus importants (on trouve des bornes Wi-Fi à 1900Mbps avec plusieurs canaux) même si la portée est un peu réduite. Deuxième problème : l'IPv6 vraiment trop basique. Pas de pare-feu, pas de modification du routeur advertisement (changement de DNS impossible), c'est décevant. Et enfin dernier point : ça chauffe ! 65°c juste pour un routeur c'est incompréhensible ! Bref je suis tombé sur un boîtier Server fait à partir de composants reconditionnés.

Non découragé par cette déception j'ai enchaîné en branchant le Player, qui tourne sous Android TV. Là où la plupart des décodeurs s'allument instantanément, celui-ci nécessite plus d'une minute ! Heureusement les mises à jour ont ajouté un mode veille permettant un allumage plus rapide. On a donc droit aux applications classiques : Freebox TV, Freebox replay, Youtube... avec une petite surprise comme l'affichage d'un bandeau publicitaire pour la VOD à chaque changement de chaîne ...

Le choix d'Android TV comme OS est discutable car je me pose la question du respect de la confidentialité avec la collecte de données effectuée par Google. En effet je n'ai pas ajouté de compte Google sur le Player et pourtant Youtube me propose curieusement des contenus que je regarde souvent, il y a donc bien un croisement/collecte d'informations, probablement avec l'adresse IP. Pour la petite histoire le Player est rapidement retourné dans son carton et quelques mois plus tard je me suis débarrassé de ma télévision.

La petite taille des boîtiers les rend discret dans un meuble TV.

En conclusion Free rempli le contrat en fournissant un accès à internet THD mais le boîtier Server fait à partir de vieux matériel qui chauffe et ce player Android TV immature qui affiche des publicités sont décevants. L'utilisation d'un routeur alternatif est plus que conseillé pour les geeks afin de profiter du Wi-Fi 5GHz, d'une vraie gestion de l'IPv6, et de quelques goodies comme la possibilité de monter un VPN et rediriger le trafic du réseau local dedans.

EDIT : Je note dernièrement des lenteurs le soir, surtout sur Youtube et l'utilisation d'un proxy permet de contourner le problème. Difficile de tirer des conclusions sans les retours d'autres utilisateurs pour le moment.

Fil RSS des articles