PROJET AUTOBLOG


Planet-Libre

source: Planet-Libre

⇐ retour index

Journal du hacker : Liens intéressants Journal du hacker semaine #10

lundi 13 mars 2017 à 00:01

Pour la 10ème semaine de 2017, voici 10 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 :)

Gravatar de Journal du hacker
Original post of Journal du hacker.Votez pour ce billet sur Planet Libre.

Articles similaires

elementary OS : AppCenter & Indiegogo

dimanche 12 mars 2017 à 23:45

Il y a maintenant un peu plus de 30 jours, la team elementary lançait une campagne de financement via la plateforme Indiegogo pour l’AppCenter.

Analysons cette campagne ainsi que les objectifs annoncés.

Daniel, lors de sa vidéo de présentation de sa campagne, a pu partager sa vision de l’AppCenter ainsi que les différents objectifs à atteindre grâce à cette campagne Indiegogo.

 

Daniel nous fait d’abord un rapide comparatif entre les applications dites WebApp versus applications traditionnelles et selon lui ces dernières se trouvent être plus rapides, plus stables, car moins dépendantes d’un navigateur Web.

Toutefois, il pondère ce sujet en ajoutant que de nombreuses applications traditionnelles peuvent elles aussi affecter la stabilité du système. Ceci, par exemple, via l’ajout d’applications tierces via des dépôts ou des sources non vérifiées.

Autre point abordé dans cette vidéo, la volonté de permettre aux développeurs tiers de bénéficier d’un outil de suivi simple et convivial, il leur permettra ainsi de mettre à jour rapidement leurs applications et par la même occasion de suivre les remontées d’incident.

Cet outil se présentera sous la forme d’un Dashboard et se basera sur les capacités de GitHub en matière de suivi de code, d’ouverture de tickets.

Dashboard AppCenter

Aperçu du Dashboard d’AppCenter

 

Autre point d’attention de l’équipe : avec l’ouverture de l’AppCenter auprès de développeurs tiers, la team souhaite aussi intégrer une mécanique de microtransactions au sein de l’AppCenter.Ces nouveaux développeurs pourront ainsi bénéficier de la flexibilité de l’AppCenter tout en ayant une source de revenue.

En lisant quelques billets du blog officiel, on apprend que ces microtransactions seront gérées via plateforme Stripe.com

Pour compléter ces informations, une autre vidéo est disponible sur la plateforme Youtube :

On peut y apprendre que bon nombre d’éléments constituants l’écosystème de l’AppCenter et de ses composants annexes existent déjà sous forme de prototype. Ceux-ci se verront intégrer dans la prochaine version d’elementary OS (nom de code Juno). Daniel nous confirme ce point d’un point de vue technique : en l’état un nouveau dépôt devra être mis en place et pour faciliter cette intégration, il sera préférable de passer par une nouvelle installation (ndlr : voir peut-être d’une migration, si l’outil se voit finaliser pour Juno).

À ce titre, l’accès anticipé à ces outils se fait par l’intermédiaire d’une invitation, pour cela, amis développeurs, vous pouvez vous inscrire via cette url https://developer.elementary.io/beta, l’équipe sélectionnera ensuite les personnes qui auront la possibilité d’accéder à ces ressources.

Concernant la partie microtransaction, il est à noter que l’équipe souhaite se diriger vers un système dit « Pay What You Want » ou en français « Payez ce que vous souhaitez », à l’inverse de fixer un prix définitif, l’usager final est libre de choisir la somme qu’il souhaite reverser aux développeurs.

Pay What You Want

Pay What You Want

 

Il est à noter que l’équipe a un avis assez tranché sur la présence de DRM ou de verrou logiciel : les développeurs souhaitant proposer leurs applications au sein d’AppCenter ne devront pas utiliser ce genre de techniques.

 

De notre point de vue, nous aurions bien voulu avoir des informations sur le futur format de packages utilisé dans AppCenter : Flatpack, Snap ou bien un autre. Aurons-nous aussi des suggestions d’applications qui pourraient nous intéresser et si c’est bien le cas, sur quelle base d’informations se basera l’AppCenter pour nous fournir ces recommandations (et où seront stockées ces données) ?

