Liens intéressants Journal du hacker semaine #24

Rédigé par Cascador - -

Pour la 24ème semaine de 2016, voici 5 liens intéressants que vous avez peut-être ratés, relayés par le Journal du hacker, votre source d’informations pour le Logiciel Libre francophone !

Pour ne plus rater aucun article de la communauté francophone, voici :

De plus le site web du Journal du hacker est « adaptatif (responsive) ». N’hésitez pas à le consulter depuis votre smartphone ou votre tablette !

Le Journal du hacker fonctionne de manière collaborative, grâce à la participation de ses membres. Rejoignez-nous pour proposer vos contenus à partager avec la communauté du Logiciel Libre francophone et faire connaître vos projets !

Et vous ? Qu’avez-vous pensé de ces articles ? N’hésitez pas à réagir directement dans les commentaires de l’article sur le Journal du hacker ou bien dans les commentaires de ce billet :)

Mieux utiliser le Journal du hacker : Bien poster vos liens

Rédigé par Carl Chenet - -

L'équipe du Journal du hacker inaugure une nouvelle série de billets de blog visant à expliquer comment mieux utiliser le Journal du hacker. En effet le site propose une interface épurée, visant à aller à l'essentiel, ce qui rend discrète certaines fonctionnalités pourtant fortes utiles du moteur du site.

Avant-propos : les fonctionnalités décrites ci-dessous nécessitent d'avoir un compte sur le Journal du hacker. Si vous n'en avez pas, réclamez une invitation sans attendre !

Et maintenant, entrons dans le vif du sujet !

Bien poster vos liens

  1. Récupération automatique du titre d'un lien
  2. Utilisation du champ "Texte"
  3. Bien choisir vos marques
  4. Créer une marque manquante

Poster un lien est la principale fonctionnalité offerte par le Journal du hacker. Cette action s'effectue depuis la page de soumission de lien. Elle permet à un membre de partager un lien vers un article ou un média qui apparaîtra directement sur la page des liens récents.

1. Récupération automatique du titre d'un lien

Arrêtons nous un instant sur la saisie de l'URL. Il s'agit en effet de la première information obligatoire à saisir. À partir de ce moment, vous pouvez immédiatement utiliser le bouton "Prendre le titre" à sa droite pour que 90% du temps le titre soit récupéré automatiquement. Un copier/coller de moins à réaliser de votre côté ;)

Champ de saisie de l'URL

2. Utilisation du champ "Texte"

Comme nous l'avons vu plus haut un champ "Texte" est également disponible. Il vous permet de saisir directement du contenu sur le Journal du hacker ! (L'URL est donc facultatif !) C'est par exemple ainsi que sont publiés nos billets hebdomadaires "Sur quoi bossez-vous cette semaine ?" et "Qu'avez-vous accompli cette semaine ?". Vous pouvez ainsi laisser libre cours à votre imagination, tant que le sujet entre dans les buts du Journal du hacker ;)

3. Bien choisir vos marques

La troisième information obligatoire est l'association à votre lien d'une ou plusieurs marques. Cette marque va "classer" votre lien, permettant à la fois sa publication via le bon flux RSS et des recherches ultérieures via le moteur de recherche du site. Cette marque sera également présente sur les réseaux sociaux, sur le compte Twitter et le compte Diaspora* du Journal du hacker.

Champ de saisie de vos marques

Il faut donc bien choisir vos marques. Ne surtout pas prendre une marque trop générale car cela revient à mettre tous les articles dans le même panier. Ce qui fait disparaître votre articles des flux RSS spécialisés par marque ou rend difficile la recherche via le moteur de recherche.

4. Demander l'ajout d'une marque

Si une marque vous semble manquante, n'hésitez pas à la réclamer, il suffit pour ça de créer un lien avec le titre ajout de marque :, d'utiliser le champ "Titre" dont nous venons de parler afin d'argumenter la demande et d'utiliser la marque journal du hacker. Il peut s'en suivre une discussion sur le bien-fondé de la demande, mais si le besoin est réel, la marque sera rapidement créée.

Demande d'ajout d'une nouvelle marque

N'hésitez pas à nous laisser vos remarques sur cet article dans les commentaires ci-dessous.

À bientôt sur le Journal du hacker,
L'équipe du Journal du hacker

