# articles

feed_id: https://blog.genma.fr/?A-quand-un-Frama-OS
title: genma : A quand un Frama OS ?
uri: genma-A-quand-un-Frama-OS
url: https://blog.genma.fr/?A-quand-un-Frama-OS
content:
<img alt="" src="https://blog.genma.fr/IMG/arton2608.jpg?1481898334" width="150" height="79"><div><p>Ce billet fait suite à mon premier billet <a href="https://blog.genma.fr/?De-Framasoft-a-Yunohost-reapproprions-nous-le-cloud" title="De Framasoft à Yunohost, réapproprions nous le cloud">De Framasoft à Yunohost, réapproprions nous le cloud</a>.</p>
<p>Devant l'ampleur que prend le projet Degooglisons Internet avec Framasoft, devant tous les services qui sont mis en ligne, beaucoup sont les demandes d'avoir un système d'identifiant unique pour les différents services et surtout des remarques du type "à quand un Frama OS ?".</p>
<p>Je répondrais en mon nom, en fonction de ce que je sais et ces propos n'engage que moi. Pour le premier point, la demande revient à avoir un annuaire LDAP. Et ce n'est pas là la volonté de Framasoft. Framasoft propose et restera une vitrine de services alternatifs basés sur du logiciel libre, chaque service étant indépendant des autres. Si l'on souhaite un ensemble de services interconnectés et liés avec un même compte, il faudra se tourner vers <a href="https://chatons.org/" title="C.H.A.T.O.N.S.">un membre de C.H.A.T.O.N.S.</a>.</p>
<p>Pour le second point, à quand un Frama OS, je répondrais avec un simple mot. Jamais. Comme dit dans ma conférence <a href="https://blog.genma.fr/?De-Framasoft-a-Yunohost-reapproprions-nous-le-cloud" title="De Framasoft à Yunohost, réapproprions nous le cloud">De Framasoft à Yunohost, réapproprions nous le cloud</a>, je cite : <i>Ne réinventons pas ce qui existe : Un rapprochement et une collaboration Framasoft avec Yunohost se prépare peu à peu. Du temps salarié de Framasoft va être dédié à Yunohost. L'idée est que l'on ait tous les logiciels Framaxxx packagés pour Yunohost.</i></p>
<p>Réinventer un OS ne sert à rien. Yunohost eux-mêmes n'ont pas inventés un OS, ils utilisent une base Debian et ajoutent des fonctionnalités tels que l'automatisation de la configuration de nginx (entre autre), le développement des différents logiciels (partie utilisateur et administration) sont nécessaires car n'existant pas. Les applications elles sont simplement packagées, au plus près des applications natives... Un peu comme ce que fait Framasoft. Et du coup, les membres de la communauté Yunohost ont entrepris <a href="https://forum.yunohost.org/t/applications-framasoft/1680" title="Les applications Framasoft dans Yunohost">un travail de travail de référencement des applications Framasoft et de leurs existences (ou de ce qui serait équivalent) en tant que package pour Yunohost</a>. Si ce n'est pas le cas, un appel à packagé (et maintenir le package) est lancé. <a href="https://forum.yunohost.org/t/applications-framasoft/1680" title="Les applications Framasoft dans Yunohost">On peut suivre tout ça ici</a>.</p>
<p>Le rapprochement Framasoft avec Yunohost permettra, à terme, à chacun d'avoir les équivalents ou les applications Framasoft disponibles de façon simple. Il suffira pour cela d'installer Yunohost sur un Raspberry Pi autohébergé, sur une Brique Internet (qui rappelons le, utilise Yunohost comme Système d'exploitation), sur un PC ou encore sur un serveur dédié en ligne. Yunohost répondra alors aux deux besoins évoqués ci-dessus. En effet Yunohost intègre un système LDAP et on pourra donc (pour les applications le permettant), avoir un compte unique pour l'ensemble des applications. Et Yunohost répond également à la demande / remarque sur le Frama OS.</p></div>
<p><img src="media/42493842.dd4318d0d3a7d2ffb13756f63b76d85d" data-original-source="http://cdn.libravatar.org/avatar/dd4318d0d3a7d2ffb13756f63b76d85d" alt="Gravatar de genma" class="gravatar" /><br/><i>Original post of <a href="https://blog.genma.fr/?A-quand-un-Frama-OS" title="Visit the source">genma</a>.Votez pour ce billet sur <a href="http://www.planet-libre.org" title="Aller sur le planet">Planet Libre</a>.</i></p>


feed_id: http://blog.niqnutn.com/index.php?article66/gestionnaire-de-liens-adieu-shaarli-bonjour-pluxml
title: nIQnutn : Gestionnaire de liens: adieu Shaarli, bonjour PluXml
uri: nIQnutn-Gestionnaire-de-liens-adieu-Shaarli-bonjour-PluXml
url: http://blog.niqnutn.com/index.php?article66/gestionnaire-de-liens-adieu-shaarli-bonjour-pluxml
content:
<p>
Après avoir utilisé Shaarli comme <b>gestionnaire de liens</b> depuis 2015, j'ai décidé de passer à autre chose.
En fait c'est Bronco qui m'a un peu inspiré.<br>
C'est sympa de partager des liens, mais ça devient vite pénible et on ne sait pas par où commencer: réseaux sociaux, site web, shaarli,...<br>
Je n'utilise que la gestion des liens avec Shaarli et je n'ai pas eu de problème avec.
C'est juste que ça ne correspond plus à mes besoins et j'ai envie de me simplifier la vie.
</p>

<div>
<img src="media/21db7fb5.pluxml-logo-bleu.tb.png" data-original-source="http://blog.niqnutn.com/data/medias/0066/pluxml-logo-bleu.tb.png" alt=""><img src="media/cd23da5a.bookmark-logo.tb.png" data-original-source="http://blog.niqnutn.com/data/medias/0066/bookmark-logo.tb.png" alt=""></div>

<p>
Comme je suis plus attaché à ce blog, j'ai décidé de gérer les liens directement depuis PluXml.
</p><p>
Dans son <a href="http://warriordudimanche.net/article337/57ea69abcd442" title="article">article</a>, Bronco explique l'abandon de Shaarli: 
</p>

<blockquote>
<span><i></i></span>
Dans un souci de simplicité et de compacité, je vais désormais réunir le maximum de choses sous PluXml, à commencer par mes liens...
</blockquote>


<p>
Dans mon cas, c'est la même chose. J'ai envie de faire simple et gérer le maximum de chose possible depuis un seul outil.
Comme je ne compte pas me séparer pour le moment de PluXml, c'est Shaarli qui prend le départ.<br>
Dans le même esprit, blogotext permet de gérer des liens. Dommage que le projet soit abandonné. 
</p>

<p>
Au final, je ne perds pas beaucoup au change, éventuellement l'absence de tags et des vignettes.<br>
Je n'utilise évidemment pas toutes les fonctionnalités de <a href="https://github.com/shaarli/Shaarli" title="Shaarli">Shaarli</a>.
</p>



<h2>Le passage vers PluXml</h2>


<p>
Coté PluXml, j'ai décidé d'utiliser les commentaires d'un article comme gestionnaire de liens.<br>
Il n'y a pas de gros changement à effectuer et ça peut fonctionner sans modifications de PluXml.
</p>

<p>
On commence par créer un article qui recensera tous les liens.<br>
Ensuite, il suffit d'ajouter de nouveaux commentaires qui seront en fait nos liens.
</p>

<p>
Pour créer un lien, il nous faut: 
</p>

<p>
</p><ul><li>URL du lien (correspond au champ 'Site internet')</li>
<li>Titre du lien (correspond au champ 'Nom ou pseudo')</li>
<li>Description du lien (correspond au champ 'Contenu du message')</li>
</ul><p>
On aura aussi un flux RSS pour ceux qui veulent suivre les derniers liens. 
</p>

<h2>Création d'un template</h2>

<p>
Pour faciliter la lecture des liens j'ai créé un nouveau template d'article et ajouter un champ de recherche. <br>
J'ai aussi modifié le formulaire pour ajouter un lien. En l'état, il faut faire correspondre les champs et c'est pas très pratique.
C'est pas indispensable mais plus agréable à l'usage.
</p>

<p>
La discussion et les détails sur le forum PluXml: <a href="http://forum.pluxml.org/viewtopic.php?id=5751" title="http://forum.pluxml.org/viewtopic.php?id=5751">http://forum.pluxml.org/viewtopic.php?id=5751</a>
</p>

<h2>Les éventuels problèmes</h2>

<p>
J'ai eu un petit doutes concernant les <em>performances</em> pour afficher un nombre important de liens.
Pour le moment ça semble tenir le choc et j'ai décidé de limiter les liens en créant un <a href="http://blog.niqnutn.com/index.php?article61">article par année</a>.
De toute façon, je n'ai pas l'intention de faire une collection de liens, seulement partager ceux qui me semblent intéressant de partager.
</p>

<p>
Si je dois faire un retour en arrière, je sais que je pourrais facilement récupérer mes liens. <br>
Ils sont faciles à récupérer et l'utilisation de fichiers XML me permettra d'extraire facilement les données si besoin.
</p>

<p>
Il est possible d'exporter ses liens depuis Shaarli vers un fichier <b>Nestcape html bookmark</b> pour ne rien perdre.<br>
Depuis le menu: <em>Tools</em> > <em>Export</em> 
</p><hr>
2016 nIQnutn CC-BY
<p><img src="media/a91347c8.5c27127d0dc6fdd370e85d336aa73f8c" data-original-source="http://cdn.libravatar.org/avatar/5c27127d0dc6fdd370e85d336aa73f8c" alt="Gravatar de nIQnutn" class="gravatar" /><br/><i>Original post of <a href="http://blog.niqnutn.com/index.php?article66/gestionnaire-de-liens-adieu-shaarli-bonjour-pluxml" title="Visit the source">nIQnutn</a>.Votez pour ce billet sur <a href="http://www.planet-libre.org" title="Aller sur le planet">Planet Libre</a>.</i></p>


feed_id: http://yeuxdelibad.net/Blog/?d=2017/01/18/15/16/08-un-gui-en-python-tp-2-des-dialogues
title: Thuban : Un GUI en python : TP 2, des dialogues
uri: Thuban-Un-GUI-en-python-TP-2-des-dialogues
url: http://yeuxdelibad.net/Blog/?d=2017/01/18/15/16/08-un-gui-en-python-tp-2-des-dialogues
content:
<p>Nous sommes aujourd'hui réunis suite à un terrible constat : notre visionneuse tkv <a href="http://yeuxdelibad.net/Blog/?d=2017/01/10/16/31/08-un-gui-en-python-tp-1-une-visionneuse-dimages">craint un max</a>.<br>
C'est pourquoi nous allons ajouter une toute petite option nous permettant de choisir l'image que l'on souhaite visualiser sur notre ordinateur. Cela nous permettra par la même occasion de nous débarasser de certains morceaux qui ne sont plus utiles.</p>

<p>Profitons des dialogues déjà prêts dans la bibliothèque de tkinter en important celle qui nous intéresse :</p>

<pre><code>from tkinter import filedialog</code></pre>

<p>Nous pouvons à la place du téléchargement de l'image appeler une fenêtre de dialogue pour demander l'image à ouvrir :</p>

<pre><code># Ouverture de l'image
img_path = filedialog.askopenfilename(\\
        initialdir=(os.path.expanduser("~")),\\
        title="Image à ouvrir",\\
        parent=w)
</code></pre>

<div>
<img src="media/b2fc6972.tkv_dialog_1.png" data-original-source="http://yeuxdelibad.net/Blog/img/2c/tkv_dialog_1.png" alt=""></div>

<p>Notez ici plusieurs options :</p>

<ul><li> initialdir : Le répertoire de départ où on propose des fichiers à ouvrir. Là, je me sert de os pour afficher le répartoire personnel de l'utilisateur repéré par <code>~</code> sous UNIX.</li>
<li> title : Le titre de notre fenêtre.</li>
<li> parent : La fenêtre dont dépend le dialogue.</li></ul><p>Cela ne sufit pas, il faudrait proposer seulement les fichiers qui sont des images. On va donc indiquer les motifs qui nous intéressent (pattern). En gros, ce sont juste les extensions :</p>

<pre><code># Ouverture de l'image
img_path = filedialog.askopenfilename(\\
        initialdir=(os.path.expanduser("~")),\\
        filetypes=[('Images', ('.png', '.PNG', '.jpg', '.JPG', '.gif', '.GIF')), ('Tout', '.*')],\\
        title="Image à ouvrir",\\
        parent=w)
</code></pre>

<p>On ajoute quand même un petit test pour vérifier que on a bien sélectionné un fichier valide. On utilise la bibliothque "mimetypes" qui est livrée par défaut avec python, et on regarde si le mot "image" apparait dans le type du fichier.<br>
Pour afficher l'erreur, on utilise une fenêtre de dialogue livré avec tkinter après avoir importé la partie qui nous intéresse :</p>

<pre><code>mimtyp = mimetypes.guess_type(img_path)[0] # i.e 'image/jpeg'
if not mimtyp or "image" not in mimtyp :
    # Il n'y a pas le mot "image" dans le mimetype
    from tkinter import messagebox
    messagebox.showerror("Fichier invalide", "Le fichier demandé n'est pas une image.")
</code></pre>

<p>Et voilà !</p>

<p>Remarquez qu'il existe un tas de fenêtres de dialogue déjà toutes prêtes pour afficher des avertissements (<code>showwarning</code>) ou des informations (<code>showinfo</code>) ou de poser une simple question (<code>askquestion</code>). Regardez par ici pour plus de détails : <a href="http://effbot.org/tkinterbook/tkinter-standard-dialogs.htm.">http://effbot.org/tkinterbook/tkinter-standard-dialogs.htm.</a></p>

<p>Je vais rajouter quelques lignes pour afficher une image si elle est passée en argument (par exemple en faisant <code>tkv /home/bibi/image.jpg</code>) :</p>

<pre><code>
# Ouverture de l'image
if len(sys.argv) == 2:
    # On a une image en agument
    img_path = sys.argv[1]
else:
    # On va chercher une image sur le disque
    img_path = filedialog.askopenfilename(\\
    # ...
    # ...
</code></pre>

<p>Il reste encore quelques points à améliorer, mais ça reste déjà plus pratique. ^^<br>
Ça sera tout pour aujourd'hui.<br>
La prochaine fois, nous ajouterons quelques boutons à notre visionneuse d'images :)</p>

<p>Voici le code final :</p>

<pre><code>
#!/usr/bin/env python
# -*- coding:Utf-8 -*- 

import os
import sys
import mimetypes
from tkinter import *
from tkinter import filedialog
from PIL import Image, ImageTk


# Notre fenêtre principale
w = Tk()
w.title("tkv : visionneuse d'images") # Un titre
w.configure(background='#000000')     # Fond noir

# Un conteneur dans la fenêtre
mainframe = Frame(w)
mainframe.pack(fill=BOTH,expand=True, padx=15, pady=15)

# Ouverture de l'image
img_path=""
if len(sys.argv) == 2:
    # On a une image en agument
    img_path = sys.argv[1]

if not os.path.isfile(img_path):
    # On va chercher une image sur le disque
    img_path = filedialog.askopenfilename(\\
            initialdir=(os.path.expanduser("~")),\\
            filetypes=[('Images', ('.png', '.PNG', '.jpg', '.JPG', '.gif', '.GIF')), ('Tout', '.*')],\\
            title="Image à ouvrir",\\
            parent=w)

# Est-ce un fichier valide ?
mimtyp = mimetypes.guess_type(img_path)[0] # i.e 'image/jpeg'
if not mimtyp or "image" not in mimtyp :
    # Il n'y a pas le mot "image" dans le mimetype
    from tkinter import messagebox
    messagebox.showerror("Fichier invalide", "Le fichier demandé n'est pas une image.")
    sys.exit(1)

# Ouverture de l'image
image = Image.open(img_path)
# Dimensions de l'écran : 
gap = 100 # marge par rapport aux bordes de l'écran
screen_width = w.winfo_screenwidth() - gap
screen_height = w.winfo_screenheight() - gap

if image.width > screen_width : 
    image = image.resize((screen_width, int(image.height * screen_width / image.width)), Image.ANTIALIAS)
if image.height > screen_height :   
    image = image.resize((int(image.width * screen_height / image.height), screen_height), Image.ANTIALIAS)

# Chargement de l'image en mémoire
img = ImageTk.PhotoImage(image)

# Insertion de l'image dans le conteneur.
img_widget = Label(mainframe, image=img)
img_widget.pack()

# Démarrage du programme
w.mainloop()

sys.exit(0)
</code></pre>
<p><img src="media/0d200000.a17c14dbfc42f0936cee56ed7a9b3b31" data-original-source="http://cdn.libravatar.org/avatar/a17c14dbfc42f0936cee56ed7a9b3b31" alt="Gravatar de Thuban" class="gravatar" /><br/><i>Original post of <a href="http://yeuxdelibad.net/Blog/?d=2017/01/18/15/16/08-un-gui-en-python-tp-2-des-dialogues" title="Visit the source">Thuban</a>.Votez pour ce billet sur <a href="http://www.planet-libre.org" title="Aller sur le planet">Planet Libre</a>.</i></p>
<p><div class="similar-block"><h3>Articles similaires</h3><ul><li>Thuban : <a href="">Programmer un GUI en python -- Pourquoi TkInter ?</a> (04/01/2017)</li><li>Thuban : <a href="">Un GUI en python : TP 1, une visionneuse d&#039;images</a> (11/01/2017)</li></ul></div></p>


feed_id: http://formation-logiciel-libre.com/scribus-table-des-matieres-script/
title: Dimitri Robert : Scribus – table des matières avec un script
uri: Dimitri-Robert-Scribus-table-des-matières-avec-un-script
url: http://formation-logiciel-libre.com/scribus-table-des-matieres-script/
content:
<p>Scribus est un fabuleux logiciel libre de mise en page (oui, fabuleux, j’assume !) même s’il souffre encore de manques (en passe de disparaître, la prochaine version est encore plus fabuleuse). Par exemple, la création d’une table des matières est lourde et peu pratique. Voir l’article <a href="http://formation-logiciel-libre.com/scribus-table-des-matieres/">Réaliser une table des matières</a> que j’avais écrit il y a presque quatre ans (et que je remets sur ce blog) et qui n’a, malheureusement, pas pris une ride.</p>
<p>Ayant quelques compétences en programmation et connaissant un peu le format SLA (<em>Scribus Layout</em>), le format de travail de Scribus, je me suis dit qu’on pouvait automatiser la recherche de titres. J’ai donc écrit un script Perl qui extrait tous les titres ayant un style clairement identifié.</p>
<p>Pourquoi Perl et pas Python, le langage de prédilection des extensions de Scribus ? Déjà, je connais mieux Perl que Python et j’avais une contrainte de temps. D’autre part, le format SLA est amené à évoluer d’ici la sortie de Scribus 1.6 de même que le moteur interne de scripts. Enfin, le script que je vous présente là est indépendant de Scribus, vu qu’il lit directement le SLA (qui n’est autre que du XML). Ce script est donc une solution intermédiaire, temporaire. À la sortie quelqu’un (moi peut-être) sera toujours à temps de s’atteler à la tâche (si le mécanisme de table des matières n’a pas été amélioré d’ici-là).</p>
<h2>Conditions de base</h2>
<p>Lorsque vous réalisez votre maquette, vous devez insérer vos titres dans des cadres de textes séparés du reste et surtout, non liés. Vous devez appliquer un style de paragraphe directement sur le cadre de texte.</p>
<p>Vous pouvez insérer des retours à la ligne (Maj + Entrée), c’est-à-dire, sans changement de paragraphe. Cela peut servir à mieux présenter un titre sur plusieurs lignes. Le script concatène les différentes lignes.</p>
<p>Enfin, vous pouvez utiliser plusieurs styles différents pourvu qu’ils aient une partie du nom commune (c’est le cas dans l’exemple ci-dessous).</p>
<p>Enfin, pour la bonne exécution du script, vous devez avoir installé l’interpréteur Perl (c’est le cas par défaut sous Linux), ainsi que le module <a href="http://search.cpan.org/~tjmather/XML-DOM-1.46/lib/XML/DOM.pm">XML::DOM</a>.</p>
<h2>Le script</h2>
<pre lang="perl" line="1">#!/usr/bin/perl -w
use strict;
use Data::Dumper;
use utf8;

# Chargement du module XML::DOM pour parser du XML
use XML::DOM;

# Création de l'objet parser et chargement du fichier XML passé en paramètre
my $parser = new XML::DOM::Parser;
my $doc = $parser->parsefile(shift);

# Sélection des éléments de type PAGEOBJECT et calcul de leur nombre
my $frameobject = $doc->getElementsByTagName("PAGEOBJECT");
my $n = $frameobject->getLength;

# Une table de hachage pour accueillir la table des matières
my %tdm = ();

# Tri des PAGEOBJECT
for (my $i = 0; $i getAttribute ("PSTYLE");

	# S'il ne contient pas -TF- on passe au suivant
	next unless ($style =~ m/-TF-/);

	# Sinon on récupère le numéro de la page (OwnPage)
	my $pageNum = $node->getAttribute ("OwnPage") + 1; # Attention OwnPage commence à 0

	# Ainsi que les sous-éléments de type ITEXT.
	# S'il y a des retours à la ligne (Maj + Entrée) il y a plusieurs ITEXT
	# qu'il nous faut concaténer
	my $itext = $node->getElementsByTagName("ITEXT");
	my $nt = $itext->getLength;
	my $title = "";
	for (my $j = 0; $j item($j);

		# Pour une obscure raison, le texte est stocké dans un paramètre CH
		$title .= $t->getAttribute("CH")." ";
	}

	# Encodage du texte en UTF-8
	utf8::encode($title);

	# Les titres seront automatiquement classés par leur numéro de page
	# Pour cela il faut que ces numéros soient classés dans le bon ordre.
	# On rajoute un zéro pour les numéros inférieurs à 10.
	$pageNum = sprintf("%.2u", $pageNum);

	# L'affectation du titre dans la table de hachage trie automatiquement
	# par numéro de page
	$tdm{$pageNum} = $title;
}

# Réécriture propre de la table des matières
foreach my $k (sort(keys(%tdm)))
{
	printf("%s\\t%u\\n", $tdm{$k}, $k);
}
</pre>
<p>Quelques explications de codage :</p>
<ul><li>lignes 1 à 7, en-tête assez classique d’un script Perl : à noter le chargement du module Data::Dumper, indispensable au débug et XML::DOM, indispensable pour la suite ;</li>
<li>ligne 11 : la fonction shift récupère automatiquement le premier argument passé en ligne de commande et le supprime, de sorte qu’un nouvel appel à shift donnera le suivant ;</li>
<li>ligne 14 : dans le format SLA, les cadres sont des nœuds PAGEOBJECT, c’est donc ceux-là uniquement qu’il faut rechercher ;</li>
<li>ligne 27 : on récupère le style de paragraphe (PSTYLE) du cadre ;</li>
<li>ligne 30 : si le nom du style ne contient pas la chaîne de caractères recherchée (je veux ici récupérer les styles nommés 1-TF-creer, 2-TF-info-comm, 3-TF-programmer, etc.) on force la fin du tour de boucle (on passe au cadre suivant) ;</li>
<li>ligne 33 : sinon, on extrait le numéro de page (attribut OwnPage) en ajoutant 1, la première page ayant le numéro 0 (ah, ces informaticiens <img src="media/70955cbf.1f609.png" data-original-source="https://s.w.org/images/core/emoji/2.2.1/72x72/1f609.png" alt="😉"> ) ;</li>
<li>lignes 38 à 47 : le contenu du cadre de texte se trouve dans des nœuds de type ITEXT : la boucle permet de les mettre bout à bout (ne pas oublier l’ajout d’une espace pour éviter que les mots des différentes lignes ne se touchent (ligne 46)) ;</li>
<li>ligne 50 : encodez le titre ainsi généré en UTF-8 pour une bonne gestion des caractères accentués (entre-autres) ;</li>
<li>ligne 59 : on copie le titre trouvé dans la table de hachage avec comme clé le numéro de page (ce qui interdit d’avoir deux titres sur la même page, il faudrait pour cela créer un tableau) ;</li>
<li>lignes 62 à 66 : la table de hachage est trié suivant ses clés (donc, les numéros de page) et, pour chacune, on affiche le titre suivi du numéro de page séparés par une tabulation.</li>
</ul><h2>Créer la table des matières</h2>
<p>Passons à l’action. Enregistrez ce script dans un fichier nommé, par exemple, tdm-sla.pl. Ajoutez-lui les droits d’exécution :</p>
<pre>chmod +x tdm-sla.pl</pre>
<p>Puis exécutez-le en passant en argument votre document Scribus. L’affichage de la table des matières se fait sur la sortie standard, donc, redirigez-la vers un fichier texte.</p>
<pre>./tdm-sla.pl document.sla > tdm.txt</pre>
<p>Dans Scribus il ne vous reste plus qu’à créer un cadre de texte et insérer ce texte.</p>
<h2>Un style pour les entrées de la table</h2>
<p>Dernière étape : créer un style de paragraphe pour les entrées de la table des matières. Dans Scribus allez dans le gestionnaire de styles (Édition → Styles) et créez un style nommé TDM (par exemple).</p>
<p>Il faut gérer la tabulation que le script insère entre le titre et le numéro de page. Cliquez sur la ligne graduée en bas pour créer une tabulation. Vous pouvez en saisir une valeur précise dans le champ prévu à cet effet (dans le rectangle vert sur la capture ci-dessous). Vous pouvez également choisir l’alignement du numéro de page (liste déroulante à gauche de la position de la tabulation). Ici, les numéros de page seront centrés.</p>
<p><img src="media/d44db054.Gestionnairedestyles-0004.png" data-original-source="http://formation-logiciel-libre.com/wp-content/uploads/2017/01/Gestionnairedestyles-0004.png" alt="Gestionnaire de styles Scribus" width="857" height="781" srcset="http://formation-logiciel-libre.com/wp-content/uploads/2017/01/Gestionnairedestyles-0004.png 857w, http://formation-logiciel-libre.com/wp-content/uploads/2017/01/Gestionnairedestyles-0004-329x300.png 329w, http://formation-logiciel-libre.com/wp-content/uploads/2017/01/Gestionnairedestyles-0004-768x700.png 768w" sizes="(max-width: 857px) 100vw, 857px"></p>
<p>En personnalisant un peu le script ci-dessus j’ai donc pu extraire plusieurs niveaux de titres et générer automatiquement la table des matières donc voici un extrait ci-dessous. Il s’agit du catalogue de formations d’Artefacts, encore en cours d’élaboration (mais la sortie est imminente).</p>
<p><img src="media/ec23cb2f.catalogue-formation-tdm.png" data-original-source="http://formation-logiciel-libre.com/wp-content/uploads/2017/01/catalogue-formation-tdm.png" alt="Table des matières dans le catalogue de formations d'Artefacts" width="419" height="595" srcset="http://formation-logiciel-libre.com/wp-content/uploads/2017/01/catalogue-formation-tdm.png 419w, http://formation-logiciel-libre.com/wp-content/uploads/2017/01/catalogue-formation-tdm-211x300.png 211w" sizes="(max-width: 419px) 100vw, 419px"></p>
<blockquote><p>Astuce : si vous souhaitez extraire plusieurs niveaux de titre (donc à partir de cadres de textes de styles différents) il faut d’abord les gérer dans le script. Vous pouvez ajouter un symbole en début de ligne pour distinguer ces différents niveaux. Par exemple, vous ajoutez un dièse devant les titres de rubrique.</p>
<p>Ensuite, dans Scribus, vous pouvez importer votre table des matières comme <em>texte avec filtrage</em> (plutôt que texte simple). Définissez ensuite des filtres comme ceci.</p>
<p><img src="media/12792221.CrC3A9erunfiltre-0005.png" data-original-source="http://formation-logiciel-libre.com/wp-content/uploads/2017/01/Cr%C3%A9erunfiltre-0005.png" alt="Importer un texte avec filtrage" width="598" height="396" srcset="http://formation-logiciel-libre.com/wp-content/uploads/2017/01/Créerunfiltre-0005.png 598w, http://formation-logiciel-libre.com/wp-content/uploads/2017/01/Créerunfiltre-0005-453x300.png 453w" sizes="(max-width: 598px) 100vw, 598px"></p></blockquote>
<p>Cet article <a rel="nofollow" href="http://formation-logiciel-libre.com/scribus-table-des-matieres-script/">Scribus – table des matières avec un script</a> est publié sous licence CC By-SA 4.0 par <a rel="nofollow" href="http://formation-logiciel-libre.com/author/dimitri/">Dimitri Robert</a> sur <a rel="nofollow" href="http://formation-logiciel-libre.com/">Formation logiciel libre - Reprenez le contrôle de votre informatique !</a>.</p>
<p><img src="media/a723311b.bc7f2e519b76bc86af82809d62e1ca0a" data-original-source="http://cdn.libravatar.org/avatar/bc7f2e519b76bc86af82809d62e1ca0a" alt="Gravatar de Dimitri Robert" class="gravatar" /><br/><i>Original post of <a href="http://formation-logiciel-libre.com/scribus-table-des-matieres-script/" title="Visit the source">Dimitri Robert</a>.Votez pour ce billet sur <a href="http://www.planet-libre.org" title="Aller sur le planet">Planet Libre</a>.</i></p>
<p><div class="similar-block"><h3>Articles similaires</h3><ul><li>Dimitri Robert : <a href="">Scribus : lier des cadres de texte</a> (29/01/2015)</li></ul></div></p>


feed_id: http://www.fullcirclemag.fr/?post/2017/01/20/NS-Inkscape%2C-volume-3
title: Full Circle Magazine FR : NS Inkscape, volume 3
uri: Full-Circle-Magazine-FR-NS-Inkscape-volume-3
url: http://www.fullcirclemag.fr/?post/2017/01/20/NS-Inkscape%2C-volume-3
content:
<p>Bonjour !</p>


<p>Entre deux numéros mensuels, l'équipe du FCMfr est heureuse de vous présenter un Numéro Spécial : Inkscape, vol. 3. Il est disponible sur notre page <a href="http://www.fullcirclemag.fr/?pages/Num%C3%A9ros" hreflang="fr" title="Lire ou télécharger Inkscape3">Numéros</a> ou en cliquant directement sur l'image ci-dessous.</p>


<p><a href="http://www.fullcirclemag.fr/?download/477" hreflang="fr" title="Inkscape3"><img src="media/023ad2b2.Inkscape3fr.png" data-original-source="http://www.fullcirclemag.fr/dotclear/public/Numeros/Couvertures_PNG/Inkscape3fr.png" alt="Inkscape3fr.png" title="Inkscape3fr.png, janv. 2017"></a>.</p>


<p>Amusez-vous bien !</p>


<p>Toute l'équipe du FCMfr, avec un grand merci à d52fr, qui a presque tout fait tout seul.</p>
<p><img src="media/163a60d9.dd0e1a508d7347d53e0da0678bfd7aff" data-original-source="http://cdn.libravatar.org/avatar/dd0e1a508d7347d53e0da0678bfd7aff" alt="Gravatar de Full Circle Magazine FR" class="gravatar" /><br/><i>Original post of <a href="http://www.fullcirclemag.fr/?post/2017/01/20/NS-Inkscape%2C-volume-3" title="Visit the source">Full Circle Magazine FR</a>.Votez pour ce billet sur <a href="http://www.planet-libre.org" title="Aller sur le planet">Planet Libre</a>.</i></p>
<p><div class="similar-block"><h3>Articles similaires</h3><ul><li>Full Circle Magazine FR : <a href="">Voici, enfin, le num&eacute;ro 52 !</a> (04/11/2011)</li><li>Full Circle Magazine FR : <a href="">Et voici.. le num&eacute;ro 53 !</a> (13/12/2011)</li><li>Full Circle Magazine FR : <a href="">Le num&eacute;ro 54... enfin !</a> (18/01/2012)</li><li>Full Circle Magazine FR : <a href="">Sortie du num&eacute;ro 56</a> (09/03/2012)</li><li>Full Circle Magazine FR : <a href="">Voici le 57 !</a> (29/03/2012)</li></ul></div></p>


feed_id: https://blog.nizarus.tn/2017/01/elkafil-est-un-utilisateur-libre
title: Nizar Kerkeni : ElKafil est un utilisateur Libre
uri: Nizar-Kerkeni-ElKafil-est-un-utilisateur-Libre
url: https://blog.nizarus.tn/2017/01/elkafil-est-un-utilisateur-libre
content:
<p>Dans ce nouveau billet de la <a href="https://blog.nizarus.tn/tags/free-user" target="_blank">série d’articles sur les utilisateurs Libres</a>, je vous invite à connaître mon ami <a href="http://elkafil.blogspot.com/" target="_blank">Abdrahman El Kafil</a>. Après un saut en <a href="https://blog.nizarus.tn/2010/09/oix-est-un-utilisateur-libre" target="_blank">Algérie avec Omar</a>, aujourd’hui, avec Abdrahman, nous allons faire un saut au Maroc. Faire partie d’une communauté du Libre ça permet de dépasser les frontières.</p>
<p>J’ai connu Abdrahman, comme la majorité des membres de la communauté du Libre, dans l’espace virtuel en suivant, à distance, les activités de la communauté du Libre au Maroc. En 2016, Abdrahman a eu la gentillesse de m’inviter au Maroc pour participer à une conférence autour du Logiciel Libre. La parole est maintenant à Abdrahman :</p>
<div>
<ol><li>Bonjour Abdrahman, pour commencer, pourrais-tu en dire un peu plus sur toi ? Comment considères-tu tes connaissances en informatique ?</li>
</ol><p>Je suis directeur d’une Société de Service en Logiciel Libre (SS2L) et vice président de l’<a href="http://amp2l.org/" target="_blank">Association Marocaine pour la Promotion du Logiciel Libre</a> (AMP2L). J’ai environ 20 années d’expérience en IT et possède une quinzaine de certifications professionnelles mais comme tu sais dans ce domaine on est un perpétuel étudiant.</p>
<ol><li value="2">Depuis combien de temps utilises-tu un ordinateur et quelle en est ton utilisation principale ?</li>
</ol><p>J’utilise un PC depuis 1996 environ, j’ai commencé en administration système et suis actuellement consultant ERP.</p>
<ol><li value="3">Comment as-tu pris connaissance qu’il existait autre chose que Microsoft Windows pour ton ordinateur ?</li>
</ol><p>Depuis 2001 quand j’ai eu l’occasion de travailler avec des collègues qui utilisait Linux.</p>
<ol><li value="4">Pourrais-tu nous expliquer pourquoi, aujourd’hui, tu utilises un système d’exploitation Libre ?</li>
</ol><p>Car je maîtrise mieux ce qui se passe dans mon PC, et aussi car je manipule des applications qui fonctionnent mieux sous Linux.</p>
<ol><li value="5">Comment s’est passé ta migration et quelles sont les choses que tu as découvertes dans ton nouveau système et dont tu ne sais plus te passer ?</li>
</ol><p>C’est une migration à 360 degrés de SAP et Windows vers OpenERP et Linux et comme je dois manipuler plusieurs versions de OpenERP devenu Odoo, ce qui est plus facile sous Linux.</p>
<ol><li value="6">Depuis ta migration, quelles sont les choses que tu regrettes ou que tu ne trouves pas dans ton nouveau système ?</li>
</ol><p>Je ne regrette rien de l’environnement Windows avec tous ses problèmes de spam etc.</p>
<ol><li value="7">Dans ton utilisation journalière de ton nouveau système libre, trouves-tu facilement les logiciels dont tu as besoin ?</li>
</ol><p>Oui pour tout usage je trouve toujours une application Linux qui me satisfait.</p>
<ol><li value="8">Est-ce qu’il t’est déjà arrivé de faire la promotion de ton système d’exploitation libre auprès de tes amis ?</li>
</ol><p>En fait de part mon contact avec les clients, beaucoup d’entre eux sont passé d’eux même à Linux car il ne connaissait pas que Linux était aussi stable et sécurisé et aussi lors de conférences sur le Libre dans les universités marocaines.</p>
<ol><li value="9">Si tu avais la possibilité d’exaucer trois souhaits en rapport avec ton système d’exploitation, lesquels seraient-ils ?</li>
</ol><div dir="auto">Pas de réponse, mais si tu change système d’exploitation avec le logiciel libre , il y aurais des choses à dire</div>
<ol><li value="10">Pourrais-tu nous donner ta cotation sur 10 des différents systèmes d’exploitation et/ou distributions qui sont passés entre tes mains ?</li>
</ol><ul><li>Debian 8/10</li>
<li>Ubuntu 9/10</li>
<li>Windows 5/10</li>
</ul><ol><li value="11">Pourrais-tu nous montrer une capture d’écran de ton bureau ?</li>
</ol><p><a href="media/0a2d3bce.elkafil_desktop.png" data-original-source="https://blog.nizarus.tn/wp-content/uploads/2017/01/elkafil_desktop.png" rel="lightbox[4002]" title="ElKafil est un utilisateur Libre"><img src="media/0a2d3bce.elkafil_desktop.png" data-original-source="https://blog.nizarus.tn/wp-content/uploads/2017/01/elkafil_desktop.png" alt="elkafil desktop" width="400" height="225" srcset="https://blog.nizarus.tn/wp-content/uploads/2017/01/elkafil_desktop.png 1200w, https://blog.nizarus.tn/wp-content/uploads/2017/01/elkafil_desktop-300x169.png 300w, https://blog.nizarus.tn/wp-content/uploads/2017/01/elkafil_desktop-768x432.png 768w, https://blog.nizarus.tn/wp-content/uploads/2017/01/elkafil_desktop-1024x576.png 1024w" sizes="(max-width: 400px) 100vw, 400px"></a></p>
</div>
<a href="https://blog.nizarus.tn/wp-content/plugins/share-on-diaspora/new_window.php?url=https%3A%2F%2Fblog.nizarus.tn%2F2017%2F01%2Felkafil-est-un-utilisateur-libre&amp;title=ElKafil%20est%20un%20utilisateur%20Libre" target="_blank"><span><font>share this</font> <span><img src="media/07217359.asterisk-20.png" data-original-source="https://blog.nizarus.tn/wp-content/plugins/share-on-diaspora/images/asterisk-20.png" alt=""></span></span></a>
<p><img src="media/4da0db29.c95abbe635ee523736045a72e01c3660" data-original-source="http://cdn.libravatar.org/avatar/c95abbe635ee523736045a72e01c3660" alt="Gravatar de Nizar Kerkeni" class="gravatar" /><br/><i>Original post of <a href="https://blog.nizarus.tn/2017/01/elkafil-est-un-utilisateur-libre" title="Visit the source">Nizar Kerkeni</a>.Votez pour ce billet sur <a href="http://www.planet-libre.org" title="Aller sur le planet">Planet Libre</a>.</i></p>
<p><div class="similar-block"><h3>Articles similaires</h3><ul><li>Nizar Kerkeni : <a href="">elacheche est un utilisateur Libre</a> (05/12/2016)</li><li>Nizar Kerkeni : <a href="">TEDxEPI Sousse : pr&eacute;sentation de la communaut&eacute; Ubuntu Tunisie</a> (25/03/2012)</li><li>Nizar Kerkeni : <a href="">Association CLibre : Campagne d&rsquo;abonnements et de dons</a> (06/01/2014)</li><li>Nizar Kerkeni : <a href="">Ubuntu Global Jam 14.04</a> (01/04/2014)</li><li>Nizar Kerkeni : <a href="">Festival des sciences &agrave; Monastir</a> (09/06/2014)</li></ul></div></p>


feed_id: https://jibecfed.fedorapeople.org/blog/traduction-des-langues-pays-et-autres-merci-unicode.html
title: Jean-Baptiste Holcroft : Traduction des langues, pays et autres - merci Unicode
uri: Jean-Baptiste-Holcroft-Traduction-des-langues-pays-et-autres-merc
url: https://jibecfed.fedorapeople.org/blog/traduction-des-langues-pays-et-autres-merci-unicode.html
content:
<p>Il arrive parfois d’avoir à traduire le nom de langues dans les logiciels. Et quand vous tombez sur « Fulani », vous êtes un peu perplexe !</p>
<p>Heureusement, des experts sont déjà passés par là et ont déjà fait le travail de traduction !</p>
<h3>La débrouille</h3>
<p>Les contributeurs wikipédia qui tracent presque tout par des publications sont assez utiles pour les mots spécifiques déjà traduits de façon standardisée. Le Fulani existe sous le nom <a href="https://en.wikipedia.org/wiki/Fula_language">Fula language</a> qui nous mène à la page française <a href="https://fr.wikipedia.org/wiki/Peul">Peul</a>. Merci les contributeurs wikipédia 😏.</p>
<h3>Vérifier/automatiser/accélérer avec l’Unicode Common Locale Data Repository</h3>
<p>Le consortium Unicode maintien à jour une liste immense, qu’on trouve traduit Wikipédia ont traduit en « <a href="https://fr.wikipedia.org/wiki/Common_Locale_Data_Repository">Répertoire de données de paramètres régionaux classiques</a> ».</p>
<p>On y trouve toute sorte de traduction de langue, de pays, de mesures, des jours de la semaine, etc.
En se rendant sur le <a href="http://cldr.unicode.org/">site du CLDR</a> on télécharge la dernière <a href="http://unicode.org/Public/cldr/30.0.3/">version publique 30.0.3</a> puis on récupère <a href="http://unicode.org/Public/cldr/30.0.3/cldr-common-30.0.3.zip">cldr-common-30.0.3.zip</a>.</p>
<p>Dans l’arborescence, on va dans le sous-dossier <em>common/main</em> puis on ouvre le fichier xml <em>fr.xml</em> qui contient ce qu’on cherche.
Sans surprise, on trouve dans « languages » les traductions des langues, dans « scripts » la traduction des écritures, etc.</p>
<p>Bon, le Peul tout come le Fulani ont comme code “ff” ou “ful”, donc la traduction est cohérente.</p>
<p>Ami développeurs, si vous avez ce type de vocabulaire à traduire, n’hésitez pas à capitaliser sur l’Unicode !</p>
<h3>Le risque de ne pas utiliser Unicode : Roumanie = Romanche</h3>
<p>Dans l’application <a href="https://f-droid.org/repository/browse/?%20fdfilter=dictionary&amp;fdid=de.reimardoeffinger.quickdic&amp;fdpage=2">Dictionary</a> qui récupère du contenu du Wiktionnaire, on a des listes de langues traduites. Ayant moi-même besoin de traduire en roumain, j’ai détecté deux problèmes :
<em> le nom du dictionnaire est traduit en “Romanche” à la place de “Roumain”,
</em> on traduit des listes de valeurs déjà traduites dans android (<a href="https://developer.android.com/reference/java/util/Locale.html">voir le tableau de support</a>).</p>
<p>Tout est dans le <a href="https://github.com/rdoeffinger/Dictionary/issues/55">rapport d’anomalie</a>.</p>
<p>Bonne traduction !</p>
<p><img src="media/19a7ba81.82812e23a7e777f8b81090d2dff9a0b0" data-original-source="http://cdn.libravatar.org/avatar/82812e23a7e777f8b81090d2dff9a0b0" alt="Gravatar de Jean-Baptiste Holcroft" class="gravatar" /><br/><i>Original post of <a href="https://jibecfed.fedorapeople.org/blog/traduction-des-langues-pays-et-autres-merci-unicode.html" title="Visit the source">Jean-Baptiste Holcroft</a>.Votez pour ce billet sur <a href="http://www.planet-libre.org" title="Aller sur le planet">Planet Libre</a>.</i></p>


feed_id: http://blog.fedora-fr.org/renault/post/Petit-bilan-de-Rawhide%2C-2-mois-apr%C3%A8s
title: Renault : Petit bilan de Rawhide, 2 mois après
uri: Renault-Petit-bilan-de-Rawhide-2-mois-après
url: http://blog.fedora-fr.org/renault/post/Petit-bilan-de-Rawhide%2C-2-mois-apr%C3%A8s
content:
<p>Comme vous le savez, il y a deux mois je suis passé à Rawhide. Pour la
première fois je vais vivre entièrement le cycle de développement d'une version
de Fedora. L'objectif étant bien entendu de découvrir des choses et d'aider à
détecter des problèmes plus tôt. Afin que la Fedora 26 soit la plus stable
possible.</p>
<h3>Les problèmes rencontrés</h3>
<p>Il n'y a pas à dire, à ce stade il y a du boulot ! J'ai rencontré en 2 mois
quelques bogues plutôt importants. Je m'y attendais, et il y a eu de grands
progrès par rapport à la situation d'il y a quelques années.</p>
<p>En premier lieu, un bogue de Firefox que j'avais peu avant la sortie de F25
qui continue à me poursuivre. <a href="https://bugzilla.redhat.com/show_bug.cgi?id=1415337" hreflang="en" title="Les vidéos sur les pages Web parfois tournent en boucle sur 1 seconde de buffer.">
Les vidéos sur les pages Web parfois tournent en boucle sur 1 seconde de
buffer.</a> Rendant illisible la lecture, obligeant de relancer Firefox.</p>
<p>Ensuite, un bogue qui continue toujours, <a href="https://bugzilla.redhat.com/show_bug.cgi?id=1408402" hreflang="en" title="GNOME Shell a une erreur obligeant à relancer la session, sans raison à son lancement. C'est plutôt aléatoire. Mais si la session se lance bien, ce problème ne surgit plus avant le prochain lancement.">
GNOME Shell a une erreur obligeant à relancer la session, sans raison à son
lancement. C'est plutôt aléatoire. Mais si la session se lance bien, ce
problème ne surgit plus avant le prochain lancement.</a></p>
<p>Un bogue apparemment qui a concerné aussi F25 et F24, avec Firefox
impossible d'aller sur des sites tels que Google ou Wikipédia. <a href="https://bugzilla.redhat.com/show_bug.cgi?id=1413303" hreflang="en" title="Un problème dû à HTTPS sur HTTP2 apparemment.">Un problème dû à HTTPS sur
HTTP2 apparemment.</a> Cela a été corrigé rapidement, mais pourrait revenir
pour Thunderbird et SeaMonkey à l'avenir, à cause de la mise à jour de NSS (la
bibliothèque de sécurité de Mozilla) et le manque de correctif pour ces
programmes. C'est en discussion sur la manière d'aborder la chose.</p>
<p>Un nouveau bogue apparu hier, qui semble venir du logiciel lui même.
<a href="https://bugzilla.redhat.com/show_bug.cgi?id=1415337" hreflang="en" title="Ouvrir des onglets dans Epiphany rend l'écran noir ou gèle le système.">Ouvrir
des onglets dans Epiphany rend l'écran noir ou gèle le système.</a> Plutôt
ennuyeux, mais au moins Epiphany n'est pas mon navigateur principal donc cela
ne me gêne pas trop.</p>
<p>Enfin, dernier bogue qui vient d'être résolu. <a href="https://bugzilla.redhat.com/show_bug.cgi?id=1410528" hreflang="en" title="GNOME Shell, GDM et d'autres programmes plantaient, à cause d'un écart de version entre la bibliothèque harfbuzz de Fedora et de FreeType dans RPMFusion.">
GNOME Shell, GDM et d'autres programmes plantaient, à cause d'un écart de
version entre la bibliothèque harfbuzz de Fedora et de FreeType dans
RPMFusion.</a> Le mainteneur dans RPMFUsion a rapidement corrigé le tir.</p>
<p>Bref, 5 bogues que je considère comme importants et que j'ai rencontré en 2
mois. Ce n'est pas beaucoup. Dont 2 qui ont touché aussi la version stable de
Fedora par ailleurs. Cela demande quand même un peu de patience et de
bidouilles pour corriger la situation mais rien d'insurmontable. <img src="media/b198d622.smile.png" data-original-source="http://blog.fedora-fr.org/themes/default/smilies/smile.png" alt=":-)"></p>
<p>Cependant, il y a eu discussion il y a quelques temps sur Rawhide. Un
empaqueteur a jugé bon de pousser un paquets qui ne fonctionnait pas sur
Rawhide dans les dépôts (car pas testé par ses soins avant). Selon lui Rawhide
doit être un dépôt <em>poubelle</em> où la stabilité ne compte pas car cela
pourrait ralentir ses développements. Je trouve que de manquer ici de respect
aux testeurs est dommageable. Rawhide par définition doit être utilisable et un
paquet doit être testé par son mainteneur avant. Cela paraît être le minimum à
faire.</p>
<p>Heureusement que cette mentalité a fortement régressé. Il n'y a plus
beaucoup d'empaqueteurs qui tiennent encore de tels propos.</p>
<h3>Les changements</h3>
<p>Forcément l'intérêt de passer à Rawhide ou à une version de tests, c'est
aussi découvrir et profiter des changements en avance. Pour l'instant pas de
grands bouleversements. GNOME Shell et LibreOffice sont en avance d'une version
par rapport à Fedora 25 (mais sont toujours en développement). Comme souvent
leurs améliorations sont par petite touche et l'ensemble est plus agréable.</p>
<p>Le plus grand changement visible vient de GNOME Builder je pense, dont une
bonne partie de l'interface a été changée. C'est l'IDE que j'utilise depuis une
année maintenant et il évolue vraiment dans le bon sens, c'est très
appréciable.</p>
<p>Après nous ne sommes qu'au début du développement de ce que deviendra Fedora
26. Les fonctionnalités ne sont pas encore toutes définies, et encore moins
mises en place. Et les logiciels upstream aussi ont beaucoup à faire, GNOME n'a
pas encore fini de changer (sa sortie étant dans 2 mois) par exemple.</p>
<p>J'espère que ce genre de billets vous plairont, je compte en faire
mensuellement. Quand j'aurais des changements plus visibles je ferais des
captures d'écran associés. Si cela intéresse les gens d'aller à l'aventure de
Rawhide, n'hésitez pas, il y a très peu de testeurs mais beaucoup de besoins !
Et c'est grâce à cette activité que la Fedora stable est stable.</p>
<p><img src="media/d143d7a6.f792a7629fb4a46c01613eb1976730ef" data-original-source="http://cdn.libravatar.org/avatar/f792a7629fb4a46c01613eb1976730ef" alt="Gravatar de Renault" class="gravatar" /><br/><i>Original post of <a href="http://blog.fedora-fr.org/renault/post/Petit-bilan-de-Rawhide%2C-2-mois-apr%C3%A8s" title="Visit the source">Renault</a>.Votez pour ce billet sur <a href="http://www.planet-libre.org" title="Aller sur le planet">Planet Libre</a>.</i></p>
<p><div class="similar-block"><h3>Articles similaires</h3><ul><li>Renault : <a href="">Participez &agrave; la journ&eacute;e de test de Fedora 25 sur Wayland</a> (13/10/2016)</li><li>Renault : <a href="">Participez &agrave; la journ&eacute;e de test de Fedora 25 sur les images Cloud et Atomic</a> (24/10/2016)</li><li>Renault : <a href="">Participez &agrave; la journ&eacute;e de test de Fedora 25 sur les cartes graphiques</a> (03/11/2016)</li><li>Renault : <a href="">Passage &agrave; Fedora Rawhide</a> (25/11/2016)</li><li>Olivier Faurax : <a href="">Mon bilan de 2009</a> (07/01/2010)</li></ul></div></p>


feed_id: http://www.fullcirclemag.fr/?post/2017/01/19/Dernier-num%C3%A9ro-de-2016
title: Full Circle Magazine FR : Dernier numéro de 2016
uri: Full-Circle-Magazine-FR-Dernier-numéro-de-2016
url: http://www.fullcirclemag.fr/?post/2017/01/19/Dernier-num%C3%A9ro-de-2016
content:
<p>Bonjour !</p>


<p>L'équipe française du FCM est heureuse de vous présenter ses meilleurs vœux pour une excellente année 2017 ! En guise de carte de vœux voici le dernier numéro de 2016, le numéro 116, celui de décembre. Comme d'habitude, vous pouvez le télécharger ou le visionner sur notre page <a href="http://www.fullcirclemag.fr/?pages/Num%C3%A9ros" hreflang="fr" title="Lire ou télécharger">Numéros</a> ou le télécharger directement en cliquant sur l'image de couverture ci-dessous.</p>


<p><a href="http://www.fullcirclemag.fr/?download/480" hreflang="fr" title="Télécharger le 116"><img src="media/78f66737.issue116fr.png" data-original-source="http://www.fullcirclemag.fr/dotclear/public/Numeros/Couvertures_PNG/issue116fr.png" alt="issue116fr.png" title="issue116fr.png, janv. 2017"></a></p>


<p>Dans ce numéro, en plus des rubriques habituelles, vous trouverez notamment :</p>

<ul><li>Une présentation de Zim dans le cadre d'une utilisation avec LaTeX, où vous apprendrez que Zim fait beaucoup plus que ce qui est indiqué dans Synaptic ;</li>
<li>Un article de Charles, dans la rubrique Labo Linux, où il nous parle de son choix de la Box Android Zoomtak T8H V2 pour son réseau domestique ;</li>
<li>Une critique de minitube qui, si vous êtes accroc de YouTube, vous deviendra vite indispensable ;</li>
<li>Cerise sur le gâteau, une présentation d'OpenRA dans la rubrique Jeux Ubuntu. Oui, Command&amp;Conquer, Red Alert et Dune 2000 sont maintenant Open Source et disponibles gratuitement ! Christopher Hart nous détaille tout ce qu'il faut faire pour pouvoir y jouer sous Linux, les vidéos dramatiques comprises.</li>
</ul><p>Nous vous en souhaitons bonne lecture...</p>


<p>Toute l'équipe du FCMfr :</p>

<ul><li>Le scribeur : Bab,</li>
<li>Les traducteurs : AE, d52fr et frangi,</li>
<li>Les relecteurs : Bab, d52fr et moi-même, AuntieE</li>
</ul>
<p><img src="media/163a60d9.dd0e1a508d7347d53e0da0678bfd7aff" data-original-source="http://cdn.libravatar.org/avatar/dd0e1a508d7347d53e0da0678bfd7aff" alt="Gravatar de Full Circle Magazine FR" class="gravatar" /><br/><i>Original post of <a href="http://www.fullcirclemag.fr/?post/2017/01/19/Dernier-num%C3%A9ro-de-2016" title="Visit the source">Full Circle Magazine FR</a>.Votez pour ce billet sur <a href="http://www.planet-libre.org" title="Aller sur le planet">Planet Libre</a>.</i></p>
<p><div class="similar-block"><h3>Articles similaires</h3><ul><li>Full Circle Magazine FR : <a href="">Voici, enfin, le num&eacute;ro 52 !</a> (04/11/2011)</li><li>Full Circle Magazine FR : <a href="">Et voici.. le num&eacute;ro 53 !</a> (13/12/2011)</li><li>Full Circle Magazine FR : <a href="">Le num&eacute;ro 54... enfin !</a> (18/01/2012)</li><li>Full Circle Magazine FR : <a href="">Sortie du num&eacute;ro 56</a> (09/03/2012)</li><li>Full Circle Magazine FR : <a href="">Voici le 57 !</a> (29/03/2012)</li></ul></div></p>


feed_id: https://yeuxdelibad.net/Blog/?d=2017/01/18/15/16/08-un-gui-en-python-tp-2-des-dialogues
title: Thuban : Un GUI en python : TP 2, des dialogues
uri: 2017-01-22-Thuban-Un-GUI-en-python-TP-2-des-dialogues
url: https://yeuxdelibad.net/Blog/?d=2017/01/18/15/16/08-un-gui-en-python-tp-2-des-dialogues
content:
<p>Nous sommes aujourd'hui réunis suite à un terrible constat : notre visionneuse tkv <a href="http://yeuxdelibad.net/Blog/?d=2017/01/10/16/31/08-un-gui-en-python-tp-1-une-visionneuse-dimages">craint un max</a>.<br>
C'est pourquoi nous allons ajouter une toute petite option nous permettant de choisir l'image que l'on souhaite visualiser sur notre ordinateur. Cela nous permettra par la même occasion de nous débarasser de certains morceaux qui ne sont plus utiles.</p>

<p>Profitons des dialogues déjà prêts dans la bibliothèque de tkinter en important celle qui nous intéresse :</p>

<pre><code>from tkinter import filedialog</code></pre>

<p>Nous pouvons à la place du téléchargement de l'image appeler une fenêtre de dialogue pour demander l'image à ouvrir :</p>

<pre><code># Ouverture de l'image
img_path = filedialog.askopenfilename(\\
        initialdir=(os.path.expanduser("~")),\\
        title="Image à ouvrir",\\
        parent=w)
</code></pre>

<div>
<img src="media/b2fc6972.tkv_dialog_1.png" data-original-source="http://yeuxdelibad.net/Blog/img/2c/tkv_dialog_1.png" alt=""></div>

<p>Notez ici plusieurs options :</p>

<ul><li> initialdir : Le répertoire de départ où on propose des fichiers à ouvrir. Là, je me sert de os pour afficher le répartoire personnel de l'utilisateur repéré par <code>~</code> sous UNIX.</li>
<li> title : Le titre de notre fenêtre.</li>
<li> parent : La fenêtre dont dépend le dialogue.</li></ul><p>Cela ne sufit pas, il faudrait proposer seulement les fichiers qui sont des images. On va donc indiquer les motifs qui nous intéressent (pattern). En gros, ce sont juste les extensions :</p>

<pre><code># Ouverture de l'image
img_path = filedialog.askopenfilename(\\
        initialdir=(os.path.expanduser("~")),\\
        filetypes=[('Images', ('.png', '.PNG', '.jpg', '.JPG', '.gif', '.GIF')), ('Tout', '.*')],\\
        title="Image à ouvrir",\\
        parent=w)
</code></pre>

<p>On ajoute quand même un petit test pour vérifier que on a bien sélectionné un fichier valide. On utilise la bibliothque "mimetypes" qui est livrée par défaut avec python, et on regarde si le mot "image" apparait dans le type du fichier.<br>
Pour afficher l'erreur, on utilise une fenêtre de dialogue livré avec tkinter après avoir importé la partie qui nous intéresse :</p>

<pre><code>mimtyp = mimetypes.guess_type(img_path)[0] # i.e 'image/jpeg'
if not mimtyp or "image" not in mimtyp :
    # Il n'y a pas le mot "image" dans le mimetype
    from tkinter import messagebox
    messagebox.showerror("Fichier invalide", "Le fichier demandé n'est pas une image.")
</code></pre>

<p>Et voilà !</p>

<p>Remarquez qu'il existe un tas de fenêtres de dialogue déjà toutes prêtes pour afficher des avertissements (<code>showwarning</code>) ou des informations (<code>showinfo</code>) ou de poser une simple question (<code>askquestion</code>). Regardez par ici pour plus de détails : <a href="http://effbot.org/tkinterbook/tkinter-standard-dialogs.htm.">http://effbot.org/tkinterbook/tkinter-standard-dialogs.htm.</a></p>

<p>Je vais rajouter quelques lignes pour afficher une image si elle est passée en argument (par exemple en faisant <code>tkv /home/bibi/image.jpg</code>) :</p>

<pre><code>
# Ouverture de l'image
if len(sys.argv) == 2:
    # On a une image en agument
    img_path = sys.argv[1]
else:
    # On va chercher une image sur le disque
    img_path = filedialog.askopenfilename(\\
    # ...
    # ...
</code></pre>

<p>Il reste encore quelques points à améliorer, mais ça reste déjà plus pratique. ^^<br>
Ça sera tout pour aujourd'hui.<br>
La prochaine fois, nous ajouterons quelques boutons à notre visionneuse d'images :)</p>

<p>Voici le code final :</p>

<pre><code>
#!/usr/bin/env python
# -*- coding:Utf-8 -*- 

import os
import sys
import mimetypes
from tkinter import *
from tkinter import filedialog
from PIL import Image, ImageTk


# Notre fenêtre principale
w = Tk()
w.title("tkv : visionneuse d'images") # Un titre
w.configure(background='#000000')     # Fond noir

# Un conteneur dans la fenêtre
mainframe = Frame(w)
mainframe.pack(fill=BOTH,expand=True, padx=15, pady=15)

# Ouverture de l'image
img_path=""
if len(sys.argv) == 2:
    # On a une image en agument
    img_path = sys.argv[1]

if not os.path.isfile(img_path):
    # On va chercher une image sur le disque
    img_path = filedialog.askopenfilename(\\
            initialdir=(os.path.expanduser("~")),\\
            filetypes=[('Images', ('.png', '.PNG', '.jpg', '.JPG', '.gif', '.GIF')), ('Tout', '.*')],\\
            title="Image à ouvrir",\\
            parent=w)

# Est-ce un fichier valide ?
mimtyp = mimetypes.guess_type(img_path)[0] # i.e 'image/jpeg'
if not mimtyp or "image" not in mimtyp :
    # Il n'y a pas le mot "image" dans le mimetype
    from tkinter import messagebox
    messagebox.showerror("Fichier invalide", "Le fichier demandé n'est pas une image.")
    sys.exit(1)

# Ouverture de l'image
image = Image.open(img_path)
# Dimensions de l'écran : 
gap = 100 # marge par rapport aux bordes de l'écran
screen_width = w.winfo_screenwidth() - gap
screen_height = w.winfo_screenheight() - gap

if image.width > screen_width : 
    image = image.resize((screen_width, int(image.height * screen_width / image.width)), Image.ANTIALIAS)
if image.height > screen_height :   
    image = image.resize((int(image.width * screen_height / image.height), screen_height), Image.ANTIALIAS)

# Chargement de l'image en mémoire
img = ImageTk.PhotoImage(image)

# Insertion de l'image dans le conteneur.
img_widget = Label(mainframe, image=img)
img_widget.pack()

# Démarrage du programme
w.mainloop()

sys.exit(0)
</code></pre>
<p><img src="media/0d200000.a17c14dbfc42f0936cee56ed7a9b3b31" data-original-source="http://cdn.libravatar.org/avatar/a17c14dbfc42f0936cee56ed7a9b3b31" alt="Gravatar de Thuban" class="gravatar" /><br/><i>Original post of <a href="https://yeuxdelibad.net/Blog/?d=2017/01/18/15/16/08-un-gui-en-python-tp-2-des-dialogues" title="Visit the source">Thuban</a>.Votez pour ce billet sur <a href="http://www.planet-libre.org" title="Aller sur le planet">Planet Libre</a>.</i></p>
<p><div class="similar-block"><h3>Articles similaires</h3><ul><li>Thuban : <a href="">Programmer un GUI en python -- Pourquoi TkInter ?</a> (04/01/2017)</li><li>Thuban : <a href="">Un GUI en python : TP 1, une visionneuse d&#039;images</a> (11/01/2017)</li></ul></div></p>


title: Journal du hacker : Liens intéressants Journal du hacker semaine #03
uri: Journal-du-hacker-Liens-intéressants-Journal-du-hacker-semaine-03
feed_id:
https://blog.journalduhacker.net/index.php?article85/liens-interessants-journal-du-hacker-semaine-03

url:
https://blog.journalduhacker.net/index.php?article85/liens-interessants-journal-du-hacker-semaine-03

content:
<p>Pour la 3ème semaine de 2017, voici 5 liens intéressants que vous avez peut-être ratés, relayés par <a href="https://www.journalduhacker.net/">le Journal du hacker</a>, votre source d’informations pour le Logiciel Libre francophone !</p>

<a href="https://www.journalduhacker.net/"><img src="media/01f45034.logo-journal-du-hacker.png" data-original-source="https://blog.journalduhacker.net/data/medias/logo-journal-du-hacker.png"></a>

<ul><li><a href="https://www.journalduhacker.net/s/1vspdu/comment_choisir_entre_owncloud_et_nextcloud">Comment choisir entre Owncloud et Nextcloud ?</a></li>
<li><a href="https://www.journalduhacker.net/s/u5dcyp/moz_a_le_nouveau_logo_est_l">Moz://a : le nouveau logo est là</a></li>
<li><a href="https://www.journalduhacker.net/s/v8govf/linus_torvalds_the_mind_behind_linux_ted_-_f_vrier_2016">Linus Torvalds: The mind behind Linux (TED - Février 2016)</a></li>
<li><a href="https://www.journalduhacker.net/s/7r21qn/ubuntu_est_partout_transcription">Ubuntu est partout (transcription)</a></li>
<li><a href="https://www.journalduhacker.net/s/arna6x/utiliser_un_r_solveur_dns_public">Utiliser un résolveur DNS public ?</a></li>
</ul><p>Pour ne plus rater aucun article de la communauté francophone, voici :</p>

<ul><li><a href="https://www.journalduhacker.net/rss">Le flux RSS du Journal du hacker</a></li>
<li><a href="https://twitter.com/journalduhacker">Le compte Twitter du Journal du hacker</a></li>
<li><a href="https://framasphere.org/u/journalduhacker">Le compte Diaspora* du Journal du hacker</a></li>
</ul><p>De plus le site web du Journal du hacker est « adaptatif (responsive) ». N’hésitez pas à le consulter depuis votre smartphone ou votre tablette !</p>

<p>Le Journal du hacker fonctionne de manière collaborative, grâce à la participation de ses membres. <a href="https://www.journalduhacker.net/invitations/request">Rejoignez-nous</a> pour proposer vos contenus à partager avec la communauté du Logiciel Libre francophone et faire connaître vos projets !</p>

<p><strong>Et vous ? Qu’avez-vous pensé de ces articles ?</strong> 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 :)</p>
<p><img src="media/ffe97a17.7916ee3cafa0bc3e9583bedad876dcd5" data-original-source="http://cdn.libravatar.org/avatar/7916ee3cafa0bc3e9583bedad876dcd5" alt="Gravatar de Journal du hacker" class="gravatar" /><br/><i>Original post of <a href="https://blog.journalduhacker.net/index.php?article85/liens-interessants-journal-du-hacker-semaine-03" title="Visit the source">Journal du hacker</a>.Votez pour ce billet sur <a href="http://www.planet-libre.org" title="Aller sur le planet">Planet Libre</a>.</i></p>


feed_id: https://girinstud.io/news/2017/01/publication-de-lepisode-pilote-dun-ancien-projet-ouhlala/
title: Jehan : Publication de l’épisode pilote d’un ancien projet: Ouhlala
uri: Jehan-Publication-de-l-épisode-pilote-d-un-ancien-projet-Ouhla
url: https://girinstud.io/news/2017/01/publication-de-lepisode-pilote-dun-ancien-projet-ouhlala/
content:
<p>2017 débute avec brio, beaucoup de nouveaux contributeurs et de la joie de vivre! <img src="media/78924bcd.1f642.png" data-original-source="https://s.w.org/images/core/emoji/2.2.1/72x72/1f642.png" alt="🙂"></p>
<p>Nous avons retrouvé un vieux projet, qui date en fait de quelques mois avant <a href="http://film.zemarmot.net/"><i>ZeMarmot</i></a> (soit fin 2014, soit début 2015), quand justement nous cherchions ce qui nous occuperait dans les années à venir. Comme vous le savez, ce n’est pas le projet que nous avons choisi ce qui explique qu’il était oublié au fond de nos disques durs. C’est un peu dommage, donc autant libérer de suite ce petit épisode d’une trentaine de secondes.<br>
La série est en pause puisque nous nous concentrons dorénavant sur <i> ZeMarmot</i>. Il s’agit de la première publication de cet épisode (qui n’a été montré qu’une seule fois lors d’une petite conférence).</p>
<p>Le concept de la série était d’illustrer des expressions du monde entier avec de courtes animations (pas forcément de manière intellectuelle, plutôt avec un angle comique). Pour ce pilote, nous avions choisi l’expression française: « <i>Jamais 2 sans 3</i>« .</p>
<p><iframe type="text/html" width="525" height="326" src="https://www.youtube.com/embed/Wzzlrv0HmaI?version=3&amp;rel=1&amp;fs=1&amp;autohide=2&amp;showsearch=0&amp;showinfo=1&amp;iv_load_policy=1&amp;wmode=transparent" allowfullscreen="true"></iframe></p>
<p><span>Licence du film:</span> <a href="https://creativecommons.org/licenses/by-sa/4.0/">Creative Commons by-SA 4.0 international</a><br>
Comme d’habitude, tout est dessiné avec <a href="https://www.gimp.org/" target="_blank">GIMP</a>, le son est enregistré ou édité avec <a href="http://ardour.org/" target="_blank">Ardour</a>, hormis quelques sons en CC 0 trouvé sur l’excellent <a href="http://freesound.org/" target="_blank">freesound.org</a>.</p>
<p>Bon visionnage!</p>
<hr><p><em>Nous rappelons que si vous aimez ce que nous faisons, vous pouvez financer notre projet en cours, ZeMarmot sur <a href="https://www.patreon.com/zemarmot">Patreon</a> (USD) ou <a href="https://www.tipeee.com/zemarmot">Tipeee</a> (EUR)!</em></p>
<p><img src="media/ca644cf9.99a063c1d30a65a33c408a4ad189b9de" data-original-source="http://cdn.libravatar.org/avatar/99a063c1d30a65a33c408a4ad189b9de" alt="Gravatar de Jehan" class="gravatar" /><br/><i>Original post of <a href="https://girinstud.io/news/2017/01/publication-de-lepisode-pilote-dun-ancien-projet-ouhlala/" title="Visit the source">Jehan</a>.Votez pour ce billet sur <a href="http://www.planet-libre.org" title="Aller sur le planet">Planet Libre</a>.</i></p>
<p><div class="similar-block"><h3>Articles similaires</h3><ul><li>Jehan : <a href="">Retour en arri&egrave;re sur les Films Libres d&rsquo;Aryeom et Jehan</a> (03/06/2015)</li><li>Jehan : <a href="">Combien de temps durera ZeMarmot? Quel est le business plan?</a> (17/04/2015)</li><li>Jehan : <a href="">ZeMarmot: compte-rendu de fin 2016</a> (30/12/2016)</li></ul></div></p>


feed_id: https://jibecfed.fedorapeople.org/blog/linternationalisation-une-priorite-de-la-fsf.html
title: Jean-Baptiste Holcroft : L’internationalisation : une priorité de la FSF
uri: Jean-Baptiste-Holcroft-L-internationalisation-une-priorité-de-l
url: https://jibecfed.fedorapeople.org/blog/linternationalisation-une-priorite-de-la-fsf.html
content:
<p>Comme le pointe <a href="http://linuxfr.org/users/jehan/journaux/flash-est-en-phase-terminale">Jehan sur Linuxfr</a>, la FSF a <a href="http://www.fsf.org/news/fsf-announces-a-major-overhaul-of-free-software-high-priority-projects-list">revu sa liste des priorités</a> et l’internationalisation en fait désormais partie !</p>
<h3>Pourquoi est-ce important ?</h3>
<p>Comme l’indique la page de ce <a href="https://www.fsf.org/campaigns/priority-projects/internationalization">projet prioritaire – internationalisation</a>, quand nous régionalisons un logiciel, nous le rendons plus accessible et étendons les cas d’utilisation possibles dans le monde. Au contraire d’un logiciel non libre qui doit rentabiliser le coût de chaque traduction par des clients en faisant effectivement usage, l’ajout d’une langue est un coût négligable voire nul pour le projet.</p>
<p>D’ailleurs, on remarque que dans la liste des logiciels libres éditée par le gouvernement français, le fait que le logiciel est complètement traduit est mis en avant.</p>
<h3>Le coût de l’internationalisation</h3>
<p>Prendre en compte la charge de travail dans la conception du logiciel est fondammental pour un projet libre. Cela va demander de maintenir du code spécifique, des chaînes de compilation et des étapes supplémentaires dans la publication de chaque version.</p>
<p>La première étape est de choisir dès le début des technologies qui le permettent, et des formats compatibles. Si pour les logiciels s’installant sur le poste de travail c’est souvent parfaitement standardisé, mais gare aux outils web ! Faire de l’internationalisation de sites n’est pas disponible avec tous les cadriciels et devoir changer d’outils de développement est très coûteux !</p>
<p>Pensez également à :</p>
<ul><li>favoriser des formats standards tel le «.po » de gettext <a href="https://jibecfed.fedorapeople.org/blog/les-fichiers-po-cest-pas-si-mal.html">que je trouve plutôt bon</a> !</li>
<li>choisir une plateforme, pour la majorité des besoins, <a href="http://weblate.org/">Weblate</a> est un bon choix !</li>
</ul><h3>Et pourquoi pas globalisation ?</h3>
<p>Dans le projet Fedora, l’internationalisation et la régionalisation sont en cours de regroupement sous le terme générique de « globalisation ». À moins qu’il s’agisse d’un faux ami de traduction, globaliser c’est une simplification, une harmonisation vers le bas dans laquelle je ne m’inscris pas.</p>
<p>Je parlerais plutôt d’une pluralisation, d’une déclinaison des logiciels vers divers langues, cultures et écritures. Qui me semble plus proche de la réalité.</p>
<p><img src="media/19a7ba81.82812e23a7e777f8b81090d2dff9a0b0" data-original-source="http://cdn.libravatar.org/avatar/82812e23a7e777f8b81090d2dff9a0b0" alt="Gravatar de Jean-Baptiste Holcroft" class="gravatar" /><br/><i>Original post of <a href="https://jibecfed.fedorapeople.org/blog/linternationalisation-une-priorite-de-la-fsf.html" title="Visit the source">Jean-Baptiste Holcroft</a>.Votez pour ce billet sur <a href="http://www.planet-libre.org" title="Aller sur le planet">Planet Libre</a>.</i></p>


feed_id: https://blog.nizarus.tn/2017/01/association-clibre-campagne-dabonnements-2017
title: Nizar Kerkeni : Association CLibre : Campagne d’abonnements 2017
uri: Nizar-Kerkeni-Association-CLibre-Campagne-d-abonnements-2017
url: https://blog.nizarus.tn/2017/01/association-clibre-campagne-dabonnements-2017
content:
<p><a href="media/665ecc48.SupportCLibre.png" data-original-source="https://blog.nizarus.tn/wp-content/uploads/2017/01/SupportCLibre.png" rel="lightbox[4019]" title="Association CLibre : Campagne d’abonnements 2017"><img src="media/665ecc48.SupportCLibre.png" data-original-source="https://blog.nizarus.tn/wp-content/uploads/2017/01/SupportCLibre.png" alt="Support CLibre" width="263" height="400" srcset="https://blog.nizarus.tn/wp-content/uploads/2017/01/SupportCLibre.png 558w, https://blog.nizarus.tn/wp-content/uploads/2017/01/SupportCLibre-197x300.png 197w" sizes="(max-width: 263px) 100vw, 263px"></a></p>
<p>L’<a href="http://clibre.tn/" target="_blank">association pour la Culture numérique Libre – CLibre</a> lance sa campagne d’abonnements pour la nouvelle année 2017. Les activistes et les amoureux du Libre qui veulent s’impliquer dans les futures actions de notre association et la supporter peuvent devenir des membres.</p>
<p>Pour devenir membre il suffit de payer la cotisation annuelle et de remplir le formulaire d’abonnement suivant : <a href="http://clibre.tn/abonnement-2017/" target="_blank">formulaire d’abonnement 2017</a>.</p>
<p> </p>
<p><a href="media/8b384b3f.bannirere.png" data-original-source="https://blog.nizarus.tn/wp-content/uploads/2014/12/bannirere.png" rel="lightbox[4019]" title="Association CLibre : Campagne d’abonnements 2017"><img src="media/8b384b3f.bannirere.png" data-original-source="https://blog.nizarus.tn/wp-content/uploads/2014/12/bannirere.png" alt="Banniere CLibre" width="756" height="116" srcset="https://blog.nizarus.tn/wp-content/uploads/2014/12/bannirere.png 756w, https://blog.nizarus.tn/wp-content/uploads/2014/12/bannirere-300x46.png 300w" sizes="(max-width: 756px) 100vw, 756px"></a></p>
<a href="https://blog.nizarus.tn/wp-content/plugins/share-on-diaspora/new_window.php?url=https%3A%2F%2Fblog.nizarus.tn%2F2017%2F01%2Fassociation-clibre-campagne-dabonnements-2017&amp;title=Association%20CLibre%20%3A%20Campagne%20d%E2%80%99abonnements%202017" target="_blank"><span><font>share this</font> <span><img src="media/07217359.asterisk-20.png" data-original-source="https://blog.nizarus.tn/wp-content/plugins/share-on-diaspora/images/asterisk-20.png" alt=""></span></span></a>
<p><img src="media/4da0db29.c95abbe635ee523736045a72e01c3660" data-original-source="http://cdn.libravatar.org/avatar/c95abbe635ee523736045a72e01c3660" alt="Gravatar de Nizar Kerkeni" class="gravatar" /><br/><i>Original post of <a href="https://blog.nizarus.tn/2017/01/association-clibre-campagne-dabonnements-2017" title="Visit the source">Nizar Kerkeni</a>.Votez pour ce billet sur <a href="http://www.planet-libre.org" title="Aller sur le planet">Planet Libre</a>.</i></p>
<p><div class="similar-block"><h3>Articles similaires</h3><ul><li>Nizar Kerkeni : <a href="">Association CLibre : Campagne d&rsquo;abonnements et de dons</a> (06/01/2014)</li><li>Nizar Kerkeni : <a href="">SFD2016 : Communiqu&eacute; de presse</a> (11/11/2016)</li><li>Nizar Kerkeni : <a href="">Ubuntu Global Jam 14.04</a> (01/04/2014)</li><li>Nizar Kerkeni : <a href="">Festival des sciences &agrave; Monastir</a> (09/06/2014)</li><li>Nizar Kerkeni : <a href="">Software Freedom Day Tunisia &ndash; Appel &agrave; contribution</a> (18/09/2014)</li></ul></div></p>


feed_id: https://framablog.org/2017/01/24/wallabag-it-une-belle-occasion-dy-aller-de-votre-poche/
title: Framablog : Wallabag it, une belle occasion d’y aller de votre poche !
uri: Framablog-Wallabag-it-une-belle-occasion-d-y-aller-de-votre-poche
url: https://framablog.org/2017/01/24/wallabag-it-une-belle-occasion-dy-aller-de-votre-poche/
content:
<p>Pour ne plus avoir 50 onglets ouverts « à lire plus tard » et garder tous les articles qu’on veut lire dans la poche, il existe une solution simple et libre : <a href="https://wallabag.org/fr">wallabag</a>.</p>
<p><span></span></p>
<p>Wallabag, c’est le logiciel qui se trouve derrière notre service <a href="https://framabag.org/">Framabag</a>. Le principe est simple : vous vous inscrivez au service, et vous ajoutez l’extension à votre navigateur (Firefox ou Chrome/Chromium) afin d’avoir le bouton magique qui vous permet de sauvegarder vos articles à lire plus tard.</p>
<p>Ensuite, il ne vous reste plus qu’à aller les lire sur le site web du service ou depuis l’application de votre ordiphone…</p>
<p>Côté serveur, de notre côté donc, ce n’est pas la même paire de manchots. Voilà plusieurs mois que wallabag a sorti une version majeure (2.X), avec de <a href="https://www.wallabag.it/fr/features">mirifiques nouvelles fonctionnalités</a>. Mais Framabag reste obstinément dans une version antérieure (1.9.X).</p>
<p>La raison est simple, nous sommes victimes de notre succès : migrer plus de 11 000 comptes vers une nouvelle version majeure est un très gros travail, un travail concernant des données sensibles (qu’on ne peut donc pas déléguer à n’importe qui). Or, comme toujours, nos bénévoles et salariés ont déjà une toudou liste qui déborde… Ce qui ne veut pas dire qu’on ne fera jamais la mise à jour, juste qu’elle est trop importante pour qu’on la fasse dans l’urgence, et que nous allons prendre notre temps.</p>
<p>Bien entendu, le top serait que chacun-e d’entre vous auto-héberge son wallabag, par exemple en utilisant <a href="https://yunohost.org/">Yunohost</a> ou <a href="http://doc.wallabag.org/fr/master/user/installation.html">le tutoriel dédié</a>. Malheureusement, ce n’est pas (encore) une solution accessible à toutes et tous.</p>
<p>Qu’à cela ne tienne, Nicolas Lœuillet, créateur et développeur principal de wallabag, et par ailleurs membre de Framasoft, propose une alternative intéressante (parce que payante) : <a href="https://www.wallabag.it/fr">wallabag.it</a> !</p>
<p>Alors non : nous ne nous sommes pas concertés, mais oui : cela nous arrange. 11 000 comptes Framabag, c’est beaucoup trop, et il y a grandement besoin de solutions d’hébergement alternatives. C’est surtout l’occasion de démontrer une fois encore que libre ne signifie pas gratuit, et qu’il est important de ne pas mettre toutes ses données dans le même panier, fût-ce dans celui de Framasoft… Mais parlons-en donc avec le principal intéressé.</p>
<div><a href="media/9d357729.wallabagv2b2.png" data-original-source="https://framablog.org/wp-content/uploads/2017/01/wallabagv2b2.png"><img src="media/9d357729.wallabagv2b2.png" data-original-source="https://framablog.org/wp-content/uploads/2017/01/wallabagv2b2.png" alt="" width="800" height="403" srcset="https://framablog.org/wp-content/uploads/2017/01/wallabagv2b2.png 800w, https://framablog.org/wp-content/uploads/2017/01/wallabagv2b2-300x151.png 300w, https://framablog.org/wp-content/uploads/2017/01/wallabagv2b2-768x387.png 768w" sizes="(max-width: 800px) 100vw, 800px"></a><p>Une illustration de Wallabag V2 piquée au <a href="https://www.dadall.info/blog/index.php?article515/freshrss-1-3-1-beta-et-wallabag-2-beta-2">blog de Dadall</a></p></div>
<p><strong>Bonjour Nicolas ! Peux-tu te présenter au lectorat du Framablog ?</strong></p>
<p>Salut le lectorat du Framablog.</p>
<p>Je suis Nicolas, développeur web de métier et développeur de wallabag (vous avez vu ? Pas de w majuscule !) à mes heures perdues. Depuis maintenant trois ans, je suis également membre (à mes minutes perdues) de Framasoft.</p>
<p><strong>Du coup c’est quoi, <a href="https://www.wallabag.it/fr">wallabag it</a> ? Un Framabag survitaminé ? Quels sont les avantages et nouvelles fonctionnalités de ce service ?</strong></p>
<p><a href="https://www.wallabag.it/fr">wallabag.it</a>, c’est un service en ligne qui te permet d’utiliser wallabag sans se soucier de l’installation, de la maintenance, des mises à jour de l’application.</p>
<p>Tu viens, tu crées ton compte et tu utilises. C’est tout.</p>
<p>C’est pas un Framabag survitaminé : c’est pareil que Framabag dans l’idée. La différence, c’est la version de wallabag : comme c’est si bien expliqué dans l’introduction du billet, nous avons publié une nouvelle version majeure l’an dernier (la deuxième du nom) et la mise à jour de Framabag est quelque peu complexe.</p>
<p>Les avantages de ce service, c’est la simplicité de création de compte. Pas besoin d’avoir les compétences pour installer une application web.</p>
<p>Il n’y a aucune différence de fonctionnalité entre le service et l’application que tu pourrais installer chez toi, sur ton serveur personnel. Et il n’y en aura jamais. Au mieux, certaines fonctionnalités seront proposées avant sur wallabag.it, mais à terme, tout sera rendu à la communauté.</p>
<p><strong>D’accord, mais si je m’inscris, ça va me coûter combien cette affaire ? Un café ? Un menu Falafel-Frites-Ice tea ? Une Porsche Carrera 911 ?</strong></p>
<p>Si tu t’inscris, ça ne te coûte rien pendant 14 jours. Pas besoin de carte de crédit pour te créer un compte, juste une adresse mail valide.</p>
<p>Ensuite, ça te coûtera 12 euros par an. Douze euros. Un seul euro par mois. Soit pas grand chose. Moins d’un café par mois, du coup. Et un peu moins qu’une Porsche.</p>
<p>Et puisqu’on est sympas, l’abonnement annuel est actuellement à 9 euro par an (et puis il parait que ça fait bien niveau marketing).</p>
<div><a href="media/40326cc2.wallabag.png" data-original-source="https://framablog.org/wp-content/uploads/2015/02/wallabag.png"><img src="media/dbe62058.wallabag-1024x576.png" data-original-source="https://framablog.org/wp-content/uploads/2015/02/wallabag-1024x576.png" alt="" width="1024" height="576" srcset="https://framablog.org/wp-content/uploads/2015/02/wallabag-1024x576.png 1024w, https://framablog.org/wp-content/uploads/2015/02/wallabag-300x169.png 300w, https://framablog.org/wp-content/uploads/2015/02/wallabag.png 1366w" sizes="(max-width: 1024px) 100vw, 1024px"></a><p>Juste pour comparer, voici l’interface d’un wallabag en V1…</p></div>
<p><strong>Imaginons que je sois sur Framabag (ou sur Pocket, tiens !) et que je veuille migrer vers wallabag it… Comment je fais pour migrer mes données ? Y’a besoin d’un bac + 42 en administration système ?</strong></p>
<p>Si tu es sur Framabag et que tu souhaites migrer vers <a href="https://www.wallabag.it/fr">wallabag.it</a>, tu dois exporter tes données (dans la page Configuration, il y a un lien pour ça). Ensuite, tu importes le fichier généré dans wallabag.it, rubrique Import. Tu choisis « wallabag v1 », tu sélectionnes ton fichier et roule ma poule.</p>
<p>Ça, c’est en théorie. Parce qu’en réalité, l’export depuis Framabag connaît parfois quelques ratés (certains diront que l’export depuis Framabag fonctionne de temps en temps, la nuance est minime). Si c’est le cas pour toi, contacte le support de Framasoft ou contacte le support de wallabag.it et on s’occupe d’exporter tes données (et au passage, on les revendra pour s’enrichir encore plus).</p>
<p>Si tu es sur Pocket et que tu souhaites migrer vers <a href="https://www.wallabag.it/fr">wallabag.it</a>, c’est plus simple. Rubrique Import, tu choisis Pocket et tu te laisses aller (pas trop non plus). Ça devrait marcher tout seul, certains sont arrivés de Pocket avec 20.000 articles en poche 😆</p>
<p><strong>Cela fait combien de temps que wallabag est dans ta vie ? Tu as déjà compté le nombre d’heures, de journées, de lignes de code passées bénévolement sur ce projet ?</strong></p>
<p>wallabag et moi, on se connaît depuis bientôt quatre ans. Tout a commencé en avril 2013. Je marchais sur une plage, un peu comme celle-ci.</p>
<p>Je n’ai jamais compté mes heures pour wallabag, et je pense qu’il ne faut pas. Quand on aime, de toute façon, on ne compte pas.</p>
<p>Par contre les lignes de code, c’est plus simple : y’en a plus de 220.000 actuellement dans le projet. C’est uniquement un chiffre qui ne veut rien dire, et puis dedans y’a des lignes de javascript ou de HTML et comme chacun le sait, c’est pas vraiment du code, donc ça compte pas.</p>
<p><strong>On dit souvent que « Libre ne veut pas dire gratuit »… est-ce que proposer wallabag It est aussi une façon de faire reconnaître le travail fourni sur ce logiciel et de le rémunérer pour que tu puisses t’y consacrer plus amplement ?</strong></p>
<p>Le but à terme, oui ça serait ça : pouvoir me dégager encore plus de temps pour wallabag et faire avancer ce projet. Aujourd’hui, je suis salarié dans une petite SSII à 80 %, le reste c’est pour wallabag. Si je peux encore réduire mon temps de travail, ça serait bien.</p>
<p><strong>C’est gentil tout cela, mais si je m’inscris sur wallabag it, qu’est-ce qui me garantit que demain, ou dans un an, tu ne fermeras pas le code de wallabag, me demanderas un bras au lieu de 12 €, ou carrément l’âme de ma première-née pour utiliser ton service… ?</strong></p>
<p>La confiance. Tu ne peux te baser que sur ça : wallabag est et restera toujours open source et sous licence libre.</p>
<p>Concernant le service wallabag.it, je ne peux pas te dire que ça restera toujours 12 euros. Si tu veux me donner un bras, ça peut nous intéresser : <a href="https://github.com/wallabag/wallabag">on en manque par moment dans l’équipe</a>, donc ça pourrait être pratique pour coder.</p>
<p><strong>Question-perso-de-Pouhiou : moi j’ai déjà un wallabag V2 sur ma <a href="https://labriqueinter.net/">Brique Internet</a> (et je le kiffe). Mais j’ai aussi une liseuse (la Cybook Muse HD de chez Bookeen, pour tout te dire…) sur laquelle j’aimerais bien lire les articles de mon wallabag… Comment je fais ? Est-ce que te soutenir te permettra de mettre en place de telles collaborations ? Et tu préfères que je te fasse un don (où ?) ou bien que j’offre un compte wallabag it à mon petit frère ?</strong></p>
<p>Pour Bookeen, rassure-toi, il parait que ça arrive : une application wallabag native sur leurs liseuses 🎉</p>
<p>Tu peux payer un compte <a href="https://www.wallabag.it/fr">wallabag.it</a> à ton petit frère et aussi à tous ceux que tu connais : j’ai des vacances à payer, merci.</p>
<p>Pour celles et ceux qui utilisent la liseuse Touch Lux 3 de chez Pocketbook, sachez qu’il existe <a href="http://plop-reader.pascal-martin.fr/">une application pour lire vos articles wallabag</a> !</p>
<p><strong>Dis, j’y pense : proposer un service payant, c’est chaud niveau données : moyen de paiement, contact par email, chiffrage peut-être, etc. Que prévois-tu pour respecter les données de ta clientèle ?</strong></p>
<p>Oui, c’est chaud niveau données.</p>
<p>Pour lancer le service, je m’étais fixé une obligation : ne bosser qu’avec des prestataires européens voire français.</p>
<p>L’hébergement est chez <a href="https://www.web4all.fr/">Web4all.fr</a></p>
<p>Le système de paiement est chez <a href="https://www.payplug.com/">Payplug</a></p>
<p>L’<i lang="en">emailing</i> est chez <a href="https://www.mailjet.com/">Mailjet </a></p>
<p>Le nom de domaine et le certificat SSL sont proposés par <a href="ttps://www.gandi.net/">Gandi</a></p>
<p>Alors, ça vaut ce que ça vaut, bien sûr, mais je ne voulais pas de services américains.</p>
<p>Et niveau respect des données, accès / revente de celles-ci, c’est pareil que les services proposés par Framasoft : c’est basé sur la confiance. Une phrase du site que j’aime bien : Parce que notre modèle économique est basé uniquement sur vos abonnements, nous n’avons pas besoin de lire ou revendre vos données.</p>
<p><strong>Et si on est convaincu-e, on fait quoi, on s’inscrit où ?</strong></p>
<p>Si t’es convaincu-e, <a href="https://app.wallabag.it/register/">tu te crées un compte ici</a>.</p>
<p>Ensuite, tu peux bénéficier des 14 jours gratuits, puis te rendre dans la partie Abonnements.</p>
<p>Et le tour est joué !</p>
<p><strong>Comme d’habitude, on te laisse le mot de la fin….</strong></p>
<p>Merci à mes parents, sans qui je ne serai pas là aujourd’hui.</p>
<p>Non, plus sérieusement, merci à toute l’équipe wallabag (et ils sont nombreux) et merci à l’équipe Framasoft, qui m’ont tous soutenu depuis très longtemps maintenant.</p>
<p>Et dépêchez-vous de prendre un abonnement <a href="https://www.wallabag.it/fr">wallabag.it</a> : début mars, ça repasse à 12 euros !</p>
<p><img src="media/d4130779.f411e4809021b786b7eb0c8956612e76" data-original-source="http://cdn.libravatar.org/avatar/f411e4809021b786b7eb0c8956612e76" alt="Gravatar de Framablog" class="gravatar" /><br/><i>Original post of <a href="https://framablog.org/2017/01/24/wallabag-it-une-belle-occasion-dy-aller-de-votre-poche/" title="Visit the source">Framablog</a>.Votez pour ce billet sur <a href="http://www.planet-libre.org" title="Aller sur le planet">Planet Libre</a>.</i></p>
<p><div class="similar-block"><h3>Articles similaires</h3><ul><li>Framablog : <a href="">D&amp;eacute;googlisons saison 3&amp;nbsp;: 30 services alternatifs aux produits de Google &amp;amp; co</a> (03/10/2016)</li><li>Framablog : <a href="">MyPads&amp;nbsp;: l&amp;rsquo;alternative de Framasoft &amp;agrave; Google Docs</a> (06/10/2015)</li><li>Framablog : <a href="">Framadrive, conservez et synchronisez 2 Go sur nos serveurs</a> (05/10/2015)</li><li>Framablog : <a href="">D&amp;eacute;googlisons saison 2&amp;nbsp;: ils ne savaient pas que c&amp;rsquo;&amp;eacute;tait impossible, alors ils l&amp;rsquo;ont fait&amp;nbsp;!</a> (05/10/2015)</li><li>Framablog : <a href="">Framaboard&amp;nbsp;: les libristes ont r&amp;eacute;invent&amp;eacute; le tableau blanc&amp;hellip; mais en mieux&amp;nbsp;!</a> (07/10/2015)</li></ul></div></p>


feed_id: http://feedproxy.google.com/~r/QuestCeQuonSeFaitCh/~3/S_DJ4Vo3Zb8/
title: Littlewing : Recherche des erreurs d’un ESB dans ELASTICSEARCH
uri: Littlewing-Recherche-des-erreurs-d-un-ESB-dans-ELASTICSEARCH
url: http://feedproxy.google.com/~r/QuestCeQuonSeFaitCh/~3/S_DJ4Vo3Zb8/
content:
<p>,Depuis quelques temps, on a extrait les différents appels transitant dans un ESB (TIBCO BW dans mon cas) pour les déverser dans ELASTICSEARCH. <a href="http://blog.touret.info/blog/2016/12/23/utilisation-de-la-plateforme-confluent-pour-faire-du-cdc/?utm_source=rss&amp;utm_medium=rss">On peut même utiliser la plateforme CONFLUENT pour faire du Change Data Capture pour transférer les données via KAFKA. </a></p>
<p>Cette solution permet de déterminer quelques statistiques intéressantes telles que le nombre d’appels, le nombre d’erreurs par service,…</p>
<p><a href="http://blog.touret.info/wp-content/uploads/xpack.png?utm_source=rss&amp;utm_medium=rss"><img data-attachment-id="869" data-permalink="http://blog.touret.info/blog/2017/01/24/recherche-des-erreurs-dun-esb-dans-elasticsearch/xpack/?utm_source=rss&amp;utm_medium=rss" data-orig-file="http://blog.touret.info/wp-content/uploads/xpack.png?utm_source=rss&amp;utm_medium=rss" data-orig-size="223,226" data-comments-opened="1" data-image-meta='{"aperture":"0","credit":"","camera":"","caption":"","created_timestamp":"0","copyright":"","focal_length":"0","iso":"0","shutter_speed":"0","title":"","orientation":"0"}' data-image-title="xpack" data-image-description="" data-medium-file="http://blog.touret.info/wp-content/uploads/xpack.png?utm_source=rss&amp;utm_medium=rss" data-large-file="http://blog.touret.info/wp-content/uploads/xpack.png?utm_source=rss&amp;utm_medium=rss" src="http://blog.touret.info/wp-content/uploads/xpack.png?utm_source=rss&amp;utm_medium=rss" alt="" width="223" height="226" srcset="http://blog.touret.info/wp-content/uploads/xpack.png?utm_source=rss&amp;utm_medium=rss 223w, http://blog.touret.info/wp-content/uploads/xpack-60x60.png?utm_source=rss&amp;utm_medium=rss 60w" sizes="(max-width: 223px) 100vw, 223px"></a></p>
<p>Au delà des beaux graphiques fournis par <a href="https://www.elastic.co/fr/products/kibana?utm_source=rss&amp;utm_medium=rss">KIBANA</a>, je suis en train de me plonger dans la gestion des alertes. En effet, dans<a href="https://www.elastic.co/products/x-pack/alerting?utm_source=rss&amp;utm_medium=rss"> l’addon payant d’ELASTICSEARCH (XPACK)</a>, il y a un plugin assez intéressant : <a href="https://www.elastic.co/products/x-pack/alerting?utm_source=rss&amp;utm_medium=rss">WATCHER</a>.</p>
<p>Ce dernier permet, grâce à la percolation de lancer des alertes via API REST par exemple. Celles-ci sont déclenchées de manière périodique via un système analogue au CRON.</p>
<p>Dans cet article, je décrirai la requête et le mapping de données qui me permettent de stocker les données et de faire la recherche en question. Je décrirai dans un futur article, la création de l’alerte</p>
<p> </p>
<h2>Mapping</h2>
<div> <pre data-start="1" data-line-offset="0"><code>put /monitoring
{
    "settings" : {
        "number_of_shards" : 1
    },
    "mappings": {
      "monitoring": {
        "properties": {
          "DEPLOYMENT_NAME": {
            "type": "keyword"
          },
          "DURATION_MS": {
            "type": "long"
          },
          "JOBEND": {
            "type": "date"
          },
          "JOBSTART": {
            "type": "date"
          },
          "LOGID": {
            "type": "text"
          },
          "STATUS": {
            "type": "keyword"
          }
        }
      }
    }
}</code></pre> <div> </div> </div>
<h2>Requête</h2>
<p>Mon besoin est d’identifier les services qui ont un fort taux d’erreur et de lancer une erreur le cas échéant. Par exemple, si un service a 30% d’erreur pendant un laps de temps de 30mn, on pourra appeler via une API REST un service de création d’anomalie (ex. JIRA).</p>
<p>Voici la requête que j’ai crée.Celle-ci utilise le mécanisme des agrégations pour déterminer pour chaque service le pourcentage d’erreur.</p>
<div> <pre data-start="1" data-line-offset="0"><code>POST /monitoring/_search
{
  "size": 0,
  "query": {
    "range": {
      "JOBSTART": {
        "gte": "now-15d/d",
        "lte": "now"
      }
    }
  },
  "aggs": {
    "services":{
      "terms":{
        "field": "DEPLOYMENT_NAME"
      },
      "aggs": {
        "success":{
          "filter":{
            "term": {
              "STATUS": "success"
            }
          }
        },
         "errors":{
          "filter":{
            "term": {
              "STATUS": "error"
            }
          }
        },
        "percentage":{
          "bucket_script": {
            "buckets_path": {
              "numberOfSuccess": "success>_count",
              "numberOfErrors" : "errors>_count"
            },
            "script": "params.numberOfErrors /(params.numberOfErrors+params.numberOfSuccess)"
          }
        }
      }
    }

  }
}</code></pre> <div> </div> </div>
<h2>Conclusion</h2>
<p>Maintenant j’ai ma requête ELASTICSEARCH. La suite dans un autre article pour la création de l’alerte</p>
<p> </p>
<p> </p>
<img src="http://feeds.feedburner.com/~r/QuestCeQuonSeFaitCh/~4/S_DJ4Vo3Zb8" height="1" width="1" alt="">
<p><img src="media/1f2fb0ec.e9cfa2c2c1ea2abd510c6053457286f0" data-original-source="http://cdn.libravatar.org/avatar/e9cfa2c2c1ea2abd510c6053457286f0" alt="Gravatar de Littlewing" class="gravatar" /><br/><i>Original post of <a href="http://feedproxy.google.com/~r/QuestCeQuonSeFaitCh/~3/S_DJ4Vo3Zb8/" title="Visit the source">Littlewing</a>.Votez pour ce billet sur <a href="http://www.planet-libre.org" title="Aller sur le planet">Planet Libre</a>.</i></p>


feed_id: https://yeuxdelibad.net/Blog/?d=2017/01/25/13/24/44-un-gui-en-python-tp-3-la-guerre-des-boutons
title: Thuban : Un GUI en python : TP 3, la guerre des boutons
uri: Thuban-Un-GUI-en-python-TP-3-la-guerre-des-boutons
url: https://yeuxdelibad.net/Blog/?d=2017/01/25/13/24/44-un-gui-en-python-tp-3-la-guerre-des-boutons
content:
<p>C'est mercredi, le jour du TP, youpi !</p>

<p>Notre visionneuse grandit doucement mais sûrement. Maintenant qu'elle affiche des dialogues et sait ouvrir les images sur le disque, elle est assez agée pour avoir ses premiers boutons ^^.</p>

<p>On va donc voir comment ajouter des boutons et comment relier une action à ces boutons.</p>

<p>Avec tkinter, un bouton se crée tout simplement ainsi :</p>

<pre><code>monbouton = Button(parent, text="coucou", command=fonction)
</code></pre>

<p>Si on décompose, on voit un appel à <code>Button</code>. Jusque là, pas trop de surprises. On précise ensuite avec <code>parent</code> dans quel autre widget le bouton sera inséré, par exemple une <code>Frame</code>. Ensuite, on choisit le texte à mettre dans le bouton avec <code>text="coucou"</code>. On peut aussi définir une image avec <code>image=variable_image</code>.<br>
Enfin, on relie le bouton à une fonction avec <code>command=fonction</code>. Il faut noter qu'avec cette méthode, la fonction recevra en argument le bouton lui-même. Ça peut être pratique si on veut le modifier dans la fonction, mais la plupart du temps on se contentera d'utiliser lambda, qui permet d'exécuter une fonction plus simplement sans s'occuper des arguments. Par exemple, ça donnera :</p>

<pre><code>monbouton = Button(parent, text="coucou", command=lambda: print("coucou")))
</code></pre>

<p>Je vous propose d'ajouter à notre visionneuse trois boutons : "Ouvrir une image", "Image précédente" et "Image suivante". <br>
Nous mettrons les boutons en bas de la fenêtre. Afin de les contenir, on va créer une Frame rien que pour eux :</p>

<pre><code># Frame contenant les boutons en bas de la fenêtre : 
btnbox = Frame(mainframe)
btnbox.pack()
</code></pre>

<p>Commençons par le bouton pour ouvrir une image :</p>

<pre><code>b_open = Button(btnbox, text="Ouvrir", command=lambda: pick_img())
b_open.pack()
</code></pre>

<p>Ici, on appelle une fonction <code>pick_img</code> qu'il faut créer. Heureusement, nous avons déjà tout le code qui permet d'afficher un dialogue pour trouver une image.</p>

<pre><code>def pick_img():
    img_path = filedialog.askopenfilename(\\
                initialdir=(os.path.expanduser("~")),\\
                filetypes=[('Images', ('.png', '.PNG', '.jpg', '.JPG', '.gif', '.GIF')), ('Tout', '.*')],\\
                title="Image à ouvrir",\\
                parent=w)
    return img_path
</code></pre>

<p>Si vous lancez ce code, vous devriez voir votre zoli bouton :</p>

<div><img src="media/1c2c0630.tkbtn1.png" data-original-source="http://https//yeuxdelibad.net/Blog//Blog/img/9f/tkbtn1.png" alt=""></div>

<p>En cliquant dessus, on a bien la fenêtre pour choisir un autre fichier qui apparaît.</p>

<blockquote>Mais c'est tout pourri, ça ne change pas l'image quand j'en choisis une autre</blockquote>

<p>En effet. Au lieu de seulement choisir une image, il faut aussi la modifier. On crée alors une fonction "open_img" qui appelera "pick_img".</p>

<p>La fonction open_img ressemble alors à :</p>

<pre><code>def open_img(img_container, img_path):
    # Ouverture de l'image
    image = Image.open(img_path)
    # Dimensions de l'écran : 
    gap = 100 # marge par rapport aux bords de l'écran
    screen_width = w.winfo_screenwidth() - gap
    screen_height = w.winfo_screenheight() - gap

    if image.width > screen_width : 
        image = image.resize((screen_width, int(image.height * screen_width / image.width)), Image.ANTIALIAS)
    if image.height > screen_height :   
        image = image.resize((int(image.width * screen_height / image.height), screen_height), Image.ANTIALIAS)

    # Chargement de l'image en mémoire
    img = ImageTk.PhotoImage(image)

    # On met l'image dans le conteneur
    img_container.configure(image = img)
    # On s'assure que l'image sera bien gardée en mémoire
    img_container.image = img
    # Ainsi que son emplacement
    img_container.path = img_path
</code></pre>

<p>J'en profite pour créer une fonction "chg_img" pour modifier l'image avec le bouton. Ce n'est pas obligatoire mais ça sera plus pratique :</p>

<pre><code>def chg_img(img_container):
    i = pick_img()
    if i: # On a bien choisi une image
        open_img(img_container,i)
</code></pre>

<p>Actuellement, notre code fait bien ce qu'on attend de lui et ressemble à ça :</p>

<pre><code>#!/usr/bin/env python
# -*- coding:Utf-8 -*- 

import os
import sys
import mimetypes
from tkinter import *
from tkinter import filedialog
from PIL import Image, ImageTk


### Fonctions ###
def pick_img():
    img_path = filedialog.askopenfilename(\\
                initialdir=(os.path.expanduser("~")),\\
                filetypes=[('Images', ('.png', '.PNG', '.jpg', '.JPG', '.gif', '.GIF')), ('Tout', '.*')],\\
                title="Image à ouvrir",\\
                parent=w)
    return img_path

def open_img(img_container, img_path):
    # Ouverture de l'image
    image = Image.open(img_path)
    # Dimensions de l'écran : 
    gap = 100 # marge par rapport aux bords de l'écran
    screen_width = w.winfo_screenwidth() - gap
    screen_height = w.winfo_screenheight() - gap

    if image.width > screen_width : 
        image = image.resize((screen_width, int(image.height * screen_width / image.width)), Image.ANTIALIAS)
    if image.height > screen_height :   
        image = image.resize((int(image.width * screen_height / image.height), screen_height), Image.ANTIALIAS)

    # Chargement de l'image en mémoire
    img = ImageTk.PhotoImage(image)

    # On met l'image dans le conteneur
    img_container.configure(image = img)
    # On s'assure que l'image sera bien gardée en mémoire
    img_container.image = img
    # Ainsi que son emplacement
    img_container.path = img_path

def chg_img(img_container):
    i = pick_img()
    if i: # On a bien choisi une image
        open_img(img_container,i)


### tkv ###

# Notre fenêtre principale
w = Tk()
w.title("tkv : visionneuse d'images") # Un titre
w.configure(background='#000000')     # Fond noir

# Un conteneur dans la fenêtre
mainframe = Frame(w)
mainframe.pack(fill=BOTH,expand=True, padx=15, pady=15)

# Ouverture de l'image
img_path=""
if len(sys.argv) == 2:
    # On a une image en agument
    img_path = sys.argv[1]

if not os.path.isfile(img_path):
    # On va chercher une image sur le disque
    img_path = pick_img()
    if not img_path: # L'utilisateur n'a choisi aucune image, on quitte
        sys.exit(0)

    # Est-ce un fichier valide ?
mimtyp = mimetypes.guess_type(img_path)[0] # i.e 'image/jpeg'
if not mimtyp or "image" not in mimtyp :
    # Il n'y a pas le mot "image" dans le mimetype
    from tkinter import messagebox
    messagebox.showerror("Fichier invalide", "Le fichier demandé n'est pas une image.")
    sys.exit(1)

# Conteneur de l'image
img_widget = Label(mainframe)
img_widget.pack()

# Insertion de l'image dans le conteneur.
open_img(img_widget, img_path)

# Frame contenant les boutons en bas de la fenêtre : 
btnbox = Frame(mainframe)
btnbox.pack()

# Bouton ouvrir
b_open = Button(btnbox, text="Ouvrir", command=lambda: chg_img(img_widget))
b_open.pack()

# Démarrage du programme
w.mainloop()

sys.exit(0)
</code></pre>

<p>Entendez-vous cette petite voix du bon développeur ?</p>

<blockquote>c'est pas malin, tu aurais pu utiliser une classe !</blockquote>

<p>En effet, mais ça fera l'objet d'un autre TP. Na ! :p</p>

<p>On peut maintenant passer à nos boutons "précédent" et "suivant". Afin de trouver automatiquement les images suivantes ou précédentes, je vais suivre la méthode suivante :</p>

<ul><li> Lister les fichiers dans le répertoire de l'image actuelle,</li>
<li> Ne garder que les images,</li>
<li> Les mettre en ordre alphabétique,</li>
<li> Trouver l'emplacement de l'image actuelle dans la liste,</li>
<li> Prendre l'image précédente ou suivante selon le cas.</li></ul><p>Ça nous donne la fonction <code>defile_img</code> :</p>

<pre><code>def defile_img(img_container, sens):
    """
    On fait défiler les images dans un sens ou dans l'autre
    sens == "prev" : précédent,
    sens == "next" : suivant,

    On a besoin de passer le conteneur de l'image
    en argument pour retrouver l'emplacement de l'image courante.
    """
    # Emplacement de l'image actuelle : 
    cur_path = img_container.path
    # Dossier de l'image actuelle : 
    d = os.path.dirname(cur_path)
    # Liste des images
    l = os.listdir(d)

    # on ne garde que les images
    # "{}/{}".format(d,i) : on met le chemin complet vers l'image 
    # for i in l :pour toutes les images dans la liste l
    # if os.path.splitext(i)[1] in img_extensions : 
    #     si l'extension de l'image est dans la liste des extensions
    img_list = [ "{}/{}".format(d,i) for i in l if os.path.splitext(i)[1] in img_extensions ]

    # On met dans l'ordre
    img_list = sorted(img_list)

    # On ne fait tourner que si il y a plusieurs images
    if len(img_list) > 1:
        # on retrouve la position de l'image actuelle
        pos = img_list.index(cur_path)

        if sens == "next":
            open_img(img_container, img_list[pos + 1])
        elif sens == "prev":
            open_img(img_container, img_list[pos - 1])
</code></pre>

<p>Et voilà !</p>

<p>On peut maintenant ajouter nos boutons. J'en profite pour leur définir une largeur afin de rendre l'interface plus cohérente :</p>

<pre><code># Bouton ouvrir
b_open = Button(btnbox, text="Ouvrir", width=12, command=lambda: chg_img(img_widget))

# Boutons suivant et précédent
b_next = Button(btnbox, text="Suivant →", width=12, command=lambda: defile_img(img_widget, "next"))
b_prev = Button(btnbox, text="← Précédent", width=12, command=lambda: defile_img(img_widget, "prev"))

# On affiche les boutons dans la boîte les uns à côté des autres
b_open.pack(side=LEFT)
b_prev.pack(side=LEFT)
b_next.pack(side=LEFT)
</code></pre>

<p>Nous avons finalement nos boutons qui permettent de visualiser les images plus simplement.</p>

<div><img src="media/ed7839d6.tkbtn2.png" data-original-source="http://https//yeuxdelibad.net/Blog//Blog/img/a7/tkbtn2.png" alt=""></div>

<p>Ceux qui auraient voulu une classe s'apercevront qu'avec tkinter, il est très facile de s'en passer.</p>

<p>La semaine prochaine, nous verrons comment améliorer l'apparence de nos widgets tkinter.</p>

<p>Comme d'habitude, voici le code final :</p>

<pre><code>#!/usr/bin/env python
# -*- coding:Utf-8 -*- 

import os
import sys
import mimetypes
from tkinter import *
from tkinter import filedialog
from PIL import Image, ImageTk

img_extensions = ('.png', '.PNG', '.jpg', '.JPG', '.gif', '.GIF')

### Fonctions ###
def pick_img():
    img_path = filedialog.askopenfilename(\\
                initialdir=(os.path.expanduser("~")),\\
                filetypes=[('Images', img_extensions), ('Tout', '.*')],\\
                title="Image à ouvrir",\\
                parent=w)
    return img_path

def open_img(img_container, img_path):
    # Ouverture de l'image
    image = Image.open(img_path)
    # Dimensions de l'écran : 
    gap = 100 # marge par rapport aux bords de l'écran
    screen_width = w.winfo_screenwidth() - gap
    screen_height = w.winfo_screenheight() - gap

    if image.width > screen_width : 
        image = image.resize((screen_width, int(image.height * screen_width / image.width)), Image.NEAREST)
    if image.height > screen_height :   
        image = image.resize((int(image.width * screen_height / image.height), screen_height), Image.NEAREST)

    # Chargement de l'image en mémoire
    img = ImageTk.PhotoImage(image)

    # On met l'image dans le conteneur
    img_container.configure(image = img)
    # On s'assure que l'image sera bien gardée en mémoire
    img_container.image = img
    # Ainsi que son emplacement
    img_container.path = img_path

def chg_img(img_container):
    # change l'image affichée
    i = pick_img()
    if i: # On a bien choisi une image
        open_img(img_container,i)

def defile_img(img_container, sens):
    """
    On fait défiler les images dans un sens ou dans l'autre
    sens == "prev" : précédent,
    sens == "next" : suivant,

    On a besoin de passer le conteneur de l'image
    en argument pour retrouver l'emplacement de l'image courante.
    """
    # Emplacement de l'image actuelle : 
    cur_path = img_container.path
    # Dossier de l'image actuelle : 
    d = os.path.dirname(cur_path)
    # Liste des images
    l = os.listdir(d)

    # on ne garde que les images
    # "{}/{}".format(d,i) : on met le chemin complet vers l'image 
    # for i in l :pour toutes les images dans la liste l
    # if os.path.splitext(i)[1] in img_extensions : 
    #     si l'extension de l'image est dans la liste des extensions
    img_list = [ "{}/{}".format(d,i) for i in l if os.path.splitext(i)[1] in img_extensions ]

    # On met dans l'ordre
    img_list = sorted(img_list)

    # On ne fait tourner que si il y a plusieurs images
    if len(img_list) > 1:
        # on retrouve la position de l'image actuelle
        pos = img_list.index(cur_path)

        if sens == "next":
            open_img(img_container, img_list[pos + 1])
        elif sens == "prev":
            open_img(img_container, img_list[pos - 1])



### tkv ###

# Notre fenêtre principale
w = Tk()
w.title("tkv : visionneuse d'images") # Un titre
w.configure(background='#000000')     # Fond noir

# Un conteneur dans la fenêtre
mainframe = Frame(w)
mainframe.pack(fill=BOTH,expand=True, padx=15, pady=15)

# Ouverture de l'image
img_path=""
if len(sys.argv) == 2:
    # On a une image en agument
    img_path = sys.argv[1]

if not os.path.isfile(img_path):
    # On va chercher une image sur le disque
    img_path = pick_img()
    if not img_path: # L'utilisateur n'a choisi aucune image, on quitte
        sys.exit(0)

    # Est-ce un fichier valide ?
mimtyp = mimetypes.guess_type(img_path)[0] # i.e 'image/jpeg'
if not mimtyp or "image" not in mimtyp :
    # Il n'y a pas le mot "image" dans le mimetype
    from tkinter import messagebox
    messagebox.showerror("Fichier invalide", "Le fichier demandé n'est pas une image.")
    sys.exit(1)

# Conteneur de l'image
img_widget = Label(mainframe)
img_widget.pack()

# Insertion de l'image dans le conteneur.
open_img(img_widget, img_path)

# Frame contenant les boutons en bas de la fenêtre : 
btnbox = Frame(mainframe)
btnbox.pack()

# Bouton ouvrir
b_open = Button(btnbox, text="Ouvrir", width=12, command=lambda: chg_img(img_widget))

# Boutons suivant et précédent
b_next = Button(btnbox, text="Suivant →", width=12, command=lambda: defile_img(img_widget, "next"))
b_prev = Button(btnbox, text="← Précédent", width=12, command=lambda: defile_img(img_widget, "prev"))

# On affiche les boutons dans la boîte les uns à côté des autres
b_open.pack(side=LEFT)
b_prev.pack(side=LEFT)
b_next.pack(side=LEFT)

# Démarrage du programme
w.mainloop()

sys.exit(0)
</code></pre>
<p><img src="media/0d200000.a17c14dbfc42f0936cee56ed7a9b3b31" data-original-source="http://cdn.libravatar.org/avatar/a17c14dbfc42f0936cee56ed7a9b3b31" alt="Gravatar de Thuban" class="gravatar" /><br/><i>Original post of <a href="https://yeuxdelibad.net/Blog/?d=2017/01/25/13/24/44-un-gui-en-python-tp-3-la-guerre-des-boutons" title="Visit the source">Thuban</a>.Votez pour ce billet sur <a href="http://www.planet-libre.org" title="Aller sur le planet">Planet Libre</a>.</i></p>
<p><div class="similar-block"><h3>Articles similaires</h3><ul><li>Thuban : <a href="">Programmer un GUI en python -- Pourquoi TkInter ?</a> (04/01/2017)</li><li>Thuban : <a href="">Un GUI en python : TP 1, une visionneuse d&#039;images</a> (11/01/2017)</li><li>Thuban : <a href="">Un GUI en python : TP 2, des dialogues</a> (18/01/2017)</li></ul></div></p>


feed_id: https://encolpe.wordpress.com/2017/01/26/utiliser-vim-comme-ide/
title: Encolpe DEGOUTE : Utiliser Vim comme IDE
uri: Encolpe-DEGOUTE-Utiliser-Vim-comme-IDE
url: https://encolpe.wordpress.com/2017/01/26/utiliser-vim-comme-ide/
content:
<p>Après 15 ans à utiliser des clients lourds pour développer j’ai eu envie de revenir à l’essentiel, sans perdre le confort d’un IDE. Sans être un expert de vim et de emacs je connais les commandes de base suffisamment pour être à l’aise mais pas assez pour être fluide pour une utilisation en IDE.</p>
<p>Pour la remise à niveau j’ai utilisé le livre <a href="https://vimebook.com/fr" target="_blank">Vim pour les humains</a> et des articles sur des sujets précis comme la gestion de l’édition multiple (<a href="https://appendrelibrement.wordpress.com/2011/03/04/vim-split/" rel="bookmark">Vim splitter sa fenêtre en de multiples documents</a>) ou le <a href="http://vimcasts.org/episodes/how-to-fold/" target="_blank">pliage du code</a>. Les vidéos sur <a href="http://vimcasts.org/episodes/archive/" target="_blank">vimcasts</a> sont aussi pratiques poru voir les commandes en actions.</p>
<p>Ensuite, il me fallait des plugins permettant d’avoir les informations directement présentes dans l’éditeur. J’ai choisi <a href="https://powerline.readthedocs.io/en/latest/" target="_blank">Powerline</a>, <a href="https://github.com/egalpin/apt-vim" target="_blank">apt-vim</a> et <a href="https://github.com/vim-airline/vim-airline" target="_blank">airline</a> pour leur compatibilité avec la plupart des terminaux et des shells. Pour faire simple je suis reparti d’une configuration vide.</p>
<p>Installation pour bash :</p>
<pre># powerline
sudo apt install powerline fonts-powerline
cat <<EOT >>~/.bashrc
if [ -f /usr/share/powerline/bindings/bash/powerline.sh ]; then
  POWERLINE_BASH_CONTINUATION=1
  POWERLINE_BASH_SELECT=1
  export POWERLINE_BASH_CONTINUATION POWERLINE_BASH_SELECT
  . /usr/share/powerline/bindings/bash/powerline.sh
fi
EOT

source ~/.bashrc

# apt-vim
curl -sL https://raw.githubusercontent.com/egalpin/apt-vim/master/install.sh | sh
<code>
apt-vim init

# airline and integrated plugins
apt-vim install -y https://github.com/tpope/vim-fugitive.git
apt-vim install -y https://github.com/vim-airline/vim-airline.git
apt-vim install -y https://github.com/vim-airline/vim-airline-themes.git
apt-vim install -y https://github.com/majutsushi/tagbar.git
apt-vim install -y https://github.com/chrisbra/csv.vim.git
apt-vim install -y https://github.com/python-mode/python-mode.git
apt-vim install -y https://github.com/vim-syntastic/syntastic.git
apt-vim install -y https://github.com/airblade/vim-gitgutter.git
apt-vim install -y https://github.com/mhinz/vim-signify.git
apt-vim install -y https://github.com/vim-ctrlspace/vim-ctrlspace.git
apt-vim install -y https://github.com/edkolev/promptline.vim.git
apt-vim install -y https://github.com/jmcantrell/vim-virtualenv.git
apt-vim install -y https://github.com/scrooloose/nerdtree.git
</code></pre>
<p>Évidemment, une fois installé cela demande encore un peu de travail et de configuration. Tout d’abord il est conseillé de fermer tous les émulateurs de terminal, voire même de se déconnecter, pour activer les fonts de powerline.</p>
<p>Voici un configuration minimale dans <strong>~/.vimrc</strong> :</p>
<pre>execute pathogen#infect()
call pathogen#helptags()

set nocompatible

set title
set number
set ruler
set wrap
set scrolloff=3

" Recherche
set ignorecase
set smartcase
set incsearch
set hlsearch

" Pas de son
set visualbell
set noerrorbells

set backspace=indent,eol,start
set hidden

syntax enable
filetype on
filetype plugin on
filetype indent on

" Activer la partie fancy d'airline
let g:airline#extensions#tabline#enabled = 1
let g:airline_powerline_fonts = 1
let g:airline_theme='base16_eighties'
set laststatus=2
" Activer les couleurs
set t_Co=256</pre>
<p>Cette fois l’interface s’affiche avec toutes les couleurs et la bonne police. Pour tester un thème il suffit de suivre la <a href="https://github.com/vim-airline/vim-airline/wiki/Screenshots" target="_blank">page officielle</a>. Il reste à travailler sur des raccourcis plus pratiques.</p>
<p><img data-attachment-id="921" data-permalink="https://encolpe.wordpress.com/2017/01/26/utiliser-vim-comme-ide/vim-powerline-airline/" data-orig-file="https://encolpe.files.wordpress.com/2017/01/vim-powerline-airline.jpeg?w=630" data-orig-size="811,878" data-comments-opened="1" data-image-meta='{"aperture":"0","credit":"","camera":"","caption":"","created_timestamp":"0","copyright":"","focal_length":"0","iso":"0","shutter_speed":"0","title":"","orientation":"0"}' data-image-title="vim-powerline-airline" data-image-description="" data-medium-file="https://encolpe.files.wordpress.com/2017/01/vim-powerline-airline.jpeg?w=630?w=277" data-large-file="https://encolpe.files.wordpress.com/2017/01/vim-powerline-airline.jpeg?w=630?w=630" src="https://encolpe.files.wordpress.com/2017/01/vim-powerline-airline.jpeg?w=630" alt="vim-powerline-airline" srcset="https://encolpe.files.wordpress.com/2017/01/vim-powerline-airline.jpeg?w=630 630w, https://encolpe.files.wordpress.com/2017/01/vim-powerline-airline.jpeg?w=139 139w, https://encolpe.files.wordpress.com/2017/01/vim-powerline-airline.jpeg?w=277 277w, https://encolpe.files.wordpress.com/2017/01/vim-powerline-airline.jpeg?w=768 768w, https://encolpe.files.wordpress.com/2017/01/vim-powerline-airline.jpeg 811w" sizes="(max-width: 630px) 100vw, 630px"></p><br><a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/encolpe.wordpress.com/849/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/encolpe.wordpress.com/849/"></a> <img alt="" border="0" src="https://pixel.wp.com/b.gif?host=encolpe.wordpress.com&amp;blog=1743175&amp;post=849&amp;subd=encolpe&amp;ref=&amp;feed=1" width="1" height="1">
<p><img src="media/546e6c46.bfe0f9ff13a511088bc2e4e9f42ae808" data-original-source="http://cdn.libravatar.org/avatar/bfe0f9ff13a511088bc2e4e9f42ae808" alt="Gravatar de Encolpe DEGOUTE" class="gravatar" /><br/><i>Original post of <a href="https://encolpe.wordpress.com/2017/01/26/utiliser-vim-comme-ide/" title="Visit the source">Encolpe DEGOUTE</a>.Votez pour ce billet sur <a href="http://www.planet-libre.org" title="Aller sur le planet">Planet Libre</a>.</i></p>
<p><div class="similar-block"><h3>Articles similaires</h3><ul><li>Encolpe DEGOUTE : <a href="">De mon utilisation de CozyCloud</a> (26/10/2016)</li><li>Encolpe DEGOUTE : <a href="">Installation de Movim</a> (17/09/2014)</li><li>Encolpe DEGOUTE : <a href="">Les DRM dans Firefox, Mozilla s&rsquo;incline et la Free Software Fondation temp&ecirc;te</a> (22/05/2014)</li><li>Encolpe DEGOUTE : <a href="">Le livre Culture Libre de Lawrence Lessig disponible en fran&ccedil;ais</a> (14/04/2016)</li><li>Encolpe DEGOUTE : <a href="">Cr&eacute;er une carte vectorielle d&rsquo;un lieu &agrave; partir d&rsquo;OpenStreetMap</a> (07/07/2014)</li></ul></div></p>


title: antistress : Gérer les extensions pour GNOME Shell avec Firefox en 2017
uri: antistress-Gérer-les-extensions-pour-GNOME-Shell-avec-Firefox-en-20
feed_id:
http://libre-ouvert.toile-libre.org/index.php?article226/gerer-les-extensions-pour-gnome-shell-avec-firefox-en-2017

url:
http://libre-ouvert.toile-libre.org/index.php?article226/gerer-les-extensions-pour-gnome-shell-avec-firefox-en-2017

content:
<a href="media/38d78ab5.FileGNOME_Shell_Extensions_2013-07-16_14-25-43.png" data-original-source="https://commons.wikimedia.org/wiki/File:GNOME_Shell_Extensions_2013-07-16_14-25-43.png"><p><img src="media/4a057ea2.GNOME_Shell_Extensions_2013-07-16_14-25-43.png" data-original-source="https://upload.wikimedia.org/wikipedia/commons/5/5f/GNOME_Shell_Extensions_2013-07-16_14-25-43.png" alt="Capture d'écran du site officiel des extensions pour GNOME Shell" width="400"></p></a>

<p>Il y a quasiment cinq ans, en même temps que sortait la version 3.4 de <a href="https://www.gnome.org/">GNOME</a>, était inauguré le site <a href="https://extensions.gnome.org/">extensions.gnome.org</a> qui concrétisait le projet <em xml:lang="en" lang="en">SweetTooth</em> (<a href="https://wiki.gnome.org/Projects/GnomeShell/SweetTooth">wiki du projet</a>, <a href="https://lwn.net/Articles/459786/">article d'explications</a>), soit un logiciel en ligne permettant, à la façon du site addons.mozilla.org ou du magasin d'applications Android, d'installer/désinstaller facilement des extensions pour GNOME Shell.</p>

<p>Jusqu'à présent, un <em xml:lang="en" lang="en">plugin</em> NPAPI était requis pour pouvoir faire fonctionner le site avec un navigateur comme Firefox. Ce qui n'est pas sans inconvénients – j'en vois deux pour ma part : </p><ul><li>d'une part la technologie des <em xml:lang="en" lang="en">plugins</em> NPAPI, ancienne, est en train d'être abandonnée dans les navigateurs : <a href="https://www.fxsitecompat.com/en-CA/docs/2016/plug-in-support-has-been-dropped-other-than-flash/">dès la prochaine version (n°52, prévue pour le 7 mars 2017), Firefox ne les prendra plus en charge</a> (sauf Flash) ;</li>
<li>d'autre part les sites web peuvent interroger le navigateur pour obtenir la liste des <em xml:lang="en" lang="en">plugins</em> installés, ce qui dans le cas d'un <em xml:lang="en" lang="en">plugin</em> peu répandu comme celui permettant d’interagir avec le site extensions.gnome.org, augmente très sensiblement les possibilités de pister l'utilisateur à partir de la rareté de sa configuration : technique du <em xml:lang="en" lang="en">fingerprinting</em>, à tester sur le site à visée pédagogique <a href="https://panopticlick.eff.org/">Panopticlick</a> élaboré par <em xml:lang="en" lang="en">The Electronic Frontier Foundation</em> (EFF).</li>
</ul><p>Face à l'arrêt annoncé de la prise en charge des <em xml:lang="en" lang="en">plugins</em> NPAPI par les principaux navigateurs, les développeurs de GNOME ont réalisé une extension permettant d'accéder au site officiel des extensions pour GNOME Shell en remplacement du <em xml:lang="en" lang="en">plugin</em> utilisé jusqu'alors (/usr/lib/mozilla/plugins/libgnome-shell-browser-plugin.so, qui n'est plus nécessaire).</p>

<p>Utilisateurs du bureau GNOME, pensez donc à mettre à jour votre configuration !</p>

<p>L'installation se fait en deux temps : il faut installer <a href="https://blogs.gnome.org/ne0sight/2016/12/25/how-to-install-gnome-shell-extensions-with-firefox-52/">le connecteur natif</a> (des paquets sont proposés pour Arch, Debian, Fedora, Gentoo et Ubuntu) et <a href="https://addons.mozilla.org/en-US/firefox/addon/gnome-shell-integration/">l'extension</a> (en <a href="https://blogs.gnome.org/ne0sight/2017/01/04/gnome-shell-integration-for-chrome-version-8-with-firefox-support-released/">version 8 minimum</a>).</p>

Bénéfice accessoire de ce changement (remplacement d'un plugin par une extension) : vous limitez les possibilités de vous pister par la technique du <em xml:lang="en" lang="en">fingeprinting</em> (n'oubliez pas qu'il existe différentes contre-mesure à cet effet, comme le recours à <a href="http://libre-ouvert.toile-libre.org/index.php?article210/l-extension-du-jour-user-agent-switcher-pour-firefox">l'extension User Agent Switcher pour Firefox</a>...).
<p><img src="media/4839f6a5.470c5e17640a289d1e99b26d2dec9f54" data-original-source="http://cdn.libravatar.org/avatar/470c5e17640a289d1e99b26d2dec9f54" alt="Gravatar de antistress" class="gravatar" /><br/><i>Original post of <a href="http://libre-ouvert.toile-libre.org/index.php?article226/gerer-les-extensions-pour-gnome-shell-avec-firefox-en-2017" title="Visit the source">antistress</a>.Votez pour ce billet sur <a href="http://www.planet-libre.org" title="Aller sur le planet">Planet Libre</a>.</i></p>
<p><div class="similar-block"><h3>Articles similaires</h3><ul><li>Christophe Brand : <a href="">Settings Menu Gnome Shell</a> (25/09/2012)</li><li>dada : <a href="">Rajouter des raccourcis sur le dash de Gnome Shell</a> (09/07/2012)</li><li>theClimber : <a href="">Un regard en avant vers GNOME 3.0</a> (02/04/2009)</li><li>archi02 : <a href="">Read it Later : pour les lectures en attente</a> (14/03/2009)</li><li>Wavemaker : <a href="">Googlizer : Vos recherches Web en un seul clic</a> (14/09/2009)</li></ul></div></p>


feed_id: https://mozillazine-fr.org/selon-walt-mossberg-mozilla-se-reveille/
title: mozillaZine-fr : Selon Walt Mossberg, « Mozilla se réveille »
uri: mozillaZine-fr-Selon-Walt-Mossberg-Mozilla-se-réveille
url: https://mozillazine-fr.org/selon-walt-mossberg-mozilla-se-reveille/
content:
<p><img title="Walt Mossberg, source : https://commons.wikimedia.org/wiki/File:Walt_Mossberg_at_TPS09_(cropped).jpg" src="media/26a13a33.Mossberg.jpg" data-original-source="https://mozillazine-fr.org/wp-content/uploads/2017/01/Mossberg.jpg" alt="" width="96" height="113">Walt Mossberg, vétéran du journalisme technique, a publié hier un article sévère pour Mozilla mais qui laisse place à l’espoir d’un retour en force de Firefox : « <a href="http://www.recode.net/2017/1/25/14378610/mossberg-whats-up-with-firefox-the-browser-that-time-forgot" hreflang="en">Quoi de neuf dans Firefox, le navigateur oublié</a> ». On peut y lire une déclaration de <a href="https://blog.mozilla.org/press/bios/mark-mayo/" hreflang="en">Mark Mayo</a>, vice-président senior pour Firefox, qui avoue que Mozilla vient de traverser une période qui aurait pu tuer l’organisation. Mark Mayo ajoute « Mais finalement nous ne sommes pas morts ». Les raisons sont multiples mais Mossberg accuse principalement le « pari fou » que représentait <a href="https://mozillazine-fr.org/?s=firefox+os" hreflang="fr">Firefox OS</a>, auquel il n’a jamais cru.</p>
<p>Et maintenant ? Selon Mark Mayo, Mozilla ne doit plus avoir qu’un objectif : faire le meilleur navigateur. C’est l’objet du <a href="https://tech.mozfr.org/post/2016/10/27/Un-saut-quantique-pour-le-Web" hreflang="fr">projet Quantum</a>. En conclusion, Mossberg déclare qu’il ne sait pas si Mozilla peut « sauver Firefox et en faire de nouveau quelque chose de bien », mais il ne demande pas mieux parce que, selon lui, le Web ne vivra que s’il y a toujours de la concurrence sur le front des navigateurs.</p>
<p><img src="media/31cea72e.39fcff259ddeccfa69dcb537c22fa1ad" data-original-source="http://cdn.libravatar.org/avatar/39fcff259ddeccfa69dcb537c22fa1ad" alt="Gravatar de mozillaZine-fr" class="gravatar" /><br/><i>Original post of <a href="https://mozillazine-fr.org/selon-walt-mossberg-mozilla-se-reveille/" title="Visit the source">mozillaZine-fr</a>.Votez pour ce billet sur <a href="http://www.planet-libre.org" title="Aller sur le planet">Planet Libre</a>.</i></p>


feed_id: https://www.dadall.info/blog/index.php?article584/protonmail
title: dada : ProtonMail va passer au SMTP et au français
uri: dada-ProtonMail-va-passer-au-SMTP-et-au-français
url: https://www.dadall.info/blog/index.php?article584/protonmail
content:
<br><div align="center"><img src="media/606d02ee.protonmail_logo.jpeg" data-original-source="https://www.dadall.info/blog/data/images/logo/protonmail_logo.jpeg" alt=""><br></div><br>Tout est dans le titre mais je vais essayer de pondre un billet avec un peu de mots dedans parce que j'ai bien vu que les deux critiques formulées dans mon premier billet autour du service sont bien remontées dans les réseaux sociaux.<br>Et, aussi, parce qu'il faut vraiment que je m'entraîne avec mon bépo.<br><br>Bref, quand <a href="https://www.dadall.info/blog/index.php?article576/coucou-protonmail-ciao-google-mail" title="je disais">je disais</a>  que le manque de traduction en français de l'interface était un problème, c'est toujours vrai mais c'est sur le point de disparaître. La traduction est en cours ! Pas de date prévue pour la disponibilité de la VF, mais ça arrive !<br><br>Quant au support du SMTP, ils n'en parlent pas encore officiellement, contrairement à la traduction qui a eu le droit à <a href="https://protonmail.com/blog/translation-project/" title="un billet de blog">un billet de blog</a>, mais les utilisateurs que nous sommes avons reçu un mail nous invitant à participer à une beta ! <br>J'ai postulé dans l'espoir de faire revivre mon Thunderbird, ivre de joie et certain d'être sélectionné... sans réponse pour le moment. #Tristitude<br>Sachez quand même que c'est dans les tuyaux et que je vous tiendrai informé de l'évolution de la situation !<br><br>Avec ces deux évolutions, ProtonMail pourra se targuer d'être un fournisseur de courriel franchement pas mal.<br><br>Ah, et aussi, tout le monde en parle mais je le rappelle quand même : ProtonMail est accessible <a href="https://protonmail.com/tor" title="via Tor">via Tor</a>  maintenant. Quand <a href="https://torrentfreak.com/the-pirate-bay-suffers-downtime-tor-domain-is-up-170123/" title="on sait">on sait</a>  que c'est la dernière URL qui marche avec TPB quand tout le monde s'acharne sur eux, c'est pas mal.<br><br><br><noscript><!-- Piwik Image Tracker--><img src="http://www.dadall.info/piwik/piwik.php?idsite=1&amp;rec=1&amp;action_name=RSS" alt=""><!-- End Piwik --></noscript>
<p><img src="media/48d98f88.9bcde41f0ceee54d4588bb741ab92e6f" data-original-source="http://cdn.libravatar.org/avatar/9bcde41f0ceee54d4588bb741ab92e6f" alt="Gravatar de dada" class="gravatar" /><br/><i>Original post of <a href="https://www.dadall.info/blog/index.php?article584/protonmail" title="Visit the source">dada</a>.Votez pour ce billet sur <a href="http://www.planet-libre.org" title="Aller sur le planet">Planet Libre</a>.</i></p>


feed_id: https://framablog.org/2017/01/26/he-en-vrai-tu-sais-comment-ca-marche-toi-wikipedia/
title: Framablog : Hé, en vrai, tu sais comment ça marche, toi, Wikipédia ?
uri: 2017-01-26-
url: https://framablog.org/2017/01/26/he-en-vrai-tu-sais-comment-ca-marche-toi-wikipedia/
content:
<p>Tout le monde connaît Wikipédia, chacun et chacune a son petit avis dessus, mais sait-on réellement comment cette encyclopédie collaborative fonctionne ?</p>
<p><span></span></p>
<p>Il y a 20 ans, lorsque, lors d’une soirée entre ami-e-s, on se posait une question du genre « Mais attends, comment on fait l’aspirine ? » le dialogue était souvent le même :</p>
<p>– Je sais pas, c’est pas avec de l’écorce de saule ?</p>
<p>– Oui mais ça doit être chimique, maintenant, non ?</p>
<p>– Je sais pas, t’as pas une encyclopédie ?</p>
<p>– Si, dans la bibliothèque, mais la raclette est prête.</p>
<p>– Bon, tant pis.</p>
<p>…et on en restait là. Aujourd’hui, on sort un ordiphone, on cherche <a href="https://fr.wikipedia.org/wiki/Acide_ac%C3%A9tylsalicylique">la réponse sur Wikipédia</a>, et on passe la raclette à se chamailler sur la fiabilité d’une encyclopédie où « tout le monde peut écrire n’importe quoi ».</p>
<div><a href="media/56f60036.640px-AcetylsalicylsC3A4ure-Synthese.svg_.png" data-original-source="https://framablog.org/wp-content/uploads/2017/01/640px-Acetylsalicyls%C3%A4ure-Synthese.svg_.png"><img src="media/56f60036.640px-AcetylsalicylsC3A4ure-Synthese.svg_.png" data-original-source="https://framablog.org/wp-content/uploads/2017/01/640px-Acetylsalicyls%C3%A4ure-Synthese.svg_.png" alt="" width="640" height="234" srcset="https://framablog.org/wp-content/uploads/2017/01/640px-Acetylsalicylsäure-Synthese.svg_.png 640w, https://framablog.org/wp-content/uploads/2017/01/640px-Acetylsalicylsäure-Synthese.svg_-300x110.png 300w" sizes="(max-width: 640px) 100vw, 640px"></a><p>(au fait, pour l’aspirine, on fait comme ça.)<br>Par <a title="User:NEUROtiker" href="https://commons.wikimedia.org/wiki/User:NEUROtiker">NEUROtiker</a> — <span lang="fr">Travail personnel</span>, Domaine public, <a href="https://commons.wikimedia.org/w/index.php?curid=1967946">Lien</a></p></div>
<p>En vrai, avez-vous déjà essayé d’écrire n’importe quoi sur Wikipédia… ? Savons-nous seulement comment ça marche ? Comment les articles sont-ils écrits, modifiés, corrigés, vérifiés, amendés… ?</p>
<p>Ça peut être impressionnant, la première fois qu’on se dit « tiens, et si moi aussi je participais à l’élaboration d’une encyclopédie ? » On peut se sentir un peu perdu·e, pas vraiment légitime, ou tout simplement ne pas savoir par quel bout commencer…</p>
<p>Heureusement, les membres de la communauté Wikipédia et <a href="http://www.wikimedia.fr/">Wikmédia France</a> (l’association des contributeurs et contributrices à la Wikipédia francophone), ont créé <a href="https://www.fun-mooc.fr/courses/WMFr/86001S02/session02/about">un MOOC, un cours ouvert gratuit et en ligne</a>, pour nous faire découvrir les rouages du cinquième site le plus visité au monde, et nous apprendre à nous en emparer.</p>
<p>L’an dernier plus de 6 000 personnes se sont inscrites à ce cours. Fort-e-s de cette expérience, l’équipe rempile pour une deuxième édition, l’occasion pour nous de les interroger et de découvrir ce que proposera ce cours.</p>
<div><a href="https://www.fun-mooc.fr/courses/WMFr/86001S02/session02/about"><img src="media/82fdc50f.Logo_WikiMooc_2017.svg_.png" data-original-source="https://framablog.org/wp-content/uploads/2017/01/Logo_WikiMooc_2017.svg_.png" width="289" height="76"></a><p>By <a title="User:MarcBrouillon" href="https://commons.wikimedia.org/wiki/User:MarcBrouillon">MarcBrouillon</a>, <a title="User:DePlusJean" href="https://commons.wikimedia.org/wiki/User:DePlusJean">DePlusJean</a>. – Dérivé de <a title="File:Logo WikiMooc.jpg" href="media/08d6c8ee.FileLogo_WikiMooc.jpg" data-original-source="https://commons.wikimedia.org/wiki/File:Logo_WikiMooc.jpg">File:Logo WikiMooc.jpg</a>., <a title="Creative Commons Attribution-Share Alike 4.0" href="http://creativecommons.org/licenses/by-sa/4.0">CC BY-SA 4.0</a>, <a href="https://commons.wikimedia.org/w/index.php?curid=53175142">Link</a></p></div>
<p> </p>
<p><strong>Bonjour, avant toute chose, est-ce que vous pourriez nous présenter Wikimédia France et vos personnes ?</strong></p>
<p><strong>Jules</strong> : Bonjour ! <a href="http://www.wikimedia.fr/">Wikimédia France</a> est une association française à but non-lucratif dont l’objet est « de soutenir en France la diffusion libre de la connaissance, notamment l’encyclopédie Wikipédia. » Il y a souvent des confusions à ce sujet, alors clarifions : Wikipédia est totalement rédigée par des internautes bénévoles, qui s’organisent de manière autonome et déterminent les règles du site. L’association Wikimédia France soutient les contributeurs et l’encyclopédie, mais ne participe pas à la rédaction et n’a aucun pouvoir sur la communauté ; ce n’est d’ailleurs pas la seule association à soutenir l’encyclopédie. Natacha, Alexandre, Valentin et moi-même sommes des contributrices et contributeurs bénévoles de Wikipédia ; nous faisons partie de la douzaine de bénévoles qui conçoivent le <a href="https://www.fun-mooc.fr/courses/WMFr/86001S02/session02/about">WikiMOOC</a>. Je suis par ailleurs salarié de Wikimédia France, qui soutient l’initiative.</p>
<p><strong>Une des missions de Wikimédia France, c’est justement d’inciter qui le veut à contribuer à la Wikipédia francophone… C’est pour cela que vous proposez ce MOOC ? Les cours massivement ouverts et en ligne sont un bon moyen d’inciter aux apports ?</strong></p>
<p><strong>Jules</strong> : Oui, les MOOC cumulent plusieurs avantages : bien souvent gratuits, ils sont en ligne et permettent donc de toucher un public plus nombreux qu’avec des formations en présentiel, mais aussi plus diversifié. Le MOOC s’adresse d’ailleurs à toute la francophonie, et près de la moitié des inscrits ne sont pas français.</p>
<p><strong>Alexandre</strong> : Le WikiMOOC est effectivement réalisé de manière à donner envie de contribuer. Petit à petit, l’apprenant est guidé vers la rédaction d’un article. Mais il y a des façons très diverses de contribuer : ajouter des sources, des photos, corriger la mise en page, <em>linkifier</em>, améliorer des ébauches d’articles… Une des nouveautés de la deuxième session du <a href="https://www.fun-mooc.fr/courses/WMFr/86001S02/session02/about">WikiMOOC</a> est de présenter des témoignages de contributeurs pour qu’ils racontent ce qu’ils font. Il est aussi plus aisé de contribuer si on ne se sent pas un étranger dans le monde de Wikipédia. Le but du <a href="https://www.fun-mooc.fr/courses/WMFr/86001S02/session02/about">WikiMOOC</a> est aussi de faire mieux connaître ce monde aux apprenant-e-s.</p>
<p><strong>Si je crains que « n’importe qui puisse écrire n’importe quoi dans Wikipédia », ce MOOC me rassurera-t-il ?</strong></p>
<p><strong>Jules</strong> : Nous l’espérons, car les choses ne sont pas aussi simples ! L’affirmation initiale, néanmoins, est exacte : n’importe qui peut écrire n’importe quoi sur Wikipédia. Mais le n’importe quoi a de fortes probabilités de ne rester sur Wikipédia qu’une vingtaine de secondes tout au plus. Car il faut étayer toute affirmation par des sources, et des sources de qualité, dont on sait qu’elles sont fiables (pas un obscur blog anonyme, donc). Pour vérifier que cette règle est bien respectée, il y a notamment un groupe de contributrices et contributeurs qui surveillent en temps réel les modifications effectuées sur les 1,8 million d’articles de Wikipédia : on les appelle avec un brin d’humour « les patrouilleurs ». C’est à ce stade que sont annulés la plupart des canulars, « vandalismes » (les dégradations volontaires d’articles) et ajouts d’opinions personnelles (totalement proscrits : on ne donne jamais son avis personnel dans un article). Certaines modifications passent évidemment entre les mailles du filet et ne seront annulées que plusieurs heures ou plusieurs jours après, par d’autres contributeurs – on manque de bras pour tout vérifier !</p>
<p><strong>Finalement, à qui s’adresse ce MOOC ? Aux personnes qui veulent juste en savoir plus ? À celles qui veulent contribuer activement mais ne savent pas comment ?</strong></p>
<p><strong>Valentin</strong> : À tout le monde ! On peut effectivement s’inscrire juste pour comprendre comment Wikipédia fonctionne. Mais ce MOOC est surtout un outil permettant en quelques semaines d’assimiler l’essentiel de ce qu’il faut pour contribuer correctement. Nous voulons que de nombreuses personnes s’emparent de cet outil pour désacraliser la contribution à Wikipédia. Tout le monde utilise Wikipédia en tant que consommateur, mais trop peu de personnes viennent contribuer.</p>
<p><strong>Jules</strong> : On peut se sentir un peu perdu quand on commence sur Wikipédia, seul⋅e. Le <a href="https://www.fun-mooc.fr/courses/WMFr/86001S02/session02/about">WikiMOOC</a> est justement parfait pour être guidé dans sa découverte de l’encyclopédie, de son fonctionnement et de sa communauté.</p>
<p><strong>Alexandre</strong> : Pour moi qui suis aussi universitaire, le WikiMOOC est un fabuleux point d’entrée pour <a href="https://theconversation.com/plaidoyer-pour-enseigner-wikipedia-67111">un cours de Wikipédia</a>. J’essaye donc de synchroniser mes cours avec le WikiMOOC ce semestre pour y inscrire mes étudiant-e-s, et j’encourage les collègues à faire de même !</p>
<p><strong>Comme Framasoft, Wikimédia France est <a href="https://dons.wikimedia.fr/soutenez-nous/~mon-don/">une association qui vit du don</a>… Or créer un MOOC coûte cher… Comment avez-vous pu réussir ce tour de force ?</strong></p>
<p><strong>Jules</strong> : La création d’un MOOC, pour une université, se compte toujours en dizaines de milliers d’euros. Nous n’en avons dépensé « que » (ça nous paraît énorme, à vrai dire) 7 500 pour la première édition : 2 500 pour la plateforme, FUN, et 5 000 pour la réalisation des vidéos, via une association de vidéastes amateurs, beaucoup moins cher qu’avec un professionnel ! Et moitié moins pour cette seconde édition. Notre force, c’est qu’il y a une douzaine de bénévoles, contributeurs et contributrices francophones, qui bossent sur le projet ; c’est cet investissement bénévole, en temps, qui nous permet de ne pas dépenser trop. Nous réalisons nous-mêmes beaucoup de tâches (créer des visuels, tourner certaines vidéos, concevoir des tutoriels interactifs…) qui dans une université seraient sous-traitées. Nous bénéficions tout de même d’une partie importante de mon temps salarié chez Wikimédia France, même si je m’investis aussi sur du temps bénévole.</p>
<div><a href="media/2821d6ae.1200px-Tournage_du_WikiMooc_2_C3A0_Paris_DSC_3993.jpg" data-original-source="https://framablog.org/wp-content/uploads/2017/01/1200px-Tournage_du_WikiMooc_2_%C3%A0_Paris_DSC_3993.jpg"><img src="media/f2caf291.1200px-Tournage_du_WikiMooc_2_C3A0_Paris_DSC_3993-1024x680.jpg" data-original-source="https://framablog.org/wp-content/uploads/2017/01/1200px-Tournage_du_WikiMooc_2_%C3%A0_Paris_DSC_3993-1024x680.jpg" alt="" width="1024" height="680" srcset="https://framablog.org/wp-content/uploads/2017/01/1200px-Tournage_du_WikiMooc_2_à_Paris_DSC_3993-1024x680.jpg 1024w, https://framablog.org/wp-content/uploads/2017/01/1200px-Tournage_du_WikiMooc_2_à_Paris_DSC_3993-300x199.jpg 300w, https://framablog.org/wp-content/uploads/2017/01/1200px-Tournage_du_WikiMooc_2_à_Paris_DSC_3993-768x510.jpg 768w, https://framablog.org/wp-content/uploads/2017/01/1200px-Tournage_du_WikiMooc_2_à_Paris_DSC_3993.jpg 1200w" sizes="(max-width: 1024px) 100vw, 1024px"></a><p>Quand il y a une personne face caméra, il y en a souvent plein en coulisses ;)<br>By <span lang="en">English : </span> Credits to Habib M’henni / Wikimedia Commons – <span lang="en">Own work</span>, <a title="Creative Commons Attribution-Share Alike 4.0" href="http://creativecommons.org/licenses/by-sa/4.0">CC BY-SA 4.0</a>, <a href="https://commons.wikimedia.org/w/index.php?curid=53988762">Link</a></p></div>
<p><strong>En passant, on lit de l’équipe pédagogique que <em>« Ces trois présentateurs et présentatrices font partie d’une équipe pédagogique plus large, riche de treize wikipédiens et wikipédiennes expérimenté·e·s »</em>. <a href="https://fr.wikipedia.org/wiki/Langage_non_sexiste">Le langage épicène</a>, qui permet d’éviter la discrimination d’un genre, vous tient à cœur pour la wikipédia francophone ?</strong></p>
<p><strong>Natacha</strong> : Le langage épicène (ou langage non sexiste) est un langage inclusif qui tente de ne pas favoriser un genre par rapport à l’autre. Il est utilisé notamment en Suisse et au Québec, surtout dans la fonction publique. Par ailleurs, nous avons un fossé des genres sur Wikipédia – 75 000 articles sur des femmes contre 450 000 biographies d’hommes et moins de 20 % de personnes contribuant sont des femmes – ce qui introduit parfois des biais dans la façon dont les sujets sont traités. La <a href="https://wikimediafoundation.org/wiki/Accueil">fondation Wikimedia</a> (qui participe au financement de Wikimédia France) en a fait un sujet de priorité depuis qu’un article du New York Times a relevé ce problème en 2011.</p>
<p>Par ailleurs le <a href="https://www.fun-mooc.fr/courses/WMFr/86001S02/session02/about">WikiMOOC</a> cible toute la communauté francophone, et nommer explicitement le genre féminin peut avoir un impact sur la participation des femmes à ce dernier, alors même qu’on cherche à augmenter le nombre de contributrices ce détail peut avoir son importance !</p>
<p><strong>Jules</strong> : Natacha a su nous convaincre d’utiliser le langage épicène dans le WikiMOOC ;-). Mais celui-ci n’est pas en usage systématique sur Wikipédia en français, notamment en raison de sa lourdeur visuelle, et car il n’est pas (encore ?) répandu dans les usages. Or Wikipédia a tendance (rien de systématique) à suivre les usages de la langue.</p>
<p><strong>D’ailleurs, on peut parfois ne pas être d’accord avec les choix faits dans les règles que s’impose la communauté Wikipédia (éligibilité des articles, traitement des genres et des personnes trans, application du point de vue…). Quelle est la meilleure manière de faire évoluer ces positions ?</strong></p>
<p><strong>Jules</strong> : Le meilleur moyen de faire évoluer les règles de Wikipédia, ou bien les consensus qui ont émergé au coup par coup pour chaque article, c’est de s’investir dans la communauté. On voit souvent des internautes débarquer, parfois très bien intentionnés, mais très maladroits : ils arrivent et veulent tout changer. Or les contributeurs et contributrices sont souvent sur leurs gardes, notamment parce qu’il y a régulièrement des tentatives d’entrisme et de manipulation de Wikipédia à des fins idéologiques et politiques (en faveur d’une personnalité politique par exemple). Ce sont des internautes qui veulent utiliser la notoriété de Wikipédia pour faire et défaire les notoriétés, pour passer leurs idées… alors que ce n’est pas le lieu. Bref, quand on est bien intentionné, il est primordial dans un premier temps de se familiariser avec les règles ainsi que les us et usages relatifs qui guident le déroulement les discussions et les décisions. Cela évite les maladresses, et ça permet de parler le même langage que les autres contributeurs et contributrices bénévoles. Ça instaure une confiance mutuelle.</p>
<p><strong>Wikipédia, c’est une encyclopédie, mais aussi nombre d’autres projets visant à partager le savoir collaborativement… vous en parlerez dans ce MOOC ?</strong></p>
<p><strong>Alexandre</strong> : Le mouvement Wikimedia contient de nombreux projets en plus de Wikipédia, comme <a href="https://commons.wikimedia.org/wiki/Accueil">Wikimedia Commons</a> qui est l’endroit où les fichiers multimédia Wikipédia-compatibles sont déposés. Comment ajouter une photo est une question qui revient souvent donc le sujet est abordé. Au delà, Wikipédia et les projets « sœurs » sont une excellente école pour comprendre les enjeux du copyright et de ses abus, ce que sont les licences Creative Commons et ce qu’elles représentent politiquement. La famille des projets Wikimedia correspond au seul projet libre (libre comme dans libre discours, pas comme dans libre bière :) ) accessible au et connu du grand public. À ce titre, il est une sorte de porte étendard et pour moi, le <a href="https://www.fun-mooc.fr/courses/WMFr/86001S02/session02/about">WikiMOOC</a> a aussi pour vocation de le promouvoir.</p>
<p><strong>Bon c’est bien gentil tout ça, mais ça va me demander quoi de participer à ce MOOC ? Des milliers d’heures de travail ? Un ordi surpuissant dernier cri ? Une connaissance infaillible de la calcification des hydrogénocarbonates ?</strong></p>
<p><strong>Alexandre</strong> : le point commun de tous les MOOC, c’est qu’on peut se sentir libre de les aborder à sa manière : regarder seulement les vidéos, faire les exercices ou pas, s’intéresser à une semaine mais pas à l’autre. Dans le <a href="https://www.fun-mooc.fr/courses/WMFr/86001S02/session02/about">WikiMOOC</a>, des mécanismes pédagogiques sont prévus pour inciter les apprenant-e-s à aller le plus en profondeur possible mais tout le monde doit se sentir libre (sauf mes étudiant-e-s qui seront noté-e-s, évidemment !).</p>
<p><strong>Jules</strong> : Pour rebondir sur votre question, pas besoin d’ordi surpuissant, un navigateur web à jour suffit amplement. Pour suivre la totalité du cours, il faut compter au moins trois heures de travail par semaine, mais c’est très variable d’une personne à une autre !</p>
<p><strong>Du coup, si je suis convaincu, qu’est-ce que je dois faire pour m’inscrire ?</strong></p>
<p><strong>Valentin</strong> : Les inscriptions (gratuites évidemment) <a href="https://www.fun-mooc.fr/courses/WMFr/86001S02/session02/about">ont lieu sur fun-mooc.fr</a> !</p>
<p><strong>Et, comme d’habitude sur le Framablog, on vous laisse le mot de la fin !</strong></p>
<p><strong>Jules</strong> : Soyez nombreux et nombreuses<a href="https://www.fun-mooc.fr/courses/WMFr/86001S02/session02/about"> à vous inscrire</a> pour aider à donner accès à la connaissance au plus grand nombre !</p>
<p><img src="media/d4130779.f411e4809021b786b7eb0c8956612e76" data-original-source="http://cdn.libravatar.org/avatar/f411e4809021b786b7eb0c8956612e76" alt="Gravatar de Framablog" class="gravatar" /><br/><i>Original post of <a href="https://framablog.org/2017/01/26/he-en-vrai-tu-sais-comment-ca-marche-toi-wikipedia/" title="Visit the source">Framablog</a>.Votez pour ce billet sur <a href="http://www.planet-libre.org" title="Aller sur le planet">Planet Libre</a>.</i></p>
<p><div class="similar-block"><h3>Articles similaires</h3><ul><li>Framablog : <a href="">L&amp;rsquo;anonymat en ligne avec Tor, c&amp;rsquo;est Nos oignons&amp;nbsp;!</a> (06/05/2016)</li><li>Framablog : <a href="">3 auteurs de romans Framabook en d&amp;eacute;dicace &amp;agrave; Paris&amp;nbsp;!</a> (04/12/2015)</li><li>Framablog : <a href="">Le libre a sa place &amp;agrave; la F&amp;ecirc;te de l&amp;rsquo;Huma</a> (16/08/2016)</li><li>Framablog : <a href="">R&amp;eacute;&amp;eacute;dition du catalogue : 20 objets &amp;agrave; r&amp;eacute;aliser en design libre</a> (20/10/2014)</li><li>Framablog : <a href="">Oppikirjamaraton ou comment &eacute;crire un manuel scolaire libre en un week-end !</a> (02/11/2012)</li></ul></div></p>


feed_id: https://framablog.org/2017/01/27/opensuse-une-distribution-meconnue/
title: Framablog : OpenSuse, une distribution méconnue
uri: Framablog-OpenSuse-une-distribution-méconnue
url: https://framablog.org/2017/01/27/opensuse-une-distribution-meconnue/
content:
<p>À force de les rencontrer sur des événements libristes comme les RMLL et POSS, nous avons demandé aux ambassadeurs français d’OpenSuse de nous parler de leur distribution GNU/Linux.<br><span></span></p>
<p><a href="media/e51bb7d8.Opensuse-logotype-wog.sh-600x600.png" data-original-source="https://framablog.org/wp-content/uploads/2017/01/Opensuse-logotype-wog.sh-600x600.png"><img src="media/e51bb7d8.Opensuse-logotype-wog.sh-600x600.png" data-original-source="https://framablog.org/wp-content/uploads/2017/01/Opensuse-logotype-wog.sh-600x600.png" alt="logo opensuse" width="330" height="330" srcset="https://framablog.org/wp-content/uploads/2017/01/Opensuse-logotype-wog.sh-600x600.png 600w, https://framablog.org/wp-content/uploads/2017/01/Opensuse-logotype-wog.sh-600x600-150x150.png 150w, https://framablog.org/wp-content/uploads/2017/01/Opensuse-logotype-wog.sh-600x600-300x300.png 300w" sizes="(max-width: 330px) 100vw, 330px"></a><strong>Salut ! Présentez-vous. Comment justifiez-vous votre existence ?</strong></p>
<p><strong>Nicolas :</strong> Je viens d’un monde pur Windows. Un jour j’ai dû monter un petit serveur web où je devais installer une version Linux de mon choix sans rien y connaître. J’ai trouvé un tuto openSUSE 10.3 expliquant comment installer un serveur Apache + PhP en deux clics avec Yast-HTTP et je suis tombé dedans. Ensuite j’ai voulu tester sur mon PC pour virer mon Windows XP LSD (si, si…). J’ai commencé en 2005 avec un <i lang="en">dual boot</i> pour terminer exclusivement sous openSUSE depuis 2008. J’ai pris part à la communauté, puis à la création de l’association loi 1901 en 2012 en tant que secrétaire. L’an dernier j’ai repris le flambeau en devenant président.</p>
<p>Formaliser une association pour la promotion d’openSUSE en France était une nécessité pour faciliter la présence des membres et ambassadeurs openSUSE aux salons. Ils étaient reconnus par le programme openSUSE international mais pas forcément légitimes vis-à-vis des organisateurs locaux. On a un système d’adhésion qui couvre le budget hébergement. Quant aux <i lang="en">goodies</i> en version française et les clés USB, on vend à prix coûtant pour autofinancer les rééditions. Une année on était en galère mais on a eu la chance d’avoir du <i lang="en">sponsoring</i> de SUSE France qui nous soutient quand ils le peuvent, que ce soit financièrement ou matériellement au travers de <i lang="en">goodies</i>, etc. C’est appréciable de reproduire dans l’hexagone la synergie entre la communauté opensource et l’entreprise.</p>
<p><strong>Antoine :</strong> openSUSE est la première distribution que j’ai utilisée. Je l’ai découverte en 2008, dans un magazine Linux. Des amis à moi utilisaient Ubuntu et m’avait convaincu d’essayer mais je n’avais trouvé que ce magazine, avec un DVD d’openSUSE (10.3) à l’intérieur. J’ai accroché : le changement, le vert, le caméléon comme logo. Bref, je l’ai installée (<i lang="en">dual-boot</i>), cassée, réinstallée, recassée, etc. J’ai appris plein de trucs, notamment grâce au forum Alionet. J’ai depuis essayé d’autres distributions, « en dur » mais aussi dans des machines virtuelles. Au final, je reviens toujours vers openSUSE, parce que c’est là où je me sens le mieux.</p>
<p>J’ai commencé à écrire des <i lang="en">news</i> sur Alionet en 2014, après la mort de jluce, un des admins du site qui en écrivait plein. Je trouvais dommage de ne pas essayer de continuer ce qu’il avait commencé. J’écris des articles sur openSUSE, pour informer de l’actualité du projet ; parfois des tutos, notamment quand je vois plusieurs personnes ayant une même difficulté sur le forum ; et enfin, sur tout ce qui touche au libre en général.</p>
<p><strong>Qu’est-ce qui différencie openSUSE des autres distros ?</strong></p>
<p>À mon sens, c’est une distribution qui s’adresse aussi bien aux débutants qu’aux utilisateurs avancés (<i lang="en">powerusers</i>) avec un certain nombre de qualités :</p>
<ul><li>La distribution répond aussi bien à des besoins de poste de travail, d’ordinateur portable ou encore de serveur (elle partage le même core SUSE Linux Entreprise Server). Je l’utilise sur mes propres serveurs qu’ils soient physiques ou virtualisés, mes stations de travail fixes ou portables. Quelle que soit l’utilisation, ce qu’appréciera l’utilisateur, c’est sa stabilité. D’ailleurs, il existe également des images ARM pour les Raspberry Pi, Pi2 et Pi3.</li>
<li>L’ensemble des environnements graphiques proposés ont le même degré de finition et d’intégration dans la distribution que ce soit sur l’ISO de base : KDE (défaut), GNOME (mon bureau par défaut), LXQt, XFCE mais aussi via les dépôts en ligne pour MATE ou Cinnamon ou encore Enlightenment.</li>
<li>L’outil d’administration <a href="http://yast.github.io/">Yast</a> est un atout indéniable pour administrer la machine que ce soit les dépôts en ligne, l’ajout/suppression de logiciel, la gestion des services, des utilisateurs, etc. De nombreux modules sont disponibles et de nouveaux arrivent régulièrement pour suivre les évolutions technologiques comme Snapper pour gérer les instantanés (<em>snapshots</em>) du système de fichiers Btrfs ou encore celui pour gérer des conteneurs Dockers.</li>
<li>Pour les utilisateurs débutants il est possible d’installer via Yast un serveur web, FTP ou email en quelques clics. Idéal pour avoir une base fonctionnelle et ensuite « mettre les mains dedans ». D’ailleurs l’édition manuelle, n’invalide pas l’utilisation de YaST dans la majorité des cas.</li>
<li>Si l’utilisateur avancé ne veut pas utiliser Yast, il est tout à fait en droit d’éditer les fichiers de configurations manuellement et d’utiliser Zypper pour la gestion des paquets (un équivalent robuste de apt-get des familles DEB). Les administrateurs systèmes apprécieront également le dernier projet né : <a href="http://machinery-project.org/">Machinery,</a> un outil pour GNU/Linux afin d’inspecter les configurations des machines.</li>
<li>Ce que j’apprécie justement dans la communauté openSUSE c’est que les outils ne sont pas élitistes et profitent également aux autres distributions. Prenons par exemple l’outil <a href="https://openbuildservice.org/">OpenBuildService (OBS)</a> qui est une forge utilisée pour construire des <i lang="en">packages</i>. <a href="https://build.opensuse.org/">L’instance publique</a> utilisée pour les différentes versions d’openSUSE (et de SLES) est ouverte aux contributions, actuellement l’openSUSE Build Service héberge 47 593 projets, pour un total de 402 280 paquets dans 77 223 dépôts et est utilisée par 45 616 personnes. Il est simple et ouvert à tous de se créer un compte et packager sur cette plate-forme sans pour autant se limiter à *SUSE seulement, ni aux plates-formes Intel. Votre paquet peut-être construit pour toutes les distributions majeures (RHEL, CentOS, Fedora, SLES, openSUSE, Debian, Ubuntu, Mageia, AchLinux, etc) avec le support matériel allant des processeurs ARM jusqu’au <i lang="en">mainframe</i>. D’ailleurs le projet VLC utilise sa propre instance de l’OBS pour packager l’ensemble des versions du célèbre logiciel. L’instance privée permettant également la construction de logiciels pour les plateformes Windows.</li>
</ul><p><strong>Pourquoi est-elle moins connue en France qu’en Allemagne ?</strong></p>
<p>Elle n’est pas populaire qu’en Allemagne, de nombreux pays l’utilisent et ce n’est pas pour rien qu’elle est souvent entre la troisième et cinquième place sur DistroWatch.</p>
<p>En revanche, c’est indéniable, elle reste méconnue en France. Je pense qu’il y a plusieurs raisons à cela.</p>
<p>D’une part, c’était une distribution payante à la base, elle n’est devenue gratuite sous l’appellation openSUSE qu’à partir la version 10.</p>
<p>Quand j’ai démarré Linux en 2004, j’ai commencé avec Ubuntu car j’avais des problèmes de reconnaissance de matériel, ce qui s’est clairement amélioré par la suite. À présent, je ne rencontre plus de difficulté de support matériel que ce soit sur de l’assemblé ou du constructeur même si bien évidemment, je me documente avant d’acheter. Un autre manque était le nombre de logiciels disponibles mais là encore la communauté a largement rattrapé son retard.</p>
<p>Ensuite, il y a eu le « scandale » des accords Novell Microsoft alors que Novell possédait SUSE. Paradoxalement, même si tout le monde a crucifié la distribution, c’est cette collaboration qui a permis à l’ensemble des distributions Linux de s’insérer sur un réseau géré en <i lang="en">active directory</i> 100 % Windows. Comme je me fais souvent troller sur les stands avec cela, je tiens d’ailleurs à préciser que suite au rachat de Novell par Microfocus, SUSE et Novell sont deux entités distinctes et les accords liaient spécifiquement Novell et Microsoft, SUSE n’est donc plus concerné.</p>
<p>Pour toutes ces raisons, je pense que la communauté francophone est en retrait par rapport aux autres mais dès que l’on franchit les frontières de l’Hexagone, ce n’est plus la même répartition. C’est d’autant plus frustrant que lors d’événements du type RMLL, Solutions Linux, Paris OpenSource Summit, Capitole du Libre, des personnes viennent nous revoir d’une année à l’autre en nous disant qu’elles ne regrettent pas d’avoir essayé notre caméléon. Elles n’ont pas eu besoin de venir sur le forum chercher de l’aide. Comme toujours, les personnes qui s’inscrivent ont généralement des problèmes à résoudre, il manque les autres pour qui tout s’est bien passé.</p>
<p><strong>En tout cas c’est moins facile d’avoir de l’aide… Moi aussi, je me suis battu avec une carte réseau récalcitrante et j’ai laissé tomber. Dommage, j’aimais bien. Comment on fait quand on galère ?</strong></p>
<p>La communauté openSUSE francophone est clairement moins importante que celles d’autres distributions. C’est l’histoire de l’œuf ou la poule : est-ce que la communauté est petite à cause de sa popularité dans l’Hexagone ou est-ce l’inverse ?</p>
<p>Il existe néanmoins des moyens de trouver de l’aide sur openSUSE :</p>
<ul><li>La mailing liste francophone</li>
<li>IRC #openSUSE-fr sur Freenode</li>
<li>le forum <a href="https://www.alionet.org/content.php">Alionet.org</a></li>
</ul><p>Bref, un éventail de plate-formes pour essayer de correspondre à chacun.</p>
<p><strong>Vous avez tout le temps plein de <i lang="en">goodies</i>. Il y a des sous dans openSUSE ? Quel est le modèle économique ?</strong></p>
<p>openSUSE est financée en majeure partie par SUSE, qui a lancé la distribution. L’entreprise encourage ses ingénieurs à participer à openSUSE. Du coup ils peuvent bosser sur la distribution sur une partie de leur temps de travail. Il y a aussi d’autres entreprises qui font des dons de matériel (notamment les machines pour l’openSUSE Build Service).</p>
<p>Concernant les <i lang="en">goodies</i>, lorsqu’on est ambassadeur openSUSE, il est possible via le wiki + email de prétendre à un kit stand. Il faut indiquer l’événement, le volume de personnes attendues, etc. openSUSE envoie alors un kit stand que nous devons redistribuer gratuitement. (nappe, 2 t-shirts, <i lang="en">flyers</i> en anglais).</p>
<p>En parallèle l’association <a href="https://www.alionet.org/content.php">Alionet</a> a pris plusieurs initiatives :</p>
<ul><li>Prendre contact avec SUSE France avec qui nous avons d’excellents contacts pour quelques <i lang="en">goodies</i> supplémentaires.</li>
<li>Éditer sur le budget de l’association propre des t-shirts et clés USB car nous n’en avions pas de la part de nos partenaires.</li>
<li>Nous prenons en charge l’impression de documents en français puisque openSUSE ne fournit que des informations en anglais.</li>
</ul><p><strong>Pourquoi est-elle passée en <i lang="en">rolling release</i> ?</strong></p>
<p>En fait, elle n’est pas passée en <i lang="en">rolling release</i>. ;-)</p>
<p>Le projet propose maintenant deux distributions : une « classique », openSUSE Leap, la distribution principale, l’héritière de l’openSUSE que l’on connaissait jusqu’à l’an dernier. La dénomination Leap souligne le fait qu’il y a eu un changement dans la façon de construire la distribution, en faisant une base commune avec SUSE Linux Enterprise (SLE) la distribution commerciale de SUSE. Un « saut » qui s’est traduit également dans le numéro de version : 13.2 -> 42.1.</p>
<p><a href="media/05628ac1.500px-Tumbleweed-black-green.png" data-original-source="https://framablog.org/wp-content/uploads/2017/01/500px-Tumbleweed-black-green.png"><img src="media/05628ac1.500px-Tumbleweed-black-green.png" data-original-source="https://framablog.org/wp-content/uploads/2017/01/500px-Tumbleweed-black-green.png" alt="" width="309" height="131" srcset="https://framablog.org/wp-content/uploads/2017/01/500px-Tumbleweed-black-green.png 500w, https://framablog.org/wp-content/uploads/2017/01/500px-Tumbleweed-black-green-300x127.png 300w" sizes="(max-width: 309px) 100vw, 309px"></a>Une en <i lang="en">rolling release</i> effectivement : openSUSE Tumbleweed (« virevoltant » en anglais). Elle, c’est l’héritière de « Factory », une base de code instable qui servait aux contributeurs du projet à mettre au point openSUSE ancienne formule (avant Leap). Cette base de code a évolué, s’est dotée de nouveaux outils pour finalement être considérée comme « stable » – dans le sens où ça ne casse pas, mais bien sûr ça bouge vite – et être appelée Tumbleweed.</p>
<p>Pourquoi faire ça ? Pour mieux répondre aux besoins de chacun : ceux qui ont besoin d’une grande stabilité ou ne veulent pas beaucoup de changements sur leur système peuvent utiliser Leap, ceux qui veulent des logiciels toujours plus récents (mais stables ; pas des préversions ou très peu) peuvent utiliser Tumbleweed.</p>
<p><strong>Quoi de neuf dans la nouvelle version, justement ?</strong></p>
<p>Une des nouvelles les plus intéressantes est l’arrivée de Plasma 5.8.1, la toute dernière version du bureau KDE. C’est une version estampillée LTS, c’est-à-dire que KDE va se focaliser sur la stabilité et la durée pour cette version, ce qui colle avec les objectifs de Leap. Pour la petite histoire, openSUSE et KDE se sont mis d’accord pour que leurs calendriers respectifs collent et que Leap 42.2 puisse intégrer dans de bonnes conditions cette nouvelle version de Plasma. Et pour la deuxième petite histoire : KDE chez openSUSE, c’est entièrement géré par la communauté (ça ne vient pas de SLE).</p>
<p>Pour les amateurs de cartes et d’embarqué, de nouveaux portages pour ARM sont disponibles.</p>
<p>Pour les amateurs de nouveaux systèmes de fichiers : <a href="http://snapper.io/">Snapper</a> peut utiliser les quotas <a href="https://fr.wikipedia.org/wiki/Btrfs">Btrfs</a> pour gérer le nettoyage des <i lang="en">snapshots</i>.</p>
<p>Vous trouverez plus d’infos dans <a href="https://www.alionet.org/content.php?756-openSUSE-Leap-42-2-est-sortie-!">l’annonce de version</a>.</p>
<p><strong>La communauté Fedora se rend compte d’un <a href="http://www.numerama.com/tech/210643-fedora-25-une-nouvelle-version-entre-avant-gardisme-et-guerres-de-chapelles.html">déclin de l’intérêt des gens pour les principales distributions</a>. Est-ce aussi un constat sur openSUSE ?</strong></p>
<p>Pas à ma connaissance. Il y a peut être eu des signes en amont qui expliqueraient pourquoi openSUSE a revu son mode de fonctionnement en proposant deux versions : Leap et son rapprochement avec la version SUSE Linux Entreprise et la <i lang="en">rolling release</i> Tumbleweed face à la popularité d’Archlinux par exemple.</p>
<p>Ce que je constate en revanche, c’est le déclin de communauté d’entraide en général. La montée des réseaux sociaux a tué les bons vieux forums d’entraide et les mentalités ont changé. On peine à recruter des bonnes volontés mais ce n’est pas un problème exclusif à Alionet.</p>
<p><strong> Comment peut-on aider au développement d’openSUSE ?</strong></p>
<p>Une petite liste non-exhaustive de choses que l’on peut faire pour participer :</p>
<ul><li>En parler à ses amis/ses collègues/son LUG pour mieux faire connaître les distribs ;</li>
<li><a href="https://www.alionet.org/">Participer au forum</a>, salons IRC, entraide avec les autres utilisateurs ;</li>
<li>Traduction : une nouvelle plate-forme est maintenant utilisée pour traduire openSUSE : <a href="http://l10n.opensuse.org/">Weblate</a>. Tout le monde peut y participer.</li>
<li><a href="http://fr.opensuse.org/">Contribuer au wiki</a> (Alionet a aussi son propre wiki « historique » sur Linuxpédia) ;</li>
<li>Construire/maintenir des paquets : sur l’<a href="https://build.opensuse.org/">openSUSE Build Service </a> ;</li>
<li>Rapporter/Corriger des bugs : sur le <a href="https://bugzilla.opensuse.org/">bugzilla</a> ;</li>
<li><a href="https://features.opensuse.org/">Proposer de nouvelles fonctionnalités</a> ;</li>
<li><a href="https://en.opensuse.org/Portal:ARM">Participer au support de cartes ARM</a> ;</li>
<li><a href="https://openqa.opensuse.org/">Ajouter des tests à openQA</a> ;</li>
<li>Demander, on trouvera quelque chose à vous faire faire ^^</li>
</ul><p><strong>Le mot de la fin est pour vous</strong></p>
<p>openSUSE est un projet global vraiment passionnant avec une communauté internationale très ouverte. Sa communauté francophone bien que peu nombreuse n’en est pas moins réactive et les personnes ont toujours trouvé des réponses à leurs questions.</p>
<p>N’hésitez pas à tester cette distribution et à venir à notre rencontre. :)</p>
<p> </p>
<p> </p>
<p><strong>Pour aller plus loin :</strong></p>
<ul><li><a href="https://www.alionet.org/content.php">Le site de la communauté francophone OpenSuse</a></li>
<li><a href="https://fr.opensuse.org/Bienvenue_sur_openSUSE.org">Le site francophone d’openSUSE</a></li>
</ul>
<p><img src="media/d4130779.f411e4809021b786b7eb0c8956612e76" data-original-source="http://cdn.libravatar.org/avatar/f411e4809021b786b7eb0c8956612e76" alt="Gravatar de Framablog" class="gravatar" /><br/><i>Original post of <a href="https://framablog.org/2017/01/27/opensuse-une-distribution-meconnue/" title="Visit the source">Framablog</a>.Votez pour ce billet sur <a href="http://www.planet-libre.org" title="Aller sur le planet">Planet Libre</a>.</i></p>
<p><div class="similar-block"><h3>Articles similaires</h3><ul><li>Framablog : <a href="">Emmabunt&uuml;s est plus qu&#039;une distribution GNU/Linux</a> (07/10/2013)</li><li>Framablog : <a href="">Wallabag it, une belle occasion d&amp;rsquo;y aller de votre poche&amp;nbsp;!</a> (24/01/2017)</li><li>Framablog : <a href="">L&#039;appel GNU/Linux d&#039;un fanboy Microsoft d&eacute;go&ucirc;t&eacute; par la licence Office 2013</a> (19/02/2013)</li><li>Framablog : <a href="">Il a choisi Linux et s&amp;rsquo;en f&amp;eacute;licite</a> (02/02/2016)</li><li>Framablog : <a href="">Quand l&amp;rsquo;open-source fait peur aux parents&amp;hellip;</a> (04/05/2016)</li></ul></div></p>


feed_id: https://blog.genma.fr/?Ubuntu-mini-une-iso-netinstall
title: genma : Ubuntu mini - une iso netinstall
uri: genma-Ubuntu-mini-une-iso-netinstall
url: https://blog.genma.fr/?Ubuntu-mini-une-iso-netinstall
content:
<img alt="" src="https://blog.genma.fr/IMG/arton2597.jpg?1480332042" width="150" height="79"><div><p>Les utilisateurs de Debian connaissent sûrement l'iso "NetInstall" qui est un cd d'installation (image d'un CD utilisable depuis une clef USB ou un cd que l'on grave), qui contient le minimum pour démarrer l'installation d'une Debian et tous les paquets sont téléchargés depuis le réseau. Voir à ce sujet la page officielle <a href="https://www.debian.org/CD/netinst/" title="Installation par le réseau à partir d'un CD minimal">Installation par le réseau à partir d'un CD minimal</a>. C'est d'ailleurs celle que j'utilise quand je fais mes installations à base de Debian.</p>
<p>Pour Ubuntu, je prends la version Desktop correspond au bureau que j'utilise (Unity ou Mate, selon l'humeur), mais il existe une sorte d'équivalent du cd Net Install de Debian, une version d'Ubuntu mini, fournit par Canonical, qui permet d'installer n'importe quelle version (une Ubuntu avec le bureau que l'on veut) <a href="https://help.ubuntu.com/community/Installation/MinimalCD" title="Ubuntu mini - MinimalCD">https://help.ubuntu.com/community/Installation/MinimalCD</a></p>
<p>Disponible pour les différentes versions LTS supportées, pour la dernière version d'Ubuntu, en version 32 et 64 bits. Pour moi qui suis régulièrement en install party, je pense que c'est version sera utile. En effet, quand on est amené à faire une install party, il y a de forte chance que sur le réseau local ait été mis en place un serveur miroir des dépôts (pour optimiser la bande passante), et cela prend moins de place que de récupérer une ISO à jour complète, pour différentes versions. J'ai déjà une clef USB multiboot (voir à ce sujet<a href="https://blog.genma.fr/?Multiboot-sur-clef-USB" title="Multiboot sur clef USB">Multiboot sur clef USB</a> ) avec différentes versions d'Ubuntu ou autres distributions dessus, avoir cette solution sur une autre clef USB sera aussi une bonne <i>alternative</i>.</p></div>
<p><img src="media/42493842.dd4318d0d3a7d2ffb13756f63b76d85d" data-original-source="http://cdn.libravatar.org/avatar/dd4318d0d3a7d2ffb13756f63b76d85d" alt="Gravatar de genma" class="gravatar" /><br/><i>Original post of <a href="https://blog.genma.fr/?Ubuntu-mini-une-iso-netinstall" title="Visit the source">genma</a>.Votez pour ce billet sur <a href="http://www.planet-libre.org" title="Aller sur le planet">Planet Libre</a>.</i></p>


feed_id: http://alterlibriste.free.fr/index.php?post/2017/01/27/%C3%89cran-noir-au-d%C3%A9marrage-de-Grub
title: alterlibriste : Écran noir au démarrage de Grub
uri: alterlibriste-Écran-noir-au-démarrage-de-Grub
url: http://alterlibriste.free.fr/index.php?post/2017/01/27/%C3%89cran-noir-au-d%C3%A9marrage-de-Grub
content:
<p>Épilogue d’un problème que j’ai mis une bonne dizaine de jours à résoudre, si cela peut en aider d’autres.</p>


<p>Lors du démarrage de mon PC, depuis quelques semaines (mois ?), j’avais un écran noir assez long (1 minute lorsque je me suis décidé à m’attaquer au problème) avant l’affichage du menu Grub. Ce n’est pas la mort, ça permet d’aller aux toilettes pendant que ça démarre mais c’est assez casse-pied et ça doublait mon temps de démarrage : <em>Papa, quand est-ce que tu règles le problème de démarrage ?</em> Dixit mon gamin de 10 ans qui poireaute en attendant de jouer aux jeux vidéos ou de regarder des vidéos et va aux toilettes une fois que c’est démarré.</p>


<p>Bon, il fallait que je m’y attaque ! J’avais pour crainte que ce soit dû à ma carte mère vieillissante (bientôt 8 ans) ou un problème de matériel mal détecté au départ. C’est pourquoi, je suis allé un peu voir dans le BIOS pour vérifier les paramètres, débrancher les cartes annexes, chose qui m’a amenée à <a href="http://alterlibriste.free.fr/index.php?post/2017/01/16/Comment-sauver-son-BIOS">mon précédent billet</a>. Sauf que rien de tout ça n’était à mettre en cause puisque, chose que je croyais avoir testée auparavant, le démarrage sur une clé USB ne provoque pas cet écran noir. Pour être sûr que le problème vient de Grub, on peut aussi ajouter un bip au démarrage du grub en décommentant la ligne suivante dans <code>/etc/default/grub</code> : <br><code>GRUB_INIT_TUNE="480 440 1"</code></p>


<p>En cherchant un peu, je n’ai pas trouvé grand chose sur le net, si ce n’est un problème qui semblait similaire mais réglé indirectement ou une <a href="https://mail-archive.com/ubuntu-bugs@lists.ubuntu.com/msg5101658.html">ouverture de bug</a>. J’ai donc commencé à chercher un peu plus en détail dans les entrailles de Grub et en allant voir si les autres distributions installées ne mettaient pas le bazar quelque part. Il faut savoir que je travaille en général avec deux partitions de distributions par disque (une opérationnelle, Debian Stable, et une de test, Debian Testing en l’occurrence). Comme je suis passé sur un ssd il y a bien 2 ans, j’ai conservé mes partitions pour tester d’autres distributions afin de voir leur évolution ; j’ai notamment une LMDE que j’installe sur les PC de récup. Bref, j’ai donc 4 distributions sur mon PC (2 sur sda et 2 sur sdb).</p>


<p>Même si la cohabitation entre différentes distributions est bien plus pacifique qu’avec Windows qui tente toujours de reprendre la main, il y a quand même quelques trucs à savoir pour que tout se passe au mieux. Par exemple, je ne veux pas que la distribution de test installe son Grub, mais garder ma distribution principale comme maîtresse et par défaut donc j’empêche son installation (l’installeur me prévient que sans ça, mon système ne sera pas utilisable, oui, je sais ce que je fais). Lorsque ma machine redémarre, je repasse par ma distribution, je fais un <code>update-grub</code> et la nouvelle distribution apparaît dans le menu.</p>


<p>Une autre chose à savoir, c’est que certaines distributions (toutes ?) reformatent systématiquement la partition swap lors d’une installation, ce qui fait que la partition change d’UUID et les autres distributions ne la retrouvent pas. C’est lors du passage à SystemD que je me suis rendu compte de ça car SysVInit passait outre sans erreur critique et je vivais sans Swap (ce qui n’est pas problématique tant que la RAM ne vient pas à manquer) ; avec SystemD, on a par contre une temporisation de 1min30 au cas où la partition a besoin de temps pour être détectée. J’avais alors réglé le problème de la même façon que <a href="https://leblogdolivyeahh.wordpress.com/2017/01/10/archlinux-probleme-duuid-de-ma-partition-swap/">l’a rapporté récemment Olivyeahh</a>.</p>


<p>Mais revenons à nos moutons, qu’est-ce qui cloche avec Grub ? Déjà, le <code>update-grub</code> mettait un certain temps, pour ne pas dire un temps certain. Celui-ci génère le fichier /boot/grub/grub.cfg qui contient les différentes lignes du menu qui va s’afficher. Quand j’ai vu que celui que j’avais sur ma distro principale faisait 1Mo (celui qui occasionnait 1min d’attente), je me suis dis que le problème venait de là. J’ai donc commencé à réinstaller grub, faire les mises à jour sur les autres distributions tout en éliminant les noyaux obsolètes, j’ai empiré le problème avec des grub.cfg qui atteignaient plusieurs Mo et un démarrage repoussé aux calendes grecques. J’avais bien entendu sauvegardé le grub.cfg initial ; d’ailleurs, on peut aussi tailler à la hache dedans pour éliminer toutes les occurrences inutiles, toute modif est temporaire puisqu’il est regénéré à chaque update-grub.</p>


<p>Après un <a href="https://diaspora-fr.org/posts/2559141">appel lancé sur Diaspora*</a>, c’est Pkadd (encore merci à lui) qui m’a donné <a href="http://www.manjaro.fr/forum/viewtopic.php?f=20&amp;t=3207&amp;start=20#p36985">la solution car il avait eu le même problème sur Manjaro</a>. Pour faire bref, et parce que je ne suis pas allé voir le détail, grub-update prend en compte le grub.cfg de chaque distribution, je suppose que le fait d’avoir deux disques fait que selon qu’on soit sur l’un ou l’autre, il pense voir des choses différentes et multiplie les occurrences, ce qui augmente d’une puissance pour chaque distribution pour vite devenir exponentiel. Je ne sais pas si c’est un bug ou si le problème met du temps à venir, mais ça ne m’était pas encore arrivé et je n’ai pas trouvé beaucoup de cas similaires.</p>


<p>La solution est simple, lorsque le temps de boot est encore acceptable (de façon plus sale mais plus expéditive, on peut aussi supprimer tous les grub.cfg, en les renommant et d’appliquer la modif sur chaque partition depuis la distribution principale), il suffit de faire le tour de chaque distribution et d’ajouter dans chaque <code>/etc/default/grub</code> la ligne suivante :<br><code>GRUB_DISABLE_OS_PROBER=true</code> <br>
suivi d’un <code>update-grub</code>, chose que je ferai désormais systématiquement sur les installations dont je ne veux pas du grub ; cela permet de ne recenser que la distribution de la partition sans s’occuper des autres systèmes.</p>


<p>Ensuite, on revient sur la distribution principale et on fait un update-grub. On apprécie alors sa légèreté (quelques Ko, au-dessus de 100Ko, c’est que le problème décrit commence à se profiler ou qu’il y a beaucoup de noyaux qui traînent). Au boot suivant, l’apparition du menu grub est instantanée.</p>
<p><img src="media/2a099e18.9ff6af75660c788842bdb4e186b8909f" data-original-source="http://cdn.libravatar.org/avatar/9ff6af75660c788842bdb4e186b8909f" alt="Gravatar de alterlibriste" class="gravatar" /><br/><i>Original post of <a href="http://alterlibriste.free.fr/index.php?post/2017/01/27/%C3%89cran-noir-au-d%C3%A9marrage-de-Grub" title="Visit the source">alterlibriste</a>.Votez pour ce billet sur <a href="http://www.planet-libre.org" title="Aller sur le planet">Planet Libre</a>.</i></p>


feed_id: https://jibecfed.fedorapeople.org/blog/jaimerais-relancer-traducorg.html
title: Jean-Baptiste Holcroft : J’aimerais relancer traduc.org
uri: Jean-Baptiste-Holcroft-J-aimerais-relancer-traduc-org
url: https://jibecfed.fedorapeople.org/blog/jaimerais-relancer-traducorg.html
content:
<p>En version courte : j’aimerais essayer relancer le site <a href="http://traduc.org/">http://traduc.org</a>, dans une <a href="https://framalistes.org/sympa/arc/framalang/2017-01/msg00040.html">proposition sur la liste framalang</a>, quatre personnes se sont dites intéressées par la démarche. Je transcris ici l’appel.</p>
<h3>L’appel initial</h3>
<p>Aujourd’hui j’ai parfois l’impression que la traduction est tombée au second plan du logiciel libre et que de nombreuses ressources et structures ont disparues, comme si une génération entière de contributeurs s’est volatilisée, peut-être épuisée par la quantité monstrueuse de travail ou une sorte d’abandon devant l’omniprésence irréfutable de l’anglais dans l’informatique. Il reste cependant des tas de traducteurs, ça se voit dans les projets, via Framalang ou quelques gros sites liés au logiciel libre.</p>
<p>Peut-être est-ce pour cette raison que l’internationalisation est passé dans les priorités de la FSF ?</p>
<p>Traduc.org semble être complètement en sommeil et j’aimerais voir une renaissance de la communauté des traducteurs francophones afin de pouvoir travailler ensemble sur les thématiques de traduction.</p>
<p>Il y a plusieurs points que j’aimerais que nous puissons traiter :</p>
<ul><li>la discussion sur la traduction de certains termes<ul><li>Version simple : email vs courriel est un facile mais qui amène
toujours son lot de critiques,</li>
<li>Version compliquée : cloud vs informatique en nuage, est-ce bien de
traduire, si oui, comment ?</li>
</ul></li>
<li>les outils :<ul><li>la qualité : po tools, pology, dennis, pofilter, grammalecte, etc.</li>
<li>les plateformes : weblate, Zanata, pootle, Damned Lies, Transifex, etc.</li>
<li>la mémoire de traduction : nous avons des annuaires monstrueux de données, rien que sur nos postes de travail, et pourtant on se retrouve très souvent très démunis dès qu’on débute une nouvelle traduction.</li>
</ul></li>
<li>le suivi :<ul><li>il semble qu’aujourd’hui personne ne mesure l’évolution de la traduction globalement dans Debian ou Fedora, j’imagine que pour les autres c’est pareil…</li>
<li>je ne vois pas/peu de conférence sur l’internationalisation des logiciels ni la régionalisation, le FOSDEM ne compte qu’une conférence sur le sujet, l’enjeu me semble pourtant bien plus fort.</li>
</ul></li>
<li>la reconnaissance :<ul><li>souvent les traducteurs ne sont pas affichés dans les contributeurs des projets, ni comptés dans les statistiques git des projets… Leur donner un peu de reconnaissance et de respect des licences.</li>
<li>des équipes vont des travaux intéressants, sur les usages de la réforme orthographique et autre.</li>
</ul></li>
</ul><p>Enfin, tous ces thèmes me semblent devoir avoir un nivellement sur la base commune acceptables par tous :</p>
<ul><li>on peut discuter, disputer les mots ! Mais ce qui est couvert dans une langue ne doit pas mener à un conflit d’édition. Dans tous les cas, les termes proposés sont suggérés et en rien une règle absolue qui s’impose à tous,</li>
<li>les projets techniques doivent s’appuyer sur un minimum acceptable par tous : des licences ouvertes. On me proposait récemment de travailler sur un mécanisme s’appuyant sur google translate pour compléter les trous ou initialiser la traduction de milliers de mots. À mon sens c’est hyper pragmatique, mais cela n’entre pas dans le
périmètre accepté par le plus grand nombre des libristes.</li>
</ul><p>Partagez-vous cette perception ? Seriez vous intéressé pour avancer sur ces thèmes collectifs ?</p>
<h2>La piste que je privilégie aujourd’hui</h2>
<p>Le site semble maintenu d’un point de vue technique, mais on n’y trouve aucune actualité depuis 2013 : https://traduc.org/archives_news
Cependant quelques listes contiennent encore de l’actualité, mais au ralenti. On y trouve justement des interrogations sur la pérennité de l’association et du site. Peut-être est-ce l’occasion de les aider ?</p>
<p>Le point négatif, c’est qu’il y aura un travail de mise-à-jour/nettoyage important.</p>
<h2>Où poursuivre ?</h2>
<p>Je vous invite à vous inscrire sur la <a href="http://listes.traduc.org/mailman/listinfo/traduc/">liste principale de traduc</a>, où je publierai une petite proposition sur ce thème.</p>
<p><img src="media/19a7ba81.82812e23a7e777f8b81090d2dff9a0b0" data-original-source="http://cdn.libravatar.org/avatar/82812e23a7e777f8b81090d2dff9a0b0" alt="Gravatar de Jean-Baptiste Holcroft" class="gravatar" /><br/><i>Original post of <a href="https://jibecfed.fedorapeople.org/blog/jaimerais-relancer-traducorg.html" title="Visit the source">Jean-Baptiste Holcroft</a>.Votez pour ce billet sur <a href="http://www.planet-libre.org" title="Aller sur le planet">Planet Libre</a>.</i></p>


title: Yannig : Chiffrement/déchiffrement des mots de passe de vos scripts gérés avec Ansible
uri: Yannig-Chiffrement-déchiffrement-des-mots-de-passe-de-vos-scripts-g
feed_id:
http://lesaventuresdeyannigdanslemondeit.blogspot.com/2017/01/chiffrementdechiffrement-des-mots-de.html

url:
http://lesaventuresdeyannigdanslemondeit.blogspot.com/2017/01/chiffrementdechiffrement-des-mots-de.html

content:
<h3>Mais pourquoi chiffrer d'abord ?</h3>L'automatisation c'est bien mais des fois vous pouvez rencontrer quelques petits problèmes. Un que je rencontre régulièrement vient de la présence de mot de passe en clair dans mes scripts d'administration WebLogic/Oracle etc. Pour comprendre le problème, prenons l'extrait de playbook Ansible suivant :<br><br><pre><b>-</b> <span>name:</span> <span>"</span><span>Dépot d'un template de création</span><span>"</span><br><span>template:</span><br><span>src:</span> <span>"</span><span>template.sh.j2</span><span>"</span><br><span>dest:</span> <span>"</span><span>/tmp/creation.sh</span><span>"</span><br><span>register:</span> _<br><br><b>-</b> <span>name:</span> <span>"</span><span>Exécution du template</span><span>"</span><br><span>shell:</span> <span>"</span><span>/tmp/creation.sh</span><span>"</span><br><span>when:</span> _.changed|d('no')|bool<br></pre><div><br>Le déroulement est assez simple : on dépose un template sur la machine et on exécute le script si ce dernier a changé (suite à une mise à jour ou simplement parce que le script n'existait pas). Problème : si ce script contient un mot de passe, il est en clair sur la machine ce qui ne fait pas très sérieux.<br><br></div><div>Nous allons voir comment faire en sorte que les mots de passe soient à disposition sur la machine distante au moment de leur exécution sans pour autant les mettre en clair ou en tout cas rendre très difficile leur exploitation. Pour cela, nous passerons par une clé de chiffrement dans une variable d'environnement et nous verrons comment récupérer ça depuis différents langages (ici Python, Java et shell Unix).<br><br></div><h3>Utilisation du 3DES pour chiffrer</h3><div>Le principe va être le suivant : on génère une clé de chiffrement sur 24 caractères, nous chiffrons le mot de passe avec et nous la mettons à disposition sur la machine distante que nous déchiffrons via l'utilisation d'une variable d'environnement.<br><br>Cette clé peut-être positionné dans votre inventaire ou via un générateur de clé avec une graine connue (seed). Cette graine peut venir du nom de votre serveur, une variable déjà existante propre à votre plateforme, etc. J'en parlerai sûrement une prochaine fois pour voir ce qu'il est possible de faire.<br><br>Mais revenons à nos moutons. Première chose à faire : créer le programme qui nous permettra de faire le chiffrement à partir de cette clé. Ci-dessous un programme python permettant de faire du chiffrement 3DES :<br><br></div><pre><span>import</span> sys, os, base64<br><span>from</span> Crypto.Cipher <span>import</span> DES3<br><br>BS    = <span>8</span><br>pad   = <b>lambda</b> s: s + (BS - <b><span>len</span></b>(s) % BS) * <b><span>chr</span></b>(BS - <b><span>len</span></b>(s) % BS) <br><br>key = os.getenv(<span>'DES_KEY'</span>)<br>des = DES3.new(key, DES3.MODE_ECB)<br><b><span>print</span></b>(base64.b64encode(des.encrypt(pad(sys.argv[<span>1</span>]))))<br></pre><div><br>La clé de chiffrement se trouve stockée dans la variable d'environnement <b>DES_KEY</b>. Ci-dessous un exemple d'utilisation de ce mécanisme :<br><br></div><pre>$ DES_KEY=111111111111111111111111 ./chiffre.py abcdefghijklmnopqrstuvwxyz<br>eHPtqHbKD+oGdodkRUxdwo8Z4EcsTUBrrSeCYcBIQ0g=</pre><div><br>Relançons notre programme en changeant notre clé :<br><br><pre>$ DES_KEY=111111111111111111111112 ./chiffre.py abcdefghijklmnopqrstuvwxyz<br><span>vD37nk4ME9n5BUa9pLH0zrHGWl2xUkLRlLhEwfkFmos=</span></pre><br>Parfait, on voit bien que le chiffrement de notre mot de passe change complètement lorsqu'on change la clé.<br><br><h3>Déchiffrons notre message</h3>Nous arrivons à chiffrer. Écrivons maintenant le petit bout de code python qui va nous permettre de récupérer le mot de passe :<br><br><pre><span>import</span> sys, os, base64<br><span>from</span> Crypto.Cipher <span>import</span> DES3<br><br>BS    = <span>8</span><br>unpad = <b>lambda</b> s: s[<span>0</span>:-<b><span>ord</span></b>(s[-<span>1</span>])]<br><br>key = os.getenv(<span>'DES_KEY'</span>)<br>des = DES3.new(key, DES3.MODE_ECB)<br><b><span>print</span></b>(unpad(des.decrypt(base64.b64decode(sys.argv[<span>1</span>]))))<br></pre><br>Faisons maintenant quelques tests :<br><br><pre>$ DES_KEY=111111111111111111111112 ./dechiffre.py vD37nk4ME9n5BUa9pLH0zrHGWl2xUkLRlLhEwfkFmos=<br></pre><span>abcdefghijklmnopqrstuvwxyz</span><br><div><br>Youpi ! On récupère notre mot de passe !<br><br></div>Maintenant que nous avons notre code python, voyons comment récupérer ce mot de passe depuis un autre langage.<br><br><h3>Déchiffrement Java</h3>Si comme moi vous n'avez pas été sage et que vous faites de l'administration Java, vous aurez peut-être besoin de récupérer ce mot de passe depuis un programme en Java. Le bout de code suivant devrait nous aider à réaliser cette opération :<br><br><pre><span>// Récupère un mot de passe (ou autre chose) chiffré avec une clé 3DES et renvoie</span><br><span>// la chaîne à l'aide de la clé contenue dans la variable d'environnement DES_KEY</span><br><br><b>import</b><span> javax.crypto.Cipher;</span><br><b>import</b><span> javax.crypto.spec.SecretKeySpec;</span><br><b>import</b><span> java.util.Base64;</span><br><br><span>// Decrypt a password</span><br><b>class</b> dechiffre {<br><b>public</b> <span>static</span> <span>void</span> <span>main</span>(<b><span>String</span></b> [] args) <b>throws</b> <b><span>Exception</span></b> {<br><b><span>System</span></b>.<span>out</span>.<span>println</span>(<span>decrypt</span>(args[<span>0</span>]));<br>  }<br><b>public</b> <span>static</span> <b><span>String</span></b> <span>decrypt</span>(<b><span>String</span></b> password) <b>throws</b> <b><span>Exception</span></b> {<br><b><span>String</span></b> env_key = <b><span>System</span></b>.<span>getenv</span>(<span>"DES_KEY"</span>);<br><br><b><span>Cipher</span></b> out_cipher = <b><span>Cipher</span></b>.<span>getInstance</span>(<span>"DESede/ECB/PKCS5Padding"</span>);<br><b><span>SecretKeySpec</span></b> key = <b>new</b> <b><span>SecretKeySpec</span></b>(env_key.<span>getBytes</span>(), <span>"DESEDE"</span>);<br>    out_cipher.<span>init</span>(<b><span>Cipher</span></b>.<span>DECRYPT_MODE</span>, key);<br><b>return</b> <b>new</b> <b><span>String</span></b>(out_cipher.<span>doFinal</span>(Base64.<span>getDecoder</span>().<span>decode</span>(password)), <span>"UTF-8"</span>);<br>  }<br>}<br></pre><br>Notons au passage la qualité première de Java : sa concision.<br><br>Lançons maintenant notre petit programme et voyons ce que ça donne :<br><br><pre>$ DES_KEY=111111111111111111111112 java dechiffre vD37nk4ME9n5BUa9pLH0zrHGWl2xUkLRlLhEwfkFmos=<br></pre><span>abcdefghijklmnopqrstuvwxyz</span><br><div></div><br>C'est pas trop mal. Voyons ce que ça donne en changeant la clé :<br><br><span><span>DES_KEY=111111111111111111111111 java dechiffre vD37nk4ME9n5BUa9pLH0zrHGWl2xUkLRlLhEwfkFmos= </span><br>Exception in thread "main" javax.crypto.BadPaddingException: Given final block not properly padded <br>        at com.sun.crypto.provider.CipherCore.doFinal(CipherCore.java:975) <br>        at com.sun.crypto.provider.CipherCore.doFinal(CipherCore.java:833) <br>        at com.sun.crypto.provider.DESedeCipher.engineDoFinal(DESedeCipher.java:294) <br>        at javax.crypto.Cipher.doFinal(Cipher.java:2165) <br>        at dechiffre.decrypt(dechiffre.java:19) <br>        at dechiffre.main(dechiffre.java:11)</span><br><br>Magnifique, une superbe stacktrace Java pour nous indiquer que ça ne fonctionne pas bien !<br><br><h3>Et si on faisait la même chose en shell ?</h3>Pas mal mais j'écris rarement mes programmes de création d'environnement en Java. Je me suis donc posé la question s'il serait possible de faire la même chose en shell. En effet, j'ai régulièrement besoin de déposer des scripts shell afin de procéder à la création d'objets divers avec des morceaux de mot de passe dedans. Là aussi, j'aurai bien aimé pouvoir chiffrer mes mots de passe sur la machine distante.<br><br>Cette fois ci, la solution vient d'openssl. Petit bonus, il s'agit d'un programme relativement courant à trouver sur une machine Linux (sauf si vous êtes sur une image Docker où en général il est supprimé). Nous allons voir comment l'utiliser dans notre contexte :<br><br></div><pre>$ export DES_KEY=111111111111111111111112<br>$ echo vD37nk4ME9n5BUa9pLH0zrHGWl2xUkLRlLhEwfkFmos= | \\</pre><pre>    openssl des-ede3 -d -a -K $(echo -n "$DES_KEY" | xxd -pu)</pre><pre>abcdefghijklmnopqrstuvwxyz<br></pre><div><br>A noter que j'ai un peu tâtonné pour trouver le bon algo (ici <b>des-ede3</b>). En effet, avec l'algo <b>des3</b>, ça fonctionnait presque mais ça plantait sur des chaînes de plus de 8 caractères. Autre problème : openssl veut une chaîne au format hexadécimal. Il faut donc faire cette transformation avec la chaîne de la clé avec xxd (et l'option -pu). Autre point d'attention lors de la transformation : faire attention à ne pas rajouter de retour à la ligne à xxd sinon vous fausserez votre clé.<br><br>En dehors de ça, mission accomplie, nous avons notre principe.<br><br><h3>Pour conclure</h3>Nous avons vu comment faire le chiffrement reste maintenant à combiner ça avec votre outil de gestion de conf préféré (Ansible, Puppet etc.). L'astuce consistera à passer la variable d'environnement au moment du lancement du script. Ci-dessous un exemple de passage de variable :<br><br><pre><b>-</b> <span>name:</span> <span>"</span><span>Dépot script</span><span>"</span><br><span>template:</span></pre><pre>    <span>scr:</span> <span>"</span><span>test.sh.j2</span><span>"</span></pre><pre>    <span>dest:</span> <span>"/tmp/</span><span>monscript.sh</span><span>"</span></pre><pre>  <span>environment:</span></pre><pre><pre><span>    </span><span>encrypted_value:</span><span> </span><span>"</span><span>vD37nk4ME9n5BUa9pLH0zrHGWl2xUkLRlLhEwfkFmos=</span><span>"</span></pre></pre><pre><b>-</b> <span>name:</span> <span>"</span><span>Rafraichir configuration</span><span>"</span><br><span>shell:</span> <span>"</span><span>/tmp/monscript.sh</span><span>"</span><br><span>environment:</span><br><span>DES_KEY:</span> <span>"</span><span>{{des_key}}</span><span>"</span><br></pre><br>Ci-dessous le contenu du template <b>test.sh.j2</b> :<br><br><pre><span>#!/bin/bash</span><br><span>mdp=$(</span><b><span>echo</span></b> <span>{{encrypted_value}}</span> <b>|</b> <span>openssl</span> des-ede3 -d -a -K <span>$(</span><b><span>echo</span></b> -n <span>"</span><span>$DES_KEY</span><span>"</span> <b>|</b> <span>xxd</span> -pu<span>) &amp;> /dev/null) &amp;&amp; </span><b><span>echo</span></b> <span>$mdp</span></pre><br>Depuis Ansible, tout va bien, le shell se lance bien. Essayons de lancer maintenant ce script depuis la machine :<br><br><pre>$ ./test.sh<br></pre><div><br></div><div>Le script n'affiche rien. Si on vérifie la valeur du code retour, on se rend compte qu'il y a eu un problème lors du lancement du script :</div><pre>$ echo $?<br></pre><pre>1</pre></div><div><br></div><div>Parfait ! Nous sommes incapable d'obtenir le mot de passe directement depuis la machine : mission accomplie ! Reste maintenant à généraliser ce mécanisme.</div><div><br></div><div>Petite astuce au passage : passer par l'utilisation de filtre Ansible pour gérer le chiffrement de vos mots de passe. Ça simplifiera grandement votre travail.</div>
<p><img src="media/b3872a65.c6f0a036b0ddfd5061cb32cd6e3df9c1" data-original-source="http://cdn.libravatar.org/avatar/c6f0a036b0ddfd5061cb32cd6e3df9c1" alt="Gravatar de Yannig" class="gravatar" /><br/><i>Original post of <a href="http://lesaventuresdeyannigdanslemondeit.blogspot.com/2017/01/chiffrementdechiffrement-des-mots-de.html" title="Visit the source">Yannig</a>.Votez pour ce billet sur <a href="http://www.planet-libre.org" title="Aller sur le planet">Planet Libre</a>.</i></p>
<p><div class="similar-block"><h3>Articles similaires</h3><ul><li>Mathias : <a href="">Quel algorithme de chiffrement sym&eacute;trique (symmetric cipher) choisir ?</a> (26/06/2012)</li><li>Yannig : <a href="">Premier pas avec Ansible et gestion du sudo</a> (07/10/2014)</li><li>Yannig : <a href="">Activation du cache Ansible par fichier JSON</a> (10/03/2015)</li><li>Yannig : <a href="">Gestion de l&#039;option changed_when dans Ansible</a> (13/03/2015)</li><li>Yannig : <a href="">Installation de docker et utilisation avec Ansible</a> (24/01/2016)</li></ul></div></p>


feed_id: http://blog.fedora-fr.org/renault/post/R%C3%A9sultats-des-%C3%A9lections-de-Fedora2
title: Renault : Résultats des élections de Fedora
uri: Renault-Résultats-des-élections-de-Fedora
url: http://blog.fedora-fr.org/renault/post/R%C3%A9sultats-des-%C3%A9lections-de-Fedora2
content:
<p>Comme je vous le rapportais il y a peu, Fedora a organisé des élections
<a href="http://blog.fedora-fr.org/renault/post/%C3%89lections-pour-le-Conseil%2C-FESCo-et-FAmSCo-cette-semaine" hreflang="fr">pour renouveler partiellement le collège de ses organes</a>.</p>
<p>Le scrutin est comme toujours un vote par valeurs. Nous pouvons attribuer à
chaque candidat un certain nombre de points, dont la valeur maximale est celui
du nombre de candidat, et le minimum 0. Cela permet de montrer l'approbation à
un candidat et la désapprobation d'un autre sans ambiguïté. Rien n'empêchant de
voter pour deux candidats avec la même valeur.</p>
<p>Les résultats pour le Conseil sont (seul le premier est élu) :</p>
<pre>
  # votes |  noms
- --------+----------------------
     743  | Robert Mayr (robyduck)
- --------+----------------------
     738  | Justin W. Flory (jflory7)
     466  | Giannis Konstantinidis (giannisk)
     413  | Charles Profitt (cprofitt)
     393  | Itamar Reis Peixoto (itamarjp/itamarjp)
</pre>
<p>À titre indicatif le score maximal possible était de 5 * 260 (pour 260
votants) soit 1300.</p>
<p>Les résultats pour le FESCo sont (seuls les cinq premiers sont élus) :</p>
<pre>
  # votes |  noms
- --------+----------------------
    1401  | Kevin Fenzi (nirik / kevin)
    1075  | Adam Miller (maxamillion / maxamillion)
     988  | Jared Smith (jsmith / jsmith)
     735  | Justin Forbes (jforbes / jforbes)
     691  | Kalev Lember (kalev / kalev)
- --------+----------------------
     558  | Itamar Reis Peixoto (itamarjp / itamarjp)
     539  | Frederico Lima (fredlima / fredlima)
</pre>
<p>À titre indicatif le score maximal possible était de 7 * 267 (pour 267
votants) soit 1869.</p>
<p>Les résultats pour le FAmSCo sont donc (seuls les sept premiers sont élus)
:</p>
<pre>
  # votes |  noms
- --------+----------------------
    1623  | Robert Mayr (robyduck)
    1576  | Jona Azizaj (jonatoni)
    1274  | Gabriele Trombini (mailga)
    1168  | Giannis Konstantinidis (giannisk)
    1110  | Itamar Reis Peixoto (itamarjp)
    1010  | Frederico Lima (fredlima)
     964  | Sylvia Sanchez (Kohane / lailah)
- --------+----------------------
     944  | Sirko Kemter (gnokii)
     920  | Zacharias Mitzelos (mitzie)
     862  | Marcel Ribeiro Dantas (mribeirodantas)
     856  | Daniel Lara (danniel)
     735  | Lucas Landim (landim)
     731  | Tulio Macedo (_Teseu_ / teseu)
</pre>
<p>À titre d'indication, la valeur maximale possible est de 13 * 247 (car il y
a eu 247 votants) soit 3211.</p>
<p>Nous pouvons noter que globalement le nombre de votants pour chaque scrutin
était proche aux alentours de 250 votants.. Les scores sont aussi plutôt
éparpillés, avec souvent quelques membres assez largement en tête de chaque
scrutin. Kevin a par contre écrasé le vote pour l'accès au FESCo, démontrant la
qualité apprécié de son travail depuis des années.</p>
<p>Bravo aux participants et aux élus, que le projet Fedora avance. <img src="media/b198d622.smile.png" data-original-source="http://blog.fedora-fr.org/themes/default/smilies/smile.png" alt=":-)"></p>
<p><img src="media/d143d7a6.f792a7629fb4a46c01613eb1976730ef" data-original-source="http://cdn.libravatar.org/avatar/f792a7629fb4a46c01613eb1976730ef" alt="Gravatar de Renault" class="gravatar" /><br/><i>Original post of <a href="http://blog.fedora-fr.org/renault/post/R%C3%A9sultats-des-%C3%A9lections-de-Fedora2" title="Visit the source">Renault</a>.Votez pour ce billet sur <a href="http://www.planet-libre.org" title="Aller sur le planet">Planet Libre</a>.</i></p>
<p><div class="similar-block"><h3>Articles similaires</h3><ul><li>Renault : <a href="">Votez cette semaine pour le FESCo et le Conseil de Fedora !</a> (19/07/2016)</li></ul></div></p>


feed_id: https://marienfressinaud.fr/project-zero-0-1.html
title: Marien Fressinaud : Project Zero 0.1
uri: Marien-Fressinaud-Project-Zero-0-1
url: https://marienfressinaud.fr/project-zero-0-1.html
content:
<p>J’en parlais lors de <a href="https://marienfressinaud.fr/projet-zero-2016.html">ma rétrospective 2016</a>
 sur ma méthodologie de travail, j’ai commencé à bosser sur une application qui
devrait me servir de cadre méthodologique. Jusqu’à maintenant j’utilisais le
système de fichiers de l’ordinateur pour organiser mes projets, mais c’était
trop contraignant et je n’arrivais pas à assurer un suivi suffisant.</p>
<p>Après un mois de travail acharné, j’ai enfin terminé la version 0.1 de
« Project Zero ». Le code source est disponible <a href="https://github.com/marienfressinaud/project-zero">sur
GitHub</a> sous licence MIT et
vous pouvez même vous créer un compte sur le service que je mets à
disposition : <a href="http://zero.marienfressinaud.fr/">zero.marienfressinaud.fr</a>.
Attention, l’application n’est pas encore disponible en HTTPS !</p>
<h2>Pourquoi Project Zero ?</h2>
<p>Cela fait longtemps maintenant que j’imagine un outil de gestion de mes
projets. Bien sûr, je suis un éternel insatisfait des outils que j’utilise et
il fallait absolument que je développe mon propre logiciel :). Comme il
devait s’agir du projet à la base de tous mes autres projets, je l’appelais
« Projet Zéro ». Fin 2015 je donnais un coup de frein à ma
contribution à <a href="https://freshrss.org/">FreshRSS</a> pour commencer à bosser sur ce
fameux outil… chose que je n’ai jamais concrétisée car mes idées à l’époque
n’étaient absolument pas claires sur ce que je voulais faire.</p>
<p>C’est en août, pris dans la tourmente de mes nombreux projets commencés mais
dont aucun n’avançait, que je mettais en place quelques actions pour me
reconcentrer sur ce que je faisais. Cela a donné <a href="https://marienfressinaud.fr/projet-zero-readme-md.html">une pré-version</a>
de ce que je voulais obtenir.</p>
<p>Fin décembre, voyant que ma méthodologie avait globalement bien fonctionné mais
que j’avais toujours des soucis à assurer le suivi, j’ai dessiné les premiers
écrans d’une application que j’ai donc nommé « Project Zero » (notez
le passage à l’anglais).</p>
<h2>Les (quelques) fonctionnalités</h2>
<p>Il y a aujourd’hui très peu de fonctionnalités car je veux d’abord voir comment
évoluent mes besoins. Je préfère avoir très peu de fonctionnalités qui me
servent toutes que beaucoup qui ne me servent pas. Ce qu’il est possible de
faire :</p>
<ul><li>créer un compte (et s’authentifier, évidemment) ;</li>
<li>gérer ses projets (qui ne consistent qu’en un nom, une description en
  MarkDown et quelques dates) ;</li>
<li>démarrer jusqu’à trois projets en même temps en précisant une date de
  fin ;</li>
<li>stopper les projets qui stagnent ;</li>
<li>terminer les projets… terminés.</li>
</ul><p><img alt="Dashboard de Project Zero 0.1" src="media/646d40d0.2017-01-29-0.1-dashboard.png" data-original-source="https://marienfressinaud.fr/2017-01-29-0.1-dashboard.png"><img alt="Vue d’un project dans Project Zero 0.1" src="media/eddf9385.2017-01-29-0.1-project-show.png" data-original-source="https://marienfressinaud.fr/2017-01-29-0.1-project-show.png"></p>
<p>Il s’agit de la version 0.1 bien sûr, tout reste encore à construire… et j’ai
pas mal d’idées pour ça :).</p>
<h2>Sous le capôt</h2>
<p>J’ai pas mal tergiversé avant de me décider sur les technologies à utiliser
pour développer Project Zero. Voulant au départ découvrir de nouvelles choses,
je partais sur un backend <a href="http://djangoproject.com/">Django</a>, le frontend en
<a href="http://elm-lang.org/">Elm</a> et une API à base de <a href="http://graphql.org/">GraphQL</a>.</p>
<p>Mais plus j’hésitais plus je me convainquais que j’allais accumuler les
difficultés et que je n’avancerais pas. Au final j’ai décidé de partir sur des
bases que je connais et avec lesquelles je suis à l’aise :</p>
<ul><li><a href="http://rubyonrails.org/">Ruby on Rails</a> pour le backend comme cela fait
  presque 1 an et demi que j’en fais quotidiennement, pas de difficulté à ce
  niveau ;</li>
<li>une API classique en Json, je savais que j’avais encore besoin de progresser
  là-dessus mais je n‘exclue pas d’inclure du GraphQL à terme ;</li>
<li><a href="https://vuejs.org/">VueJS</a> pour le frontend, pour le coup que je ne
  connaissais pas mais qui n’est pas trop éloigné conceptuellement de React.</li>
</ul><p>Pour ce qui est de VueJS, la lecture de la documentation m’a convaincu que tous
les problèmes que j’avais avec React allaient disparaître comme par magie… et
ce n’est pas tout à fait faux :). Bien sûr d’autres questions se sont
posées au fur et à mesure que j’avançais, mais je suis tout de même
content du résultat ! L’époque où j’écrivais du JS imbitable sur FreshRSS
est révolue :D.</p>
<p>Comme je le disais plus haut, le code est hébergé <a href="https://github.com/marienfressinaud/project-zero">sur GitHub</a>
mais il n’est pas exclu que je le déplace sur <a href="http://framagit.org/">Framagit</a>.
Ce qui me retient de le faire actuellement est de deux ordres :</p>
<ul><li>j’ai dans l’espoir de trouver une troisième solution. Le but de Framasoft
  n’étant pas de tout centraliser sur ses serveurs, j’aimerais aller voir
  ailleurs et de préférence chez un <a href="https://chatons.org/">chaton</a> local ;</li>
<li>GitHub reste à des années lumières de Gitlab au niveau expérience
  utilisateur. Gitlab a beau avoir des fonctionnalités (très) intéressantes,
  son interface reste foutraque et j’ai du mal à m’y faire.</li>
</ul><h2>Le service Project Zero</h2>
<p>J’expliquais plus haut que j’ai mis à disposition un service à l’adresse
<a href="http://zero.marienfressinaud.fr/">zero.marienfressinaud.fr</a>. Si l’adresse est
temporaire, j’ai dans l’espoir que le service ne le soit pas. Je ne me fais pas
trop d’illusions, actuellement Project Zero est beaucoup trop limité
fonctionnellement pour être utile à qui que ce soit, mais je pense qu’à terme
il pourrait plaire à quelques-uns.</p>
<p>Attention, le service est aujourd’hui ouvert à n’importe qui et gratuit, mais
je n’exclu pas à terme de <strong>le rendre payant</strong>. On ne pourra pas dire que je
n’ai pas prévenu ! Bien sûr le logiciel restera sous licence libre et je
ne prévois absolument pas de version alternative « closed-source ».
L’idée serait plutôt de rembourser les coûts du serveur et de mettre un petit
quelque chose de côté pour me donner un peu plus de temps libre, absolument pas
de faire fortune.</p>
<h2>Mes idées pour la suite</h2>
<p>Voici une liste non-exhaustive de ce que j’ai en tête pour le moment :</p>
<ul><li>gestion de listes de tâches à faire (communément appelées « todo
  lists ») ;</li>
<li>gestion d’environnements pour distinguer les projets personnels des projets
  professionels ;</li>
<li>envoi de mails de rappels ;</li>
<li>gestion de sous-projets ;</li>
<li>client en ligne de commande pour notamment synchroniser des dossiers en
  local, ça permettrait d’avoir par exemple un dépôt Git en local associé à un
  projet ;</li>
<li>gestion du profil utilisateur et projets publics.</li>
</ul><p>Ma priorité numéro 1 va être la gestion des tâches. J’utilise actuellement
<a href="https://todoist.com/">Todoist</a> et j’en suis vraiment très satisfait. Ceci dit
il y a parfois des petits bugs et je n’aime pas la façon dont il gère le
système de karma qui pousse parfois à bacler des tâches seulement pour garder
de bonnes statistiques. Et puis c’est toujours rigolo de redévelopper des
choses qui existent déjà, non ? :). Je cogite encore pour réfléchir à
comment m’y prendre et ne pas faire quelque chose de trop bâteau.</p>
<p><img src="media/aa8c2751.ea7e8807d513b71b5779dcee35c8e611" data-original-source="http://cdn.libravatar.org/avatar/ea7e8807d513b71b5779dcee35c8e611" alt="Gravatar de Marien Fressinaud" class="gravatar" /><br/><i>Original post of <a href="https://marienfressinaud.fr/project-zero-0-1.html" title="Visit the source">Marien Fressinaud</a>.Votez pour ce billet sur <a href="http://www.planet-libre.org" title="Aller sur le planet">Planet Libre</a>.</i></p>


feed_id: http://blogduyax.madyanne.fr/ne-pas-couper-la-branche.html
title: Yannic Arnoux : Ne pas couper la branche
uri: Yannic-Arnoux-Ne-pas-couper-la-branche
url: http://blogduyax.madyanne.fr/ne-pas-couper-la-branche.html
content:
<p>Je continue à héberger mes services personnels sur un serveur Dedibox propulsé
par une Debian. En 2016, j'ai rajouté deux services : mon instance de
<a href="https://wallabag.org/fr">Wallbag</a> et le <a href="http://blogduyax.madyanne.fr/peu-de-neuf.html">serveur de
mail</a> du domaine <em>madyanne.fr</em> à
ceux existants : mon lecteur de flux RSS (Tiny Tiny RSS), mon cloud (NextCloud)
et ce blog. La reprise en main des e-mails a été une très bonne idée, c'est
formateur et on décide des limites : le nombre de comptes et d'alias, l'espace
de stockage alloué à chaque compte.</p>
<p>Mais il faut penser qu'en cas de panne du serveur, on n'a plus d'e-mail et
surtout pas d'alerte à moins d'utiliser un e-mail alternatif. J'utilise mon
e-mail <em>@madyanne.fr</em> pour l'ensemble des services mais il faut faire une
exception pour Gandi qui gère mes DNS et Online qui héberge mon serveur. Sinon,
je ne suis pas prêt de recevoir une notification en cas d'interruption de
service du serveur de mail. </p>
<p>J'aurais pu me servir de mon e-mail Google, qui me sert seulement pour
accéder au Play Store avec mes équipements Android, mais ses e-mails sont
récupérés par <em>madyanne.fr</em> grâce à Fetchmail. J'ai donc dépoussiéré un vieil
e-mail Free, inutilisé depuis 15 ans, inconnu des spammeurs et je l'ai ajouté
comme e-mail d'alerte chez Online et Gandi. En prime, j'ai créé un compte sur
<a href="https://uptimerobot.com/">Uptime Robot</a> qui vérifie que le blog est accessible
toutes les 5 minutes et m'envoie une alerte e-mail sur mon compte principal et
chez Free.</p>
<p>Bon c'est pas mal, je n'ai pas coupé la branche sur laquelle je suis assis : si
le serveur de mail tombe, j'aurais des alertes... à condition de vérifier
régulièrement la boite de réception de mon e-mail chez Free. Ca veut dire
rajouter gérer deux comptes e-mails sur mon téléphone et je n'ai pas envie de
cette contrainte. L'idéal serait de recevoir un SMS si un e-mail arrive chez
Free, ce qui doit être exceptionnel car symptomatique de gros problème. Me
voici donc en quête d'un service gratuit d'envoi de SMS et après diverses
pérégrinations j'ai fini sur <a href="https://ifttt.com/">IFTTT</a>. Bon c'est gratuit donc
c'est probablement moi le produit et ne sachant pas trop quel est le <em>business
model</em> de IFTTT je ne sais pas encore quelle part de mon âme j'ai bradé  Si
vous avez une alternative pas chère pour cette partie d'envoi de SMS je suis
intéressé.</p>
<p><img src="media/79716ccf.308a3596152a79231f3feedc49afa4ef" data-original-source="http://cdn.libravatar.org/avatar/308a3596152a79231f3feedc49afa4ef" alt="Gravatar de Yannic Arnoux" class="gravatar" /><br/><i>Original post of <a href="http://blogduyax.madyanne.fr/ne-pas-couper-la-branche.html" title="Visit the source">Yannic Arnoux</a>.Votez pour ce billet sur <a href="http://www.planet-libre.org" title="Aller sur le planet">Planet Libre</a>.</i></p>


feed_id: http://blog.fedora-fr.org/renault/post/Forcez-Electrolysis-dans-Firefox-et-envoyez-vos-retours
title: Renault : Aidez Firefox à généraliser Electrolysis
uri: Renault-Aidez-Firefox-à-généraliser-Electrolysis
url: http://blog.fedora-fr.org/renault/post/Forcez-Electrolysis-dans-Firefox-et-envoyez-vos-retours
content:
<p>Et oui, tester Fedora, c'est aussi tester et aider les projets libres qu'il
met à disposition afin de rendre le tout meilleur. Or, Mozilla Firefox est le
navigateur par défaut de Fedora, l'un des plus utilisés de la communauté et
personnellement c'est celui de mon quotidien depuis ses débuts en 2004.</p>
<p>Et actuellement Firefox a besoin d'un petit coup de main pour accélérer le
déploiement d'une nouvelle technologie : Electrolysis.</p>
<p>Vous avez 5-10 minutes et vous aimez Firefox ? Cet article est fait pour
vous !</p>
<h3>Qu'est-ce que Electrolysis ?</h3>
<p>Le concept est que Firefox soit multiprocess. Pas un processus par onglet
mais dans un premier temps pour séparer la gestion des pages web de l'interface
du navigateur. Cela devrait améliorer la fluidité dans un certain nombre de
cas, mais aussi améliorer la stabilité de l'ensemble en évitant que le
navigateur crash entièrement à cause d'un site web mal conçu.</p>
<p>C'est un projet complexe à mettre en œuvre car remettant en cause l'ancienne
architecture du navigateur. Cela fait plusieurs mois voire années que ce
chantier est en cours.</p>
<p>Et si Electrolysis se déploie de plus en plus, cela se fait par vagues et il
est nécessaire d'aider pour que la diffusion soit totale le plus vite possible.
En effet, Firefox n'active pas ce mode si l'utilisateur a au moins une
extension dont on ignore la compatibilité avec ce changement. Or, il y a
beaucoup d'extensions dont le status n'est pas connu. En plus du fait que
Firefox repose aujourd'hui énormément sur sa collection d'extensions.</p>
<p>Vous pouvez voire manuellement <a href="https://arewee10syet.com/" hreflang="en" title="E10S site officiel">sur ce site</a> si vos extensions sont
compatibles ou non avec ce mécanisme. Sachant que seuls ceux contenant le
champs <em>compatible</em> le sont.</p>
<h3>Comment aider ?</h3>
<p>Tout d'abord, vérifiez si Electrolysis n'est pas déjà activé. Pour cela
saisissez <em>about:support</em> dans la barre d'adresse. Cherchez le champs
<em>Fenêtres multi-processus</em>. Si vous avez <em>1/1</em>, il est déjà
activé et vous n'avez rien de spécial à tester. Si c'est <em>0/1</em>, vous
pouvez poursuivre la lecture.</p>
<p>Ensuite, il suffit de forcer Electrolysis, d'utiliser Firefox et de faire un
retour plus tard sur si cela s'est bien ou mal passé. Pour aider, il est
préférable d'avoir la version 51.0 ou supérieur de Firefox.</p>
<p>Pour forcer Electrolysis, vous devez aller dans le <em>about:config</em> (à
saisir dans la base d'adresses). Ensuite un clique droit pour créer une
nouvelle valeur booléenne avec pour nom
<em>browser.tabs.remote.force-enable</em>. Vous mettrez la valeur à
<em>True</em>.</p>
<p>Ensuite, il est nécessaire d'installer l'extension <a href="https://addons.mozilla.org/en-US/firefox/addon/add-on-compatibility-reporter/" hreflang="en" title="Add-On compatibility reporter">Add-On compatibility
reporter</a>. Vous pouvez redémarrer Firefox et le tester.</p>
<p>Soyez naturels, utilisez Firefox normalement pendant quelques heures voire
jours. Testez évidemment vos extensions. Si vous le voyez aucun soucis, vous
pouvez utiliser l'extension pour déclarer toutes vos extensions comme
compatibles. Sinon il faut éventuellement en désactiver certaines pour déceler
celle qui pose soucis.</p>
<p>Si une extension pose problème, n'hésitez pas à contacter son auteur pour
qu'il soit au courant et qu'il corrige cela.</p>
<p>Vous pouvez désactiver Electrolysis si vous le souhaitez en remettant
<em>browser.tabs.remote.force-enable</em> à <em>False</em>.</p>
<p>Et voilà, vous avez fini. Grâce à votre retour, de plus en plus d'extensions
seront validées et Electrolys pourra fonctionner sur de plus en plus de
machines par défaut, dont vos machines.</p>
<p><img src="media/d143d7a6.f792a7629fb4a46c01613eb1976730ef" data-original-source="http://cdn.libravatar.org/avatar/f792a7629fb4a46c01613eb1976730ef" alt="Gravatar de Renault" class="gravatar" /><br/><i>Original post of <a href="http://blog.fedora-fr.org/renault/post/Forcez-Electrolysis-dans-Firefox-et-envoyez-vos-retours" title="Visit the source">Renault</a>.Votez pour ce billet sur <a href="http://www.planet-libre.org" title="Aller sur le planet">Planet Libre</a>.</i></p>
<p><div class="similar-block"><h3>Articles similaires</h3><ul><li>Tasse de Caf&eacute; : <a href="">Firefox mis &agrave; jour sur Android et en version desktop</a> (29/08/2012)</li><li>Tasse de Caf&eacute; : <a href="">Les performances de JavaScript am&eacute;lior&eacute;es dans Firefox 18</a> (13/09/2012)</li><li>Tasse de Caf&eacute; : <a href="">Firefox : Putain 10 ans !</a> (23/09/2012)</li><li>Tasse de Caf&eacute; : <a href="">Firefox : bient&ocirc;t un installateur web pour Windows</a> (04/10/2012)</li><li>Tasse de Caf&eacute; : <a href="">Firefox 16 est sorti !</a> (10/10/2012)</li></ul></div></p>


title: Journal du hacker : Liens intéressants Journal du hacker semaine #04
uri: Journal-du-hacker-Liens-intéressants-Journal-du-hacker-semaine-04
feed_id:
https://blog.journalduhacker.net/index.php?article87/liens-interessants-journal-du-hacker-semaine-04

url:
https://blog.journalduhacker.net/index.php?article87/liens-interessants-journal-du-hacker-semaine-04

content:
<p>Pour la 4ème semaine de 2017, voici 5 liens intéressants que vous avez peut-être ratés, relayés par <a href="https://www.journalduhacker.net/">le Journal du hacker</a>, votre source d’informations pour le Logiciel Libre francophone !</p>

<a href="https://www.journalduhacker.net/"><img src="media/01f45034.logo-journal-du-hacker.png" data-original-source="https://blog.journalduhacker.net/data/medias/logo-journal-du-hacker.png"></a>

<ul><li><a href="https://www.journalduhacker.net/s/ns4ppy/protonmail_va_passer_au_smtp_et_au_fran_ais">ProtonMail va passer au SMTP et au français</a></li>
<li><a href="https://www.journalduhacker.net/s/w7lqkh/j_ai_arr_t_de_m_en_faire_en_m_me_temps_que_la">J’ai arrêté de m’en faire en même temps que la pizza</a></li>
<li><a href="https://www.journalduhacker.net/s/pm0uip/firefox_zone_en_version_51">Firefox zone en version 51</a></li>
<li><a href="https://www.journalduhacker.net/s/lvf9fu/le_hold_up_du_logiciel_libre">Le hold-up du logiciel libre</a></li>
<li><a href="https://www.journalduhacker.net/s/eq61dr/tout_ce_qui_fait_que_python_3_est_meilleur">Tout ce qui fait que Python 3 est meilleur que Python 2</a></li>
</ul><p>Pour ne plus rater aucun article de la communauté francophone, voici :</p>

<ul><li><a href="https://www.journalduhacker.net/rss">Le flux RSS du Journal du hacker</a></li>
<li><a href="https://twitter.com/journalduhacker">Le compte Twitter du Journal du hacker</a></li>
<li><a href="https://framasphere.org/u/journalduhacker">Le compte Diaspora* du Journal du hacker</a></li>
</ul><p>De plus le site web du Journal du hacker est « adaptatif (responsive) ». N’hésitez pas à le consulter depuis votre smartphone ou votre tablette !</p>

<p>Le Journal du hacker fonctionne de manière collaborative, grâce à la participation de ses membres. <a href="https://www.journalduhacker.net/invitations/request">Rejoignez-nous</a> pour proposer vos contenus à partager avec la communauté du Logiciel Libre francophone et faire connaître vos projets !</p>

<p><strong>Et vous ? Qu’avez-vous pensé de ces articles ?</strong> 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 :)</p>
<p><img src="media/ffe97a17.7916ee3cafa0bc3e9583bedad876dcd5" data-original-source="http://cdn.libravatar.org/avatar/7916ee3cafa0bc3e9583bedad876dcd5" alt="Gravatar de Journal du hacker" class="gravatar" /><br/><i>Original post of <a href="https://blog.journalduhacker.net/index.php?article87/liens-interessants-journal-du-hacker-semaine-04" title="Visit the source">Journal du hacker</a>.Votez pour ce billet sur <a href="http://www.planet-libre.org" title="Aller sur le planet">Planet Libre</a>.</i></p>


uri: David-Mercereau-CalcPvAutonome-Outil-de-dimensionnement-pour-une-i
feed_id:
http://david.mercereau.info/calcpvautonome-outil-de-dimensionnement-pour-une-installation-photovoltaique-en-site-isole-autonome/

title:
David Mercereau : CalcPvAutonome : Outil de dimensionnement pour une installation photovoltaïque en site isolé (autonome)

url:
http://david.mercereau.info/calcpvautonome-outil-de-dimensionnement-pour-une-installation-photovoltaique-en-site-isole-autonome/

content:
<p>Pour réaliser mon installation <a href="http://david.mercereau.info/installation-electrique-solaire-autonome-mise-en-oeuvre/">photovoltaïque</a> autonome, je me suis fait aider sur <a href="http://forum-photovoltaique.fr/">forum-photovoltaique.fr</a> (dans la rubrique dédiée). Depuis, j’y traîne de temps en temps pour aider à mon tour. Sur le forum, je me suis aperçu rapidement qu’on faisait très souvent la même chose : <a href="http://david.mercereau.info/installation-electrique-solaire-autonome-etude/">du dimensionnement</a>. Il n’y avait (à ma connaissance) pas d’outil pour aider à faire du dimensionnement pour site isolé qui soit indépendant (des outils pour au final vendre un kit qui va marcher 2 ans, ça oui, il y a en a…)</p>
<p>Donc je me suis dit, je vais le faire… Alors voilà le premier jet :</p>
<ul><li><a href="http://calcpvautonome.zici.fr/">calcpvautonome.zici.fr/</a> (démo)</li>
<li><a href="http://calcpvautonome.zici.fr/?Ni=3">calcpvautonome.zici.fr/?Ni=3</a> (démo en mode pro)</li>
<li><a href="http://calcpvautonome.zici.fr/?p=CalcConsommation">calcpvautonome.zici.fr/?p=CalcConsommation</a>, outil de calcul de ses besoins électriques journaliers, qui en a naturellement découlé</li>
<li><a href="https://github.com/kepon85/CalcPvAutonome">le dépôt github</a> avec le code</li>
</ul><p>Les critères étaient donc :</p>
<ul><li><strong>Logiciel libre</strong> : les méthodes de calcul étant nombreuses, je me suis dit que la collaboration de chacun était souhaitable ;</li>
<li><strong>Indépendant</strong> : pas de site marchand, rien à vendre à la fin ;</li>
<li><strong>Pédagogique</strong> : pour ceux qui veulent comprendre les calculs ;</li>
<li>Utilisable à <strong>plusieurs niveaux</strong> :
<ul><li>Niveau débutant : on demande pas grand chose, beaucoup de calculs sont automatiques, déduits ;</li>
<li>Niveau pro : on peut personnaliser plus de paramètres ;</li>
</ul></li>
</ul><p>Je suis à la <strong>recherche</strong> de (petits) <strong>contributeurs</strong> à ce (petit) projet pour :</p>
<ul><li>Discuter de la méthode de calcul ;</li>
<li>Distribuer des suggestions, des critiques constructives ;</li>
<li>Des idées pour aller plus loin… Pour l’instant j’ai listé :
<ul><li>Gérer d’autres technologies de batterie que AGM/plomb</li>
<li>Faire des hypothèses de câblage de PV</li>
<li>Générer un beau dessin de câblage final</li>
<li>Récupérer la valeur rayonnement moyen quotidien automatiquement…)</li>
</ul></li>
<li>Dire que les couleurs piquent les yeux ;</li>
<li>Le mieux ça serait des doigts pour co-coder ;</li>
</ul><h3>Fonctionnalités de CalcPvAutonome</h3>
<p>Pour l’utilisateur de base :</p>
<ul><li>3 modes au formulaire (Débutant, Éclairé, Expert)</li>
<li>Pour déterminer ses besoins électriques journaliers, un tableau dynamique dédié : <a href="http://calcpvautonome.zici.fr/?p=CalcConsommation">CalcConsommation</a></li>
<li>Pour déterminer l’ensoleillement :
<ul><li>(simple) Carte par zone – simple mais approximatif</li>
<li>(précis) Valeur du site http://ines.solaire.free.fr/gisesol_1.php (kWh/m²/j)</li>
</ul></li>
<li>En mode expert, ajuster le degré de décharge, les valeurs de rendement électrique des batteries ou du reste de l’installation,</li>
<li>Déduction automatique de la tension du parc de batteries à utiliser (possibilité de forcer une valeur en mode expert)</li>
<li>Déduction automatique d’une configuration du parc de câblage des batteries et du modèle à utiliser (exemple : « 2 batteries 220Ah 12V en série ») (possibilité de forcer un modèle de travail en mode expert)</li>
<li>Estimation d’une fourchette du coût du parc de batteries &amp; photovoltaïque</li>
<li>Explication détaillée du calcul pour parvenir au résultat</li>
</ul><p>Pour les utilisateurs avancés :</p>
<ul><li>Intégration sur votre site web</li>
<li>Modification possible du fichier config.ini pour changer :
<ul><li>Les valeurs par défaut du formulaire</li>
<li>Les valeurs d’irradiation de la carte par zone</li>
<li>La fourchette de prix des panneaux photovoltaïques et des batteries</li>
<li>Les modèles de batteries possibles pour la détermination d’une configuration</li>
</ul></li>
</ul><img src="http://piwik.zici.fr/piwik.php?idsite=1&amp;rec=1&amp;url=http%3A%2F%2Fdavid.mercereau.info%2Fcalcpvautonome-outil-de-dimensionnement-pour-une-installation-photovoltaique-en-site-isole-autonome%2F&amp;action_name=CalcPvAutonome+%3A+Outil+de+dimensionnement+pour+une+installation+photovolta%C3%AFque+en+site+isol%C3%A9+%28autonome%29&amp;urlref=http%3A%2F%2Fdavid.mercereau.info%2Ffeed%2F" width="0" height="0" alt="">
<p><img src="media/daec4dc1.de43c41aa5a82aa62ed68f4d2cbc8300" data-original-source="http://cdn.libravatar.org/avatar/de43c41aa5a82aa62ed68f4d2cbc8300" alt="Gravatar de David Mercereau" class="gravatar" /><br/><i>Original post of <a href="http://david.mercereau.info/calcpvautonome-outil-de-dimensionnement-pour-une-installation-photovoltaique-en-site-isole-autonome/" title="Visit the source">David Mercereau</a>.Votez pour ce billet sur <a href="http://www.planet-libre.org" title="Aller sur le planet">Planet Libre</a>.</i></p>
<p><div class="similar-block"><h3>Articles similaires</h3><ul><li>David Mercereau : <a href="">PvMonit &ndash; Monitoring de mon installation photovolta&iuml;que autonome</a> (15/11/2016)</li><li>Simon Vieille : <a href="">D&eacute;velopper un site web en php sans installer Apache, Nginx ou Lighttpd</a> (30/03/2013)</li><li>David Mercereau : <a href="">emailPoubelle.php &ndash; script libre d&rsquo;email jetable</a> (07/08/2012)</li><li>David Mercereau : <a href="">[Web-Dynamic-Dnsupdate] Administrer vos zones DNS sans base de donn&eacute;es</a> (03/08/2012)</li><li>David Mercereau : <a href="">Cr&eacute;er/publier un plugin wordpress simple : &laquo;&nbsp;Adblock invite&nbsp;&raquo;</a> (21/01/2013)</li></ul></div></p>


feed_id: http://blog.niqnutn.com/index.php?article68/le-journal-du-hacker-le-site-du-n-importe-quoi
title: nIQnutn : Le journal du Hacker: le site du n'importe quoi
uri: nIQnutn-Le-journal-du-Hacker-le-site-du-n-importe-quoi
url: http://blog.niqnutn.com/index.php?article68/le-journal-du-hacker-le-site-du-n-importe-quoi
content:
<p>Depuis sa création, le <strong>Journal Du Hacker</strong> commence à s'étoffer et je pense que l'idée de base est <em>excellente</em>. 
Pouvoir suivre l'actualité est toujours important mais on a pas tous du temps à consacrer pour ça et on a pas toujours les bonnes adresses (on les découvre au fur et à mesure et ça prend du temps).
Il permet de trouver des informations intéressantes sur le logiciel libre mais le JDH n'est pas sans défaut.</p>


<div><img src="media/6f80706a.journalduhacker.png" data-original-source="http://blog.niqnutn.com/data/medias/0068/journalduhacker.png" alt=""></div>


<p>Ce que je lui reproche en l'état actuel:</p>

<ul><li>Faire <strong>doublon</strong> avec mes autres sources d'infos (c'est un petit problème mais qui se voit sur les flux RSS, Twitter et sur Diaspora* en plus de la source principale) et ça fait parfois beaucoup.</li>
<li>La <strong>qualité</strong> des articles. Certains articles ne sont pas au niveau et j'irai même par dire qu'ils sont parfois sans intérêt voire simple perte de temps. Je préfère lire 1 ou 2 articles intéressants dans la journée pour apprendre quelque chose que 50 articles ou tout est dit dans le titre. Je parle même pas de certains articles où c'est du grand n'importe quoi.</li>
</ul><p>Le problème des doublons, on peut s'en accommoder et quand on lit la presse, on a bien plusieurs articles qui peuvent traiter du même sujet. 
On peut avoir des articles plus ou moins détaillé et avec des points de vue différents.
Il faut donc décider si on suit le JournalDuHacker plutôt que d'autres sources.
Autre problème, la présence sur plusieurs médias, c'est un peu <em>redondant</em>.
<br>
Bref, c'est pas une catastrophe, juste un peu pénible.</p>

<p>Ce qui me gêne beaucoup plus, c'est la <strong>piètre qualité de certains articles</strong> qui sont relayés. 
C'est un peu la course à "l’info" pour certains, il faut sauter sur le premier article qui traite d'un sujet qui tourne autour du <em>libre</em> et le soumettre. 
Je ne suis pas fan de l'<em>information instantanée</em> sans contenu ni profondeur ou l'essentiel se retrouve dans le titre. 
Dans un sens, j'ai l'impression que c'est le <strong>BFM TV du logiciel libre</strong>.
Quand je vois des articles qui ne compte même pas 10 lignes, ça me désole. Qu'est-ce que je peux apprendre avec ça ?</p>

<p>Le JDH aurait une véritable plus-value s'il permet de trouver des articles qu'on n'aurait pas pu trouver seul et en se limitant aux articles les plus intéressants.
C'est en partie le cas et j'ai découvert des articles intéressants et des sites de qualité.</p>

<p>Je ne suis plus de près le JDH mais je croise les infos sur Diaspora*.
Du coup, il m'arrive de regarder les infos à un moment ou un autre sur le site et j'ai toujours l'impression qu'il y a un certains nombre d'articles sans intérêts qui sont ajoutés.</p>

<h2>Quelques exemples</h2>

<p> 
Pour citer un exemple qui m'a marqué, c'est pour la mort de Ian Murdock (fondateur du projet Debian).
<br>
Je ne vois quel était l’intérêt de mettre en lien sa page wikipedia et surtout sans explication.
<br>
Quand ça été soumis, il n'y avait probablement pas d'article mais sans explication ça n'a aucun intérêt. Je pense que ce type de proposition devrait être rejeté tout simplement.
Très rapidement on a eu des infos détaillées sur tous les sites et même des communiqués de Debian et Docker.</p>


<p>
Autre exemple récent, un article titré "Le hold-up du logiciel libre". 
<br>
Je ne détaillerai pas mais ça n'a aucune utilité et en terme d'approximation on ne fait pas mieux.
Je pense que pour critiquer le logiciel libre ou une partie de sa communauté, c'est pas compliqué mais faut un peu argumenté. 
J'attendais une révélation mais à la dernière ligne, RIEN. Enfin si, j'ai perdu mon temps et ma curiosité m'a poussé à comprendre et lire les commentaires. Finalement, je suis soulagé, je ne suis pas le seul à trouver ça pourri.
<br>
Encore une fois, ce genre d'articles devrait être oublié et ne surtout pas être relayé pour ne pas encourager ce genre d'articles, parait qu'on appelle ça le putaclic.
</p>

<p>Évidemment, ça n'engage que moi et ma manière de rechercher l'info mais j'imagine ne pas être le seul.
<em>Je ne pense pas que ça soit une fatalité et qu'on peut améliorer le JDH sur ce point</em>.</p>

<h2>On peut faire mieux</h2>

<p>Plutôt que d'alimenter sans cesse le JDH, je pense qu'il faut basculer sur un modèle plus <strong>qualitatif</strong> et arrêter de tout relayer, histoire de dire que le JDH est actif.
Certaines personnes proposent de nombreuses liens (c'est une bonne initiative dans le fond) mais ça ne permet pas de tirer le JDH vers le haut.</p>

<p>Je me suis détourné du JDH parce qu'il me faisait tourner en rond et je ne trouvais que rarement des choses intéressantes. 
Rien n'est définitif et si le JDH évolue dans le bon sens, je me remettrai évidemment à le suivre avec intérêt. 
Il n'y a évidemment pas d'animosité dans mes propos et j'adore ce projet et remercie aussi les contributeurs.
Il était certainement important de faire vivre le site à ses débuts mais ce n'est plus nécessaire maintenant.</p>

<p>En tant que contributeurs on peut soumettre et voter pour ce qui nous plaît mais pas intervenir sur ce qui ne nous intéresse pas. Peut-être faudrait-il pouvoir voter négativement pour ne plus donner d'importances à certains articles et inciter à ne plus partager ce type de contenu.</p>

<p>Carl Chenet nous le ressert souvent mais je vous recommande de contribuer au JDH: <a href="https://www.journalduhacker.net/s/7vbnkn/pour_participer_au_journal_du_hacker_cr_ez">Pour participer au Journal du hacker, créez votre compte</a>)
<br>
Si vous connaissez des sites ou vous avez des infos intéressantes à faire partager, faites le <strong>aussi</strong> sur le JDH.
Quand certains affirment que la "blogosphère" est morte, je n'y crois pas et je tombe régulièrement sur des nouveaux blogs mais ils ont parfois une faible visibilité.
C'est aussi un moyen de donner un coup de pouce à ces personnes.</p>

<p>Bonne continuation.</p><hr>
2016 nIQnutn CC-BY
<p><img src="media/a91347c8.5c27127d0dc6fdd370e85d336aa73f8c" data-original-source="http://cdn.libravatar.org/avatar/5c27127d0dc6fdd370e85d336aa73f8c" alt="Gravatar de nIQnutn" class="gravatar" /><br/><i>Original post of <a href="http://blog.niqnutn.com/index.php?article68/le-journal-du-hacker-le-site-du-n-importe-quoi" title="Visit the source">nIQnutn</a>.Votez pour ce billet sur <a href="http://www.planet-libre.org" title="Aller sur le planet">Planet Libre</a>.</i></p>


feed_id: http://alterlibriste.free.fr/index.php?post/2017/01/30/Le-d%C3%A9tail-qui-tue
title: alterlibriste : Le détail qui tue
uri: alterlibriste-Le-détail-qui-tue
url: http://alterlibriste.free.fr/index.php?post/2017/01/30/Le-d%C3%A9tail-qui-tue
content:
<p>Lorsque l’on utilise un outil, le moindre dysfonctionnement peut le rendre beaucoup moins performant, voire parfois totalement hors d’usage, mais est-ce sur ce défaut que doit se baser notre appréciation de cet outil ?</p>


<p>Il n’est pas rare de voir des utilisateurs plus ou moins chevronnés de distributions GNU/Linux (l’exemple est aussi valable pour un environnement de bureau et tout autre environnement de travail informatique) considérer telle ou telle distribution comme mauvaise et d’en changer suite à une ou plusieurs expériences malheureuses. Ils ne se gêneront pas ensuite de la qualifier de tous les noms et de rappeler combien ils la détestent et ne la recommandent pas. Certains arguments sont parfois assez valables comme des problèmes matériels récurrents ou des mises à jours mal gérées ; d’autres le sont beaucoup moins, comme l’esthétique, la présence ou l’absence de tel ou tel logiciel qu’on déteste ou qu’on aime, ces aspects étant largement adaptables, moyennant quelques (dés)installations selon ses goûts.</p>


<p>Bien sûr, je suis assez caricatural (quoi que ?) et c’est souvent un peu plus subtil : des crashs à répétition d’un logiciel, des petits détails agaçants ou au contraire l’attrait pour une nouvelle fonctionnalité, une critique bonne ou mauvaise vont faire que l’on peut avoir envie d’aller voir si l’herbe est plus verte ailleurs. Bon inversement, il y a des fanatiques qui ne jurent que par leur outil préféré et n’en démordent pas même lorsque le monde s’écroule autour d’eux ; il paraît même qu’il y en encore qui font tourner leur téléphone sous Firefox OS…</p>


<p>Tiens, ça me donne l’occasion d’évoquer un exemple. Firefox OS n’a pas eu le temps d’atteindre sa maturité (il ne manquait pourtant pas plus de six mois pour y arriver à mon avis) donc on était soit sur une version dont il manquait certaines fonctionnalités indispensables, soit sur des versions en développement avec des bugs potentiels. Il fallait donc savoir jongler entre stabilité et fonctionnalités sachant que lorsque l’on est testeur, joueur et motivé, le bug ne fait pas peur et on apprend à le contourner (ou au moins l’éviter et évitant l’action qui le provoque) alors que l’utilisateur de base doit avoir quelque chose de stable, éventuellement avec des fonctionnalités en moins mais rien ne doit le déstabiliser sinon le bug lui fera dire que le système est pourri. Bref, j’avais trouvé une version suffisamment stable contenant les fonctionnalités dont j’avais besoin (alors que d’autres pour qui le Bluetooth était indispensable devaient se contenter de la version précédente, les joies d’un système en développement, quoi). Et puis j’ai voulu essayer la toute dernière build communautaire, sauf que dans cette version, les développeurs avaient poussé une modification dans la correction automatique du clavier. Comme dans la plupart des claviers virtuels, lorsqu’on tape un mot, il y a des suggestions qui apparaissent, c’est bien pratique pour taper juste le début du mot ou ne pas chercher les lettres avec accents, les propositions permettent de gagner du temps. Sauf que la modification consistait à ajouter un espace après le mot. Ça peut sembler utile pour gagner encore un peu de temps sauf que parfois on n’a pas besoin d’espace pour mettre un point ou une virgule après ou encore parce qu’on veut compléter le mot (on sélectionne le verbe à l’infinitif dès qu’il est proposé et on ajoute la terminaison). Et malheur, le fait de faire un retour arrière pour enlever l’espace supprimait la proposition choisie pour revenir au mot tel qu’il était tapé initialement. Bref, une fonctionnalité totalement insupportable qui m’a fait revenir en arrière dans les heures qui ont suivi à chaque fois que je suis tombé dessus.</p>


<p>Je suppose que beaucoup de monde a déjà fait certaines expériences comme avoir une voiture dont il y a quelques dysfonctionnements : pour prendre quelques exemples perso, c’est un écran d’affichage dont on ne distingue plus bien l’heure, une poignée de portière qui pète, un siège rabattable qui ne se rabat plus, bref, rien qui empêche la voiture de rouler mais qui nous font dire <em>"saleté de voiture pourrie"</em>. D’autres inconvénients sont un peu plus gênants comme un démarrage de plus en plus capricieux qui, après avoir vérifié ou changé les bougies de préchauffage et la batterie reste très difficile à la moindre baisse de température et commence à nous faire penser qu’il va peut-être bientôt falloir changer de voiture ; au final, c’était le démarreur et une fois remplacé et la poignée de portière réparée, elle roule comme un charme.</p>


<p>Tous ces exemples sont à rapporter aux autres outils que l’on utilise et notamment nos ordinateurs et systèmes d’exploitation. Lorsqu’une chose est vraiment bloquante, un ordi qui met beaucoup trop de temps à démarrer (j’avais commencé ce billet avant <a href="http://alterlibriste.free.fr/index.php?post/2017/01/27/%C3%89cran-noir-au-d%C3%A9marrage-de-Grub">le précédent</a> mais il en est un excellent exemple) ou un logiciel que l’on utilise quotidiennement qui déconne, on ne voit que ça et on a tendance à tout vouloir accuser : la vétusté de la machine et surtout le système d’exploitation dont les enfoirés qui le développent et le maintiennent ont oublié de tester ou prennent énormément de temps à régler le cas particulier de notre problème (le fait qu’on ne leur a fait aucun don pour ça n’entre bien sûr pas en ligne de compte et si on l’avait fait ils seraient d’autant plus fautifs).</p>


<p>On ne regarde que les défauts et jamais tout le reste qui fonctionne pour qualifier une distribution ; c’est sûr que celles que l’on n’a jamais réussi à installer à cause d’une incompatibilité induit rapidement un jugement négatif, les expériences malheureuses à répétition aussi. Pourtant, les problèmes proviennent aussi du matériel, de mauvaises manips, d’une aversion personnelle à certains comportements, du bug d’un logiciel quelle que soit la plate-forme … mais pas uniquement de la distribution en elle-même.</p>


<p>À mon avis, on ne peut juger de la qualité d’une distribution que par rapport à ses propres critères/besoins : accessibilité, stabilité, compatibilité matérielle, innovation, disponibilité de logiciels, environnement de bureau, gestionnaire de paquets, niveau requis, etc. Mais ces critères seront propres à chacun et feront qu’un choix sera bon pour l’un mais pas applicable à un autre. Ils auront aussi les défauts de leurs qualités, on ne peut pas vouloir avoir toutes les dernières versions et une stabilité à toute épreuve et inversement râler de l’obsolescence de certains logiciels alors que l’on ne veut pas faire de mises à jour incessantes.</p>


<p>Pourtant, il y a toujours moyens de contourner les détails agaçants (en installant une version antérieure comme sur mon téléphone), en réglant les problèmes (le net regorge d’astuces et de forums), en installant des dépôts supplémentaires (pour avoir un logiciel non disponible ou une version plus récente) ou encore en trouvant un autre logiciel qui contient la fonctionnalité recherchée ou ne contient pas le défaut que l’on veut éviter. Bref, il y a toujours moyen de s’approcher un peu plus de son idéal à partir du moment où l’on considère que le problème ce n’est pas le système mais nous et notre volonté d’apprendre et de trouver ce qui nous convient le mieux.</p>


<p>Et en le partageant avec les autres, c’est encore mieux, car peut-être que l’on n’est pas seul à avoir le même problème ou souhait.</p>
<p><img src="media/2a099e18.9ff6af75660c788842bdb4e186b8909f" data-original-source="http://cdn.libravatar.org/avatar/9ff6af75660c788842bdb4e186b8909f" alt="Gravatar de alterlibriste" class="gravatar" /><br/><i>Original post of <a href="http://alterlibriste.free.fr/index.php?post/2017/01/30/Le-d%C3%A9tail-qui-tue" title="Visit the source">alterlibriste</a>.Votez pour ce billet sur <a href="http://www.planet-libre.org" title="Aller sur le planet">Planet Libre</a>.</i></p>


feed_id: http://obsd4a.net/blog/index.php?article17/image-d-installation-personnalisee-d-openbsd
title: Thuban : Image d'installation personnalisée d'OpenBSD
uri: Thuban-Image-d-installation-personnalisée-d-OpenBSD
url: http://obsd4a.net/blog/index.php?article17/image-d-installation-personnalisee-d-openbsd
content:
<p>Petite annonce d'un nouveau tuto pour personnaliser ses images d'installation d'OpenBSD. Vous pouvez le lire ici : <a href="http://obsd4a.net/wiki/doku.php?id=tips:custom_img">custom_img</a> .</p>

<p>Ce dernier décrit les quelques commandes qui permettent de "décompresser" une image d'installation, comment personnaliser l'installation, comment ajouter des paquets puis comment construire une nouvelle image.</p>

<p>J'en profite pour vous inviter à corriger/modifier cette page. En effet, c'est un wiki, l'idée est d'y travailler à plusieurs, c'est plus rigolo.</p>

<p>À bientôt !</p>
<p><img src="media/0d200000.a17c14dbfc42f0936cee56ed7a9b3b31" data-original-source="http://cdn.libravatar.org/avatar/a17c14dbfc42f0936cee56ed7a9b3b31" alt="Gravatar de Thuban" class="gravatar" /><br/><i>Original post of <a href="http://obsd4a.net/blog/index.php?article17/image-d-installation-personnalisee-d-openbsd" title="Visit the source">Thuban</a>.Votez pour ce billet sur <a href="http://www.planet-libre.org" title="Aller sur le planet">Planet Libre</a>.</i></p>


feed_id: https://yeuxdelibad.net/Blog/?d=2017/01/31/18/00/36-service-de-mail-tres-prive
title: Thuban : Service de mail très privé.
uri: Thuban-Service-de-mail-très-privé
url: https://yeuxdelibad.net/Blog/?d=2017/01/31/18/00/36-service-de-mail-tres-prive
content:
<p>Ces derniers temps, on voit passer des nouvelles pour des services de mail qui soignent la vie privée des utilisateurs. Je pense notamment à <a href="https://protonmail.com/">protonmail</a> ou encore au retour de <a href="https://lavabit.com/">lavabit</a>. Malgré le bien fondé et les excellentes intentions de ces services, je reste dubitatif (non, ce n'est pas un gros mot).<br>
En effet, comme n'importe quel fournisseur de mail, il y a un élément très important qui entre dans l'équation : la confiance que l'on porte aux fournisseurs.<br>
D'où ma question, pourquoi s'inquiéter de la qualité et du respect de la vie privée proposée par le fournisseur alors qu'il est relativement simple d'être son propre fournisseur de mail ? Au moins, à la maison, vous êtes le seul à pouvoir lire vos mails.</p>

<p>Car c'est de ça qu'il s'agit, l'hébergement de ses mails. On lit souvent que c'est trèèèèès compliqué et contraignant. Que nenni ! Sans entrer dans les détails, je vais tenter de mettre à mal ces idées reçues.</p>

<p><b>Héberger ses mails, ça n'a rien de contraignant</b>.<br>
Pas besoin de laisser le serveur toujours allumé. S'il y a une panne de courant, vous recevrez quand même votre courrier. L'expéditeur va tenter de vous livrer le mail jusqu'à ce qu'il y parvienne. À moins de laisser le serveur débranché des semaines entières, vous recevrez vos messages.</p>

<p>Pas besoin non plus d'une machine puissante. Mais alors pas du tout !</p>

<p><b>Installer un serveur mail, pas si compliqué que ça</b><br>
Hé non, ce n'est pas aussi difficile que ça en a l'air. Vous pouvez avoir un serveur mail fonctionnel assez facilement, à condition de séparer en petits problèmes simples l'installation. Si je devais résumer, cela tiendrait en ces quelques étapes :</p>

<ul><li> Trouver un vieux PC ou une machine qui traîne.</li>
<li> Installer OpenBSD dessus. Pas parce que j'adore ce système, mais parce qu'il est très facile à configurer comme serveur mail. Ne vous prenez pas la tête pour l'installation, laissez toutes les valeurs par défaut, même pas besoin de partitionner bizarrement.</li>
<li> Louer un nom de domaine : il s'agit d'une bête commande auprès de Gandi ou OVH ou autre... Ça fonctionne comme pour commander une BD ou un t-shirt sur le web.</li>
<li> Configurer les champs DNS chez le registre. Il propose souvent une interface pour ajouter un "champ" de type "MX". Je ne rentre pas dans les détails, c'est souvent déjà là par défaut. Sinon, ça ressemble à ça : </li></ul><pre><code>youhou.net A 77.136.17.132
youhou.net. MX 1 youhou.net.
</code></pre>

<p>Le plus dur est de trouver son adresse IP. Ah ben non en fait : <a href="http://ipecho.net/">ipecho</a>.<br>
À nouveau, les registres proposent des formulaires pour guider l'utilisateur dans ces démarches.</p>

<ul><li> Créer des certificats sur son serveur avec les commandes qui vont bien (pour chiffrer la communication). Ce n'est pas obligatoire, mais c'est mieux. Il faut juste lancer une commande.</li>
<li> Ouvrir les ports qui serviront à communiquer avec votre serveur et rediriger ces ports dans votre *box. Tout ça est bien documenté en général. La redirection des ports dans la *box se fait via votre navigateur web. L'ouverture des ports dans le parefeu est toute bête sous OpenBSD : <code>pass quick on re0 port le_numero_du_port keep state</code>. </li>
<li> Configurer le serveur mail. Ça, c'est juste un fichier où il faut mettre un peu de texte. Il suffit presque d'un copier/coller (oh c'est vilain !).</li>
<li> Ajouter un utilisateur. Vous n'avez qu'à entrer "adduser". Votre serveur peut alors envoyer et recevoir du courriel.</li></ul><p>Vous vous dîtes peut-être que c'est difficile tout ça. Mais pouvez-vous indiquer quelle étape est si compliquée que ça ? Une par une, ça se fait très bien.</p>

<p>On peut bien sûr aller plus loin, mais c'est facultatif. Par exemple :</p>

<ul><li> Ajouter le support de l'IMAP si on veut utiliser thunderbird.</li>
<li> Ajouter un antispam</li>
<li> Faire des démarches pour ne pas être considéré comme un spam lorsqu'on écrit.</li></ul><p>Bon, j'ai peut-être un peu grossi le traît. Toutefois, je pense que ça vaut vraiment le coup d'essayer si vous hésitez un peu. N'hésitez pas à jeter un oeil <a href="http://https://yeuxdelibad.net/Blog//ah/#toc37">ici</a> pour davantage de détails.</p>
<p><img src="media/0d200000.a17c14dbfc42f0936cee56ed7a9b3b31" data-original-source="http://cdn.libravatar.org/avatar/a17c14dbfc42f0936cee56ed7a9b3b31" alt="Gravatar de Thuban" class="gravatar" /><br/><i>Original post of <a href="https://yeuxdelibad.net/Blog/?d=2017/01/31/18/00/36-service-de-mail-tres-prive" title="Visit the source">Thuban</a>.Votez pour ce billet sur <a href="http://www.planet-libre.org" title="Aller sur le planet">Planet Libre</a>.</i></p>


title: Tuxicoman : Passage de Cyanogen à LineageOS
uri: Tuxicoman-Passage-de-Cyanogen-à-LineageOS
feed_id:
https://tuxicoman.jesuislibre.net/2017/02/passage-de-cyanogen-a-lineageos.html?pk_campaign=feed&amp;pk_kwd=passage-de-cyanogen-a-lineageos

url:
https://tuxicoman.jesuislibre.net/2017/02/passage-de-cyanogen-a-lineageos.html?pk_campaign=feed&amp;pk_kwd=passage-de-cyanogen-a-lineageos

content:
<p><img src="media/06c83025.company_logo.png" data-original-source="http://wiki.lineageos.org/images/company_logo.png" width="193" height="40"></p>
<p>Voici une procédure de réinstallation propre de <a href="http://lineageos.org/">LineageOS</a> en conservant les applis de son ancienne rom (ici Cyanogenmod, mais je pense ca marche pour d’autres aussi)</p>
<ol><li>Installer <a href="https://f-droid.org/repository/browse/?fdfilter=Oandbackup&amp;fdid=dk.jens.backup">Oandbackup depuis Fdroid</a> et faire une sauvegarde complète de ses applications sur la mémoire interne du téléphone (dossier oandbackup) . Pensez à cocher la case dans les options pour copier faire une copie de l’APK de oandbackup dans le dossier de sauvegarde :)</li>
<li>Télécharger une nightly récente sur <a href="https://download.lineageos.org/">https://download.lineageos.org/</a></li>
<li>Télécharger l’utilitaire « su » permettant l’accès root <a href="https://download.lineageos.org/extras">https://download.lineageos.org/extras</a></li>
<li>Mettre ces fichiers zip sur la carte SD</li>
<li>Redémarrer en mode recovery (<a href="https://twrp.me/">TWRP</a>)</li>
<li>Effacer (« Wipe ») dalvik, system, data, cache . Gardez Internal storage !!!</li>
<li>Installez le zip de la rom, puis le zip de « su »</li>
<li>Redémarrez le téléphone. Ca va être long, plusieurs minutes à contempler l’animation de démarrage de LineageOS.</li>
<li>Réinstaller Oandbackup depuis l’APK qu’on a laissé sur la mémoire interne.</li>
<li>Restaurer toutes les applications depuis Oandbackup.</li>
</ol><p>Et c’est fini !</p>
<p>J’ai testé sur un <a href="https://tuxicoman.jesuislibre.net/2016/04/installer-cyanogenmod-sur-un-nexus-5x.html">Nexus 5X qui était auparavant sur Cyanogen 14.1</a>.</p>
<p>Le seul truc qui n’a pas marché chez moi fut la restauration des comptes sur l’appareil. En gros si le compte était géré par l’application, pas de soucis, il a bien été restauré. Par contre, si il était géré au niveau du téléphone (Paramètres->Comptes) alors j’ai dû le recréer.</p>
<p>Ce qui est cool, c’est que LineageOS intègre le dernier Android en date (7.1.1) et déjà les <a href="https://tuxicoman.jesuislibre.net/2017/01/8859.html">correctifs de sécurité de Google de Janvier 2017 (une centaine !)</a></p>
<h3>Related Posts:</h3>
<ul><li><a href="https://tuxicoman.jesuislibre.net/2017/01/yalp-store-telechargez-les-applications-du-google-play-store-sans-google-apps.html" title="Yalp Store : téléchargez les applications du Google Play Store sans Google Apps">Yalp Store : téléchargez les applications du Google Play Store sans Google Apps</a></li>
<li><a href="https://tuxicoman.jesuislibre.net/2014/01/android-kitkat-en-route-vers-bigbrother.html" title="Android KitKat : en route vers BigBrother">Android KitKat : en route vers BigBrother</a></li>
<li><a href="https://tuxicoman.jesuislibre.net/2013/05/pourquoi-faut-il-se-mefier-des-applications-de-whispersystem.html" title="Pourquoi faut-il se méfier des applications de Whispersystem ?">Pourquoi faut-il se méfier des applications de Whispersystem ?</a></li>
<li><a href="https://tuxicoman.jesuislibre.net/2013/05/cyanogen-10-1-rc2.html" title="Cyanogen 10.1 RC2">Cyanogen 10.1 RC2</a></li>
<li><a href="https://tuxicoman.jesuislibre.net/2012/11/cyanogenmod-10-est-sortie.html" title="CyanogenMod 10 est sortie">CyanogenMod 10 est sortie</a></li>
</ul><img src="https://espion.jesuislibre.net/piwik.php?idsite=1&amp;rec=1&amp;url=https%3A%2F%2Ftuxicoman.jesuislibre.net%2F2017%2F02%2Fpassage-de-cyanogen-a-lineageos.html%3Fpk_campaign%3Dfeed%26pk_kwd%3Dpassage-de-cyanogen-a-lineageos&amp;action_name=Passage+de+Cyanogen+%C3%A0+LineageOS&amp;urlref=https%3A%2F%2Ftuxicoman.jesuislibre.net%2Ffeed" width="0" height="0" alt="">
<p><img src="media/a4176171.d01ce01523a0434fc1c413922f7fd8a2" data-original-source="http://cdn.libravatar.org/avatar/d01ce01523a0434fc1c413922f7fd8a2" alt="Gravatar de Tuxicoman" class="gravatar" /><br/><i>Original post of <a href="https://tuxicoman.jesuislibre.net/2017/02/passage-de-cyanogen-a-lineageos.html?pk_campaign=feed&amp;pk_kwd=passage-de-cyanogen-a-lineageos" title="Visit the source">Tuxicoman</a>.Votez pour ce billet sur <a href="http://www.planet-libre.org" title="Aller sur le planet">Planet Libre</a>.</i></p>
<p><div class="similar-block"><h3>Articles similaires</h3><ul><li>Tuxicoman : <a href="">Yalp Store : t&eacute;l&eacute;chargez les applications du Google Play Store sans Google Apps</a> (04/01/2017)</li><li>Tuxicoman : <a href="">CyanogenMod 10 est sortie</a> (15/11/2012)</li><li>Tuxicoman : <a href="">Cyanogen 10.1 RC2</a> (12/05/2013)</li><li>Tuxicoman : <a href="">Pourquoi faut-il se m&eacute;fier des applications de Whispersystem ?</a> (18/05/2013)</li><li>Tuxicoman : <a href="">Real APK Leecher : T&eacute;l&eacute;charger les APK du Google Play</a> (06/07/2013)</li></ul></div></p>


feed_id: https://raspbian-france.fr/comment-overclocker-raspberrypi-3/
title: RaspbianFrance : Comment overclocker la Raspberry Pi 3 (et la Raspberry Pi 2)
uri: RaspbianFrance-Comment-overclocker-la-Raspberry-Pi-3-(et-la-Raspberr
url: https://raspbian-france.fr/comment-overclocker-raspberrypi-3/
content:
<p>Suite aux nombreuses demandes de la communauté pour améliorer les performances de la Raspberry pi 3 nous avons décidé d’écrire un tutoriel pour vous apprendre comment overclocker une Raspberry pi 3.</p>
<h2>Pourquoi overclocker une Raspberry Pi 3 ?</h2>
<p>Si la Raspberry Pi 3 a largement amélioré la puissance du processeur par rapport aux modèles précédents, cela peut néanmoins rester insuffisant pour certains usages.</p>
<p><strong>En overclockant votre Raspberry Pi, vous pourrez améliorer encore un peu ses performances</strong> et permettre au processeur d’atteindre des fréquences de 1.5 GHz, contre seulement 1.2 GHz par défaut.</p>
<p>La puissance ainsi récupérée peut par exemple être utile lorsqu’il s’agit d’améliorer la fluidité des jeux un peu trop gourmands, tel que Minecraft, ou encore lors de la lecture de vidéos.</p>
<h2>Le matériel nécessaire pour overclocker la Raspberry Pi 3</h2>
<p>Si les modifications pour overcloker une Raspberry Pi sont essentiellement logicielles, ces modifications ont néanmoins un véritable impact au niveau physique qu’il convient de prendre en compte.</p>
<p>Premier point important, <strong>augmenter la puissance de calcul du processeur entraîne un risque de surchauffe,</strong> ce qui pourrait être dangereux pour la Raspberry Pi, mais aussi tout ce qui l’entoure, puisque certains ont pu mesurer des pointes de chaleur à près de 100°C !</p>
<p>Second point à prendre en compte, <strong>augmenter la puissance de calcul du processeur entraîne également une augmentation de sa consommation d’énergie,</strong> ce qui pourrait poser problème si l’alimentation électrique de la Raspberry Pi n’est pas suffisamment performante.</p>
<p>Si vous souhaitez overclocker votre Raspberry Pi vous devrez donc vous équiper de deux accessoires indispensables :</p>
<ul><li>Une alimentation de bonne qualité (nous vous recommandons une alimentation 5v 0.3A, <a href="https://raspbian-france.fr/recommends/alimentation-raspberry-pi-3/" target="default" rel="nofollow">trouvable par exemple ici sur Amazon</a>)</li>
<li>Un système de refroidissement. De nombreuses solutions existent, mais toutes ne se valent pas. Comme overclocker une Raspberry Pi 3 augmente fortement sa température, nous vous conseillons de vous orienter vers un système mettant en œuvre <strong>à la fois un refroidissement passif (<a href="https://raspbian-france.fr/recommends/dissipateur-thermique/" target="default" rel="nofollow">dissipateur thermique</a>), et un refroidissement actif (<a href="https://raspbian-france.fr/recommends/ventilateur-raspberry-pi/" target="default" rel="nofollow">ventilateur</a>).</strong> Vous pouvez pour cela trouver chez Amazon <a href="https://raspbian-france.fr/recommends/kit-refroidissement-raspberry-pi/" target="default" rel="nofollow">des kits comme celui-ci</a> proposant des boîtiers adaptés et livrés avec des ventilateurs et supportant l’ajout de dissipateurs thermiques.</li>
</ul><p> </p>
<div><a href="https://raspbian-france.fr/recommends/kit-refroidissement-raspberry-pi/" target="_blank" rel="nofollow"><img src="media/f802dd70.boitier_ventilateur_raspberry_pi-e1485944687445.jpg" data-original-source="https://raspbian-france.fr/wp-content/uploads/2017/02/boitier_ventilateur_raspberry_pi-e1485944687445.jpg" alt="Boitier de refroidissement d'une raspberry pi" width="500" height="500"></a><p>Il existe <a href="https://raspbian-france.fr/recommends/kit-refroidissement-raspberry-pi/" target="_blank" rel="nofollow">des boîtiers pour la Raspberry Pi spécialement conçus pour utiliser un ventilateur</a> et supportant l’ajout de dissipateurs thermiques.</p></div>
<p>Avec ces quelques précautions, <strong>vous devriez pouvoir overclocker votre Raspberry Pi sans danger.</strong></p>
<h2>Modifier le fichier de configuration pour overclocker la Raspberry Pi 3</h2>
<p>Maintenant que vous avez tout le matériel en main passons aux choses sérieuses !</p>
<p>S’il était relativement simple d’overclocker les précédents modèles de la Raspberry Pi (il suffisait d’utiliser la commande <code>sudo raspi-config</code>), <strong>cela est désormais plus compliqué avec la Raspberry Pi 3, et il est maintenant nécessaire de mettre les mains dans les fichiers de configuration.</strong></p>
<p>Pour overclocker la Raspberry Pi 3, nous allons modifier le fichier <code>/boot/config.txt</code>, lequel contient un certain nombre de réglages chargés au démarrage de la Raspberry Pi et permettant de déterminer son comportement, et notamment l’utilisation du processeur.</p>
<p>Afin de modifier ce fichier, vous devez donc démarrer une fenêtre de terminal sur votre Raspberry Pi, et taper la commande suivante :</p>
<pre>sudo nano /boot/config.txt</pre>
<p>Cette commande va ouvrir le fichier <code>/boot/config.txt</code> avec l’éditeur de texte <code>nano</code>, et la commande <code>sudo</code> va demander au système d’exécuter cette action avec un compte administrateur (le <code>/boot/config.txt</code> étant très important, seuls les comptes administrateur peuvent le modifier).</p>
<p>Maintenant que le fichier est ouvert, vous allez devoir le modifier pour qu’il contienne les lignes suivantes :</p>
<pre>core_freq=500 #Fréquence du GPU

arm_freq=1500 #Fréquence du CPU

over_voltage=4 #Puissance électrique envoyée au CPU/GPU (4 = 1.3V)

disable_splash=1 #Désactive l’affichage de l’écran d’alerte électrique</pre>
<p>Notez que certaines lignes existent déjà probablement dans des versions différentes, dans ce cas, modifiez-les, et assurez-vous qu’elles ne soient pas commentées (c’est-à-dire que la ligne ne commence pas par un <code>#</code>).</p>
<p>Une fois que vous avez fait l’ensemble des modifications, enregistrez le fichier en utilisant le raccourci <code>Ctrl+o</code> et quittez le fichier avec le raccourci <code>Ctrl+x</code>.</p>
<p>Dernière étape, il ne vous reste plus qu’à redémarrer votre Raspberry Pi avec la commande <code>reboot</code>.</p>
<h2>Vérifier si l’overclock est activé</h2>
<p>Une fois que votre Raspberry Pi a fini son redémarrage, <strong>il ne vous reste plus qu’à vérifier qu’elle est bien overclockée.</strong></p>
<p>Pour cela, il vous suffit de lancer la commande <code>lscpu</code>, celle-ci permet d’obtenir des informations sur le processeur. Si vous trouvez une valeur de 1500 pour <code>CPU max MHz</code>, félicitations, vous venez d’overclocker votre Raspberry Pi 3 !</p>
<h2>Bonus, overclocker la Raspberry Pi 2</h2>
<p>Petit bonus pour ceux qui voudraient améliorer les performances de leur Raspberry Pi 2, ou autres modèles plus anciens.</p>
<p>Cette fois, la manipulation est beaucoup plus simple, puisqu’il vous sera possible d’utiliser l’interface graphique de <code>raspi-config</code>. Procédez donc de la façon suivante :</p>
<p>Dans un terminal sur la Raspberry Pi, lancez la commande <code>sudo raspi-config</code></p>
<p>Sélectionnez l’option <code>Overclock</code>, un message vous informant des dangers de l’overclock apparait, faites <code>ok</code></p>
<p>Choisissez l’overclock qui vous convient (par exemple 1000MHz). Un message vous informant du changement apparait, faites <code>ok</code></p>
<p>Choisissez <code>Finish</code>, un message vous demandera si vous souhaitez redémarrer, faites <code>ok</code>.</p>
<p>Voilà, votre Raspberry Pi est overclockée.</p>
<p><strong>Attention, même si la Raspberry Pi 2 est overclockée de façon moins poussée que la 3, elle a tout de même tendance à chauffer et vous avez intérêt à prendre les mêmes précautions qu’avec la Raspberry Pi 3.</strong></p>
<h2>Conclusion</h2>
<p>Vous savez désormais comment overclocker votre Raspberry Pi 3, et il ne vous reste plus qu’à profiter de ce petit regain de puissance.</p>
<p>Pour autant, n’oubliez pas que cette pratique amène la Raspberry Pi à fortement chauffer, ce qui peut diminuer sa durée de vie. <strong>Si vous voulez limiter les risques de crash et de destruction, équipez-vous en conséquence !</strong></p>
<p>Sachez également que vous pouvez configurer encore d’avantage l’utilisation du processeur. Vous trouverez tous les paramètres utilisables <a href="https://www.raspberrypi.org/documentation/configuration/config-txt.md" target="_blank">ici sur le site de la fondation.</a></p>
<p>Cet article <a rel="nofollow" href="https://raspbian-france.fr/comment-overclocker-raspberrpi-3/">Comment overclocker la Raspberry Pi 3 (et la Raspberry Pi 2)</a> est apparu en premier sur <a rel="nofollow" href="https://raspbian-france.fr/">Raspbian-France</a>.</p>
<p><img src="media/70caad1d.7cdb6ce9a9a728b66bcfdc9db75842c8" data-original-source="http://cdn.libravatar.org/avatar/7cdb6ce9a9a728b66bcfdc9db75842c8" alt="Gravatar de RaspbianFrance" class="gravatar" /><br/><i>Original post of <a href="https://raspbian-france.fr/comment-overclocker-raspberrypi-3/" title="Visit the source">RaspbianFrance</a>.Votez pour ce billet sur <a href="http://www.planet-libre.org" title="Aller sur le planet">Planet Libre</a>.</i></p>
<p><div class="similar-block"><h3>Articles similaires</h3><ul><li>RaspbianFrance : <a href="">Comment mettre &agrave; jour Raspbian pour la Raspberry Pi 2</a> (14/02/2015)</li><li>RaspbianFrance : <a href="">Contr&ocirc;lez votre Raspberry Pi avec SSH depuis votre ordinateur</a> (03/02/2016)</li><li>RaspbianFrance : <a href="">Installer un serveur Minecraft sur votre Raspberry Pi 2&nbsp;!</a> (07/03/2015)</li><li>RaspbianFrance : <a href="">Affichage HDMI de la Raspberry Pi qui ne marche pas, la solution !</a> (21/07/2015)</li><li>RaspbianFrance : <a href="">Transformer sa Raspberry Pi en serveur GitHub avec GitLab</a> (22/03/2016)</li></ul></div></p>


feed_id: http://feedproxy.google.com/~r/QuestCeQuonSeFaitCh/~3/VPXXdrwgNFA/
title: Littlewing : Création d’une alerte dans ELASTICSEARCH
uri: Littlewing-Création-d-une-alerte-dans-ELASTICSEARCH
url: http://feedproxy.google.com/~r/QuestCeQuonSeFaitCh/~3/VPXXdrwgNFA/
content:
<p>Après avoir <a href="http://blog.touret.info/blog/2017/01/24/recherche-des-erreurs-dun-esb-dans-elasticsearch/?utm_source=rss&amp;utm_medium=rss">crée la requête dans ELASTICSEARCH me permettant de récupérer les services ESB qui ne seraient pas dans un état norma</a>l, il ne me reste plus qu’à gérer l’alerte avec <a href="https://www.elastic.co/fr/products/x-pack?utm_source=rss&amp;utm_medium=rss">XPACK</a></p>
<p>J’ai modifié ma requête pour en faire <a href="https://www.elastic.co/guide/en/elasticsearch/reference/current/search-template.html?utm_source=rss&amp;utm_medium=rss">un template</a>.</p>
<div> <pre data-start="1" data-line-offset="0"><code>POST /_search/template/esb-alert-search
{
  "template":{
  "size": 0,
  "query": {
    "range": {
      "JOBSTART": {
        "gte": "{{date_min}}",
        "lte": "now"
      }
    }
  },
  "aggs": {
    "services": {
      "terms": {
        "field": "DEPLOYMENT_NAME"
      },
      "aggs": {
        "success": {
          "filter": {
            "term": {
              "STATUS": "sucess"
            }
          }
        },
        "errors": {
          "filter": {
            "term": {
              "STATUS": "error"
            }
          }
        },
        "percentage": {
          "bucket_script": {
            "buckets_path": {
              "numberOfSuccess": "success>_count",
              "numberOfErrors": "errors>_count"
            },
            "script": "params.numberOfErrors /(params.numberOfErrors+params.numberOfSuccess)"
          }
        },
        "services_error_filtered": {
          "bucket_selector": {
            "buckets_path": {
              "threesold": "percentage"
            },
            "script": "params.threesold > {{threeshold}}"
          }
        }
      }
    }
  }
  }
}</code></pre> <div> </div> </div>
<p>Ensuite, j’ai crée l’alerte qui loggue l’alerte dans les logs d’ELASTICSEARCH et peuple un index dédié aux alertes. Bien évidemment, on peut appeler un service REST pour créer un ticket dans un BUGTRACKER par exemple.</p>
<div> <pre data-start="1" data-line-offset="0"><code>put _xpack/watcher/watch/esb-alert
{
  "trigger": {
    "schedule": {
      "interval": "30s"
    }
  },
  "input": {
    "search": {
      "request": {
        "indices": [
          "monitor2"
        ],
        "template": {
          "stored": "esb-alert-search",
          "params": {
            "date_min": "now-1d/d",
            "threeshold": "0.5"
          }
        }
      }
    }
  },
  "condition": {
    "script": {
      "inline": "return ctx.payload.aggregations.services.buckets.size() > 0"
    }
  },
  "actions": {
    "log": {
      "logging": {
        "level": "warn",
        "text": "Errors have occured in the logs"
      }
    }
  }
}</code></pre> <div> </div> </div>
<p> </p>
<p>Maintenant les alertes sont disponibles dans mon index et visibles par exemple via un rapport KIBANA <img src="https://s.w.org/images/core/emoji/2.2.1/72x72/1f642.png?utm_source=rss&amp;utm_medium=rss" alt="🙂"></p>
<img src="http://feeds.feedburner.com/~r/QuestCeQuonSeFaitCh/~4/VPXXdrwgNFA" height="1" width="1" alt="">
<p><img src="media/1f2fb0ec.e9cfa2c2c1ea2abd510c6053457286f0" data-original-source="http://cdn.libravatar.org/avatar/e9cfa2c2c1ea2abd510c6053457286f0" alt="Gravatar de Littlewing" class="gravatar" /><br/><i>Original post of <a href="http://feedproxy.google.com/~r/QuestCeQuonSeFaitCh/~3/VPXXdrwgNFA/" title="Visit the source">Littlewing</a>.Votez pour ce billet sur <a href="http://www.planet-libre.org" title="Aller sur le planet">Planet Libre</a>.</i></p>


feed_id: https://yeuxdelibad.net/Blog/?d=2017/02/01/11/11/11-un-gui-en-python-tp-4-lapparence-du-gui
title: Thuban : Un GUI en python : TP 4, l'apparence du GUI
uri: Thuban-Un-GUI-en-python-TP-4-l-apparence-du-GUI
url: https://yeuxdelibad.net/Blog/?d=2017/02/01/11/11/11-un-gui-en-python-tp-4-lapparence-du-gui
content:
<p>Jusqu'à présent, nous ne nous sommes pas occupés de l'apparence de notre application. Et vous l'avez sans doute remarqué, ce n'est pas très joli.<br>
On peut heureusement améliorer légèrement les choses avec la bibliothèque <code>ttk</code>.</p>

<p>On ajoute alors ceci au début de notre code :</p>

<pre><code>from tkinter import ttk</code></pre>

<p>Nous allons ainsi pouvoir utiliser des widgets améliorés. Pour cela, rien de compliqué, on a juste à ajouter <code>ttk</code> devant. Ainsi, <code>Button</code> devient <code>ttk.Button</code>.</p>

<p>Pour activer un autre thème, il faut insérer ce bout de code pour choisir entre "clam", "alt", "default" et "classic" :</p>

<pre><code>#('clam', 'alt', 'default', 'classic')
style = ttk.Style()
style.theme_use("clam")
</code></pre>

<p>Vous pouvez voir ci-dessous ce que ça change avec les interfaces avant/après côte à côte.</p>

<div><img src="media/f666f293.ttk.png" data-original-source="http://https//yeuxdelibad.net/Blog//Blog/img/22/ttk.png" alt=""></div>

<p>Notez que l'on peut aller encore plus loin en modifiant les couleurs, polices et bordures. Cela devient vite compliqué, mais c'est faisable. Par exemple :</p>

<pre><code>theme = {
        'disabledfg':"#eeeeee",
        'dark': "#777777",
        'darker': "#333333",
        'darkest': "#777777",
        'lighter': "#777777",
        'lightest': "#ffffff",
        'selectbg': "#41B1FF",
        'selectfg': "#ffffff",
        'foreground': "#111111",
        'background': "#dddddd",
        'borderwidth': 1,
        'font': ("Droid Sans", 10)
        }

    style.configure(".", padding=5, relief="flat", 
            background=theme['background'],
            foreground=theme['foreground'],
            bordercolor=theme['darker'],
            indicatorcolor=theme['selectbg'],
            focuscolor=theme['selectbg'],
            darkcolor=theme['dark'],
            lightcolor=theme['lighter'],
            troughcolor=theme['darker'],
            selectbackground=theme['selectbg'],
            selectforeground=theme['selectfg'],
            selectborderwidth=theme['borderwidth'],
            font=theme['font']
            )

    style.map(".",
        foreground=[('pressed', theme['darkest']), ('active', theme['selectfg'])],
        background=[('pressed', '!disabled', 'black'), ('active', theme['lighter'])]
        )

    style.configure("TButton", relief="flat")
    style.map("TButton", 
        background=[('disabled', theme['disabledfg']), ('pressed', theme['selectbg']), ('active', theme['selectbg'])],
        foreground=[('disabled', theme['disabledfg']), ('pressed', theme['selectfg']), ('active', theme['selectfg'])],
        bordercolor=[('alternate', theme['selectbg'])],
        )
</code></pre>

<p>Ça ressemble maintenant à ça :</p>

<div><img src="media/a3a5f973.ttk3.png" data-original-source="http://https//yeuxdelibad.net/Blog//Blog/img/3b/ttk3.png" alt=""></div>

<p>J'ai tenté de rassembler les couleurs ensemble au cas où vous voudriez bricoler. Afin d'aller plus loin, une bonne idée est d'aller fouiller dans le fichier de thème par défaut. Pour moi, il s'agit de <code>/usr/local/lib/tcl/tk8.5/ttk/clamTheme.tcl</code>.</p>

<p>Même si ce n'est pas notre priorité, on voit qu'il est possible de faire un peu tout ce que l'on veut au niveau de l'apparence.</p>

<p>Ça sera tout pour aujourd'hui. La prochaine fois, on parlera des évènements afin de contrôler la visionneuse au clavier.</p>

<p>Et voici le code final (avec un petit bug pour le défilement d'images corrigé).</p>

<pre><code>#!/usr/bin/env python3.4
# -*- coding:Utf-8 -*- 

import os
import sys
import mimetypes
from tkinter import *
from tkinter import filedialog
from tkinter import ttk
from PIL import Image, ImageTk

img_extensions = ('.png', '.PNG', '.jpg', '.JPG', '.gif', '.GIF')


### Fonctions ###
def pick_img():
    img_path = filedialog.askopenfilename(\\
                initialdir=(os.path.expanduser("~")),\\
                filetypes=[('Images', img_extensions), ('Tout', '.*')],\\
                title="Image à ouvrir",\\
                parent=w)
    return img_path

def open_img(img_container, img_path):
    # Ouverture de l'image
    image = Image.open(img_path)
    # Dimensions de l'écran : 
    gap = 100 # marge par rapport aux bords de l'écran
    screen_width = w.winfo_screenwidth() - gap
    screen_height = w.winfo_screenheight() - gap

    if image.width > screen_width : 
        image = image.resize((screen_width, int(image.height * screen_width / image.width)), Image.ANTIALIAS)
    if image.height > screen_height :   
        image = image.resize((int(image.width * screen_height / image.height), screen_height), Image.ANTIALIAS)

    # Chargement de l'image en mémoire
    img = ImageTk.PhotoImage(image)

    # On met l'image dans le conteneur
    img_container.configure(image = img)
    # On s'assure que l'image sera bien gardée en mémoire
    img_container.image = img
    # Ainsi que son emplacement
    img_container.path = img_path

def chg_img(img_container):
    # change l'image affichée
    i = pick_img()
    if i: # On a bien choisi une image
        open_img(img_container,i)

def defile_img(img_container, sens):
    """
    On fait défiler les images dans un sens ou dans l'autre
    sens == "prev" : précédent,
    sens == "next" : suivant,

    On a besoin de passer le conteneur de l'image
    en argument pour retrouver l'emplacement de l'image courante.
    """
    # Emplacement de l'image actuelle : 
    cur_path = img_container.path
    # Dossier de l'image actuelle : 
    d = os.path.dirname(cur_path)
    # Liste des images
    l = os.listdir(d)

    # on ne garde que les images
    # "{}/{}".format(d,i) : on met le chemin complet vers l'image 
    # for i in l :pour toutes les images dans la liste l
    # if os.path.splitext(i)[1] in img_extensions : 
    #     si l'extension de l'image est dans la liste des extensions
    img_list = [ "{}/{}".format(d,i) for i in l if os.path.splitext(i)[1] in img_extensions ]

    # On met dans l'ordre
    img_list = sorted(img_list)

    # On ne fait tourner que si il y a plusieurs images
    if len(img_list) > 1:
        # on retrouve la position de l'image actuelle
        pos = img_list.index(cur_path)

        if sens == "next":
            newpos = pos + 1
            if newpos > len(img_list) -1: # fin de liste
                newpos = 0
        elif sens == "prev":
            newpos = pos - 1 # début de liste
            if newpos < 0:
                newpos = len(img_list) - 1
        open_img(img_container, img_list[newpos])

def change_colors(style):
    theme = {
        'disabledfg':"#eeeeee",
        'dark': "#777777",
        'darker': "#333333",
        'darkest': "#777777",
        'lighter': "#777777",
        'lightest': "#ffffff",
        'selectbg': "#41B1FF",
        'selectfg': "#ffffff",
        'foreground': "#111111",
        'background': "#dddddd",
        'borderwidth': 1,
        'font': ("Droid Sans", 10)
        }

    style.configure(".", padding=5, relief="flat", 
            background=theme['background'],
            foreground=theme['foreground'],
            bordercolor=theme['darker'],
            indicatorcolor=theme['selectbg'],
            focuscolor=theme['selectbg'],
            darkcolor=theme['dark'],
            lightcolor=theme['lighter'],
            troughcolor=theme['darker'],
            selectbackground=theme['selectbg'],
            selectforeground=theme['selectfg'],
            selectborderwidth=theme['borderwidth'],
            font=theme['font']
            )

    style.map(".",
        foreground=[('pressed', theme['darkest']), ('active', theme['selectfg'])],
        background=[('pressed', '!disabled', 'black'), ('active', theme['lighter'])]
        )

    style.configure("TButton", relief="flat")
    style.map("TButton", 
        background=[('disabled', theme['disabledfg']), ('pressed', theme['selectbg']), ('active', theme['selectbg'])],
        foreground=[('disabled', theme['disabledfg']), ('pressed', theme['selectfg']), ('active', theme['selectfg'])],
        bordercolor=[('alternate', theme['selectbg'])],
        )


### tkv ###

# Notre fenêtre principale
w = Tk()
w.title("tkv : visionneuse d'images") # Un titre
w.configure(background='#000000')     # Fond noir

#('clam', 'alt', 'default', 'classic')
style = ttk.Style()
style.theme_use("clam")
change_colors(style)

# Un conteneur dans la fenêtre
mainframe = ttk.Frame(w)
mainframe.pack(fill=BOTH,expand=True, padx=15, pady=15)

# Ouverture de l'image
img_path=""
if len(sys.argv) == 2:
    # On a une image en agument
    img_path = sys.argv[1]

if not os.path.isfile(img_path):
    # On va chercher une image sur le disque
    img_path = pick_img()
    if not img_path: # L'utilisateur n'a choisi aucune image, on quitte
        sys.exit(0)

    # Est-ce un fichier valide ?
mimtyp = mimetypes.guess_type(img_path)[0] # i.e 'image/jpeg'
if not mimtyp or "image" not in mimtyp :
    # Il n'y a pas le mot "image" dans le mimetype
    from tkinter import messagebox
    messagebox.showerror("Fichier invalide", "Le fichier demandé n'est pas une image.")
    sys.exit(1)

# Conteneur de l'image
img_widget = ttk.Label(mainframe)
img_widget.pack()

# Insertion de l'image dans le conteneur.
open_img(img_widget, img_path)

# Frame contenant les boutons en bas de la fenêtre : 
btnbox = ttk.Frame(mainframe)
btnbox.pack()

# Bouton ouvrir
b_open = ttk.Button(btnbox, text="Ouvrir", width=12, command=lambda: chg_img(img_widget))

# Boutons suivant et précédent
b_next = ttk.Button(btnbox, text="Suivant →", width=12, command=lambda: defile_img(img_widget, "next"))
b_prev = ttk.Button(btnbox, text="← Précédent", width=12, command=lambda: defile_img(img_widget, "prev"))

# On affiche les boutons dans la boîte les uns à côté des autres
b_open.pack(side=LEFT)
b_prev.pack(side=LEFT)
b_next.pack(side=LEFT)

# Démarrage du programme
w.mainloop()

sys.exit(0)
</code></pre>
<p><img src="media/0d200000.a17c14dbfc42f0936cee56ed7a9b3b31" data-original-source="http://cdn.libravatar.org/avatar/a17c14dbfc42f0936cee56ed7a9b3b31" alt="Gravatar de Thuban" class="gravatar" /><br/><i>Original post of <a href="https://yeuxdelibad.net/Blog/?d=2017/02/01/11/11/11-un-gui-en-python-tp-4-lapparence-du-gui" title="Visit the source">Thuban</a>.Votez pour ce billet sur <a href="http://www.planet-libre.org" title="Aller sur le planet">Planet Libre</a>.</i></p>
<p><div class="similar-block"><h3>Articles similaires</h3><ul><li>Thuban : <a href="">Programmer un GUI en python -- Pourquoi TkInter ?</a> (04/01/2017)</li><li>Thuban : <a href="">Un GUI en python : TP 1, une visionneuse d&#039;images</a> (11/01/2017)</li><li>Thuban : <a href="">Un GUI en python : TP 2, des dialogues</a> (18/01/2017)</li><li>Thuban : <a href="">Un GUI en python : TP 3, la guerre des boutons</a> (25/01/2017)</li></ul></div></p>


feed_id: https://mozillazine-fr.org/firefox-devtools-ce-que-vous-devez-savoir/
title: mozillaZine-fr : Firefox Devtools : ce que vous devez savoir
uri: mozillaZine-fr-Firefox-Devtools-ce-que-vous-devez-savoir
url: https://mozillazine-fr.org/firefox-devtools-ce-que-vous-devez-savoir/
content:
<p>Nous traduisons ici quelques passages de l’article rétrospectif « <a href="https://hacks.mozilla.org/2017/01/devtools-what-you-need-to-know/">Devtools: What you need to know</a> » publié hier sur le blog Mozilla Hacks par <a href="http://patrickbrosset.com/" rel="external me">Patrick Brosset</a>.</p>
<blockquote><p>Beaucoup de choses ont changé dans les outils pour développeurs de Firefox l’année passée. Nous avons travaillé dur à la refonte de nos outils et ça a commencé à payer. Nous avons revu certaines choses qui devraient rendre la vie des développeurs web plus facile.</p>
<p>Nous avons livré un<strong> nouvel outil d’inspection des grilles <abbr lang="en" title="Cascading style sheets">CSS</abbr></strong>, un premier dans son genre (merci à <a href="https://twitter.com/gabrielluong" target="_blank">gabrielluong</a>, <a href="https://twitter.com/helenvholmes" target="_blank">helenvholmes</a>, et <a href="https://twitter.com/jensimmons?lang=en" target="_blank">jensimmons</a>).</p>
<p><em>(NdT : La vidéo ci-dessous est en anglais mais visuellement explicite)</em></p>
<p><iframe width="500" height="281" src="https://www.youtube.com/embed/hG8avHeD9fs?start=17&amp;feature=oembed" frameborder="0" allowfullscreen></iframe></p>
<p>Nous avons aussi livré <strong>une console complètement refaite, comme neuve.</strong> Elle n’est visible que dans <a href="http://nightly.mozfr.org/" hreflang="fr">Nightly</a> pour le moment, mais elle en bonne voie pour être activée partout très bientôt.</p>
<p>2016 était aussi l’année où nous avons livré notre toute <strong>nouvelle interface de débogueur</strong>. C’est quelque chose dont nous sommes fiers, et cela prépare l’arrivée de toujours plus d’outils géniaux en 2017.</p>
<p>Je suis personnellement très content de l’impact qu’a eu le fait de mettre ce projet sur <a href="https://github.com/devtools-html/debugger.html" target="_blank">GitHub</a>.</p>
<p>Et comme si ça ne suffisait pas, nous avons aussi livré le <strong>nouveau mode « Vue adaptative »</strong> (en anglais <a href="https://hacks.mozilla.org/2016/11/new-responsive-design-mode-rdm-lands-in-firefox-dev-tools/"><strong>responsive design mode</strong></a>) en novembre 2016. Non seulement, ce <em>RDM</em> a meilleure allure et fonctionne mieux, mais il y a de nouvelles fonctionnalités telles que la simulation de réseau lent.</p>
<p>En 2016, nous avons activement retiré tout le balisage <abbr lang="en" title="XML-based user interface language">XUL</abbr> non-standard, et le JavaScript spécifique à Firefox. L’inspecteur est maintenant un onglet normal de navigateur, <strong>entièrement en <abbr lang="en" title="Hypertext markup language">HTML</abbr> avec les <abbr lang="en" title="Application programming interface">API</abbr> web. </strong>Un beau travail de <a href="https://twitter.com/bgrins" target="_blank">bgrins</a>, <a href="http://twitter.com/juliandescottes" target="_blank">juliandescottes</a>, et <a href="https://github.com/tromey" target="_blank">tromey</a>.</p>
<p>Le panneau réseau a été entièrement nettoyé de tout code XUL et migré vers React grâce au travail de <a href="https://twitter.com/janodvarko" target="_blank">Honza</a>, <a href="https://github.com/RickyChien" target="_blank">rickychien</a>, <a href="https://github.com/steveck-chung" target="_blank">steveck</a>, <a href="https://github.com/gasolin" target="_blank">gasolin</a> et le contributeur <a href="https://twitter.com/jsnajdr" target="_blank">jsnajdr</a>.</p></blockquote>
<p><img src="media/31cea72e.39fcff259ddeccfa69dcb537c22fa1ad" data-original-source="http://cdn.libravatar.org/avatar/39fcff259ddeccfa69dcb537c22fa1ad" alt="Gravatar de mozillaZine-fr" class="gravatar" /><br/><i>Original post of <a href="https://mozillazine-fr.org/firefox-devtools-ce-que-vous-devez-savoir/" title="Visit the source">mozillaZine-fr</a>.Votez pour ce billet sur <a href="http://www.planet-libre.org" title="Aller sur le planet">Planet Libre</a>.</i></p>
<p><div class="similar-block"><h3>Articles similaires</h3><ul><li>mozillaZine-fr : <a href="">Une pr&eacute;sentation du gestionnaire d&rsquo;applications de Firefox OS</a> (16/10/2013)</li><li>mozillaZine-fr : <a href="">Mozilla appelle &agrave; tester Firefox pour Windows 8 sur tablette</a> (26/09/2013)</li><li>mozillaZine-fr : <a href="">Geeksphone Peak+ sous Firefox OS : bisbille entre Mozilla et Geeksphone</a> (26/07/2013)</li><li>mozillaZine-fr : <a href="">Une pr&amp;eacute;sentation du gestionnaire d&amp;rsquo;applications de Firefox OS</a> (16/10/2013)</li><li>mozillaZine-fr : <a href="">Mozilla appelle &amp;agrave; tester Firefox pour Windows 8 sur tablette</a> (26/09/2013)</li></ul></div></p>


feed_id: https://carlchenet.com/ledito-de-fevrier-2017/
title: Carl Chenet : L’édito de février 2017
uri: Carl-Chenet-L-édito-de-février-2017
url: https://carlchenet.com/ledito-de-fevrier-2017/
content:
<p>Après un départ d’année sur les chapeaux de roue, des vacances bien agréables sont venues ralentir la cadence des parutions des billets ce sur blog, vous l’aurez remarqué. Mais nous reprenons avec cet édito de février.</p>
<h2>FOSDEM 2017</h2>
<p>Tout d’abord je serai présent au <a href="https://fosdem.org/2017/">FOSDEM 2017</a>. Au plaisir de vous y rencontrer autour d’une bonne bière belge ou d’une tasse de thé pour discuter <img src="media/59af913d.1f642.png" data-original-source="https://s.w.org/images/core/emoji/2/72x72/1f642.png" alt="🙂"> J’aurai d’ailleurs quelques goodies LinuxJobs.fr à distribuer pour le coin « Emploi » du Fosdem.</p>
<p><a href="https://fosdem.org/2017"><img src="media/61a5354e.going_to_fosdem.png" data-original-source="https://carlchenet.com/wp-content/uploads/2017/02/going_to_fosdem.png" alt="going_to_fosdem" width="150" height="89"></a></p>
<h2>Coupure complète</h2>
<p>Malgré ce que je m’étais fixé et avais annoncé dans <a href="https://carlchenet.com/ledito-de-janvier-2017/">mon dernier édito</a>, j’ai été incapable de publier un billet pendant mes vacances. Gageons que cela m’aura permis de reprendre les forces nécessaires pour ré-attaquer de plus belle.</p>
<h2>Version 2 du Journal du hacker</h2>
<p>La nouvelle version du <a href="https://www.journalduhacker.net/">Journal du hacker</a> a été rendue publique ce samedi. C’est l’aboutissement d’un long travail d’équipe, avec en tâche de fond la volonté d’intégrer nos modifications concernant le support de l’internationalisation <a href="https://github.com/jcs/lobsters">au moteur</a> du site américain <a href="https://lobste.rs/">lobste.rs</a>, (qui est donc aussi le moteur du Journal du hacker), effort qui s’est malheureusement soldé par un échec, quand le développeur amont a cessé d’intégrer <a href="https://github.com/jcs/lobsters/pull/313">mes modifications</a>, sans explications (alors que l’opération avait commencé avec son accord bien sûr).</p>
<p><a href="https://www.journalduhacker.net/"><img src="media/88d7c669.logo-journal-du-hacker-300x88.png" data-original-source="https://carlchenet.com/wp-content/uploads/2015/07/logo-journal-du-hacker-300x88.png" alt="logo-journal-du-hacker" width="300" height="88" srcset="https://carlchenet.com/wp-content/uploads/2015/07/logo-journal-du-hacker-300x88.png 300w, https://carlchenet.com/wp-content/uploads/2015/07/logo-journal-du-hacker-768x225.png 768w, https://carlchenet.com/wp-content/uploads/2015/07/logo-journal-du-hacker-1024x299.png 1024w, https://carlchenet.com/wp-content/uploads/2015/07/logo-journal-du-hacker.png 1036w" sizes="(max-width: 300px) 100vw, 300px"></a></p>
<p> </p>
<p>Ayant déjà investi beaucoup d’énergie dans cet effort et vu que le principal frein de l’opération consistait à attendre les relectures de code (une semaine d’attente, puis deux, puis trois, puis plus rien…), j’ai été très déçu du refus implicite de continuer ce travail alors que nous étions dans les 30 ou 40% d’accomplissement de la tâche. S’en est suivi une période un peu indécise où je ne savais plus trop quoi faire jusqu’à ce que <a href="https://blog.journalduhacker.net/index.php?article70/soiree-pour-le-deuxieme-anniversaire-du-journal-du-hacker">l’anniversaire des deux ans du Journal du hacker</a> vienne me remotiver (merci à tous les présents !).</p>
<p>À partir de ce moment, j’ai essayé de conserver l’élan de motivation pour aller quasiment au bout de la tâche et qu’il ne nous reste plus qu’à passer en production. Seules les fêtes de Noël puis mes vacances sont venues ralentir la cadence. Et c’est aujourd’hui chose faite, et c’est une grande satisfaction pour toute l’équipe.</p>
<h2>LinuxJobs.fr</h2>
<p>Bientôt beaucoup de nouveautés au niveau de <a href="https://www.linuxjobs.fr/">LinuxJobs.fr</a>, le site d’emploi de la communauté du Logiciel Libre et Open Source. Après <a href="https://blog.linuxjobs.fr/index.php?article68/gestion-du-teletravail-dans-les-offres-de-linuxjobs-fr">la mise en avant des offres proposant du télétravail</a>, d’autres nouveautés vont se succéder, afin d’améliorer la consultation du site et côté recruteur le retour sur les annonces qu’ils postent.</p>
<div><a href="https://www.linuxjobs.fr/"><img src="media/e0904878.banner-linuxjobs-small.png" data-original-source="https://carlchenet.com/wp-content/uploads/2015/10/banner-linuxjobs-small.png" alt="LinuxJobs.fr, le site d'emploi de la communauté du Logiciel Libre, contribue au Logiciel Libre" width="655" height="138" srcset="https://carlchenet.com/wp-content/uploads/2015/10/banner-linuxjobs-small.png 655w, https://carlchenet.com/wp-content/uploads/2015/10/banner-linuxjobs-small-300x63.png 300w" sizes="(max-width: 655px) 100vw, 655px"></a><p>LinuxJobs.fr, le site d’emploi de la communauté du Logiciel Libre, contribue au Logiciel Libre</p></div>
<h2>À venir au cours de ce mois</h2>
<p>Plusieurs points restent à paufiner au niveau du Journal du hacker, qui vont se dévoiler au fur et à mesure de l’utilisation de la nouvelle version, par exemple au niveau des traductions. Les corrections suivront. Le travail autour de LinuxJobs.fr va également me prendre beaucoup de temps je pense.</p>
<p>Un mois qui s’annonce bien occupé, en somme <img src="media/59af913d.1f642.png" data-original-source="https://s.w.org/images/core/emoji/2/72x72/1f642.png" alt="🙂"></p>
<p><img src="media/46f73009.e1f1addc890668ce2561431b7be810bc" data-original-source="http://cdn.libravatar.org/avatar/e1f1addc890668ce2561431b7be810bc" alt="Gravatar de Carl Chenet" class="gravatar" /><br/><i>Original post of <a href="https://carlchenet.com/ledito-de-fevrier-2017/" title="Visit the source">Carl Chenet</a>.Votez pour ce billet sur <a href="http://www.planet-libre.org" title="Aller sur le planet">Planet Libre</a>.</i></p>
<p><div class="similar-block"><h3>Articles similaires</h3><ul><li>Carl Chenet : <a href="">Liens int&eacute;ressants Journal du hacker semaine #42</a> (16/10/2015)</li><li>Carl Chenet : <a href="">Liens int&eacute;ressants Journal du hacker semaine #43</a> (22/10/2015)</li><li>Carl Chenet : <a href="">Le Journal Du Hacker remplace le Journal Du Pirate</a> (23/07/2015)</li><li>Carl Chenet : <a href="">Le Journal du hacker choisit son logo !</a> (27/07/2015)</li><li>Carl Chenet : <a href="">Liens int&eacute;ressants Journal Du Hacker semaine #31</a> (31/07/2015)</li></ul></div></p>


title: Raphaël Hertzog : Élections présidentielles, logiciel libre et Charlotte Marchandise
uri: Raphaël-Hertzog-Élections-présidentielles-logiciel-libre-et-Char
feed_id:
https://raphaelhertzog.fr/2017/02/02/elections-presidentielles-logiciel-libre-et-charlotte-marchandise/

url:
https://raphaelhertzog.fr/2017/02/02/elections-presidentielles-logiciel-libre-et-charlotte-marchandise/

content:
<p>L’élection présidentielle approche et commence à prendre une grande place médiatique. À cette occasion, les associations comme l’<a href="http://www.april.org/">April</a> essaient d’interpeller les <a href="http://candidats.fr/">candidats</a> pour les sensibiliser sur le sujet…</p>
<p>En temps qu’association, il faut garder ses distances et ne pas prendre position. Mais en tant qu’individu, je peux aller plus loin et soutenir explicitement un candidat qui partage les valeurs du logiciel libre.</p>
<p><a href="http://charlotte-marchandise.fr/"><img src="media/e2fca4aa.663402096368.jpg" data-original-source="https://s3.eu-central-1.amazonaws.com/laprimaire/663402096368.jpg" width="243" height="300" alt="Charlotte Marchandise"></a>C’est ce que je veux faire aujourd’hui. Je vous invite à découvrir <a href="http://charlotte-marchandise.fr/">Charlotte Marchandise</a>. C’est la gagnante des primaires citoyennes organisées par <a href="http://laprimaire.org/">laprimaire.org</a> et son programme politique est en parfaite adéquation avec mes valeurs (revenu de base inconditionnel, 6ème république, transition écologique, etc.) y compris sur le logiciel libre (voir <a href="https://articles.laprimaire.org/choisir-les-logiciels-libres-807175be2f76">ici l’article dédié de son programme</a>).</p>
<p>C’est une candidature citoyenne non-partisane qui ne peut donc s’appuyer sur aucun financement pré-existant. Elle a donc besoin de nos dons. J’ai déjà fait un don conséquent et je vous invite à en faire de même. <a href="https://laprimaire.org/don-charlotte-marchandise/">Cliquez ici</a> pour accéder au formulaire permettant de soutenir la campagne de Charlotte Marchandise.</p>
<p>Si vous ne pouvez pas donner, je vous invite simplement à parler de Charlotte et de son programme dans votre entourage et à partager cet article. Si vous avez un peu de temps à investir, vous pouvez participer à <a href="http://charlotte-marchandise.fr/parrainage/">la recherche de parrainages</a>.</p>
<p>Je fais partie de ceux qui ne veulent plus de la classe politique en place et qui souhaite une réforme des institutions et du système électoral en premier lieu. Avec cette candidature citoyenne, « hackons le système » !</p>
<p><a href="https://raphaelhertzog.fr/2017/02/02/elections-presidentielles-logiciel-libre-et-charlotte-marchandise/#comments">Aucun commentaire pour le moment</a> | Vous avez aimé ? <a href="http://raphaelhertzog.fr/soutenir/">Cliquez ici</a>. | Ce blog utilise <a href="http://flattr.com/thing/26572/Destination-Debian" target="_blank">Flattr</a>.</p>
<p><img src="media/89661d5a.e18b309867dcb66e83358b9a6297e54b" data-original-source="http://cdn.libravatar.org/avatar/e18b309867dcb66e83358b9a6297e54b" alt="Gravatar de Rapha&euml;l Hertzog" class="gravatar" /><br/><i>Original post of <a href="https://raphaelhertzog.fr/2017/02/02/elections-presidentielles-logiciel-libre-et-charlotte-marchandise/" title="Visit the source">Raphaël Hertzog</a>.Votez pour ce billet sur <a href="http://www.planet-libre.org" title="Aller sur le planet">Planet Libre</a>.</i></p>
<p><div class="similar-block"><h3>Articles similaires</h3><ul><li>Planet Libre : <a href="">Br&egrave;ves du Planet Libre - Sunday 28, October 2012</a> (28/10/2012)</li><li>Framablog : <a href="">Prot&eacute;ger le secteur du logiciel des brevets, par Richard Stallman</a> (03/02/2013)</li><li>Planet Libre : <a href="">Br&egrave;ves du Planet Libre - lundi 07, mars 2016</a> (07/03/2016)</li><li>Hugo : <a href="">Internet&nbsp;: l&rsquo;&Eacute;tat fran&ccedil;ais n&rsquo;apprend-il rien&nbsp;?</a> (18/02/2011)</li><li>Hugo : <a href="">IPRED&nbsp;: remettre en question la politique de l&rsquo;UE en mati&egrave;re de droit d&rsquo;auteur et de brevets sur Internet</a> (28/03/2011)</li></ul></div></p>


feed_id: http://www.fullcirclemag.fr/?post/2017/02/03/NS-Inkscape%2C-volume-4
title: Full Circle Magazine FR : NS Inkscape, volume 4
uri: Full-Circle-Magazine-FR-NS-Inkscape-volume-4
url: http://www.fullcirclemag.fr/?post/2017/02/03/NS-Inkscape%2C-volume-4
content:
<p>Bonjour !</p>


<p>Le quatrième volume des numéros spéciaux Inkscape est disponible sur notre page <a href="http://www.fullcirclemag.fr/?pages/Num%C3%A9ros" hreflang="fr" title="Lire ou télécharger NS Inkscape">Numéros</a> ou directement en cliquant sur la photo de couverture ci-dessous.</p>


<p><a href="http://www.fullcirclemag.fr/?download/483" hreflang="fr" title="Inkscape 4"><img src="media/63f1e2cb.inkscape4fr.png" data-original-source="http://www.fullcirclemag.fr/dotclear/public/Numeros/Couvertures_PNG/inkscape4fr.png" alt="inkscape4fr.png" title="inkscape4fr.png, fév. 2017"></a></p>


<p>Amusez-vous bien !</p>


<p>Un grand merci à d52fr.</p>
<p><img src="media/163a60d9.dd0e1a508d7347d53e0da0678bfd7aff" data-original-source="http://cdn.libravatar.org/avatar/dd0e1a508d7347d53e0da0678bfd7aff" alt="Gravatar de Full Circle Magazine FR" class="gravatar" /><br/><i>Original post of <a href="http://www.fullcirclemag.fr/?post/2017/02/03/NS-Inkscape%2C-volume-4" title="Visit the source">Full Circle Magazine FR</a>.Votez pour ce billet sur <a href="http://www.planet-libre.org" title="Aller sur le planet">Planet Libre</a>.</i></p>


feed_id: https://www.libre-parcours.net/post/silence-ou-signal/
title: Libre Parcours : Silence ou Signal
uri: Libre-Parcours-Silence-ou-Signal
url: https://www.libre-parcours.net/post/silence-ou-signal/
content:
<p>« Use Tor, Use Signal » est un slogan que l’on voit de plus sur les réseaux sociaux. Ce slogan se veut une recommandation à destination des militants se coordonnant via Internet. En France, une remarque revient souvent suite à ce slogan : « Et Silence alors ? ». Silence est un outil différent de Signal, avec un fonctionnement et un usage qui lui sont propre. Voyons donc ce qui les rassemble et ce qui les sépare.</p>


<figure><img src="media/248f5cfe.use-tor-use-signal.png" data-original-source="https://www.libre-parcours.net/media/use-tor-use-signal.png"></figure><p></p>

<h1>Généalogie</h1>

<h2>Dans le monde Android</h2>

<p>Au premier jour (en 2010), Moxie créa TextSecure dont l’objet était de pouvoir s’échanger des SMS chiffrés, de sorte que seuls l’expéditeur et le destinataire puissent lire le contenu du message.</p>

<pre><code>Rappel : l'échange de SMS est un service fourni par l'opérateur téléphonique. Il ne nécessite pas d'accès à Internet (2G, 3G, 4G ou Wifi) mais seulement d'être relié au réseau de son opérateur comme pour les appels téléphoniques traditionnels.
</code></pre>

<p>En parallèle de TextSecure, Moxie créa RedPhone, dont l’objet était de pouvoir passer des appels de manière chiffrée. Contrairement à TextSecure, une connexion à Internet sur son téléphone était nécessaire.</p>

<p>À partir de début 2014, TextSecure a permis de s’échanger des messages «par Internet» (comme WhatsApp, Viber, etc), toujours chiffrés, en plus des traditionnels SMS.
Très vite après, la fonctionnalité SMS a été supprimée.</p>

<p>Une bonne partie des utilisateurs de TextSecure souhaitant toujours pouvoir s’échanger des SMS chiffrés, un fork vu le jour sous le nom de SMSSecure.</p>

<pre><code>Le fork est aux logiciels ce que le spin-off est à la série télé. On part d'une histoire commune et on en dérive une histoire différente, avec plus ou moins de succès.
</code></pre>

<p>Sous la pression de <del>Moxie</del> <a href="https://github.com/SilenceIM/Silence/pull/383">d’une société qui ne mérite pas d’être nommée ici</a>, SMSSecure a été rebaptisé Silence en Avril 2016.</p>

<h2>Dans le monde Apple</h2>

<p>Pendant que TextSecure faisait sa mue et abandonnait les SMS, une version de Redphone pour les téléphones Apple voyait le jour sous le nom de Signal.
Quelques semaines plus tard, Signal se voyait ajouter les mêmes fonctionnalités d’échange de messages que proposait TextSecure.</p>

<h2>La grande réunion</h2>

<p>En novembre 2015, TextSecure sur Android a été renommé Signal et à partir de ce moment-là, les utilisateurs de téléphones Apple ou Android ont pu s’appeler et s’échanger des messages de manière chiffrée par Internet. Sans que ni l’opérateur téléphonique du destinataire ni celui de l’expéditeur ne puissent savoir qui parle à qui, à quel moment et pour se dire quoi.</p>

<p>À partir d’avril 2016, on a donc la même situation qu’aujourd’hui :</p>

<ul><li>Signal, pour iOS et Android, chiffrant les appels et les messages, nécessitant Internet</li>
<li>Silence, pour Android uniquement, chiffrant les SMS, ne nécessitant pas Internet</li>
</ul><h1>Qui choisir, Signal ou Silence ?</h1>

<p>C’est la question qui revient souvent : « Mais alors c’est quoi le mieux ? Qu’est ce qu’il faut utiliser ? Signal ou Silence ? »</p>

<pre><code>Si vous avez un téléphone Apple, la réponse est simple : *Signal*. 
Silence n'existe pas pour iOS.
</code></pre>

<p>Pour les autres, il faut bien comprendre ce que font et ne font pas les deux applications. Voyons donc le détail :</p>

<h2>Les bases</h2>

<p>Signal permet d’échanger :</p>

<ul><li>des appels vocaux chiffrés,</li>
<li>des messages chiffrés,</li>
<li>des SMS/MMS non chiffrés.</li>
</ul><p>Silence permet d’échanger :</p>

<ul><li>des SMS/MMS chiffrés,</li>
<li>des SMS/MMS non chiffrés.</li>
</ul><p>Signal, pour les communications chiffrées, a besoin d’accès à Internet, peu importe comment : 2G, 3G, 4G ou Wifi.
Silence, lui, repose uniquement sur la capacité de votre opérateur à transporter les SMS.</p>

<h2>Qui voit quoi ?</h2>

<h3>Commençons par le plus simple : Silence.</h3>

<p>Lorsqu’on échange des messages via Silence, les opérateurs (de l’expéditeur et du destinataire) savent grosso modo :</p>

<ul><li>qui a envoyé un message,</li>
<li>à qui a été envoyé le message,</li>
<li>à quelle heure.</li>
</ul><p>Si vous souhaitez discuter de manière confidentielle avec une personne de sorte qu’on ne puisse jamais savoir que vous avez été en contact, <strong>n’utilisez pas Silence</strong>.
Une réquisition auprès d’un des opérateurs permettra d’identifier la personne.</p>

<p>Les messages ne passent pas par Internet, aucun autre acteur n’est impliqué dans l’échange.
C’est donc pratique pour discuter avec des gens dont vous vous foutez qu’on sache que vous leur parlez, tout en gardant une certaine confidentialité.</p>

<h3>Ça se corse : Signal</h3>

<p>Dans le cas de Signal, les opérateurs qui font office de fournisseurs d’accès à Internet (soit l’opérateur téléphonique soit le FAI du réseau wifi que vous utilisez) voient que votre téléphone communique avec l’entité qui est derrière Signal : OpenWhisper Systems (OWS par la suite) et voit des échanges avec Google.</p>

<p>Que fait Google dans cette histoire ? Et bien Google fournit la fonctionnalité qui permet en quelque sorte de réveiller votre téléphone pour qu’il aille vérifier auprès d’OWS qu’un message l’attend. Cela est très utile pour économiser la batterie de votre téléphone. <strong>Google ne sait pas avec qui vous communiquez ni ce que vous vous dites.</strong></p>

<p>Les messages transitent par contre par OWS, l’association/fondation/entité qui édite Signal. <strong>OWS sait avec qui vous communiquez, à quel moment mais ne peut pas voir le contenu de vos échanges.</strong></p>

<p>Si vous ne faites aucune confiance dans les opérateurs de votre pays, <strong>vous devriez plutôt utiliser Signal</strong>. En revanche, cela nécessite de faire confiance dans une entité américaine (OWS) sur laquelle vous n’avez aucune maitrise.</p>

<p>Il se fait tard, c’est sans doute approximatif mais le but n’est pas d’être exhaustif mais de faire une bonne intro à ces questions qui reviennent souvent. S’il y a des remarques pertinentes, l’article évoluera évidemment ;)</p>

<h1>Et donc ?</h1>

<p>Et donc les deux applications sont utiles et pertinentes. À vous de choisir laquelle utiliser en fonction de votre situation, des risques autour de vos communications. Pour ma part, j’utilise les deux applications au quotidien.</p>
<p><img src="media/e7d3de0c.bd2072e353753220651481690d20d5a9" data-original-source="http://cdn.libravatar.org/avatar/bd2072e353753220651481690d20d5a9" alt="Gravatar de Libre Parcours" class="gravatar" /><br/><i>Original post of <a href="https://www.libre-parcours.net/post/silence-ou-signal/" title="Visit the source">Libre Parcours</a>.Votez pour ce billet sur <a href="http://www.planet-libre.org" title="Aller sur le planet">Planet Libre</a>.</i></p>


feed_id: https://jibecfed.fedorapeople.org/blog/mon-ordiphone-sans-outils-google.html
title: Jean-Baptiste Holcroft : Mon ordiphone sans outils Google
uri: Jean-Baptiste-Holcroft-Mon-ordiphone-sans-outils-Google
url: https://jibecfed.fedorapeople.org/blog/mon-ordiphone-sans-outils-google.html
content:
<p>Ce qu’on appelait avant un téléphone cellulaire, puis portable puis Smartphone, est avant tout pour moi un ordinateur avec des fonctionnalités de téléphone (d’où l’usage provocateur du terme « ordiphone »). Le problème avec Android, ce sont les outils propriétaires de Google, placés comme un point de passage obligatoire pour presque tout. Avec le Fairphone et YunoHost, j’ai réussi à faire un pas de plus vers la liberté et c’était très simple.</p>
<h3>Les outils propriétaires de Google</h3>
<p>Google impose ce qu’on appelle les Google Apps, ensemble de logiciels indispensables pour installer la logithèque « Android Market », cependant ces outils ont tous les droits sur le système, à un tel point que tout ce qui est fait sur le téléphone peut potentiellement être capturé puis envoyé à Google. Allant jusqu’à la saisie des touches.
C’est un peu comme cette fonction Management Engine des processeurs Intel : c’est une petite boite noire qui peut tout faire sans vous demander votre avis. C’est l’archétype de ce qu’il faut éviter pour être libre, ces boites noires, c’est précisément pour cette raison que j’utilise Fedora sur mon système en plus d’être très proche des producteurs de logiciels.</p>
<p>Je me souviens d’une conférence de Richard Stallman, si votre outil installe des choses sans votre consentement, alors c’est un malware/maliciel ! Avec cette définition, Windows était pour lui à cette époque un maliciel et si on cherche, je suppose qu’il dirait la même chose sur ces outils imposés par Google sur Android. Souvent je me retrouvais avec des mises à jour automatiques d’application que je ne pouvais pas supprimer et que je n’utilisais pas.</p>
<h3>Le Fairphone</h3>
<p>Focalisé sur le thème du développement durable, cette entreprise laisse beaucoup de liberté à ses utilisateurs, notamment celle de choisir d’avoir ou non les Google Apps sur son téléphone en ne les installant pas par défaut. Le produit en ma possession est le FP1, donc leur toute première version. Il est perfectible mais l’ayant déjà cassé et réparé, la promesse de durabilité est jusqu’à présent tenue. J’apprécie surtout un système qui sur une prise USB 1 ampère (majorité des voitures) continue à se charger même en utilisation, permettant de continuer à avoir son logiciel de navigation fonctionnel même quand on rentre dans sa voiture avec deux pourcents de batterie.</p>
<h3>Mon serveur YunoHost</h3>
<p>Système d’exploitation serveur, <a href="http://yunohost.org/">YunoHost</a> est une surcouche de configuration d’applications afin qu’elles utilisent toutes les mécanismes de sécurité et ressources du système de façon cohérente (notamment l’annuaire LDAP et le portail). Avec lui, héberger sa messagerie et ses services principaux est simple, le tout avec des certificats HTTPS fournis par <a href="https://letsencrypt.org/">Let's Encrypt</a> (la <a href="https://forum.yunohost.org/t/sortie-de-yunohost-2-5-chelsea-manning-yunohost-2-5-release-chelsea-manning/2393">version 2.5 de YunoHost</a> est sortie le 2 février dernier)</p>
<h3>Le résultat</h3>
<p><a href="https://f-droid.org/">F-droid</a> comme logithèque, k9mail pour la messagerie, ttrss pour les flux RSS, Conversations et Telegram pour la messagerie instantanée, DAVdroid pour la synchronisation des contacts et des agendas, QuickDic pour le dictionnaire, nextcloud pour la sauvegarde automatique des photos/vidéos, LibreOffice Viewer et Document Viewer pour les fichiers de bureautique, OpenFoodFact pour l’analyse du contenu de mes produits, Wikipédia pour l’encyclopédie, OSMAnd pour les données géographiques, etc.</p>
<p>Tous ces outils fournissent les services de base dont j’ai besoin, ils fonctionnent souvent en mise à jour sur demande, économisant les ressources de tout le monde et sont très pratiques en mobilité.</p>
<p>Vous voulez me parler de cet article ? Contactez-moi sur le salon « traducteurs » de jabberfr.org (client XMPP javascript disponible en bas de chaque page).</p>
<p><img src="media/19a7ba81.82812e23a7e777f8b81090d2dff9a0b0" data-original-source="http://cdn.libravatar.org/avatar/82812e23a7e777f8b81090d2dff9a0b0" alt="Gravatar de Jean-Baptiste Holcroft" class="gravatar" /><br/><i>Original post of <a href="https://jibecfed.fedorapeople.org/blog/mon-ordiphone-sans-outils-google.html" title="Visit the source">Jean-Baptiste Holcroft</a>.Votez pour ce billet sur <a href="http://www.planet-libre.org" title="Aller sur le planet">Planet Libre</a>.</i></p>


feed_id: https://angristan.fr/proxy-http-squid/
title: Angristan : Un proxy HTTP en quelques minutes avec Squid
uri: Angristan-Un-proxy-HTTP-en-quelques-minutes-avec-Squid
url: https://angristan.fr/proxy-http-squid/
content:
<p><img width="750" height="410" src="media/1acb0c42.squid.png" data-original-source="https://angristan.fr/wp-content/uploads/2017/02/squid.png" alt="" srcset="//angristan.fr/wp-content/uploads/2017/02/squid.png 750w, //angristan.fr/wp-content/uploads/2017/02/squid-300x164.png 300w, //angristan.fr/wp-content/uploads/2017/02/squid-648x354.png 648w" sizes="(max-width: 750px) 100vw, 750px"></p><p>Pour changer d'adresse IP sur le web, utiliser un <a href="https://angristan.fr/installer-facilement-serveur-openvpn-debian-ubuntu-centos/">VPN</a> n'est pas la solution la plus commode puisque la connexion à celui-ci doit se faire manuellement dans certains cas et tout le trafic y transite, donc en cas de coupure, plus rien ne passe.</p>
<p>Un solution plus transparente est d'utiliser un proxy. Le proxy HTTP, comme son nom l'indique, ne va s'interposer que pour les requêtes HTTP, c'est à dire votre navigateur et les autres logiciels qui utilisent ce protocole et qui supportent les proxies (Spotify, Nextcloud...).</p>
<p>L'avantage du proxy, c'est qu'une fois configuré au niveau du système, il n'y a plus rien à faire. Il n'y a pas de connexion constante au proxy, mais chaque requête passe par lui, de manière transparente. <span></span></p>
<p>Dans mon cas, ça m'arrange aussi de ne pas faire passer le traffic d'un jeu vidéo en ligne pour ne pas augmenter la latence par exemple.</p>
<p>Le proxy peut servir à :</p>

<ul><li>Changer d'adresse IP, pour x raisons (tracage, confidentialité...)</li>
 	<li>Résoudre des problèmes de peering, e.g. Youtube</li>
 	<li>Utiliser une IP d'un pays étranger pour accéder à du contenu géolocalisé</li>
 	<li>Avoir l'IPv6 si le serveur en a une</li>
</ul><p>Avec plus de configuration :</p>

<ul><li>Restreindre l'accès à certains domaines</li>
 	<li>Avoir des logs des requêtes HTTP</li>
 	<li>Avoir un cache local sur le proxy pour pallier une connexion lente ou un grand nombre de clients</li>
</ul><p>Dans mon cas, je souhaite juste que mon PC utilise le proxy de manière transparente afin d'avoir une IPv4 et une IPv6 qui ne soient pas liée à ma box @home.</p>
<p>La configuration de Squid est donc très simple, j'accepte juste les requêtes venant de l'IP de ma box, et le tour est joué. Désavantage : si je suis en déplacement, ça ne fonctionne plus. Aussi, j'ai désactivé le cache, qui ne fonctionne de toute façon qu'avec les requêtes HTTP et non HTTPS, autrement dit il m'est peu utile.</p>
<p><strong>Attention</strong>, un proxy HTTP ne rajoute pas une couche de chiffrement comme un VPN. Ainsi, le traffic HTTPS restera chiffré, mais le traffic HTTP restera en clair. Il faut donc avoir une certaine confiance à l'hébergeur de votre serveur et à son réseau. Pour faire simple, utilisez un proxy pour les raisons citées plus haut, mais certainement pas pour améliorer votre sécurité.</p>


[caption id="attachment_4045" align="aligncenter" width="650"]<a href="media/22604f29.proxy.png" data-original-source="https://angristan.fr/wp-content/uploads/2017/02/proxy.png"><img src="media/22604f29.proxy.png" data-original-source="https://angristan.fr/wp-content/uploads/2017/02/proxy.png" alt="Fonctionnement d'un proxy" width="650" height="300"></a> Source : <a title="What’s the Difference Between a VPN and a Proxy?" href="http://www.howtogeek.com/247190/whats-the-difference-between-a-vpn-and-a-proxy/" rel="bookmark">What’s the Difference Between a VPN and a Proxy?</a>[/caption]
<p>Sous GNU/Linux, il existe un logiciel de proxy/cache HTTP très répandu : <a href="http://www.squid-cache.org/">Squid</a>. Il est très facile à mettre en place.</p>
<p>Pour installer Squid, rien de plus simple, il suffit d'installer le paquet  correspondant à Squid 3.</p>
<p>Sous Debian et Ubuntu :</p>

<pre>apt-get install squid3</pre>
<p>Ensuite, on sauvegarde la configuration de base :</p>

<pre>mv /etc/squid3/squid.conf /etc/squid3/squid.conf.old</pre>
<p>Puis on ajoute ceci à <code>/etc/squid3/squid.conf</code> :</p>

<pre>#Port de Squid
http_port 443 #utile pour outrepasser des éventuels blocages de port

#Hostname du proxy
visible_hostname SuperProxy

#Masquage IP header HTTP (X-Forwarded-For: unknown)
forwarded_for off

#Logs
access_log /var/log/squid3/access.log
cache_log /var/log/squid3/cache.log

#Pas de cache
cache deny all

#Serveurs DNS (ici ceux de FDN)
dns_nameservers 80.67.169.12 80.67.169.40

#Cache DNS
positive_dns_ttl 5 minutes #réponse positive
negative_ttl 5 minutes #réponse en erreur

#On attends pas avant de stopper Squid (30s sinon, utilise si cache activé)
shutdown_lifetime 0 seconds

#On accepte tout le monde (déconseillé)
#http_access allow all

#Auth par mot de passe (très peu pratique d'après ce que j'ai vu)
#auth_param basic program /usr/lib/squid3/basic_ncsa_auth /etc/squid3/passwords
#auth_param basic realm proxy
#acl authenticated proxy_auth REQUIRED
#http_access allow authenticated

#Maison (exemple d'ACL, pour autoriser l'accès à une IP)
acl maison src 123.123.123.123
http_access allow maison</pre>
<p>On redémarre Squid (à adapter suivant votre OS) :</p>

<pre>service squid3 restart</pre>
<p>Pour vous connecter, il vous suffit de spécifier l'IP et le port de votre serveur. Si vous avez ajouté votre IP dans la configuration, tout devrait se faire de manière transparente !</p>
<p><a href="media/a8e9d597.squid_proxy_w10.png" data-original-source="https://angristan.fr/wp-content/uploads/2017/02/squid_proxy_w10.png"><img src="media/a8e9d597.squid_proxy_w10.png" data-original-source="https://angristan.fr/wp-content/uploads/2017/02/squid_proxy_w10.png" alt="Proxy HTTP Squid 3 Windows 10" width="473" height="255"></a></p>
<p>Ensuite, vérifiez votre IPv4 et IPv6 sur un site comme <a href="http://ipv6-test.com/">ipv6-test</a>, et elles devraient être celles de votre serveur.</p>
<p><span>Source :</span> <a href="http://www.squid-cache.org/Doc/config/">http://www.squid-cache.org/Doc/config/</a></p><p>L'article <a rel="nofollow" href="https://angristan.fr/proxy-http-squid/">Un proxy HTTP en quelques minutes avec Squid</a> a été publié sur <a rel="nofollow" href="https://angristan.fr/">Angristan</a></p>
<p><img src="media/5c166f03.2872b7d47bfcdee98601f055441cbda2" data-original-source="http://cdn.libravatar.org/avatar/2872b7d47bfcdee98601f055441cbda2" alt="Gravatar de Angristan" class="gravatar" /><br/><i>Original post of <a href="https://angristan.fr/proxy-http-squid/" title="Visit the source">Angristan</a>.Votez pour ce billet sur <a href="http://www.planet-libre.org" title="Aller sur le planet">Planet Libre</a>.</i></p>
<p><div class="similar-block"><h3>Articles similaires</h3><ul><li>Angristan : <a href="">Installer facilement un serveur OpenVPN sur Debian, Ubuntu et CentOS</a> (20/03/2016)</li><li>Angristan : <a href="">Compiler son noyau Linux sous Debian et Ubuntu</a> (17/04/2016)</li><li>Angristan : <a href="">Installer Nginx depuis le d&eacute;p&ocirc;t officiel sous Debian, Ubuntu et CentOS</a> (12/06/2016)</li><li>Angristan : <a href="">Installer le serveur web Nginx depuis le d&eacute;p&ocirc;t officiel sous Debian, Ubuntu et CentOS</a> (12/06/2016)</li><li>Angristan : <a href="">Seedbox : installer le client torrent Transmission sous Debian et Ubuntu</a> (21/10/2016)</li></ul></div></p>


feed_id: https://angristan.fr/ouverture-de-mon-shaarli/
title: Angristan : Ouverture de mon Shaarli
uri: Angristan-Ouverture-de-mon-Shaarli
url: https://angristan.fr/ouverture-de-mon-shaarli/
content:
<p><img width="750" height="410" src="media/f6c18484.shaarli_angristan.png" data-original-source="https://angristan.fr/wp-content/uploads/2017/01/shaarli_angristan.png" alt="" srcset="//angristan.fr/wp-content/uploads/2017/01/shaarli_angristan.png 750w, //angristan.fr/wp-content/uploads/2017/01/shaarli_angristan-300x164.png 300w, //angristan.fr/wp-content/uploads/2017/01/shaarli_angristan-648x354.png 648w" sizes="(max-width: 750px) 100vw, 750px"></p><p><em>TL;DR : il est disponible à l'adresse </em><em><a href="https://links.angristan.fr/">links.angristan.fr</a>.</em></p>
<p>Ma veille (technologique, principalement) a considérablement augmenté notamment depuis que j'utilise <a href="https://angristan.fr/freshrss-un-lecteur-rss-libre-a-auto-heberger/">FreshRSS</a>, où je suis plusieurs dizaines de flux RSS. Les articles qui m'intéressent le plus, je les garde en favori ou je les partage sur mon <a href="https://twitter.com/fuolpit">Twitter</a>.</p>
<p>Je connaissais déjà <a href="https://github.com/shaarli/Shaarli">Shaarli</a>, je suis déjà tombé sur quelques uns, mais je m'étais jamais vraiment attardé dessus.</p>
<p>Shaarli est un logiciel libre à auto-héberger qui permet de partager des liens, avec tout plein de <a href="https://github.com/shaarli/Shaarli#features">fonctionnalités</a>.<span></span></p>
<p>Pour info Shaarli est un projet de <a href="http://sebsauvage.net/wiki/doku.php?id=php:shaarli">Sebsauvage</a>, qu'il ne met plus à jour depuis plusieurs années, et le développement a été repris par la <a href="https://github.com/shaarli">communauté Shaarli</a>, qui est très active. Voici <a href="http://sebsauvage.net/wiki/doku.php?id=php:shaarli#faq">pourquoi</a> Sebsauvage a créé Shaarli.</p>

<h2>Installation</h2>
<p>Un des gros avantages de Shaarli, c'est qu'il ne demande quasiment rien en ressources à part une installation PHP classique. Il ne demande pas de base de données, toutes les données sont stockées dans un fichier, ce qui le rend super facile à backup.</p>
<p>Je me suis donc lancé dans l'installation de Shaarli, et en quelques minutes c'était fait !</p>

<h2>Design</h2>
<p>Gros point faible de Shaarli : le design... Globalement il n'a pas changé depuis le début, et ressemble donc quasiment à <a href="media/a38c76c4.fetch.php" data-original-source="http://sebsauvage.net/wiki/lib/exe/fetch.php" rel="nofollow">ça</a>.<a href="media/2c3c5e82.shaarli_ex.png" data-original-source="https://angristan.fr/wp-content/uploads/2017/01/shaarli_ex.png"><img src="media/2c3c5e82.shaarli_ex.png" data-original-source="https://angristan.fr/wp-content/uploads/2017/01/shaarli_ex.png" alt="Design Shaarli" width="903" height="727"></a></p>
<p>En 2012, je ne dis pas, mais en 2017, ça donne pas envie. Il est prévu depuis 1 an et demi de <a href="https://github.com/shaarli/Shaarli/issues/266">refaire le template de base</a>, et pour l'instant ça donne ça sur la <a href="http://workspace.hoa.ro/shaarli/?" rel="nofollow">démo</a> :</p>
<p><a href="media/de3e0eaf.demo_shaarli_new_design.png" data-original-source="https://angristan.fr/wp-content/uploads/2017/01/demo_shaarli_new_design.png"><img src="media/017ee5bc.demo_shaarli_new_design-648x302.png" data-original-source="https://angristan.fr/wp-content/uploads/2017/01/demo_shaarli_new_design-648x302.png" alt="Nouveau design Shaarli" width="648" height="302"></a></p>
<p>C'est un peu mieux, pas folichon non plus. Quelques vieux thèmes sont dispo <a href="https://github.com/shaarli/shaarli-themes">ici</a>, mais plus mis à jour ni très à mon goût. Et il n'y a pas grand chose d'autre, à part un thème <a href="https://github.com/kalvn/Shaarli-Material">Material Design par kalvn</a>. C'est le seul à peu près potable, même si je le trouve un peu trop minimaliste.</p>
<p><a href="media/13bd9f7e.material_shaarli.png" data-original-source="https://angristan.fr/wp-content/uploads/2017/01/material_shaarli.png"><img src="media/6262d74a.material_shaarli-648x302.png" data-original-source="https://angristan.fr/wp-content/uploads/2017/01/material_shaarli-648x302.png" alt="Thème material Shaarli" width="648" height="302"></a></p>
<p>Pour l'instant, je reste avec ça, je ne risque pas de trouver mieux de si tôt. :)</p>

<h2>Les tags</h2>
<p>Sur mes premiers liens partagés, j'ai essayé de mettre des tags correspondants aux liens. Après quelques partages, je me suis rendu compte que je prenais trop de temps à trouver les tags appropriés. En effet, que choisir ? Des tags vagues ou précis ? Est-ce que ça sert à quelque chose de se retrouver avec plus de tags que de liens au final ?</p>
<p>Et est-ce que les tags sont vraiment utiles ? Pas pour moi, je trouve que c'est plus une perte de temps qu'autre chose.</p>
<p>Donc j'ai décidé de ne pas en mettre jusqu'à que quelqu'un me convainque du contraire. ;)</p>
<p>Par conséquent mon <a href="https://links.angristan.fr/?do=tagcloud">Tag Cloud</a> est vide, donc je l'ai enlevé du menu, tout comme le <a href="https://links.angristan.fr/?do=daily">daily</a>, une page pas très jolie et peu lisible qui compile tous les liens partagés sur la journée. Je n'y ai pas trouvé non plus grand intérêt. À la place j'ai donc mis un lien vers mon blog et mon Twitter.</p>
<p><strong>Edit : </strong>Bon en fait je vais essayer d'ajouter des tags.</p>

<h2>Workflow</h2>
<p>Élément important : quand je vois un article un intéressant sur Twitter ou sur les 1500 entrées que j'ai à lire dans mon agrégateur RSS, je n'ai pas envie de faire tout plein de clics pour pouvoir partager mon lien. De plus, j'aimerais toujours pouvoir partager des liens intéressants sur Twitter !</p>
<p>Pour cela, Shaarli propose un favori à ajouter à sa barre de favori, qui contient du Javascript et qui ouvre directement une petite fenêtre avec le lien et le titre déjà complétés.</p>
<p><a href="media/03e214e9.window_shaarli.png" data-original-source="https://angristan.fr/wp-content/uploads/2017/01/window_shaarli.png"><img src="media/116433bd.window_shaarli-630x365.png" data-original-source="https://angristan.fr/wp-content/uploads/2017/01/window_shaarli-630x365.png" alt="Partage rapide Shaarli" width="630" height="365"></a></p>
<p>Super pratique !</p>
<p>J'utilise aussi le plugin <a href="https://github.com/ArthurHoaro/shaarli2twitter">Shaarli2Twitter</a>, qui permet comme vous pouvez le voir dans la capture d'écran au dessus, d'ajouter un bouton (coché par défaut) pour twitter le lien. Ça passe par l'API Twitter donc il faudra au préalable ajouter une application dans la partie dev de Twitter (tout est expliqué sur le Readme).</p>
<p>Ensuite vous configurez le type de Tweet que vous voulez. Pour ma part j'ai choisi :</p>
<p><a href="media/21b9384c.shaarli2twitter.png" data-original-source="https://angristan.fr/wp-content/uploads/2017/01/shaarli2twitter.png"><img src="media/21b9384c.shaarli2twitter.png" data-original-source="https://angristan.fr/wp-content/uploads/2017/01/shaarli2twitter.png" alt="Shaarli2Twitter" width="733" height="275"></a></p>
<p>Ça donne ça :</p>
https://twitter.com/fuolpit/status/825475511388426243
<p>Il existe d'autres plugins, dont un que j'ai activé et qui ajoute un lien vers <a href="https://archive.org/">archive.org</a> pour le lien donné. Il y en a aussi un pour <a href="https://wallabag.org/fr">Wallabag</a>, que je n'utilise pas, ou encore pour <a href="https://posativ.org/isso/">Isso</a>, mais je me demande si ça serait vraiment utile pour moi.</p>
<p>Côté mobile, il existe une application, <a href="https://play.google.com/store/apps/details?id=com.dimtion.shaarlier">Shaarlier</a>, qui s'intègre bien au système. Cependant elle ne me convient pas puisqu'elle n'est pas compatible avec Shaarli2Twitter. :(</p>
<p>Voilà, je pense avoir fait le tour de ma nouvelle installation. Comme vous avez pu le voir, Shaarli présente quelques défauts, mais globalement c'est un service efficace et léger (et libre !), et je suis content de l'intégrer à ma veille.</p>
<p>J'essaye de ne pas mettre tout et n'importe quoi comme je pourrais le faire sur Twitter, mais plus des articles ou vidéos que je trouve intéressantes ou pertinentes. C'est un peu comme un deuxième mini-blog. Je vous invite donc à y faire un tour de temps en temps ou à suivre le <a href="https://links.angristan.fr/?do=rss">flux RSS</a>, en espérant que vous ayez les mêmes centres d'intérêt que moi. ;)</p>
<p>Pour rappel voici son URL : <a href="https://links.angristan.fr/">links.angristan.fr</a>.</p>
<p>Je serai intéressé d'avoir des retours sur Shaarli et comment vous l'utilisez, avec quels thèmes, quels plugins, etc. :)</p><p>L'article <a rel="nofollow" href="https://angristan.fr/ouverture-de-mon-shaarli/">Ouverture de mon Shaarli</a> a été publié sur <a rel="nofollow" href="https://angristan.fr/">Angristan</a></p>
<p><img src="media/5c166f03.2872b7d47bfcdee98601f055441cbda2" data-original-source="http://cdn.libravatar.org/avatar/2872b7d47bfcdee98601f055441cbda2" alt="Gravatar de Angristan" class="gravatar" /><br/><i>Original post of <a href="https://angristan.fr/ouverture-de-mon-shaarli/" title="Visit the source">Angristan</a>.Votez pour ce billet sur <a href="http://www.planet-libre.org" title="Aller sur le planet">Planet Libre</a>.</i></p>
<p><div class="similar-block"><h3>Articles similaires</h3><ul><li>Antonin Moulart : <a href="">A vos microblog&hellip; Pr&ecirc;t ? Lib&eacute;rez !</a> (11/05/2010)</li></ul></div></p>


feed_id: https://yeuxdelibad.net/Blog/?d=2017/02/05/09/53/19-vilain-setoffe
title: Thuban : vilain s'étoffe
uri: Thuban-vilain-s-étoffe
url: https://yeuxdelibad.net/Blog/?d=2017/02/05/09/53/19-vilain-setoffe
content:
<p><a href="http://https://yeuxdelibad.net/Blog//Blog/?d=2016/12/26/16/17/21-un-fail2ban-pour-openbsd-vilain">Vilain, le fail2ban pour OpenBSD</a> s'étoffe un peu. Dans la liste des changements, on pourra notamment trouver :</p>

<ul><li> Des logs un peu plus compréhensibles, qui indiquent pourquoi une IP est bannie,</li>
<li> Possibilité de préciser la table utilisée avec le parefeu pf,</li>
<li> Ajout d'IP qui peuvent être ingorée si elles ont un comportement filtré par vilain (whitelist),</li>
<li> Ajout d'une regex pour bannir les malins qui s'amusent à scanner mon site à la recherche de "wp-admin" ou "phpmyadmin"...</li>
<li> Indications pour démarrer vilain avec tmux pour l'avoir en daemon.</li></ul><p>J'attends de trouver une regex lisible pour les adresses IPv6, je laisse chacun mettre sa propre regex. Car quand je lis <a href="http://home.deds.nl/~aeron/regex/">ça</a>, <em>gloup</em> :</p>

<pre><code>^(((?=.*(::))(?!.*\\3.+\\3))\\3?|[\\dA-F]{1,4}:)([\\dA-F]{1,4}(\\3|:\\b)|\\2){5}(([\\dA-F]{1,4}(\\3|:\\b|$)|\\2){2}|(((2[0-4]|1\\d|[1-9])?\\d|25[0-5])\\.?\\b){4})\\Z</code></pre>

<p>Vous pourrez trouver le code à tester ici : <a href="http://git.yeuxdelibad.net/vilain.tgz">http://git.yeuxdelibad.net/vilain.tgz</a> .<br>
Je l'enverrai sur gitlab après davantages de tests.</p>

<p>Les idées de regex et de logs à surveiller sont les bienvenues, ainsi que les contributions ;p.</p>
<p><img src="media/0d200000.a17c14dbfc42f0936cee56ed7a9b3b31" data-original-source="http://cdn.libravatar.org/avatar/a17c14dbfc42f0936cee56ed7a9b3b31" alt="Gravatar de Thuban" class="gravatar" /><br/><i>Original post of <a href="https://yeuxdelibad.net/Blog/?d=2017/02/05/09/53/19-vilain-setoffe" title="Visit the source">Thuban</a>.Votez pour ce billet sur <a href="http://www.planet-libre.org" title="Aller sur le planet">Planet Libre</a>.</i></p>
<p><div class="similar-block"><h3>Articles similaires</h3><ul><li>Thuban : <a href="">owi : un wicd-like pour OpenBSD</a> (19/12/2016)</li></ul></div></p>


feed_id: https://www.bloguslibrus.fr/post/20170205-installer-nextcloud-sur-son-raspberry/
title: Bridouz : Installer Nextcloud sur son Raspberry
uri: Bridouz-Installer-Nextcloud-sur-son-Raspberry
url: https://www.bloguslibrus.fr/post/20170205-installer-nextcloud-sur-son-raspberry/
content:
<p>Il y a quelques temps j’avais évoqué ici mon acquisition d’un raspberry pi 3 pour me faire un petit serveur @home. Depuis le début j’utilisai la distribution DietPi, basée sur Raspbian avec pleins d’améliorations et des logiciels pré-configurés installables en quelques clics. Le serveur tournait parfaitement, sans avoir besoin de bidouiller la bête. Mais c’est lors d’un banal renouvellement de certificats <em>letsencrypt</em> que les ennuis ont commencé.</p>

<p>L’outils <em>Dietpi-Letsencrypt</em> m’indiqua qu’aucun serveur web n’était configuré sur la machine. J’essaie de passer de Lighttpd à Nginx, toujours le même message d’erreur. Une réinstallation n’a rien changé alors il a fallu tourner la page, revenir à du Raspbian pure pour tout faire comme un grand à la main, mieux comprendre les rouages. Voici donc les quelques notes prises pendant cette aventure.</p>

<p></p>

<h1>Installer Raspbian</h1>

<p><strong>Raspbian</strong> est la distribution officielle pour les Raspberry, elle est basée sur Debian et apporte toute la stabilité dont la distribution mère tire sa renommée.</p>

<p>Pour télécharger la distribution il faut se rendre sur <a href="https://www.raspberrypi.org/downloads/raspbian/">le site officiel de la fondation Raspberry</a>, on y trouve alors deux images :</p>

<ul><li>Raspbian Jessie avec le bureau maison <em>Pixel</em>.</li>
<li>Raspbian Jessie Lite.
<br></li>
</ul><p>La première image est plus lourde et offre une interface graphique légère, la deuxième quant à elle, est plus légère et s’oriente donc logiquement vers une base pour un serveur.</p>

<blockquote>
<p>Une fois l’image téléchargée, libre à chacun de la copier sur la carte SD avec son outil préféré. <em>DD</em> fait très bien le boulot par exemple.</p>
</blockquote>

<h2>Boot headless</h2>

<p>Nous voulons donc créer un serveur <em>headless</em>, sans écran. Cela veut dire qu’il va falloir passer par une connexion <em>ssh</em> pour avoir accès à Raspbian en ligne de commande.</p>

<p>Par défaut Raspbian n’active pas <em>ssh</em>, cela depuis novembre 2016 et l’affaire des attaques DDOS à travers des objets connectés. Il faut donc l’activer à la main une fois l’installation automatique faite.<br>
Pour ne pas avoir à brancher un écran au Raspberry afin d’activer SSH, une astuce existe. Il suffit de créer un fichier nommé <code>ssh</code> dans le dossier <code>/boot</code> pour activer le service à la première connexion. Le fichier peut rester vide, seul sa présence compte.</p>

<p>Il est également possible de configurer une connexion wifi au premier démarrage en éditant le fichier <code>/etc/wpa/supplicant/wpa/supplicant.conf</code> :</p>

<pre><code>network={
    ssid="NomduRéseauWIFI"
    psk="motdepasswifi"
}
</code></pre>

<blockquote>
<p>Il est également possible de modifier le port de connexion <em>ssh</em> en éditant le fichier <code>/etc/ssh/sshd_config</code>. Ainsi le serveur se verra un peu plus protégé des attaques automatiques sur le port 22.</p>
</blockquote>

<h1>Serveur Web et Base de Données</h1>

<p>Raspbian est maintenant installée, il va falloir s’occuper du serveur web. Pour cela je suis parti sur un combo Nginx/MariaDB, les deux logiciels ont une très bonne réputation et la documentation est abondante.</p>

<h2>Nginx + MariaDB :</h2>

<p>Commençons par mettre à jour son OS puis installer les logiciels :</p>

<pre><code>sudo apt-get update
sudo apt-get upgrade
sudo apt-get install nginx mariadb-server mariadb-client
</code></pre>

<blockquote>
<p>Lors de l’installation de MariaDB un mot de passe vous sera demandé pour se connecter avec l’utilisateur <em>root</em> à la base de données.</p>
</blockquote>

<h2>Configuration de MariaDB</h2>

<p>Le logiciel de contrôle de base de données est maintenant installé. Il va falloir le configurer pour permettre à <strong>Nextcloud</strong> d’écrire dessus.</p>

<blockquote>
<p>Pour sécuriser d’avantage sa base SQL il est possible de lancer la commande <code>mysql_secure_installation</code>.</p>
</blockquote>

<h3>Création de la base mysql</h3>

<p>Pour se connecter à la base nous utilisons la commande suivante : <code>mysql -u root -p</code>, le mot de passe crée lors de l’installation de MariaDB sera alors demandé.</p>

<p>Nous allons maintenant créer la base de données pour <strong>Nextcloud</strong>, configurer l’utilisateur qui pourra s’y connecter et gérer la base de données.</p>

<pre><code>## Création de la base de données
create database nextcloud;

## Création de l'utilisateur
CREATE USER "nextclouduser"@"localhost" ;

## Définition d'un mot de passe
SET password FOR "nextclouduser"@"localhost" = password('mot_de_passe_pour_nextcloud') ;

## Attribution des privilèges pour la base
GRANT ALL ON nextcloud.* TO "nextclouduser"@"localhost" ;

## Néttoyer les privilèges
flush privileges;

## Quitter MySQL
exit;
</code></pre>

<h2>Nginx et Php</h2>

<p>Maintenant que Nginx est installé et que la base de données est crée nous allons installer PHP et divers modules nécessaires au bon fonctionnement de <strong>Nextcloud</strong>.</p>

<pre><code>sudo apt-get install php5-curl php5-gd php5-tidy php5-mysql php5-intl php5-mcrypt php5-imagick php-xml-parser`php5-fpm
</code></pre>

<p>Pour paramétrer <code>nginx</code> pour inclure <code>php5-fpm</code> dans la configuration et donc pouvoir utiliser <strong>Nextcloud</strong> il faudra inclure le code suivant dans la configuration <code>nginx</code>. On y reviendra plus tard.</p>

<pre><code>include fastcgi_params;
fastcgi_split_path_info ^(.+\\.php)(/.*)$;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
fastcgi_param PATH_INFO $fastcgi_path_info;
fastcgi_param HTTPS on;
#Avoid sending the security headers twice
fastcgi_param modHeadersAvailable true;
fastcgi_param front_controller_active true;
fastcgi_pass php-handler;
fastcgi_intercept_errors on;
</code></pre>

<blockquote>
<p>La commande <code>nginx -t</code> permet de contrôler vos fichiers de configuration Nginx et de relever les erreurs de syntaxe qui pourraient nuire au bon fonctionnement du serveur. C’est donc une commande à utiliser sans modération !</p>
</blockquote>

<h1>Certbot</h1>

<p>Pour obtenir un certificat SSL pour notre serveur et ainsi assurer une connexion chiffrée avec le navigateur ou le client il est maintenant possible d’utiliser <em>Certbot</em> aka <em>Letsencrypt</em> pour générer le dit certificat localement. L’outil est notamment développé par l’EFF et Mozilla.</p>

<blockquote>
<p>Il est important d’avoir au préalable un nom de domaine pour votre serveur. Il est possible d’en acheter un auprès de fournisseurs tels <strong>OVH</strong> ou <strong>Gandhi</strong>. Ou alors il est également possible de passer par un service de DNS Dynamique (DDNS) comme <strong>[no-ip]</strong>(<a href="https://www.noip.com/">https://www.noip.com</a>), ce dernier a d’ailleurs un <a href="https://www.noip.com/support/knowledgebase/install-ip-duc-onto-raspberry-pi/">outil disponible</a> qui s’installe sur Raspbian et qui connecte automatiquement votre serveur avec votre nom de domaine noip crée.</p>
</blockquote>

<h2>Récupérer Certbot</h2>

<blockquote>
<p>le root nginx de base se situe dans /var/www/html, j’ai choisi /var/www pour une meilleure gestion de mes différents services sur mon serveur.</p>
</blockquote>

<p>Dans un premier temps nous devons récupérer <code>certbot</code> et le rendre exécutable :</p>

<pre><code>wget https://dl.eff.org/certbot-auto
chmod a+x certbot-auto
</code></pre>

<p>Il faut alors modifier le fichier de configuration Nginx <code>/etc/nginx/sites/available/default/</code> pour y insérer la localisation <code>.well-known</code> qui est utilisé par l’ACME Challenge pour vous délivrer un certificat.</p>

<pre><code>sudo nano /etc/nginx/sites-available/default

### Rajouter les lignes suivantes à celle du bloc Serveur SSL
        location ~ /.well-known {
                allow all;
        }
</code></pre>

<p>Une fois cela fait nous allons redémarrer Nginx : <code>service nginx reload</code></p>

<p>Maintenant on envoie <em>Certbot</em> au charbon avec <code>./path/to/certbot-auto certonly --webroot -w /var/www -d votresite.com</code></p>

<p>Si tout c’est bien passé les certificats sont créés, on peut rapidement voir le résultat en allant fouiller dans les repertoires de certbot :<br><code>ls -l /etc/letsencrypt/live/your_domain_name</code></p>

<blockquote>
<p>Il faudra penser à ajouter le nom de domaine du serveur dans le fichier de configuration Nginx</p>
</blockquote>

<h2>Ajout des certificats à Nginx</h2>

<p>Nous devons éditer le fichier de configuration d’Nginx pour ajouter l’URL de notre serveur ainsi que les lignes suivantes pour pointer vers les certificats créés par Certbot.</p>

<p>Pour faciliter la gestion des différents paramètres dans le fichier <code>default</code> Nginx nous allons utiliser des snippets. Ce qui va permettre de séparer les différents paramètres dans des fichiers distincts, que l’on pourra plus rapidement éditer par la suite.</p>

<pre><code>sudo nano /etc/nginx/snippets/ssl-letsencrypt.conf

# Ajouter le certificat SSL
ssl_certificate /etc/letsencrypt/live/nodenixbox.com/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/nodenixbox.com/privkey.pem;/
</code></pre>

<h2>Amélioration du niveau SSL</h2>

<p>Les certificats générés de base par Certbot sont bons mais, il est possible de les rendre encore plus fort :</p>

<pre><code># Générer un Strong Diffie-Hellman Group
sudo openssl dhparam -out /etc/ssl/certs/dhparam.pem 2048
</code></pre>

<p>Le fichier crée (<code>/etc/ssl/certs/dhparam.pem</code>) sera utilisé par la suite pour le serveur.</p>

<h3>Cypher et Android</h3>

<p>Lors de ma première connexion du client Nextcloud Android avec mon instance je rencontrais une erreur qui indiquait que la connexion était impossible, un rapide tour sur le web indiqua qu’il fallait utiliser le cypher <code>ECDHE-RSA-AES128-SHA</code> pour que la synchronisation fonctionne correctement.</p>

<p>Nous allons de nouveau utiliser un snippets pour incorporer les paramètres ssl pour le serveur :
<em>Les paramètres sont issus de <a href="https://docs.nextcloud.com/server/11/admin_manual/installation/nginx_nextcloud_9x.html">la documentation officielle Nextcloud</a> et du site <a href="https://cipherli.st/">cipherli.st</a>.</em></p>

<pre><code>ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
ssl_prefer_server_ciphers on;
ssl_ciphers "ECDHE-RSA-AES128-SHA";
ssl_ecdh_curve secp384r1;
ssl_session_cache shared:SSL:10m;
ssl_session_tickets off;
ssl_stapling on;
ssl_stapling_verify on;
resolver 8.8.8.8 8.8.4.4 valid=300s;
resolver_timeout 5s;
# Disable preloading HSTS for now.  You can use the commented out header line that includes
# the "preload" directive if you understand the implications.
#add_header Strict-Transport-Security "max-age=63072000; includeSubdomains; preload";
add_header Strict-Transport-Security "max-age=63072000; includeSubdomains";
add_header Cache-Control "public, max-age=7200";
add_header X-Content-Type-Options nosniff;
add_header X-Frame-Options "SAMEORIGIN";
add_header X-XSS-Protection "1; mode=block";
add_header X-Robots-Tag none;
add_header X-Download-Options noopen;
add_header X-Permitted-Cross-Domain-Policies none;
access_log off;

ssl_dhparam /etc/ssl/certs/dhparam.pem;
</code></pre>

<h1>Nextcloud</h1>

<h2>Installation</h2>

<p>L’installation est assez simple par la suite, il suffit de récupérer l’archive de la dernière version stable, de décompresser l’archive et de balancer le dossier dans <code>/var/www</code>:</p>

<pre><code>wget https://download.nextcloud.com/server/releases/latest.tar.bz2
tar xfvj latest.tar.bz2
sudo mv nextcloud /var/www
</code></pre>

<h3>Créer un dossier data</h3>

<p>Pour que Nextcloud fonctionne correctement il faut absolument créer un dossier <em>data</em> avec les permissions qui vont bien.</p>

<pre><code>sudo mkdir -p /var/www/nextcloud/data
sudo chown www-data:www-data /var/www/nextcloud/data
sudo chmod 750 /var/www/nextcloud/data
</code></pre>

<h3>Permissions</h3>

<pre><code>cd /var/www/nextcloud
sudo chown www-data:www-data config apps
</code></pre>

<blockquote>
<p>Pour vérifier que les permissions sont bien strictes la doc officielle de Nextcloud met à disposition un <a href="https://docs.nextcloud.com/server/9.0/admin_manual/installation/installation_wizard.html#strong-perms-label">petit script <em>bash</em></a> pour cela.</p>
</blockquote>

<p>Ensuite il ne reste plus qu’à se rendre sur l’URL <code>adressedevotrepi/nextcloud</code> pour démarrer l’installation</p>

<h2>Nextcloud et Nginx</h2>

<p>Maintenant nous allons paramétrer <code>nginx</code> pour inclure le dossier <strong>Nextcloud</strong> au serveur et ainsi arriver à la fin du périple et pouvoir par la suite utiliser Nextcloud sur notre serveur.</p>

<p>Il suffit d’éditer le fichier de configuration <code>default</code> et d’y indiquer :</p>

<pre><code>#################
### Nextcloud ###
#################
     location ~ /.well-known {
        allow all;
    }

    # The following 2 rules are only needed for the user_webfinger app.
    # Uncomment it if you're planning to use this app.
    # rewrite ^/.well-known/host-meta /nextcloud/public.php?service=host-meta
    # last;
    #rewrite ^/.well-known/host-meta.json
    # /nextcloud/public.php?service=host-meta-json last;

    location = /.well-known/carddav {
      return 301 $scheme://$host/nextcloud/remote.php/dav;
    }
    location = /.well-known/caldav {
      return 301 $scheme://$host/nextcloud/remote.php/dav;
    }

    location /.well-known/acme-challenge { }
    
    location ^~ /nextcloud {

        # set max upload size
        client_max_body_size 512M;
        fastcgi_buffers 64 4K;

        # Disable gzip to avoid the removal of the ETag header
        gzip off;

        # Uncomment if your server is build with the ngx_pagespeed module
        # This module is currently not supported.
        #pagespeed off;

        error_page 403 /nextcloud/core/templates/403.php;
        error_page 404 /nextcloud/core/templates/404.php;

        location /nextcloud {
            rewrite ^ /nextcloud/index.php$uri;
        }

        location ~ ^/nextcloud/(?:build|tests|config|lib|3rdparty|templates|data)/ {
            deny all;
        }
        location ~ ^/nextcloud/(?:\\.|autotest|occ|issue|indie|db_|console) {
            deny all;
        }

        location ~ ^/nextcloud/(?:index|remote|public|cron|core/ajax/update|status|ocs/v[12]|updater/.+|ocs-provider/.+|core/templates/40[34])\\.php(?:$|/) {
            include fastcgi_params;
            fastcgi_split_path_info ^(.+\\.php)(/.*)$;
            fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
            fastcgi_param PATH_INFO $fastcgi_path_info;
            fastcgi_param HTTPS on;
            #Avoid sending the security headers twice
            fastcgi_param modHeadersAvailable true;
            fastcgi_param front_controller_active true;
            fastcgi_pass php-handler;
            fastcgi_intercept_errors on;
        }

        location ~ ^/nextcloud/(?:updater|ocs-provider)(?:$|/) {
            try_files $uri/ =404;
            index index.php;
        }

        # Adding the cache control header for js and css files
        # Make sure it is BELOW the PHP block
        location ~* \\.(?:css|js|woff|svg|gif)$ {
            try_files $uri /nextcloud/index.php$uri$is_args$args;
            add_header Cache-Control "public, max-age=7200";
            # Add headers to serve security related headers  (It is intended
            # to have those duplicated to the ones above)
            # Before enabling Strict-Transport-Security headers please read
            # into this topic first.
            # add_header Strict-Transport-Security "max-age=15768000;
            # includeSubDomains; preload;";
            add_header X-Content-Type-Options nosniff;
            add_header X-Frame-Options "SAMEORIGIN";
            add_header X-XSS-Protection "1; mode=block";
            add_header X-Robots-Tag none;
            add_header X-Download-Options noopen;
            add_header X-Permitted-Cross-Domain-Policies none;
            # Optional: Don't log access to assets
            access_log off;
        }

        location ~* \\.(?:png|html|ttf|ico|jpg|jpeg)$ {
            try_files $uri /nextcloud/index.php$uri$is_args$args;
            # Optional: Don't log access to other assets
            access_log off;
        }
    }
</code></pre>

<h2>Peaufinage et Sécurité</h2>

<h3>Sécuriser son dossier data</h3>

<p>Il est recommandé de placer son dossier <em>data</em> en dehors de la racine du serveur web pour éviter toute intrusion. Comme je ne suis pas un mec qui réfléchit de base je n’ai pas fait la manipulation avant l’installation mais bien après.</p>

<pre><code>sudo mkdir /var/nextcloud
sudo mv -v /var/www/nextcloud/data /var/nextcloud/data
</code></pre>

<p>Puis il faut éditer le fichier <code>config.php</code> de Nextcloud et modifier la ligne <code>'datadirectory' => '/var/www/nextcloud/data',</code> pour y modifier le chemin vers le dossier <em>data</em>.</p>

<blockquote>
<p>Il est d’ailleurs possible de faire la manip’ avant l’installation de Nextcloud pour n’avoir qu’à sélectionner le dossier data sécurisé lors de l’installation. C’est tout aussi pratique.</p>
</blockquote>

<h3>Getenv</h3>

<p>Lors de mon installation Nextcloud indiqua que la fonction <code>Getenv</code> de PHP n’était pas trouvable. Il faut alors décommenter la ligne <code>PHP : ;env[PATH] = /usr/local/bin:/usr/bin:/bin</code> dans le fichier <code>/etc/php5/fpm/pool.d/www.conf</code></p>

<h3>Memcache</h3>

<p>Nextcloud me renvoyait également une erreur au sujet de Memcache. Un tour sur <a href="https://docs.nextcloud.com/server/9/admin_manual/configuration_server/caching_configuration.html">la doc</a> et la solution est trouvée.</p>

<pre><code># Installer un Memcache
sudo apt-get install php5-apcu

# Ajouter le memcache à nextcloud
sudo nano nextcloud/config/config.php
'memcache.local' => '\\OC\\Memcache\\APCu', # à ajouter #
</code></pre>

<p>Maintenant tout est bon pour faire tourner Nextcloud sans erreur, nous n’avons plus qu’à redémarrer les services <code>php5-fpm</code> et <code>nginx</code> et tada.</p>

<p>Nous pouvons maintenant profiter de la dernière version stable de <strong>Nextcloud</strong> sur un petit serveur @Home où seul votre connexion internet sera une limite.</p>
<p><img src="media/06ba8eba.7d1e02f86fac7aa11519ad0a32657aa1" data-original-source="http://cdn.libravatar.org/avatar/7d1e02f86fac7aa11519ad0a32657aa1" alt="Gravatar de Bridouz" class="gravatar" /><br/><i>Original post of <a href="https://www.bloguslibrus.fr/post/20170205-installer-nextcloud-sur-son-raspberry/" title="Visit the source">Bridouz</a>.Votez pour ce billet sur <a href="http://www.planet-libre.org" title="Aller sur le planet">Planet Libre</a>.</i></p>
<p><div class="similar-block"><h3>Articles similaires</h3><ul><li>Bridouz : <a href="">Installer Nextcloud sur son Raspberry</a> (04/02/2017)</li><li>Angristan : <a href="">Installer Rasbian sur son Raspberry Pi (via Windows)</a> (29/10/2014)</li></ul></div></p>


feed_id: https://jibecfed.fedorapeople.org/blog/fosdem-decentralisation.html
title: Jean-Baptiste Holcroft : FOSDEM - décentralisation
uri: Jean-Baptiste-Holcroft-FOSDEM-décentralisation
url: https://jibecfed.fedorapeople.org/blog/fosdem-decentralisation.html
content:
<h2>Ouverture de la devroom par Tristant Nitot</h2>
<p>Tristan Nitot déclare le <a href="https://fosdem.org/2017/schedule/event/personal_cloud/">lancement de la salle Décentralisation d’Internet</a> nous parle des enjeux de la protection de la vie privée, en nous expliquant l’impact de la surveillance sur les citoyens, qui peuvent s’autocensurer de façon volontaire ou non.</p>
<p>L’exemple pris est l’accès à des articles Wikipédia sur des sujets sensibles aux états-unis, montrant une grande diminution de l’accès après les révélations de Snowden. Ça me rappel une situation avec des amis qui m’ont montré Siri, j’ai proposé en plaisantant de demander comment faire une bombe, je me suis presque fait arracher le téléphone des mains…</p>
<p>C’est la centralisation qui permet la surveillance, donc c’est par la décentralisation que nous parviendrons à construire une société ouverte.</p>
<p>La clef de cette présentation est contenue dans ce slogan :</p>
<blockquote>
<p>NSA a brisé mon internet -> nous devons en créer un g/nouveau.</p>
</blockquote>
<h3>D’où vient la démarche de décentralisation d’internet ?</h3>
<p>Il y a 17 ans, au lancement du FOSDEM, la focalisation était sur l’axe client, maintenant c’est sur le serveur qu’il faut se focaliser, d’où le lancement pour la première fois de cette salle. C’est le lancement, vous direz à vos petits-enfants : « J’y étais ! »</p>
<h3>A-t-on une chance de gagner vs Datacenter &amp; quantité de données ?</h3>
<p>Tristan Nitot exprime ici plutôt de l’enthousiasme, l’architecture d’internet est déjà décentralisée, de plus les fabricants de téléphone créent des microprocesseurs surpuissants et très économes, l’orange Pi est à 7 € pour quad cœur à 1,2 GHz.</p>
<h3>Comment diminuer la barrière à l’entrée ?</h3>
<p>Cozy est extrêmement simple à prendre en main, ce n’est pas la seule façon de faire, ni la meilleure, mais c’est un progrès et est très accessibles.</p>
<h2>Diaspora</h2>
<p><a href="https://fosdem.org/2017/schedule/event/diaspora/">Antoine Duparay (fla) présente</a> deux catégories d’utilisateurs entre l’utilisation inconséquente de Facebook à l’abstinence complète par crainte. Entre les deux explique-t-il, il y a de la place, c’est ce que propose Diaspora*.</p>
<p>On y trouve les fonctionnalités de base, de recherche, de mise en page et de partage, mais privé par défaut, toutes les options de partages sont au plus bas. Pas de vrai prénom et nom de famille n’est requis, même le courriel n’est pas vérifié. L’outil est tellement respectueux de votre vie privée, qu’il est même possible d’y accéder via Tor.</p>
<p>Le présentateur évoque clairement l’arrivée de l’État Islamique en 2014, le porteur du projet précise que Diaspora<em> ne vise pas à être anti-États, mais de combattre la centralisation par les grands acteurs économiques. Diaspora</em> étant comme un serveur de messagerie, couper un serveur ne signifie pas qu’il ne peut pas apparaître à côté.</p>
<p>La version 0.6 offre une nouvelle mise en page et ergonomie, et des travaux de fonds ont été menés sur le cœur du logiciel, notamment sur le mécanisme de Fédération, travail fait en commun avec pluiseurs acteurs : Diaspora*, Friendica, Hubzilla/Redmatrix (<a href="https://the-federation.info/">en savoir plus</a>.</p>
<p><img src="media/19a7ba81.82812e23a7e777f8b81090d2dff9a0b0" data-original-source="http://cdn.libravatar.org/avatar/82812e23a7e777f8b81090d2dff9a0b0" alt="Gravatar de Jean-Baptiste Holcroft" class="gravatar" /><br/><i>Original post of <a href="https://jibecfed.fedorapeople.org/blog/fosdem-decentralisation.html" title="Visit the source">Jean-Baptiste Holcroft</a>.Votez pour ce billet sur <a href="http://www.planet-libre.org" title="Aller sur le planet">Planet Libre</a>.</i></p>
<p><div class="similar-block"><h3>Articles similaires</h3><ul><li>Jean-Baptiste Holcroft : <a href="">Fin du FOSDEM &agrave; Bruxelles - merci !</a> (05/02/2017)</li></ul></div></p>


feed_id: https://jibecfed.fedorapeople.org/blog/fin-du-fosdem-a-bruxelles-merci.html
title: Jean-Baptiste Holcroft : Fin du FOSDEM à Bruxelles - merci !
uri: Jean-Baptiste-Holcroft-Fin-du-FOSDEM-à-Bruxelles-merci
url: https://jibecfed.fedorapeople.org/blog/fin-du-fosdem-a-bruxelles-merci.html
content:
<p>Pour mon premier <a href="https://fosdem.org/2017/">FOSDEM</a>, je suis très heureux de cette édition, d’abords parce que c’est un évènement majeur du logiciel libre européen auquel je souhaite assister depuis 10 ans, mais surtout par les rencontres et conférences auxquelles j’ai pu assister. Merci aux organisateurs et aux nombreux contributeurs !</p>
<h2>Beaucoup de discussions sur les traductions</h2>
<p>Ce fut l’occasion pour moi d’aller plus loin dans mon projet de communauté des traducteurs francophones :</p>
<ul><li>j’ai rencontré trois contributeurs de <a href="http://www.linuxfromscratch.org/">Linux From Scratch</a>, dont l’ancien président de traduc.org que j’aimerais relancer,</li>
<li>de discuter traduction avec le <a href="http://www.winglemeyer.org/ramblings/2017/01/26/FCAIC-in-the-house-2/">Fedora CAIC (Bex)</a> sur la nécessité d’une coordination des traductions et l’avancement de son projet de refonte du projet de documentation,</li>
<li>d’aborder la pauvreté de la communauté <a href="http://l10n.kde.org/">KDE</a> concernant son outillage de la traduction, qui me rend triste pour les nombreux outils KDE dont l’un d’entre eux que j’utilise : l’outil de traduction <a href="https://userbase.kde.org/Lokalize">Lokalize</a> qui est bien meilleur que <a href="https://poedit.net/">Poedit</a>,</li>
<li>de discuter outillage avec les développeurs de <a href="http://pootle.translatehouse.org/">Pootle</a>,</li>
<li>d’aborder la nécessité d’un analyseur statisque fournissant des corrélations entre les mots source/cible afin de détecter des incohérences.</li>
</ul><h3>Un projet plus concrêt</h3>
<p>En discutant sur ma vision concernant <a href="https://jibecfed.fedorapeople.org/blog/jaimerais-relancer-traducorg.html">mon projet d’animation des traducteurs francophones</a>, je pense maintenant pouvoir résumer le cœur du projet :</p>
<ul><li>une communauté de pratiques, partageant sur l’actualité de traduction, des outils à disposition et des démarches en cours. Pouvant lancer des traductions ou des projets plus techniques selon l’appétence de ses équipes.</li>
</ul><p>J’aimerais voir parler de retours d’expériences de traducteurs par rapport à leurs travaux, de coordinateurs par rapport à leurs outillages et de développeurs dans leur difficultés. C’est principalement une plateforme d’échange que je propose, se faisant le relais de l’actualité et des bonnes pratiques, pouvant s’emparer de problèmes pour les résoudre si les ressources sont présentes pour les animer.</p>
<p>Peut-être qu’on arrivera également à faire échanger la communauté du logiciel libre avec les traducteurs professionnels, Red Hat nous a produit un document de bonnes pratiques concernant les applications, mais nous pouvons aller beaucoup plus loin en sollicitant des experts linguistiques pour nous aider à aborder de la bonne façon la traduction de termes problématiques, dans la chasse aux incohérences classiques, etc.</p>
<p>On a discuté assez longtemps sur l’opportunité de faire une plateforme de traduction centrale et portant le projet. Mais je crains que nous n’ayons pas les ressources nécessaires pour gérer ce type d’outillage, mais surtout que les logiciels comme ceux-ci devraient proposer par défaut de l’hébergement de projets libres (<a href="http://hosted.weblate.org/">Weblate</a>, <a href="http://fedora.zanata.org/">Zanata</a> et <a href="http://www.transifex.net/projects/">Transifex</a> le font).</p>
<h2>Beaucoup de décentralisation</h2>
<p>J’ai assisté à plusieurs conférences sur la décentralisation d’internet, la file d’attente avant chaque conférence a mené à refuser l’entrée à de nombreux visiteurs, faute de pouvoir respecter les normes de sécurité en vigueur. J’ai raté la conférence <a href="http://yunohost.org/">YunoHost</a> qui a récolté une bonne quantité d’applaudissements.</p>
<p>Enfin, le rapprochement avec Framasoft se poursuit doucement, les applications disponibles arrivent et cela promet de ne faire que de s’améliorer dans le temps. J’ai hâte ! 😃</p>
<h2>Et tout le reste…</h2>
<p>C’est déprimant le nombre de choses intéressantes que j’aurais souhaité voir… J’ai raté la conférence de Misc sur la <a href="https://fosdem.org/2017/schedule/event/self_hosting_privacy/">sécurité dans le contexte de l’auto-hébergement</a>, celle concernant <a href="https://fosdem.org/2017/schedule/event/webchat/">conversejs</a> et l’<a href="https://fosdem.org/2017/schedule/event/localisation/">intégration continue des traductions</a> avec Pootle, et tellement d’autres ! Ce FOSDEM va me donner des heures et des heures de visionnage de vidéos, j’espère que cette année on les aura toutes !</p>
<p><img src="media/19a7ba81.82812e23a7e777f8b81090d2dff9a0b0" data-original-source="http://cdn.libravatar.org/avatar/82812e23a7e777f8b81090d2dff9a0b0" alt="Gravatar de Jean-Baptiste Holcroft" class="gravatar" /><br/><i>Original post of <a href="https://jibecfed.fedorapeople.org/blog/fin-du-fosdem-a-bruxelles-merci.html" title="Visit the source">Jean-Baptiste Holcroft</a>.Votez pour ce billet sur <a href="http://www.planet-libre.org" title="Aller sur le planet">Planet Libre</a>.</i></p>
<p><div class="similar-block"><h3>Articles similaires</h3><ul><li>Jean-Baptiste Holcroft : <a href="">Traduction des langues, pays et autres - merci Unicode</a> (20/01/2017)</li><li>Jean-Baptiste Holcroft : <a href="">FOSDEM - d&eacute;centralisation</a> (05/02/2017)</li></ul></div></p>


feed_id: https://www.bloguslibrus.fr/post/20170204-installer-nextcloud-sur-son-raspberry/
title: Bridouz : Installer Nextcloud sur son Raspberry
uri: 2017-02-05-Bridouz-Installer-Nextcloud-sur-son-Raspberry
url: https://www.bloguslibrus.fr/post/20170204-installer-nextcloud-sur-son-raspberry/
content:
<p>Il y a quelques temps j’avais évoqué ici mon acquisition d’un raspberry pi 3 pour me faire un petit serveur @home. Depuis le début j’utilisai la distribution DietPi, basée sur Raspbian avec pleins d’améliorations et des logiciels pré-configurés installables en quelques clics. Le serveur tournait parfaitement, sans avoir besoin de bidouiller la bête. Mais c’est lors d’un banal renouvellement de certificats <em>letsencrypt</em> que les ennuis ont commencé.</p>

<p>L’outils <em>Dietpi-Letsencrypt</em> m’indiqua qu’aucun serveur web n’était configuré sur la machine. J’essaie de passer de Lighttpd à Nginx, toujours le même message d’erreur. Une réinstallation n’a rien changé alors il a fallu tourner la page, revenir à du Raspbian pure pour tout faire comme un grand à la main, mieux comprendre les rouages. Voici donc les quelques notes prises pendant cette aventure.</p>

<p></p>

<h1>Installer Raspbian</h1>

<p><strong>Raspbian</strong> est la distribution officielle pour les Raspberry, elle est basée sur Debian et apporte toute la stabilité dont la distribution mère tire sa renommée.</p>

<p>Pour télécharger la distribution il faut se rendre sur <a href="https://www.raspberrypi.org/downloads/raspbian/">le site officiel de la fondation Raspberry</a>, on y trouve alors deux images :</p>

<ul><li>Raspbian Jessie avec le bureau maison <em>Pixel</em>.</li>
<li>Raspbian Jessie Lite.
<br></li>
</ul><p>La première image est plus lourde et offre une interface graphique légère, la deuxième quant à elle, est plus légère et s’oriente donc logiquement vers une base pour un serveur.</p>

<blockquote>
<p>Une fois l’image téléchargée, libre à chacun de la copier sur la carte SD avec son outil préféré. <em>DD</em> fait très bien le boulot par exemple.</p>
</blockquote>

<h2>Boot headless</h2>

<p>Nous voulons donc créer un serveur <em>headless</em>, sans écran. Cela veut dire qu’il va falloir passer par une connexion <em>ssh</em> pour avoir accès à Raspbian en ligne de commande.</p>

<p>Par défaut Raspbian n’active pas <em>ssh</em>, cela depuis novembre 2016 et l’affaire des attaques DDOS à travers des objets connectés. Il faut donc l’activer à la main une fois l’installation automatique faite.<br>
Pour ne pas avoir à brancher un écran au Raspberry afin d’activer SSH, une astuce existe. Il suffit de créer un fichier nommé <code>ssh</code> dans le dossier <code>/boot</code> pour activer le service à la première connexion. Le fichier peut rester vide, seul sa présence compte.</p>

<p>Il est également possible de configurer une connexion wifi au premier démarrage en éditant le fichier <code>/etc/wpa/supplicant/wpa/supplicant.conf</code> :</p>

<pre><code>network={
    ssid="NomduRéseauWIFI"
    psk="motdepasswifi"
}
</code></pre>

<blockquote>
<p>Il est également possible de modifier le port de connexion <em>ssh</em> en éditant le fichier <code>/etc/ssh/sshd_config</code>. Ainsi le serveur se verra un peu plus protégé des attaques automatiques sur le port 22.</p>
</blockquote>

<h1>Serveur Web et Base de Données</h1>

<p>Raspbian est maintenant installée, il va falloir s’occuper du serveur web. Pour cela je suis parti sur un combo Nginx/MariaDB, les deux logiciels ont une très bonne réputation et la documentation est abondante.</p>

<h2>Nginx + MariaDB :</h2>

<p>Commençons par mettre à jour son OS puis installer les logiciels :</p>

<pre><code>sudo apt-get update
sudo apt-get upgrade
sudo apt-get install nginx mariadb-server mariadb-client
</code></pre>

<blockquote>
<p>Lors de l’installation de MariaDB un mot de passe vous sera demandé pour se connecter avec l’utilisateur <em>root</em> à la base de données.</p>
</blockquote>

<h2>Configuration de MariaDB</h2>

<p>Le logiciel de contrôle de base de données est maintenant installé. Il va falloir le configurer pour permettre à <strong>Nextcloud</strong> d’écrire dessus.</p>

<blockquote>
<p>Pour sécuriser d’avantage sa base SQL il est possible de lancer la commande <code>mysql_secure_installation</code>.</p>
</blockquote>

<h3>Création de la base mysql</h3>

<p>Pour se connecter à la base nous utilisons la commande suivante : <code>mysql -u root -p</code>, le mot de passe crée lors de l’installation de MariaDB sera alors demandé.</p>

<p>Nous allons maintenant créer la base de données pour <strong>Nextcloud</strong>, configurer l’utilisateur qui pourra s’y connecter et gérer la base de données.</p>

<pre><code>## Création de la base de données
create database nextcloud;

## Création de l'utilisateur
CREATE USER "nextclouduser"@"localhost" ;

## Définition d'un mot de passe
SET password FOR "nextclouduser"@"localhost" = password('mot_de_passe_pour_nextcloud') ;

## Attribution des privilèges pour la base
GRANT ALL ON nextcloud.* TO "nextclouduser"@"localhost" ;

## Néttoyer les privilèges
flush privileges;

## Quitter MySQL
exit;
</code></pre>

<h2>Nginx et Php</h2>

<p>Maintenant que Nginx est installé et que la base de données est crée nous allons installer PHP et divers modules nécessaires au bon fonctionnement de <strong>Nextcloud</strong>.</p>

<pre><code>sudo apt-get install php5-curl php5-gd php5-tidy php5-mysql php5-intl php5-mcrypt php5-imagick php-xml-parser`php5-fpm
</code></pre>

<p>Pour paramétrer <code>nginx</code> pour inclure <code>php5-fpm</code> dans la configuration et donc pouvoir utiliser <strong>Nextcloud</strong> il faudra inclure le code suivant dans la configuration <code>nginx</code>. On y reviendra plus tard.</p>

<pre><code>include fastcgi_params;
fastcgi_split_path_info ^(.+\\.php)(/.*)$;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
fastcgi_param PATH_INFO $fastcgi_path_info;
fastcgi_param HTTPS on;
#Avoid sending the security headers twice
fastcgi_param modHeadersAvailable true;
fastcgi_param front_controller_active true;
fastcgi_pass php-handler;
fastcgi_intercept_errors on;
</code></pre>

<blockquote>
<p>La commande <code>nginx -t</code> permet de contrôler vos fichiers de configuration Nginx et de relever les erreurs de syntaxe qui pourraient nuire au bon fonctionnement du serveur. C’est donc une commande à utiliser sans modération !</p>
</blockquote>

<h1>Certbot</h1>

<p>Pour obtenir un certificat SSL pour notre serveur et ainsi assurer une connexion chiffrée avec le navigateur ou le client il est maintenant possible d’utiliser <em>Certbot</em> aka <em>Letsencrypt</em> pour générer le dit certificat localement. L’outil est notamment développé par l’EFF et Mozilla.</p>

<blockquote>
<p>Il est important d’avoir au préalable un nom de domaine pour votre serveur. Il est possible d’en acheter un auprès de fournisseurs tels <strong>OVH</strong> ou <strong>Gandhi</strong>. Ou alors il est également possible de passer par un service de DNS Dynamique (DDNS) comme <strong>[no-ip]</strong>(<a href="https://www.noip.com/">https://www.noip.com</a>), ce dernier a d’ailleurs un <a href="https://www.noip.com/support/knowledgebase/install-ip-duc-onto-raspberry-pi/">outil disponible</a> qui s’installe sur Raspbian et qui connecte automatiquement votre serveur avec votre nom de domaine noip crée.</p>
</blockquote>

<h2>Récupérer Certbot</h2>

<blockquote>
<p>le root nginx de base se situe dans /var/www/html, j’ai choisi /var/www pour une meilleure gestion de mes différents services sur mon serveur.</p>
</blockquote>

<p>Dans un premier temps nous devons récupérer <code>certbot</code> et le rendre exécutable :</p>

<pre><code>wget https://dl.eff.org/certbot-auto
chmod a+x certbot-auto
</code></pre>

<p>Il faut alors modifier le fichier de configuration Nginx <code>/etc/nginx/sites/available/default/</code> pour y insérer la localisation <code>.well-known</code> qui est utilisé par l’ACME Challenge pour vous délivrer un certificat.</p>

<pre><code>sudo nano /etc/nginx/sites-available/default

### Rajouter les lignes suivantes à celle du bloc Serveur SSL
        location ~ /.well-known {
                allow all;
        }
</code></pre>

<p>Une fois cela fait nous allons redémarrer Nginx : <code>service nginx reload</code></p>

<p>Maintenant on envoie <em>Certbot</em> au charbon avec <code>./path/to/certbot-auto certonly --webroot -w /var/www -d votresite.com</code></p>

<p>Si tout c’est bien passé les certificats sont créés, on peut rapidement voir le résultat en allant fouiller dans les repertoires de certbot :<br><code>ls -l /etc/letsencrypt/live/your_domain_name</code></p>

<blockquote>
<p>Il faudra penser à ajouter le nom de domaine du serveur dans le fichier de configuration Nginx</p>
</blockquote>

<h2>Ajout des certificats à Nginx</h2>

<p>Nous devons éditer le fichier de configuration d’Nginx pour ajouter l’URL de notre serveur ainsi que les lignes suivantes pour pointer vers les certificats créés par Certbot.</p>

<p>Pour faciliter la gestion des différents paramètres dans le fichier <code>default</code> Nginx nous allons utiliser des snippets. Ce qui va permettre de séparer les différents paramètres dans des fichiers distincts, que l’on pourra plus rapidement éditer par la suite.</p>

<pre><code>sudo nano /etc/nginx/snippets/ssl-letsencrypt.conf

# Ajouter le certificat SSL
ssl_certificate /etc/letsencrypt/live/nodenixbox.com/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/nodenixbox.com/privkey.pem;/
</code></pre>

<h2>Amélioration du niveau SSL</h2>

<p>Les certificats générés de base par Certbot sont bons mais, il est possible de les rendre encore plus fort :</p>

<pre><code># Générer un Strong Diffie-Hellman Group
sudo openssl dhparam -out /etc/ssl/certs/dhparam.pem 2048
</code></pre>

<p>Le fichier crée (<code>/etc/ssl/certs/dhparam.pem</code>) sera utilisé par la suite pour le serveur.</p>

<h3>Cypher et Android</h3>

<p>Lors de ma première connexion du client Nextcloud Android avec mon instance je rencontrais une erreur qui indiquait que la connexion était impossible, un rapide tour sur le web indiqua qu’il fallait utiliser le cypher <code>ECDHE-RSA-AES128-SHA</code> pour que la synchronisation fonctionne correctement.</p>

<p>Nous allons de nouveau utiliser un snippets pour incorporer les paramètres ssl pour le serveur :
<em>Les paramètres sont issus de <a href="https://docs.nextcloud.com/server/11/admin_manual/installation/nginx_nextcloud_9x.html">la documentation officielle Nextcloud</a> et du site <a href="https://cipherli.st/">cipherli.st</a>.</em></p>

<pre><code>ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
ssl_prefer_server_ciphers on;
ssl_ciphers "ECDHE-RSA-AES128-SHA";
ssl_ecdh_curve secp384r1;
ssl_session_cache shared:SSL:10m;
ssl_session_tickets off;
ssl_stapling on;
ssl_stapling_verify on;
resolver 8.8.8.8 8.8.4.4 valid=300s;
resolver_timeout 5s;
# Disable preloading HSTS for now.  You can use the commented out header line that includes
# the "preload" directive if you understand the implications.
#add_header Strict-Transport-Security "max-age=63072000; includeSubdomains; preload";
add_header Strict-Transport-Security "max-age=63072000; includeSubdomains";
add_header Cache-Control "public, max-age=7200";
add_header X-Content-Type-Options nosniff;
add_header X-Frame-Options "SAMEORIGIN";
add_header X-XSS-Protection "1; mode=block";
add_header X-Robots-Tag none;
add_header X-Download-Options noopen;
add_header X-Permitted-Cross-Domain-Policies none;
access_log off;

ssl_dhparam /etc/ssl/certs/dhparam.pem;
</code></pre>

<h1>Nextcloud</h1>

<h2>Installation</h2>

<p>L’installation est assez simple par la suite, il suffit de récupérer l’archive de la dernière version stable, de décompresser l’archive et de balancer le dossier dans <code>/var/www</code>:</p>

<pre><code>wget https://download.nextcloud.com/server/releases/latest.tar.bz2
tar xfvj latest.tar.bz2
sudo mv nextcloud /var/www
</code></pre>

<h3>Créer un dossier data</h3>

<p>Pour que Nextcloud fonctionne correctement il faut absolument créer un dossier <em>data</em> avec les permissions qui vont bien.</p>

<pre><code>sudo mkdir -p /var/www/nextcloud/data
sudo chown www-data:www-data /var/www/nextcloud/data
sudo chmod 750 /var/www/nextcloud/data
</code></pre>

<h3>Permissions</h3>

<pre><code>cd /var/www/nextcloud
sudo chown www-data:www-data config apps
</code></pre>

<blockquote>
<p>Pour vérifier que les permissions sont bien strictes la doc officielle de Nextcloud met à disposition un <a href="https://docs.nextcloud.com/server/9.0/admin_manual/installation/installation_wizard.html#strong-perms-label">petit script <em>bash</em></a> pour cela.</p>
</blockquote>

<p>Ensuite il ne reste plus qu’à se rendre sur l’URL <code>adressedevotrepi/nextcloud</code> pour démarrer l’installation</p>

<h2>Nextcloud et Nginx</h2>

<p>Maintenant nous allons paramétrer <code>nginx</code> pour inclure le dossier <strong>Nextcloud</strong> au serveur et ainsi arriver à la fin du périple et pouvoir par la suite utiliser Nextcloud sur notre serveur.</p>

<p>Il suffit d’éditer le fichier de configuration <code>default</code> et d’y indiquer :</p>

<pre><code>#################
### Nextcloud ###
#################
     location ~ /.well-known {
        allow all;
    }

    # The following 2 rules are only needed for the user_webfinger app.
    # Uncomment it if you're planning to use this app.
    # rewrite ^/.well-known/host-meta /nextcloud/public.php?service=host-meta
    # last;
    #rewrite ^/.well-known/host-meta.json
    # /nextcloud/public.php?service=host-meta-json last;

    location = /.well-known/carddav {
      return 301 $scheme://$host/nextcloud/remote.php/dav;
    }
    location = /.well-known/caldav {
      return 301 $scheme://$host/nextcloud/remote.php/dav;
    }

    location /.well-known/acme-challenge { }
    
    location ^~ /nextcloud {

        # set max upload size
        client_max_body_size 512M;
        fastcgi_buffers 64 4K;

        # Disable gzip to avoid the removal of the ETag header
        gzip off;

        # Uncomment if your server is build with the ngx_pagespeed module
        # This module is currently not supported.
        #pagespeed off;

        error_page 403 /nextcloud/core/templates/403.php;
        error_page 404 /nextcloud/core/templates/404.php;

        location /nextcloud {
            rewrite ^ /nextcloud/index.php$uri;
        }

        location ~ ^/nextcloud/(?:build|tests|config|lib|3rdparty|templates|data)/ {
            deny all;
        }
        location ~ ^/nextcloud/(?:\\.|autotest|occ|issue|indie|db_|console) {
            deny all;
        }

        location ~ ^/nextcloud/(?:index|remote|public|cron|core/ajax/update|status|ocs/v[12]|updater/.+|ocs-provider/.+|core/templates/40[34])\\.php(?:$|/) {
            include fastcgi_params;
            fastcgi_split_path_info ^(.+\\.php)(/.*)$;
            fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
            fastcgi_param PATH_INFO $fastcgi_path_info;
            fastcgi_param HTTPS on;
            #Avoid sending the security headers twice
            fastcgi_param modHeadersAvailable true;
            fastcgi_param front_controller_active true;
            fastcgi_pass php-handler;
            fastcgi_intercept_errors on;
        }

        location ~ ^/nextcloud/(?:updater|ocs-provider)(?:$|/) {
            try_files $uri/ =404;
            index index.php;
        }

        # Adding the cache control header for js and css files
        # Make sure it is BELOW the PHP block
        location ~* \\.(?:css|js|woff|svg|gif)$ {
            try_files $uri /nextcloud/index.php$uri$is_args$args;
            add_header Cache-Control "public, max-age=7200";
            # Add headers to serve security related headers  (It is intended
            # to have those duplicated to the ones above)
            # Before enabling Strict-Transport-Security headers please read
            # into this topic first.
            # add_header Strict-Transport-Security "max-age=15768000;
            # includeSubDomains; preload;";
            add_header X-Content-Type-Options nosniff;
            add_header X-Frame-Options "SAMEORIGIN";
            add_header X-XSS-Protection "1; mode=block";
            add_header X-Robots-Tag none;
            add_header X-Download-Options noopen;
            add_header X-Permitted-Cross-Domain-Policies none;
            # Optional: Don't log access to assets
            access_log off;
        }

        location ~* \\.(?:png|html|ttf|ico|jpg|jpeg)$ {
            try_files $uri /nextcloud/index.php$uri$is_args$args;
            # Optional: Don't log access to other assets
            access_log off;
        }
    }
</code></pre>

<h2>Peaufinage et Sécurité</h2>

<h3>Sécuriser son dossier data</h3>

<p>Il est recommandé de placer son dossier <em>data</em> en dehors de la racine du serveur web pour éviter toute intrusion. Comme je ne suis pas un mec qui réfléchit de base je n’ai pas fait la manipulation avant l’installation mais bien après.</p>

<pre><code>sudo mkdir /var/nextcloud
sudo mv -v /var/www/nextcloud/data /var/nextcloud/data
</code></pre>

<p>Puis il faut éditer le fichier <code>config.php</code> de Nextcloud et modifier la ligne <code>'datadirectory' => '/var/www/nextcloud/data',</code> pour y modifier le chemin vers le dossier <em>data</em>.</p>

<blockquote>
<p>Il est d’ailleurs possible de faire la manip’ avant l’installation de Nextcloud pour n’avoir qu’à sélectionner le dossier data sécurisé lors de l’installation. C’est tout aussi pratique.</p>
</blockquote>

<h3>Getenv</h3>

<p>Lors de mon installation Nextcloud indiqua que la fonction <code>Getenv</code> de PHP n’était pas trouvable. Il faut alors décommenter la ligne <code>PHP : ;env[PATH] = /usr/local/bin:/usr/bin:/bin</code> dans le fichier <code>/etc/php5/fpm/pool.d/www.conf</code></p>

<h3>Memcache</h3>

<p>Nextcloud me renvoyait également une erreur au sujet de Memcache. Un tour sur <a href="https://docs.nextcloud.com/server/9/admin_manual/configuration_server/caching_configuration.html">la doc</a> et la solution est trouvée.</p>

<pre><code># Installer un Memcache
sudo apt-get install php5-apcu

# Ajouter le memcache à nextcloud
sudo nano nextcloud/config/config.php
'memcache.local' => '\\OC\\Memcache\\APCu', # à ajouter #
</code></pre>

<p>Maintenant tout est bon pour faire tourner Nextcloud sans erreur, nous n’avons plus qu’à redémarrer les services <code>php5-fpm</code> et <code>nginx</code> et tada.</p>

<p>Nous pouvons maintenant profiter de la dernière version stable de <strong>Nextcloud</strong> sur un petit serveur @Home où seul votre connexion internet sera une limite.</p>
<p><img src="media/06ba8eba.7d1e02f86fac7aa11519ad0a32657aa1" data-original-source="http://cdn.libravatar.org/avatar/7d1e02f86fac7aa11519ad0a32657aa1" alt="Gravatar de Bridouz" class="gravatar" /><br/><i>Original post of <a href="https://www.bloguslibrus.fr/post/20170204-installer-nextcloud-sur-son-raspberry/" title="Visit the source">Bridouz</a>.Votez pour ce billet sur <a href="http://www.planet-libre.org" title="Aller sur le planet">Planet Libre</a>.</i></p>
<p><div class="similar-block"><h3>Articles similaires</h3><ul><li>Bridouz : <a href="">Installer Nextcloud sur son Raspberry</a> (05/02/2017)</li><li>Angristan : <a href="">Installer Rasbian sur son Raspberry Pi (via Windows)</a> (29/10/2014)</li></ul></div></p>


title: Journal du hacker : Liens intéressants Journal du hacker semaine #05
uri: Journal-du-hacker-Liens-intéressants-Journal-du-hacker-semaine-05
feed_id:
https://blog.journalduhacker.net/index.php?article89/liens-interessants-journal-du-hacker-semaine-05

url:
https://blog.journalduhacker.net/index.php?article89/liens-interessants-journal-du-hacker-semaine-05

content:
<p>Pour la 5ème semaine de 2017, voici 5 liens intéressants que vous avez peut-être ratés, relayés par <a href="https://www.journalduhacker.net/">le Journal du hacker</a>, votre source d’informations pour le Logiciel Libre francophone !</p>

<a href="https://www.journalduhacker.net/"><img src="media/01f45034.logo-journal-du-hacker.png" data-original-source="https://blog.journalduhacker.net/data/medias/logo-journal-du-hacker.png"></a>

<ul><li><a href="https://www.journalduhacker.net/s/duqpwo/version_2_du_journal_du_hacker">Version 2 du Journal du hacker</a></li>
<li><a href="https://www.journalduhacker.net/s/35ztxn/le_journal_du_hacker_le_site_du_nimporte">Le journal du Hacker: le site du n'importe quoi</a></li>
<li><a href="https://www.journalduhacker.net/s/plpn3r/l_tat_investit_dans_qwant_le_concurrent">L'état investit dans Qwant, le concurrent européen de Google</a></li>
<li><a href="https://www.journalduhacker.net/s/tegfez/firefox_os_mozilla_dissout_l_quipe_et">Firefox OS : Mozilla dissout l'équipe et licencie</a></li>
<li><a href="https://www.journalduhacker.net/s/u61ulw/gpg_comment_cr_er_une_paire_de_clefs">GPG : comment créer une paire de clefs presque parfaite</a></li>
</ul><p>Pour ne plus rater aucun article de la communauté francophone, voici :</p>

<ul><li><a href="https://www.journalduhacker.net/rss">Le flux RSS du Journal du hacker</a></li>
<li><a href="https://twitter.com/journalduhacker">Le compte Twitter du Journal du hacker</a></li>
<li><a href="https://framasphere.org/u/journalduhacker">Le compte Diaspora* du Journal du hacker</a></li>
</ul><p>De plus le site web du Journal du hacker est « adaptatif (responsive) ». N’hésitez pas à le consulter depuis votre smartphone ou votre tablette !</p>

<p>Le Journal du hacker fonctionne de manière collaborative, grâce à la participation de ses membres. <a href="https://www.journalduhacker.net/invitations/request">Rejoignez-nous</a> pour proposer vos contenus à partager avec la communauté du Logiciel Libre francophone et faire connaître vos projets !</p>

<p><strong>Et vous ? Qu’avez-vous pensé de ces articles ?</strong> 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 :)</p>
<p><img src="media/ffe97a17.7916ee3cafa0bc3e9583bedad876dcd5" data-original-source="http://cdn.libravatar.org/avatar/7916ee3cafa0bc3e9583bedad876dcd5" alt="Gravatar de Journal du hacker" class="gravatar" /><br/><i>Original post of <a href="https://blog.journalduhacker.net/index.php?article89/liens-interessants-journal-du-hacker-semaine-05" title="Visit the source">Journal du hacker</a>.Votez pour ce billet sur <a href="http://www.planet-libre.org" title="Aller sur le planet">Planet Libre</a>.</i></p>


title: alterlibriste : Plongée dans les entrailles d'une machine
uri: alterlibriste-Plongée-dans-les-entrailles-d-une-machine
feed_id:
http://alterlibriste.free.fr/index.php?post/2017/02/06/Plong%C3%A9e-dans-les-entrailles-d-une-machine

url:
http://alterlibriste.free.fr/index.php?post/2017/02/06/Plong%C3%A9e-dans-les-entrailles-d-une-machine

content:
<p>Je parlais dans un <a href="http://alterlibriste.free.fr/index.php?post/2016/12/05/Activit%C3%A9s-informatiques-de-ces-derniers-mois">précédent billet</a> d’un vieil ordi que j’ai récupéré chez mes parents. N’ayant pas (encore) l’utilité (et la possibilité) de l’installer cher moi, je l’ai proposé à une de mes sœurs qui n’a plus de desktop. Elle fait la majeure partie de son informatique sur une tablette Apple mini récupérée et l’ordi du boulot, ce qui n’est pas forcément au mieux pour la gestion des photos ou pour faire des documents administratifs. Elle a donc été ravie et plutôt favorable aux logiciels libres.</p>


<p>La bête est un desktop datant de 2007 avec un AMD 64, une carte vidéo ATI, un dd de 150Go et 1Go de RAM. Pas de quoi faire des folies. Mais tout est clean dedans. Mon père s’était (plus ou moins) amusé à y installer une Debian (Wheezy) mais a abandonné pour un laptop sous Win10 (snif!). Tout semblait donc OK mais la mémoire vive et le disque dur étaient plutôt limitant.</p>


<p>J’ai donc commencé par acheter une barrette de RAM 2Go et un ssd de 60Go, le tout, sans considération pour la qualité ou la marque, pour une quarantaine d’Euros. Il s’agit d’une opération de sauvetage pour en faire un PC bureautique opérationnel, pas un truc de gamer ou de montage vidéo.</p>


<p>Ma politique actuelle est d’installer LMDE sur les PC des autres. Dessous, c’est du Debian que je commence à bien maîtriser et en surcouche, il y a tout ce qu’il faut pour que ce soit esthétique et utilisable out-of-the-box avec tous les logiciels de base indispensables pour le commun des mortels. Bref, une Debian user-friendly avec un aspect qui ne déroute pas ceux qui sont habitués à Windows.</p>


<p>Je ne reviendrais pas sur l’installation qui s’est passée sans difficulté particulière mais plus sur l’aspect matériel. J’ai parlé récemment <a href="http://alterlibriste.free.fr/index.php?post/2017/01/16/Comment-sauver-son-BIOS">des problèmes de BIOS</a> et joyeusetés dans le genre. C’est un aspect assez peu développé dans les articles traitant d’informatique ou de logiciels libres, s’attardant bien plus volontiers sur l’administration système à la ligne de commande, les langages de développement ou les sorties logicielles.</p>


<p>C’est sûr que le matériel ne change pas tant que ça et on s’intéresse plus volontiers aux nouveautés qui vont laisser sur place le matériel actuel (encore que cette tendance a nettement diminué). Pourtant, dans le reconditionnement de matériel, c’est un élément essentiel, être un véritable technicien informatique (pas le vendeur qui tente de vendre du matériel neuf en feignant que tout est bon pour la poubelle). Car c’est bien cette partie qui m’a pris le plus de temps et pour progresser dans le domaine, on n’a pas d’autre choix que la pratique, chaque cas étant plus ou moins unique.</p>


<p><img src="media/9f53f803.computer_internals.jpg" data-original-source="http://daddybob.com/computer_components/computer_internals.jpg" alt=""></p>


<p>Ici, rien de bien compliqué : ajouter une barrette de RAM et un ssd. Pourtant, c’est bien ce qui m’a pris le plus de temps :</p>
<ul><li>Les deux barrettes de mémoire n’étant pas les mêmes, elles n’étaient pas sensées être compatibles et parfois l’une était reconnue, parfois l’autre, soit parce qu’elle n’était pas dans le bon compartiment, soit parce qu’elle était mal enfoncée, ça fait un nombre de redémarrage assez conséquent. J’ai cru un moment ne garder que celle de 2Go mais cela aurait été dommage de ne pas profiter des 3Go dispo et j’ai finalement réussi à force d’essais en les mettant dans le même module.<br></li>
<li>De même, pour brancher le ssd, j’ai pris un des ports SATA dispo sachant qu’il y avait déjà un lecteur DVD et l’autre disque dur et bien dans certaines configurations, le boot mettait du temps à identifier le ssd et refusait de booter dessus. <br></li>
</ul><p>Encore une fois, cela s’est bien sûr accompagné de plongées dans le BIOS pour adapter au mieux les paramètres. <br>
Bref, beaucoup d’essais/erreurs que certains ne veulent pas toujours prendre le temps de faire pour aboutir à une configuration optimale et profiter du plein potentiel de la machine, ce qui serait dommage (surtout pour un PC qui va fêter ses 10 ans et qui n’a pas trop de ressources).</p>


<p>Mais ce fut encore une bonne expérience et surtout la satisfaction d’avoir remis en état du matériel qui, je le souhaite, rendra encore de nombreux services.</p>
<p><img src="media/2a099e18.9ff6af75660c788842bdb4e186b8909f" data-original-source="http://cdn.libravatar.org/avatar/9ff6af75660c788842bdb4e186b8909f" alt="Gravatar de alterlibriste" class="gravatar" /><br/><i>Original post of <a href="http://alterlibriste.free.fr/index.php?post/2017/02/06/Plong%C3%A9e-dans-les-entrailles-d-une-machine" title="Visit the source">alterlibriste</a>.Votez pour ce billet sur <a href="http://www.planet-libre.org" title="Aller sur le planet">Planet Libre</a>.</i></p>
<p><div class="similar-block"><h3>Articles similaires</h3><ul><li>alterlibriste : <a href="">Installer un Tiny Tiny RSS sur un Raspberry Pi</a> (20/06/2016)</li><li>alterlibriste : <a href="">Tribulations de mon ASUS X751L</a> (05/09/2016)</li><li>alterlibriste : <a href="">Activit&eacute;s informatiques de ces derniers mois</a> (05/12/2016)</li></ul></div></p>


feed_id: http://blog.fedora-fr.org/renault/post/Retour-du-FOSDEM
title: Renault : Retour du FOSDEM
uri: Renault-Retour-du-FOSDEM
url: http://blog.fedora-fr.org/renault/post/Retour-du-FOSDEM
content:
<p>Et voilà, le <a href="https://fosdem.org/2017/" hreflang="en" title="FOSDEM">FOSDEM</a> c'est terminé. Pour une fois que l'occasion se présente d'y
assister, il fallait que je vive sur place. <img src="media/b198d622.smile.png" data-original-source="http://blog.fedora-fr.org/themes/default/smilies/smile.png" alt=":-)"></p>
<p>De manière générale c'est un très bel évènement, bravo aux organisateurs car
malgré la complexité de l'emploi du temps et du monde présent, cela s'est bien
passé selon moi. Pour avoir déjà organisé des évènements de taille modeste en
comparaison (maximum 100 visiteurs), j'imagine la quantité de travail
nécessaire pour aboutir à ce résultat.</p>
<p>C'est d'ailleurs le caractère frustrant de ce type d'évènements. Trop peu de
temps pour tant de choses à faire ou à voir.</p>
<p><img src="media/f3802327.fosdem-attendee-2017.png" data-original-source="http://blog.fedora-fr.org/public/renault/fosdem-attendee-2017.png" alt="" title="fosdem-attendee-2017.png, fév. 2017"></p>
<h3>Conférences</h3>
<p>Pour ma part, le programme des conférences était celui-ci (dans le désordre)
:</p>
<ul><li><a href="https://fosdem.org/2017/schedule/event/modularity_and_generational_core/" hreflang="en">La modularité dans le projet Fedora</a> ;</li>
<li><a href="https://fosdem.org/2017/schedule/event/secure_safe_embedded_updates/" hreflang="en">Mise à jour des systèmes embarqués</a> ;</li>
<li><a href="https://fosdem.org/2017/schedule/event/sniffing_usb/" hreflang="en">Débogage d'un pilote USB</a> ;</li>
<li><a href="https://fosdem.org/2017/schedule/event/terrible_bsp/" hreflang="en">Les déboires des BSPs dans l'univers des systèmes embarqués (composants
pas à jour, outils et patchs crades voire non documentés, etc.)</a></li>
<li><a href="https://fosdem.org/2017/schedule/event/riscv/" hreflang="en">L'architecture RISC V</a> ;</li>
<li><a href="https://fosdem.org/2017/schedule/event/the_machine/" hreflang="en"><em>Free software for the machine</em>, je ne saurais pas trop traduire le
titre proprement, sur une architecture orientée mémoire mais dont je n'ai pas
tout compris de l'intérêt</a> ;</li>
<li><a href="https://fosdem.org/2017/schedule/event/yunohost/" hreflang="en">Yunohost</a> ;</li>
<li><a href="https://fosdem.org/2017/schedule/event/microkernel_helenos_year_of_the_fire_monkey/" hreflang="en">HelenOS</a> ;</li>
<li><a href="https://fosdem.org/2017/schedule/event/grub_new_maintainers/" hreflang="en">GRUB</a> ;</li>
<li><a href="https://fosdem.org/2017/schedule/event/python_data_structures/" hreflang="en">La représentation interne des listes et des dictionnaires en
Python.</a></li>
</ul><p>Dans l'ensemble c'était intéressant, de quoi collecter des noms, liens ou
idées pour approfondir ces sujets. Comme cela peut se voir, j'ai plutôt
privilégié les systèmes embarqués / systèmes d'exploitation, en lien avec mon
travail et ma spécialité. J'ai regretté de ne pas avoir pu assister à celle sur
RedoxOS, salle déjà comble à mon arrivée (pourtant j'étais en avance !).</p>
<p>Petit bémol sur la conf pour la modularité (qui provient de Fedora.next avec
premier jet pour F26 Server), si cela a bien expliqué l'architecture de la
chose, j'ai un peu de mal concrètement à saisir ses répercutions pour
l'utilisateur et comment il va l'exploiter. Va falloir que je teste un peu pour
l'annonce de F26. <img src="media/b198d622.smile.png" data-original-source="http://blog.fedora-fr.org/themes/default/smilies/smile.png" alt=":-)"></p>
<h3>Des rencontres...</h3>
<p>Avec un évènement de cette taille, il est évident que l'on retrouve du beau
monde et on passe du temps à discuter.</p>
<p>Cela a bien sûr été l'occasion de retrouver la communauté de Fedora-fr :
<a href="http://blog.fedora-fr.org/eseyman/" hreflang="fr">Emmanuel</a>, Haikel, <a href="http://blog.pingoured.fr/" hreflang="en">Pierre-Yves</a>, <a href="http://blog.kwizart.fr/" hreflang="en">Nicolas</a>, Marianne, Michael dont on
a partagé un repas le vendredi soir très agréable. De rencontrer des membres du
projet Fedora ou de Red-Hat que je ne connaissais pas personnellement comme
spot ou Benjamin Tissoires.</p>
<p>Hélas j'ai manqué <a href="https://jibecfed.fedorapeople.org/blog/author/jean-baptiste-holcroft.html" hreflang="fr">Jean-Baptiste</a> (malgré nos tentatives de se fixer un
rendez-vous dans la journée) et Kévin dont j'ai appris son passage après
l'évènement (via la page des badges de l'évènement pour les contributeurs de
Fedora). Mais bon, vu la taille et le monde, c'est difficile de voir tout le
monde facilement.</p>
<p>J'ai aussi pu enfin voir un membre de <a href="https://zestedesavoir.com/" hreflang="fr">Zeste de Savoir</a> (et du feu Site du Zér0) : Thomas Citharel.
Ou encore des membres de la communauté de mon téléphone <a href="https://jolla.com/" hreflang="en">Jolla</a> et de son système <a href="https://sailfishos.org/" hreflang="en">Sailfish OS</a>.</p>
<p>Bien entendu j'ai pu croiser des collègues de ma nouvelle entreprise
<a href="http://essensium.com/" hreflang="en">Essensium</a> - <a href="http://mind.be/" hreflang="en">Mind</a>.</p>
<p>Cela a bien sûr été l'occasion de discuter auprès de certains projets ou
d'en découvrir. Comme GRUB, OpenAutomotive Linux ou encore <a href="https://www.mozilla.org/fr/" hreflang="fr">Mozilla</a>. Mozilla qui a récupéré
gentiment mon ZTE Open C sous Firefox OS qui traînait dans un tiroir. Et me
voilà armé pour apprendre Rust, en projet.</p>
<h3>... et des bogues !</h3>
<p>Et oui, être sous Rawhide réserve son lot de surprises. C'est une aventure
constante, même aux moments où on en a le moins envie car on n'a pas le temps
ou le matériel pour réparer. Effet démo / loi de Murphy sans doute.</p>
<p>Et cela est arrivé lors de la conf... de la modularité de Fedora. C'est sans
doute fait exprès. C'est LUKS qui au lancement de la machine refusait de
déchiffrer mes partitions. Pourtant j'ai testé plein de fois le mot de passe,
en QWERTY, AZERTY ou BÉPO au cas où, rien n'y faisait. J'ai également essayé
avec un noyau plus ancien. Il a fallut un LiveCD (merci Emmanuel) et monter les
partitions avec pour que la situation revienne à la normale. Bogue assez gênant
dont je ne comprends pas l'origine. Je vais devoir creuser.</p>
<h3>Conclusion</h3>
<p>Ce fut un week-end très sympathique avec deux amis. Je comprends mieux la
réputation de cet évènement, et très clairement j'en serai l'année
prochaine.</p>
<p>Peut être que j'irais moins aux conférences cette fois pour plus profiter
des gens encore, je ne sais pas. Après tout certaines conférences seront
disponibles sur Internet (du moins je l'espère).</p>
<p><img src="media/d143d7a6.f792a7629fb4a46c01613eb1976730ef" data-original-source="http://cdn.libravatar.org/avatar/f792a7629fb4a46c01613eb1976730ef" alt="Gravatar de Renault" class="gravatar" /><br/><i>Original post of <a href="http://blog.fedora-fr.org/renault/post/Retour-du-FOSDEM" title="Visit the source">Renault</a>.Votez pour ce billet sur <a href="http://www.planet-libre.org" title="Aller sur le planet">Planet Libre</a>.</i></p>
<p><div class="similar-block"><h3>Articles similaires</h3><ul><li>Renault : <a href="">Le Logiciel Libre existe-t-il vraiment ? Amis du Libre, changeons de discours !</a> (04/01/2009)</li><li>Renault : <a href="">Yumex au placard, place &agrave; PackageKit</a> (29/11/2008)</li><li>Renault : <a href="">Le P2P est le mal, sauf pour t&eacute;l&eacute;charger Fedora !</a> (29/11/2008)</li><li>Renault : <a href="">Pour les nostalgiques : contribuez &agrave; la sauvegarde des th&egrave;mes de Fedora et d&#039;autres syst&egrave;mes libres !</a> (11/10/2008)</li><li>Framablog : <a href="">Pourquoi  la distribution Fedora ne distribue pas Chrome et Chromium ?</a> (22/10/2012)</li></ul></div></p>


feed_id: https://www.blog-libre.org/2017/02/07/deux-ans-de-journal-du-hacker/
title: blog-libre : Deux ans de Journal du hacker
uri: blog-libre-Deux-ans-de-Journal-du-hacker
url: https://www.blog-libre.org/2017/02/07/deux-ans-de-journal-du-hacker/
content:
<p>La semaine dernière <a href="http://blog.niqnutn.com/index.php?article68/le-journal-du-hacker-le-site-du-n-importe-quoi" target="_blank">nIQnutn</a> a publié un article intitulé « Le journal du hacker : le site du n’importe quoi ». Je vais revenir aujourd’hui sur le sujet. Quelques précisions : Je suis un gros contributeur du Jdh, j’y suis modérateur et inscrit depuis plus de 2 ans. Je parle en mon nom propre et pas au nom de l’équipe du Jdh, c’est d’ailleurs pour cela que je poste cet article sur mon blog.</p>
<h3>Agrégateur</h3>
<p>J’aime bien citer le <a href="https://www.journalduhacker.net/about" target="_blank">A propos</a> du Jdh pour expliquer les grandes lignes de son objectif : « Le Journal du hacker a pour ambition de présenter l’activité des hackers francophones, du mouvement du Logiciel Libre et open source en langue française, mais aussi des startups et du mouvement entrepreunarial de la communauté francophone. »</p>
<p>Dans les faits les contributeurs « suivent » un nombre important de sources (sites, blogs, réseaux sociaux, podcasts…) et lorsque cela correspond aux thèmes abordés par le Jdh alors certaines « infos » sont remontées et soumises sur le Jdh. Le Jdh rassemble, présente, met en valeur et en lumière certains contenus. C’est un agrégateur communautaire et participatif. Il permet de découvrir de nouvelles sources d’infos : Un nouveau blogueur, un article intéressant, un podcast sympa. Le Jdh ne crée/publie pas d’articles, il ne vise pas à remplacer les sites/blogs/services existants.</p>
<h3>Différents moyens d’utiliser le Jdh</h3>
<p>Le Jdh offre de <strong>très nombreux moyens</strong> de traiter et trier les informations remontées :</p>
<ul><li>Il y a tout d’abord la page d’<a href="https://www.journalduhacker.net/" target="_blank">accueil</a> mêlant contenu récent et contenu apprécié par les contributeurs via leurs votes</li>
<li>Il y a la page <a href="https://www.journalduhacker.net/newest" target="_blank">newest</a> (<a href="https://www.journalduhacker.net/newest.rss" target="_blank">RSS</a>) qui affiche les dernières infos soumises par ordre chronologique</li>
<li>On peut suivre la publication des articles via <a href="https://www.journalduhacker.net/rss" target="_blank">RSS</a>, <a href="https://twitter.com/journalduhacker" target="_blank">Twitter</a> ou <a href="https://framasphere.org/people/2aaaaba0110c0133c7ea2a0000053625" target="_blank">Diaspora*</a></li>
<li>On peut suivre uniquement les marques (tags) qui nous intéressent par RSS exemple <a href="https://www.journalduhacker.net/t/conteneurs.rss" target="_blank">Conteneurs</a>, il suffit pour cela de se rendre sur <a href="https://www.journalduhacker.net/filters" target="_blank">Filtres</a>, de cliquer sur une marque et de rajouter .rss sur l’URL ainsi <a href="https://www.journalduhacker.net/t/linux" target="_blank">https://www.journalduhacker.net/t/linux</a> devient <a href="https://www.journalduhacker.net/t/linux.rss" target="_blank">https://www.journalduhacker.net/t/linux.rss</a> afin de suivre cette marque par RSS</li>
<li>En tant qu’utilisateur inscrit on peut <a href="https://www.journalduhacker.net/filters" target="_blank">filtrer</a> les marques qui nous intéressent pour afficher uniquement certaines marques sur la page d’accueil</li>
<li>On peut utiliser le <a href="https://www.journalduhacker.net/search" target="_blank">moteur de recherche</a></li>
<li>En dernier recours si aucune de ces méthodes ne convient le moteur du Jdh est basé sur un <a href="https://gitlab.com/journalduhacker/journalduhacker" target="_blank">logiciel libre</a> et on peut télécharger sa <a href="https://www.journalduhacker.net/assets/database/journalduhacker.sql.tar.gz" target="_blank">base de données</a> générée chaque jour</li>
</ul><p>Les possibilités de <a href="https://github.com/jcs/lobsters" target="_blank">lobste.rs</a> et l’équipe du Jdh ont rendu le Jdh suffisamment souple et hackable pour que chacun puisse y trouver son compte.</p>
<h3>Des communautés</h3>
<p>Carl avait fait un excellent <a href="https://carlchenet.com/la-communaute-du-logiciel-libre-ca-nexiste-pas/" target="_blank">article</a> sur les communautés du Libre. Le Jdh a actuellement 446 utilisateurs inscrits (donc des contributeurs potentiels), plus de 3000 followers sur Twitter et plus de 470 sur Diaspora*. Le public du Jdh est composé de techniciens, sysadmins, développeurs, hackers, curieux, libristes, sympathisants et utilisateurs du Libre et de GNU/Linux. Il s’adresse à un public francophone (Français, Belge, Africain, etc.) peu importe leurs connaissances et leurs niveaux. Enfin il met en lumière, il fait la promotion des différents acteurs des communautés : Blogueurs, entrepreneurs, développeurs, etc.</p>
<p><strong>Il n’est pas destiné aux techniciens et aux professionnels mais à tous</strong>. Il y a un maître mot à comprendre ici, <strong>diversité</strong>. Un débutant ne verra aucun intérêt à des articles de développeur, un Africain n’a pas les mêmes problématiques et moyens qu’un Européen, un curieux s’intéressera à tout, un entrepreneur appréciera le coup de projecteur. Toutes ces personnes utiliseront le Jdh différemment, certains survoleront les infos sur Diaspora*, d’autres feront une veille active en suivant certaines marques via RSS, personnellement je me rends essentiellement sur <a href="https://www.journalduhacker.net/newest" target="_blank">newest</a>.</p>
<p>C’est une volonté forte et assumée de l’équipe du Jdh de s’adresser à tous, à ce sujet relire l’article de Carl <a href="https://carlchenet.com/journal-hacker-et-francophonie/" target="_blank">Journal du hacker et francophonie</a>. Par conséquent il n’y aura jamais une communauté ou des sujets/thèmes davantage favorisés que d’autres sur le Jdh.</p>
<h3>Miroir</h3>
<p>Le Jdh en tant qu’agrégateur ne crée pas d’articles. Certains utilisateurs se plaignent de ne pas voir suffisamment d’articles sur certains sujets/thèmes. Il y a par exemple actuellement 30 articles avec la marque « centos » et 299 avec la marque « debian ». Il y a 44 articles avec la marque « bsd » mais plus de 532 pour « linux ». Les personnes qui contribuent à remonter des infos sur le Jdh n’ont certainement pas une dent contre CentOS ou BSD. Le Jdh reflète simplement les contenus créés par les différentes communautés. Plus de personnes parleront de CentOS, plus il y aura d’articles sur CentOS sur le Jdh.</p>
<h3>Tri et modération</h3>
<p>Pour information un article soumis sur le Jdh n’est envoyé sur Diaspora*, Twitter, la page d’accueil et le flux RSS principal du Jdh qu’à partir de deux votes sur l’article.</p>
<p>Une critique récurrente porte sur le tri des infos soumises sur le Jdh : Trop d’infos sont remontées, certaines ne sont pas de qualité, trop courtes, pas assez claires/explicites/vérifiées. La valeur d’une information, la qualité d’un article sont très difficiles à définir et quantifier. <strong>Nous n’y arriverons pas</strong>. Le Jdh a des limites et des défauts. En se voulant accueillant, en prônant la diversité, le Jdh se cogne à un plafond de verre. Exiger une certaine « qualité » (qu’il faudrait définir au plus près et au mieux pour modérer et soumettre correctement des infos sur le Jdh), c’est d’abord choisir une communauté avant une autre puis exclure certaines personnes à cause de leurs niveaux, leurs connaissances, les thèmes abordés, la longueur de l’article ou des qualités rédactionnelles.</p>
<p>J’ai actuellement remonté plus de 3700 articles sur le Jdh et j’assume la totalité des articles que j’ai remonté. Je fais des choix, je fais du tri. Pas assez, trop, sur quels critères ? Me demander de les définir n’a aucun sens pas plus que définir ensemble des critères objectifs de tri. Mon « vote » compte pour 1, je n’ai pas plus de « poids » qu’un autre utilisateur sur le Jdh. La modération est simple (simpliste ?) : 1/ Le thème rentre dans le cadre du Jdh 2/ Il n’y a pas d’embrouilles (un article copier/coller de chez quelqu’un d’autre par exemple, article en doublon sur le Jdh). Alors ça sera publié.</p>
<p>Je lis régulièrement des articles que je ne remonte pas sur le Jdh et que je vois finalement soumis par d’autres contributeurs du Jdh. Je dois me remettre en question, questionner mes centres d’intérêt, tout remonter ? Non ce sont mes choix personnels, que j’assume et en cela je respecte le A propos du Journal du hacker : « une vraie communauté responsable ». Le dernier <a href="https://www.journalduhacker.net/s/ns4ppy/protonmail_va_passer_au_smtp_et_au_fran_ais" target="_blank">article</a> en date que je n’ai pas remonté c’est l’article le plus voté de la semaine dernière ! Le fonctionnement du Jdh ne se base pas sur la perfection de l’objectivité et du jugement de chaque contributeur du Jdh mais sur la résilience de sa communauté. Je fais une connerie, quelqu’un passe derrière. Plus il y aura de contributeur, plus il y aura de votes et de commentaires sur un article, plus fin sera le tri.</p>
<p>Une remarque cependant, le Jdh est un outil participatif qui s’appuie sur ses contributeurs pour trier, voter, commenter. Avant d’avoir un tri pertinent et réclamé par de nombreuses personnes… il faut trier. Il faut que certains le fassent en acceptant de « perdre » de leur temps en lisant de nombreux articles « non triés » et « pas intéressants », il n’y a aucune automatisation pour le faire. Exiger un tri pertinent, c’est exiger que quelqu’un d’autre le fasse à votre place. Si vous ne voulez pas contribuer à trier et « perdre » de votre temps, vous placez le curseur et la critique au mauvais endroit, c’est au paragraphe sur les différents moyens d’utiliser le Jdh qu’il faut se rendre.</p>
<h3>Désaccord</h3>
<p>La semaine dernière j’ai remonté un <a href="https://www.taneleo.fr/le-hold-up-du-logiciel-libre" target="_blank">article</a> de Tanéléo. Je l’ai remonté car j’ai trouvé certaines de ses idées intéressantes. L’article a fait un beau <a href="https://www.journalduhacker.net/s/lvf9fu/le_hold_up_du_logiciel_libre" target="_blank">score</a> sur le Jdh, je l’ai donc remonté dans les 5 articles de la <a href="https://blog.journalduhacker.net/index.php?article87/liens-interessants-journal-du-hacker-semaine-04" target="_blank">semaine 04</a> sur le blog du Jdh.</p>
<p>Pourtant, et c’est très important de le comprendre, je ne suis pas d’accord avec l’article. Pourtant, et c’est très important de le comprendre, je remonterais l’article sur le Jdh 10 fois, 100 fois, 1000 fois. Pourquoi ? Certaines personnes sont d’accord avec l’article. Certaines personnes trouvent l’article intéressant. Les votes sont là pour le démontrer. On peut être en désaccord avec l’article mais avoir suffisamment de recul pour trouver certains arguments intéressants.</p>
<p>Le Jdh n’a pas pour but de juger si l’article a raison ou tort mais de présenter, mettre en valeur et en lumière certains contenus. L’article a reçu 7 votes et 4 commentaires sur le Jdh, 7 commentaires sur Diaspora* et 40 commentaires (en comptant l’auteur) sur l’article. Le Jdh a parfaitement rempli son rôle.</p>
<p>On peut évidemment être en désaccord avec un article mais il est important d’écouter et de laisser sa place à la critique ainsi qu’à d’autres manières de voir les choses.</p>
<h3>Solutionnisme technologique</h3>
<p>Suite à l’article de nIQnutn l’idée d’un bouton de downvote (voter négativement) a été reprise dans les <a href="https://www.journalduhacker.net/s/35ztxn/le_journal_du_hacker_le_site_du_nimporte" target="_blank">commentaires</a> du Jdh. Je ne sais pas d’où vient cette idée qu’un bouton ou une pirouette technique va solutionner des problèmes bien humains. Il y a 3000 followers sur Twitter, 446 utilisateurs inscrits et la moyenne des articles les plus votées doit tourner à 8. Je vous laisse faire le calcul de combien de personnes veulent participer et votent.</p>
<p>Il n’est pas question de dire que le bouton de downvote est une mauvaise idée mais de dire que le problème est bien humain avant d’être technique. Personnellement je suis très fier de l’équipe du Jdh et j’apprécie énormément la communauté autour de cet outil. Cependant nous ne sommes pas mieux lotis que de nombreux autres projets, peu de contributeurs. A mon sens l’outil offre de quoi amener l’utilisateur à contribuer : Gamification avec des points si on remonte des articles ou si on fait des commentaires, possibilité d’échanger dans les commentaires ou via messagerie interne, contributeurs sympas et respectueux, communauté responsable et modération cool.</p>
<p>Il faut du temps, il faut être patient, la communauté autour du Jdh va continuer à grandir et davantage de contributeurs arriveront. L’équipe du Jdh est sensible à ce sujet et guette les contributeurs importants/motivés. Plus nous serons nombreux, plus l’équipe du Jdh et sa communauté seront résilients, plus les idées de chacun pèseront dans les choix et l’avenir du Jdh.</p>
<h3>Le Jdh, un outil parfait ?</h3>
<p>Évidemment non. Comme tout outil il a des défauts et des limites qu’il faut percevoir et accepter. Le Jdh ne répond pas aux besoins de tout le monde mais il est suffisamment souple et hackable pour contenter la majorité.</p>
<p>J’ai essayé d’expliquer le fonctionnement, le but et les réflexions que traversent le Jdh dans cet article. Moi-même j’ai des critiques à formuler sur cet outil. Je le trouve bien trop abrupt pour les débutants et sympathisants du Libre cherchant juste à s’informer et pas à faire de la veille professionnelle. J’ai conscience que la majorité des contributeurs qui poussent le Jdh sont des professionnels. Devrions-nous abandonner notre volonté de diversité ?</p>
<p>Je pense également que l’équipe du Jdh est trop présente dans les infos soumises, nous devrions lever le pied pour que d’autres contributeurs trouvent leur place. Certains sortiront alors du lot, cela rendra le Jdh plus résilient à l’absence des membres de son équipe.</p>
<p>Il est peut-être également temps de revoir à la hausse le nombre de votes faisant passer un article en page d’accueil et l’envoyant sur Diaspora*, Twitter et le flux RSS principal.</p>
<p>Je pense que le plus important c’est de comprendre que le Jdh n’est pas l’outil <strong>principal</strong> que vous devez utiliser, c’est un outil <strong>complémentaire</strong>. Il vous permet de « découvrir » des contenus que vous ne connaissiez pas. Il faut « piocher » une info qui semble intéressante dedans et accepter que ça soit du temps perdu si la pêche est mauvaise. Qui d’autre que vous peut définir la qualité d’un article, les thèmes qui vous intéressent, une astuce/application que vous ne connaissiez pas ? Il faut accepter le risque car c’est là que naît la découverte et la bonne surprise. </p>
<p><img src="media/25c7216e.1ea6f31074367d57d77721240d30fda9" data-original-source="http://cdn.libravatar.org/avatar/1ea6f31074367d57d77721240d30fda9" alt="Gravatar de blog-libre" class="gravatar" /><br/><i>Original post of <a href="https://www.blog-libre.org/2017/02/07/deux-ans-de-journal-du-hacker/" title="Visit the source">blog-libre</a>.Votez pour ce billet sur <a href="http://www.planet-libre.org" title="Aller sur le planet">Planet Libre</a>.</i></p>