Et vous, qu’en pensez-vous ? Que souhaiteriez-vous pour que votre expérience elementary soit complète ?

Le billet AppCenter & Indiegogo a été publié sur le site de la elementary OS -

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

®om : Serveur-client

dimanche 12 mars 2017 à 23:17

De nos jours, TCP est toujours utilisé en mode client-serveur :

Une fois la connexion établie, cependant, le client et le serveur jouent exactement le même rôle au niveau de la communication. Par contre, très souvent, leur rôle applicatif dépend directement de celui qui a initié la connexion :

ssh

Ce fonctionnement paraît tellement naturel que “client” désigne bien souvent à la fois celui qui initie la connexion et celui qui effectue des requêtes (au serveur), alors que “serveur” désigne aussi bien la partie en écoute que celle qui répondra aux requêtes (des clients).

Puis vint le NAT…

Avec la pénurie d’adresses IPv4, le NAT s’est généralisé. Bien souvent, un accès internet ne fournit qu’une seule adresse IPv4. Les différents ordinateurs partageant la même connexion ne sont alors pas accessibles directement depuis l’extérieur (il est nécessaire d’ouvrir des ports).

Ainsi, derrière un NAT sans ports ouverts, un serveur ne sera pas accessible publiquement. Par contre, un client pourra continuer à se connecter à n’importe quel serveur public.

ssh-nat

Inversion des rôles

Il existe des situations pour lesquelles nous souhaitons qu’un logiciel joue le rôle de serveur au niveau applicatif, afin de répondre aux requêtes des clients, mais client au niveau de la communication, afin de passer les NATs sans difficultés.

Par exemple, nous pouvons vouloir accéder, grâce à VNC ou SSH, à un ordinateur se trouvant derrière un NAT sur lequel, par hypothèse, nous n’avons pas la main. Dans ce cas, seul le serveur (au sens applicatif) aura la capacité d’ouvrir une connexion vers le client.

Logiciel dédié

Il est possible d’utiliser un logiciel spécialement conçu pour gérer cette inversion des rôles. C’est le cas par exemple de gitso, qui inverse le protocole VNC afin de simplifier l’aide de novices à distance.

Cette solution a cependant l’inconvénient d’être très spécifique, nécessitant un développement supplémentaire pour chaque protocole.

Redirection de port distant via SSH

SSH permet d’ouvrir un tunnel pour rediriger un port d’une machine distance vers une adresse quelconque.

Par exemple, après avoir démarré la redirection :

ssh un_serveur_public -NR2222:localhost:22

toutes les connexions arrivant sur un_serveur_public:2222 seront redirigées de manière transparente vers localhost:22 (sur la machine ayant initié le tunnel, donc).

(Cela nécessite d’activer GatewayPorts yes dans /etc/ssh/sshd_config sur un_serveur_public.)

De cette manière, un serveur SSH inaccessible derrière un NAT est rendu accessible à travers un tunnel en passant par une machine publique (un_serveur_public). Ainsi, il est possible de s’y connecter avec la commande :

ssh un_serveur_public -p2222

ssh-remote

Cette stratégie fonctionne bien, mais elle nécessite que la machine qui souhaite exposer un serveur grâce à un tunnel possède un accès SSH sur un_serveur_public.

Si l’on souhaite aider quelqu’un grâce à la prise de contrôle de sa machine à distance, il y a toutes les chances que cette personne n’ait pas d’accès SSH vers une machine publiquement accessible. Il est alors possible de lui créer un compte restreint dédié sur un serveur que l’on contrôle, mais c’est très intrusif, et il faut s’assurer de ne pas réduire la sécurité.

Mais en fait, cette contrainte est superflue.

Redirections SOCAT

La redirection de port distant nécessite des permissions car, outre le fait qu’elle est implémentée sur SSH, il serait déraisonnable d’autoriser n’importe qui à ouvrir une socket en écoute sur un port arbitraire d’une machine distante.