Base de données du Journal du hacker en téléchargement public

Rédigé par Cascador - -

Un des grands chantiers de l'équipe du Journal du hacker pour 2016 était de libérer la partie "publique" de la base de données du Journal du hacker afin que tout un chacun puisse récupérer la valeur produite par le Journal et la réutiliser dans la grande tradition de l'open data et de l'esprit de partage du Logiciel Libre.

La communauté peut dès à présent télécharger le dump de la base de données du Journal du hacker contenant les infos soumises, les commentaires, les votes présents ainsi que les actes de modération sur le site.

Un travail important a été effectué par Carl Chenet afin de scinder la sauvegarde de la base de données du Journal du hacker en deux avec d'un côté une partie confidentielle dont notamment identifiant, mot de passe, adresse e-mail des utilisateurs inscrits. D'un autre côté la partie publique librement accessible à tous et téléchargeable contenant les infos soumises, les commentaires, les votes et les actes de modération.

Le lien de téléchargement du dump est également situé dans le À propos du site du Jdh, le dump est généré chaque jour à 1h du matin.

D'autre part le premier commit de Carl sur le projet lobste.rs a été accepté. Pour rappel le Journal du hacker tourne avec le moteur du site américain Losteb.rs.

Le but est de se synchroniser avec le projet lobste.rs en amont afin de bénéficier des dernières corrections et améliorations et de partager les corrections et développements faits sur le Journal du hacker, principalement l'internationalisation du moteur, c'est-à-dire la possibilité de l'utiliser avec d'autres langues que l'anglais, ce qui n'est pas le cas aujourd'hui.

À bientôt sur le Journal du hacker,
L'équipe du Journal du hacker

Liens intéressants Journal du hacker semaine #23

Rédigé par Cascador - -

Pour la 23ème semaine de 2016, voici 5 liens intéressants que vous avez peut-être ratés, relayés par le Journal du hacker, votre source d’informations pour le Logiciel Libre francophone !

Pour ne plus rater aucun article de la communauté francophone, voici :

De plus le site web du Journal du hacker est « adaptatif (responsive) ». N’hésitez pas à le consulter depuis votre smartphone ou votre tablette !

Le Journal du hacker fonctionne de manière collaborative, grâce à la participation de ses membres. Rejoignez-nous pour proposer vos contenus à partager avec la communauté du Logiciel Libre francophone et faire connaître vos projets !

Et vous ? Qu’avez-vous pensé de ces articles ? N’hésitez pas à réagir directement dans les commentaires de l’article sur le Journal du hacker ou bien dans les commentaires de ce billet :)

Entretien avec Frank Rousseau, co-fondateur de Cozy Cloud

Rédigé par Carl Chenet - -

Jdh : Bonjour Frank et merci de participer à cet entretien pour le Journal du hacker. Pour nos lecteurs qui ne te connaissent pas, peux-tu te présenter rapidement ?

Frank : Ah tout de suite une question difficile ! J'ai 33 ans, j'ai toujours aimé bidouillé des sites web et des web apps en dehors de mes études (d'informatique) et de mon boulot.

Je ne me suis mis au dev de logiciel libre sérieusement il y a 5 ans. J'ai commencé par développer un projet de réseau social distribué en Python sur mon temps libre. Ça m'a permis de monter un projet propre avec ma façon de faire. Puis j'ai +enchaîné sur le projet Cozy, cette fois à temps plein, une plateforme pour rendre le serveur personnel simple d'utilisation (basée surNode.js et codée enCoffeeScript).

A côté de ça j'ai toujours beaucoup travaillé sous Linux (Slackware, Debian et Ubuntu) et mon éditeur de prédilection est Vim.

Cozy s'est fait autour d'un projet entrepreneurial. Ce qui m'a permis d'évoluer dans le monde du Logiciel Libre à plein temps depuis maintenant 4 ans. En plus de Cozy j'ai maintenu quelques bibliothèques Node.js que nous avons extraites du projet. C'est une expérience d'autant plus intéressante que je suis passé par étapes, de développeur seul à leader technique d'une équipe de 10 personnes de haut niveau. J'ai du aussi gérer pas mal d'aspects produits et marketing pour structurer le projet et le faire connaitre. Et par dessus tout ça, j'ai vu notre communauté grandir, comme vous le comprenez c'est une sacré aventure !

Jdh : Peux-tu nous en dire un peu plus sur ce premier réseau social distribué que tu as lancé et comment ça a influencé ta vision pour arriver à l'idée de Cozy ?

Frank : Ce réseau social s'appelle Newebe. J'ai commencé à y réfléchir à l'époque de la prise de conscience générale sur le fait que Facebook, de part son architecture, stockait toutes nos conversations. Peu de temps après le réseau social Diaspora* faisait son buzz. Cela semblait être une bonne solution mais je n'étais pas satisfait de leur approche fédérative. Diaspora* permettait d'avoir plusieurs nœuds basés sur du Logiciel Libre plutôt qu'un nœud central basé sur du code propriétaire. C'était un gros progrès mais il y avait toujours un intermédiaire. Même problème avec les approches plus anciennes basées sur XMPP. Aujourd'hui, je suis moins extrême sur la question mais à l'époque je considérais que ça déplaçait le problème sans le résoudre.

Je me suis donc dit qu'il fallait une autre approche. Je suis parti de l'utilisateur en considérant que chaque nœud devait représenter son propriétaire. J'en ai déduit qu'il fallait faire une interface web adossée à une API Rest que chacun héberge chez soi. En faisant communiquer les instances d'API entre elles, on obtiendrait un réseau social complètement distribué. C'était beaucoup plus difficile que prévu à réaliser mais je suis tout de même arrivé à quelque chose qui marche. A ce moment là, Newebe ne gérait que le microblogging. Mais là j'avais envie de permettre d'ajouter d'autres applications sociales qui profiteraient des fonctionnalités de communication de Newebe pour collaborer de manière distribuée.

NB : Voici la spec que je m'étais écrite avant de commencer Newebe.

Ce réseau social n'a pas eu beaucoup de succès et je ne suis donc pas allé au bout du concept. Mais cette expérience m'a donné les prémisses de ce que nous allions faire sur Cozy. Mon expérience de Newebe m'a influencé sur bien des aspects dans Cozy mais voici les principaux qui me viennent à l'esprit :

J'avais remarqué que faire un réseau social demande non seulement de faire basculer l'utilisateur mais aussi tous ses amis. Ce qui est très compliqué avec une approche distribuée / auto-hébergée. Pour Cozy, ce constat nous a conforté dans notre choix de nous focaliser sur des usages persos plutôt que sociaux / collaboratifs. Techniquement c'est plus simple et ça ne demande pas à l'utilisateur de demander à tous ses amis de passer à l'auto-hébergement.

J'avais aussi constaté via l'approche CouchDB que le fichier n'est qu'une représentation de la donnée. Ce n'est donc pas le bon support pour représenter les données de l'utilisateur. C'est pourquoi dans Cozy nous nous sommes concentrés sur les documents JSON comme axe de représentation de la donnée.

Pour les choix de techno, mon expérience de Tornado m'a poussé vers Node. J'avais été convaincu par l'approche de serveur web asynchrone (requête non-bloquantes) de Tornado. Node suivant cette philosophie et étant très bien outillé pour le développment web, nous avons choisi de basculer sur cette techno.

L'utilisation de CouchDB dans Newebe nous a permis de démarrer vite sur Cozy car je connaissais déjà cette base de données. Mais aujourd'hui, j'ai des doutes sur la pertinence de ce choix à cause de son système de vues/requêtes un peu particulier.

Enfin, les single-page applications nous ont motivé à fortement découpler le serveur du client. C'est important car nous avons toujours vu Cozy comme un point de pivot des données de l'utilisateur. Ainsi n'importe quel type de client peut s'y connecter (mobile, CLI, appli desktop, etc.)

Au-delà de ça, avec Newebe, je me suis beaucoup intéressé au life-logging, au quantified-self et aux assistants personnels. Ces univers sont de bonnes sources d'inspiration pour donner une direction à Cozy !

NB : Un lien de réflexions liées à Newebe.

Bref tout ça pour dire que le travail fait sur Newebe m'a beaucoup aidé pour apporter les premières briques de Cozy.

Jdh : Venons-en à Cozy. Comment est né le projet ? Quelles ont été les motivations à l'origine du projet ? Quelle a été ton approche au début du projet et à quel moment as-tu commencé à sentir que cela mènerait loin ?

Frank : Fin 2011, je me retrouve brutalement au chômage avec quelques indemnités. Ça faisait un moment que je voulais monter une boîte et cette situation me le permettait. J'avais lu quelques bouquins sur le sujet et je me mettais donc en veille en commençant à penser à des idées avant de me lancer (je voulais finir avant un projet de bouquin photos auquel j'avais participé). Un soir de décembre, en lisant un post sur le Framablog à propos de la vie privée, je tombe sur un commentaire un peu particulier d'un certain Benjamin qui cherche à monter un projet d'entreprise pour proposer une solution. Un peu hésitant au départ, je me dis que ça tombe plutôt bien et que je ferais mieux de le contacter. Après s'être rencontrés, on se rend compte qu'on est totalement sur la même longueur d'ondes. Rapidement on s'y met. Il avait une vision business alors que j'arrivais avec une vision technique, ça collait bien. On a trouvé un nom au projet, on a fait les premiers protos, on a pris un nom de domaine, monté un site web, on s'est organisé et on a monté la boite.