Pour éviter ce problème, nous pouvons décomposer la redirection de port distant fourni par SSH en deux parties :

  1. l’ouverture de la connexion vers un_serveur_public, redirigée vers l’adresse localhost:22 dans l’exemple précédent ;
  2. l’ouverture d’une socket en écoute sur un port (2222) de la machine distante, redirigée vers la première connexion.

L’idée est de mettre en place le premier demi-tunnel sur la machine serveur, et le second demi-tunnel, nécessitant des permissions, sur la machine publique, contrôlée par le client.

Pour cela, nous allons utiliser l’outil socat, qui permet de relayer les données entre deux sockets, quelque soit le rôle qu’elles aient joué lors de l’initialisation.

Active-passive

Pour comprendre son utilisation, nous allons ouvrir grâce à netcat (nc) une socket TCP en écoute sur le port 5000 et nous y connecter :

# terminal 1
nc -l -p 5000
# terminal 2
nc localhost 5000

Toute entrée validée par un retour à la ligne dans le terminal 1 s’affichera dans le terminal 2 (et vice-versa).

nc

Passive-passive

Démarrons maintenant dans deux terminaux différents une socket en écoute sur les ports 1111 et 2222 :

# terminal 1
nc -l -p 1111
# terminal 2
nc -l -p 2222

Pour les mettre en communication avec socat, dans un 3e terminal :

socat tcp:localhost:1111 tcp:localhost:2222

socat-connect

Active-active

Inversement, il est possible de mettre en communication deux sockets actives (sans compter sur leur synchronisation). Pour cela, commençons par ouvrir le serveur relai :

socat tcp-listen:1111 tcp-listen:2222

Puis connectons-y deux sockets :

# terminal 1
nc localhost 1111
# terminal 2
nc localhost 2222

socat-connect

Tunnel

Nous sommes maintenant prêts pour créer l’équivalent d’une redirection de port distant SSH grâce à deux socats, qui vont permettre d’inverser la connexion uniquement sur la portion qui permet de traverser le NAT :

# sur un_serveur_public
socat tcp-listen:1234 tcp-listen:5678
# sur le serveur derrière le NAT
socat tcp:un_serveur_public:1234 tcp:localhost:22
# sur le client
ssh un_serveur_public -p5678

ssh-socat

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

fgallaire : Quel DPL pour 2017 ?

dimanche 12 mars 2017 à 06:53

Le temps passe vite, et cela fait déjà presque un an que Mehdi Dogguy a été élu Debian Project Leader (DPL). Chaque développeur Debian pouvait se porter candidat entre le 5 et le 11 mars à la suite du traditionnel appel à candidatures.

La question de la légitimité d’un scrutin avec un seul candidat, posée l’année dernière par Paul Wise, n’est heureusement plus d’actualité, mais force est de constater que les candidats ne se bousculent toujours pas au portillon pour devenir DPL. Il y en aura donc deux cette année :

En plus de son rôle de développeur Debian, Chris Lamb est un important contributeur du projet Reproducible builds ainsi que du framework web Python Django et de son écosystème.

Les presque mille développeurs Debian seront libres de voter du 2 au 15 avril lors d’un vote utilisant la méthode Condorcet.

Vous pouvez retrouver tous les débats de la campagne sur la mailing list debian-vote.

Tweet

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

Articles similaires

Thuban : Wallabag et kriss

samedi 11 mars 2017 à 23:07

Pour lire mes flux RSS, j'utilise KrISS que je trouve rapide et surtout très efficace. Je ne vois pas l'intérêt d'utiliser tiny tiny rss qui est une vraie plaie à installer et à mettre à jour pour si peu de fonctionnalités intéressantes (pour mon utilisation). KrISS, c'est 1 fichier php, et voilà :)

Cependant, j'ai du mal à lire tout ce que je voudrais par manque de temps. C'est pour ça d'ailleurs que j'ai installé wallabag, afin de sauvegarder des articles.

Je me suis aperçu que KrISS propose dans sa configuration de définir l'URL de son shaarli pour enregistrer des liens en un clic. En utilisant ce formulaire avec une URL pour wallabag, on sauvegarde un article aussi vite :) :

Plus qu'à cliquer sur "partager" :

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