Au final, ça nous a pris du temps pour se décider sur comment tout ça allait marcher, mais après de nombreux mois (presque un an !), nous voilà avec une société enregistrée au tribunal de commerce, un joli site web et de quoi quoi déployer nos protos de Cozy. Tout ça nous a pris pas mal de temps. Un stagiaire, Lucas, nous avait rejoint pour nous aider sur la partie Sys Admin. On ne le savait pas encore mais il allait devenir notre premier employé.

Forts de ce qu'on avait monté, on a pu convaincre Zoé, Romain et Joseph de nous rejoindre. En stage au début et ensuite, à temps plein. Avec eux ça a boosté. Notre proto était de plus en plus fonctionnel. Ça restait bancal mais c'était utilisable et on voyait bien l'intérêt de la plateforme. On a eu de l'exposition dans plusieurs endroits : LinuxFr, LeWeb, Hacker News, Mozilla WebFWD et un article dans le magazine Wired. On a vu une première communauté internationale se former. Là je pense qu'on a commencé à vraiment y croire. Notre histoire prenait forme et on voyait la plateforme progresser de jour en jour. La tuile qui m'était tombé dessus avec ma boite précédente s'est transformée en belle opportunité de faire progresser le schmilblick du lien entre cloud et vie privée.

Pour ce qui est des motivations, notre but était de permettre aux utilisateurs de service web de profiter d'une plateforme simplifiant l'usage du serveur personnel. Avec ce nouvel outil, un utilisateur récupère ses données dans une base de données, en maîtrise les accès et surtout peut y brancher ses périphériques et autres application lourdes. Ainsi on apporte aux gens un meilleur contrôle de leurs données tout en fluidifiant leur vie numérique. Les outils type "silos" sont pratiques mais comme ils sont cloisonnés, ils ne nous facilitent pas vraiment la vie. C'est le principal problème que Cozy résout.

Pour l'approche, comme tu as pu le comprendre, on a fonctionné en itération avec pour objectif d'avoir quelque chose de fonctionnel le plus tôt possible. Ça a pris du temps au début car il a fallu, entre autres, se mettre à l'admin système sérieusement, maîtriser l'écosystème Node alors qu'il était tout jeune et faire une app web "classique" pour que les gens puissent s'inscrire et demander un Cozy. Enfin il a fallu trouver et assembler diverses technos pour faire marcher le tout sans trop réinventer la roue (le déployeur d'apps Haibu et l'indexeur Whoosh notamment). En plus de ça on travaillait avec La Poste et la FING pour réaliser des prestations qui nous ramenaient des sous. Ça nous a pris pas mal de temps mais en restant sur ce mode tout en augmentant notre équipe (grâce à une belle levée de fonds), nous avons pu continuer jusqu'à aujourd'hui et obtenir une belle plateforme pleinement fonctionnelle !

Jdh : Aujourd'hui, combien êtes-vous à travailler sur Cozy ? Quels sont les axes de développement actuels ? J'ai vu passer une offre en partenariat avec OVH et j'ai trouvé intéressante l'initiative. Quelle est ta vision à moyen terme pour Cozy ?

Frank : Aujourd'hui nous sommes une petite vingtaine toutes professions confondues. En développeurs / admins, on est une petite dizaine accompagnée d'une équipe produit de 3 personnes.

Au niveau des développements, on est en train de finaliser notre client desktop et notre webmail. L'équipe est vraiment efficace et nous avons hâte de voir le résultat. On aura enfin une plateforme proposant tous les services de base, auto-hébergeables et sur laquelle tous nos périphériques peuvent se connecter.

La vision à moyen terme de Cozy est de continuer à consolider tout ça et de construire une offre commerciale sous forme de location de Cozy en ligne puis peut-être sous une forme de box à brancher chez soi. On travaille déjà avec Gandi et OVH pour qu'ils nous aident à construire cette offre. On va aussi mettre l'accent sur l'enrichissement des données duCozy via un système de connecteurs. Ce sont des petits scripts qui vont récupérer les données que vous déposez chez vos différents fournisseurs (factures, santé, banque, etc.). C'est un gros différenciateur de Cozy par rapport aux autres clouds et la communauté aime bien ce concept car elle peut +facilement participer.

On va aussi commencer à voir des grosses boites qui déploient leur compte client sur la plateforme (une app pour gérer ses contrats et intéractions). On voudrait aussi développer des fonctionnalités pair à pair au sein du Cozy. Deux chercheurs y travaillent chez nous, on a hâte de voir ce que ça donne !

Jdh : Les lecteurs du Journal du hacker sont très curieux Peux-tu nous donner quelques détails sur les technologies utilisées pour votre infrastructure afin de développer et faire tourner Cozy ?

Frank : A propos de notre infrastructure d'hébergement, il y a pas mal de choses à dire. Tellement que j'aurais été plus à l'aise que nos admins répondent à cette question à ma place. Mais en gros, ils sont deux, Nicolas et Lucas, pour faire tourner 2500 conteneurs Cozy. Un troisième vient les rejoindre (Aeris, que vous connaissez sans doute) pour les aider. Enfin, Cédric développe des outils maison pour mieux gérer notre infra, mais il a un profil développeur. Pour se synchroniser, ils bossent tous sur un mode Kanban.

Pour le matos, on utilise des gros serveurs OVH appartenant au même rack virtuel. Ça nous permet d'avoir un réseau privé pour ces machines. On les découpe ensuite en conteneurs et on met un joli proxy devant pour gérer la distribution des requêtes en fonctions du nom de domaine.

Niveau technos, l'orchestration se fait via SaltStack et nous déployons des conteneurs OpenVZ (en 2016 on voudrait migrer vers LXC). Nous avons aussi pas mal de sondes pour récupérer des données pour faire de la métrologie via une stack Elastic Search / Logstash / Kibana et une stack InfluxDB / Grafana (selon le type de données).

Pour le monitoring, c'est Shinken qui nous réveille la nuit quand survient un problème. Enfin, les backups sont gérés via une solution maison et notre intégration continue se base sur Jenkins. Pour notre outil interne, on a développé une API via Flask et nos données sont stockées dans une base MongoDB. Cet outil nous permettra bientôt de gérer nos conteneurs de manière +uniforme quelque soit le fournisseur de machines (Gandi ou OVH par exemple).

Les conteneurs Cozy font tourner des process Node.js, une base de données CouchDB (Erlang) et des sondes Beaver et collectd. Le tout tourne sur une Debian 8 minimaliste. Les tests des applications tournent sous Travis et sont consultables publiquement.

A côté de ça, on a pas mal d'images à maintenir (Raspberry Pi, Virtualbox, hébergeurs, etc.) ainsi que notre dépôt Debian, Pour couronner le tout, nous avons un conteneur pour chacun de nos outils traditionnels : site web (Metalsmith), documentation (DocPad), blog (Dotclear), wiki, etc.

Comme vous pouvez le voir nos admins sont super-productifs et savent bien jongler avec les technos ! Et en plus ils s'entendent bien avec nos développeurs. Que demande le peuple ?

Jdh : Merci Frank.

Frank : Merci au Journal du Hacker que je suis toujours avec grand plaisir !

- Entretien réalisé par Carl Chenet pour le Journal du hacker.

Fil Rss des articles