# articles

feed_id: https://ordinosor.wordpress.com/2017/03/05/python-les-tuples/
title: Benoît Boudaud : Python: Les tuples
uri: Benoît-Boudaud-Python-Les-tuples
url: https://ordinosor.wordpress.com/2017/03/05/python-les-tuples/
content:
<p><strong>Pour une lecture plus agréable (page plus large), je vous suggère de <a href="https://ordinosor.wordpress.com/chapitre-11-les-tuples/" target="_blank">cliquer sur ce lien</a> et ainsi de lire ce chapitre dans la rubrique consacrée au langage Python.</strong></p>
<p>Un tuple est un ensemble d’éléments comparable aux listes mais qui, une fois déclaré, ne peut plus être modifié. Il s’agit donc d’une séquence immuable d’objets indicés qui peuvent être des nombres entiers ou décimaux, des chaînes de caractères, des listes, des tuples etc…</p>
<figure data-shortcode="caption"><img data-attachment-id="9115" data-permalink="https://ordinosor.wordpress.com/2017/03/05/python-les-tuples/tuple_tulipes/" data-orig-file="https://ordinosor.files.wordpress.com/2017/03/tuple_tulipes.png?w=265&amp;h=354" data-orig-size="435,581" 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="tuple_tulipes" data-image-description="" data-medium-file="https://ordinosor.files.wordpress.com/2017/03/tuple_tulipes.png?w=265&amp;h=354?w=225" data-large-file="https://ordinosor.files.wordpress.com/2017/03/tuple_tulipes.png?w=265&amp;h=354?w=435" src="https://ordinosor.files.wordpress.com/2017/03/tuple_tulipes.png?w=265&amp;h=354" alt="tuple_tulipes" width="265" height="354" srcset="https://ordinosor.files.wordpress.com/2017/03/tuple_tulipes.png?w=265&amp;h=354 265w, https://ordinosor.files.wordpress.com/2017/03/tuple_tulipes.png?w=112&amp;h=150 112w, https://ordinosor.files.wordpress.com/2017/03/tuple_tulipes.png?w=225&amp;h=300 225w, https://ordinosor.files.wordpress.com/2017/03/tuple_tulipes.png 435w" sizes="(max-width: 265px) 85vw, 265px"><figcaption>Tuple de tulipes</figcaption></figure><h2>Syntaxe et déclaration</h2>
<p>D’un point de vue syntaxique, un tuple est un ensemble d’éléments séparés par des virgules. Cet ensemble d’éléments est entouré de parenthèses mais ce n’est pas une obligation. Cela permet toutefois d’améliorer la lisibilité du code.</p>
<p>Déclarons un tuple :</p>
<pre>tuple_1 = (8, "Solange", 5.3)</pre>
<p>J’aurais très bien pu écrire :</p>
<pre>tuple_1 = 8, "Solange", 5.3</pre>
<p>Cela revient au même sauf que c’est moins lisible.</p>
<pre>print(type(tuple_1))</pre>
<p><span><class ‘tuple’></span></p>
<p>Sans le savoir, nous avons déjà rencontré des tuples, notamment lorsque nous avons fait des affectations multiples :</p>
<pre>a, b = 5, 6</pre>
<p>Cette instruction d’affectation correspond à :</p>
<pre>(a, b) = (5, 6)</pre>
<p>Si nous souhaitons déclarer un tuple ne contenant qu’une seule valeur, il faut absolument que cette dernière soit suivie d’une virgule. En outre, il est vivement conseillé de l’inclure entre parenthèses.</p>
<pre>c = (9,)

print(type(c))</pre>
<p><span><class ‘tuple’></span></p>
<p><span>Si nous oublions la virgule (et malgré la présence de parenthèses), le type de la variable ne sera pas un tuple :</span></p>
<pre>c = (9)

print(type(c))</pre>
<p><span><class ‘int’></span></p>
<h2>Utilité d’un tuple par rapport à une liste</h2>
<h3>Comme nous l’avons vu plus haut, il permet de faire des affectations multiples.</h3>
<pre>a, b = 5, 6</pre>
<h3>Le tuple permet également de renvoyer plusieurs valeurs lors d’un appel de fonction.</h3>
<pre>
def information_personne(prenom, nom, age) :
    "Traitement des informations transmises"
    prenom = prenom.capitalize() # Première lettre en majuscule.
    nom = nom.upper() # remplace toutes les minuscules en majuscules
    age = int(age)
    return prenom, nom, age # Tuple sans parenthèses

p = input("Entrez votre prénom: ")
n = input("Entrez votre nom: ")
a = input("Entrez votre âge: ")

prenom, nom, age = information_personne(p, n, a) # Affectation multiple
print("Prénom:", prenom + '\\n' + "Nom:", nom + '\\n' + "Âge:", age)</pre>
<p><span>Entrez votre prénom: alphonsine</span><br><span>Entrez votre nom: Chafouin</span><br><span>Entrez votre âge: 92</span></p>
<p><span><span>Résultat</span>:</span></p>
<p><span>Prénom: Alphonsine</span><br><span>Nom: CHAFOUIN</span><br><span>Âge: 92</span></p>
<h3>Un tuple est « protégé en écriture ».</h3>
<p>Vous allez me dire que dans le code ci-dessus, nous pouvons obtenir le même résultat en renvoyant une liste (<strong>return [prenom, nom, age]</strong>). Mais l’avantage d’un tuple, c’est qu’il s’agit d’une séquence non modifiable (immuable) donc <strong><span>protégée en écriture</span></strong>. Nous sommes sûrs que les données transmises par la fonction <strong>input()</strong> ne seront pas modifiées en cours d’exécution par un autre programme. Dans le code ci-dessus, je n’ai aucun moyen de modifier les informations transmises.</p>
<p>Par contre, dans le code ci-dessous où je renvoie une liste, je peux modifier les données transmises et rajeunir Mamie Alphonsine!</p>
<pre>
def information_personne(prenom, nom, age) :
    "Traitement des informations transmises"
    prenom = prenom.capitalize() # Première lettre en majuscule.
    nom = nom.upper() # remplace toutes les minuscules en majuscules
    age = int(age)
    return [prenom, nom, age] # liste

p = input("Entrez votre prénom: ")
n = input("Entrez votre nom: ")
a = input("Entrez votre âge: ")

identification = information_personne(p, n, a) #Liste
identification[2] = '45' # Je modifie l'âge
print("Prénom:", identification[0] + '\\n' + "Nom:", identification[1] + '\\n' + "Âge:", identification[2])</pre>
<p><span>Entrez votre prénom: alphonsine</span><br><span>Entrez votre nom: Chafouin</span><br><span>Entrez votre âge: 92</span></p>
<p><span>Prénom: Alphonsine</span><br><span>Nom: CHAFOUIN</span><br><span>Âge: 45</span></p>
<h3>Un tuple est moins gourmand en ressources système qu’une liste.</h3>
<p>Il a besoin de moins de mémoire et il s’exécute plus rapidement.</p>
<h2>Opérations sur les tuples</h2>
<h3>Il n’existe pas de méthodes associées aux tuples</h3>
<p>Les tuples sont des séquences non modifiables donc il n’est pas possible d’utiliser les méthodes <strong>remove()</strong>  ou <strong>append() </strong>par exemple.</p>
<p>Il n’est pas possible également d’utiliser l’opérateur <strong>[]</strong> pour insérer ou remplacer un élément :</p>
<pre>
tuple_1 = (5, 2, 25, 56)
tuple_1[2] = 23
print(tuple_1)</pre>
<p><span>TypeError: ‘tuple’ object does not support item assignment.</span></p>
<h3>L’instruction in</h3>
<p>Mais il est possible d’utiliser l’instruction <strong>in</strong> pour faire un test d’appartenance</p>
<pre>
tuple_1 = (5, 2, 25, 56)
print(2 in tuple_1)</pre>
<p><span>Résultat: True</span></p>
<h3>La fonction intégrée len()</h3>
<p>Il est également possible d’utiliser la fonction intégrée <strong>len()</strong> pour déterminer la longueur d’un tuple.</p>
<pre>
tuple_1 = (5, 2, 25, 56)
print(len(tuple_1))</pre>
<p><span>Résultat : 4</span></p>
<h3>La boucle for et la compréhension de liste</h3>
<p>Tout comme les chaînes de caractères ou les listes, les tuples peuvent être parcourus par une boucle <strong>for</strong> ou une <strong><a href="https://ordinosor.wordpress.com/le-langage-python/chapitre-10-la-comprehension-de-liste/" target="_blank">compréhension de liste</a></strong>. Dans ce dernier cas, le résultat obtenu est toujours une liste.</p>
<h3>Concaténation et multiplication</h3>
<p>Nous pouvons créer un nouveau tuple par concaténation ou par multiplication</p>
<pre>
tuple_1 = (5, 2, 25, 56)
tuple_2 = ("Jacky", "Hervé")
tuple_3 = tuple_1 + tuple_2
print(tuple_3)</pre>
<p><span>Résultat: (5, 2, 25, 56, « Jacky », « Hervé »)</span></p>
<pre>
tuple_prenoms = ("Jacky", "Hervé")
tuple_prenoms = tuple_prenoms * 3
print(tuple_prenoms)</pre>
<p><span>Résultat: (‘Jacky’, ‘Hervé’, ‘Jacky’, ‘Hervé’, ‘Jacky’, ‘Hervé’)</span></p>
<p>Dans ce dernier exemple, certains vont me dire: « Mais Ordinosor! Tu nous a dit qu’un tuple n’était pas modifiable et tu viens juste de modifier <strong>tuple_prenoms</strong>! »</p>
<p>Faux! Je n’ai appliqué aucune méthode de modification sur <strong>tuple_prenoms</strong>. J’ai seulement écrasé la valeur contenue dans la variable qui porte le nom de <strong>tuple_prenoms</strong> en lui affectant une nouvelle valeur.</p>
<h2>Conclusion</h2>
<p>Les tuples sont des séquences non modifiables qui s’avèrent bien utiles pour protéger en écriture des données transmises. En outre, ils sont moins gourmands en ressource système et sont traités plus rapidement.</p>
<p>Puisqu’il est immuable, il est possible d’utiliser un tuple comme clé de dictionnaire mais à la seule condition que le tuple ne contienne que des éléments non modifiables! Du reste, ce sera l’objet du prochain chapitre.</p><br><a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/ordinosor.wordpress.com/8933/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/ordinosor.wordpress.com/8933/"></a> <img alt="" border="0" src="https://pixel.wp.com/b.gif?host=ordinosor.wordpress.com&amp;blog=88640341&amp;post=8933&amp;subd=ordinosor&amp;ref=&amp;feed=1" width="1" height="1">
<p><img src="media/2bfe7d9e.32ef7afc84e96215042dfebd6840b008" data-original-source="http://cdn.libravatar.org/avatar/32ef7afc84e96215042dfebd6840b008" alt="Gravatar de Beno&icirc;t Boudaud" class="gravatar" /><br/><i>Original post of <a href="https://ordinosor.wordpress.com/2017/03/05/python-les-tuples/" title="Visit the source">Benoît Boudaud</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>Beno&icirc;t Boudaud : <a href="">Python: La compr&eacute;hension de liste</a> (27/02/2017)</li><li>Beno&icirc;t Boudaud : <a href="">#Python: Les r&eacute;f&eacute;rences partag&eacute;es et le module copy</a> (16/02/2017)</li><li>Beno&icirc;t Boudaud : <a href="">Python: les listes</a> (13/02/2017)</li><li>Beno&icirc;t Boudaud : <a href="">#Python : Aper&ccedil;u de quelques m&eacute;thodes associ&eacute;es aux objets  de type cha&icirc;ne de caract&egrave;res (str)</a> (06/02/2017)</li><li>Beno&icirc;t Boudaud : <a href="">Python : importer un module</a> (22/01/2017)</li></ul></div></p>


feed_id: https://ordinosor.wordpress.com/2017/02/27/python-les-comprehensions-de-liste/
title: Benoît Boudaud : Python: La compréhension de liste
uri: Benoît-Boudaud-Python-La-compréhension-de-liste
url: https://ordinosor.wordpress.com/2017/02/27/python-les-comprehensions-de-liste/
content:
<p><strong>Pour une lecture plus agréable (page plus large), je vous suggère de <a href="https://ordinosor.wordpress.com/le-langage-python/chapitre-10-la-comprehension-de-liste/" target="_blank">cliquer sur ce lien</a> et ainsi de lire cet article dans la rubrique consacrée au langage Python.</strong></p>
<p>La compréhension de liste est une expression qui permet de construire une liste <span>à partir de tout autre type itérable</span> (liste, tuple, chaîne de caractères…). Le résultat obtenu est toujours une liste.</p>
<p><img data-attachment-id="8843" data-permalink="https://ordinosor.wordpress.com/2017/02/27/python-les-comprehensions-de-liste/python-2/" data-orig-file="https://ordinosor.files.wordpress.com/2017/02/python.png?w=840" data-orig-size="263,87" 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="python" data-image-description="" data-medium-file="https://ordinosor.files.wordpress.com/2017/02/python.png?w=840?w=263" data-large-file="https://ordinosor.files.wordpress.com/2017/02/python.png?w=840?w=263" src="https://ordinosor.files.wordpress.com/2017/02/python.png?w=840" alt="python" srcset="https://ordinosor.files.wordpress.com/2017/02/python.png 263w, https://ordinosor.files.wordpress.com/2017/02/python.png?w=150 150w" sizes="(max-width: 263px) 85vw, 263px"></p>
<h2>1) Une compréhension de liste toute simple</h2>
<p>Un exemple valant mieux qu’un long discours, nous allons créer une liste de nombres entiers :</p>
<p><span>liste_initiale = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15]</span></p>
<p>À l’aide d’une boucle <strong>for</strong> et de la méthode <strong>append()</strong>, nous allons ajouter à une nouvelle liste baptisée <strong>liste_2</strong>, chaque élément de <strong>liste_initiale</strong> multiplié par deux.</p>
<pre>
liste_initiale = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15]
liste_2 = []
for n in liste_initiale:
    liste_2.append(n*2)
print(liste_2)
</pre>
<p><span><span>Résultat</span> : liste_2 = [0, 2, 4, 6, 8, 10 ,12, 14, 16, 18, 20, 22, 24, 26, 28, 30]</span></p>
<p>J’ai donc utilisé une boucle <strong>for</strong> pour écrire ce petit bout de code de cinq lignes. Mais j’aurais tout aussi bien pu utiliser une compréhension de liste pour obtenir le même résultat. Voici la syntaxe de cette dernière :</p>
<pre>
liste_initiale = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15]
liste_2 = [n*2 for n in liste_initiale]
print(liste_2)
</pre>
<p><span><span>Résultat</span> : liste_2 = [0, 2, 4, 6, 8, 10 ,12, 14, 16, 18, 20, 22, 24, 26, 28, 30]</span></p>
<p>Que remarque-t-on? Le code est plus concis puisqu’il tient sur trois lignes au lieu de cinq. Vous allez me dire que la différence est minime et dans cet exemple tout simple, je dois reconnaître que vous avez raison! Mais attendez de voir la suite…</p>
<h2>2) Une compréhension de liste avec une condition</h2>
<p>Je souhaite  créer une nouvelle liste de nombres pairs multipliés par 2 à partir de <strong>liste_initiale</strong> qui contient, je vous le rappelle des nombres pairs et impairs. Il va donc falloir que j’introduise une condition pour ignorer les nombres impairs. Comparons une nouvelle fois le code écrit avec une boucle <strong>for</strong> et celui écrit avec une compréhension de liste.</p>
<h3>Avec une boucle for</h3>
<pre>
liste_initiale = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15]
liste_pair = []
for n in liste_initiale:
    if n % 2 == 0:
        liste_pair.append(n*2)
print(liste_pair)
</pre>
<p><span><span>Résultat</span> : liste_pair = [0, 4, 8,  12, 16, 20, 24, 28]</span></p>
<h3>Avec une compréhension de liste</h3>
<p>J’introduis la condition à la fin de la compréhension de liste. Au lieu d’avoir six lignes de code, je n’en ai plus que trois.</p>
<pre>
liste_initiale = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15]
liste_pair = [n*2 for n in liste_initiale if n % 2 == 0]
print(liste_pair)
</pre>
<p><span><span>Résultat</span> : liste_pair = [0, 4, 8,  12, 16, 20, 24, 28]</span></p>
<h2>3) Une compréhension de liste avec une expression conditionnelle</h2>
<p>Encore plus fort, je souhaite créer une nouvelle liste avec les éléments de <strong>liste_initiale</strong>. Les chiffres pairs seront multipliés par deux, les chiffres impairs par trois. Il va donc falloir que j’introduise une condition <strong>if… else</strong>.</p>
<h3>Avec une boucle for</h3>
<pre>
liste_initiale = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15]
nouvelle_liste = []
for n in liste_initiale:
    if n % 2 == 0:
        nouvelle_liste.append(n*2)
    else:
        nouvelle_liste.append(n*3)
print(nouvelle_liste)
</pre>
<p><span><span>Résultat</span> : nouvelle_liste = [0, 3, 4, 9, 8, 15, 12, 21, 16, 27, 20, 33, 24, 39, 28, 45]</span></p>
<h3>Avec une compréhension de liste</h3>
<p>Ça se complique un peu car il faut utiliser une expression conditionnelle qui évalue si la condition est vraie (<strong>True</strong>) ou fausse (<strong>False</strong>). Mais le résultat est au rendez-vous puisqu’au lieu d’avoir huit lignes de code, je n’en ai que trois!</p>
<pre>
liste_initiale = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15]
nouvelle_liste = [n*2 if n % 2 == 0 else n*3 for n in liste_initiale]
print(nouvelle_liste)
</pre>
<h2> 4) Une compréhension de liste avec une liste de listes</h2>
<p>Il est possible de faire une compréhension de liste avec une liste de listes. Pour s’y retrouver dans l’imbrication des instructions, le plus simple est de comparer la syntaxe d’une boucle <strong>for</strong> avec celle d’une compréhension de liste.</p>
<h3>Avec une boucle for</h3>
<pre>
liste_initiale = [[0, 'a'], [2, 'b'], [3, 'c']]
nouvelle_liste = []
for i in liste_initiale :
    for n in i :
        nouvelle_liste.append(n*2)
print(nouvelle_liste)
</pre>
<p><span><span>Résultat</span>: nouvelle_liste = [0, ‘aa’, 4, ‘bb’, 6, ‘cc’]</span></p>
<h3>Avec une compréhension de liste</h3>
<pre>
liste_initiale = [[0, 'a'], [2, 'b'], [3, 'c']]
nouvelle_liste = [n*2 for i in liste_initiale for n in i]
print(nouvelle_liste)
</pre>
<p><span><span>Résultat</span>: nouvelle_liste = [0, ‘aa’, 4, ‘bb’, 6, ‘cc’]</span></p>
<h3>Avec une expression conditionnelle</h3>
<p>Par exemple, je veux multiplier les nombres entiers par deux et les strings par trois.</p>
<pre>
liste_initiale = [[0, 'a'], [2, 'b'], [3, 'c']]
nouvelle_liste = [n*2 if type(n) == int else n*3 for i in liste_initiale for n in i]
print(nouvelle_liste)
</pre>
<p><span><span>Résultat</span>: [0, ‘aaa’, 4, ‘bbb’, 6, ‘ccc’]</span></p>
<p>Dans ce dernier exemple, si j’avais fait usage d’une boucle <strong>for</strong>, j’aurais écrit neuf lignes de code au lieu de trois!</p>
<pre>
liste_initiale = [[0, 'a'], [2, 'b'], [3, 'c']]
nouvelle_liste = []
for i in liste_initiale:
    for n in i:
        if type(n) == int:
            nouvelle_liste.append(n*2)
        else:
            nouvelle_liste.append(n*3)
print(nouvelle_liste)
</pre>
<p>Cela dit, ce n’est pas non plus le concours de celui qui écrira le plus d’instructions sur la même ligne de code. Il faut que ça reste déchiffrable.</p>
<h2>5) Les compréhensions de liste avec les autres types itérables</h2>
<p>Comme je le disais en introduction, les compréhensions de liste fonctionnent avec les autres types itérables mais le résultat obtenu est <span>toujours</span> une liste. Par exemple, avec une chaîne de caractères :</p>
<pre>
prenom = "Gustave"
liste_lettres = [lettre for lettre in prenom]
print(liste_lettres)
</pre>
<p><span><span>Résultat</span>: [‘G’, ‘u’, ‘s’, ‘t’, ‘a’, ‘v’, ‘e’]</span></p>
<h2>Conclusion</h2>
<p>La compréhension de liste est une méthode puissante qui a remplacé les anciennes fonctions <strong>map()</strong> et <strong>filter()</strong> dont l’usage est aujourd’hui déconseillé. Bien utilisée, la compréhension de liste rend le code plus concis, plus élégant et plus facile à comprendre qu’avec les fonctions <strong>map()</strong> et <strong>filter()</strong>. Voici <a href="https://www.python.org/dev/peps/pep-0202/" target="_blank">la page</a> consacrée aux compréhensions de liste dans la documentation officielle du langage Python.</p>
<p>Il existe également une compréhension de dictionnaire et d’ensemble que nous aborderons dans le chapitre consacré à ces deux structures de données.</p>
<p><br><a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/ordinosor.wordpress.com/8664/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/ordinosor.wordpress.com/8664/"></a> <img alt="" border="0" src="https://pixel.wp.com/b.gif?host=ordinosor.wordpress.com&amp;blog=88640341&amp;post=8664&amp;subd=ordinosor&amp;ref=&amp;feed=1" width="1" height="1"></p>
<p><img src="media/2bfe7d9e.32ef7afc84e96215042dfebd6840b008" data-original-source="http://cdn.libravatar.org/avatar/32ef7afc84e96215042dfebd6840b008" alt="Gravatar de Beno&icirc;t Boudaud" class="gravatar" /><br/><i>Original post of <a href="https://ordinosor.wordpress.com/2017/02/27/python-les-comprehensions-de-liste/" title="Visit the source">Benoît Boudaud</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>Beno&icirc;t Boudaud : <a href="">Python: Les tuples</a> (05/03/2017)</li><li>Beno&icirc;t Boudaud : <a href="">#Python: Les r&eacute;f&eacute;rences partag&eacute;es et le module copy</a> (16/02/2017)</li><li>Beno&icirc;t Boudaud : <a href="">Python: les listes</a> (13/02/2017)</li><li>Beno&icirc;t Boudaud : <a href="">#Python : Aper&ccedil;u de quelques m&eacute;thodes associ&eacute;es aux objets  de type cha&icirc;ne de caract&egrave;res (str)</a> (06/02/2017)</li><li>Beno&icirc;t Boudaud : <a href="">Python : importer un module</a> (22/01/2017)</li></ul></div></p>


feed_id: http://alterlibriste.free.fr/index.php?post/2017/03/06/Go-fsck-yourself
title: alterlibriste : Go fsck yourself !
uri: alterlibriste-Go-fsck-yourself
url: http://alterlibriste.free.fr/index.php?post/2017/03/06/Go-fsck-yourself
content:
<p>Suite à mon dernier <a href="http://alterlibriste.free.fr/index.php?post/2017/02/13/Syst%C3%A8me-de-fichier-sauv%C3%A9-par-e2fsck">sauvetage de système de fichiers</a>, j’ai un peu médité sur la question et me suis demandé si tout ça était vérifié régulièrement. Je me suis surtout souvenu que lorsque j’étais sous Ubuntu, il y a bien 4 ans, il y avait tous les 30 montages une vérification du système de fichiers qui tombait forcément mal, juste au moment où on avait besoin urgent du PC.</p>    <p>Mais plus de tout ça depuis de nombreuses années. Alors je fais mes petites recherches et m’aperçoit en faisant un : <br><code>$ sudo tune2fs -l /dev/sda1</code> (à adapter à la partition que l’on souhaite
vérifier)<br>
que j’avais certaines partitions montées plus de 1000 fois et jamais vérifiées depuis plus de 2 ans (date de la dernière installation du système). <br>
Les paramètres <code>mount count</code> étaient à -1 (c’est le nombre maximal avant vérification, donc jamais) et <code>check interval</code> à 0 (temps entre chaque vérif, jamais aussi).</p>


<p>Ma première réaction a été de me dire que Debian laissait gérer ça par ses power users contrairement aux distributions user friendly qui prenaient soin de tout paramétrer au mieux pour leurs utilisateurs débutants. Que nenni, Ubuntu n’est plus pourvu de cette vérification non plus. Ma deuxième réaction a été de me dire que SytemD, dans sa toute puissance, avait pris en charge cette tâche ingrate. Pas plus, en creusant un peu, on se rend compte que Wheezy et Ubuntu 12.04 étaient déjà exemptés de vérification.</p>


<p>Quand on cherche pourquoi le fsck a été désactivé, on tombe surtout sur des tutos pour le désactiver mais aussi sur tous les wikis qui disent que ce n’est pas bien et qu’il vaut mieux qu’il y ait une vérification au moins tous les 50 montages. De temps en temps, on tombe sur un pékin qui se demande comme moi pourquoi c’est devenu comme ça... et je n’ai trouvé aucune réponse claire, mais surtout aucune explication officielle.</p>


<p>Un truc qui emmerdait tout le monde et qui devait surtout être fait au risque de devoir faire pénitence en se fouettant avec du câble RJ45 est disparu du jour au lendemain sur toutes les distributions sans aucune explication officielle (enfin si quelqu’un peut me l’apporter, je suis preneur) et tout va très bien madame la marquise. Mais de deux choses l’une : soit c’était inutile, soit on fait comme si tout va bien se passer.</p>


<p>Bon après, pas de quoi s’alarmer non plus, on voit au démarrage que les volumes montés sont clean et si la machine s’est éteinte à la sauvage (hard reboot, coupure de courant ou autre), on voit passer des lignes comme quoi le dernier arrêt ne s’est pas bien passé et que le ménage est en train d’être fait pour que tout soit d’aplomb.</p>


<p>Parmi les explications, on trouve en vrac : ça arrivait à un <a href="https://www.linuxquestions.org/questions/slackware-14/are-ext4-file-system-checks-disabled-by-default-on-14-0-a-4175433189/">mauvais moment</a> (d’ailleurs il y a eu un <a href="https://wiki.ubuntu.com/AutoFsck">projet</a> pour que ce soit fait à l’extinction plutôt qu’au démarrage), on ne vérifie plus <a href="http://askubuntu.com/questions/680980/tune2fs-mount-count-is-it-disabled-by-default-set-to-1">que s’il y a eu un problème</a>, un système de fichier journalisé <a href="http://forums.debian.net/viewtopic.php?t=106516">n’a plus besoin d’être vérifié</a>, ...</p>


<p>En général, ceux qui, comme moi, ont posé la question ont fait une vérification (elle est beaucoup plus rapide depuis ext4) et, dans le doute, remis les paramètres de vérification régulière de la manière suivante (tous les 50 montages ou 2 semaines) :<br><code>$ sudo tune2fs -c 50 -i 2w /dev/sdaX</code></p>


<p>Ainsi, au cours de mes recherches, j’ai trouvé que le fsck était <a href="https://en.wikipedia.org/wiki/Fsck#cite_ref-4">originellement remplacé</a> par un mot plus vulgaire quand le système était dans les choux et qu’il était de mise de dire "go fsck yourself" pour réparer. Chose que l’on a maintenant à faire soi-même si on veut vérifier que tout va bien. <br>
Reste surtout à mettre à jour internet qui regorge de directives du passé.</p>


<p><img src="media/f7aa691b.15489668921_50ffa93331_o.jpg" data-original-source="https://farm7.staticflickr.com/2949/15489668921_50ffa93331_o.jpg" alt=""></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/03/06/Go-fsck-yourself" 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>Linalis : <a href="">Astuce : dpkg et les s&eacute;lections de paquets</a> (30/03/2010)</li><li>Brice Capelle : <a href="">BASH &ndash; Rajouter la date dans l&rsquo;historique des commandes</a> (18/04/2009)</li><li>toitoinebzh : <a href="">Apt-get : installation sans paquets recommand&eacute;s</a> (06/06/2010)</li><li>Rapha&euml;l Hertzog : <a href="">Garder un syst&egrave;me Debian propre, astuce n&deg;1 : se d&eacute;barrasser des fichiers de configuration inutiles</a> (16/08/2011)</li><li>Rapha&euml;l Hertzog : <a href="">Garder un syst&egrave;me Debian propre, astuce n&deg;2&nbsp;: se d&eacute;barrasser des paquets obsol&egrave;tes</a> (23/08/2011)</li></ul></div></p>


feed_id: http://feedproxy.google.com/~r/QuestCeQuonSeFaitCh/~3/9aUa9osNhsM/
title: Littlewing : Découverte de JHIPSTER
uri: Littlewing-Découverte-de-JHIPSTER
url: http://feedproxy.google.com/~r/QuestCeQuonSeFaitCh/~3/9aUa9osNhsM/
content:
<p>Dans la série, je me réveille après les autres, me voici en train de découvrir <a href="http://jhipster.github.io/?utm_source=rss&amp;utm_medium=rss">JHIPSTER</a>.</p>
<p><a href="http://blog.touret.info/wp-content/uploads/logo-jhipster-drink-coffee.png?utm_source=rss&amp;utm_medium=rss"><img data-attachment-id="893" data-permalink="http://blog.touret.info/blog/2017/03/07/decouverte-de-jhipster/logo-jhipster-drink-coffee/?utm_source=rss&amp;utm_medium=rss" data-orig-file="http://blog.touret.info/wp-content/uploads/logo-jhipster-drink-coffee.png?utm_source=rss&amp;utm_medium=rss" data-orig-size="203,311" 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="logo-jhipster-drink-coffee" data-image-description="" data-medium-file="http://blog.touret.info/wp-content/uploads/logo-jhipster-drink-coffee-196x300.png?utm_source=rss&amp;utm_medium=rss" data-large-file="http://blog.touret.info/wp-content/uploads/logo-jhipster-drink-coffee.png?utm_source=rss&amp;utm_medium=rss" src="http://blog.touret.info/wp-content/uploads/logo-jhipster-drink-coffee.png?utm_source=rss&amp;utm_medium=rss" alt="" width="203" height="311" srcset="http://blog.touret.info/wp-content/uploads/logo-jhipster-drink-coffee.png?utm_source=rss&amp;utm_medium=rss 203w, http://blog.touret.info/wp-content/uploads/logo-jhipster-drink-coffee-196x300.png?utm_source=rss&amp;utm_medium=rss 196w" sizes="(max-width: 203px) 100vw, 203px"></a><br>
Pourquoi me direz-vous. En bien je souhaite réaliser un site avec des fonctionnalités assez courantes (<a href="https://fr.wikipedia.org/wiki/CRUD?utm_source=rss&amp;utm_medium=rss">CRUD</a>, recherche, identification via réseaux sociaux,…) sans trop me prendre la tête. Et là, je n’ai pas encore trouvé plus simple :).</p>
<p>J’étais tenté de passer par <a href="https://www.playframework.com/?utm_source=rss&amp;utm_medium=rss">PlayFramework</a>, mais à première vue, <a href="http://jhipster.github.io/?utm_source=rss&amp;utm_medium=rss">JHIPSTER </a>parait plus simple à mettre en œuvre.</p>
<p>Mais bon qu’est-ce qu’il y a sous le capot ?<br>
Un outil de <a href="https://en.wikipedia.org/wiki/Scaffold_(programming)?utm_source=rss&amp;utm_medium=rss">scaffolding </a>basé sur <a href="http://yeoman.io/?utm_source=rss&amp;utm_medium=rss">Yeoman </a>fournissant un front angular (1ou 2) un back basé sur <a href="https://projects.spring.io/spring-boot?utm_source=rss&amp;utm_medium=rss">spring boot</a>, une couche de persistance pour une base de données (mongodb, cassandra ou SGBDR) et bien plus encore.</p>
<p>Je ne décrirai pas <a href="https://jhipster.github.io/installation/?utm_source=rss&amp;utm_medium=rss">la procédure d’installation car elle est déjà très bien documentée</a>.</p>
<p>Voici plus précisément les fonctionnalités que je teste :<br><strong>Coté front</strong></p>
<ul><li>AngularJS</li>
<li>Bootstrap</li>
<li>JWT</li>
</ul><p><strong>Coté Back</strong></p>
<ul><li>Spring Boot</li>
<li>Identification avec Spring Social / Spring Security</li>
<li>Persistence avec MongoDB ( Cassandra n’est pas encore supporté pour l’identification via réseaux sociaux )</li>
<li>Utilisation de SWAGGERUI pour documenter les API</li>
</ul><p>J’ai toujours été un peu réticent vis à vis des outils de ce type ( <a href="http://wiki.appfuse.org/?utm_source=rss&amp;utm_medium=rss">appfuse</a>, <a href="https://forge.jboss.org/?utm_source=rss&amp;utm_medium=rss">jboss forge</a>,..) . Mais, là je suis bluffé. Si on veut faire une application de type CRUD sans se prendre la tête à réinventer la roue pour l’identification, l’ administration des logs, la documentation, etc , JHIPSTER est, à mon avis, l’un des meilleurs choix actuellement.</p>
<p>Cependant, cette intégration à un coût. En effet, l’équipe a fait des choix très structurants. Ce qui est normal pour fournir une solution aussi intégrée. Il faut les accepter si on opte pour ce genre de solution. Par exemple, le monitoring des services springboot est uniquement visible par une console web alors quand dans version standard de ce FRAMEWORK, c’est visible via API REST. C’est certes pas mal quand on est tout seul à gérer l’application, mais dès que l’on veut intégrer la supervision dans une entreprise qui dispose déjà d’outils tels que <a href="https://www.nagios.org/?utm_source=rss&amp;utm_medium=rss">NAGIOS</a>, cela devient plus problématique.</p>
<p>Pour finir, je dirais que l’une des contraintes à accepter lorsqu’on utilise ce genre de FRAMEWORK est qu’il faut rester dans le cadre préétabli pour qu’il y ait une réelle productivité. Si on veut tordre le modèle on risque de perdre en efficacité et en maintenabilité. A titre personnel pour mon use case, je m’en accommode bien et ça me permet de faire plus de choses en JAVASCRIPT que je n’aurai pu faire avec une application réalisée « from scratch ».</p>
<img src="http://feeds.feedburner.com/~r/QuestCeQuonSeFaitCh/~4/9aUa9osNhsM" 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/9aUa9osNhsM/" 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>
<p><div class="similar-block"><h3>Articles similaires</h3><ul><li>Littlewing : <a href="">Oracle rach&egrave;te SUN</a> (20/04/2009)</li><li>Littlewing : <a href="">Cr&eacute;er des batchs avec JAVABATCH &ndash; JSR352</a> (08/07/2015)</li><li>Littlewing : <a href="">Devoxx 2016</a> (22/04/2016)</li></ul></div></p>


feed_id: https://blog.fedora-fr.org/renault/post/Petit-bilan-de-Rawhide%2C-%C3%A9pisode-2
title: Renault : Petit bilan de Rawhide, épisode 2
uri: Renault-Petit-bilan-de-Rawhide-épisode-2
url: https://blog.fedora-fr.org/renault/post/Petit-bilan-de-Rawhide%2C-%C3%A9pisode-2
content:
<p>Comme promis, à peu près tous les mois j'essaye de tenir au courant la
communauté de mes aventures avec Rawhide / la prochaine version stable. Depuis
fin janvier il y a eu de l'aventures et des changements.</p>
<h3>Séparation de Rawhide et de Fedora 26</h3>
<p>Cela fait une semaine que la séparation a débuté, pour se terminer durant le
week-end. Aujourd'hui Rawhide sera donc la future Fedora 27, la branche pour la
future Fedora 26 est maintenant indépendante et en voie de stabilisation.
En théorie la branche qui va mener à Fedora 26 va introduire moins de
changements et plus de correctifs pour améliorer sa stabilité au quotidien et
il y a du travail. <img src="media/f72eb1bc.wink.png" data-original-source="https://blog.fedora-fr.org/themes/default/smilies/wink.png" alt=";-)"></p>
<p>Personnellement j'ai basculé sur la future Fedora 26 pour suivre au mieux
son développement et rapporter les anomalies que je rencontre. Par défaut,
quelqu'un sous Rawhide avant la séparation restera sur Rawhide après. Si vous
souhaitez basculer sur Fedora 26, il est nécessaire d'exécuter la commande
suivante :</p>
<pre>
# dnf distro-sync --releasever=26
</pre>
<p>Notons que cette commande fonctionne aussi pour passer de Fedora 25 à la
future F26. Elle sera probablement plus longue et risquée.</p>
<p>Cette séparation signifie aussi que toutes les fonctionnalités prévues pour
F26 doivent être un minimum testable (pour éviter les retards). Puis on va
entrer dans le cycle de gel pour la version Alpha qui devrait sortir le 21
mars. Cela signifie aussi que les mises à jour vont passer par Bodhi
maintenant, et que les outils de QA vont être accessibles à nouveau comme ceux
pour donner le karma aux mises à jour, ou pour tester automatiquement les
images.</p>
<p>Une grosse étape a donc été franchie, qui a nécessité beaucoup de travail
pour l'équipe de l'infrastructure et les mainteneurs de paquets. Merci à
eux.</p>
<h3>Plus d'Alpha à partir de Fedora 27 ?</h3>
<p>Il y a deux semaines <a href="https://lists.fedoraproject.org/archives/list/devel@lists.fedoraproject.org/thread/NO4MY63D2ESYIGPFID23SYERKMVV7AVH/#NO4MY63D2ESYIGPFID23SYERKMVV7AVH" hreflang="en">une proposition sur la liste de diffusion de développement</a>
souhaite mettre un terme aux versions Alpha dans Fedora.</p>
<p>Comment ? En améliorant la qualité de Fedora Rawhide ! Passage des mises à
jour par Bodhi, signature des paquets, utilisation des tests automatiques de
QA, etc. L'objectif en améliorant la qualité de Rawhide est de supprimer la
première étape d'une nouvelle version stable, pour gagner du temps et en
énergie. La Alpha pouvant n'être qu'un jalon pour les nouvelles
fonctionnalités. Cela pourrait aussi améliorer grandement la qualité de vie des
testeurs en limitant l'impact de certains bogues.</p>
<p>Mais pour l'instant il n'y a pas de validation de ce plan, il faudra être un
peu patient pour connaître le fin mot de l'histoire.</p>
<h3>Les changements constatés</h3>
<p>Si j'utilise la version de développement, outre aider à rapporter les
soucis, c'est aussi pour identifier les changements et en profiter. Et je dois
dire que contrairement à la dernière fois, il y a quelques changements
visibles. Je ne vais présenter que ce qui me semble notable, visible et que
j'ai constaté, il est possible que j'ai loupé de gros trucs. <img src="media/f72eb1bc.wink.png" data-original-source="https://blog.fedora-fr.org/themes/default/smilies/wink.png" alt=";-)"></p>
<p>Cela tourne autours de GNOME. Déjà il y a une refonte des icônes, qui semble
légère de prime abord mais qui peut surprendre (notamment l’icône de Nautilus
toute bleue !). Cela est également visible dans les applications GNOME telles
que Nautilus (pour les dossier ou les fichiers).</p>
<p><a href="media/bdee1ff2.Nouvelles_icones.png" data-original-source="https://blog.fedora-fr.org/public/renault/F26/Nouvelles_icones.png" title="Nouvelles_icones.png"><img src="media/40ad9889..Nouvelles_icones_m.png" data-original-source="https://blog.fedora-fr.org/public/renault/F26/.Nouvelles_icones_m.png" alt="Nouvelles_icones.png" title="Nouvelles_icones.png, mar. 2017"></a></p>
<p>À voir l'étendue de ce nouveau design, mais personnellement j'apprécie.</p>
<p>Ensuite il y a un gros travail en cours sur l'outil de configuration de
GNOME. L'objectif est de le rendre plus proche d'en point de vue design des
autres applications. Mais aussi plus clair. Et on commence à visualiser ces
changements sur quelques pages. Par exemple ici sur la page des utilisateurs
:</p>
<p><a href="media/513e7ff5.Ajouter_utilisateur.png" data-original-source="https://blog.fedora-fr.org/public/renault/F26/Ajouter_utilisateur.png" title="Ajouter_utilisateur.png"><img src="media/d03a37ca..Ajouter_utilisateur_m.png" data-original-source="https://blog.fedora-fr.org/public/renault/F26/.Ajouter_utilisateur_m.png" alt="Ajouter_utilisateur.png" title="Ajouter_utilisateur.png, mar. 2017"></a> <a href="media/0740c966.Utilisateur.png" data-original-source="https://blog.fedora-fr.org/public/renault/F26/Utilisateur.png" title="Utilisateur.png"><img src="media/2794c1cf..Utilisateur_m.png" data-original-source="https://blog.fedora-fr.org/public/renault/F26/.Utilisateur_m.png" alt="Utilisateur.png" title="Utilisateur.png, mar. 2017"></a></p>
<p>Mais cela est visible aussi sur la page des imprimantes (mais n'en ayant pas
d'installé pour l'instant, je ne peux vous le montrer, <a href="https://blogs.gnome.org/felipeborges/new-printers-panel/" hreflang="en">regardez du côté du développeur Felipe Borges</a> qui communique beaucoup
sur le sujet).</p>
<p>Il y a l'ajout du nouveau mode nuit. Vous connaissez Redshift ou équivalent
? Ces applications modifient la couleur d'affichage de votre écran suivant
l'heure de la journée pour éviter de fatiguer vos yeux notamment le soir en
appliquant un filtre rouge. Cette fonctionnalité n'était plus possible
directement avec Wayland. Maintenant GNOME intègre cette fonctionnalité
directement et cela fonctionne sous Wayland aussi :</p>
<p><a href="media/b8797635.Mode_nuit.png" data-original-source="https://blog.fedora-fr.org/public/renault/F26/Mode_nuit.png" title="Mode_nuit.png"><img src="media/54117a62..Mode_nuit_m.png" data-original-source="https://blog.fedora-fr.org/public/renault/F26/.Mode_nuit_m.png" alt="Mode_nuit.png" title="Mode_nuit.png, mar. 2017"></a></p>
<p>J'ai testé pendant une semaine en gros, la fonctionnalité marche comme
prévue mais je ne trouve pas cela pertinent. Je trouvais au contraire que cela
me fatiguait plus les yeux, en plus de ne pas être forcément très pratique. En
effet, techniquement il faudrait que cela tienne compte de la météo, de
l'orientation des fenêtres, de l'éclairage, etc. et non seulement de l'heure et
de la latitude. Puis il y a des applications où cela sert plus qu'à
d'autres.</p>
<p>Avec mon thème sombre, ce sont surtout les pages web à fond blancs qui
posent soucis. Ce serait bien d'activer ce mode sur Firefox par exemple mais
pas sur le lecteur vidéo où on souhaite le respect de la couleur d'affichage
par exemple. Suivant l'usage de l'ordinateur, on peut se retrouver à jongler
avec l'activation de ce mode. Personnellement je l'ai coupé, mais il fonctionne
comme attendu.</p>
<p>Enfin, il y une refonte des notifications dans GNOME Shell.</p>
<p><a href="media/842185ea.Notifications.png" data-original-source="https://blog.fedora-fr.org/public/renault/F26/Notifications.png" title="Notifications.png"><img src="media/00240385..Notifications_m.png" data-original-source="https://blog.fedora-fr.org/public/renault/F26/.Notifications_m.png" alt="Notifications.png" title="Notifications.png, mar. 2017"></a></p>
<p>On peut voir l’apparition du bouton pour tout nettoyer, une interface un peu
plus claire et « plat », l'ajout des informations de la météo aussi pour éviter
de lancer l'application dédiée.</p>
<h3>Problèmes rencontrés</h3>
<p>Comme d'habitude, Fedora Rawhide nous réserve des surprises en terme de
stabilité. Comme la dernière fois, je n'en ai pas rencontré tant que cela,
seulement quatre mais qui sont assez importantes.</p>
<p>Le premier est que depuis quelques temps <a href="https://bugzilla.redhat.com/show_bug.cgi?id=1417450" hreflang="en">GNOME
Wayland crashe plutôt régulièrement avec ma configuration</a>. Cela semble lié
au pilote graphique nouveau. Je vais essayer d'obtenir d'autres traces pour
faire avancer le sujet.</p>
<p>Le deuxième j'en avais déjà parlé <a href="https://blog.fedora-fr.org/renault/post/Retour-du-FOSDEM" hreflang="fr">lors du compte rendu du FOSDEM</a>. Je n'ai pas fait de rapport
car je n'arrive pas à le reproduire. Cela ressemble <a href="https://bugzilla.redhat.com/show_bug.cgi?id=1405539" hreflang="en">un peu à
celui-là</a> mais je n'en suis pas sûr même si les symptômes et conditions sont
similaires (j'avais en effet changé la disposition par défaut de mon clavier il
y a peu).</p>
<p>Le troisième bogue est après la reconstruction générale des paquets avec GCC
7 (le compilateur par défaut de F26), <a href="https://bugzilla.redhat.com/show_bug.cgi?id=1422532" hreflang="en">Firefox
devenait inutilisable</a>. L'interface n'était pas cohérente, pas chargée
entièrement, les pages Web non plus… Cela est due sans doute à une trop grande
optimisation du code par GCC qui a cassé le fonctionnement. Quelques jours
après le rapport, problème corrigé. <img src="media/59264327.smile.png" data-original-source="https://blog.fedora-fr.org/themes/default/smilies/smile.png" alt=":-)"></p>
<p>Notons que le bogue que j'avais identifié concernant la lecture des vidéos
semble résolue. Enfin ! J'attends encore un peu avant de signaler cela sur le
Bugzilla histoire d'être sûr (bogue à caractère aléatoire qui nécessite donc
plusieurs essais pour vérifier sa disparition).</p>
<p>Enfin, le dernier est un <a href="https://bugzilla.redhat.com/show_bug.cgi?id=1427593" hreflang="en">problème du
noyau Linux lié au Wifi pour certains modèles de carte (dont ma carte
évidemment)</a>. Le noyau crashait partiellement lors de son activation ce qui
était plutôt pénible et obligeait de garder un vieux noyau en secours. N'ayant
pas encore la connexion par câble à la maison, c'était plutôt embêtant. Mais
c'est corrigé. Ouf.</p>
<p>Ce sera tout pour cette fois, ce qui me semble déjà chargé. Je vous donne
rendez-vous dans 1 mois pour la suite des aventures.</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="https://blog.fedora-fr.org/renault/post/Petit-bilan-de-Rawhide%2C-%C3%A9pisode-2" 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="">Petit bilan de Rawhide, 2 mois apr&egrave;s</a> (21/01/2017)</li><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></ul></div></p>


title: Tuxicoman : Logiciel libre et auto hébergement, quid de la masse populaire?
uri: Tuxicoman-Logiciel-libre-et-auto-hébergement-quid-de-la-masse-popu
feed_id:
https://tuxicoman.jesuislibre.net/2017/03/logiciel-libre-et-auto-hebergement-quid-de-la-masse-populaire.html?pk_campaign=feed&amp;pk_kwd=logiciel-libre-et-auto-hebergement-quid-de-la-masse-populaire

url:
https://tuxicoman.jesuislibre.net/2017/03/logiciel-libre-et-auto-hebergement-quid-de-la-masse-populaire.html?pk_campaign=feed&amp;pk_kwd=logiciel-libre-et-auto-hebergement-quid-de-la-masse-populaire

content:
<p><a href="https://www.nextinpact.com/news/103130-facebook-benefices-presque-triples-en-2016.htm">Un utilisateur de Facebook rapporte 80$ de revenus publicitaires par an à Facebook</a>. C’est une moyenne. Un utilisateur très assidu en rapporte plus.</p>
<p>In fine, Facebook dégage un bénéfice net de 10 milliards de dollars par an, principalement issu des revenus publicitaires.</p>
<p>Le prix à payer pour le service est :</p>
<ul><li>accepter les messages publicitaires (comme sur TF1 ou la plupart des magazines papier en kiosque)</li>
<li>le profilage de son comportement à tout fin future</li>
<li>la censure selon les règles de Mark Zuckenberg (pas de nudité, etc…)</li>
<li>l’espionnage d’Etat, en premier lieu des USA.</li>
</ul><p>Si l’on considère ces points comme non problématiques, alors les services proposés par Facebook (Facebook, Instagram, WhatsApp) sont très pratiques.</p>
<p>Il permettent de tisser des liens et accéder à des informations à une échelle et vitesse sans précédent pour le plus grand nombre et. Certes le web permet de communiquer à l’échelle de la planète depuis longtemps, mais la plupart des gens ne peuvent apprendre le HTML, comprendre le fonctionnement d’un serveur dans un réseau, payer un nom de domaine ou ne serait ce que le matériel nécessaire à un hébergement.</p>
<p>J’adore le logiciel libre notamment car il permet de voir et s’approprier comment fonctionne réellement un ordinateur mais la plupart des gens ne comprennent même pas ce qu’il y a derrière le mot « cloud ». Le « nuage » de fumée est un concept qui leur est suffisant pour utiliser le service.</p>
<p>Il y a donc là un dilemme. Si les alternatives libres à Facebook sont plus contraignantes à l’utilisation que Facebook, il est peu probable que la majorité des gens y migrent. Tout simplement car ils n’en comprennent pas l’enjeu et donc l’intérêt.</p>
<p>Leurs besoin sont instinctifs ou basiques : envoyer une vidéo rigolote, partager facilement des infos publiques, voir des images de mode vestimentaire, etc… et ils n’ont rien de sérieux à cacher. Snowden a tout dit et presque rien n’a bougé.</p>
<p>Dans ce contexte, quel est l’objectif du logiciel libre pour la masse des individus ?</p>
<p>Sa forme actuelle présuppose que l’utilisateur est éclairé, ne serait ce que pour décider quel moyen technique de communication utiliser (XMPP, email, Diaspora, GNUsocial, Movim, WebRTC, etc…) et maintenir lui même son ordinateur (comprendre APT/RPM est plus complexe qu’utiliser un app store de Google/Apple/Microsoft) et donc un utilisateur non éclairé ne peut pas s’en sortir seul.</p>
<p>Une faible partie de la population est actuellement prête à faire l’effort d’apprentissage (dénombrez parmi vous les utilisateurs éclairés de logiciels libres qui ne travaillent pas dans l’informatique) et l’usage d’un logiciel libre par un utilisateur non éclairé est similaire à l’utilisation d’un logiciel propriétaire (il ne peut rien modifier, est tributaire des conditions d’un prestataire pour toute modification ou administration de son informatique).</p>
<p>Tout le monde n’est pas <a href="https://www.april.org/qui-est-richard-stallman-quest-ce-que-gnu">programmeur comme Stallmann.</a></p>
<p>A mon avis, le libre ne s’imposera que si Facebook abuse de son monopole et devient un problème pour l’écosystème au dessus de lui (annonceurs, services de paiement, éditeurs de contenus, etc…). A ce moment, certains acteurs pourraient se regrouper pour imposer une base logicielle plus propice à la « libre » concurrence et fabriquée à partir de logiciels/protocoles libres et interopérables.</p>
<p>De la même manière, Steam a posé un pied dans l’environnement Linux, mais les utilisateurs ne bougeront pas à moins que les performances Linux dépassent celles de Windows ou que Microsoft gère mal sa cannibalisation du marché avec son magasin d’application intégré à Windows 10. Mais bon, Steam, c’est le mal, puisque pour le coup, c’est un système de DRM pour logiciels non libres.</p>
<h3>Related Posts:</h3>
<ul><li><a href="https://tuxicoman.jesuislibre.net/2017/02/connexion-ssh-a-travers-un-ordinateur-relai-avec-proxyjump.html" title="Connexion SSH à travers un ordinateur relai avec ProxyJump">Connexion SSH à travers un ordinateur relai avec ProxyJump</a></li>
<li><a href="https://tuxicoman.jesuislibre.net/2017/01/mise-a-jour-debian-8-7.html" title="Mise à jour Debian 8.7">Mise à jour Debian 8.7</a></li>
<li><a href="https://tuxicoman.jesuislibre.net/2016/12/bonnes-resolutions-2017.html" title="Bonnes résolutions 2017">Bonnes résolutions 2017</a></li>
<li><a href="https://tuxicoman.jesuislibre.net/2016/11/acceder-au-flux-rss-dun-compte-diaspora.html" title="Accéder au flux RSS d’un compte Diaspora">Accéder au flux RSS d’un compte Diaspora</a></li>
<li><a href="https://tuxicoman.jesuislibre.net/2016/11/migration-owncloud-nextcloud.html" title="Migration owncloud -> nextcloud">Migration owncloud -> nextcloud</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%2F03%2Flogiciel-libre-et-auto-hebergement-quid-de-la-masse-populaire.html%3Fpk_campaign%3Dfeed%26pk_kwd%3Dlogiciel-libre-et-auto-hebergement-quid-de-la-masse-populaire&amp;action_name=Logiciel+libre+et+auto+h%C3%A9bergement%2C+quid+de+la+masse+populaire%3F&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/03/logiciel-libre-et-auto-hebergement-quid-de-la-masse-populaire.html?pk_campaign=feed&amp;pk_kwd=logiciel-libre-et-auto-hebergement-quid-de-la-masse-populaire" 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="">Fail2ban pour votre installation WordPress</a> (03/04/2013)</li><li>Tuxicoman : <a href="">Ins&eacute;rer des vid&eacute;os dans WordPress 3.6</a> (20/08/2013)</li><li>Tuxicoman : <a href="">Changer le DNS sur votre Belgacom BBox-2</a> (08/11/2013)</li><li>Tuxicoman : <a href="">Osez votre propre moteur de recherche !</a> (13/10/2013)</li><li>Tuxicoman : <a href="">Etat des lieux de la messagerie chiffr&eacute;e</a> (09/02/2014)</li></ul></div></p>


feed_id: http://eddy33.eddy33.free.fr/weblog/index.php?post/2017/03/07/Raspberry-Pi-et-commandes-apt
title: Eddy33 : Raspberry Pi et commandes apt
uri: Eddy33-Raspberry-Pi-et-commandes-apt
url: http://eddy33.eddy33.free.fr/weblog/index.php?post/2017/03/07/Raspberry-Pi-et-commandes-apt
content:
<p>Salut.</p>

<p>Quand on utilise une carte Raspberry Pi avec une distribution <a href="https://www.raspberrypi.org/downloads/raspbian/">Raspbian</a> prête à l'emploi, il est fréquent à avoir à installer de nouveaux paquets et à utiliser des commandes apt Debian.</p>
<p>Voici pour mémoire la liste des opérations apt les plus courantes :</p>
<p>Mise à jour liste des paquets :</p>
<pre>% sudo apt-get update</pre><p><br>Mise à jour du système :</p>
<pre>% sudo apt-get upgrade</pre><p><br>Recherche d’un  paquet :</p>
<pre>% sudo apt-cache search nom_paquet</pre><p><br>Informations sur un  paquet :</p>
<pre>% sudo apt-cache show nom_paquet</pre><p><br>Installation d’un  paquet :</p>
<pre>% sudo apt-get install nom_paquet</pre><p><br>Suppression d’un  paquet :</p>
<pre>% sudo apt-get remove nom_paquet</pre><p><br>Suppression d’un  paquet y compris ses fichiers de configuration :</p>
<pre>% sudo apt-get purge nom_paquet</pre>
<p>++</p>
<p><img src="media/889f4f2a.d1430102ed05bb1a49902c819454fef2" data-original-source="http://cdn.libravatar.org/avatar/d1430102ed05bb1a49902c819454fef2" alt="Gravatar de Eddy33" class="gravatar" /><br/><i>Original post of <a href="http://eddy33.eddy33.free.fr/weblog/index.php?post/2017/03/07/Raspberry-Pi-et-commandes-apt" title="Visit the source">Eddy33</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>crowd42 : <a href="">Raspberry PI : vous ne savez pas par o&ugrave; commencer ? &Eacute;ssayez NOOBS</a> (09/06/2013)</li><li>crowd42 : <a href="">RPI-Monitor : un logiciel de supervision pour votre serveur Raspberry PI</a> (06/07/2013)</li><li>crowd42 : <a href="">Gasser : un capteur de la qualit&eacute; de l&rsquo;air bas&eacute; sur Raspberry PI</a> (13/12/2012)</li><li>G&eacute;n&eacute;ration Linux : <a href="">Mon nouveau joujou &agrave; venir : le Raspberry Pi</a> (06/01/2013)</li><li>G&eacute;n&eacute;ration Linux : <a href="">Raspberry Pi : vos t&eacute;moignages m&#039;interessent</a> (11/01/2013)</li></ul></div></p>


feed_id: https://www.dadall.info/blog/index.php?article593/verifier-la-securite-de-son-instance-nextcloud
title: dada : Vérifier la sécurité de son instance Nextcloud
uri: dada-Vérifier-la-sécurité-de-son-instance-Nextcloud
url: https://www.dadall.info/blog/index.php?article593/verifier-la-securite-de-son-instance-nextcloud
content:
<br>Avoir son informatique dans les nuages, c'est franchement chouette. Mettre en place les services dont on a besoin et s'en servir, c'est même carrément jouissif pour le bidouilleur que je suis. Et je ne vous parle même pas des services inutiles que je m'amuse à faire tourner quand même ! Ne me regardez pas comme ça, nous sommes nombreux dans ce cas-là !<br><br>Dans les services que j'utilise beaucoup, il y a ownCloud, devenu Nextcloud dans mon cas. Il fait vraiment le café et me rend un nombre impressionnant de services. Du coup, il est devenu particulièrement critique : à force de mettre des choses et d'autres dedans, on y retrouve une partie de ma vie loin de l'écran, carrément personnelle, que je ne veux pas voir traîner n'importe où. <br><br>Là aussi, je suppose que je ne suis pas le seul dans ce cas et c'est peut-être pour ça que les gars de NC ont sorti <a href="https://scan.nextcloud.com/" title="un utilitaire pour scanner">un utilitaire pour scanner</a>  et analyser la qualité de l'installation de leur bébé de part le grand Internet et ses habitants, qui ne sont pas toujours des grands spécialistes.<br><br><div align="center"><img src="media/47bd8020.page-shot-2017-3-6-nextcloud-security-scan-results.png" data-original-source="https://www.dadall.info/blog/data/images/owncloud/page-shot-2017-3-6-nextcloud-security-scan-results.png" alt=""><br></div><br>Voici ce que vous devriez tous avoir sous les yeux une fois l'adresse de votre instance donnée à bouffer au scanner, et c'est presque un minimum ! Le A+ traduit un serveur configuré avec les normes en vigueurs chez les professionnels. Ça tombe bien, l'hébergement, c'est mon métier. <br><br>Cette note est tout de même trompeuse puisqu'elle ne s'intéresse pas à la configuration complète du serveur sur lequel Nextcloud tourne, mais c'est déjà ça.<br><br>Si vous passez par un prestataire, faites aussi le test et n'hésitez pas à lui remonter, <strong>poliment</strong>, d'éventuelles inquiétudes !<br><br>Nextcloud étant un outil qui doit rester ouvert sur le web, il doit impérativement faire l'objet d'une vigilance importante. D'autres outils peuvent tourner avec des accès très restreints, pas NC. <br><br>Je profite de ce billet pour balancer un lien vers cet article de l'excellent Reflets.info : <a href="https://reflets.info/jacques-attali-digital-au-propre-et-au-figure/" title="Jacques Attali digital, au propre et au figuré">Jacques Attali digital, au propre et au figuré</a>. On peut y lire des choses à la fois drôles et tristes sur la vitrine web de gens qu'on imaginerait à l'écoute de ce genre de problématique. Et je ne parle même pas de <a href="https://www.nextinpact.com/news/103313-yahoo-deuxieme-breche-concerne-aussi-donnees-recentes.htm" title="Yahoo">Yahoo</a>...<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?article593/verifier-la-securite-de-son-instance-nextcloud" 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>


title: Thuban : Être averti des mises à jours de -current disponibles.
uri: Thuban-Être-averti-des-mises-à-jours-de-current-disponibles
feed_id:
https://yeuxdelibad.net/Blog/?d=2017/03/07/15/30/40-etre-averti-des-mises-a-jours-de--current-disponibles

url:
https://yeuxdelibad.net/Blog/?d=2017/03/07/15/30/40-etre-averti-des-mises-a-jours-de--current-disponibles

content:
<p>Grande nouvelle, j'ai atteint mon objectif : longueur de barbe > longueur de cheveux. De quoi faire un T-shirt "Achievement unlocked" si ça en intéresse certains...</p>

<p>Quoi? oO Tout le monde s'en fout ? :D</p>

<p>Bon, de quoi voulais-je parler? Ah oui, les mises à jour de -current.</p>

<p><a href="http://openbsd.org/">OpenBSD</a> -current permet de suivre les derniers développements effectués et d'avoir les toutes dernières versions des paquets.<br>
Bien que ça ne soit pas obligatoire, il faut en général veiller à ce que les paquets et la base du système soient synchrones avant de procéder à la mise à jour.</p>

<p>L'outil <a href="https://framagit.org/fredg/snaps">snaps</a> de fredg vérifie ces informations. Cela dit, ça suppose que l'on prenne le temps de lancer snaps régulièrement, ce que j'oublie.</p>

<p>Du coup, j'ai repris une partie du code de snaps pour le mettre dans un script nommé <a href="http://git.yeuxdelibad.net/ocun/">ocun - OpenBSD current update notifier</a>. Ce dernier vérifie si votre miroir dispose d'un nouveau snapshot et vous l'indique.</p>

<p>Afin de garder les choses simples et permettre à chacun de faire comme bon lui semble, le script ne fait qu'indiquer en sortie s'il y a un nouveau snapshot. Libre à vous de relayer l'information par mail, par libnotify, flux rss ou que sais-je...</p>

<p>Par exemple, j'ai rajouté cette ligne dans mon fichier /etc/daily.local afin que la vérification soit quotidienne (ça fonctionnerait aussi dans un crontab) :</p>

<pre><code>/usr/local/bin/ocun | mail -E -s "-current update avaiable" monmail@blabla.com
</code></pre>

<p>N'oubliez pas de lire la page permettant de suivre -current après chaque mise à jour : <a href="https://www.openbsd.org/faq/current.html.">https://www.openbsd.org/faq/current.html.</a></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/03/07/15/30/40-etre-averti-des-mises-a-jours-de--current-disponibles" 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: Benoît Boudaud : #Primtux, une distribution Linux pour les élèves du primaire.
uri: Benoît-Boudaud-Primtux-une-distribution-Linux-pour-les-élèves-d
feed_id:
https://ordinosor.wordpress.com/2017/03/08/primtux-une-distribution-linux-pour-les-eleves-du-primaire/

url:
https://ordinosor.wordpress.com/2017/03/08/primtux-une-distribution-linux-pour-les-eleves-du-primaire/

content:
<p>Bonjour, il y a quelques jours, j’ai découvert <a href="https://primtux.fr/" target="_blank">Primtux</a>, une distribution « développée (je cite) par une petite équipe de professeurs des écoles et de passionnés de l’informatique dans le milieu éducatif. »</p>
<p>Je trouve que c’est une belle initiative. Ludique et éducative à la fois, elle s’adresse aux élèves scolarisés dans l’enseignement primaire. Je l’ai testée en démo dans une machine virtuelle. Elle contient par exemple une version LibreOffice avec un design beaucoup plus coloré. Cette version offre par exemple la possibilité de coloriser les syllabes d’un mot. Au passage, il y a une magnifique faute d’orthographe avec l’onglet <strong>aggrandir</strong> (oui vous avez bien lu! Avec deux <strong>g</strong>). Les professeur des écoles ne l’ont pas remarquée. Bravo! À qui la faute? À la méthode globale ou à la méthode syllabique?</p>
<p>Il y a trois niveaux :</p>
<ul><li><strong>Mini</strong> (pour les 3 – 5 ans)</li>
<li><strong>Super</strong> (pour les 6-7 ans)</li>
<li><strong>Maxi</strong> (pour les 8 – 10 ans)</li>
</ul><p>Les niveaux <strong>Super</strong> et <strong>Maxi</strong> bénéficient d’un accès internet restreint c’est-à dire qu’il est inutile de taper <strong>ebay.fr</strong> dans la barre de recherche. Vous obtiendrez un message vous signifiant que l’accès à ce site est interdit. Le moteur de recherche est <a href="https://www.qwantjunior.com/?l=fr" target="_blank">Qwant Junior</a>.</p>
<p>On trouve également une multitude de petits jeux éducatifs pour assimiler des notions de français, mathématiques, géométrie etc… Voici un aperçu dans la vidéo présente sur le site officiel.</p>
<p>
</p><div><iframe type="text/html" width="840" height="503" src="https://www.youtube.com/embed/hCcB4hFBPNI?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></div><br><a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/ordinosor.wordpress.com/9156/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/ordinosor.wordpress.com/9156/"></a> <img alt="" border="0" src="https://pixel.wp.com/b.gif?host=ordinosor.wordpress.com&amp;blog=88640341&amp;post=9156&amp;subd=ordinosor&amp;ref=&amp;feed=1" width="1" height="1">
<p><img src="media/2bfe7d9e.32ef7afc84e96215042dfebd6840b008" data-original-source="http://cdn.libravatar.org/avatar/32ef7afc84e96215042dfebd6840b008" alt="Gravatar de Beno&icirc;t Boudaud" class="gravatar" /><br/><i>Original post of <a href="https://ordinosor.wordpress.com/2017/03/08/primtux-une-distribution-linux-pour-les-eleves-du-primaire/" title="Visit the source">Benoît Boudaud</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>Thierry Andriamirado : <a href="">Lenovo vous demande de voter pour la distribution Linux &agrave; adopter pour la gamme ThinkPad</a> (16/09/2007)</li></ul></div></p>


feed_id: https://postblue.info/prosody-mise-a-jour-automatique-des-modules-communautaires/
title: PostBlue : Prosody : mise à jour automatique des modules communautaires
uri: PostBlue-Prosody-mise-à-jour-automatique-des-modules-communautair
url: https://postblue.info/prosody-mise-a-jour-automatique-des-modules-communautaires/
content:
<p>Pour mettre à jour automatique les modules communautaires que j'utilise sur mon serveur de messagerie instantanée (XMPP) Prosody, j'ai écrit un <code>service</code> systemd ainsi qu'un <code>timer</code> le lançant toutes les nuits.</p>

<p>D'abord, il faut évidemment copier le dépôt des modules communautaires quelque part sur le serveur où tourne <code>prosody</code> (par exemple <code>/usr/local/lib/prosody/modules</code>).</p>

<pre><code>sudo apt update
sudo apt install mercurial
sudo hg clone https://hg.prosody.im/prosody-modules/ /usr/local/lib/prosody/modules
</code></pre>

<p>Ensuite, éditer le fichier de configuration <code>sudo -e /etc/prosody/prosody.cfg.lua</code> et y ajouter le chemin vers ce répertoire.</p>

<pre><code>-- These paths are searched in the order specified, and before the default path
plugin_paths = { "/usr/local/lib/prosody/modules" }
</code></pre>

<p>Sauvegarder, relancer <code>prosody</code> et vérifier que le chemin est bien pris en compte.</p>

<pre><code>sudo service prosody restart
sudo prosodyctl about
</code></pre>

<p>Exemple :</p>

<p><img src="media/d0a54add.Capture-du-2017-03-09-10-51-58.png" data-original-source="https://postblue.info/content/images/2017/03/Capture-du-2017-03-09-10-51-58.png" alt=""></p>

<p>Le répertoire de modules complémentaires étant correctement pris en compte, on peut maintenant créer un <code>service</code> dont la tâche sera de mettre à jour le répertoire cloné.</p>

<pre><code>sudo -e /etc/systemd/system/prosody-up.service
</code></pre>

<p>Copier et sauvegarder :</p>

<pre><code>[Service]
Type=oneshot
ExecStart=/usr/bin/hg pull --update --cwd /usr/local/lib/prosody/modules
ExecStartPost=/usr/sbin/service prosody restart
</code></pre>

<p>Ensuite un <code>timer</code> invoquant le <code>service</code> ci-dessus à intervalle régulier (toutes les nuits à 2h du matin).</p>

<pre><code>sudo -e /etc/systemd/system/prosody-up.timer
</code></pre>

<p>Copier et sauvegarder :</p>

<pre><code>[Unit]
Description=Prosody Modules Updater
After=network-online.target
Wants=network-online.target prosody.service

[Timer]
OnCalendar=*-*-* 02:00:00
Persistent=true

[Install]
WantedBy=timers.target
</code></pre>

<p>Pour finir, il suffit de recharger les services de <code>systemd</code> (par mesure de sécurité), activer le <code>timer</code> et lancer le <code>service</code>.</p>

<pre><code>sudo systemctl daemon-reload
sudo systemctl enable prosody-up.timer
sudo systemctl start prosody-up.service
sudo systemctl status prosody-up.service -l
</code></pre>
<p><img src="media/00a321c9.6e80c1e7eee37b7507d19ec8bb9afc90" data-original-source="http://cdn.libravatar.org/avatar/6e80c1e7eee37b7507d19ec8bb9afc90" alt="Gravatar de PostBlue" class="gravatar" /><br/><i>Original post of <a href="https://postblue.info/prosody-mise-a-jour-automatique-des-modules-communautaires/" title="Visit the source">PostBlue</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/droit-des-femmes-et-traduction.html
title: Jean-Baptiste Holcroft : Droit des femmes et traduction ?
uri: Jean-Baptiste-Holcroft-Droit-des-femmes-et-traduction
url: https://jibecfed.fedorapeople.org/blog/droit-des-femmes-et-traduction.html
content:
<p>Quel rapport entre le logiciel libre et la journée du droit des femmes ? La qualité de la traduction et de l’internationalisation ! Ici on s’intéressera aux cas concrêts pour ouvrir son logiciel aux minorités, et les femmes sont trop peu présentes dans l’informatique.</p>
<p>En réalisant la mise à jour des applications <a href="http://yunohost.org/">YunoHost</a> sur mon serveur ce matin, l’interface me demande « Êtes-vous sur de vouloir mettre à jour de tous les applications ? ».</p>
<p>Ici, en plus du petit détail d’accent circonflexe manquant (sûr : être certain, sur : être dessus), on remarque donc deux problèmes liés au genre.</p>
<p>Si l’anglais permet très souvent l’usage de mots neutres, le français tend a donner un genre beaucoup plus rapidement. En anglais, effectivement cela ne se remarque pas : « Are you sure you want update every %s 1 ? ».</p>
<p>On découvre via la phrase source un problème de plus, ici le développeur utilise la même phrase pour parler de choses différentes « %s » peut être un paquet ou une application comme <a href="https://github.com/YunoHost/yunohost-admin/blob/d1e17af0bb62549c462d99d5965ce9412c16b552/src/js/yunohost/controllers/tools.js#L77">on le voit dans le code du projet</a>… Eh bien ici on donc un problème de traduction et un problème d’internationalisation ! D’ailleurs <a href="https://github.com/YunoHost/yunohost-admin/blob/d1e17af0bb62549c462d99d5965ce9412c16b552/src/js/yunohost/controllers/tools.js#L70">il y en a d’autres</a>.</p>
<p>Pour le problème de traduction, le fait de sous-entendre que l’utilisateur est un homme peut être résolu très simplement avec la tournure « Voulez-vous vraiment ». Ce n’est pas plus complexe à comprendre et cela utilise moins de place dans les interfaces, tout en étant un peu plus accueillant et équitable.</p>
<p>Pour le second problème, écrire « toutes » rendra cette phrase juste quand on parle d’application, mais fausse quand on parle de paquet. D’ailleurs, rien ne permet d’affirmer que le mot Application ou Paquet sera à la même place dans la phrase pour toutes les langues.</p>
<p>Sur ce dernier point, deux éléments sont importants et intéressants, l’emplacement des mots dans la phrase et la grammaire.</p>
<p>Concernant l’emplacement des mots – la FSF donne un lien très intéressant concernant la traduction sur la page décrivant son <a href="https://www.fsf.org/campaigns/priority-projects/internationalization">projet prioritaire d’internationalisation</a>, c’est un article du <a href="https://www.w3.org/standards/webdesign/i18n">W3C y décrit les enjeux rudimentaires de l’internationalisation</a> liés au positionnement des mots dans les phrases selon les langues. Pour aller plus loin, <a href="https://www.w3.org/International/">tout ce site concernant l'internationalisation est très intéressant (et traduit)</a>.</p>
<p>Concernant la grammaire, certaines langues changent d’orthographe de ses mots en fonction de leur rapport aux autres mots. C’est par exemple le cas des déclinaisons en allemand. Sceptiques ? Voici un exemple avec le site vitrine getfedora cette fois-ci en polonais. « Choisissez la liberté. Choisissez Fedora » est traduit « <a href="https://getfedora.org/pl/">Wybierz wolność. Wybierz Fedorę</a>. ». Wikimédia m’apprend aujourd’hui qu’il s’agit de « langues flexionnelles ». Donc le fait de dissocier l’objet de la phrase mène très probablement à une mauvaise traduction (le contexte manque et le temps pour fouiller dans le code afin de comprendre n'est souvent pas pris).</p>
<p>Et encore, je n’ai pas traité ici le fait que mettre à jour « une application » ou « plusieurs applications » devrait pouvoir être traduit différemment ! En français c’est simplement deux possibilités (singulier ou pluriel), mais dans d’autres langues, il y a plusieurs formulations possibles… Voir sur le sujet la <a href="https://www.gnu.org/software/gettext/manual/html_node/Plural-forms.html">documentation Gettext</a> ou <a href="https://developer.android.com/guide/topics/resources/string-resource.html#Plurals">Android</a>.</p>
<p>Conclusion : internationaliser un logiciel et le traduit est une activité nécessitant beaucoup d’attention pour les développeurs, en plus de l’utilisation d’outils dédiés tel que gettext, il y a des règles de développement qu’il faut respecter, faute de quoi on pense bien faire, mais on ne couvre que de façon très imparfaite les cas effectivement rencontrés par les traducteurs.</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/droit-des-femmes-et-traduction.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://yeuxdelibad.net/Blog/?d=2017/03/11/22/07/23-wallabag-et-kriss
title: Thuban : Wallabag et kriss
uri: Thuban-Wallabag-et-kriss
url: https://yeuxdelibad.net/Blog/?d=2017/03/11/22/07/23-wallabag-et-kriss
content:
<p>Pour lire mes flux RSS, j'utilise <a href="http://tontof.net/kriss/feed/">KrISS</a> que je trouve rapide et surtout très efficace. Je ne vois pas l'intérêt d'utiliser tiny tiny rss qui est une vraie plaie à installer et à mettre à jour pour si peu de fonctionnalités intéressantes (pour mon utilisation). KrISS, c'est 1 fichier php, et voilà :)</p>

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

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

<div>
<img src="media/cfe959b8.kriss2.png" data-original-source="http://https//yeuxdelibad.net/Blog//Blog/img/de/kriss2.png" alt=""></div>

<p>Plus qu'à cliquer sur "partager" :</p>

<div><img src="media/7ef1f562.kriss.png" data-original-source="http://https//yeuxdelibad.net/Blog//Blog/img/f4/kriss.png" alt=""></div>
<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/03/11/22/07/23-wallabag-et-kriss" 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: http://fgallaire.flext.net/quel-dpl-debian-project-leader-pour-2017/
title: fgallaire : Quel DPL pour 2017 ?
uri: fgallaire-Quel-DPL-pour-2017
url: http://fgallaire.flext.net/quel-dpl-debian-project-leader-pour-2017/
content:
<p>Le temps passe vite, et cela fait déjà presque un an que <a href="http://dogguy.org/doku.php" target="_blank">Mehdi Dogguy</a> a été <a href="http://fgallaire.flext.net/mehdi-dogguy-elu-dpl-debian-project-leader-pour-2016/" target="_blank">élu Debian Project Leader</a> (<a href="http://www.debian.org/devel/leader" target="_blank">DPL</a>). Chaque <a href="http://wiki.debian.org/DebianDeveloper" target="_blank">développeur Debian</a> pouvait se porter candidat entre le 5 et le 11 mars à la suite du traditionnel <a href="https://lists.debian.org/debian-vote/2017/03/msg00000.html" target="_blank">appel à candidatures</a>.</p>
<p>La question de la légitimité d’un scrutin avec un seul candidat, <a href="https://lists.debian.org/debian-vote/2016/03/msg00005.html" target="_blank">posée l’année dernière</a> par Paul Wise, n’est heureusement plus d’actualité, mais force est de constater que les candidats ne se bousculent toujours pas au portillon pour devenir DPL. Il y en aura donc deux cette année :</p>
<ul><li><a href="http://www.debian.org/vote/2017/platforms/mehdi" target="_blank">Mehdi Dogguy</a></li>
<li><a href="http://www.debian.org/vote/2017/platforms/chris" target="_blank">Chris Lamb</a></li>
</ul><p>En plus de son rôle de développeur Debian, <a href="https://chris-lamb.co.uk/about" target="_blank">Chris Lamb</a> est un <a href="https://chris-lamb.co.uk/projects" target="_blank">important contributeur</a> du projet <a href="https://reproducible-builds.org/" target="_blank">Reproducible builds</a> ainsi que du framework web Python <a href="https://www.djangoproject.com/" target="_blank">Django</a> et de son écosystème.</p>
<p>Les presque mille développeurs Debian seront libres de voter du 2 au 15 avril lors d’un vote utilisant la <a href="http://fr.wikipedia.org/wiki/M%C3%A9thode_Condorcet" target="_blank">méthode Condorcet</a>.</p>
<p>Vous pouvez retrouver tous les débats de la campagne sur la <a href="http://lists.debian.org/debian-vote/2017/03/threads.html" target="_blank">mailing list debian-vote</a>.</p>
<div><a href="http://twitter.com/share?url=http://fgallaire.flext.net/quel-dpl-debian-project-leader-pour-2017/&amp;via=fgallaire&amp;text=Quel%20DPL%20pour%202017%20?&amp;related=:&amp;lang=en&amp;count=horizontal">Tweet</a></div>
<p><img src="media/8f79fd12.7fc5cf58fae9981c528af0ed4372f187" data-original-source="http://cdn.libravatar.org/avatar/7fc5cf58fae9981c528af0ed4372f187" alt="Gravatar de fgallaire" class="gravatar" /><br/><i>Original post of <a href="http://fgallaire.flext.net/quel-dpl-debian-project-leader-pour-2017/" title="Visit the source">fgallaire</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>fgallaire : <a href="">Quel DPL pour 2015 ?</a> (20/03/2015)</li><li>fgallaire : <a href="">Neil McGovern &eacute;lu DPL pour 2015</a> (15/04/2015)</li><li>fgallaire : <a href="">Quel DPL pour 2016 ?</a> (14/03/2016)</li><li>fgallaire : <a href="">Mehdi Dogguy &eacute;lu DPL pour 2016</a> (17/04/2016)</li><li>fgallaire : <a href="">Quel DPL pour 2012 ?</a> (19/03/2012)</li></ul></div></p>


feed_id: https://ordinosor.wordpress.com/2017/03/11/python-les-dictionnaires/
title: Benoît Boudaud : Python: Les dictionnaires
uri: Benoît-Boudaud-Python-Les-dictionnaires
url: https://ordinosor.wordpress.com/2017/03/11/python-les-dictionnaires/
content:
<p><strong>Pour une lecture plus agréable (page plus large), je vous invite à <a href="https://ordinosor.wordpress.com/chapitre-12-les-dictionnaires/" target="_blank">cliquer sur ce lien</a> et à lire ce chapitre dans la rubrique consacrée au langage Python.</strong></p>
<p>J’habite en Allemagne et l’idiome guttural de ce pays n’est pas ma langue maternelle. Par conséquent, lorsqu’un mot me manque, je consulte un dictionnaire. Je me rends directement à l’emplacement précis du mot français, par exemple <strong>Ambulance</strong>, et ce mot français est comme une clé qui me donne accès à la valeur correspondante dans la langue de <a href="https://www.rammstein.de/de/" target="_blank">Rammstein</a> :</p>
<p>Ambulance : <strong>Krankenwagen</strong></p>
<p>Figurez-vous qu’il existe exactement le même procédé en Python et c’est bien plus pratique qu’une liste. Les dictionnaires sont la solution idéale pour réaliser un test d’appartenance et en extraire une valeur.</p>
<figure data-shortcode="caption"><img data-attachment-id="9534" data-permalink="https://ordinosor.wordpress.com/2017/03/11/python-les-dictionnaires/dico-2/" data-orig-file="https://ordinosor.files.wordpress.com/2017/03/dico.png?w=373&amp;h=471" data-orig-size="700,883" 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="dico" data-image-description="" data-medium-file="https://ordinosor.files.wordpress.com/2017/03/dico.png?w=373&amp;h=471?w=238" data-large-file="https://ordinosor.files.wordpress.com/2017/03/dico.png?w=373&amp;h=471?w=700" src="https://ordinosor.files.wordpress.com/2017/03/dico.png?w=373&amp;h=471" alt="dico" width="373" height="471" srcset="https://ordinosor.files.wordpress.com/2017/03/dico.png?w=373&amp;h=471 373w, https://ordinosor.files.wordpress.com/2017/03/dico.png?w=119&amp;h=150 119w, https://ordinosor.files.wordpress.com/2017/03/dico.png?w=238&amp;h=300 238w, https://ordinosor.files.wordpress.com/2017/03/dico.png 700w" sizes="(max-width: 373px) 85vw, 373px"><figcaption>Ne jamais laver un dictionnaire à 60°!</figcaption></figure><h2>Limitation des listes</h2>
<p>Le problème des listes, c’est qu’il s’agit d’une séquence d’objets indicés, c’est-à dire que pour avoir accès à un élément précis, il faut connaitre son indice :</p>
<pre>
mots_fr = ["Ambulance", "Hôpital","Infirmière"]
mots_allemands = ["Krankenwagen", "Krankenhaus","Krankenschwester"]
</pre>
<p>Par exemple, je sais que l’indice d’<strong>Infirmière</strong> est le nombre entier 2. Je consulte la liste allemande. Que trouve-t-on à l’indice 2? <strong>Krankenschwester</strong>.</p>
<p>Pas très pratique tout ça! En plus, est-ce que je suis sûr que les traductions sont rangées dans le bon ordre. Est-ce que le mot allemand qui est à l’indice 1 (<strong>Krankenhaus</strong>) correspond bien au mot français au même indice <strong>(Hôpital)</strong>? Si ça se trouve, c’est tout dans le désordre!</p>
<p>Pour éviter ce genre de désagréments, on pourrait alors imaginer une liste de listes contenant des paires mot_allemand – mot_français:</p>
<pre>dictionnaire = [["Ambulance", "Krankenwagen"], ["Hôpital", "Krankenhaus"],["Infirmière", "Krankenschwester"], [(...), (...)]]</pre>
<p>Et pour trouver la traduction, on pourrait utiliser ce code:</p>
<pre>
dictionnaire =[["Ambulance", "Krankenwagen"], ["Hôpital", "Krankenhaus"],["Infirmière", "Krankenschwester"]]
for i, element in enumerate (dictionnaire):
    if "Hôpital" in dictionnaire[i]:
        print(dictionnaire[i][1])</pre>
<p><span>Résultat: « Krankenhaus »</span></p>
<p>« Ça marche, Ordinosor! On l’a, notre dictionnaire français-allemand ».</p>
<p>Ne t’emballe pas, jeune fou! je te rappelle que les listes sont des séquences. Cela signifie que pour faire un test d’appartenance, elles sont parcourues de l’indice <strong>0</strong> jusqu’à l’indice de l’élément recherché. En clair, si tu cherches la traduction de <strong>zygomatique</strong> qui se trouve à la fin du dictionnaire, il va falloir que tu tournes toutes les pages une par une et que tu lises tous les mots un par un! Tu n’as pas le choix, ton dictionnaire est une liste.</p>
<p>Tu sais quoi? On va se donner rendez-vous en 2025. Tu m’apporteras ta traduction. Allez vas-y, tourne les pages!</p>
<p>Bon… en attendant, entrons dans le vif du sujet.</p>
<h2>Définition et déclaration d’un dictionnaire</h2>
<h3>Définition</h3>
<p>Un dictionnaire est un ensemble dont les éléments sont des paires <strong>clé-valeur </strong>. Au niveau syntaxique, un dictionnaire est contenu entre deux accolades. Les éléments sont séparés par des virgules tandis que les paires clé-valeur sont séparées par deux points. Voici ce que ça donne:</p>
<p><span><strong>nom_du_dictionnaire = {clé : valeur, clé : valeur, clé : valeur, (…) : (…)}</strong></span></p>
<p>Un dictionnaire est modifiable et les valeurs peuvent être n’importe quel objet (immuable ou modifiable, il n’y a aucune restriction) mais les clés doivent absolument être des objets immuables (string, nombre entier, nombre décimal, tuple). Si la clé est un tuple, celui-ci ne doit contenir que des éléments immuables. Par exemple, ce genre de clé <strong>([0, 1], [2, 3])</strong> qui est un tuple contenant des listes modifiables va lever une exception (erreur):</p>
<p><span>TypeError: unhashable type: ‘list’</span></p>
<h3>Déclarer un dictionnaire</h3>
<ul><li>Pour déclarer un dictionnaire, on utilise des accolades :</li>
</ul><pre>
dictionnaire = {} # dictionnaire vide
</pre>
<ul><li>Je viens de créer un dictionnaire vide mais je peux très bien créer un dictionnaire et y placer des éléments dès sa déclaration :</li>
</ul><pre>
capitales = {"France":"Paris", "Allemagne" : "Berlin"}
</pre>
<p>Dans cet exemple, <strong>« France »</strong> est une clé tandis que <strong>« Paris »</strong> est une valeur.</p>
<ul><li>Il existe une autre méthode pour créer un dictionnaire. Elle consiste à créer une liste de tuples que l’on transforme en dictionnaire grâce au constructeur <strong>dict()</strong>.</li>
</ul><pre>
liste_capitales = [("France","Paris"), ("Allemagne","Berlin")]
capitales = dict(liste_capitales)
print(capitales)
</pre>
<p><span>Résultat : {‘Allemagne’: ‘Berlin’, ‘France’: ‘Paris’}</span></p>
<ul><li>Il n’est pas possible de dupliquer une clé. Si on le fait, ce sera la dernière valeur entrée pour cette clé qui sera prise en compte.</li>
</ul><pre>
capitales = {"France":"Paris", "Allemagne" : "Berlin", "France" : "Marseille"}
print(capitales)
</pre>
<p><span>Résultat: {‘Allemagne’: ‘Berlin’, ‘France’: ‘Marseille’}</span></p>
<h3>Ajouter un élément (paire clé-valeur)</h3>
<p>Si je veux rajouter un élément, c’est très simple, je créé une nouvelle paire clé-valeur. La clé  est contenue entre des crochets et la valeur se trouve à la droite du signe d’affectation. La syntaxe est donc la suivante :</p>
<p><span><strong>nom_du_dico[clé] = valeur</strong></span></p>
<pre>
capitales['Islande'] = "Reykjavik"
print(capitales)
</pre>
<p><span>Résultat : {‘Allemagne’: ‘Berlin’, ‘Islande’: ‘Reykjavik’, ‘France’: ‘Paris’}</span></p>
<p>Diantre! Les éléments ne sont plus dans le même ordre? Comment se fait-ce?</p>
<p>Ça n’a aucune espèce d’importance. L’ordre est aléatoire car un dictionnaire n’est pas une séquence, c’est une implémentation de <a href="https://fr.wikipedia.org/wiki/Table_de_hachage" target="_blank">tables de hachage</a>. Pour retrouver une valeur, nous avons seulement besoin de connaître sa clé.</p>
<h3>Accéder à une valeur</h3>
<p>Voici comment on accède à une valeur:</p>
<pre>
capitales = {'Allemagne': 'Berlin', 'Islande': 'Reykjavik', 'France': 'Paris'}
result = capitales["Allemagne"] #Je stocke le résultat dans une variable.
print(result)
</pre>
<p><span>Résultat : « Berlin »</span></p>
<p>C’est simple et instantané! Le programme n’a pas besoin de parcourir le dictionnaire du début à la fin. Grâce à la clé <strong>(« Allemagne »)</strong>, Python est en mesure de se rendre directement à la « page » souhaitée pour trouver la valeur et renvoyer cette dernière. Que le dictionnaire contienne dix éléments ou cinq cent millions, la vitesse d’exécution sera de toute façon identique!</p>
<p>Et si j’utilise une clé qui n’est pas dans le dictionnaire, Python lève une exception (erreur):</p>
<pre>
result = capitales["Syldavie"]
print(result)
</pre>
<p><span>KeyError: ‘Syldavie’</span></p>
<h3>La méthode get() comme test d’appartenance</h3>
<p>Pour contourner cette exception et éviter d’avoir un message d’erreur qui stoppe le programme, il suffit d’utiliser la méthode<strong> get()</strong> en lui passant deux arguments : la clé et le résultat renvoyé au cas où la clé serait absente du dictionnaire. Reprenons le code précédent :</p>
<pre>
result = capitales.get("Syldavie", "Non répertorié.")
print(result)
</pre>
<p><span>Résultat : Non répertorié.</span></p>
<h3>Tester l’appartenance avec l’instruction in</h3>
<p>Il est possible de tester l’appartenance d’une <span><strong>clé</strong></span> à un dictionnaire grâce à la puissante instruction <strong>in</strong>.</p>
<pre>
capitales = {"France":"Paris", "Allemagne" : "Berlin","Islande": "Reykjavik"}
if "Islande" in capitales:
    print(capitales["Islande"])
</pre>
<p><span>Résultat : Reykjavik</span></p>
<p>Je précise que l’instruction <strong>in</strong> ne teste que l’appartenance des clés et non pas l’appartenance des valeurs.</p>
<pre>
capitales = {"France":"Paris", "Allemagne" : "Berlin","Islande": "Reykjavik"}
if "Reykjavik" in capitales:
    print("Test d'appartenance réussi")
else:
    print("Cette clé est absente du dictionnaire")
</pre>
<p><span>Résultat: Cette clé est absente du dictionnaire</span></p>
<h3>Mettre à jour une valeur</h3>
<p>Si on souhaite mettre à jour une valeur, c’est fort simple. Voici comment on procède:</p>
<pre>
capitales = {"France":"Paris", "Allemagne" : "Berlin","Islande": "Reykjavik"}
capitales["France"] = "Marseille"
print(capitales)
</pre>
<p><span>Résultat: {‘France’: ‘Marseille’, ‘Allemagne’: ‘Berlin’, ‘Islande’: ‘Reykjavik’}</span></p>
<h3>Utiliser un tuple comme clé</h3>
<p>C’est tout à fait possible, à la condition que le tuple ne contienne que des objets immuables. Quant à la valeur, elle peut être constituée par n’importe quel objet donc une liste ne pose aucun problème.</p>
<p>Dès lors, on peut très bien imaginer un dictionnaire avec en guise de clés, des tuples contenant les noms de capitales et les noms de pays et en guise de valeurs, des listes contenant la latitude et la longitude.</p>
<pre>
coords = {("Paris","France"):["48° 51′ N", "2° 21′ E"], ("Berlin","Allemagne"): ["52° 31′ N", "13° 24′ O"]}
result = coords[("Paris", "France")]
print(result)
</pre>
<p><span>Résultat : [’48° 51′ N’, ‘2° 21′ E’]</span></p>
<figure data-shortcode="caption"><img data-attachment-id="9587" data-permalink="https://ordinosor.wordpress.com/2017/03/11/python-les-dictionnaires/code_dict/" data-orig-file="https://ordinosor.files.wordpress.com/2017/03/code_dict.png?w=840" data-orig-size="659,289" 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="code_dict" data-image-description="" data-medium-file="https://ordinosor.files.wordpress.com/2017/03/code_dict.png?w=840?w=300" data-large-file="https://ordinosor.files.wordpress.com/2017/03/code_dict.png?w=840?w=659" src="https://ordinosor.files.wordpress.com/2017/03/code_dict.png?w=840" alt="code_dict" srcset="https://ordinosor.files.wordpress.com/2017/03/code_dict.png 659w, https://ordinosor.files.wordpress.com/2017/03/code_dict.png?w=150 150w, https://ordinosor.files.wordpress.com/2017/03/code_dict.png?w=300 300w" sizes="(max-width: 709px) 85vw, (max-width: 909px) 67vw, (max-width: 984px) 61vw, (max-width: 1362px) 45vw, 600px"><figcaption>Visualisation du code avec <a href="http://pythontutor.com/" target="_blank">Pythontutor</a></figcaption></figure><h3>Supprimer un élément grâce à l’instruction del</h3>
<p>Nous avons vu comment rajouter un élément dans un dictionnaire. C’est d’une simplicité enfantine. Pas besoin de faire appel à la méthode <strong>append()</strong>.</p>
<p>Pour supprimer un élément, on utilise l’instruction <strong>del</strong>. En fait, on supprime la clé et par conséquent, la valeur qui lui est associée.</p>
<pre>
capitales = {"France":"Paris", "Allemagne" : "Berlin","Islande": "Reykjavik"}
del capitales["Allemagne"]
print(capitales)
</pre>
<p><span>Résultat : {‘France’: ‘Paris’, ‘Islande’: ‘Reykjavik’}</span></p>
<h3>Supprimer tout le dictionnaire grâce à l’instruction del</h3>
<p>Notez bien que l’instruction <strong>del</strong> permet également de supprimer tout le dictionnaire. Il suffit pour cela, de ne pas lui passer de clé entre crochets.</p>
<pre>
capitales = {"France":"Paris", "Allemagne" : "Berlin","Islande": "Reykjavik"}
del capitales
print(capitales)
</pre>
<p><span>NameError: name ‘capitales’ is not defined</span></p>
<p>Ce message d’erreur nous confirme que le dictionnaire n’existe plus.</p>
<h3>Utiliser la fonction intégrée len()</h3>
<p>On peut également utiliser la fonction intégrée <strong>len()</strong> pour connaître le nombre de paires clé-valeur contenues dans un dictionnaire.</p>
<pre>
capitales = {"France":"Paris", "Allemagne" : "Berlin","Islande": "Reykjavik"}
print(len(capitales))
</pre>
<p><span>Résultat: 3</span></p>
<h3>Aperçu de quelques méthodes associées aux dictionnaires</h3>
<ul><li><strong>dict.clear()</strong> supprime tous les éléments d’un dictionnaire. En clair, il le vide.</li>
</ul><pre>
capitales = {"France":"Paris", "Allemagne" : "Berlin","Islande": "Reykjavik"}
capitales.clear() # Vide le dictionnaire
print(capitales)
</pre>
<p><span>Résultat: {}</span></p>
<ul><li><strong>dict.items()</strong> retourne toutes les paires clé-valeur sous la forme d’une liste de tuples</li>
</ul><pre>
capitales = {"France":"Paris", "Allemagne" : "Berlin","Islande": "Reykjavik"}
result = capitales.items()
print(result)
</pre>
<p><span>Résultat: dict_items([(‘Islande’, ‘Reykjavik’), (‘France’, ‘Paris’), (‘Allemagne’, ‘Berlin’)])</span></p>
<ul><li><strong>dict.keys()</strong> retourne toutes les clés du dictionnaire sous la forme d’une liste</li>
</ul><pre>
capitales = {"France":"Paris", "Allemagne" : "Berlin","Islande": "Reykjavik"}
result = capitales.keys()
print(result)
</pre>
<p><span>Résultat: dict_keys([‘Islande’, ‘Allemagne’, ‘France’])</span></p>
<ul><li><strong>dict.values()</strong> retourne toutes les valeur du dictionnaire sous la forme d’une liste</li>
</ul><pre>
capitales = {"France":"Paris", "Allemagne" : "Berlin","Islande": "Reykjavik"}
result = capitales.values()
print(result)
</pre>
<p><span>Résultat: dict_values([‘Berlin’, ‘Reykjavik’, ‘Paris’])</span></p>
<h2>Conclusion</h2>
<p>Un dictionnaire est un ensemble non ordonné de paires <strong>clé-valeur</strong>. Chaque clé donne accès à la valeur qui lui est associée. Plus puissant qu’une liste, Un dictionnaire est idéal pour réaliser un test d’appartenance. En effet, comme il s’agit d’une implémentation de table de hachage et non pas d’une séquence, la vitesse d’exécution du test d’appartenance n’est pas liée au nombre d’éléments que le dictionnaire contient.</p>
<p>Il existe des compréhensions de dictionnaire qui feront l’objet d’un chapitre ultérieur.</p><br><a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/ordinosor.wordpress.com/9236/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/ordinosor.wordpress.com/9236/"></a> <img alt="" border="0" src="https://pixel.wp.com/b.gif?host=ordinosor.wordpress.com&amp;blog=88640341&amp;post=9236&amp;subd=ordinosor&amp;ref=&amp;feed=1" width="1" height="1">
<p><img src="media/2bfe7d9e.32ef7afc84e96215042dfebd6840b008" data-original-source="http://cdn.libravatar.org/avatar/32ef7afc84e96215042dfebd6840b008" alt="Gravatar de Beno&icirc;t Boudaud" class="gravatar" /><br/><i>Original post of <a href="https://ordinosor.wordpress.com/2017/03/11/python-les-dictionnaires/" title="Visit the source">Benoît Boudaud</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>Beno&icirc;t Boudaud : <a href="">Python: Les tuples</a> (05/03/2017)</li><li>Beno&icirc;t Boudaud : <a href="">Python: La compr&eacute;hension de liste</a> (27/02/2017)</li><li>Beno&icirc;t Boudaud : <a href="">#Python: Les r&eacute;f&eacute;rences partag&eacute;es et le module copy</a> (16/02/2017)</li><li>Beno&icirc;t Boudaud : <a href="">Python: les listes</a> (13/02/2017)</li><li>Beno&icirc;t Boudaud : <a href="">#Python : Aper&ccedil;u de quelques m&eacute;thodes associ&eacute;es aux objets  de type cha&icirc;ne de caract&egrave;res (str)</a> (06/02/2017)</li></ul></div></p>


feed_id: http://www.elementaryos-fr.org/appcenter-indiegogo/
title: elementary OS : AppCenter & Indiegogo
uri: elementary-OS-AppCenter-Indiegogo
url: http://www.elementaryos-fr.org/appcenter-indiegogo/
content:
<p>Il y a maintenant un peu plus de 30 jours, la team elementary lançait une campagne de financement via la plateforme Indiegogo pour l’AppCenter.</p>
<p>Analysons cette campagne ainsi que les objectifs annoncés.</p>
<p><span></span></p>
<p>Daniel, lors de sa vidéo de présentation de sa campagne, a pu partager sa vision de l’AppCenter ainsi que les différents objectifs à atteindre grâce à cette campagne Indiegogo.</p>
<div><iframe width="1140" height="641" src="https://www.youtube.com/embed/ocCxNWgMz20?feature=oembed" frameborder="0" allowfullscreen></iframe></div>
<p> </p>
<p>Daniel nous fait d’abord un rapide comparatif entre les applications dites WebApp versus applications traditionnelles et selon lui ces dernières se trouvent être plus rapides, plus stables, car moins dépendantes d’un navigateur Web.</p>
<p>Toutefois, il pondère ce sujet en ajoutant que de nombreuses applications traditionnelles peuvent elles aussi affecter la stabilité du système. Ceci, par exemple, via l’ajout d’applications tierces via des dépôts ou des sources non vérifiées.</p>
<p>Autre point abordé dans cette vidéo, la volonté de permettre aux développeurs tiers de bénéficier d’un outil de suivi simple et convivial, il leur permettra ainsi de mettre à jour rapidement leurs applications et par la même occasion de suivre les remontées d’incident.</p>
<p>Cet outil se présentera sous la forme d’un Dashboard et se basera sur les capacités de GitHub en matière de suivi de code, d’ouverture de tickets.</p>
<div><a href="media/22a9f473.20170311-appcenter_dashboard.png" data-original-source="http://www.elementaryos-fr.org/wp-content/uploads/2017/03/20170311-appcenter_dashboard.png"><img src="media/047de4a5.20170311-appcenter_dashboard-600x418.png" data-original-source="http://www.elementaryos-fr.org/wp-content/uploads/2017/03/20170311-appcenter_dashboard-600x418.png" alt="Dashboard AppCenter" width="600" height="418" srcset="http://www.elementaryos-fr.org/wp-content/uploads/2017/03/20170311-appcenter_dashboard-600x418.png 600w, http://www.elementaryos-fr.org/wp-content/uploads/2017/03/20170311-appcenter_dashboard-300x209.png 300w, http://www.elementaryos-fr.org/wp-content/uploads/2017/03/20170311-appcenter_dashboard-768x535.png 768w, http://www.elementaryos-fr.org/wp-content/uploads/2017/03/20170311-appcenter_dashboard.png 1000w" sizes="(max-width: 600px) 100vw, 600px"></a><p>Aperçu du Dashboard d’AppCenter</p></div>
<p> </p>
<p>Autre point d’attention de l’équipe : avec l’ouverture de l’AppCenter auprès de développeurs tiers, la team souhaite aussi intégrer une mécanique de microtransactions au sein de l’AppCenter.Ces nouveaux développeurs pourront ainsi bénéficier de la flexibilité de l’AppCenter tout en ayant une source de revenue.</p>
<p>En lisant quelques billets du blog officiel, on apprend que ces microtransactions seront gérées via plateforme <a href="https://stripe.com/fr">Stripe.com </a></p>
<p>Pour compléter ces informations, une autre vidéo est disponible sur la plateforme Youtube :</p>
<div><iframe width="1140" height="641" src="https://www.youtube.com/embed/o0QxZAcu4d0?feature=oembed" frameborder="0" allowfullscreen></iframe></div>
<p>On peut y apprendre que bon nombre d’éléments constituants l’écosystème de l’AppCenter et de ses composants annexes existent déjà sous forme de prototype. Ceux-ci se verront intégrer dans la prochaine version d’elementary OS (nom de code Juno). Daniel nous confirme ce point d’un point de vue technique : en l’état un nouveau dépôt devra être mis en place et pour faciliter cette intégration, il sera préférable de passer par une nouvelle installation (<em>ndlr : voir peut-être d’une migration, si l’outil se voit finaliser pour Juno</em>).</p>
<p>À ce titre, l’accès anticipé à ces outils se fait par l’intermédiaire d’une invitation, pour cela, amis développeurs, vous pouvez vous inscrire via cette url https://developer.elementary.io/beta, l’équipe sélectionnera ensuite les personnes qui auront la possibilité d’accéder à ces ressources.</p>
<p>Concernant la partie microtransaction, il est à noter que l’équipe souhaite se diriger vers un système dit <em>« Pay What You Want »</em> ou en français <em>« Payez ce que vous souhaitez », </em>à l’inverse de fixer un prix définitif, l’usager final est libre de choisir la somme qu’il souhaite reverser aux développeurs.</p>
<div><a href="media/67c88d24.20170311-appcenter-paywhatyouwant.png" data-original-source="http://www.elementaryos-fr.org/wp-content/uploads/2017/03/20170311-appcenter-paywhatyouwant.png"><img src="media/2bfe5aba.20170311-appcenter-paywhatyouwant-600x379.png" data-original-source="http://www.elementaryos-fr.org/wp-content/uploads/2017/03/20170311-appcenter-paywhatyouwant-600x379.png" alt="Pay What You Want" width="600" height="379" srcset="http://www.elementaryos-fr.org/wp-content/uploads/2017/03/20170311-appcenter-paywhatyouwant-600x379.png 600w, http://www.elementaryos-fr.org/wp-content/uploads/2017/03/20170311-appcenter-paywhatyouwant-300x189.png 300w, http://www.elementaryos-fr.org/wp-content/uploads/2017/03/20170311-appcenter-paywhatyouwant-768x485.png 768w, http://www.elementaryos-fr.org/wp-content/uploads/2017/03/20170311-appcenter-paywhatyouwant-80x50.png 80w, http://www.elementaryos-fr.org/wp-content/uploads/2017/03/20170311-appcenter-paywhatyouwant.png 800w" sizes="(max-width: 600px) 100vw, 600px"></a><p>Pay What You Want</p></div>
<p> </p>
<p>Il est à noter que l’équipe a un avis assez tranché sur la présence de DRM ou de verrou logiciel : les développeurs souhaitant proposer leurs applications au sein d’AppCenter ne devront pas utiliser ce genre de techniques.</p>
<p> </p>
<p>De notre point de vue, nous aurions bien voulu avoir des informations sur le futur format de packages utilisé dans AppCenter : Flatpack, Snap ou bien un autre. Aurons-nous aussi des suggestions d’applications qui pourraient nous intéresser et si c’est bien le cas, sur quelle base d’informations se basera l’AppCenter pour nous fournir ces recommandations (et où seront stockées ces données) ?</p>
<p>Et vous, qu’en pensez-vous ? Que souhaiteriez-vous pour que votre expérience elementary soit complète ?</p>
<p>Le billet <a rel="nofollow" href="http://www.elementaryos-fr.org/appcenter-indiegogo/">AppCenter &amp; Indiegogo</a> a été publié sur le site de la <a rel="nofollow" href="http://www.elementaryos-fr.org/">elementary OS - </a></p>
<p><img src="media/7e20f332.e363a9ed45733fa3aec7c3a0361380c6" data-original-source="http://cdn.libravatar.org/avatar/e363a9ed45733fa3aec7c3a0361380c6" alt="Gravatar de elementary OS" class="gravatar" /><br/><i>Original post of <a href="http://www.elementaryos-fr.org/appcenter-indiegogo/" title="Visit the source">elementary OS</a>.Votez pour ce billet sur <a href="http://www.planet-libre.org" title="Aller sur le planet">Planet Libre</a>.</i></p>


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

url:
https://blog.journalduhacker.net/index.php?article94/liens-interessants-journal-du-hacker-semaine-10-2017

content:
<p>Pour la 10ème semaine de 2017, voici <strong>10 liens</strong> 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/dwv8po/quand_la_clause_non_commercial_des">Quand la clause Non-Commercial des licences Creative Commons passe en justice</a></li>
<li><a href="https://www.journalduhacker.net/s/yai1dh/comment_les_webs_alternatifs_veulent_r">Comment les webs alternatifs veulent réinventer Internet</a></li>
<li><a href="https://www.journalduhacker.net/s/b8pgmh/crire_un_livre_en_2017">Écrire un livre en 2017</a></li>
<li><a href="https://www.journalduhacker.net/s/pyofhq/valence_linternet_libre_ne_d_sarme_pas">A Valence, l'Internet libre ne désarme pas</a></li>
<li><a href="https://www.journalduhacker.net/s/a7bfhu/v_rifier_la_s_curit_de_son_instance">Vérifier la sécurité de son instance Nextcloud</a></li>
<li><a href="https://www.journalduhacker.net/s/ju1dje/fait_quoi_de_g_rer_un_projet_open_source">Ça fait quoi de gérer un projet open source ?</a></li>
<li><a href="https://www.journalduhacker.net/s/ajbap1/en_coulisses_avec_un_g_ant_du_libre_ubuntu">En coulisses avec un géant du libre : Ubuntu et Mark Shuttleworth</a></li>
<li><a href="https://www.journalduhacker.net/s/7uhseh/faire_un_netbook_2017_mission_quasi">Faire un netbook 2017 ? Mission (quasi) impossible...</a></li>
<li><a href="https://www.journalduhacker.net/s/ro5u8d/lynis_l_outil_d_audit_pour_les_syst_mes_unix">Lynis : l’outil d’audit pour les systèmes Unix/linux</a></li>
<li><a href="https://www.journalduhacker.net/s/mwbvy3/mozilla_firefox_52">Mozilla Firefox 52</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?article94/liens-interessants-journal-du-hacker-semaine-10-2017" 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>
<p><div class="similar-block"><h3>Articles similaires</h3><ul><li>Journal du hacker : <a href="">Liens int&eacute;ressants Journal du hacker semaine #10</a> (14/03/2016)</li></ul></div></p>


feed_id: http://blog.rom1v.com/2017/03/serveur-client/
title: ®om : Serveur-client
uri: om-Serveur-client
url: http://blog.rom1v.com/2017/03/serveur-client/
content:
<p>De nos jours, <a href="https://fr.wikipedia.org/wiki/Transmission_Control_Protocol">TCP</a> est toujours utilisé en mode <a href="https://fr.wikipedia.org/wiki/Client-serveur">client-serveur</a> :</p>

<ul><li>le <strong>serveur</strong> écoute <em>passivement</em> sur un <a href="https://fr.wikipedia.org/wiki/Port_%28logiciel%29">port</a> donné, en attente de la
connexion d’un client ;</li>
  <li>le <strong>client</strong> initie <em>activement</em> une connexion vers un serveur.</li>
</ul><p>Une fois la connexion établie, cependant, le client et le serveur jouent
exactement le même rôle au niveau de la communication. Par contre, très souvent,
leur rôle applicatif dépend directement de celui qui a initié la connexion :</p>

<ul><li>c’est le <strong>client</strong> <a href="https://fr.wikipedia.org/wiki/Hypertext_Transfer_Protocol">HTTP</a> qui va envoyer une requête au <strong>serveur</strong> HTTP,
pas l’inverse ;</li>
  <li>c’est le <strong>client</strong> <a href="https://fr.wikipedia.org/wiki/Secure_Shell">SSH</a> qui va ouvrir une session sur le <strong>serveur</strong> SSH…</li>
</ul><p><img src="media/c2f4a999.ssh.png" data-original-source="http://blog.rom1v.com/assets/serveur_client/ssh.png" alt="ssh"></p>

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

<h2>Puis vint le NAT…</h2>

<p>Avec la <a href="https://fr.wikipedia.org/wiki/%C3%89puisement_des_adresses_IPv4">pénurie d’adresses IPv4</a>, le <a href="https://fr.wikipedia.org/wiki/Network_address_translation">NAT</a> s’est généralisé. Bien
souvent, un accès internet ne fournit qu’une seule adresse <a href="https://fr.wikipedia.org/wiki/IPv4">IPv4</a>. Les
différents ordinateurs partageant la même connexion ne sont alors pas
accessibles directement depuis l’extérieur (il est nécessaire d’<a href="https://fr.wikipedia.org/wiki/Redirection_de_port">ouvrir des
ports</a>).</p>

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

<p><img src="media/861101bf.ssh-nat.png" data-original-source="http://blog.rom1v.com/assets/serveur_client/ssh-nat.png" alt="ssh-nat"></p>

<h2>Inversion des rôles</h2>

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

<p>Par exemple, nous pouvons vouloir accéder, grâce à <a href="https://fr.wikipedia.org/wiki/Virtual_Network_Computing">VNC</a> ou SSH, à un
ordinateur se trouvant derrière un NAT sur lequel, par hypothèse, nous n’avons
pas la main. Dans ce cas, seul le <strong>serveur</strong> (au sens applicatif) aura la
capacité d’ouvrir une connexion vers le <strong>client</strong>.</p>

<h3>Logiciel dédié</h3>

<p>Il est possible d’utiliser un logiciel spécialement conçu pour gérer cette
inversion des rôles. C’est le cas par exemple de <a href="https://doc.ubuntu-fr.org/gitso">gitso</a>, qui <em>inverse</em> le
protocole VNC afin de simplifier l’aide de novices à distance.</p>

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

<h3>Redirection de port distant via SSH</h3>

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

<p>Par exemple, après avoir démarré la redirection :</p>

<pre><code>ssh un_serveur_public -NR2222:localhost:22
</code></pre>

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

<p><em>(Cela nécessite d’activer <code>GatewayPorts yes</code> dans <code>/etc/ssh/sshd_config</code> sur
<code>un_serveur_public</code>.)</em></p>

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

<pre><code>ssh un_serveur_public -p2222
</code></pre>

<p><img src="media/fbc79f4a.ssh-remote.png" data-original-source="http://blog.rom1v.com/assets/serveur_client/ssh-remote.png" alt="ssh-remote"></p>

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

<p>Si l’on souhaite aider quelqu’un grâce à la prise de contrôle de sa machine à
distance, il y a toutes les chances que cette personne n’ait pas d’accès SSH
vers une machine publiquement accessible. Il est alors possible de lui <a href="https://tuxicoman.jesuislibre.net/2015/03/aide-a-une-noob-par-reverse-ssh.html">créer un
compte restreint dédié</a> sur un serveur que l’on contrôle, mais c’est
très intrusif, et il faut s’assurer de ne pas réduire la sécurité.</p>

<p>Mais en fait, <strong>cette contrainte est superflue</strong>.</p>

<h3>Redirections SOCAT</h3>

<p>La redirection de port distant nécessite des permissions car, outre le fait
qu’elle est implémentée sur SSH, il serait déraisonnable d’autoriser n’importe
qui à ouvrir une <a href="https://fr.wikipedia.org/wiki/Berkeley_sockets">socket</a> en écoute sur un port arbitraire d’une machine
distante.</p>

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

<ol><li>l’ouverture de la connexion vers <code>un_serveur_public</code>, redirigée vers
l’adresse <code>localhost:22</code> dans l’exemple précédent ;</li>
  <li>l’ouverture d’une socket en écoute sur un port (<code>2222</code>) de la machine
distante, redirigée vers la première connexion.</li>
</ol><p>L’idée est de mettre en place le premier demi-tunnel sur la machine serveur, et
le second demi-tunnel, nécessitant des permissions, sur la machine publique,
contrôlée par le client.</p>

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

<h4>Active-passive</h4>

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

<div><pre><code data-lang="bash"><span># terminal 1</span>
nc -l -p 5000
<span># terminal 2</span>
nc localhost 5000</code></pre></div>

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

<p><img src="media/b77044d7.nc.png" data-original-source="http://blog.rom1v.com/assets/serveur_client/nc.png" alt="nc"></p>

<h4>Passive-passive</h4>

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

<div><pre><code data-lang="bash"><span># terminal 1</span>
nc -l -p 1111
<span># terminal 2</span>
nc -l -p 2222</code></pre></div>

<p>Pour les mettre en communication avec <code>socat</code>, dans un 3e terminal :</p>

<pre><code>socat tcp:localhost:1111 tcp:localhost:2222
</code></pre>

<p><img src="media/00b81881.socat-connect.png" data-original-source="http://blog.rom1v.com/assets/serveur_client/socat-connect.png" alt="socat-connect"></p>

<h4>Active-active</h4>

<p>Inversement, il est possible de mettre en communication deux sockets <em>actives</em>
(sans compter sur leur <a href="http://linuxfr.org/users/benoar/journaux/syn-c-est-pour-synchronisation">synchronisation</a>). Pour cela, commençons par ouvrir
le serveur relai :</p>

<pre><code>socat tcp-listen:1111 tcp-listen:2222
</code></pre>

<p>Puis connectons-y deux sockets :</p>

<div><pre><code data-lang="bash"><span># terminal 1</span>
nc localhost 1111
<span># terminal 2</span>
nc localhost 2222</code></pre></div>

<p><img src="media/10d60709.socat-listen.png" data-original-source="http://blog.rom1v.com/assets/serveur_client/socat-listen.png" alt="socat-connect"></p>

<h4>Tunnel</h4>

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

<div><pre><code data-lang="bash"><span># sur un_serveur_public</span>
socat tcp-listen:1234 tcp-listen:5678
<span># sur le serveur derrière le NAT</span>
socat tcp:un_serveur_public:1234 tcp:localhost:22
<span># sur le client</span>
ssh un_serveur_public -p5678</code></pre></div>

<p><img src="media/bd0d4a63.ssh-socat.png" data-original-source="http://blog.rom1v.com/assets/serveur_client/ssh-socat.png" alt="ssh-socat"></p>
<p><img src="media/7cefb81c.1a63f34b9244a38a08fd9b3e5a4aa85e" data-original-source="http://cdn.libravatar.org/avatar/1a63f34b9244a38a08fd9b3e5a4aa85e" alt="Gravatar de &reg;om" class="gravatar" /><br/><i>Original post of <a href="http://blog.rom1v.com/2017/03/serveur-client/" title="Visit the source">®om</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://www.system-linux.eu/index.php?post/2017/03/14/Erreur-144-avec-mysqldump
title: System Linux : Erreur 144 avec mysqldump
uri: System-Linux-Erreur-144-avec-mysqldump
url: http://www.system-linux.eu/index.php?post/2017/03/14/Erreur-144-avec-mysqldump
content:
<p><img src="media/fbadec65.mysql.jpg" data-original-source="http://www.system-linux.eu/public/images/mysql.jpg" alt="mysql jpg" title="mysql jpg, sept. 2010"></p>


<p>ça arrive....</p>    <p><strong><ins>Si vous rencontrez ce genre d'erreur lors d'un mysqldump :</ins></strong></p>

<pre>
mysqldump: Got error: 144: "Table './wordpress/wp_statpress' is marked as crashed and last (automatic?) repair failed" when using LOCK TABLES
</pre>


<p><strong><ins>Voila comment réparer la chose :</ins></strong></p>

<pre>
# mysql -u root -p                                                                          
Enter password: 
Welcome to the MariaDB monitor.  Commands end with ; or \\g.                                                                                          
Your MariaDB connection id is 5294544                                                                                                                
Server version: 5.9.2-MariaDB MariaDB Server                                                                                                        
                                                                                                                                                     
Copyright (c) 2000, 2016, Oracle, MariaDB Corporation Ab and others.                                                                                 
                                                                                                                                                     
Type 'help;' or '\\h' for help. Type '\\c' to clear the current input statement.                                                                       
                                                                                                                                                     
MariaDB [(none)]> use wordpress                                                                                                                     
Reading table information for completion of table and column names                                                                                   
You can turn off this feature to get a quicker startup with -A                                                                                       
                                                                                                                                                     
Database changed                                                                                                                                     
                                                                          
MariaDB [wordpress]> check table wp_statpress;                                                                                                      
+-------------------------+-------+----------+-------------------------------------------------------------+                                         
| Table                   | Op    | Msg_type | Msg_text                                                    |                                         
+-------------------------+-------+----------+-------------------------------------------------------------+                                         
| wordpuser1.wp_statpress | check | warning  | Table is marked as crashed and last repair failed           |                                         
| wordpuser1.wp_statpress | check | warning  | Size of indexfile is: 64860160      Should be: 31134720     |                                         
| wordpuser1.wp_statpress | check | error    | Found key at page -1 that points to record outside datafile |                                         
| wordpuser1.wp_statpress | check | error    | Corrupt                                                     |                                         
+-------------------------+-------+----------+-------------------------------------------------------------+                                         
4 rows in set (2.08 sec)

MariaDB [wordpress]> repair table wp_statpress;                                                                                                       
                                                                                                                        
MariaDB [wordpress]> check table wp_statpress;                                                                                                                           
+-------------------------+-------+----------+----------+                                                                                            
| Table                   | Op    | Msg_type | Msg_text |                                                                                            
+-------------------------+-------+----------+----------+                                                                                            
| wordpuser1.wp_statpress | check | status   | OK       |                                                                                            
+-------------------------+-------+----------+----------+                                                                                            
1 row in set (17.91 sec)
</pre>
<p><img src="media/ff41ece7.4238771a81824a8b9dc3850d6a8e9d26" data-original-source="http://cdn.libravatar.org/avatar/4238771a81824a8b9dc3850d6a8e9d26" alt="Gravatar de System Linux" class="gravatar" /><br/><i>Original post of <a href="http://www.system-linux.eu/index.php?post/2017/03/14/Erreur-144-avec-mysqldump" title="Visit the source">System Linux</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>Julien : <a href="">Comment r&eacute;gler l&rsquo;erreur d&rsquo;acc&egrave;s de debian-sys-maint dans Mysql</a> (24/12/2013)</li><li>Jeoffrey Bauvin : <a href="">MySQL : Compter le nombre de tables d&#039;une base</a> (15/02/2013)</li></ul></div></p>


feed_id: https://yeuxdelibad.net/Blog/?d=2017/03/14/15/36/36-listes-dip-a-ignorer
title: Thuban : Listes d'IP à ignorer
uri: Thuban-Listes-d-IP-à-ignorer
url: https://yeuxdelibad.net/Blog/?d=2017/03/14/15/36/36-listes-dip-a-ignorer
content:
<p>Sur le même modèle que <a href="https://www.bsdly.net/">bsdly.net</a> , je publie désormais des listes d'IP connues pour être nuisibles ou émettrices de spam.</p>

<p>La page contenant les listes se trouve ici : <a href="http://https://yeuxdelibad.net/Blog//Logiciel-libre/OpenBSD/Listes_d_IP.html">Vilaines IP</a></p>

<p>Vous y trouverez des IP à blacklister avec le parefeu générées régulièrement avec le projet <a href="https://framagit.org/BlackLists/BlockZones/tree/master">BlockZone</a>. PengouinPdt fait la même chose <a href="https://stephane-huc.net/share/BlockZones/lists/">ici</a>. :)</p>

<p>De même, vous trouverez en complément de la <a href="https://www.bsdly.net/~peter/traplist.shtml">traplist</a> une liste des IPs qui m'ont envoyé du spam. Comme j'utilise déjà d'autres listes très complètes, elle est pour l'instant très maigre, mais elle sera mise à jour automatiquement.</p>

<p>J'utilise des tâche cron pour périodiquement copier les listes d'IP filtrées. <br>
Pour repérer le spam, il me suffit de filtrer l'état de spamd. Lorsqu'un émetteur de spam est piégé, on le repère facilement avec le flag 'TRAPPED'. <br>
J'adore spamd. En laissant trainer une fausse adresse blackhole@yeuxdelibad.net , je sais que ce sont des bots qui écrivent dessus. Outre le fait qu'ils sont piégés pendant un certain temps et ralentis, je retiens maintenant leur IP pour que tout le monde en profite. Nanananère :P</p>

<p><span>(n'écrivez pas à l'adresse ci-dessus XD)</span></p>

<p>Voici le script que j'utilise :</p>

<pre><code>#!/bin/sh
# Auteur :      thuban <thuban@yeuxdelibad.net>
# licence :     MIT

# Keep in /var/thuban.traplist
# IPs that used to be trapped.
#
# Use in in spamd.conf with :

###
#
#all:\\
#        :nixspam:myblack

#myblack:\\
#        :black:\\
#        :msg="Your are spam !":\\
#        :method=file:\\
#        :file=/var/thuban.traplist

###

BLACKFILE=/var/thuban.traplist
touch $BLACKFILE

/usr/sbin/spamdb | grep "TRAPPED|" | cut -d'|' -f2 >> $BLACKFILE

# keep uniq
sort -u $BLACKFILE -o $BLACKFILE

# reload spamd
/usr/libexec/spamd-setup
exit 0
</code></pre>

<p>enjoy ;)</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/03/14/15/36/36-listes-dip-a-ignorer" 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: http://alterlibriste.free.fr/index.php?post/2017/03/13/Un-lecteur-audio-avec-Kodi-et-Raspberry
title: alterlibriste : Un lecteur audio avec Kodi et Raspberry
uri: alterlibriste-Un-lecteur-audio-avec-Kodi-et-Raspberry
url: http://alterlibriste.free.fr/index.php?post/2017/03/13/Un-lecteur-audio-avec-Kodi-et-Raspberry
content:
<p>Mon raspberry pi, premier du nom, commençait à prendre la poussière sur une étagère quand je suis tombé sur une discussion bien intéressante sur Diaspora* <a href="https://diaspora-fr.org/posts/2649253">pour en faire un lecteur de musique</a>, j’avais tout ce qu’il faut, juste à tout réunir.</p>    <p><img src="media/503abb47.DSCF2479.png" data-original-source="http://alterlibriste.free.fr/public/DSCF2479.png" alt="DSCF2479.png" title="DSCF2479.png, mar. 2017"><br><em>Elle était belle l’époque où on se faisait soi-même son boîtier, ici découpé dans une pochette photos</em></p>


<p>J’ai acheté mon pi il y a 3 ans, initialement pour en faire un <a href="http://alterlibriste.free.fr/index.php?post/2014/01/11/Raspberry-Pi-%3A-le-pourquoi-du-comment">lecteur vidéo pour mon rétro-projecteur</a>. La reconnaissance de DVD n’étant pas toujours au top, je l’ai finalement remplacé par un lecteur DVD portable dont l’écran n’a pas aimé la chute qu’il a subit. J’ai ensuite utilisé le raspberry pour me <a href="http://alterlibriste.free.fr/index.php?post/2016/06/20/Installer-un-Tiny-Tiny-RSS-sur-un-Raspberry-Pi">faire la main sur l’auto-hébergement</a>. Comme il a été remplacé par quelque chose d’un peu plus puissant et robuste, il attendait une autre utilisation.</p>


<p>D’un autre côté, j’ai une bibliothèque musicale numérisée de plusieurs dizaines de Go qui ne faisait pas grand chose. J’avais déjà expliqué dans un <a href="http://alterlibriste.free.fr/index.php?post/2014/11/27/De-la-musique-bien-concr%C3%A8te">précédent billet</a> que je n’achète que de la musique sous forme de CD (so nineties !), cependant, je les encode dans mon PC pour pouvoir éventuellement les écouter sur un lecteur numérique et aussi pour en faire une sauvegarde (je me suis déjà fait piquer une pochette avec mes disques préférés du moment, pas cool). J’ai aussi quelques albums de musiques libres ou de CD empruntés en médiathèque. Cependant, je n’écoute quasiment jamais de musique en étant sur l’ordi parce que ça me perturbe quand je travaille ou au mieux, je ne l’entends pas. Par contre, le fait de pouvoir écouter tout ça sur ma chaîne (notamment en aléatoire) lorsque l’on est en train de cuisiner ou de manger me semblait bien intéressant.</p>


<p>Je sais qu’il existe des projets audio spécifiques et parfois très poussés sur Raspberry, soit en tant que serveur (pour écouter sa musique sur n’importe quel appareil), soit en tant que lecteur sur une chaîne ou un ampli. Mon but n’était pas de me plonger dans une configuration compliquée et même sans ça, il m’a fallu une dizaine de jours pour tout paramétrer comme je le souhaitais.</p>


<p>Sur le pi, j’avais déjà Kodi. J’avais un temps utilisé OpenElec (devenu LibreElec) qui n’est fait que pour ça mais je préfère avoir un OS qui peut faire plusieurs choses et donc une Raspbian qui fait ça aussi bien (<a href="http://burogu.makotoworkshop.org/index.php?post/2016/07/31/openelec">voici un bon tuto pour faire ça de zéro</a>). Ma bibliothèque musicale est sur mon PC principal qui contient tous les fichiers qui doivent être régulièrement sauvegardés. Il me fallait donc en rendre au moins une partie disponible sur un espace suffisamment grand et disponible même lorsque le PC est éteint. Mon serveur qui contient déjà un répertoire en partage NFS afin d’être accessible depuis les différentes machines était tout désigné. Restait ensuite à brancher le raspberry sur le réseau, de lui donner l’accès à ce répertoire, de faire un peu de ménage sur toute la partie serveur qui ne servait plus (Apache, TT-RSS, MariaDB, etc.), de le brancher sur la chaîne et sur le courant.</p>


<p>Lorsque j’ai réfléchi à tout ça, je me suis dis que j’aurais aussi bien pu faire ça directement depuis le serveur déjà en place (et concrètement, je n’avais besoin que d’installer Kodi et tirer un fil audio jusque la chaîne) pourtant je n’ai résolument pas fait ce choix. Il aurait très bien pu tenir la charge supplémentaire mais en plus d’utiliser le raspberry qui ne servait plus, je voulais pouvoir l’éteindre (j’ai ajouté un interrupteur sur le branchement de l’alimentation) lorsqu’il ne servait pas et surtout éviter de donner une porte d’entrée (failles potentielles) sur le serveur qui fait tourner des services dont j’ai besoin au quotidien.</p>


<p>Une fois tout cela installé, il me restait à trouver les moyens de commander tout ça sans écran et sans clavier. J’avais déjà testé le téléphone comme télécommande sur Kodi sans en explorer toutes les possibilités. Sur Android, <a href="https://f-droid.org/repository/browse/?fdid=org.xbmc.kore">Kodi Remote</a> (Kore de son petit nom) est un must have que j’ai adopté sur la tablette du gamin. J’en étais presque à me tâter de passer à <a href="http://konstakang.com/devices/kis3/CM14.1/">LineageOS</a> sur mon Open C et quitter Firefox OS, mais il semble que c’est quand même un peu lourd pour la bête.</p>


<p>C’était sans compter sur l’<a href="https://marketplace.firefox.com/app/foxmote/">appli équivalente FoxMote</a> que j’ai eu un peu de mal à paramétrer (il faut autoriser le contrôle à distance par des programmes sur d’autres systèmes en plus du contrôle à distance par des programmes sur ce système). Il faut aussi penser à faire une mise à jour de la bibliothèque à chaque démarrage une fois indiquée la source des fichiers musique. En plus des divers appareils mobiles, un accès par interface web est aussi possible pour piloter ça depuis le PC (192.168.0.X:8080, une fois autorisé l’accès par http dans l’onglet serveur web de Kodi/Système/Services).</p>


<p>Pour le bon fonctionnement de ces diverses télécommandes, il faut aussi assigner une adresse IP locale qui sera toujours la même en paramétrant les baux DHCP permanents de son fournisseur d’accès internet sinon à chaque démarrage il prendra une IP différente (j’avais déjà expliqué ça pour <a href="http://alterlibriste.free.fr/index.php?post/2016/06/20/Installer-un-Tiny-Tiny-RSS-sur-un-Raspberry-Pi">l’installation de tt-rss sur un raspberry</a>).</p>


<p>Bref, une expérience bien intéressante qui utilise tout le matériel et les expérimentations faites précédemment, il n’y avait plus qu’à réunir tout ça. En avant la musique !</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/03/13/Un-lecteur-audio-avec-Kodi-et-Raspberry" 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>Renaud Littolff : <a href="">Mon lecteur audio id&eacute;al: MPD et ses copains</a> (08/11/2009)</li><li>Clapico : <a href="">Modifier le lecteur audio du menu son Unity d&rsquo;Ubuntu</a> (15/05/2012)</li><li>alterlibriste : <a href="">Activit&eacute;s informatiques de ces derniers mois</a> (05/12/2016)</li><li>alterlibriste : <a href="">Emission sp&eacute;ciale de NipSource consacr&eacute;e &agrave; Firefox OS</a> (23/03/2015)</li></ul></div></p>


title: ephase : Wifi à la demande avec le vénérable Linksys WRT54G
uri: ephase-Wifi-à-la-demande-avec-le-vénérable-Linksys-WRT54G
feed_id:
http://www.xieme-art.org/post/2017/03/Wifi-%C3%A0-la-demande-avec-le-v%C3%A9n%C3%A9rable-Linksys-WRT54G

url:
http://www.xieme-art.org/post/2017/03/Wifi-%C3%A0-la-demande-avec-le-v%C3%A9n%C3%A9rable-Linksys-WRT54G

content:
<p>Dans le cadre de mon travail, il m'a été demandé de mettre en place pour un centre d'animation un petit réseau wifi afin que les adhérents puissent se connecter à Internet : deux ordinateurs fixe sous Debian et un point d'accès Wifi. J'ai donc recyclé une vieille unité centrale pour en faire un petit routeur proxy filtrant avec <a href="http://www.xieme-art.org/post/2017/03/(http://www.ipfire.org/)">ipfire</a> et un vénérable <a href="http://www.xieme-art.org/post/2017/03/(https://wiki.openwrt.org/toh/linksys/wrt54g)">Linksys WRT54G</a> qui traînait.</p>
 <p>Les postes sous Debian sont en accès libre toute la journée mais  les animateurs voulaient que le wifi soit activé certains jours  de 14h à 18h et éventuellement à la demande. Le WRT54G sert à la fois de switch réseau et de point d'accès Wifi. Bien entendu il y a OpenWRT d'installé dessus avec le SSH d'activé (son adresse  est 10.0.0.250).</p>

<h3>Mise en place d'un script pour l'activation-désactivation du Wifi</h3>

<p>La première étape est la création d'un script shell pour activer désactiver l'interface wifi du Linksys. Connectons nous à notre Linksys</p>

<pre><code>ssh root@10.0.0.250
</code></pre>

<p>Créons le fichier contenant le script, rendons-le exécutable et ouvrons-le avec vi.</p>

<pre><code>touch /sbin/wtoggle.sh
chmod + x /sbin/wtoggle.sh
vi /sbin/wtoggle.sh
</code></pre>

<p>Il suffit maintenant de coller les commandes ci-dessous.</p>

<pre>
#!/bin/sh

device="wl0"
case $1 in
    "disable")
        wifi down $device
        echo 0 > /proc/diag/led/ses_white
        echo 1 > /proc/diag/led/ses_orange
        echo 0 > /proc/diag/led/wlan
        uci set wireless.$device.disabled=1
        uci commit wireless
        logger "Wifi disabled"
    ;;
    "enable")
        uci set wireless.$device.disabled=0
        uci commit wireless
        wifi up $device
        echo 1 > /proc/diag/led/ses_white
        echo 0 > /proc/diag/led/ses_orange
        echo 2 > /proc/diag/led/wlan
        logger "Wifi enabled"
    ;;
esac
</pre>

<p>Le script fait trois choses :</p>

<ol><li>Activer / Désactiver le point d'accès Wifi</li>
<li>Allumer la diode SES en blanc / orange en fonction de l'état de la connexion</li>
<li>Activer / désactiver la diode WLAN</li>
</ol><p>L'utilisation est simple : <code>wtoggle enable</code> pour activer le wifi et <code>wtoggle disable</code> pour le désactiver.</p>

<h3>Créer la tache cron pour activer le wifi à certaines heures</h3>

<p>Il suffit d'ajouter les deux lignes suivantes au cron pour programmer la mise en route du Wifi avec la commande <code>crontab -e</code></p>

<pre><code>00 14 * * 1-6 wtoggle enable
00 18 * * 1-6 wtoggle disable
</code></pre>

<p>Le réseau Wifi est donc allumé du lundi au samedi de 14h à 18h. Mais sur Openwrt le service cron n'est pas activé<sup><a href="http://www.xieme-art.org/post/2017/03/Wifi-%C3%A0-la-demande-avec-le-v%C3%A9n%C3%A9rable-Linksys-WRT54G#fn:n_cron-openwrt" rel="footnote">1</a></sup>. Il faut donc le faire avec les commandes<sup><a href="http://www.xieme-art.org/post/2017/03/Wifi-%C3%A0-la-demande-avec-le-v%C3%A9n%C3%A9rable-Linksys-WRT54G#fn:n_openwrt-buttons" rel="footnote">2</a></sup></p>

<pre><code>/etc/init.d/cron start
/etc/init.d/cron enable
</code></pre>

<h3>Activation / désactivation à la demande du Wifi</h3>

<p>Il est parfois nécessaire d'allumer ou d'éteindre le wifi manuellement, pour ça nous allons détourner le bouton SES du routeur (vous savez celui avec le logo cisco dessus). si le Wifi est désactivé, une pression sur ce bouton l'activera et une autre pression le désactivera à nouveau.</p>

<p>Créons un fichiers <code>bouttons</code> dans le répertoire <code>/etc/hotswap.d/button/</code> qui va contenir les commandes à effectuer lors de la pression d'un boutons sur le Linksys</p>

<pre><code>mkdir -p /etc/hotswap.d/button/
vi /etc/hotswap.d/button/buttons
</code></pre>

<p>Voici le contenu de ce fichier</p>

<pre>
#!/bin/sh
device="wl0"
if [ "$BUTTON" = "ses" ] &amp;&amp; [ "$ACTION" = "pressed" ] ; then
    case $(uci get wireless.$device.disabled) in
        0)
            /sbin/wtoggle.sh disable
        ;;
        1)
            /sbin/wtoggle.sh enable
        ;;
    esac        
fi 
</pre>

<p>Une fois enregistré, le tout devrait fonctionner : le bouton SES pour allumer /éteindre le wifi et la tâche cron pour le faire automatiquement en fonction des heures d'ouvertures. Le voyant du logo Cisco servant aux animateurs à visualiser rapidement si le réseau Wifi est actif ou non.</p>

<div>
<hr><ol><li>
<p>voir sur la <a href="https://wiki.openwrt.org/doc/howto/cron#activating_cron">documentation d'openwrt</a> <a href="http://www.xieme-art.org/post/2017/03/Wifi-%C3%A0-la-demande-avec-le-v%C3%A9n%C3%A9rable-Linksys-WRT54G#fnref:n_cron-openwrt" rev="footnote">↩</a></p>
</li>

<li>
<p>voir sur la <a href="https://wiki.openwrt.org/doc/howto/hardware.button">documentation d'openwrt</a> <a href="http://www.xieme-art.org/post/2017/03/Wifi-%C3%A0-la-demande-avec-le-v%C3%A9n%C3%A9rable-Linksys-WRT54G#fnref:n_openwrt-buttons" rev="footnote">↩</a></p>
</li>

</ol></div>
<p><img src="media/1a4b2017.281735ef45203576d6a311b5167aaffe" data-original-source="http://cdn.libravatar.org/avatar/281735ef45203576d6a311b5167aaffe" alt="Gravatar de ephase" class="gravatar" /><br/><i>Original post of <a href="http://www.xieme-art.org/post/2017/03/Wifi-%C3%A0-la-demande-avec-le-v%C3%A9n%C3%A9rable-Linksys-WRT54G" title="Visit the source">ephase</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>ephase : <a href="">D&eacute;marrage PXE avec Openwrt, Dnsmasq et FreeNAS</a> (12/03/2016)</li><li>Feilong : <a href="">APT (ou autre&hellip;) par proxy socks 5</a> (31/12/2008)</li><li>&reg;om : <a href="">Authentification automatique &agrave; un r&eacute;seau WiFi avec NetworkManager</a> (31/07/2011)</li></ul></div></p>


feed_id: https://yeuxdelibad.net/Blog/?d=2017/03/14/15/36/36-listes-dip-a-ignorer-updated
title: Thuban : Listes d'IP à ignorer [updated]
uri: Thuban-Listes-d-IP-à-ignorer-updated
url: https://yeuxdelibad.net/Blog/?d=2017/03/14/15/36/36-listes-dip-a-ignorer-updated
content:
<p>Sur le même modèle que <a href="https://www.bsdly.net/">bsdly.net</a> , je publie désormais des listes d'IP connues pour être nuisibles ou émettrices de spam.</p>

<p>La page contenant les listes se trouve ici : <a href="http://https://yeuxdelibad.net/Blog//Logiciel-libre/OpenBSD/Listes_d_IP.html">Vilaines IP</a></p>

<p>Vous y trouverez des IP à blacklister avec le parefeu générées régulièrement avec le projet <a href="https://framagit.org/BlackLists/BlockZones/tree/master">BlockZone</a>. PengouinPdt fait la même chose <a href="https://stephane-huc.net/share/BlockZones/lists/">ici</a>. :)</p>

<p>De même, vous trouverez en complément de la <a href="https://www.bsdly.net/~peter/traplist.shtml">traplist</a> une liste des IPs qui m'ont envoyé du spam. Comme j'utilise déjà d'autres listes très complètes, elle est pour l'instant très maigre, mais elle sera mise à jour automatiquement.</p>

<p>J'utilise des tâche cron pour périodiquement copier les listes d'IP filtrées. <br>
Pour repérer le spam, il me suffit de filtrer l'état de spamd. Lorsqu'un émetteur de spam est piégé, on le repère facilement avec le flag 'TRAPPED'. <br>
J'adore spamd. En laissant trainer une fausse adresse blackhole@yeuxdelibad.net , je sais que ce sont des bots qui écrivent dessus. Outre le fait qu'ils sont piégés pendant un certain temps et ralentis, je retiens maintenant leur IP pour que tout le monde en profite. Nanananère :P</p>

<p><span>(n'écrivez pas à l'adresse ci-dessus XD)</span></p>

<p>Voici le script que j'utilise :</p>

<pre><code>#!/bin/sh
# Auteur :      thuban <thuban@yeuxdelibad.net>
# licence :     MIT

# Keep in /var/thuban.traplist
# IPs that used to be trapped.
#
# Use in in spamd.conf with :

###
#
#all:\\
#        :nixspam:myblack

#myblack:\\
#        :black:\\
#        :msg="Your are spam !":\\
#        :method=file:\\
#        :file=/var/thuban.traplist

###

BLACKFILE=/var/thuban.traplist
touch $BLACKFILE

/usr/sbin/spamdb | grep "TRAPPED|" | cut -d'|' -f2 >> $BLACKFILE

# keep uniq
/usr/bin/sort -u $BLACKFILE -o $BLACKFILE

# reload spamd
/usr/libexec/spamd-setup
exit 0
</code></pre>

<p>enjoy ;)</p>

<p>EDIT : j'ai ajouté une <a href="https://yeuxdelibad.net/DL/IPlists/thuban.brutes">nouvelle liste</a> qui contient les IP de bruteforceurs détectés avec <a href="http://dev.yeuxdelibad.net/vilain/">vilain</a>.</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/03/14/15/36/36-listes-dip-a-ignorer-updated" 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="">Listes d&#039;IP &amp;agrave; ignorer</a> (14/03/2017)</li></ul></div></p>


feed_id: https://yeuxdelibad.net/Blog/?d=2017/03/14/13/12/01-livre-auto-hebergement-la-suite
title: Thuban : Livre auto-hébergement : la suite
uri: Thuban-Livre-auto-hébergement-la-suite
url: https://yeuxdelibad.net/Blog/?d=2017/03/14/13/12/01-livre-auto-hebergement-la-suite
content:
<p>La prochaine -release d'OpenBSD se prépare gentiment et devrait sortir début mai 2017.<br>
À ce propos, je souhaite maintenir la documentation sur l'<a href="https://yeuxdelibad.net/ah">auto-hébergement facile avec OpenBSD</a>. Depuis la publication du livre au format papier, grâce aux différents retours et un peu plus de temps, j'ai corrigé plusieurs points et maintenu l'ensemble. On peut déjà noter les nouveautés suivantes (pas encore publiées) :</p>

<ul><li> Mise à jour vers la version 6.1 d'OpenBSD avec les modifications qui auront lieu.</li>
<li> Mise en place d'une vidéosurveillance.</li>
<li> Script pour spamd pour ajouter facilement des émetteurs légitimes.</li>
<li> Installation de lecteurs de flux RSS (kriss, ttrss).</li>
<li> Mise à jour de l'exemple d'installation</li>
<li> Ajout de la gestion des entêtes avec relayd</li>
<li> Astuces diverses pour le parefeu</li>
<li> Corrections et précisions pour PostgreSQL</li>
<li> Passage de letsencrypt à acme-client</li>
<li> Support de dotclear et Drupal</li>
<li> ...</li></ul><p>Je souhaiterais publier cette mise à jour de la documentation, et c'est le moment de parler de ce qui fâche.</p>

<p>La précédente <a href="https://fr.ulule.com/heberger-serveur-openbsd/">campagne de financement</a> fut un succès inespéré. Ça m'a motivé comme jamais, l'ensemble des messages reçus et les soutiens font toujours chaud au coeur.<br>
Cependant, je reste déçus sur plusieurs points :</p>

<ul><li> Le livre est cher à mon avis : 19,90€. C'est parce qu'il est enregistré et commandable dans les librairies, sinon, son prix pourrait être bien plus faible. Cependant, puisqu'il existe une version en ligne gratuite, ça ne semble choquer que moi.</li>
<li> La publication avec enregistrement en librairie augmentait le prix de la publication. C'est autant d'argent qui aurait pu être reversée à OpenBSD. D'ailleurs, les commandes en librairies sont quasi-inexistantes, donc inutiles.</li>
<li> Ulule c'est bien mignon, mais ils reçoivent une commission non négligeable. Encore des sous qui auraient pu aller ailleurs.</li></ul><p>Vous l'aurez compris, je souhaite pouvoir redistribuer les fonds rassemblés selon l'objectif de départ.</p>

<p>Par ailleurs, je reste très attaché au format papier, peut-être à tord. J'aimerais continuer à le publier. <br>
D'autre part, je reçois des suggestions de personnes très compétentes pour améliorer le document. C'est plus délicat que je ne le pensais, car j'ai très envie qu'il reste accessible à un maximum de lecteurs.<br>
J'ai donc pris la décision suivante :</p>

<ul><li> Les sources seront désormais accessibles à n'importe quel contributeur via un <a href="https://framagit.org/Thuban/auto-hebergement-openbsd">dépôt git</a>.</li>
<li> Si vous voulez aider à la publication papier, vous pouvez faire des dons via <a href="https://liberapay.com/thuban/donate">liberapay</a>. Ce n'est pas moins pratique qu'Ulule, mais c'est libre et ils ne prennent pas de commission. Cet appel aux dons prendra fin lors de la publication d'OpenBSD 6.1 (disons, le jour de mon anniversaire).</li>
<li> Vous pourrez aussi donner aux autres contributeurs qui apparaîtront sur le dépôt git si vous préférez.</li></ul><p>À vous de jouer :)</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/03/14/13/12/01-livre-auto-hebergement-la-suite" 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="">H&eacute;berger son serveur avec OpenBSD : un coup de pouce?</a> (19/10/2016)</li><li>Thuban : <a href="">Progression du livre pour s&#039;h&amp;eacute;berger</a> (28/10/2016)</li><li>Thuban : <a href="">Publication de la 2nd &amp;eacute;dition de &quot;l&#039;auto-h&amp;eacute;bergement facile avec OpenBSD&quot;</a> (10/11/2016)</li><li>Thuban : <a href="">Livre auto-h&amp;eacute;bergement : cette fois c&#039;est bon</a> (02/12/2016)</li><li>Thuban : <a href="">Faire ch*#! les spammeurs avec spamd</a> (04/09/2016)</li></ul></div></p>


title: Tuxicoman : Signal, sans Google Apps
uri: Tuxicoman-Signal-sans-Google-Apps
feed_id:
https://tuxicoman.jesuislibre.net/2017/03/signal-sans-google-apps.html?pk_campaign=feed&amp;pk_kwd=signal-sans-google-apps

url:
https://tuxicoman.jesuislibre.net/2017/03/signal-sans-google-apps.html?pk_campaign=feed&amp;pk_kwd=signal-sans-google-apps

content:
<p><img src="https://lh3.googleusercontent.com/EBeYT-RJ2icsc6wH9umNwC9hAzActvnOLXlJI_zXXcpT6Dk2NazM0oKL0kHo7v1nrg=h310" width="174" height="310"></p>
<p>Une de mes critiques envers <a href="https://signal.org/">Signal</a>, une application de conversation chiffrée pour Android, était qu’<a href="https://tuxicoman.jesuislibre.net/2016/10/utiliser-signal-impose-la-presence-de-lespion-de-google.html">il nécessitait les Google Apps installées pour fonctionner</a>.</p>
<p>Pour rappel, les Google Apps sont les applications non-libres de Google fournies en dehors du projet AOSP (la partie libre d’Android). Elles contiennent le Play Store, Gmail, Hangout, GoogleNow etc… (bref toutes les produits Google) et notamment Google Cloud Messaging (GCM) qui est le canal de communication choisi par les auteurs de Signal.</p>
<p>Petit problème, les Google Apps ont les droits root sur le téléphone, tournent en permanence avec un contrôle de Google, <a href="https://support.google.com/accounts/answer/3265955?hl=fr&amp;ref_topic=6160499">peuvent effacer vos données à distance</a> et personne ne peut en lire le code source et donc savoir ce qu’elles font exactement.</p>
<p>Bref, j’entends l’argument d’utiliser GCM pour économiser la batterie du smartphone (canal de notification push mutualisé entre applications) mais c’est un critère secondaire par rapport à devoir accepter les conditions d’utilisation des Google Apps qui stipulent que je consens à envoyer à Google mes moindres faits et gestes.</p>
<p>Surtout que Google suce tellement d’infos sur le smartphone que de mon expérience, l’exécution des Google Apps nuit gravement à l’autonomie.</p>
<p>Et bien, Moxie, le développeur principal vient de consentir à proposer une version de Signal qui ne nécessite plus les Google Apps pour fonctionner (les communications ne passent plus par GCM si demandé) <a href="https://forum.f-droid.org/t/signal-discussion-about-google-play-alternative/95/5">mais toujours pour compiler.</a></p>
<p>Vous pouvez maintenant t<a href="https://signal.org/android/apk/">élécharger l’APK de Signal sur leur site web (danger zone)</a>, sans nécessiter de compte sur Google Play Store.</p>
<p>J’ai testé pour vous entre 2 smartphones sous <a href="http://lineageos.org/">LineageOS</a>. Les communications passent maintenant par un serveur situé chez Amazon (ip: 52.45.96.109 port: 443)</p>
<p>Et la visioconférence est de la partie ! Attention cependant, quand vous l’utilisez, vous communiquez aussi votre IP locale à votre correspondant (même si celui-ci se trouve à l’autre bout du monde). C’est facilement visible avec <a href="https://tuxicoman.jesuislibre.net/2017/02/arreter-les-applications-tournant-en-arriere-plan-sur-android.html">NetMonitor</a>. Je suppose que c’est un mécanisme similaire à ce que fait webRTC pour trouver le chemin le plus direct pour établir la transmission.</p>
<p>Sources :<br><a href="https://github.com/WhisperSystems/Signal-Android/issues/127">#127 Google Play signed download alternative</a><br><a href="https://github.com/WhisperSystems/Signal-Android/commit/9b8719e2d56a098502475bb5b2295c7a376d4caa">Commit Support for website distribution build with auto-updating APK</a><br><a href="https://github.com/WhisperSystems/Signal-Android/commit/1669731329bcc32c84e33035a67a2fc22444c24b">Commit: Support for using Signal without Play Services </a></p>
<h3>Related Posts:</h3>
<ul><li><a href="https://tuxicoman.jesuislibre.net/2016/10/utiliser-signal-impose-la-presence-de-lespion-de-google.html" title="Utiliser Signal impose la présence de l’espion de Google">Utiliser Signal impose la présence de l’espion de Google</a></li>
<li><a href="https://tuxicoman.jesuislibre.net/2016/06/avec-silence-chiffrez-vos-sms-sur-android.html" title="Avec Silence, chiffrez vos SMS sur Android">Avec Silence, chiffrez vos SMS sur Android</a></li>
<li><a href="https://tuxicoman.jesuislibre.net/2016/04/que-change-le-chiffrement-de-whatsapp.html" title="Que change le chiffrement de WhatsApp?">Que change le chiffrement de WhatsApp?</a></li>
<li><a href="https://tuxicoman.jesuislibre.net/2016/02/smssecure-chiffrez-vos-sms-sur-android.html" title="SMSSecure, chiffrez vos SMS sur Android">SMSSecure, chiffrez vos SMS sur Android</a></li>
<li><a href="https://tuxicoman.jesuislibre.net/2015/10/changer-son-adresse-mac-de-maniere-permanente-sous-android.html" title="Changer son adresse MAC de manière permanente sous Android">Changer son adresse MAC de manière permanente sous Android</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%2F03%2Fsignal-sans-google-apps.html%3Fpk_campaign%3Dfeed%26pk_kwd%3Dsignal-sans-google-apps&amp;action_name=Signal%2C+sans+Google+Apps&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/03/signal-sans-google-apps.html?pk_campaign=feed&amp;pk_kwd=signal-sans-google-apps" 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="">GooglePlayDownloader : t&eacute;l&eacute;charger les APK sans rien demander &agrave; Google</a> (18/08/2013)</li><li>Tuxicoman : <a href="">Utiliser Signal impose la pr&eacute;sence de l&rsquo;espion de Google</a> (10/10/2016)</li><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="">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: http://feedproxy.google.com/~r/QuestCeQuonSeFaitCh/~3/91cODZvOTWQ/
title: Littlewing : Création clé bootable GNU/LINUX (simplement)
uri: Littlewing-Création-clé-bootable-GNU-LINUX-(simplement)
url: http://feedproxy.google.com/~r/QuestCeQuonSeFaitCh/~3/91cODZvOTWQ/
content:
<p>J’ai décidé récemment de changer de PC. Afin de pouvoir installer <a href="http://www.debian.org/?utm_source=rss&amp;utm_medium=rss">Debian</a> (what else) dessus, il me faut créer une clé USB Bootable. Et oui, le temps ou il y avait des lecteurs de CD/DVD est révolu…</p>
<p>J’ai regardé sur la <a href="https://www.debian.org/releases/jessie/amd64/ch04s03.html.en#usb-copy-flexible?utm_source=rss&amp;utm_medium=rss">documentation</a> et plus largement sur Internet et je suis tombé sur ce logiciel : <a href="https://etcher.io/?utm_source=rss&amp;utm_medium=rss">etcher</a>. Il est libre et multi-plateforme.</p>
<p>Plus simple il n’y a pas <img src="https://s.w.org/images/core/emoji/2.2.1/72x72/1f642.png?utm_source=rss&amp;utm_medium=rss" alt="🙂"></p>
<p>Vous sélectionnez l’image, le périphérique et c’est parti.</p>
<p><a href="http://blog.touret.info/wp-content/uploads/S%C3%A9lection_072.png?utm_source=rss&amp;utm_medium=rss"><img data-attachment-id="903" data-permalink="http://blog.touret.info/blog/2017/03/16/creation-cle-bootable-gnulinux-simplement/selection_072/?utm_source=rss&amp;utm_medium=rss" data-orig-file="http://blog.touret.info/wp-content/uploads/Sélection_072.png?utm_source=rss&amp;utm_medium=rss" data-orig-size="800,418" 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="Sélection_072" data-image-description="" data-medium-file="http://blog.touret.info/wp-content/uploads/Sélection_072-300x157.png?utm_source=rss&amp;utm_medium=rss" data-large-file="http://blog.touret.info/wp-content/uploads/Sélection_072.png?utm_source=rss&amp;utm_medium=rss" src="http://blog.touret.info/wp-content/uploads/S%C3%A9lection_072.png?utm_source=rss&amp;utm_medium=rss" alt="" width="800" height="418" srcset="http://blog.touret.info/wp-content/uploads/Sélection_072.png?utm_source=rss&amp;utm_medium=rss 800w, http://blog.touret.info/wp-content/uploads/Sélection_072-300x157.png?utm_source=rss&amp;utm_medium=rss 300w, http://blog.touret.info/wp-content/uploads/Sélection_072-768x401.png?utm_source=rss&amp;utm_medium=rss 768w" sizes="(max-width: 800px) 100vw, 800px"></a></p>
<p>L’utilitaire fait une vérification après flash.</p>
<p><a href="http://blog.touret.info/wp-content/uploads/S%C3%A9lection_071.png?utm_source=rss&amp;utm_medium=rss"><img data-attachment-id="904" data-permalink="http://blog.touret.info/blog/2017/03/16/creation-cle-bootable-gnulinux-simplement/selection_071/?utm_source=rss&amp;utm_medium=rss" data-orig-file="http://blog.touret.info/wp-content/uploads/Sélection_071.png?utm_source=rss&amp;utm_medium=rss" data-orig-size="798,419" 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="Sélection_071" data-image-description="" data-medium-file="http://blog.touret.info/wp-content/uploads/Sélection_071-300x158.png?utm_source=rss&amp;utm_medium=rss" data-large-file="http://blog.touret.info/wp-content/uploads/Sélection_071.png?utm_source=rss&amp;utm_medium=rss" src="http://blog.touret.info/wp-content/uploads/S%C3%A9lection_071.png?utm_source=rss&amp;utm_medium=rss" alt="" width="798" height="419" srcset="http://blog.touret.info/wp-content/uploads/Sélection_071.png?utm_source=rss&amp;utm_medium=rss 798w, http://blog.touret.info/wp-content/uploads/Sélection_071-300x158.png?utm_source=rss&amp;utm_medium=rss 300w, http://blog.touret.info/wp-content/uploads/Sélection_071-768x403.png?utm_source=rss&amp;utm_medium=rss 768w" sizes="(max-width: 798px) 100vw, 798px"></a></p>
<h2>Quelques problèmes</h2>
<p>Après flash, il se peut que ayez des messages au montage de la clé tels que</p><pre>The driver descriptor says the physical block size is 2048 bytes, but Linux says it is 512 bytes.</pre><p>Après quelques tests, ça n’empêche pas la clé de booter, mais la rend inutilisable pour tout autre utilisation.</p>
<p>A ce que j’ai lu, c’est principalement dû à la commande dd qui fout un peu la zone…</p>
<p>Pour corriger ceci, il faut réinitialiser la clé avec la commande :</p><pre>dd if=/dev/zero of=/dev/sdX bs=2048 count=32</pre><p>ou sdX est le périphérique de la clé USB.</p>
<p> </p>
<p> </p>
<p>En espérant que ça puisse servir à d’autres dans mon cas.</p>
<img src="http://feeds.feedburner.com/~r/QuestCeQuonSeFaitCh/~4/91cODZvOTWQ" 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/91cODZvOTWQ/" 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>
<p><div class="similar-block"><h3>Articles similaires</h3><ul><li>Emmanuel Gontcho : <a href="">Skype cherche-t-il des &quot;esclaves&quot; ?</a> (06/11/2009)</li><li>Bardamu : <a href="">Ubuntu Netbook Edition 10.10 face &agrave; Jolicloud 1.0</a> (23/10/2010)</li><li>Bardamu : <a href="">Une marque forte pour le logiciel libre?</a> (26/09/2010)</li><li>Bardamu : <a href="">Jolicloud 1.0 : le test (mis &agrave; jour)</a> (24/08/2010)</li><li>Bardamu : <a href="">Ubuntu 10.10 : et apr&egrave;s</a> (13/07/2010)</li></ul></div></p>


feed_id: http://15minutesoffame.be/nico/blog2/index.php?article29/koozic-sortie-de-la-v0-4-0
title: Marty : KooZic: sortie de la v0.4.0
uri: Marty-KooZic-sortie-de-la-v0-4-0
url: http://15minutesoffame.be/nico/blog2/index.php?article29/koozic-sortie-de-la-v0-4-0
content:
<p>Bientôt 6 mois après la première version publique de KooZic, une nouvelle mouture vient de voir la jour: la v0.4.0. Un grand pas en avant avec l'arrivée d'une navigation par dossier revue et corrigée. Cela devrait (enfin !) satisfaire ceux chez qui la collection musicale n'est que partiellement ou incorrectement taggée.</p><p>KooZic a été conçu pour donner la possibilité d'accéder facilement à une collection musicale correctement taggée. C'était et cela reste toujours le point fort du logiciel, car cela permet de naviguer et rechercher très facilement par album, artiste ou genre musical, ce que d'autres font avec un support limité. Seulement voilà, si passer des heures à tagger votre collection n'est pas votre tasse de thé, le logiciel a un intérêt assez limité. Un mode de navigation par dossier a bien été introduit dans la v0.2.0, mais il n'était pas franchement ergonomique.</p>

<h1>Navigation par dossier</h1>

<p>Le nouveau mode de navigation suit l'idée général du logiciel, à savoir un accès clair et performant aux fonctions essentielles, quelque soit la taille de la collection musicale. Une capture d'écran vaut mieux qu'un long discours :</p>

<center><a href="media/dd98daab.koozic_08.png" data-original-source="http://15minutesoffame.be/nico/blog2/nico/images/koozic_08.png"><img src="media/dd98daab.koozic_08.png" data-original-source="http://15minutesoffame.be/nico/blog2/nico/images/koozic_08.png" width="500"></a></center>
<center><a href="media/01994aed.koozic_09.png" data-original-source="http://15minutesoffame.be/nico/blog2/nico/images/koozic_09.png"><img src="media/01994aed.koozic_09.png" data-original-source="http://15minutesoffame.be/nico/blog2/nico/images/koozic_09.png" width="500"></a></center>

<p>Le premier élément de la liste est le répertoire courant. Le second ("..") permet de revenir au répertoire parent. Ensuite, on trouve la liste des sous-répertoires, puis des pistes musicales. Il est possible d'ajouter à la liste de lecture courante toutes les pistes d'un répertoire en cliquant sur le "+". Une piste s'ajoute quant à elle avec un simple click.</p>

<center><a href="media/76d55969.koozic_10.png" data-original-source="http://15minutesoffame.be/nico/blog2/nico/images/koozic_10.png"><img src="media/76d55969.koozic_10.png" data-original-source="http://15minutesoffame.be/nico/blog2/nico/images/koozic_10.png" width="500"></a></center>

<h1>Liste de lecture courante</h1>

<p>L’interaction de la liste de lecture courante a été améliorée : un click sur la ligne permet de lancer la lecture d'un titre, il n'est plus nécessaire d'utiliser le bouton "Play". La piste mise en évidence est bien mise à jour à chaque changement de piste, et pas seulement au rafraîchissement de la page. C'est loin d'être fondamental, mais cela améliore l'expérience générale.</p>

<h1>Mise-à-jour d'une installation existante</h1>

<p>La nouvelle version est disponible sur le <a href="https://koozic.net/">site du projet</a>. Pas de crainte à avoir, les sources précédentes peuvent être supprimées. On extrait la nouvelle version, et on lance la mise-à-jour à partir du répertoire:</p>

<pre>./odoo-bin -u web -d koozic --stop-after-init</pre>

<p>Attention, c'est bien "-u web", donc légèrement différent des mises-à-jour précédentes. On peut relancer ensuite avec la commande habituelle.</p>
<p><img src="media/74594f67.a18b704dbeccb150871d41ebac83318b" data-original-source="http://cdn.libravatar.org/avatar/a18b704dbeccb150871d41ebac83318b" alt="Gravatar de Marty" class="gravatar" /><br/><i>Original post of <a href="http://15minutesoffame.be/nico/blog2/index.php?article29/koozic-sortie-de-la-v0-4-0" title="Visit the source">Marty</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.blog-libre.org/2017/03/17/la-commande-xdg-open/
title: blog-libre : La commande xdg-open
uri: blog-libre-La-commande-xdg-open
url: https://www.blog-libre.org/2017/03/17/la-commande-xdg-open/
content:
<p>La commande <code>xdg-open</code> n’est pas très connue, elle est pourtant indispensable dès qu’on commence à jouer avec la ligne de commandes dans un environnement graphique. Elle permet d’ouvrir à partir du terminal un fichier ou une URL avec l’application par défaut.</p>
<p>Ainsi pour accèder à Next INpact avec Firefox je vais taper ceci dans le terminal <code>firefox https://www.nextinpact.com/</code>. Pour accèder à Next INpact avec Chromium je vais taper <code>chromium-browser https://www.nextinpact.com/</code>. Si mon navigateur par défaut est Firefox alors <code>xdg-open https://www.nextinpact.com/</code> ouvrira la page Next INpact avec Firefox.</p>
<p>Si comme moi vous vous servez de votre terminal pour lancer vos applications, je vous recommande d’utiliser la commande <code>xdg-open</code> pour la plupart de vos alias dans votre fichier <code>~/.bash_aliases</code>. Il est plus logique d’utiliser <code>xdg-open</code> qui se basera sur l’application par défaut pour ouvrir fichier/URL. En effet si vous changez votre éditeur de texte par défaut par exemple vous n’aurez pas à remodifier les alias concernés par le nouvel éditeur de texte par défaut dans votre <code>~/.bash_aliases</code>.</p>
<p>Voici une partie de mon fichier <code>.bash_aliases</code>.</p>
<p></p><pre>### Raccourcis Dossiers ###
alias down='xdg-open ~/Téléchargements &amp; disown &amp; exit'
alias xub='xdg-open ~/Sync/Linux/Ubuntu/Xubuntu &amp; disown &amp; exit'


### Raccourcis Fichiers ###
alias n137='xdg-open ~/Sync/Notes/137.txt &amp; disown &amp; exit'
alias conf='xdg-open ~/.bash_aliases &amp; disown &amp; exit'
alias conff='xdg-open ~/.bash_functions &amp; disown &amp; exit'
alias todo='xdg-open ~/Sync/Todo.txt &amp; disown &amp; exit'


### Raccourcis Internet ###
alias freebox='xdg-open http://mafreebox.freebox.fr/index.php# &amp; disown &amp; exit'
alias rss='xdg-open http://192.168.1.50/freshrss/p/i/ &amp; disown &amp; exit'


### Raccourcis Programmes ###
alias cr='chromium-browser --start-maximized &amp; disown &amp; exit'
alias cri='chromium-browser --start-maximized -incognito &amp; disown &amp; exit'
alias ff='firefox &amp; disown &amp; exit'
alias ffi='firefox -private-window &amp; disown &amp; exit'</pre><p></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/03/17/la-commande-xdg-open/" 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>


feed_id: http://feedproxy.google.com/~r/QuestCeQuonSeFaitCh/~3/PT0WSPo461M/
title: Littlewing : Installation de GNU/LINUX sur un lenovo thinkcentre m700
uri: Littlewing-Installation-de-GNU-LINUX-sur-un-lenovo-thinkcentre-m700
url: http://feedproxy.google.com/~r/QuestCeQuonSeFaitCh/~3/PT0WSPo461M/
content:
<p>J’ai décidé de changer de PC. J’ai opté pour un <a href="http://shop.lenovo.com/be/fr/desktops/thinkcentre/m-series-tiny/m700/?utm_source=rss&amp;utm_medium=rss">Lenovo thinkcentre m700</a> afin de gagner pas mal de place et perdre quelques décibels à l’utilisation <img src="https://s.w.org/images/core/emoji/2.2.1/72x72/1f642.png?utm_source=rss&amp;utm_medium=rss" alt="🙂"></p>
<p>Pour info, voici les caractéristiques techniques du modèle acheté</p>
<p> </p>
<ul><li>Modèle du processeur : Intel Core i5 6400T</li>
<li>Fréquence : 2.2 Ghz (2,8 Ghz avec TurboBoost)</li>
<li>Capacité mémoire installée : 8192 Mo</li>
<li>Marque de la carte graphique : Intel</li>
<li>Puce graphique : Intel® HD Graphics 530</li>
</ul><p> </p>
<p><a href="http://blog.touret.info/wp-content/uploads/lenovo-desktop-thinkcentre-m700-tiny-hero.png?utm_source=rss&amp;utm_medium=rss"><img data-attachment-id="910" data-permalink="http://blog.touret.info/blog/2017/03/17/installation-de-gnulinux-sur-un-lenovo-thinkcentre-m700/lenovo-desktop-thinkcentre-m700-tiny-hero/?utm_source=rss&amp;utm_medium=rss" data-orig-file="http://blog.touret.info/wp-content/uploads/lenovo-desktop-thinkcentre-m700-tiny-hero.png?utm_source=rss&amp;utm_medium=rss" data-orig-size="725,515" 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="lenovo-desktop-thinkcentre-m700-tiny-hero" data-image-description="" data-medium-file="http://blog.touret.info/wp-content/uploads/lenovo-desktop-thinkcentre-m700-tiny-hero-300x213.png?utm_source=rss&amp;utm_medium=rss" data-large-file="http://blog.touret.info/wp-content/uploads/lenovo-desktop-thinkcentre-m700-tiny-hero.png?utm_source=rss&amp;utm_medium=rss" src="http://blog.touret.info/wp-content/uploads/lenovo-desktop-thinkcentre-m700-tiny-hero.png?utm_source=rss&amp;utm_medium=rss" alt="" width="372" height="264" srcset="http://blog.touret.info/wp-content/uploads/lenovo-desktop-thinkcentre-m700-tiny-hero.png?utm_source=rss&amp;utm_medium=rss 725w, http://blog.touret.info/wp-content/uploads/lenovo-desktop-thinkcentre-m700-tiny-hero-300x213.png?utm_source=rss&amp;utm_medium=rss 300w" sizes="(max-width: 372px) 100vw, 372px"></a></p>
<p>Pour écouter la musique, j’ai également fait l’acquisition <a href="http://www.nuprimeaudio.com/index.php/products/dacs-and-headphone-amps/udsd.html?utm_source=rss&amp;utm_medium=rss">d’un DAC USB NUPRIME UDSD. </a></p>
<p> </p>
<p><a href="http://blog.touret.info/wp-content/uploads/f790db9f-42eb-48c5-a52b-802def6cab0a.jpg?utm_source=rss&amp;utm_medium=rss"><img data-attachment-id="911" data-permalink="http://blog.touret.info/blog/2017/03/17/installation-de-gnulinux-sur-un-lenovo-thinkcentre-m700/f790db9f-42eb-48c5-a52b-802def6cab0a/?utm_source=rss&amp;utm_medium=rss" data-orig-file="http://blog.touret.info/wp-content/uploads/f790db9f-42eb-48c5-a52b-802def6cab0a.jpg?utm_source=rss&amp;utm_medium=rss" data-orig-size="1000,417" 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="f790db9f-42eb-48c5-a52b-802def6cab0a" data-image-description="" data-medium-file="http://blog.touret.info/wp-content/uploads/f790db9f-42eb-48c5-a52b-802def6cab0a-300x125.jpg?utm_source=rss&amp;utm_medium=rss" data-large-file="http://blog.touret.info/wp-content/uploads/f790db9f-42eb-48c5-a52b-802def6cab0a.jpg?utm_source=rss&amp;utm_medium=rss" src="http://blog.touret.info/wp-content/uploads/f790db9f-42eb-48c5-a52b-802def6cab0a.jpg?utm_source=rss&amp;utm_medium=rss" alt="" width="583" height="243" srcset="http://blog.touret.info/wp-content/uploads/f790db9f-42eb-48c5-a52b-802def6cab0a.jpg?utm_source=rss&amp;utm_medium=rss 1000w, http://blog.touret.info/wp-content/uploads/f790db9f-42eb-48c5-a52b-802def6cab0a-300x125.jpg?utm_source=rss&amp;utm_medium=rss 300w, http://blog.touret.info/wp-content/uploads/f790db9f-42eb-48c5-a52b-802def6cab0a-768x320.jpg?utm_source=rss&amp;utm_medium=rss 768w" sizes="(max-width: 583px) 100vw, 583px"></a></p>
<p>Après quelques backups fait sur windows 10 ( histoire de gérer le support plus tard), j’ai décidé d’installer GNU/LINUX.</p>
<p>J’ai tout d’abord cherché la compatibilité des différents matériaux. Pour le PC, je n’ai trouvé que <a href="https://certification.ubuntu.com/hardware/201605-22279/?utm_source=rss&amp;utm_medium=rss">l’info sur la compatibilité UBUNTU</a>. Pour le nuprime, j’ai seulement trouvé la compatibilité avec le NAS SYNOLOGY sur le support NUPRIME. Vu que ce dernier est basé sur GNU/LINUX, j’étais plutôt confiant <img src="https://s.w.org/images/core/emoji/2.2.1/72x72/1f642.png?utm_source=rss&amp;utm_medium=rss" alt="🙂"></p>
<p>Mon premier choix s’est tourné sur DEBIAN (8.7) …. et là j’ai galéré <img src="https://s.w.org/images/core/emoji/2.2.1/72x72/1f641.png?utm_source=rss&amp;utm_medium=rss" alt="🙁"></p>
<p>L’installation s’est bien déroulé, mais</p>
<ul><li>Pas de son (interne &amp; DAC ) Les modules snd-hda-intel et snd-usb-audio étaient un peu bancales</li>
<li>Le système était un peu instable : A ce que j’ai lu sur quelques sites, la compatibilité avec l’architecture SKYLAKE et les processeurs Intel 6ème génération n’est pas encore optimale</li>
<li>etc.</li>
</ul><p>Après quelques tentatives de backport, passage en testing et voodoo, j’ai décidé d’installer <a href="http://releases.ubuntu.com/16.04/?utm_source=rss&amp;utm_medium=rss">UBUNTU LINUX 16.04 LTS</a>.</p>
<p>Et oui je suis revenu sur UBUNTU :). Là, tout fonctionne parfaitement .</p>
<ul><li>La carte son (interne &amp; via displayport)</li>
<li>Mon DAC fonctionne parfaitement</li>
<li>La vidéo</li>
<li>Wifi/Bluetooth/…</li>
</ul><p>Bref tout va bien <img src="https://s.w.org/images/core/emoji/2.2.1/72x72/1f642.png?utm_source=rss&amp;utm_medium=rss" alt="🙂"></p>
<p>Seul « petit » problème, j’ai essayé d’installer gnome-shell. J’ai sélectionné gdm3 au lieu de lightdm et j’ai eu un gros freeze de mon PC. Impossible de réparer ça. J’ai du réinstaller. Vu la vitesse, ce n’est pas trop grave.</p>
<p>J’ai décidé de rester pour l’instant sur UBUNTU avec le desktop UNITY. Peut-être que je basculerai sur la prochaine version de Debian quand elle sortira.</p>
<p>Je vous fait grâce de la liste des paquets que j’ai installé et de la configuration que j’applique. Il y a suffisamment de sites qui font ça mieux que moi <img src="https://s.w.org/images/core/emoji/2.2.1/72x72/1f642.png?utm_source=rss&amp;utm_medium=rss" alt="🙂"></p>
<p> </p>
<p> </p>
<p> </p>
<p> </p>
<img src="http://feeds.feedburner.com/~r/QuestCeQuonSeFaitCh/~4/PT0WSPo461M" 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/PT0WSPo461M/" 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>
<p><div class="similar-block"><h3>Articles similaires</h3><ul><li>Littlewing : <a href="">Installation d&rsquo;un disque SSD sur mon PC &eacute;quip&eacute; de Debian Jessie</a> (13/01/2016)</li><li>Thierry Andriamirado : <a href="">Le blog &amp;quot;Debian Package of the Day&amp;quot; a besoin de vous!</a> (20/06/2007)</li><li>Thierry Andriamirado : <a href="">Resources et Sites Internet sur Ubuntu</a> (02/07/2007)</li><li>Emmanuel Gontcho : <a href="">Formation GNU/Linux &agrave; l&rsquo;ISTA</a> (21/08/2009)</li><li>J&eacute;r&eacute;my Verda : <a href="">Installation d&rsquo;une Debian sur l&rsquo;EeePC 1005HA-H</a> (14/11/2009)</li></ul></div></p>


feed_id: https://ordinosor.wordpress.com/2017/03/17/python-les-ensembles-sets-et-frozensets/
title: Benoît Boudaud : Python: Les ensembles (sets et frozensets)
uri: Benoît-Boudaud-Python-Les-ensembles-(sets-et-frozensets)
url: https://ordinosor.wordpress.com/2017/03/17/python-les-ensembles-sets-et-frozensets/
content:
<p><strong>Pour une lecture plus agréable (page plus large), je vous invite à <a href="https://ordinosor.wordpress.com/chapitre-13-les-ensembles-sets-et-frozensets/" target="_blank">cliquer sur ce lien</a> et à lire ce chapitre dans la rubrique consacrée au langage Python.</strong></p>
<p>Aujourd’hui, nous allons aborder une notion moins connue du langage Python, à savoir les <strong>ensembles</strong> (<strong>sets</strong> et <strong>frozensets</strong>).</p>
<p><img data-attachment-id="9840" data-permalink="https://ordinosor.wordpress.com/2017/03/17/python-les-ensembles-sets-et-frozensets/sete/" data-orig-file="https://ordinosor.files.wordpress.com/2017/03/sete.png?w=840" data-orig-size="604,349" 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="sete" data-image-description="" data-medium-file="https://ordinosor.files.wordpress.com/2017/03/sete.png?w=840?w=300" data-large-file="https://ordinosor.files.wordpress.com/2017/03/sete.png?w=840?w=604" src="https://ordinosor.files.wordpress.com/2017/03/sete.png?w=840" alt="sete" srcset="https://ordinosor.files.wordpress.com/2017/03/sete.png 604w, https://ordinosor.files.wordpress.com/2017/03/sete.png?w=150 150w, https://ordinosor.files.wordpress.com/2017/03/sete.png?w=300 300w" sizes="(max-width: 709px) 85vw, (max-width: 909px) 67vw, (max-width: 984px) 61vw, (max-width: 1362px) 45vw, 600px"></p>
<h2>Définition</h2>
<p>Un ensemble est une <strong>collection non ordonnée d’objets uniques et immuables (en profondeur)</strong>. La tentative d’insertion d’un doublon n’a absolument aucun effet et ne lève même pas d’exception. En revanche, la présence d’un élément modifiable tel qu’une liste par exemple lève l’exception ci-dessous:</p>
<p><span>TypeError: unhashable type: ‘list’</span></p>
<p>Puisqu’il s’agit d’un ensemble d’objets non ordonné, <strong>un set est idéal pour effectuer un test d’appartenance</strong> et je vais vous le prouver.</p>
<p>On trouve deux types d’ensembles:</p>
<ul><li>Le <strong>set</strong> qui est un objet modifiable</li>
<li>le <strong>frozenset</strong> qui est un objet immuable (le mot anglais <strong>frozen</strong> signifie <strong>gelé</strong> en français)</li>
</ul><h2>Déclarer un set</h2>
<p>Il y a deux manières de déclarer un set.</p>
<ul><li>En utilisant des accolades.</li>
</ul><pre>
s = { "Hervé", "Jacky", "Didier", "Toufik"}
print(s)
</pre>
<p><span>Résultat: {‘Didier’, ‘Toufik’, ‘Hervé’, ‘Jacky’}. </span></p>
<p>Notez bien qu’il s’agit d’un ensemble non ordonné ce qui explique que <strong>print()</strong> retourne les éléments dans un ordre aléatoire.</p>
<ul><li>En transformant une liste en set grâce au constructeur <strong>set()</strong>.</li>
</ul><pre>
s2 = set(["Geneviève", "Geneviève", (1,2,3), 7.56])
print(s2)
</pre>
<p><span>Résultat: {7.56, ‘Geneviève’, (1, 2, 3)}</span></p>
<p>Notez que j’ai déclaré mon set avec un doublon (« Geneviève »). Comme je l’ai déjà précisé dans l’introduction, celui-ci n’est pas pris en compte et ne lève même pas d’exception. Le set est une collection d’objets uniques.</p>
<ul><li>Il n’est pas possible de déclarer un ensemble vide avec la première méthode. Cela créé un dictionnaire.</li>
</ul><pre> s = {}
print(type(s))
</pre>
<p><span>Résultat : </span></p>
<ul><li>Pour créer un ensemble vide, pas d’autre choix que d’utiliser la deuxième méthode.</li>
</ul><pre> s = set()
print(type(s))
</pre>
<p><span>Résultat: </span></p>
<h2>Pourquoi le set est préférable à la liste pour effectuer un test d’appartenance?</h2>
<p>Une liste est une séquence. Elle contient des objets indicés. Lorsqu’on fait un test d’appartenance sur une liste, cette dernière est parcourue de l’indice <strong>0</strong> jusqu’à l’indice de l’objet recherché. Si la liste ne contient que dix éléments, le test d’appartenance est rapide mais si la liste contient cinquante millions d’éléments, la vitesse d’exécution s’en ressent. J’ai fait une courte vidéo pour vous montrer la différence entre une liste et un set contenant cinquante millions d’éléments.</p>
<p>Le set étant une implémentation de table de hachage, la vitesse d’exécution d’un test d’appartenance est identique quel que soit le nombre d’éléments qu’il contient.</p>
<p>
</p><div><iframe type="text/html" width="840" height="503" src="https://www.youtube.com/embed/xMZCXjZ3EDY?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></div>

<h3>Voici les trois exemples de code que j’ai exécutés dans la vidéo.</h3>
<ul><li>Test d’appartenance sur les premiers éléments d’une liste</li>
</ul><pre>
l = [i for i in range(50000000)]
for i in range(2, 8):
    if i in l:
        print(i, "appartient à la liste")
</pre>
<ul><li>Test d’appartenance sur les derniers éléments d’une liste</li>
</ul><pre>
l = [i for i in range(50000000)]
for i in range(49999990, 49999999):
    if i in l:
        print(i, "appartient à la liste")
</pre>
<ul><li>Test d’appartenance sur des éléments présents dans un set</li>
</ul><pre>
s = {i for i in range(50000000)}
for i in range(49999990, 49999999):
    if i in s:
        print(i, "appartient au set")
</pre>
<h2>Aperçu de quelques méthodes associées aux sets</h2>
<ul><li>Ajouter un élément avec <strong>set.add()</strong></li>
</ul><pre>
s = {"Kevin", "Kilian", "Morgane"}
s.add("Gustave")
print(s)
</pre>
<p><span>Résultat: {‘Morgane’, ‘Kilian’, ‘Gustave’, ‘Kevin’}</span></p>
<ul><li>Ajouter tous les éléments d’un autre set avec <strong>set.update()</strong></li>
</ul><pre>
s = {"Kevin", "Kilian", "Morgane"}
s2 = {1, 2, 3}
s.update(s2)
print("s =", s)
print("s2 =", s2)
</pre>
<p><span>s = {1, 2, 3, ‘Kilian’, ‘Kevin’, ‘Morgane’}</span><br><span>s2 = {1, 2, 3}</span></p>
<p>Comme vous pouvez le constater, cette méthode rajoute les éléments de l’ensemble <strong>s2</strong> dans l’ensemble <span><strong>s</strong></span> sans pour autant vider l’ensemble <strong>s2</strong>.</p>
<ul><li>Supprimer un élément avec <strong>set.remove()</strong> et <strong>set.discard()</strong></li>
</ul><pre>
s = {"Kevin", "Kilian", "Morgane", "Gustave"}
s.remove("Kevin")
print(s)
</pre>
<p><span>Résultat: {‘Kilian’, ‘Morgane’, ‘Gustave’}</span></p>
<p><span>Attention! Avec <strong>set.remove()</strong>, Python lève une exception si vous essayez d’enlever un élément qui n’appartient pas au set.</span></p>
<pre>
s = {"Kevin", "Kilian", "Morgane", "Gustave"}
s.remove("Robert")
print(s)
</pre>
<p><span>KeyError: ‘Robert’</span></p>
<p>Pour éviter cela, utiliser la méthode <strong>set.discard()</strong> qui, elle, ne lèvera pas d’exception.</p>
<pre>
s = {"Kevin", "Kilian", "Morgane", "Gustave"}
s.discard("Robert")
print(s)
</pre>
<p><span>Résultat: {‘Morgane’, ‘Gustave’, ‘Kevin’, ‘Kilian’}</span></p>
<ul><li>Vider un set avec la méthode <strong>set.clear()</strong></li>
</ul><pre>
s = {"Kevin", "Kilian", "Morgane", "Gustave"}
s.clear()
print("s =", s)
</pre>
<p><span>Résultat: s = set()</span></p>
<p>Pour découvrir plus de méthodes associées aux sets, je vous invite à consulter la <a href="https://www.python.org/dev/peps/pep-0218/" target="_blank">documentation officielle Python</a>.</p>
<h2>Aperçu de quelques opérations mathématiques associées aux sets</h2>
<ul><li>Différence entre deux sets</li>
</ul><pre>
s = {"Kevin", "Kilian", "Morgane", "Gustave"}
s2 = {"Kevin", "Gustave"}
s3 = s - s2
print("s3 =", s3)
</pre>
<p><span>s3 = {‘Morgane’, ‘Kilian’}</span></p>
<ul><li>Union de deux sets</li>
</ul><pre>
s = {"Patrick", "Jacky"}
s2 = {"R12 Gordini", "Kronenbourg"}
s3 = s | s2
print("s3 =", s3)
</pre>
<p><span>s3 = {‘Kronenbourg’, ‘Jacky’, ‘R12 Gordini’, ‘Patrick’}</span></p>
<ul><li>Intersection de deux sets</li>
</ul><pre>
s = {"Patrick", "Jacky"}
s2 = {"R12 Gordini", "Jacky"}
s3 = s &amp; s2
print("s3 =", s3)
</pre>
<p><span>s3 = {‘Jacky’}</span></p>
<h2>Les frozensets</h2>
<p>Les sets sont des objets modifiables donc il n’est pas possible d’utiliser un set comme clé de dictionnaire. En effet, je vous rappelle que les clés de dictionnaire doivent être immuables.</p>
<p>Il n’est pas possible non plus de placer un set dans un autre set car comme je l’ai déjà dit au début de ce chapitre, les éléments d’un set doivent être immuables dans toute leur profondeur. Cela signifie que ce genre de code va lever une exception:</p>
<pre>
s = { {"Jacky", "Hervé"}, 1, 3} # présence d'un set
print("s =", s)
</pre>
<p><span>TypeError: unhashable type: ‘set’</span></p>
<pre>
s = { 4, ([1, 2], 3)} # présence d'un tuple contenant une liste
print("s =", s)
</pre>
<p><span>TypeError: unhashable type: ‘list’</span></p>
<p>Pour remédier à cet inconvénient, on a inventé le <strong>frozenset</strong> que l’on pourrait traduire par <strong>ensemble gelé</strong>. Les <strong>frozensets</strong> sont des sets immuables. Par conséquent, certaines méthodes telles que <strong>add()</strong> ou <strong>remove()</strong> ne peuvent pas leur être associées. En revanche, ils peuvent appartenir à un set ou bien être utilisés comme clés de dictionnaire.</p>
<ul><li>Pour déclarer un <strong>frozenset</strong>, il n’existe pas trente-six solutions:</li>
</ul><pre>
s = {1, 2, 3}
fr_s = frozenset(s)
print(type(fr_s))
</pre>
<ul><li>Notez bien que le constructeur <strong>frozenset()</strong> fonctionne également avec un tuple ou une liste:</li>
</ul><pre>
tup = (1, 2, 3)
fr_s = frozenset(tup)
print(type(fr_s))
</pre>
<pre>
liste = [1, 2, 3]
fr_s = frozenset(liste)
print(type(fr_s))
</pre>
<p>Comme je l’ai écrit en début de paragraphe, une fois déclaré, un <strong>frozenset</strong> peut appartenir à un <strong>set</strong> car il est devenu immuable:</p>
<pre>
liste = [1, 2, 3]
fr_s = frozenset(liste)
s = {fr_s, 4, 5}
print("s =", s)
</pre>
<p><span>Résultat:  s = {5, frozenset({1, 2, 3}), 4}</span></p>
<h2>Conclusion</h2>
<p>Les sets sont des ensembles d’objets immuables qui sont préférables aux listes lorsqu’il s’agit d’effectuer un test d’appartenance. Il existe plusieurs méthodes associées aux sets. Les frozensets sont des ensembles devenus immuables et qui peuvent donc être utilisés comme clés de dictionnaire ou bien appartenir à un set.</p><br><a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/ordinosor.wordpress.com/9643/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/ordinosor.wordpress.com/9643/"></a> <img alt="" border="0" src="https://pixel.wp.com/b.gif?host=ordinosor.wordpress.com&amp;blog=88640341&amp;post=9643&amp;subd=ordinosor&amp;ref=&amp;feed=1" width="1" height="1">
<p><img src="media/2bfe7d9e.32ef7afc84e96215042dfebd6840b008" data-original-source="http://cdn.libravatar.org/avatar/32ef7afc84e96215042dfebd6840b008" alt="Gravatar de Beno&icirc;t Boudaud" class="gravatar" /><br/><i>Original post of <a href="https://ordinosor.wordpress.com/2017/03/17/python-les-ensembles-sets-et-frozensets/" title="Visit the source">Benoît Boudaud</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>Beno&icirc;t Boudaud : <a href="">Python: Les tuples</a> (05/03/2017)</li><li>Beno&icirc;t Boudaud : <a href="">Python: La compr&eacute;hension de liste</a> (27/02/2017)</li><li>Beno&icirc;t Boudaud : <a href="">#Python: Les r&eacute;f&eacute;rences partag&eacute;es et le module copy</a> (16/02/2017)</li><li>Beno&icirc;t Boudaud : <a href="">Python: les listes</a> (13/02/2017)</li><li>Beno&icirc;t Boudaud : <a href="">#Python : Aper&ccedil;u de quelques m&eacute;thodes associ&eacute;es aux objets  de type cha&icirc;ne de caract&egrave;res (str)</a> (06/02/2017)</li></ul></div></p>


feed_id: https://www.blog-libre.org/2017/03/17/des-news/
title: blog-libre : Article dans la série 'Termux sur Android' : Des news
uri: blog-libre-Article-dans-la-série-Termux-sur-Android-Des-news
url: https://www.blog-libre.org/2017/03/17/des-news/
content:
<p>Voilà une éternité que je n’ai pas parlé de Termux. Ce ne sera pas vraiment un article technique mais plutôt une sorte de carnet de bord.</p>
<h2>Nouveaux téléphones</h2>
<p>Termux est mon application coup de coeur sur Android, il est clair que je vais continuer à en parler pendant quelques temps. Elle est cependant loin d’être parfaite, j’ai rencontré de nombreux petits soucis et évidemment des limitations. Afin de faire des articles de qualité j’avais besoin de pousser plus loin mes tests notamment en ayant davantage de téléphones pour tester.</p>
<p>Ça tombe bien j’ai passé Madame d’un iPhone à un Samsung Galaxy A5 2016 et je suis passé d’un LG G3 à un LG G4 (Anniversaire, Noël, toussa). Je me retrouve donc avec 3 téléphones pour tester Termux et ça me met en joie ! Actuellement les 3 téléphones ont Termux installé dessus et je vais donc pouvoir tester plus en profondeur l’application.</p>
<p>Concernant le Samsung j’ai déjà pu constater des problèmes avec le clavier officiel, je n’ai pas encore testé avec Hacker’s Keyboard. Je prévois de passer le LG G3 sur LineageOS afin de tester les ROM disponibles et je prévois de rooter le LG G4. Je vais donc avoir des environnements différents intéressants à tester.</p>
<h2>News de Termux et Termux:API</h2>
<p>Voici quelques nouveautés/découvertes concernant Termux et Termux:API :</p>
<ul><li>J’ai présenté <a href="https://www.blog-libre.org/2017/03/17/la-commande-xdg-open/" target="_blank">la commande xdg-open</a>, elle est maintenant prise en charge par Termux \\o/ Ainsi pour lancer une vidéo par exemple il suffira de taper <code>xdg-open majolievidéo.mkv</code> pour qu’elle soit lancée avec l’application par défaut de votre téléphone</li>
<li>Les fonctions <code>termux-wake-lock</code> et <code>termux-wake-unlock</code> font leur apparition. <code>termux-wake-lock</code> permet de conserver actif Termux en arrière plan par exemple pour laisser tourner une commande</li>
<li>Deux nouvelles commandes intéressantes via Termux:API, <code>termux-wifi-connectioninfo</code> et <code>termux-wifi-scaninfo</code></li>
<li>Et enfin des packages qu’ils sont biens : privoxy, tor, torsocks, tsu (su wrapper pour Termux)</li>
</ul><h2>Scripts</h2>
<p>J’avais tourné un peu autour du pot mais je n’avais jusqu’à récemment pas eu l’occasion de m’exercer sur des scripts avec Termux. J’ai repris au hasard mon script pour faire des <a href="https://www.blog-libre.org/2015/08/24/mpv-pour-creer-des-thumbnails-de-videos/" target="_blank">Thumbnails</a> sur Xubuntu en l’adaptant pour qu’il fonctionne sur Termux. Il est nécessaire d’installer les packages mpv et imagemagick. Je l’utilise ainsi <code>bash thumbnail.sh /storage/external_SD/video1.mkv</code>. On récupère le thumbnail dans le $HOME.</p>
<p></p><pre>#!/data/data/com.termux/files/usr/bin/bash
# thumbnail.sh v0.1
#
# 07/03/2017
#

for i in "$@"; do
    tmp_dir=$(mktemp -d -p $HOME)
    mpv --vo=image --vo-image-format=png --vo-image-outdir="$tmp_dir" --no-audio -sstep 20 -end -20 "$i"
    montage $tmp_dir/*.png -geometry 200x+0+0 $HOME/"${i##*/}".png
    rm -r $tmp_dir
done</pre><p></p>
<p>A noter que : 1/ Le package mpv a un bug il ne prend que le format png pour <code>--vo-image-format</code>, impossible de lui imposer du jpeg par exemple 2/ On effectue la plupart des opérations dans le $HOME… car ailleurs on ne peut généralement pas à cause des droits 3/ Remarquez <code>"${i##*/}"</code>, je vous renvoie vers le <a href="https://www.blog-libre.org/2017/03/03/memo-parameter-expansion/" target="_blank">Mémo Parameter Expansion</a></p>
<p>Voici une partie de la sortie de la commande <code>termux-wifi-connectioninfo</code>.</p>
<p></p><pre>{
	"bssid": "f2:ca:e6:cc:4c:30",
	"frequency_mhz": 2472,
	"ip": "192.168.1.30",
	"link_speed_mbps": 72,
	"ssid": "wifi_casca"
}</pre><p></p>
<p>Comme on peut le voir on peut récupérer le nom du réseau Wi-Fi entre autres. A partir de là on peut imaginer des scénarios sympas à la <a href="https://ifttt.com/" target="_blank">IFTTT</a> : If réseau boulot then allumage/wol pcdebureau ou encore If réseau maison then envoi/termux-sms-send « Je viens de rentrer à la maison ».</p>
<h2>Le futur</h2>
<p>J’ai commencé à jouer avec Mosh, je compte évidemment en parler. Une fois le G3 sur LineageOS et Termux réinstallé dessus je vais le laisser un week-end au boulot dans le tiroir pour tenter de casser le mot de passe Wi-Fi (que je connais). Je voudrais voir ce que ça nécessite niveau consommation, si besoin je brancherai le téléphone sur une batterie externe type Aukey. Je compte m’en servir comme sonde et outil de pentest pour faire simple. Je vous tiens au jus <img src="media/4933b95c.icon_wink.gif" data-original-source="https://www.blog-libre.org/wp-content/uploads/smilies/icon_wink.gif" alt=";)"></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/03/17/des-news/" 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>
<p><div class="similar-block"><h3>Articles similaires</h3><ul><li>blog-libre : <a href="">Article dans la s&amp;eacute;rie &#039;Termux sur Android&#039; : Voyage au bout de la nuit</a> (16/10/2016)</li><li>blog-libre : <a href="">Article dans la s&amp;eacute;rie &#039;Termux sur Android&#039; : R&amp;eacute;installation et Termux API</a> (30/10/2016)</li><li>Asher256 : <a href="">J&rsquo;ai assist&eacute; aux Open Source Days 2008 (&agrave; Rabat, Maroc) !</a> (07/05/2008)</li></ul></div></p>


feed_id: https://www.gnomelibre.fr/2017/03/configurer-votre-environnement-de-facon-plus-traditionnelle/
title: Okki : Configurer votre environnement de façon plus traditionnelle
uri: Okki-Configurer-votre-environnement-de-façon-plus-traditionnelle
url: https://www.gnomelibre.fr/2017/03/configurer-votre-environnement-de-facon-plus-traditionnelle/
content:
<figure><a href="media/ba321546.gnome_322_traditionnel.png" data-original-source="http://www.gnomelibre.fr/wp-content/uploads/2017/03/gnome_322_traditionnel.png"><img src="media/bf80d01b.gnome_322_traditionnel-1024x576.png" data-original-source="http://www.gnomelibre.fr/wp-content/uploads/2017/03/gnome_322_traditionnel-1024x576.png" alt="" width="660" height="371" srcset="https://www.gnomelibre.fr/wp-content/uploads/2017/03/gnome_322_traditionnel-1024x576.png 1024w, https://www.gnomelibre.fr/wp-content/uploads/2017/03/gnome_322_traditionnel-300x169.png 300w, https://www.gnomelibre.fr/wp-content/uploads/2017/03/gnome_322_traditionnel-768x432.png 768w" sizes="(max-width: 660px) 100vw, 660px"></a><figcaption>GNOME 3.22 avec l’extension Dash to Panel et des icônes sur le bureau</figcaption></figure><p>Dès que l’on entend parler de GNOME sur les forums, vous pouvez être certain qu’une ou plusieurs personnes vont intervenir pour signaler ô combien elles n’aiment pas son ergonomie, préférant de loin d’autres environnements plus traditionnels, disposant par exemple d’une barre des tâches et d’un menu principal.</p>
<p>S’ensuit ensuite une série d’arguments de mauvaise foi, comme quoi si ça ne correspond pas par défaut exactement à ce que l’on recherche et qu’il faut installer une palanquée d’extensions pour obtenir le résultat attendu (avec en général un rappel comme quoi c’était bien présent du temps de GNOME 2), c’est qu’il s’agit fatalement d’un mauvais environnement. Ou, du moins, qu’il ne répond absolument pas à leur besoin.</p>
<p>Maintenant, si de modifier son environnement était réellement long et fastidieux, ça pourrait se comprendre. Mais ce n’est pas le cas. En comptant large, vous verrez qu’il faut moins de cinq minutes pour obtenir un environnement plus traditionnel, et que ça n’a absolument rien de compliqué. Aucune ligne de commande, aucune édition de fichier de configuration ou autre action obscure. C’est réellement à la portée du premier venu.</p>
<p>Mais avant de commencer, on pourrait se poser la question de savoir pourquoi les équipes de GNOME ont fait de tels choix. L’argument qui revient le plus souvent, c’est qu’ils recherchaient un environnement simple, comportant le moins de distractions possible, pour que l’on puisse se concentrer sur ce qui compte. Personnellement, je perçois également GNOME comme une feuille blanche qui me laisse le configurer à loisir.</p>
<p>Chaque personne étant différente, elle possédera une vision toute aussi différente de ce que sera le bureau idéal. Certaines personnes adorent disposer de nombreuses icônes sur leur bureau, quand d’autres ont horreur de ça. Certaines personnes souhaitent disposer d’un panel au bas de l’écran, quand d’autres le préfèrent en haut. Certains préfèrent encore disposer d’un dock plutôt que d’un panel… quand d’autres font le choix de n’avoir ni l’un ni l’autre.</p>
<p>À partir de là, à l’inverse d’un Windows ou d’un macOS, d’un MATE ou d’un Cinnamon qui vous imposeraient leurs choix, GNOME vous laisse la possibilité d’obtenir facilement et rapidement ce qui vous convient le mieux.</p>
<p>Nous allons donc aujourd’hui le configurer à la manière d’un Windows ou d’un KDE Plasma, avec panel au bas de l’écran et autre menu principal, puis dans un prochain article, nous verrons qu’il est finalement tout aussi simple d’obtenir un clone de macOS ;-)</p>
<p>1. <a href="https://extensions.gnome.org/extension/1160/dash-to-panel/">Dash to Panel</a></p>
<figure><a href="media/8184ea7a.dash-to-panel.png" data-original-source="http://www.gnomelibre.fr/wp-content/uploads/2017/03/dash-to-panel.png"><img src="media/835e2a90.dash-to-panel-1024x576.png" data-original-source="http://www.gnomelibre.fr/wp-content/uploads/2017/03/dash-to-panel-1024x576.png" alt="" width="660" height="371" srcset="https://www.gnomelibre.fr/wp-content/uploads/2017/03/dash-to-panel-1024x576.png 1024w, https://www.gnomelibre.fr/wp-content/uploads/2017/03/dash-to-panel-300x169.png 300w, https://www.gnomelibre.fr/wp-content/uploads/2017/03/dash-to-panel-768x432.png 768w" sizes="(max-width: 660px) 100vw, 660px"></a><figcaption>Prévisualisation des fenêtres quand on passe le curseur au dessus d’une icône</figcaption></figure><p>Cette extension va ajouter un panel au bas de l’écran, vous permettant ainsi de pouvoir basculer rapidement d’une application à l’autre ou d’accéder rapidement à vos applications favorites. Bien évidemment, l’extension dispose de nombreuses options, concernant aussi bien son style : emplacement du panel, en bas ou en haut de l’écran, la taille des icônes ou du panel, le choix des indicateurs pour distinguer les applications en cours d’utilisation (avec ou sans le focus), l’emplacement de l’horloge, la présence ou non de boutons pour voir le bureau ou accéder au mode activités, et bien d’autres encore.</p>
<p>2. <a href="https://extensions.gnome.org/extension/1031/topicons/">TopIcons Plus</a></p>
<p>Cette extension permet de déplacer les icônes de notifications (Steam, Skype, votre client BitTorrent…) du tiroir de messagerie vers le panel.</p>
<p>3. <a href="https://extensions.gnome.org/extension/608/gnomenu/">Gno-Menu</a></p>
<figure><a href="media/8aa06012.gno-menu.png" data-original-source="http://www.gnomelibre.fr/wp-content/uploads/2017/03/gno-menu.png"><img src="media/8ae6fd61.gno-menu-1024x576.png" data-original-source="http://www.gnomelibre.fr/wp-content/uploads/2017/03/gno-menu-1024x576.png" alt="" width="660" height="371" srcset="https://www.gnomelibre.fr/wp-content/uploads/2017/03/gno-menu-1024x576.png 1024w, https://www.gnomelibre.fr/wp-content/uploads/2017/03/gno-menu-300x169.png 300w, https://www.gnomelibre.fr/wp-content/uploads/2017/03/gno-menu-768x432.png 768w" sizes="(max-width: 660px) 100vw, 660px"></a><figcaption>Gno-Menu en mode liste, suivi d’une partie de ses préférences</figcaption></figure><p>Il existe de nombreuses extensions GNOME offrant un menu principal, mais celle-ci semble plutôt complète : accès rapide à vos applications (fréquemment utilisées, favorites, par catégories…), dossiers et autres signets. Une série de boutons permettent également un accès rapide à la mise en veille, l’extinction, le verrouillage de la session, le changement d’utilisateur. L’extension dispose bien évidemment de nombreuses options de personnalisation : panneau normal ou compact, la catégorie à afficher par défaut, le choix d’une vue en liste ou en grille, la taille des icônes, le choix du raccourci clavier… jusqu’au nom que vous préférez voir affiché pour votre menu.</p>
<p>Le menu respecte bien évidemment votre thème. Il s’agit sur la capture du thème <a href="https://github.com/horst3180/Arc-theme">Arc</a> dans sa version claire.</p>
<p>4. Icônes sur le bureau</p>
<figure><a href="media/8a86f6d8.gnome_icones_bureau.png" data-original-source="http://www.gnomelibre.fr/wp-content/uploads/2017/03/gnome_icones_bureau.png"><img src="media/8a86f6d8.gnome_icones_bureau.png" data-original-source="http://www.gnomelibre.fr/wp-content/uploads/2017/03/gnome_icones_bureau.png" alt="" width="904" height="654" srcset="https://www.gnomelibre.fr/wp-content/uploads/2017/03/gnome_icones_bureau.png 904w, https://www.gnomelibre.fr/wp-content/uploads/2017/03/gnome_icones_bureau-300x217.png 300w, https://www.gnomelibre.fr/wp-content/uploads/2017/03/gnome_icones_bureau-768x556.png 768w" sizes="(max-width: 904px) 100vw, 904px"></a><figcaption>L’outil de personnalisation de GNOME</figcaption></figure><p>Il vous suffit de lancer l’Outil de personnalisation de GNOME, de sélectionner l’onglet Bureau, puis d’activer d’option Icônes sur le bureau. Vous pouvez également choisir quelles icônes afficher : dossier personnel, serveurs réseau, corbeille, volumes montés.</p>
<p>5. Boutons pour minimiser / maximiser les fenêtres</p>
<p>Toujours dans l’Outil de personnalisation de GNOME, onglet Fenêtres, option Boutons de la barre de titre, vous pouvez activer indépendamment les boutons minimiser et maximiser.</p>
<p>Et voilà, c’est fini. Comme convenu, d’activer trois extensions et trois options dans l’outil de personnalisation n’aura pas pris plus de cinq minutes.</p>
<p>Pour ceux qui souhaiteraient aller encore plus loin, il existe également une extension pour désactiver le coin actif (<a href="https://extensions.gnome.org/extension/118/no-topleft-hot-corner/">No Topleft Hot Corner</a>), pour choisir l’emplacement des notifications (<a href="https://extensions.gnome.org/extension/708/panel-osd/">Panel OSD</a>), obtenir un panel transparent (<a href="https://extensions.gnome.org/extension/1011/dynamic-panel-transparency/">Dynamic Panel Transparency</a>) ou changer de bureau virtuel à l’aide de la molette de la souris (<a href="https://extensions.gnome.org/extension/701/top-panel-workspace-scroll/">Top Panel Workspace Scroll</a>).</p>
<p><img src="media/bb7cd4d3.f4241788ba5559af3601b72220cbad09" data-original-source="http://cdn.libravatar.org/avatar/f4241788ba5559af3601b72220cbad09" alt="Gravatar de Okki" class="gravatar" /><br/><i>Original post of <a href="https://www.gnomelibre.fr/2017/03/configurer-votre-environnement-de-facon-plus-traditionnelle/" title="Visit the source">Okki</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>Okki : <a href="">Les cinq extensions les plus populaires</a> (11/07/2016)</li><li>Okki : <a href="">Configurer la barre sup&eacute;rieure</a> (22/05/2015)</li><li>Okki : <a href="">Afficher des dates plus pr&eacute;cises dans Fichiers</a> (12/06/2016)</li></ul></div></p>


feed_id: https://www.gnomelibre.fr/2017/03/faire-passer-gnome-pour-macos/
title: Okki : Faire passer GNOME pour macOS
uri: Okki-Faire-passer-GNOME-pour-macOS
url: https://www.gnomelibre.fr/2017/03/faire-passer-gnome-pour-macos/
content:
<figure><a href="media/1958c21b.gnome_322_macos.png" data-original-source="http://www.gnomelibre.fr/wp-content/uploads/2017/03/gnome_322_macos.png"><img src="media/552ae54a.gnome_322_macos-1024x576.png" data-original-source="http://www.gnomelibre.fr/wp-content/uploads/2017/03/gnome_322_macos-1024x576.png" alt="" width="660" height="371" srcset="https://www.gnomelibre.fr/wp-content/uploads/2017/03/gnome_322_macos-1024x576.png 1024w, https://www.gnomelibre.fr/wp-content/uploads/2017/03/gnome_322_macos-300x169.png 300w, https://www.gnomelibre.fr/wp-content/uploads/2017/03/gnome_322_macos-768x432.png 768w" sizes="(max-width: 660px) 100vw, 660px"></a><figcaption>GNOME 3.22 façon macOS</figcaption></figure><p>On l’a vu <a href="https://www.gnomelibre.fr/2017/03/configurer-votre-environnement-de-facon-plus-traditionnelle/">précédemment</a>, il suffit de deux ou trois extensions pour transformer votre GNOME en quelque chose de plus proche de Windows, avec panel au bas de l’écran et autre menu principal. Et comme nous allons le voir, il n’est guère plus difficile de le faire ressembler à macOS ;-)</p>
<p>Mais avant de commencer, petit rappel. Les dossiers commençant par un point sont des dossiers cachés. Pour pouvoir les afficher, vous pouvez soit passer par l’icône hamburger du gestionnaire de fichiers pour activer l’option <em>Afficher les fichiers cachés, s</em>oit utiliser le raccourci clavier Ctrl+h. Si un dossier est manquant, vous pouvez sans problème le créer, mais n’oubliez pas le point en début de nom.</p>
<p>1. Installation du thème <a href="https://www.gnome-look.org/p/1171688/">Gnome-OSX</a></p>
<p>Le thème contient des variantes claires et sombres pour le shell, ainsi qu’un thème de fenêtres avec ou sans transparence. Une fois les archives téléchargées, décompressez-les dans le dossier .themes de votre dossier personnel.</p>
<p>Il vous suffit ensuite de vous rendre dans l’Outil de personnalisation de GNOME, de sélectionner l’onglet Apparence puis de choisir Gnome-OSX en tant que thèmes GTK+ et Shell.</p>
<p>Selon votre distribution, si le thème du Shell n’est pas accessible, il vous faudra activer ou installer l’extension <a href="https://extensions.gnome.org/extension/19/user-themes/">User Themes</a>.</p>
<p>2. Installation du thème d’icônes <a href="https://github.com/keeferrourke/la-capitaine-icon-theme">La Capitaine</a></p>
<p>La Capitaine est un thème d’icônes s’inspirant du style très coloré de macOS. Une fois téléchargée, il vous suffit de décompresser l’archive dans le dossier .icons de votre dossier personnel.</p>
<p>Là encore, il vous suffit de passer par l’Outil de personnalisation de GNOME, de sélectionner l’onglet Apparence puis de choisir le thème d’icônes La Capitaine.</p>
<p>3. Ajouter un dock</p>
<p>Il existe plusieurs docks qui s’intègrent bien à GNOME, comme l’extension <a href="https://extensions.gnome.org/extension/307/dash-to-dock/">Dash to Dock</a> ou l’application Plank.</p>
<p>Dash to Dock ne ressemblant pas particulièrement à celui de macOS par défaut, il vous suffit pour cela d’accéder à ses préférences, de vous rendre dans l’onglet Apparence, de choisir le blanc comme couleur du dock puis de diminuer son opacité.</p>
<p>Dans le cas de Plank, il existe des thèmes tout prêts, tels que <a href="http://p0umon.deviantart.com/art/Gnosemite-theme-for-Plank-628809799">Gnosemite</a>, qui le feront aussitôt ressembler à celui de macOS. Une fois le thème téléchargé, il vous suffit de décompresser l’archive dans le dossier .local/share/plank/themes de votre dossier personnel.</p>
<p>4. Changer de police</p>
<p>Sur macOS, Apple utilise la police <a href="https://fr.wikipedia.org/wiki/San_Francisco_(police_d%27%C3%A9criture_de_2014)">San Franciso</a>, qui fait partie de la famille Lucida Grande. Malheureusement, cette police étant non libre, celle qui s’en rapprochera le plus sera Garuda.</p>
<p>Là encore, il faudra passer par l’Outil de personnalisation de GNOME, sélectionner l’onglet Polices, puis choisir Garuda Bold pour les titres de fenêtres, ainsi que Garuda Regular pour le reste de l’interface.</p>
<p>Bien évidemment, cette partie est facultative et vous êtes libre d’utiliser la police de votre choix.</p>
<p>5. Passer les boutons de fenêtres à gauche</p>
<p>Il vous faut cette fois-ci lancer l’Éditeur dconf, vous rendre ensuite dans /org/gnome/desktop/wm/preferences/button-layout puis changer la valeur par close,minimize,maximize:</p>
<p>Pour annuler la modification, il vous suffira d’activer l’option <em>Utiliser la valeur par défaut</em>.</p>
<p>Et voilà, grâce à ce statut social nouvellement acquis, vous pourrez vous aussi pavoiser auprès de vos amis :p</p>
<p><img src="media/bb7cd4d3.f4241788ba5559af3601b72220cbad09" data-original-source="http://cdn.libravatar.org/avatar/f4241788ba5559af3601b72220cbad09" alt="Gravatar de Okki" class="gravatar" /><br/><i>Original post of <a href="https://www.gnomelibre.fr/2017/03/faire-passer-gnome-pour-macos/" title="Visit the source">Okki</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>Okki : <a href="">Les cinq extensions les plus populaires</a> (11/07/2016)</li><li>Okki : <a href="">Configurer votre environnement de fa&ccedil;on plus traditionnelle</a> (18/03/2017)</li></ul></div></p>


feed_id: http://g3l.org/le_site/index.php?2017/03/19/336-2017-l-annee-de-gnu-linux-sur-le-desktop
title: G3L : 2017, l'année de GNU/Linux sur le desktop ?
uri: G3L-2017-l-année-de-GNU-Linux-sur-le-desktop
url: http://g3l.org/le_site/index.php?2017/03/19/336-2017-l-annee-de-gnu-linux-sur-le-desktop
content:
<p>Quelques articles en ligne en ce début d'année montrent qu'il est devenu facile d'utiliser GNU/Linux sur sa machine personnelle.</p>


<p>Peut-être enfin l'année de GNU/Linux sur la machine de bureau ?</p> <p>Par exemple, <em>Numérama</em> cite <a href="http://www.numerama.com/tech/240961-marre-de-windows-ou-macos-ces-5-distributions-linux-pourraient-vous-convertir.html" hreflang="fr">5 distributions qui pourraient vous convertir</a> si vous en avez marre de Windows ou MacOS.</p>


<p>Le site <em>ITnation</em> parle d'<a href="http://www.itnation.lu/adopter-desktop-linux/" hreflang="fr">Adopter le Desktop Linux</a>.</p>


<p>Si vous n'aimez pas le comportement par défaut de GNOME-Shell, il est possible de <a href="https://www.gnomelibre.fr/2017/03/configurer-votre-environnement-de-facon-plus-traditionnelle/" hreflang="fr">le ramener vers un style plus habituel</a>. Les adeptes du terminal eux pourront écrire des extensions GNOME-Shell avec bash (ou python ou autre chose) grâce à <a href="https://github.com/p-e-w/argos" hreflang="fr">Argos</a>, qui <a href="http://la-vache-libre.org/argos-une-extension-pour-gnome-shell-vraiment-tres-interessante/" hreflang="fr">permet des trucs</a> <a href="https://pod.g3l.org/posts/171838" hreflang="fr">bien</a> <a href="https://pod.g3l.org/posts/171850" hreflang="fr">sympa</a>.</p>


<p>Nous vous invitons également à lire <a href="http://www.davduf.net/+-linux-ubuntu-+" hreflang="fr">ce blog décrivant le passage de MacOS à Ubuntu</a>.</p>


<p>Sinon, pour les amateurs de Debian, la <a href="https://ascendances.wordpress.com/2017/02/23/frise-chronologique-des-distributions-debian/" hreflang="fr">frise chronologique</a> des versions a été mise à jour.</p>
<p><img src="media/e01c4dc6.aeb730b6da030ff3ba13636fcd669d58" data-original-source="http://cdn.libravatar.org/avatar/aeb730b6da030ff3ba13636fcd669d58" alt="Gravatar de G3L" class="gravatar" /><br/><i>Original post of <a href="http://g3l.org/le_site/index.php?2017/03/19/336-2017-l-annee-de-gnu-linux-sur-le-desktop" title="Visit the source">G3L</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>La vache libre : <a href="">Installer Budgie Desktop sur Ubuntu, Arch Linux et Manjaro</a> (18/11/2014)</li><li>TheLinuxFr : <a href="">Script post-installation Fedora 24</a> (29/06/2016)</li><li>Nizar Kerkeni : <a href="">GNU/Linux Distributions Day @ ENISo</a> (07/05/2012)</li></ul></div></p>


feed_id: https://www.blog-libre.org/2017/03/19/android-6-0-mise-a-jour-de-la-reinstallation-rapide/
uri: blog-libre-Article-dans-la-série-Termux-sur-Android-Android-6-0
url: https://www.blog-libre.org/2017/03/19/android-6-0-mise-a-jour-de-la-reinstallation-rapide/
title:
blog-libre : Article dans la série 'Termux sur Android' : Android 6.0, mise à jour de la réinstallation rapide

content:
<p>Comme je le disais dans l’<a href="https://www.blog-libre.org/2017/03/17/des-news/" target="_blank">article</a> précédent, je passe d’un LG G3 sous Android 5.0 Lollipop à un LG G4 (et un Samsung A5 2016 de Madame) sous Android 6.0 Marshmallow. Les problèmes n’ont pas tardé je vous aide donc à mettre le pied à l’étrier.</p>
<h2>Réinstallation rapide de Termux</h2>
<p>La première commande à lancer est <code>termux-setup-storage</code>, je vous invite fortement à lire la documentation <a href="https://termux.com/storage.html" target="_blank">storage</a> de Termux. Cette commande va autoriser Termux à accéder aux fichiers/dossiers de votre téléphone, elle va également créer un dossier <code>storage</code> dans $HOME. Dans ce dossier vous allez avoir des liens symboliques vers certains dossiers du système : dcim (<code>/storage/emulated/0/DCIM</code>), downloads (<code>/storage/emulated/0/Download</code>), external-1 (<code>/storage/XXXX-XXXX/Android/data/com.termux/files</code>), shared (<code>/storage/emulated/0</code>), etc.</p>
<p>On dépose ensuite le script termux.sh dans /sdcard/Download/ (en branchant le téléphone sur le pc avec un câble USB) puis on lance les commandes suivantes.</p>
<p></p><pre>cp /sdcard/Download/termux.sh ~/ # On copie le script dans le $HOME car on n'a pas les droits pour l'exécuter dans /sdcard/Download
chmod +x termux.sh &amp;&amp; ./termux.sh # On rend le script exécutable puis on le lance</pre><p></p>
<p>Voici le script termux.sh légèrement amélioré.</p>
<p></p><pre>#!/data/data/com.termux/files/usr/bin/bash
# termux.sh v0.2
#
# 18/03/2017
#

apt update &amp;&amp; apt upgrade
apt -y install curl nano openssh python2
curl https://blog-libre.org/dl/termux_keys >> ~/.ssh/authorized_keys
ssh-keygen -t ed25519 -N '' -f ~/.ssh/id_ed25519
chmod 600 ~/.ssh/authorized_keys &amp;&amp; chmod 700 ~/.ssh
echo sshd > ~/.bash_profile</pre><p></p>
<p>Par rapport à la version précédente : 1/ Dans termux_keys je mets toutes les clés SSH publiques dont j’ai besoin (4 postes en ce qui me concerne) 2/ On génère des clés SSH <a href="https://blog.adminrezo.fr/2016/01/comment-choisir-sa-cle-ssh-rsa-dsa-ecdsa-ed25519/" target="_blank">en ed25519</a> pour notre téléphone comme ça c’est fait 3/ La commande <code>sshd</code> dans le fichier .bash_profile lancera automatiquement le démon SSH dès que vous lancerez l’application Termux vous permettant ainsi de vous connecter sur le téléphone en SSH</p>
<p>Il y a une dernière opération que je vous invite à faire <code>ln -s /storage/XXXX-XXXX ~/storage/external_SD</code>, cela vous permettra d’avoir un accès direct à votre SD Card externe dans le dossier $HOME/storage. <code>XXXX-XXXX</code> est différent suivant les téléphones. Pour le retrouver placez-vous dans $HOME/storage et lancez <code>ls -l</code>, vous allez avoir l’information sur <code>external-1</code>.</p>
<p>Tcho !</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/03/19/android-6-0-mise-a-jour-de-la-reinstallation-rapide/" 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>
<p><div class="similar-block"><h3>Articles similaires</h3><ul><li>Pierre-Alain Bandinelli : <a href="">Forcer les boutons virtuels sur Android Ice Cream Sandwich</a> (26/07/2012)</li><li>Jeoffrey Bauvin : <a href="">Encrypt and upgrade your device with CyanogenMod</a> (19/12/2013)</li><li>Tuxicoman : <a href="">Faille dans le noyau Linux : le root en 1 clic sur Android</a> (20/06/2014)</li><li>Tuxicoman : <a href="">Linux Action Show cite GooglePlayDownloader</a> (07/11/2014)</li><li>Tuxicoman : <a href="">Installer un serveur Mumble sur Debian</a> (20/01/2015)</li></ul></div></p>


feed_id: https://philippe.scoffoni.net/ouvrir-terminal-distant-nemo/
title: Philippe Scoffoni : Ouvrir un terminal distant dans Nemo
uri: Philippe-Scoffoni-Ouvrir-un-terminal-distant-dans-Nemo
url: https://philippe.scoffoni.net/ouvrir-terminal-distant-nemo/
content:
<p>J’ai dû changer de machine tout récemment, et cela passe souvent par une remise en question de son environnement de travail. C’est à ce moment là qu’on se rend compte de tous ces petits « trucs » que l’on avait ajouté de ci de là pour optimiser son travail au quotidien.</p>
<p>Dans mon cas, je viens de passer d’une <strong>Ubuntu</strong> 14.04 + <strong>XFCE</strong>  à une Ubuntu 16.04 + <strong>Cinnamon</strong>. J’apprécie ce bureau je dois bien le dire. Mais là n’est pas le sujet de ce billet.</p>
<p>J’utilisais <strong>Nautilus</strong> avec XFCE. Sous Cinnamon, nous avons par défaut son clone dénommé <strong>Nemo</strong>. Je travaille souvent sur des <strong>machines virtuelles distantes</strong>, auxquelles j’accède en <strong>ssh</strong> via un <strong>VPN</strong>. J’utilise le gestionnaire de connexions <a rel="nofollow" href="https://doc.ubuntu-fr.org/gigolo" target="_blank">Gigolo</a> pour initialiser les connexions. L’authentification se fait par clé, ce qui me fournit une connexion « instantanée ».</p>
<p>Avec Nautilus, j’utilisais la fonction « Ouvrir dans un terminal » pour lancer un terminal ssh sur la machine virtuelle et exécuter des commandes. En passant sous Nemo, cette fonction existe, mais elle n’ouvre pas une session ssh distante, mais une session locale.</p>
<p>Il est heureusement possible d’ajouter des scripts et des actions dans Nemo. Mes recherches m’ont conduites à <a rel="nofollow" href="http://askubuntu.com/questions/439587/open-remote-terminal-location-from-nemo-in-ubuntu-13-10" target="_blank">cette page qui indique la marche à suivre</a>. Bien que indiqué pour Ubuntu 13, la solution proposée reste valide.</p>
<p>Il convient de placer dans le dossier .local/share/nemo/actions deux fichiers contenant, pour l’un la description du menu à ajouter et pour l’autre un script en Python se chargeant de l’appel du terminal.</p>
<p>Ajout du menu via le fichier remote_terminal.nemo_action</p>
<pre>[Nemo Action]
Name=Ouvrir un terminal distant
Comment=Open current folder in remote terminal
Name[de]=Im entfernten Terminal öffnen
Comment[de]=Aktuellen Ordner im entfernten Terminal öffnen
Exec=<remote_terminal.py %F>
Icon-Name=terminal
Selection=none
Extensions=dir;
Dependencies=ssh;</pre>
<p>Le script python remote_terminal.py</p>
<pre>#!/usr/bin/env python2
# -*- coding: utf-8 -*-

import sys
import subprocess

path = sys.argv[1]

if '/sftp:' in path:
 sftp = path.split('/sftp:', 1)[1]
 settings = {}
 options, sep, settings['path'] = sftp.partition('/')
 for opt in options.split(','):
 name, sep, value = opt.partition('=')
 settings[name] = value

cmd = ['terminator', '-e',
 'ssh %(user)s@%(host)s -t "cd /%(path)s &amp;&amp; bash --login"' % settings]
else:
 cmd = ['terminator', '--working-directory', path]

subprocess.call(cmd)</pre>
<p>J’ai juste changé le terminal appelé en remplaçant gnome-terminal par <a rel="nofollow" href="https://gnometerminator.blogspot.fr/p/introduction.html" target="_blank">terminator</a> que je préfère à ce dernier. Le résultat en vidéo.</p>
<p></p><center><br><iframe src="https://player.vimeo.com/video/209118334" width="640" height="360" frameborder="0" webkitallowfullscreen mozallowfullscreen allowfullscreen></iframe><br></center>
<hr><a href="https://philippe.scoffoni.net/ouvrir-terminal-distant-nemo/#comments">Réagir à cet article</a>
<p><small>Article original écrit par Philippe Scoffoni le 19/03/2017. | <a href="https://philippe.scoffoni.net/ouvrir-terminal-distant-nemo/">Lien direct vers cet article</a><br><br>Cette création est mise à disposition sous un <a rel="license" href="http://creativecommons.org/licenses/by/2.0/fr/">contrat Creative Commons BY</a>  à l'exception des images qui l'illustrent (celles-ci demeurent placées sous leur mention légale d'origine).</small></p>.

<p><img src="media/59ec0aeb.ee4bb1c08ac2d03c76f391d4b26c812a" data-original-source="http://cdn.libravatar.org/avatar/ee4bb1c08ac2d03c76f391d4b26c812a" alt="Gravatar de Philippe Scoffoni" class="gravatar" /><br/><i>Original post of <a href="https://philippe.scoffoni.net/ouvrir-terminal-distant-nemo/" title="Visit the source">Philippe Scoffoni</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>Philippe Scoffoni : <a href="">Comment mettre en place l&rsquo;auto-configuration de comptes de messagerie pour Thunderbird (et d&rsquo;autres)</a> (18/06/2015)</li><li>Philippe Scoffoni : <a href="">WordPress : Suivi des temps et affichage d&rsquo;une information sur un article sans utiliser d&rsquo;extension</a> (04/07/2015)</li><li>Philippe Scoffoni : <a href="">Installer Owncloud 8.1 sur Debian 8 avec Nginx et MariaDB</a> (26/07/2015)</li><li>Philippe Scoffoni : <a href="">Archiver automatiquement vos emails avec Thunderbird</a> (26/08/2015)</li><li>Philippe Scoffoni : <a href="">Owncloud : optimiser la vitesse de transfert des gros fichiers</a> (03/04/2016)</li></ul></div></p>


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

url:
https://blog.journalduhacker.net/index.php?article95/liens-interessants-journal-du-hacker-semaine-11-2017

content:
<p>Pour la 11ème semaine de 2017, voici <strong>10 liens</strong> 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/fa3xmm/tarifs_des_freelances_web_d_veloppeurs">Tarifs des freelances Web : développeurs, graphistes et webmarketing</a></li>
<li><a href="https://www.journalduhacker.net/s/nkcvey/oserez_vous_visiter_une_exposition">
Oserez-vous visiter une exposition « interdite » ?</a></li>
<li><a href="https://www.journalduhacker.net/s/ufhe91/migration_dune_mamie_et_dune_tudiante">Migration d'une mamie et d'une étudiante sous GNU/Linux</a></li>
<li><a href="https://www.journalduhacker.net/s/reef6q/firefox52_cette_connexion_nest_pas_s">Firefox52 : Cette connexion n'est pas sécurisée</a></li>
<li><a href="https://www.journalduhacker.net/s/1roegw/g_n_rer_un_json_contenant_des_jeux_dessais_r">Générer un JSON contenant des jeux d'essais réalistes</a></li>
<li><a href="https://www.journalduhacker.net/s/zugttm/nouveaut_s_de_debian_9">Nouveautés de Debian 9</a></li>
<li><a href="https://www.journalduhacker.net/s/dztc1p/serveur_client">Serveur-client</a></li>
<li><a href="https://www.journalduhacker.net/s/z66pik/polices_pour_d_veloppeurs">Polices pour développeurs</a></li>
<li><a href="https://www.journalduhacker.net/s/wyxfhs/electron_d_veloppement_dapplication">Electron : développement d'application bureau multiplateforme</a></li>
<li><a href="https://www.journalduhacker.net/s/saivri/installer_sa_seedbox_sur_debian">Installer sa SeedBox sur Debian</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?article95/liens-interessants-journal-du-hacker-semaine-11-2017" 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>
<p><div class="similar-block"><h3>Articles similaires</h3><ul><li>Journal du hacker : <a href="">Liens int&eacute;ressants Journal du hacker semaine #11</a> (21/03/2016)</li></ul></div></p>


feed_id: https://blog.nizarus.tn/2017/03/webinar-ubuntu-pour-tous
title: Nizar Kerkeni : Webinar – Ubuntu pour tous
uri: Nizar-Kerkeni-Webinar-Ubuntu-pour-tous
url: https://blog.nizarus.tn/2017/03/webinar-ubuntu-pour-tous
content:
<p>L’enregistrement vidéo de mon intervention pour présenter la distribution Ubuntu dans le cadre du MOOC “<a href="https://www.fun-mooc.fr/courses/ucarthage/115001/session01/about" target="_blank"><strong>L’essentiel pour maîtriser Linux</strong></a>“.</p>
<p><iframe src="https://www.youtube.com/embed/TZ4gpTM5eL8" width="560" height="315" frameborder="0" allowfullscreen="allowfullscreen"></iframe></p>
<p>Ci dessous les liens pour télécharger la présentation au format PDF et ODP.</p>
<p><a href="media/9012aee2.Ubuntu-LinuxPourTous.pdf" data-original-source="https://blog.nizarus.tn/wp-content/uploads/2017/03/Ubuntu-LinuxPourTous.pdf" target="_blank"><img src="media/e588b042.adobe-reader-150x150.png" data-original-source="https://blog.nizarus.tn/wp-content/uploads/2010/10/adobe-reader-150x150.png" alt="fichier pdf" width="150" height="150" srcset="https://blog.nizarus.tn/wp-content/uploads/2010/10/adobe-reader-150x150.png 150w, https://blog.nizarus.tn/wp-content/uploads/2010/10/adobe-reader.png 256w" sizes="(max-width: 150px) 100vw, 150px"></a><a href="https://blog.nizarus.tn/wp-content/uploads/2017/03/Ubuntu-LinuxPourTous.odp" target="_blank"><img src="media/c4493590.LibrofficeImpressLogo-150x150.png" data-original-source="https://blog.nizarus.tn/wp-content/uploads/2017/03/LibrofficeImpressLogo-150x150.png" alt="LibrofficeImpressLogo" width="150" height="150" srcset="https://blog.nizarus.tn/wp-content/uploads/2017/03/LibrofficeImpressLogo-150x150.png 150w, https://blog.nizarus.tn/wp-content/uploads/2017/03/LibrofficeImpressLogo.png 204w" sizes="(max-width: 150px) 100vw, 150px"></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%2F03%2Fwebinar-ubuntu-pour-tous&amp;title=Webinar%20%26%238211%3B%20Ubuntu%20pour%20tous" 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/03/webinar-ubuntu-pour-tous" 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="">Ubuntu Global Jam 14.04</a> (01/04/2014)</li><li>Nizar Kerkeni : <a href="">Bonjour, ici la communaut&eacute; Ubuntu Tunisie</a> (19/02/2017)</li><li>Nizar Kerkeni : <a href="">GNU/Linux Distributions Day @ ENISo</a> (07/05/2012)</li><li>Nizar Kerkeni : <a href="">MOOC &ndash; L&rsquo;essentiel pour ma&icirc;triser Linux</a> (08/02/2017)</li><li>Nizar Kerkeni : <a href="">TEDxEPI Sousse : pr&eacute;sentation de la communaut&eacute; Ubuntu Tunisie</a> (25/03/2012)</li></ul></div></p>


title: alterlibriste : Nouvelles de la podcastosphère libriste francophone - Printemps 2017
uri: alterlibriste-Nouvelles-de-la-podcastosphère-libriste-francophone
feed_id:
http://alterlibriste.free.fr/index.php?post/2017/03/20/Nouvelles-de-la-podcastosph%C3%A8re-libriste-francophone-Printemps-2017

url:
http://alterlibriste.free.fr/index.php?post/2017/03/20/Nouvelles-de-la-podcastosph%C3%A8re-libriste-francophone-Printemps-2017

content:
<p><img src="media/f2dba922.2133732967_323d9fb8f2_o.jpg" data-original-source="https://c2.staticflickr.com/3/2379/2133732967_323d9fb8f2_o.jpg" alt=""></p>


<p>Un petit bilan trimestriel des évolutions dans le monde des podcasts touchant de plus ou moins près au monde du libre francophone et à l’évolution du monde numérique :</p>    <ul><li>cet automne, <a href="http://alterlibriste.free.fr/index.php?post/2016/11/07/Podcasting-%3A-Pod404">je décrivais l’apparition d’une nouvelle formule intitulé le Pod404</a> dans le podcast de l’April en plus des actualités hebdomadaires. Les deux ont maintenant fusionné en un nouveau podcast intitulé Décryptactualité. Ça se résume en une présentation rapide des articles de la revue de presse puis un débat pour parler plus en profondeur d’un sujet lié à l’actualité. C’est toujours sur le <a href="http://audio.april.org/feed">même flux</a> et ça donne un nouveau souffle au podcast en sortant de la description d’articles pour aller vers le débat d’idées comme cela avait été initié dans le Pod404.</li>
<li>Le Ubuntu Podcast est toujours aussi erratique, pour peu, on dirait qu’ils suivent la politique de Debian à sortir quand c’est prêt, mais c’est probablement plus quand ils ont le temps, ce qui n’est pas le cas depuis janvier.</li>
<li>Alpinux qui n’a publié qu’un épisode depuis le début de l’année devrait revenir plus régulièrement. Disposant maintenant d’un studio, le son est désormais au top.</li>
<li>Un petit nouveau est né : <a href="http://feeds.feedburner.com/AperoDesPapasManchots">L’apéro des papas manchots</a> que je suis attentivement depuis le début. Après 5 émissions plutôt hétérogènes, le podcast commence à se forger une identité ; une critique à venir très prochainement.</li>
<li>Un autre podcast que j’ai découvert récemment (qui aura aussi droit à sa chronique), pas directement lié au libre mais issu d’un fablab donc préoccupé par les thématiques des nouvelles technologies vues sous l’angle de l’ouverture et de la bidouillabilité : <a href="http://cfmradio.fr/emission-no/em10530/feed/">Les Souris ne mordent pas</a></li>
<li>Une chronique sur France Culture dont j’avais loupé l’apparition en septembre : <a href="https://www.franceculture.fr/emissions/le-numerique-et-nous">Le numérique et nous</a>. Encore une fois, ce n’est pas libriste mais ça décrit l’évolution du monde numérique avec un prisme que j’aime bien, le dernier épisode est consacré à Aaron Swartz.</li>
</ul><p>Toutes ses références sont à retrouver sur <a href="http://alterlibriste.free.fr/index.php?pages/Les-podcasts-que-j-%C3%A9coute">ma page statique</a> mise à jour aussi régulièrement que possible. <br>
Comme je l’ai déjà dit et le répète, certains contenus ne sont pas directement liés au libre (mais tous sont sur le numérique) et tout ce qui existe n’est pas répertorié notamment ce qui a spécifiquement trait au développement ou à la sécurité. <br>
Étant donné que je suis moi aussi un papa manchot, je m’intéresse plus particulièrement aux usages domestiques des outils libres et numériques, ainsi que leur évolution dans la société.</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/03/20/Nouvelles-de-la-podcastosph%C3%A8re-libriste-francophone-Printemps-2017" 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://www.gnomelibre.fr/2017/03/sortie-dun-theme-arc-pour-thunderbird/
title: Okki : Sortie d’un thème Arc pour Thunderbird
uri: Okki-Sortie-d-un-thème-Arc-pour-Thunderbird
url: https://www.gnomelibre.fr/2017/03/sortie-dun-theme-arc-pour-thunderbird/
content:
<p>Après <a href="https://github.com/horst3180/arc-firefox-theme">Firefox</a>, <a href="https://github.com/varlesh/VLC-Arc-Dark">VLC</a> ou <a href="http://art-2.deviantart.com/art/Arc-2-theme-for-Telegram-654895946">Telegram</a>, c’est désormais au tour du célèbre client de messagerie Thunderbird d’avoir droit à son thème <a href="https://github.com/horst3180/Arc-theme">Arc</a>.</p>
<figure><a href="media/f0138d06.thunderbird_arc_theme.png" data-original-source="http://www.gnomelibre.fr/wp-content/uploads/2017/03/thunderbird_arc_theme.png"><img src="media/d2e3586e.thunderbird_arc_theme-1024x562.png" data-original-source="http://www.gnomelibre.fr/wp-content/uploads/2017/03/thunderbird_arc_theme-1024x562.png" alt="" width="660" height="362" srcset="https://www.gnomelibre.fr/wp-content/uploads/2017/03/thunderbird_arc_theme-1024x562.png 1024w, https://www.gnomelibre.fr/wp-content/uploads/2017/03/thunderbird_arc_theme-300x165.png 300w, https://www.gnomelibre.fr/wp-content/uploads/2017/03/thunderbird_arc_theme-768x421.png 768w" sizes="(max-width: 660px) 100vw, 660px"></a><figcaption>Lightning, le module agenda de Thunderbird, avec le thème Arc</figcaption></figure><p>Le thème est toujours au statut d’alpha et peut comporter quelques problèmes. Si vous souhaitez tout de même l’essayer, il vous faudra télécharger le fichier .xpi sur le <a href="https://github.com/JD342/arc-thunderbird-integration">site officiel</a> puis, dans Thunderbird, vous rendre dans le menu Outils, Modules complémentaires, cliquer sur la roue crantée puis choisir Installer un module depuis un fichier…</p>
<p><img src="media/bb7cd4d3.f4241788ba5559af3601b72220cbad09" data-original-source="http://cdn.libravatar.org/avatar/f4241788ba5559af3601b72220cbad09" alt="Gravatar de Okki" class="gravatar" /><br/><i>Original post of <a href="https://www.gnomelibre.fr/2017/03/sortie-dun-theme-arc-pour-thunderbird/" title="Visit the source">Okki</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>Okki : <a href="">Sortie d&rsquo;un th&egrave;me Arc pour Firefox</a> (22/08/2015)</li><li>Okki : <a href="">Sortie de la premi&egrave;re version du th&egrave;me d&rsquo;ic&ocirc;nes Arc</a> (07/06/2016)</li></ul></div></p>


title: Tuxicoman : LineageOS dépasse les 1 millions d’installations
uri: Tuxicoman-LineageOS-dépasse-les-1-millions-d-installations
feed_id:
https://tuxicoman.jesuislibre.net/2017/03/lineageos-depasse-les-1-millions-dinstallations.html?pk_campaign=feed&amp;pk_kwd=lineageos-depasse-les-1-millions-dinstallations

url:
https://tuxicoman.jesuislibre.net/2017/03/lineageos-depasse-les-1-millions-dinstallations.html?pk_campaign=feed&amp;pk_kwd=lineageos-depasse-les-1-millions-dinstallations

content:
<p><a href="http://lineageos.org/">LineageOS</a>, la distribution Android libre qui a repris le flambeau de Cyanogen a dépassé les 1 million d’installations !</p>
<p>Vous pouvez trouver les détails sur la page web des <a href="https://stats.lineageos.org/">statistiques</a> du projet.</p>
<p><a href="media/983c04ab.company_logo.png" data-original-source="https://tuxicoman.jesuislibre.net/blog/wp-content/uploads/company_logo.png"><img src="media/983c04ab.company_logo.png" data-original-source="https://tuxicoman.jesuislibre.net/blog/wp-content/uploads/company_logo.png" alt="" width="193" height="40"></a></p>
<p>Personnellement, j’en suis très content. Le projet publie des <a href="http://lineageos.org/">nouvelles</a> assez fréquemment. Le logiciel est stable. Les correctifs de sécurités sont là. Le logiciel fonctionne au poil sur des vieux appareils. Bref si vous être contre l’obsolescence des produits, foncez.</p>
<h3>Related Posts:</h3>
<ul><li><a href="https://tuxicoman.jesuislibre.net/2017/02/passage-de-cyanogen-a-lineageos.html" title="Passage de Cyanogen à LineageOS">Passage de Cyanogen à LineageOS</a></li>
<li><a href="https://tuxicoman.jesuislibre.net/2017/03/signal-sans-google-apps.html" title="Signal, sans Google Apps">Signal, sans Google Apps</a></li>
<li><a href="https://tuxicoman.jesuislibre.net/2017/02/arreter-les-applications-tournant-en-arriere-plan-sur-android.html" title="Arrêter les applications tournant en arrière plan sur Android">Arrêter les applications tournant en arrière plan sur Android</a></li>
<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/2016/12/bonnes-resolutions-2017.html" title="Bonnes résolutions 2017">Bonnes résolutions 2017</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%2F03%2Flineageos-depasse-les-1-millions-dinstallations.html%3Fpk_campaign%3Dfeed%26pk_kwd%3Dlineageos-depasse-les-1-millions-dinstallations&amp;action_name=LineageOS+d%C3%A9passe+les+1+millions+d%26rsquo%3Binstallations&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/03/lineageos-depasse-les-1-millions-dinstallations.html?pk_campaign=feed&amp;pk_kwd=lineageos-depasse-les-1-millions-dinstallations" 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="">Passage de Cyanogen &agrave; LineageOS</a> (01/02/2017)</li><li>Tuxicoman : <a href="">OpenStreetMap c&rsquo;est surpuissant</a> (19/07/2012)</li><li>Tuxicoman : <a href="">Blender port&eacute; sur Android</a> (01/09/2012)</li><li>Tuxicoman : <a href="">Samsung Galaxy S3 avec Cyanogen 10 : le test</a> (02/09/2012)</li><li>Tuxicoman : <a href="">Lib&eacute;rons Xabber</a> (12/09/2012)</li></ul></div></p>


feed_id: https://blog.genma.fr/?curl-script-sh
title: genma : curl script |sh
uri: genma-curl-script-sh
url: https://blog.genma.fr/?curl-script-sh
content:
<img alt="" src="https://blog.genma.fr/IMG/arton2548.jpg?1472737776" width="150" height="79"><div><p>En lisant un article sur le fait qu'il est désormais possible de <a href="http://www.nextinpact.com/news/101174-raspberry-pi-installer-simplement-docker-dans-raspbian-jessie.htm" title="Raspberry Pi : installer simplement Docker dans Raspbian Jessie">faire l'installation de Docker sur Raspberry pi</a> je vois que l'installation passer par la commande</p>
<div dir="ltr"><code>curl -sSL get.docker.com | sh</code></div>
<p><strong>Tout d'abord que fait cette commande ?</strong></p>
<p>La commande curl va lancer le programme Curl qui va se connecter au site get.docker.com, récupérer un script d'installation et le passer (le symbole |) en argument au shell (la commande sh). On est face à une commande shell assez classique (enchainement de deux programmes).</p>
<p><strong>En quoi est-ce une mauvaise pratique ?</strong></p>
<p>La commande s'exécute avec les droits de l'utilisateur courant. Par droits, il y a la possibilité de modifier ou supprimer tout un ensemble de fichiers par exemple. On n'a aucun moment le contenu du script qui est récupéré sur le site Internet de Docker et qui est lancé. Si ce script contient une commande du type</p>
<div dir="ltr"><code>rm -rf *</code></div>
<p>parmi tous les lignes du script, cette commande sera executée et va supprimer de façon recursive les fichiers. Il faudrait donc pouvoir avoir le contenu du script pour pouvoir le vérifier...</p>
<p><strong>Déléguer et avoir confiance</strong></p>
<p>Par solution de facilité, on exécute une commande simple pour installer un programme. Mais on n'a aucune garantie sur son contenu. Certes c'est le cas pour beaucoup de choses, on délègue la confiance sur les développeurs de sa distribution Linux favorite (Debian, Ubuntu...), sur les auteurs de logiciels libres ou ceux qui y contribuent et qui vont relire et corriger le code source (d'où la nécessité d'un code ouvert et libre)... On accorde sa confiance tous les jours et plusieurs fois par jour.</p>
<p>Mais ce n'est pas une raison pour faire <strong>trop</strong> confiance (et pour ne pas apprendre, ne pas chercher à comprendre quelques bases.</p>
<p><strong>Une analogie ?</strong></p>
<p>Si vous lisez sur un forum que le fait de supprimer les freins de votre voiture lui permettra de consommer moins d'essence, car il y aura moins de frottement et donc moins de ralentissement, vous le faîtes ? Non. Et ce, même si l'explication scientifique associée vous semble tout à fait plausible, vous mettrez en doute cette affirmation et la démonstration associée. Pourquoi ? Parce que vous avez un minimum de connaissances, vous cherchez à comprendre et à apprendre (en passant le permis). Et si vous avez un doute, vous demandez au spécialiste qu'est le garagiste. Si vous faites la modification vous même, vous le faîtes en connaissance de cause (en tout cas je l'espère).</p>
<p>En informatique, c'est pareil. Toute demande de mot de passe pour faire une tâche d'administration implique devrait impliquer qu'on est compris et que l'on sait ce que l'on fait. Ou bien que l'on ait demandé <i>à quelqu'un qui s'y connait</i> et en qui on est confiance (on en revient à la confiance), <i>le garagiste de l'informatique</i>. Voici un exemple de la nécessité de comprendre mais surtout d'apprendre <i>un minimum</i> l'informatique (et plus particulièrement l'hygiène numérique). On ne doit pas devenir un garagiste (pour reprendre l'analogie avec la voiture) sauf si c'est quelque chose dont on a envie, la nécessité ou le temps mais comprendre qu'il y a des choses à apprendre, des bases, que rien n'est magique, c'est essentiel de mon point de vue.</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/?curl-script-sh" 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: https://framablog.org/2017/03/21/framalibre-lannuaire-du-libre-renait-entre-vos-mains/
title: Framablog : Framalibre : l’annuaire du libre renaît entre vos mains
uri: Framablog-Framalibre-l-annuaire-du-libre-renaît-entre-vos-main
url: https://framablog.org/2017/03/21/framalibre-lannuaire-du-libre-renait-entre-vos-mains/
content:
<p>Notre projet historique, l’annuaire de Framasoft, renaît de ses cendres… pour ouvrir encore plus grandes les portes du Libre.</p>
<p><span></span></p>
<h2>Au commencement était l’annuaire…</h2>
<p>OK : pas besoin de prendre un ton biblique non plus, mais il est vrai que c’est avec une émotion toute particulière qu’on vous présente cette refonte complète du tout premier projet, celui qui a fait naître Framasoft ; et qui, mine de rien, a défini notre identité.</p>
<p>Il y a 16 ans, en 2001, une prof de <strong>FRA</strong>nçais (Caroline d’Atabekian) et un prof de <strong>MA</strong>ths (Alexis Kauffmann) commencent à s’échanger des listes de logiciels gratuits pour les salles d’ordinateurs de leurs établissements dont le budget informatique était grevé par les licences Windows.</p>
<p>Le projet plaît, et il évolue. On se rend compte que derrière certains logiciels gratuits, il existe des licences libres, des contrats garants de nos libertés et du respect de certaines valeurs. Alors on découvre le monde du Logiciel Libre, fait d’entraide (pour adapter les serveurs au succès croissant du site) et de collaboration (à côté des fiches pour les logiciels fleurissent les tutoriels d’utilisation).</p>
<p>Il faut attendre 2004 pour que ce premier site devienne un annuaire collaboratif de logiciels libres tel qu’on le connaît aujourd’hui. Un outil pratique, fait par et pour des « non-pros » de l’informatique, conçu comme une porte d’entrée vers ce monde numérique où les êtres humains et leurs libertés sont respectés. On y vient pour un besoin logiciel précis, on y retourne pour la chaleur de la communauté, et on se fait délicieusement contaminer par les valeurs du Libre.</p>

<a href="https://framablog.org/2017/03/21/framalibre-lannuaire-du-libre-renait-entre-vos-mains/firefox_screenshot_2017-03-20t11-25-29-907z/"><img width="991" height="991" src="media/b2944010.Firefox_Screenshot_2017-03-20T11-25-29.907Z.png" data-original-source="https://framablog.org/wp-content/uploads/2017/03/Firefox_Screenshot_2017-03-20T11-25-29.907Z.png" alt="" srcset="https://framablog.org/wp-content/uploads/2017/03/Firefox_Screenshot_2017-03-20T11-25-29.907Z.png 991w, https://framablog.org/wp-content/uploads/2017/03/Firefox_Screenshot_2017-03-20T11-25-29.907Z-150x150.png 150w, https://framablog.org/wp-content/uploads/2017/03/Firefox_Screenshot_2017-03-20T11-25-29.907Z-300x300.png 300w, https://framablog.org/wp-content/uploads/2017/03/Firefox_Screenshot_2017-03-20T11-25-29.907Z-768x768.png 768w" sizes="(max-width: 991px) 100vw, 991px"></a>
<a href="https://framablog.org/2017/03/21/framalibre-lannuaire-du-libre-renait-entre-vos-mains/firefox_screenshot_2017-03-20t11-19-55-662z/"><img width="994" height="994" src="media/68774b40.Firefox_Screenshot_2017-03-20T11-19-55.662Z.png" data-original-source="https://framablog.org/wp-content/uploads/2017/03/Firefox_Screenshot_2017-03-20T11-19-55.662Z.png" alt="" srcset="https://framablog.org/wp-content/uploads/2017/03/Firefox_Screenshot_2017-03-20T11-19-55.662Z.png 994w, https://framablog.org/wp-content/uploads/2017/03/Firefox_Screenshot_2017-03-20T11-19-55.662Z-150x150.png 150w, https://framablog.org/wp-content/uploads/2017/03/Firefox_Screenshot_2017-03-20T11-19-55.662Z-300x300.png 300w, https://framablog.org/wp-content/uploads/2017/03/Firefox_Screenshot_2017-03-20T11-19-55.662Z-768x768.png 768w" sizes="(max-width: 994px) 100vw, 994px"></a>

<h2>« Framalibre – le reboot ? Euh… Hum… Oui-oui ! C’est pour… demain ! »</h2>
<p>Cela fait bien cinq ans que nous savons l’annuaire vieillissant, avec des notices trop détaillées qui deviennent vite obsolètes. Cinq ans que d’atermoiements en hésitations (« Faut-il vraiment repartir de zéro ? », se demandait-on avec des yeux de Chat Potté), d’avancées en marches à reculons, nous nous rendons compte qu’il n’est plus adapté ni au Libre (qui désormais déborde largement du champ des seuls logiciels), ni à nos usages (avec des contributions passant par un wiki, un forum, puis un Spip… c’est pas lourd du tout du tout -_-).</p>
<p>Sauf que voilà : on a toujours une urgence qui vient de tomber (entraînée par un de nos serveurs), un nouveau Framabook ou une nouvelle Framakey sur le feu, un Internet à Dégoogliser… Et puis il est difficile d’admettre que le SPIP qui a vaillamment permis notre annuaire (et donc notre page d’accueil) depuis tant d’années n’était plus l’outil le mieux adapté et le plus accessible pour cet usage précis…</p>
<p>Il nous a donc fallu cinq ans (et de multiples abandons/blocages/coup de fouet/reprises du projet) pour vous proposer cette refonte, cette remise à zéro de l’annuaire. Ne vous inquiétez pas, si vous aimez l’ancien, nous en avons gardé une archive juste à cette adresse <a href="https://archive.framalibre.org/">archive.framalibre.org</a> ;) ! Cinq ans, et le travail conjoint de nombreux membres, salariés, mais surtout partenaires : <a href="http://www.smile.fr/">Smile</a>, dans un premier temps, pour leurs <em>templates</em> de visualisation… Mais surtout <a href="https://makina-corpus.com/">Makina Corpus</a>, entreprise toulousaine bien connue des visiteurs du Capitole du Libre, qui nous a fait un design et une intégration Drupal aux petits oignons et nous a accompagnés (avec Framatophe tenant vaillamment le cap) sur les derniers efforts que nous ne savions pas fournir nous-mêmes.</p>
<div><a href="https://makina-corpus.com/"><img src="media/3c57daf5.MakinaCorpus_logo_hor_quadri.png" data-original-source="https://framablog.org/wp-content/uploads/2017/03/MakinaCorpus_logo_hor_quadri.png" alt="" width="480" height="62" srcset="https://framablog.org/wp-content/uploads/2017/03/MakinaCorpus_logo_hor_quadri.png 480w, https://framablog.org/wp-content/uploads/2017/03/MakinaCorpus_logo_hor_quadri-300x39.png 300w" sizes="(max-width: 480px) 100vw, 480px"></a><p>Grâce à ce <a href="https://framalibre.org/content/design-de-framalibre-un-m%C3%A9c%C3%A9nat-de-comp%C3%A9tences">mécénat de compétences</a>, voici un projet mené à terme !</p></div>
<h2>Voici <a href="https://framalibre.org/">Framalibre</a>, 2e du nom…</h2>
<p>Bon, c’est pas tout ça, mais est-ce que ça valait le coup d’attendre ? Que va-t-on trouver en guise d’annuaire Framasoft ?</p>
<p>Déjà on revient à quelque chose de simple. Les notices sont claires, concises, et vous mènent au plus vite vers le lien officiel de la ressource que vous consultez. Finies les notices hyper-détaillées et trop longues qui deviennent désuètes à la moindre mise à jour ;) ! L’idée principale, c’est de trouver aisément et comme on le souhaite : on peut rechercher une notice selon sa catégorie, utiliser le système de tags, ou même se laisser porter par les suggestions, recommandations, les notices mises en avant, etc.</p>
<p>C’est aussi un annuaire qui facilite la collaboration. Avec un simple compte, vous pouvez voter pour les ressources que vous préférez (et donc les mettre en valeur), corriger ou mettre à jour une notice, en créer une nouvelle dans l’annuaire, ou plus simplement écrire une chronique (un tutoriel, un témoignage, ou bien votre avis sur telle ressource…). Cet annuaire, c’est vous qui le ferez, nous avons donc fait en sorte qu’il vous soit le plus ouvert possible. Et, avec Drupal, gageons que nous pourrons, ensuite, ouvrir les données engrangées via un système d’API (ceci est un souhait, pas une promesse — mais ce serait cool, hein ?)…</p>
<p>Enfin et surtout, <a href="https://framalibre.org/">Framalibre</a> se veut un annuaire du Libre, en général, et non pas seulement du Logiciel Libre. Car nos vies numériques ne sont plus uniquement « virtuelles », et les libertés que nous défendons et nourrissons vont au-delà du logiciel.</p>
<div><a href="https://framalibe.org/"><img src="media/91b19cda.framalibre01.png" data-original-source="https://framablog.org/wp-content/uploads/2017/03/framalibre01.png" alt="" width="1203" height="1196" srcset="https://framablog.org/wp-content/uploads/2017/03/framalibre01.png 1203w, https://framablog.org/wp-content/uploads/2017/03/framalibre01-150x150.png 150w, https://framablog.org/wp-content/uploads/2017/03/framalibre01-300x298.png 300w, https://framablog.org/wp-content/uploads/2017/03/framalibre01-768x764.png 768w, https://framablog.org/wp-content/uploads/2017/03/framalibre01-1024x1018.png 1024w" sizes="(max-width: 1203px) 100vw, 1203px"></a><p>Et voilà le visage du nouvel annuaire !</p></div>
<p>Désormais, vous pouvez <a href="https://framalibre.org/">rentrer dans l’annuaire</a> et y trouver :</p>
<ul><li>des outils informatifs, catégorie <strong>S’informer</strong>,</li>
<li>des logiciels, du matériel et des jeux de données libres, dans <strong>S’équiper</strong>,</li>
<li>des livres, albums, films et autres œuvres culturelles dans <strong>Se cultiver</strong>,</li>
<li>et même les entreprises, collectifs, associations et autres initiatives du monde du Libre dans pour bien <strong>S’entourer</strong>.</li>
</ul><p>Depuis 2004, le monde du Libre a bien grandi… Il était temps d’en agrandir une des portes d’entrée ;).</p>
<h2>Ouvrons la portes et nos communautés !</h2>
<p>Un annuaire, c’est un bouquet de fleurs capiteuses… Attiré·e par la douce odeur de <em>THE</em> information pratique que l’on vient y chercher, on s’enivre du nectar des autres notices à disposition, on se perd dans la navigation et finit par découvrir un nouveau champ de possibilités et de libertés.</p>
<p>Nous ne comptons plus le nombre de fois, sur le stand d’une convention libriste, où nous rencontrons un·e convaincu·e, arborant fièrement le logo de sa « distro GNUnux » favorite sur son T-Shirt, et qui s’écrie plein·e de nostalgie :</p>
<blockquote><p>« Oooh ! Framasoft ! Je me souviens, c’est sur votre site, là, que j’ai découvert mes premiers logiciels libres ! »</p></blockquote>
<div><a href="media/a347944b.open-arm-cat.jpg" data-original-source="https://framablog.org/wp-content/uploads/2017/03/open-arm-cat.jpg"><img src="media/a347944b.open-arm-cat.jpg" data-original-source="https://framablog.org/wp-content/uploads/2017/03/open-arm-cat.jpg" alt="" width="650" height="633" srcset="https://framablog.org/wp-content/uploads/2017/03/open-arm-cat.jpg 650w, https://framablog.org/wp-content/uploads/2017/03/open-arm-cat-300x292.jpg 300w" sizes="(max-width: 650px) 100vw, 650px"></a><p>Nous, à l’écoute de telles exclamations (allégorie.)</p></div>
<p>C’est à nous, désormais, de préparer le terrain pour que les futures générations de libristes tombent dans la marmite de potion magique ! D’ailleurs, un énorme merci aux personnes qui ont saisi les 400 premières notices avant la mise en production <3 ! Oh et au fait : vos comptes beta.framalibre.org fonctionnent désormais sur framalibre.org ;)</p>
<p>C’est à nous, donc, de <a href="https://framalibre.org/">contribuer à cet annuaire</a> et de le nourrir de ce qui nous intéresse et que l’on souhaite partager. Que ce soit des notices, des chroniques, des corrections ou de simples votes : ce sont toutes vos contributions qui pourront faire le succès de cette renaissance…</p>
<p>Une équipe de modération est déjà en place (mais aura vite besoin de nouveaux bras) et des ateliers de contribution commencent à s’organiser (dont un sur <a href="http://toulibre.org/">Toulouse, le 22 mars, avec le GULL Toulibre</a>). En cette période où le <a href="http://libre-en-fete.net/2017/">Libre est en fête</a>, faites-vous une joie de mettre en valeur des œuvres (logicielles, culturelles, matérielles, etc.) libres, parce que vous y contribuez ou en bénéficiez, ou simplement parce que vous les aimez et souhaitez les partager avec le plus grand nombre.</p>
<p>Nous, on va écraser une petite larmichette d’émotion sur cette page qui se tourne, et se remettre au boulot !</p>
<div><a href="media/b22d8a06.stallmanoramix.png" data-original-source="https://framablog.org/wp-content/uploads/2015/10/stallmanoramix.png"><img src="media/b22d8a06.stallmanoramix.png" data-original-source="https://framablog.org/wp-content/uploads/2015/10/stallmanoramix.png" alt="" width="562" height="375" srcset="https://framablog.org/wp-content/uploads/2015/10/stallmanoramix.png 562w, https://framablog.org/wp-content/uploads/2015/10/stallmanoramix-300x200.png 300w" sizes="(max-width: 562px) 100vw, 562px"></a><p>Allez, une nouvelle marmite pour tonton Richard !</p></div>
<h3>Pour aller plus loin :</h3>
<ul><li>Aller voir <a href="https://framalibre.org/">Framalibre</a>
<ul><li>Tuto<a href="https://docs.framasoft.org/fr/framalibre/premiers-pas.html"> premiers pas sur l’annuaire</a></li>
<li>Tuto <a href="https://docs.framasoft.org/fr/framalibre/se-creer-un-compte.html">se créer un compte</a></li>
<li>Tuto <a href="https://docs.framasoft.org/fr/framalibre/creer-modifier-une-notice.html">créer/modifier une notice</a></li>
</ul></li>
<li><a href="https://archive.framalibre.org/">Archives de l’ancien annuaire</a></li>
<li><a href="https://fr.wikipedia.org/wiki/Framasoft#Historique_du_r.C3.A9seau">Historique de Framasoft</a> sur Wikipédia</li>
<li><a href="https://makina-corpus.com/">Makina Corpus</a>, sans qui rien n’aurait été possible</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/03/21/framalibre-lannuaire-du-libre-renait-entre-vos-mains/" 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="">OS, logiciels, serveurs et&hellip; tablettes libres pour les &eacute;coles - Entretien avec &Eacute;ric Seigne</a> (12/12/2012)</li><li>Framablog : <a href="">clibre.eu : un (autre) annuaire de logiciels libres</a> (30/04/2014)</li><li>Framablog : <a href="">Rien ne serait arriv&eacute; sans la loi de Moore</a> (30/10/2012)</li><li>Framablog : <a href="">Sortie du livre Utopie du logiciel libre - Interview de S&eacute;bastien Broca</a> (02/12/2013)</li><li>Framablog : <a href="">Framasoft pr&eacute;sente : Vosges Op&eacute;ration Libre, le 17 et 18 mai &agrave; G&eacute;rardmer</a> (15/04/2014)</li></ul></div></p>


feed_id: https://ordinosor.wordpress.com/2017/03/22/python-les-booleens/
title: Benoît Boudaud : Python: Les booléens
uri: Benoît-Boudaud-Python-Les-booléens
url: https://ordinosor.wordpress.com/2017/03/22/python-les-booleens/
content:
<p><strong>Pour une lecture plus agréable (page plus large), je vous invite à <a href="https://ordinosor.wordpress.com/chapitre-4-bis-les-booleens/" target="_blank">cliquer sur ce lien</a> et à lire ce chapitre dans la rubrique consacrée au langage Python.</strong></p>
<p>Aujourd’hui, je vais vous parler des booléens. Les booléens sont des êtres farouches qui vivent au fin fond des forêts binaires recouvrant la terre sacrée du Grand Python Digital. Très difficiles à observer dans leur milieu naturel bla, bla, bla…</p>
<p>Bon en fait, il s’agit d’une notion informatique quelque peu tordue que j’avais du mal à conceptualiser au début de mon apprentissage du Python.</p>
<figure data-shortcode="caption"><img data-attachment-id="10173" data-permalink="https://ordinosor.wordpress.com/2017/03/22/python-les-booleens/boole/" data-orig-file="https://ordinosor.files.wordpress.com/2017/03/boole.png?w=311&amp;h=445" data-orig-size="588,841" 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="boole" data-image-description="" data-medium-file="https://ordinosor.files.wordpress.com/2017/03/boole.png?w=311&amp;h=445?w=210" data-large-file="https://ordinosor.files.wordpress.com/2017/03/boole.png?w=311&amp;h=445?w=588" src="https://ordinosor.files.wordpress.com/2017/03/boole.png?w=311&amp;h=445" alt="boole" width="311" height="445" srcset="https://ordinosor.files.wordpress.com/2017/03/boole.png?w=311&amp;h=445 311w, https://ordinosor.files.wordpress.com/2017/03/boole.png?w=105&amp;h=150 105w, https://ordinosor.files.wordpress.com/2017/03/boole.png?w=210&amp;h=300 210w, https://ordinosor.files.wordpress.com/2017/03/boole.png 588w" sizes="(max-width: 311px) 85vw, 311px"><figcaption><span><strong>Très rare cliché d’un booléen pris dans son environnement naturel</strong></span></figcaption></figure><h2>Un peu d’histoire avec George Boole</h2>
<p>Figurez-vous que celui qui a inventé l’<a href="https://fr.wikipedia.org/wiki/Alg%C3%A8bre_de_Boole_(logique)" target="_blank">algèbre booléenne</a> s’appelle <a href="https://fr.wikipedia.org/wiki/George_Boole#Biographie" target="_blank">George Boole</a>. Ce sujet anglais est né en 1815 et vous ne serez pas étonné d’apprendre qu’il est mort. C’est une pneumonie qui l’a emporté à l’âge de 49 ans, après que son épouse l’eût aspergé d’eau pour le soigner! (source: Wikipédia). C’est beau l’Amour!</p>
<p>Il est donc le père de l’<a href="https://fr.wikipedia.org/wiki/Alg%C3%A8bre_de_Boole_(logique)" target="_blank">algèbre de Boole</a> que je suis bien incapable de vous expliquer. Durant ma scolarité,  je n’ai pas eu l’heur de me plonger <a href="https://fr.wiktionary.org/wiki/plus_avant" target="_blank">plus avant</a> dans cette mathématique mystérieuse (J’ai fait un bac A2). C’est la raison pour laquelle je vous renvoie à la <a href="https://fr.wikipedia.org/wiki/Alg%C3%A8bre_de_Boole_(logique)" target="_blank">page Wikipédia</a>. Débrouillez-vous!</p>
<p>Cela dit, je peux quand-même vous parler des booléens dans mon langage de programmation préféré.</p>
<h2>Définition</h2>
<p>En Python, un booléen est un type de variables qui possède deux états :</p>
<ul><li>L’état « vrai » : <strong>True</strong> en anglais</li>
<li>Ou bien l’état « faux » : <strong>False</strong> en anglais</li>
</ul><p><strong>False == 0</strong> et <strong>True == 1</strong>. Comment le prouver? C’est très simple. Nous allons créer deux variables (<strong>faux</strong> et <strong>vrai</strong>) et leur affecter respectivement les valeurs <strong>False</strong> et <strong>True</strong>. Ensuite, nous allons créer une liste de deux éléments indicés <strong>0</strong> et <strong>1</strong>. Nous allons nous servir des deux variables comme indice pour retourner chacune des deux valeurs dans un <strong>print()</strong>. C’est parti:</p>
<pre>
faux = False
vrai = True
liste = ["Corée du Nord", "États-Unis"]
print ("1er pays:", liste[faux])
print("2ème pays:", liste[vrai])
</pre>
<p><span>1er pays: Corée du Nord</span><br><span>2ème pays: États-Unis</span></p>
<p>Je rappelle que l’indice d’une liste ne peut être qu’un nombre entier. Le fait que j’aie réussi à retourner les deux éléments de la liste en utilisant comme indice les variables <strong>faux</strong> et <strong>vrai</strong> prouvent que ces dernières stockent des valeurs qui sont respectivement égales aux nombres entiers <strong>0</strong> et <strong>1.</strong></p>
<h2>Amusons-nous avec un exemple un peu tordu</h2>
<p>J’ai dit que <strong>faux</strong> était égal à <strong>0</strong>, c’est-à dire <strong>faux == 0</strong>. Attention! J’ai bien écrit <strong>faux == 0</strong> et non pas <strong>faux = 0</strong>. En effet, La variable <strong>faux</strong> ne stocke pas le nombre entier <strong>0</strong> mais bien le booléen <strong>False</strong> qui est égal à la valeur <strong>0</strong>. En Python, je rappelle que le signe <strong>=</strong> est un signe d’affectation tandis que le signe <strong>==</strong> est le signe d’égalité.</p>
<p>Je vais donc évaluer l’expression <strong>(faux == 0)</strong>  pour savoir si elle est vraie ou fausse et  je vais stocker la valeur retournée dans cette même variable <strong>faux</strong>.</p>
<pre>
faux = False
faux = (faux == 0) # Évaluation d'une expression (vraie ou fausse?)
print(faux)
</pre>
<p><span>True</span></p>
<p>L’expression <strong>faux == 0</strong> est bien vraie (<strong>True</strong>). J’ai stocké le résultat dans la variable <strong>faux</strong> et maintenant <strong>faux = True</strong>!</p>
<h2>Évaluation d’une expression</h2>
<p>Bon, il s’agissait d’un exemple qui n’était pas du tout pédagogique. Je voulais simplement vous expliquer de manière ludique que Python évalue des expressions pour savoir si elles sont fausses ou vraies. Prenons un autre exemple plus parlant:</p>
<pre>
nombre_1 = 5
nombre_2 = 8
result = (nombre_1 < nombre_2)
print(result)
</pre>
<p><span>True</span></p>
<p>La variable <strong>result</strong> évalue si l’expression <strong>(nombre_1 < nombre_2)</strong> est vraie ou fausse. Il se trouve qu’elle est vraie puisque 5 est inférieur à 8. Donc le résultat est <strong>True</strong>.</p>
<h2>Le type bool()</h2>
<p>Les variables <strong>faux</strong> et <strong>vrai</strong> sont de types <strong>bool()</strong> car elles stockent les valeurs F<strong>alse</strong> et <strong>True</strong>.</p>
<pre>
faux = False
vrai = True
print (type(faux))
print(type(vrai))
</pre>
<pre><span><class 'bool'></span>


<span><class 'bool'></span></pre>
<p> Si on déclare une variable de cette manière : <strong>var = bool()</strong>, alors <strong>var</strong> stockera la valeur <strong>False</strong>.</p>
<pre>
var = bool()
print(var)
</pre>
<p><span>False</span></p>
<h2>Les conditions sont sous l’emprise des booléens</h2>
<p>Lorsque Python évalue une condition, soit le résultat est <strong>False</strong> (== 0), soit il est <strong>True</strong> (== 1). C’est comme cela qu’un ordinateur pense… uniquement avec des zéros et des uns!</p>
<pre>
a = 5
if a < 9:
    print(a, "est inférieur à 9")
else:
    print(a, "est supérieur à 9")
</pre>
<p><span>Résultat: 5 est inférieur à 9</span></p>
<p>Qu’est ce qui s’est passé dans la tête de l’ordinateur? Il a évalué la condition. Est-ce que la variable <strong>a</strong> est inférieure à 9? Oui, c’est vrai. Donc la condition vaut <strong>1</strong> car elle est <strong>True</strong>). Remplacez <strong>5</strong> par <strong>12</strong> par exemple et vous verrez que la condition vaudra <strong>0</strong>. Elle sera <strong>False</strong>. Par conséquent, c’est le deuxième message qui s’affichera :</p>
<p><span>Résultat: 12 est inférieur à 9</span></p>
<p>Pour vous en convaincre, je vais de nouveau utiliser une expression conditionnelle avec la même variable:</p>
<pre>
a = 5
result = (a < 9)
print(result)
</pre>
<p><span>True</span></p>
<p>L’expression conditionnelle est vraie.</p>
<p>À l’instar d’autres langages de programmation tels que le « C » par exemple, Python considère que toute valeur autre que <strong>0</strong> est vraie (<strong>True</strong>). Seule la valeur <strong>0</strong> est fausse (<strong>False</strong>).</p>
<ul><li>Le nombre entier <strong>0</strong> est <strong>False</strong> tandis que les nombres entiers <strong>6</strong> et <strong>-6</strong> sont <strong>True</strong>.</li>
<li>Une chaîne de caractères vide est <strong>False</strong>, une liste vide aussi.</li>
<li>Une chaîne de caractères avec au moins un élément est <strong>True</strong>, une liste avec au moins un élément est <strong>True</strong> aussi.</li>
</ul><pre>
chain_car = ""
if chain_car:
    print("vrai")
else:
    print("faux")

chain_car2 = "Boole"
if chain_car2:
    print("vrai")
else:
    print("faux")
</pre>
<p><span>faux</span></p>
<p><span>vrai</span></p>
<pre>
liste = []
if liste:
    print("vrai")
else:
    print("faux")

liste2 = ["Boole", "George"]
if liste2:
    print("vrai")
else:
    print("faux")
</pre>
<p><span>faux</span></p>
<p><span>vrai</span></p>
<p>Comme Python considère que toute valeur autre que <strong>0</strong> est <strong>True</strong>, je n’ai même pas besoin d’écrire par exemple <strong>« if a == 5: »</strong></p>
<pre>
a = 5
if a == 5:
    print("C'est vrai")
else:
    print("C'est faux")
</pre>
<p>Je peux me contenter d’écrire <strong>« if a: »</strong></p>
<pre>
a = 5
if a:
    print("C'est vrai")
else:
    print("C'est faux")
</pre>
<p>La fonction <strong>print()</strong> affichera <span><strong>« C’est vrai »</strong></span> car elle a évalué que la condition était <strong>True</strong>.</p>
<h3>L’instruction else</h3>
<p>Dans une condition, le code indenté qui suit l’instruction <strong>else</strong> s’exécute lorsque l’évaluation est <strong>False</strong> (ou les évaluations précédentes sont <span>toutes</span> <strong>False</strong>). L’instruction <strong>else</strong> exécute un code qui est <strong>False</strong>.</p>
<h3><strong>L’instruction elif </strong></h3>
<p>Le code indenté qui suit l’instruction <strong>elif</strong> s’exécute lorsque les tests précédents <strong>if</strong> et <strong>elif</strong> sont déclarés <strong>False</strong>. Mais contrairement à <strong>else</strong>, l’instruction <strong>elif</strong> exécute un code qui est <strong>True</strong>.</p>
<pre>
a = 5
if a == 6: # False
    print("C'est vrai")
elif a == 7: # False
    print("C'est vrai")
elif a == 5: # True
    print("C'est vrai")
else: # False
    print("C'est faux") </pre>
<h3>L’instruction not</h3>
<p>En Python, l’instruction <strong>not</strong> transforme <strong>False(0)</strong> en <strong>True(1)</strong> et <strong>True(1)</strong> en <strong>False(0)</strong>.</p>
<p><a href="media/fe21b823.not.png" data-original-source="https://ordinosor.files.wordpress.com/2017/03/not.png" target="_blank"><img data-attachment-id="10433" data-permalink="https://ordinosor.wordpress.com/2017/03/22/python-les-booleens/not/" data-orig-file="https://ordinosor.files.wordpress.com/2017/03/not.png?w=244&amp;h=162" data-orig-size="432,287" 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="not" data-image-description="" data-medium-file="https://ordinosor.files.wordpress.com/2017/03/not.png?w=244&amp;h=162?w=300" data-large-file="https://ordinosor.files.wordpress.com/2017/03/not.png?w=244&amp;h=162?w=432" src="https://ordinosor.files.wordpress.com/2017/03/not.png?w=244&amp;h=162" alt="not" width="244" height="162" srcset="https://ordinosor.files.wordpress.com/2017/03/not.png?w=244&amp;h=162 244w, https://ordinosor.files.wordpress.com/2017/03/not.png?w=150&amp;h=100 150w, https://ordinosor.files.wordpress.com/2017/03/not.png?w=300&amp;h=199 300w, https://ordinosor.files.wordpress.com/2017/03/not.png 432w" sizes="(max-width: 244px) 85vw, 244px"></a></p>
<pre>
a = 5
a = not a
print(a)
</pre>
<p><span>False</span></p>
<h3>L’instruction and</h3>
<p>L’expression <strong>a and b</strong> est vraie si <strong>a</strong> et <strong>b</strong> sont vrais tous les deux. Elle est fausse si <strong>a</strong> ou <strong>b</strong> est faux ou si <strong>a</strong> et <strong>b</strong> sont faux tous les deux. Voici un tableau qui résume ce que je viens d’écrire:</p>
<p><a href="media/5b4716c7.and.png" data-original-source="https://ordinosor.files.wordpress.com/2017/03/and.png" target="_blank"><img data-attachment-id="10416" data-permalink="https://ordinosor.wordpress.com/2017/03/22/python-les-booleens/and/" data-orig-file="https://ordinosor.files.wordpress.com/2017/03/and.png?w=305&amp;h=228" data-orig-size="321,240" 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="and" data-image-description="" data-medium-file="https://ordinosor.files.wordpress.com/2017/03/and.png?w=305&amp;h=228?w=300" data-large-file="https://ordinosor.files.wordpress.com/2017/03/and.png?w=305&amp;h=228?w=321" src="https://ordinosor.files.wordpress.com/2017/03/and.png?w=305&amp;h=228" alt="and" width="305" height="228" srcset="https://ordinosor.files.wordpress.com/2017/03/and.png?w=305&amp;h=228 305w, https://ordinosor.files.wordpress.com/2017/03/and.png?w=150&amp;h=112 150w, https://ordinosor.files.wordpress.com/2017/03/and.png?w=300&amp;h=224 300w, https://ordinosor.files.wordpress.com/2017/03/and.png 321w" sizes="(max-width: 305px) 85vw, 305px"></a></p>
<pre>
a, b = 5, 13
if a == 5 and b == 13:
    print("C'est vrai.")
else:
    print("C'est faux.")
</pre>
<p><span>C’est vrai.</span></p>
<h3>L’instruction or</h3>
<p>L’expression <strong>a or b</strong> est vraie si au moins l’une des deux variables est vraie. Elle est fausse si les deux variables sont fausses. Voici un tableau qui résume ce que je viens d’écrire:</p>
<p><a href="media/8438db79.or.png" data-original-source="https://ordinosor.files.wordpress.com/2017/03/or.png" target="_blank"><img data-attachment-id="10474" data-permalink="https://ordinosor.wordpress.com/2017/03/22/python-les-booleens/or/" data-orig-file="https://ordinosor.files.wordpress.com/2017/03/or.png?w=349&amp;h=242" data-orig-size="522,362" 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="or" data-image-description="" data-medium-file="https://ordinosor.files.wordpress.com/2017/03/or.png?w=349&amp;h=242?w=300" data-large-file="https://ordinosor.files.wordpress.com/2017/03/or.png?w=349&amp;h=242?w=522" src="https://ordinosor.files.wordpress.com/2017/03/or.png?w=349&amp;h=242" alt="or" width="349" height="242" srcset="https://ordinosor.files.wordpress.com/2017/03/or.png?w=349&amp;h=242 349w, https://ordinosor.files.wordpress.com/2017/03/or.png?w=150&amp;h=104 150w, https://ordinosor.files.wordpress.com/2017/03/or.png?w=300&amp;h=208 300w, https://ordinosor.files.wordpress.com/2017/03/or.png 522w" sizes="(max-width: 349px) 85vw, 349px"></a></p>
<pre>
a, b = 5, 13
if a == 5 or b == 18:
    print("C'est vrai.")
else:
    print("C'est faux.")
</pre>
<p><span>C’est vrai.</span></p>
<h3>Les boucles while et for</h3>
<p>On retrouve les booléens dans les boucles while et for qui exécutent un programme tant que la condition est vraie (<strong>True</strong>). À partir du moment où elle devient fausse (<strong>False</strong>), la boucle s’interrompt. Il est donc aisé (mais pas très malin!) de créer une boucle infinie si on fait en sorte que la condition soit vraie pour l’éternité (ou au moins pour les capacités de la mémoire RAM!).</p>
<pre>
a = 5
while a:
    print("Au secours! Je viens de créer une boucle infinie.")
</pre>
<p>À partir de là, seul un <strong>Ctrl + C</strong> est à même d’interrompre l’irrémédiable processus.</p>
<p><span>Au secours! Je viens de créer une boucle infinie.</span><br><span>Au secours! Je viens de créer une boucle infinie.</span><br><span>Au secours! Je viens de créer une boucle infinie.</span></p>
<p><span>line 1344, in write</span><br><span> return self.shell.write(s, self.tags)</span><br><span>KeyboardInterrupt</span></p>
<h3>Conclusion</h3>
<p>Les booléens sont au coeur de la conscience-machine. Un ordinateur ne comprend que le langage binaire. C’est la raison pour laquelle il évalue la fausseté ou la véracité d’une expression uniquement en utilisant le 0 et le 1.</p><br><a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/ordinosor.wordpress.com/10022/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/ordinosor.wordpress.com/10022/"></a> <img alt="" border="0" src="https://pixel.wp.com/b.gif?host=ordinosor.wordpress.com&amp;blog=88640341&amp;post=10022&amp;subd=ordinosor&amp;ref=&amp;feed=1" width="1" height="1">
<p><img src="media/2bfe7d9e.32ef7afc84e96215042dfebd6840b008" data-original-source="http://cdn.libravatar.org/avatar/32ef7afc84e96215042dfebd6840b008" alt="Gravatar de Beno&icirc;t Boudaud" class="gravatar" /><br/><i>Original post of <a href="https://ordinosor.wordpress.com/2017/03/22/python-les-booleens/" title="Visit the source">Benoît Boudaud</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/03/22/framaslides-reprenez-en-main-votre-power-point/
title: Framablog : Framaslides : reprenez en main votre Power, Point !
uri: Framablog-Framaslides-reprenez-en-main-votre-Power-Point
url: https://framablog.org/2017/03/22/framaslides-reprenez-en-main-votre-power-point/
content:
<p>Pour le meilleur ou pour le pire, les diaporamas, slides et autres présentations font partie de notre quotidien. Quitte à devoir en faire et en voir, seul·e ou en groupe, autant disposer d’un outil en ligne pratique et respectueux de nos vies numériques, non ?</p>
<p><span></span></p>
<h2>Ceci n’est pas un Powerpoint®</h2>
<p>Commençons par un point vocabulaire : demander un diaporama en prononçant les mots « Tu me fais un Powerpoint ? » c’est un peu comme si on disait « Tu me fais un Subway ? » lorsqu’on veut un sandwich. Non seulement on fait de la pub gratos à une marque (si encore Microsoft vous payait…) ; mais en plus on court le risque de se polluer les cerveaux en apprenant à nos subconscients que sandwich = Subway.</p>
<p>Et puis il faut être francs, le format de documents .ppt ou .pptx (utilisé par Microsoft pour enchaîner vos diaporamas à leur logiciel Powerpoint), ben c’est une plaie. Un format fermé, difficilement compatible avec d’autres logiciels, et dépassé. Et cher, en plus, si vous voulez l’utiliser en ligne avec la suite « Office 365″…</p>
<div><a href="media/14022ef3.Firefox_Screenshot_2017-03-21T13-12-22.046Z.png" data-original-source="https://framablog.org/wp-content/uploads/2017/03/Firefox_Screenshot_2017-03-21T13-12-22.046Z.png"><img src="media/14022ef3.Firefox_Screenshot_2017-03-21T13-12-22.046Z.png" data-original-source="https://framablog.org/wp-content/uploads/2017/03/Firefox_Screenshot_2017-03-21T13-12-22.046Z.png" alt="" width="1207" height="688" srcset="https://framablog.org/wp-content/uploads/2017/03/Firefox_Screenshot_2017-03-21T13-12-22.046Z.png 1207w, https://framablog.org/wp-content/uploads/2017/03/Firefox_Screenshot_2017-03-21T13-12-22.046Z-300x171.png 300w, https://framablog.org/wp-content/uploads/2017/03/Firefox_Screenshot_2017-03-21T13-12-22.046Z-768x438.png 768w, https://framablog.org/wp-content/uploads/2017/03/Firefox_Screenshot_2017-03-21T13-12-22.046Z-1024x584.png 1024w" sizes="(max-width: 1207px) 100vw, 1207px"></a><p>10 € par mois pour avoir le droit de vous filer mes données ?<br> C’est payant et je suis quand même le produit ?<br> Microsoft, vous êtes des génies.</p></div>
<p> </p>
<p>Car aujourd’hui, les langages qui permettent de faire des sites web (le HTML, bien sûr, mais aussi ses copaings CSS et Javascript), permettent de produire et de lire hyper facilement des présentations (même complexes), sans toucher à une seule ligne de code, sans installer de logiciel ni d’application, juste à l’intérieur de nos navigateurs web.</p>
<p>C’est justement, ce que permet le <a href="https://strut.io/">logiciel libre Strut</a>. C’est donc à ce logiciel que nous avons contribué afin qu’il ait toutes les fonctionnalités dont nous rêvions pour mieux vous proposer Framaslides !</p>
<h2>Framaslide présenté en une framaslide !</h2>
<p>Nous pourrions énumérer les fonctionnalités qu’offre Strut : formatage de texte et choix de couleurs, intégration d’images, vidéos, sites web et formes, transitions, etc. Mais le plus simple, c’est encore de vous les montrer, non ?</p>
<p>Cliquez sur le cadre ci dessous et naviguez grâce aux flèches droite et gauche (ou haut et bas) de votre clavier ;).</p>
<div align="aligncenter"><iframe src="https://framaslides.org/share/58529f9d283161.77001619" width="750" height="500"></iframe></div>
<p><em>Cliquez, puis faites défiler les slides avec ↑ ↓ → ←</em></p>
<p>Déjà, vous allez nous dire, c’est beau (et on vous remercie de nous le dire). Oui. Le seul souci c’est que Struts a été conçu comme un logiciel « perso ». On l’installe sur son ordinateur ou sur un coin de serveur (une <a href="https://labriqueinter.net/">brique inter.net</a>, par exemple), on l’utilise, et il enregistre notre ou nos présentation(s) dans le cache de notre navigateur web. Mais si on change d’ordinateur, de navigateur, ou si on nettoie l’historique et le cache de son navigateur web, pfuiiit ! Tout est perdu !</p>
<p>Tout ceci est normal : Strut a été conçu comme cela, et il faut rendre grâce à <a href="https://github.com/tantaman">Matt Crinklaw-Vogt</a>, son développeur, pour le travail fourni. En revanche, si vous voulons que ce logiciel ait de nouvelles fonctionnalités permettant d’autres utilisations, on fait comme tout·e libriste qui se respecte : on se relève les manches et on contribue au code ;) !</p>
<h2>Framaslides, un service collaboratif</h2>
<p>Nous avons donc demandé à Thomas (que nous avons embauché suite à <a href="https://framablog.org/2016/10/07/framagenda-ne-partagez-plus-votre-planning-ni-vos-contacts-avec-la-nsa/">son stage où il a mené à bien Framagenda</a>) de relever le défi ! Un peu comme une liste au père Noël, qui s’allonge au fur et à mesure que la date approche…</p>
<div><a href="media/23196652.challenge-accepted.jpg" data-original-source="https://framablog.org/wp-content/uploads/2017/03/challenge-accepted.jpg"><img src="media/379f0320.challenge-accepted-203x300.jpg" data-original-source="https://framablog.org/wp-content/uploads/2017/03/challenge-accepted-203x300.jpg" alt="" width="203" height="300" srcset="https://framablog.org/wp-content/uploads/2017/03/challenge-accepted-203x300.jpg 203w, https://framablog.org/wp-content/uploads/2017/03/challenge-accepted.jpg 450w" sizes="(max-width: 203px) 100vw, 203px"></a><p>Thomas, face à ces demandes…</p></div>
<p>Dis, Thomas, ce serait pas génial si on pouvait…</p>
<ul><li>… enregistrer ses diaporamas en ligne ?</li>
<li>… du coup envoyer nos images à Framaslides ?</li>
<li>… pour ça il me faut un compte, non ? Tu nous fais le gestionnaire de compte ?</li>
<li>… ben alors il nous permettra de gérer nos présentations ?</li>
<li>… genre de créer un lien public pour celle-ci ?</li>
<li>… ou de proposer celle-là comme modèle ?</li>
<li>… ah mais j’aime pas ce que j’ai changé, tu peux nous faire un système de révisions, hein, hein ?</li>
<li>… obah si on peut revenir en arrière, ce serait bien de pouvoir collaborer ensemble, s’te plééééé ? ? ?</li>
</ul><p>Et le plus beau, c’est que le résultat est là. Autour de l’outil d’édition de présentations qu’offre Strut, Thomas a conçu un outil permettant de créer, présenter et collaborer sur ses présentations, en gérant aisément son compte, ses images, ses groupes, et bien entendu ses Framaslides !</p>
<div><a href="media/d89cfecb.framasldies-interface-de-gestion-03.png" data-original-source="https://framablog.org/wp-content/uploads/2017/03/framasldies-interface-de-gestion-03.png"><img src="media/d89cfecb.framasldies-interface-de-gestion-03.png" data-original-source="https://framablog.org/wp-content/uploads/2017/03/framasldies-interface-de-gestion-03.png" alt="" width="1226" height="476" srcset="https://framablog.org/wp-content/uploads/2017/03/framasldies-interface-de-gestion-03.png 1226w, https://framablog.org/wp-content/uploads/2017/03/framasldies-interface-de-gestion-03-300x116.png 300w, https://framablog.org/wp-content/uploads/2017/03/framasldies-interface-de-gestion-03-768x298.png 768w, https://framablog.org/wp-content/uploads/2017/03/framasldies-interface-de-gestion-03-1024x398.png 1024w" sizes="(max-width: 1226px) 100vw, 1226px"></a><p>Et un aperçu du résultat de son travail, un !</p></div>
<p>Pour les plus techos d’entre nous, Thomas a même pris le temps de faire un code propre, facile d’accès, documenté et de le déposer <a href="https://framagit.org/framasoft/framaslides/">sur un Git aux petits oignons</a> avec les tags et issues kivonbien… bref : un code qui est un appel aux contributions et collaborations ! Du coup, si vous maîtrisez du ImpressJS, du BackboneJS et du Handlebars (qui font tourner Strut) ; ou si vous êtes virtuose du Symphony3 (qui se trouve derrière la surcouche « Framaslides » de Thomas), vos contributions seront grandement appréciées ;) !</p>
<h2>Manuel change le monde avec Framaslide</h2>
<p>Manuel Dupuis-Morizeau veut changer le monde. Il se dit que la première étape, c’est de convaincre d’autres personne de le rejoindre dans son envie… Et pour cela, rien de tel qu’une présentation de derrière les fagots ! Ne voulant pas que ses idées soient confiées aux mains de Google Slides ou Microsoft Powerpoint 365, Manuel décide de se lancer sur Framaslide.</p>
<p>Pour cela, il lui faut un compte Framaslides. C’est facile : dès la page d’accueil, il clique sur le bouton « Se créer un compte », remplit le formulaire assez classique, puis attend l’email de confirmation (en vérifiant de temps en temps dans son dossier courriers indésirables, sait-on jamais)</p>
<div><a href="media/b6215d7e.framaslide-creation-compte.png" data-original-source="https://framablog.org/wp-content/uploads/2017/03/framaslide-creation-compte.png"><img src="media/1ed55c43.framaslide-creation-compte-1024x428.png" data-original-source="https://framablog.org/wp-content/uploads/2017/03/framaslide-creation-compte-1024x428.png" alt="" width="1024" height="428" srcset="https://framablog.org/wp-content/uploads/2017/03/framaslide-creation-compte-1024x428.png 1024w, https://framablog.org/wp-content/uploads/2017/03/framaslide-creation-compte-300x125.png 300w, https://framablog.org/wp-content/uploads/2017/03/framaslide-creation-compte-768x321.png 768w, https://framablog.org/wp-content/uploads/2017/03/framaslide-creation-compte.png 1189w" sizes="(max-width: 1024px) 100vw, 1024px"></a><p>On lui dit, à Manuel, que 8 caractères dans un mot de passe c’est bien trop peu ?</p></div>
<p>Une fois son compte validé, Manuel est impatient de s’y mettre, il clique donc directement sur « Créer une présentation ». Là, il découvre l’interface d’édition des diaporama de Struts.</p>
<p><a href="media/598b4a9b.framaslides-edition-slides.png" data-original-source="https://framablog.org/wp-content/uploads/2017/03/framaslides-edition-slides.png"><img src="media/a1af7d93.framaslides-edition-slides-1024x521.png" data-original-source="https://framablog.org/wp-content/uploads/2017/03/framaslides-edition-slides-1024x521.png" alt="" width="1024" height="521" srcset="https://framablog.org/wp-content/uploads/2017/03/framaslides-edition-slides-1024x521.png 1024w, https://framablog.org/wp-content/uploads/2017/03/framaslides-edition-slides-300x153.png 300w, https://framablog.org/wp-content/uploads/2017/03/framaslides-edition-slides-768x391.png 768w, https://framablog.org/wp-content/uploads/2017/03/framaslides-edition-slides.png 1873w" sizes="(max-width: 1024px) 100vw, 1024px"></a></p>
<ul><li>La colonne des diapositives (1) ;</li>
<li>Le mode expert (2) (s’il veut trifouiller du code) ;</li>
<li>Les boutons d’ajout de contenu (3) ;</li>
<li>Les boutons de choix des couleurs (4) ;</li>
<li>Les vues panorama et aperçu (5).</li>
</ul><p>Il décide donc de créer ses premières diapositives, ou <em>slides</em>, comme on dit !</p>

<a href="https://framablog.org/2017/03/22/framaslides-reprenez-en-main-votre-power-point/framaslides-texte/"><img width="1873" height="953" src="media/e44a4d84.framaslides-texte.png" data-original-source="https://framablog.org/wp-content/uploads/2017/03/framaslides-texte.png" alt="" srcset="https://framablog.org/wp-content/uploads/2017/03/framaslides-texte.png 1873w, https://framablog.org/wp-content/uploads/2017/03/framaslides-texte-300x153.png 300w, https://framablog.org/wp-content/uploads/2017/03/framaslides-texte-768x391.png 768w, https://framablog.org/wp-content/uploads/2017/03/framaslides-texte-1024x521.png 1024w" sizes="(max-width: 1873px) 100vw, 1873px"></a>
<a href="https://framablog.org/2017/03/22/framaslides-reprenez-en-main-votre-power-point/framaslides-formulaire-image/"><img width="1873" height="953" src="media/34468062.framaslides-formulaire-image.png" data-original-source="https://framablog.org/wp-content/uploads/2017/03/framaslides-formulaire-image.png" alt="" srcset="https://framablog.org/wp-content/uploads/2017/03/framaslides-formulaire-image.png 1873w, https://framablog.org/wp-content/uploads/2017/03/framaslides-formulaire-image-300x153.png 300w, https://framablog.org/wp-content/uploads/2017/03/framaslides-formulaire-image-768x391.png 768w, https://framablog.org/wp-content/uploads/2017/03/framaslides-formulaire-image-1024x521.png 1024w" sizes="(max-width: 1873px) 100vw, 1873px"></a>
<a href="https://framablog.org/2017/03/22/framaslides-reprenez-en-main-votre-power-point/framaslides-image/"><img width="1863" height="943" src="media/c45cd648.framaslides-image.png" data-original-source="https://framablog.org/wp-content/uploads/2017/03/framaslides-image.png" alt="" srcset="https://framablog.org/wp-content/uploads/2017/03/framaslides-image.png 1863w, https://framablog.org/wp-content/uploads/2017/03/framaslides-image-300x152.png 300w, https://framablog.org/wp-content/uploads/2017/03/framaslides-image-768x389.png 768w, https://framablog.org/wp-content/uploads/2017/03/framaslides-image-1024x518.png 1024w" sizes="(max-width: 1863px) 100vw, 1863px"></a>
<a href="https://framablog.org/2017/03/22/framaslides-reprenez-en-main-votre-power-point/framaslides-video/"><img width="1873" height="953" src="media/e6ebae8c.framaslides-video.png" data-original-source="https://framablog.org/wp-content/uploads/2017/03/framaslides-video.png" alt="" srcset="https://framablog.org/wp-content/uploads/2017/03/framaslides-video.png 1873w, https://framablog.org/wp-content/uploads/2017/03/framaslides-video-300x153.png 300w, https://framablog.org/wp-content/uploads/2017/03/framaslides-video-768x391.png 768w, https://framablog.org/wp-content/uploads/2017/03/framaslides-video-1024x521.png 1024w" sizes="(max-width: 1873px) 100vw, 1873px"></a>
<a href="https://framablog.org/2017/03/22/framaslides-reprenez-en-main-votre-power-point/framaslides-web/"><img width="1863" height="953" src="media/557e4113.framaslides-web.png" data-original-source="https://framablog.org/wp-content/uploads/2017/03/framaslides-web.png" alt="" srcset="https://framablog.org/wp-content/uploads/2017/03/framaslides-web.png 1863w, https://framablog.org/wp-content/uploads/2017/03/framaslides-web-300x153.png 300w, https://framablog.org/wp-content/uploads/2017/03/framaslides-web-768x393.png 768w, https://framablog.org/wp-content/uploads/2017/03/framaslides-web-1024x524.png 1024w" sizes="(max-width: 1863px) 100vw, 1863px"></a>
<a href="https://framablog.org/2017/03/22/framaslides-reprenez-en-main-votre-power-point/framaslides-changer-couleur/"><img width="1873" height="951" src="media/59eccce8.framaslides-changer-couleur.png" data-original-source="https://framablog.org/wp-content/uploads/2017/03/framaslides-changer-couleur.png" alt="" srcset="https://framablog.org/wp-content/uploads/2017/03/framaslides-changer-couleur.png 1873w, https://framablog.org/wp-content/uploads/2017/03/framaslides-changer-couleur-300x152.png 300w, https://framablog.org/wp-content/uploads/2017/03/framaslides-changer-couleur-768x390.png 768w, https://framablog.org/wp-content/uploads/2017/03/framaslides-changer-couleur-1024x520.png 1024w" sizes="(max-width: 1873px) 100vw, 1873px"></a>

<p>Alors c’est bien gentil tout cela, mais il ne voit toujours pas comment faire les transitions… C’est là qu’il active le mode Panorama. Cela demande une petite gymnastique mentale, mais il voit vite comment ça peut marcher !</p>
<div><a href="media/6b83d29f.framaslides-panorama.png" data-original-source="https://framablog.org/wp-content/uploads/2017/03/framaslides-panorama.png"><img src="media/7216ee4d.framaslides-panorama-1024x521.png" data-original-source="https://framablog.org/wp-content/uploads/2017/03/framaslides-panorama-1024x521.png" alt="" width="1024" height="521" srcset="https://framablog.org/wp-content/uploads/2017/03/framaslides-panorama-1024x521.png 1024w, https://framablog.org/wp-content/uploads/2017/03/framaslides-panorama-300x153.png 300w, https://framablog.org/wp-content/uploads/2017/03/framaslides-panorama-768x391.png 768w, https://framablog.org/wp-content/uploads/2017/03/framaslides-panorama.png 1873w" sizes="(max-width: 1024px) 100vw, 1024px"></a><p>En fait, il faut s’imaginer qu’on déplace ses slides dans l’espace !</p></div>
<p>Bon, après avoir regardé un aperçu, ce début semble prometteur à Manuel, alors faut-il il le sauvegarde en utilisant le menu en haut à gauche.</p>
<div><a href="media/1d5c7f1f.framaslides-menu.png" data-original-source="https://framablog.org/wp-content/uploads/2017/03/framaslides-menu.png"><img src="media/1d5c7f1f.framaslides-menu.png" data-original-source="https://framablog.org/wp-content/uploads/2017/03/framaslides-menu.png" alt="" width="216" height="442" srcset="https://framablog.org/wp-content/uploads/2017/03/framaslides-menu.png 216w, https://framablog.org/wp-content/uploads/2017/03/framaslides-menu-147x300.png 147w" sizes="(max-width: 216px) 100vw, 216px"></a><p>Le menu, un grand classique indémodable.</p></div>
<p>Puis clique sur « retourner aux présentations », dans ce même menu.</p>
<p>Manuel se retrouve alors devant l’interface de gestion de ses Framaslides. L’outil à l’air assez explicite, en fait…</p>
<p><a href="media/d89cfecb.framasldies-interface-de-gestion-03.png" data-original-source="https://framablog.org/wp-content/uploads/2017/03/framasldies-interface-de-gestion-03.png"><img src="media/d89cfecb.framasldies-interface-de-gestion-03.png" data-original-source="https://framablog.org/wp-content/uploads/2017/03/framasldies-interface-de-gestion-03.png" alt="" width="1226" height="476" srcset="https://framablog.org/wp-content/uploads/2017/03/framasldies-interface-de-gestion-03.png 1226w, https://framablog.org/wp-content/uploads/2017/03/framasldies-interface-de-gestion-03-300x116.png 300w, https://framablog.org/wp-content/uploads/2017/03/framasldies-interface-de-gestion-03-768x298.png 768w, https://framablog.org/wp-content/uploads/2017/03/framasldies-interface-de-gestion-03-1024x398.png 1024w" sizes="(max-width: 1226px) 100vw, 1226px"></a></p>
<p>Au centre, il retrouve ses présentations, ses modèles et ses collaborations, chacun sous leur onglet</p>
<p>Et en haut à droite une barre de recherche et d’outils qui lui permet de :</p>
<ul><li><i></i> créer une nouvelle présentation ;</li>
<li><i></i> voir ses présentations (donc retourner à l’écran principal de son compte) ;</li>
<li><i></i> gérer ses groupes de collaboration ;</li>
<li><i></i> gérer les images qu’il a téléversées en utilisant Framaslides ;</li>
<li><i></i> gérer les paramètres de son compte (mot de passe, etc.) ;</li>
<li><i></i> et se déconnecter.</li>
</ul><p>Tout cela rend Manuel assez curieux, il va donc aller voir son gestionnaire d’images, mais comme il n’en a téléchargé qu’une, cela ne lui sert pas encore beaucoup. Il est quand même rassuré de savoir qu’il peut en effacer à tout moment et garder la maîtrise de ses fichiers.</p>
<p>Par contre, Manuel a une idée brillante… se faire aider pour commencer à changer le monde. Il décide d’aller directement créer un nouveau groupe afin d’y inviter toute la famille Dupuis Morizeau !</p>
<div><a href="media/6370dd22.framaslides-creation-groupe.png" data-original-source="https://framablog.org/wp-content/uploads/2017/03/framaslides-creation-groupe.png"><img src="media/a39d1e3e.framaslides-creation-groupe-1024x358.png" data-original-source="https://framablog.org/wp-content/uploads/2017/03/framaslides-creation-groupe-1024x358.png" alt="" width="1024" height="358" srcset="https://framablog.org/wp-content/uploads/2017/03/framaslides-creation-groupe-1024x358.png 1024w, https://framablog.org/wp-content/uploads/2017/03/framaslides-creation-groupe-300x105.png 300w, https://framablog.org/wp-content/uploads/2017/03/framaslides-creation-groupe-768x268.png 768w, https://framablog.org/wp-content/uploads/2017/03/framaslides-creation-groupe.png 1194w" sizes="(max-width: 1024px) 100vw, 1024px"></a><p>Non, sérieusement Manuel : le mot de passe, plus il est long, plus il est bon…</p></div>
<p>Bon, l’histoire ne dit pas si Manuel réussira à changer le monde, mais on peut croire qu’il réussira facilement à créer sa présentation avec d’autres membres de la famille et à la partager le plus largement possible ;)</p>
<h3>Pour aller plus loin :</h3>
<ul><li>Essayer <a href="https://framaslides.org/">Framaslides</a></li>
<li>Découvrir<a href="https://strut.io/"> Strut, la brique logicielle originelle</a></li>
<li>Participer au <a href="https://framagit.org/framasoft/framaslides/">développement de Framaslides</a></li>
<li>Un service proposé dans le projet <a href="https://degooglisons-internet.org/">Dégooglisons Internet</a></li>
<li>Son développement a été financé <a href="https://soutenir.framasoft.org/">grâce à vos dons</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/03/22/framaslides-reprenez-en-main-votre-power-point/" 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="">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><li>Framablog : <a href="">Framadrop&amp;nbsp;: envoyez de gros fichiers en toute s&amp;eacute;curit&amp;eacute;&amp;nbsp;!</a> (09/10/2015)</li><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="">Framanotes&amp;nbsp;: vos notes vous appartiennent. For ever.</a> (04/10/2016)</li><li>Framablog : <a href="">Framadrive, conservez et synchronisez 2 Go sur nos serveurs</a> (05/10/2015)</li></ul></div></p>


title: Thuban : Quelles activités dans le libre depuis la semaine dernière...
uri: Thuban-Quelles-activités-dans-le-libre-depuis-la-semaine-dernière
feed_id:
https://yeuxdelibad.net/Blog/?d=2017/03/20/17/58/07-quelles-activites-dans-le-libre-depuis-la-semaine-derniere

url:
https://yeuxdelibad.net/Blog/?d=2017/03/20/17/58/07-quelles-activites-dans-le-libre-depuis-la-semaine-derniere

content:
<p>Tiens, j'ai envie de m'essayer à l'exercice de faire un bilan régulier sur mes "contributions" libres.</p>

<p>La semaine dernière, j'annonçais le passage sous git des <a href="https://framagit.org/Thuban/auto-hebergement-openbsd">sources</a> du guide sur l'auto-hébergement. Deux contributeurs on fait des propositions et permis de pousser la réflexion plus loin. Merci les gars !</p>

<div>
<img src="media/0c225179.ahgit1.png" data-original-source="http://https//yeuxdelibad.net/Blog//Blog/img/5e/ahgit1.png" alt=""><br><img src="media/fbe7c259.ahgit2.png" data-original-source="http://https//yeuxdelibad.net/Blog//Blog/img/e5/ahgit2.png" alt=""><br></div>

<p>De mon côté, je continue ma relecture et simplification autant que possible. Il reste du boulot ^^</p>

<p>En parallèle, j'ai contribué, malheureusement trop peu, à la progression des <a href="https://lescahiersdudebutant.fr/src/doku.php/lescahiersdudebutant-stretch">cahiers du débutants sous debian stretch</a>. Ma tâche a constitué à vérifier les liens morts principalement :s</p>

<p>J'ai ouvert une issue sur le projet blogotext à propos d'un bug pour le lecteur de flux RSS qui est <a href="https://github.com/BoboTiG/blogotext/issues/227">désormais corrigé</a> :) Trop hâte de voir la nouvelle version sortir.</p>

<p>J'ai aidé une collègue à recupérer ses données sur son ordinateur donc le windows ne voulait plus démarrer. Hop, une <a href="https://lescahiersdudebutant.fr/dflinux.html">DFLinux</a> en live et roule ! Par contre, windows ne démonte pas correctement les disques, j'ai dû les monter en read-only pour pouvoir récupérer ses précieuses données. 130€ d'économisés pour elle avec une DFLinux installée :)</p>

<p>J'ai aussi tenté de me plonger dans le code de txt2tags, qui malgré de nombreuses nouvelles fonctionnalité n'est pas mis à jour depuis plusieurs années. C'est désolant. Il faudrait terminer de <a href="https://github.com/txt2tags/txt2tags/issues/207">passer tous les tests</a> pour la publication d'une nouvelle release. Pour l'instant je fais choux blanc, mais j'encourage toutes personnes plus versées que moi dans le python pour contribuer à ce projet. txt2tags a une syntaxe parfaite et devrait à mon avis remplacer markdown utilisé tant bien que mal dans certains projets.</p>

<p>Enfin, les <a href="http://https://yeuxdelibad.net/Blog//Blog/?d=2017/03/14/15/36/36-listes-dip-a-ignorer-updated">listes d'IP à blacklister</a> augmentent petit à petit en volume, et je note quelques téléchargements :) Il y a 427 dans les bruteforces et 7 dans les spammeurs.</p>

<p>Voilà voilà, c'est tout pour cette semaine. :)<br>
Et <a href="https://www.journalduhacker.net/search?utf8=%E2%9C%93&amp;q=semaine&amp;what=all&amp;order=relevance">vous ? :)</a></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/03/20/17/58/07-quelles-activites-dans-le-libre-depuis-la-semaine-derniere" 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: http://www.fullcirclemag.fr/?post/2017/03/22/Et-voici-le-num%C3%A9ro-118
title: Full Circle Magazine FR : Et voici le numéro 118
uri: Full-Circle-Magazine-FR-Et-voici-le-numéro-118
url: http://www.fullcirclemag.fr/?post/2017/03/22/Et-voici-le-num%C3%A9ro-118
content:
<p>Bonjour !</p>


<p>L'équipe du FCMfr est, comme toujours, heureuse de vous présenter le dernier numéro, celui de février 2017, en français. Vous le trouverez sur notre page<a href="http://www.fullcirclemag.fr/?pages/Num%C3%A9ros" hreflang="fr" title="Lire ou télécharger les numéros"> NUMÉROS</a> ou en cliquant directement sur la photo ci-dessus :</p>


<p><a href="http://www.fullcirclemag.fr/?download/495" hreflang="fr" title="Télécharger le 118"><img src="media/918175ae.Issue118.png" data-original-source="http://www.fullcirclemag.fr/dotclear/public/Numeros/Couvertures_PNG/Issue118.png" alt="Issue118.png" title="Issue118.png, mar. 2017"></a></p>


<p>Ce mois-ci, outre les rubriques  et tutoriels habituels, une série au sujet de la programmation pour Ubuntu Touch débute. En fait, il s'agit d'un cours participatif - une sorte de séminaire - créé suite à  la pénurie d'applis pour Ubuntu Touch. L'auteur pense que l'échec relatif du téléphone Ubuntu, par exemple, peut être dû à ce manque. Par conséquent, il voudrait que tout le monde se mette à créer des programmes pour Ubuntu Touch et donne, dans cette première partie de la série, une introduction à son cours. Tout est gratuit, y compris le PDF qui est téléchargeable, et tout peut évoluer selon la contribution de chacun (questions, suggestions, etc.). Une excellente initiative...</p>


<p>Vous y trouverez aussi, notamment :</p>

<ul><li>un tutoriel qui vous explique comment garder votre distribution Linux svelte, malgré le passage des années ;</li>
<li>deux articles dans la rubrique Labo Linux : la présentation de rclone, ainsi qu'une explication sur une façon de récupérer vos vidéos d'antan ;</li>
<li>et deux critiques, celle du livre "Wicked Cool Shell Scripts" et une du jeu Mad Max, basés sur les films, qui reçoit une note de 5/5 !</li>
</ul><p>Nous vous en souhaitons bonne lecture.</p>


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

<ul><li>le scribeur, Bab,</li>
<li>les traducteurs, AE et d52fr,</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/03/22/Et-voici-le-num%C3%A9ro-118" 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://www.gnomelibre.fr/2017/03/sortie-de-gnome-3-24/
title: Okki : Sortie de GNOME 3.24
uri: Okki-Sortie-de-GNOME-3-24
url: https://www.gnomelibre.fr/2017/03/sortie-de-gnome-3-24/
content:
<figure><a href="media/295d0d10.gnome_324_mode_nuit.png" data-original-source="http://www.gnomelibre.fr/wp-content/uploads/2017/03/gnome_324_mode_nuit.png"><img src="media/566a3c97.gnome_324_mode_nuit-1024x576.png" data-original-source="http://www.gnomelibre.fr/wp-content/uploads/2017/03/gnome_324_mode_nuit-1024x576.png" alt="" width="660" height="371" srcset="https://www.gnomelibre.fr/wp-content/uploads/2017/03/gnome_324_mode_nuit-1024x576.png 1024w, https://www.gnomelibre.fr/wp-content/uploads/2017/03/gnome_324_mode_nuit-300x169.png 300w, https://www.gnomelibre.fr/wp-content/uploads/2017/03/gnome_324_mode_nuit-768x432.png 768w" sizes="(max-width: 660px) 100vw, 660px"></a><figcaption>Configuration du mode nuit dans GNOME 3.24</figcaption></figure><p>Ça y est. Le tout nouveau GNOME 3.24 est disponible.</p>
<p>Parmi les principales nouveautés, nous retiendrons l’apparition d’un mode nuit censé nous prémunir des problèmes d’endormissement et de fatigue oculaire. Le Centre de contrôle a été révisé, la gestion des comptes en ligne, des imprimantes et des utilisateurs ayant été retravaillée. Il est par exemple bien plus simple de connaître l’emplacement et le niveau d’encre de chaque imprimante (pratique pour les entreprises qui en possèdent un certain nombre). Il en va de même de la zone de notification, qui est désormais plus simple et plus lisible. Les informations météorologiques y ont également été intégrées.</p>
<p>Le navigateur <a href="https://wiki.gnome.org/Apps/Web">Web</a> contient quant à lui un certain nombre d’améliorations concernant la barre d’adresse, la gestion des onglets, l’organisation des signets ou la protection de la vie privée.</p>
<p><a href="https://wiki.gnome.org/Apps/Photos">Photos</a> dispose d’une meilleure vue, affichant des vignettes plus grosses, de meilleure qualité et qui remplissent mieux l’espace disponible. De nouveaux outils d’éditions d’exposition et de manipulation des noirs font également leur apparition et les coordonnées GPS des photographies disposant de telles informations sont désormais affichées.</p>
<p>Les icônes ont également été refaites. Plus grandes, plus claires, plus engageantes, elles seront également de bien meilleure qualité sur les écrans HiDPI.</p>
<p>Les tablettes <a href="https://fr.wikipedia.org/wiki/Wacom">Wacom</a> disposent d’une bien meilleure prise en charge : compatibilité <a href="https://fr.wikipedia.org/wiki/Wayland">Wayland</a>, configuration indépendante des stylets, préréglages, applications pouvant définir des actions sur la tablette…</p>
<p>Et bien évidemment, en plus des principales nouveautés, nous avons droit à de nombreuses petites améliorations bienvenues un peu partout, comme la prise en charge des machines disposant de plusieurs cartes graphiques, permettant de lancer des applications sur l’une ou l’autre directement depuis l’environnement de bureau. <a href="https://wiki.gnome.org/Apps/Calendar">Agenda</a> offre enfin sa vue semaine tant attendue, ainsi que la possibilité de glisser déposer des événements. <a href="https://wiki.gnome.org/Apps/Software">Logiciels</a> offre une bien meilleure prise en charge des paquets <a href="https://fr.wikipedia.org/wiki/Flatpak">Flatpak</a>. <a href="https://wiki.gnome.org/Apps/Nautilus">Fichiers</a> permet d’interagir plus facilement avec des dossiers ou des fichiers nécessitant des droits supplémentaires en vous demandant un mot de passe…</p>
<p>Et le meilleur pour la fin, une nouvelle application <a href="https://wiki.gnome.org/Apps/Recipes">Recettes</a> fait son apparition :p</p>
<p>Mais je ne vais pas refaire les <a href="https://help.gnome.org/misc/release-notes/3.24/">notes de version</a>, qui ont (plus ou moins :) été traduites en français et que je vous invite à lire.</p>
<p><img src="media/bb7cd4d3.f4241788ba5559af3601b72220cbad09" data-original-source="http://cdn.libravatar.org/avatar/f4241788ba5559af3601b72220cbad09" alt="Gravatar de Okki" class="gravatar" /><br/><i>Original post of <a href="https://www.gnomelibre.fr/2017/03/sortie-de-gnome-3-24/" title="Visit the source">Okki</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 : Faire une redirection de port sur son routeur avec UPnP
uri: Tuxicoman-Faire-une-redirection-de-port-sur-son-routeur-avec-UPnP
feed_id:
https://tuxicoman.jesuislibre.net/2017/03/faire-une-redirection-de-port-sur-son-routeur-avec-upnp.html?pk_campaign=feed&amp;pk_kwd=faire-une-redirection-de-port-sur-son-routeur-avec-upnp

url:
https://tuxicoman.jesuislibre.net/2017/03/faire-une-redirection-de-port-sur-son-routeur-avec-upnp.html?pk_campaign=feed&amp;pk_kwd=faire-une-redirection-de-port-sur-son-routeur-avec-upnp

content:
<p>Pour rendre accessible une machine derrière une box Internet (NAT), on doit souvent rentrer dans l’interface d’administration web de la dite box pour faire de l’adressage statique d’IP selon l’adresse MAC, puis de la redirection de port ou assigner un IP comme DMZ.</p>
<p>Mais saviez-vous que vous pouviez aussi créer votre redirection de port depuis votre PC en une ligne de commande et sans connaître le mot de passe admin du routeur grâce à <a href="https://fr.wikipedia.org/wiki/Universal_Plug_and_Play">UPnP</a> ?</p>
<p>UPnP est un protocole réseau inventé pour simplifier la connexion d’appareils domestiques. La plupart des routeurs internet grand public l’activent par défaut.</p>
<p>Sous linux, il existe un logiciel graphique ultra-simple pour ajouter des redirection de ports <a href="https://launchpad.net/upnp-router-control">upnp-router-control</a> :</p>
<p><img src="media/06db12c1.UPnPRouterControl_236.png" data-original-source="https://4.bp.blogspot.com/-tI3SE6RC4m4/TnSjAOfy05I/AAAAAAAABCA/RfpyWUyvh9c/s1600/UPnP+Router+Control_236.png" width="730" height="546"></p>
<p>En ligne de commande, il existe <a href="https://miniupnp.tuxfamily.org/">miniupnpc</a> (le paquet sur Debian a le même nom). Pour ouvrir rediriger le port 22 extérieur de la box vers le port 22 de l’ordinateur sur lequel est lancé la commande, rien de plus facile que :<br><code>$ upnpc -r 22 TCP</code></p>
<p>Pour lister les redirections de ports:<br><code>$ upnpc -l</code></p>
<p>Pour supprimer la redirection du port 22:<br><code>$ upnpc -d 22 TCP</code></p>
<p>Cerise sur le gateau, vous pouvez même demander au routeur votre IP publique externe:<br><code>$ upnpc -s | grep ExternalIPAddress | cut -c21-</code></p>
<h3>Related Posts:</h3>
<ul><li><a href="https://tuxicoman.jesuislibre.net/2017/02/connexion-ssh-a-travers-un-ordinateur-relai-avec-proxyjump.html" title="Connexion SSH à travers un ordinateur relai avec ProxyJump">Connexion SSH à travers un ordinateur relai avec ProxyJump</a></li>
<li><a href="https://tuxicoman.jesuislibre.net/2017/01/mise-a-jour-debian-8-7.html" title="Mise à jour Debian 8.7">Mise à jour Debian 8.7</a></li>
<li><a href="https://tuxicoman.jesuislibre.net/2016/12/bonnes-resolutions-2017.html" title="Bonnes résolutions 2017">Bonnes résolutions 2017</a></li>
<li><a href="https://tuxicoman.jesuislibre.net/2016/11/migration-owncloud-nextcloud.html" title="Migration owncloud -> nextcloud">Migration owncloud -> nextcloud</a></li>
<li><a href="https://tuxicoman.jesuislibre.net/2016/10/bloquer-les-publicites-et-traqueurs-au-niveau-du-dns-avec-unbound.html" title="Bloquer les publicités et traqueurs au niveau du DNS avec Unbound">Bloquer les publicités et traqueurs au niveau du DNS avec Unbound</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%2F03%2Ffaire-une-redirection-de-port-sur-son-routeur-avec-upnp.html%3Fpk_campaign%3Dfeed%26pk_kwd%3Dfaire-une-redirection-de-port-sur-son-routeur-avec-upnp&amp;action_name=Faire+une+redirection+de+port+sur+son+routeur+avec+UPnP&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/03/faire-une-redirection-de-port-sur-son-routeur-avec-upnp.html?pk_campaign=feed&amp;pk_kwd=faire-une-redirection-de-port-sur-son-routeur-avec-upnp" 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="">Fail2ban pour votre installation WordPress</a> (03/04/2013)</li><li>Tuxicoman : <a href="">Ins&eacute;rer des vid&eacute;os dans WordPress 3.6</a> (20/08/2013)</li><li>Tuxicoman : <a href="">Bloquer les publicit&eacute;s et traqueurs au niveau du DNS avec Unbound</a> (15/10/2016)</li><li>Tuxicoman : <a href="">D&eacute;finir la carte son de sortie d&rsquo;une application sp&eacute;cifique avec Pulseaudio</a> (24/10/2016)</li><li>Tuxicoman : <a href="">Migration owncloud -&amp;gt; nextcloud</a> (06/11/2016)</li></ul></div></p>


feed_id: https://blog.remirepo.net/post/2017/03/23/Partir-de-github
title: Remi Collet : Partir de github
uri: Remi-Collet-Partir-de-github
url: https://blog.remirepo.net/post/2017/03/23/Partir-de-github
content:
<p>Depuis quelques années, le développement des paquets pour mon dépôt était géré dans un depôt <strong>github</strong> : <a href="https://github.com/remicollet/remirepo">https://github.com/remicollet/remirepo</a>.</p>

<p>C'était évidement une solution de facilité.</p>

<p>Au contraire de la mode actuelle d'utiliser ce service gratuit, mais pas vraiment libre, j'ai décidé d'auto-héberger mon travail sur le serveur dédié utilisé pour mon dépôt, mon blog et le forum.</p>

<p>L'ensemble des sources des paquets, des outils et des sites seront donc progressivement déplacés vers le serveur <strong>git.remirepo.net</strong>, est sont consultables sur <a href="https://git.remirepo.net/cgit">https://git.remirepo.net/cgit</a>.</p>

<p>Le dépôt <strong>github</strong> restera ouvert uniquement pour les rapports de bug ou demande diverses, mais les proposition de correctifs devront être transmises par messagerie (en utilisant de préférence <strong>git format-patch</strong> afin que je puisse les appliquer avec <strong>git am</strong>).</p>

<p>J'envisage aussi de remplacer, dès que possible, <a href="https://git.zx2c4.com/cgit/about/">cgit</a> par <a href="https://pagure.io/pagure">pagure</a>.</p>
<p><img src="media/3d2d1a35.2665280f5ed66efe5e772da3f0403a2c" data-original-source="http://cdn.libravatar.org/avatar/2665280f5ed66efe5e772da3f0403a2c" alt="Gravatar de Remi Collet" class="gravatar" /><br/><i>Original post of <a href="https://blog.remirepo.net/post/2017/03/23/Partir-de-github" title="Visit the source">Remi Collet</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.genma.fr/?Partage-des-applications-F-Droid-par-Bluetooth
title: genma : Partage des applications F-Droid par Bluetooth
uri: genma-Partage-des-applications-F-Droid-par-Bluetooth
url: https://blog.genma.fr/?Partage-des-applications-F-Droid-par-Bluetooth
content:
<img alt="" src="https://blog.genma.fr/IMG/arton2632.jpg?1490207729" width="150" height="79"><div><p>Billet dédicacé à <a href="https://twitter.com/Yanux56" title="Twitter de Yanux56">Yanux56</a> Merci à lui pour l'astuce</p>
<p>J'ai découvert une fonctionnalité intéressante de F-Droid celle de pouvoir partager une application déjà installé depuis F-Droid sur son smartphone tournant sur Android ou version dérivée, avec un autre smartphone, le tout par connexion Bluetooth.</p>
<p>Pour cela, il suffit de connecter les deux appareils en Bluetooth, d'aller sur le premier téléphone dans F-Droid, de filtrer pour sélectionner l'application que l'on souhaite partager. Dans les options il y en a une de partage par Bluetooth. Et sur le deuxième téléphone, on accepte la réception du paquet apk de l'application (un simple fichier) et suite à la réception de l'application, on installe celle-ci.</p>
<p>C'est certes moins rapide que de télécharger l'application depuis F-Droid en connexion via Internet (la bande passante du Bluetooth est plus faible), mais cela permet l'installation d'une application sans avoir à être connecté, à ne pas avoir à utiliser sa connexion de données... Cette fonctionnalité a le mérite d'exister et peut s'avérer utile.</p>
<p>Il existe apparemment d'autres façons de faire du même type, que je n'ai personnellement pas encore testé. Celles-ci sont décrites, en anglais, sur le forum de F-Droid ici <a href="https://f-droid.org/forums/topic/turn-your-device-into-an-app-store/" title="turn your device into an app store!">turn your device into an app store !</a>, avec comme du partage via NFC ou Wifi par exemple.</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/?Partage-des-applications-F-Droid-par-Bluetooth" 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>


title: alterlibriste : Podcasting : L'apéro des papas manchots
uri: alterlibriste-Podcasting-L-apéro-des-papas-manchots
feed_id:
http://alterlibriste.free.fr/index.php?post/2017/03/24/Podcasting-%3A-L-ap%C3%A9ro-des-papas-manchots

url:
http://alterlibriste.free.fr/index.php?post/2017/03/24/Podcasting-%3A-L-ap%C3%A9ro-des-papas-manchots

content:
<p>Il y a 4 mois naissait un nouveau podcast sur le libre : l’Apéro des papas manchots.
<img src="media/1b926c65.images-duckduckgo-com.png" data-original-source="http://www.bloguelinux.ca/wp-content/uploads/2016/12/images-duckduckgo-com.png" alt=""></p>    <p>À ce jour 5 épisodes au compteur, pourquoi ne pas en avoir parlé plus tôt ? <br>
Eh bien, parce qu’avant de présenter en détail un podcast, je veux être sûr qu’il ne s’arrêtera pas au deuxième épisode (ça c’est bon), mais aussi parce que j’aime bien avoir une idée précise de son identité, ce qui nécessite aussi au moins trois épisodes, et enfin, parce qu’il faut qu’il y ait une certaine maturité et stabilité afin de ne pas recommander quelque chose qui ne sait pas trop dans quelle direction il va et sous quelle forme, ou avec des problèmes techniques récurrents qui pourraient rebuter un poditeur peu indulgent. Mais après un début un peu chaotique, ça commence à prendre forme.</p>


<p>Le concept de départ est relativement simple : des utilisateurs de GNU/Linux pour leur utilisation familiale (des papas manchots) discutent de leurs expériences, de quelques actus et de leurs avis sur des logiciels libres qu’ils utilisent. Apéro, pour un clin d’œil à mi-chemin entre feu-Parole de Tux et l’Apéro du Captain, et surtout la bonne humeur de discuter sans se prendre au sérieux autour d’une bière... ou d’une eau plate pour les plus sobres.</p>


<p>Initié par Donkluivert qui avait déjà sévi dans <a href="http://alterlibriste.free.fr/index.php?post/2013/11/08/Podcasting-%3A-Parole-de-Tux">feu-Parole de Tux</a> et dans <a href="http://alterlibriste.free.fr/index.php?post/2013/12/04/Podcasting-%3A-BlogueLinux.ca-et-l-Apr%C3%A8s-Cast">BlogueLinux</a> en tant qu’invité et surtout en tant que pilier de <a href="http://alterlibriste.free.fr/index.php?post/2015/02/13/Podcasting-%3A-NipSource">feu-NipSource</a>, celui-ci a pour but principal de partager sa passion du podcast en produisant quelque chose qui se veut détendu et abordable aux débutants ou utilisateurs peu avancés. L’autre membre fondateur du podcast est John Gecko, le roi de la claquette, qui aime à raconter ses expériences plus ou moins réussies avec les jeux Linux sur Steam et partage ses découvertes sur la ligne de commande.</p>


<p>Plusieurs épisodes ont rencontré des problèmes de son qui ont malgré tout été corrigés au mieux notamment grâce à l’aide de Patrick de <a href="https://bloguelinux.ca/">BlogueLinux.ca</a> qui les a pris sous son aile pour les héberger. Lorsque l’oiseau pourra quitter le nid, ce sera bien qu’il devienne indépendant car la cible de ce podcast est nettement moins expérimentée que ceux qui écoutent avec passion nos canadiens préférés, même si l’écoute des deux n’est pas antinomique.</p>


<p>Pour les épisodes 3 et 4, Morgan, du podcast <a href="http://alterlibriste.free.fr/index.php?post/2016/05/13/Podcasting-%3A-Alpinux">Alpinux</a>, a participé et donné une autre dimension aux émissions en parlant de tous les sujets qui l’intéresse. Il est probable qu’il y participe régulièrement et que d’autres invités viennent partager leurs expériences et leur apéro.</p>


<p>Le format semble s’être stabilisé autour de 2h avec une fréquence mensuelle. Tous les avis sont les bienvenus et l’équipe tient compte des remarques des auditeurs en lisant les commentaires. Alors, pour tous les manchots, papa ou pas, qui aiment entendre parler de logiciels libres et veulent ajouter un flux dans les podcasts qu’ils écoutent, c’est <a href="http://feeds.feedburner.com/AperoDesPapasManchots">par ici</a> !</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/03/24/Podcasting-%3A-L-ap%C3%A9ro-des-papas-manchots" 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="">Chronique mondaine des podcasts sur les logiciels libres</a> (08/11/2016)</li><li>alterlibriste : <a href="">Professionalisation des informations sur les technos libres</a> (14/06/2016)</li><li>alterlibriste : <a href="">Podcasting : Non, l&#039;Echo des Gnous n&#039;est pas mort</a> (03/02/2015)</li><li>alterlibriste : <a href="">Podcasting : NipSource</a> (13/02/2015)</li><li>alterlibriste : <a href="">Podcasting : Alpinux</a> (13/05/2016)</li></ul></div></p>


feed_id: https://carlchenet.com/edito-de-mars-2017/
title: Carl Chenet : Édito (en retard) de mars 2017
uri: Carl-Chenet-Édito-(en-retard)-de-mars-2017
url: https://carlchenet.com/edito-de-mars-2017/
content:
<p>Mars est déjà bien entamé mais il n’est jamais trop tard pour se reprendre en main, donc quelques petites nouvelles de mes activités récentes.</p>
<h2>Reprise en main des mes différents projets de programmation</h2>
<p>Je suis en train de refaire un tour sur <a href="https://github.com/chaica/">mes différents projets de programmation</a>, en particulier mes bots Twitter comme <a href="https://github.com/chaica/feed2tweet">Feed2tweet</a>, dont je viens d’annoncer <a href="https://github.com/chaica/feed2tweet/releases/tag/1.0">la version 1.0</a>. J’ai éclusé la plupart des bugs ouverts. Les demande de nouvelles fonctionnalités, ce sera pour plus tard haha.</p>
<h2>Une page Liberapay pour mes activités du Libre</h2>
<p>Afin de voir comment je pouvais résumer rapidement mes principales activités dans le Logiciel Libre, j’ai créé ma page <a href="https://fr.liberapay.com/carlchenet">Liberapay</a> et synthétisé mes actions dans la communauté FOSS. Je suis assez content du résultat vu le temps consacré. Merci à Liberapay pour le service en passant. Je commence avec un objectif de 5€ par mois. Nous verrons.</p>
<h2>L’infrastructure du blog</h2>
<p>J’ai lamentablement échoué dans la mise à jour vers la nouvelle version de WordPress de ce blog, sûrement à cause d’un plugin imcompatible avec cette nouvelle version (malgré le fait qu’ils s’annonçaient tous compatibles). N’ayant pas pu y consacrer suffisamment de temps, j’ai prudemment effectué un retour arrière. Il faut que je m’y remette pour comprendre ce qui se passe et mettre à jour.</p>
<p>Également une migration vers la version la plus récente de Piwik s’impose. Après plusieurs rapports chez eux (forum et rapport de bug), <a href="https://github.com/piwik/piwik/issues/11310">on m’a indiqué</a> que c’était un problème lié à la compatibilité de l’application avec le navigateur, en l’occurrence Firefox. Haha. Que de temps perdu.</p>
<h2>Ma présence aux JDLL à Lyon</h2>
<p>Je serai présent pour représenter <a href="https://www.linuxjobs.fr/">LinuxJobs.fr</a> et <a href="https://www.journalduhacker.net/">le Journal du hacker</a> aux Journées du Logiciel Libre à Lyon les 1  et 2 avril 2017. N’hésitez pas à passer me faire un petit coucou si vous êtes dans le coin !</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/edito-de-mars-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 #32</a> (07/08/2015)</li><li>Carl Chenet : <a href="">Liens int&eacute;ressants Journal du hacker semaine #33</a> (14/08/2015)</li><li>Carl Chenet : <a href="">Liens int&eacute;ressants Journal du hacker semaine #44</a> (29/10/2015)</li><li>Carl Chenet : <a href="">Feed2tweet 0.2 : pouvoir de la ligne de commande</a> (14/01/2016)</li><li>Carl Chenet : <a href="">Simplifier la vie de votre community manager avec le projet Twitter Out Of The Browser</a> (01/03/2016)</li></ul></div></p>


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

url:
https://blog.journalduhacker.net/index.php?article96/liens-interessants-journal-du-hacker-semaine-12-2017

content:
<p>Pour la 12ème semaine de 2017, voici <strong>10 liens</strong> 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/a6ohat/secure_shell_mon_amour_d_chu">Secure Shell mon amour déchu ?</a></li>
<li><a href="https://www.journalduhacker.net/s/jofpag/le_transit_internet_est_il_vraiment_mort">
Le transit Internet est-il vraiment mort ?</a></li>
<li><a href="https://www.journalduhacker.net/s/qllttc/kalliop_votre_propre_jarvis_like">Kalliopé: votre propre Jarvis like assistant</a></li>
<li><a href="https://www.journalduhacker.net/s/clh2ts/la_puissance_des_workflows_git">La puissance des workflows git</a></li>
<li><a href="https://www.journalduhacker.net/s/qbflm3/framaslides_reprenez_en_main_votre_power">Framaslides : reprenez en main votre Power, Point !</a></li>
<li><a href="https://www.journalduhacker.net/s/ikuaha/les_gitlab_pages_d_barquent_dans_framagit">Les Gitlab Pages débarquent dans Framagit !</a></li>
<li><a href="https://www.journalduhacker.net/s/znkgjv/tuto_installer_dnscrypt_sur_son_r_seau">[tuto] Installer DNScrypt sur son réseau local</a></li>
<li><a href="https://www.journalduhacker.net/s/zbsrj7/comprendre_les_bandes_de_fr_quences">Comprendre les bandes de fréquences mobiles 4G en France</a></li>
<li><a href="https://www.journalduhacker.net/s/fdmhw9/pourquoi_les_disques_ssd_ont_une_dur_e_de">Pourquoi les disques SSD ont une durée de vie limitée ?</a></li>
<li><a href="https://www.journalduhacker.net/s/7d1jr2/framalibre_l_annuaire_du_libre_rena_t">Framalibre : l’annuaire du libre renaît entre vos mains</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?article96/liens-interessants-journal-du-hacker-semaine-12-2017" 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>
<p><div class="similar-block"><h3>Articles similaires</h3><ul><li>Journal du hacker : <a href="">Liens int&eacute;ressants Journal du hacker semaine #12</a> (28/03/2016)</li><li>Carl Chenet : <a href="">Liens int&eacute;ressants Journal Du pirate semaine #12</a> (20/03/2015)</li></ul></div></p>


feed_id: https://framablog.org/2017/03/27/le-transit-cest-important-%F0%9F%99%82/
title: Framablog : Le transit, c’est important 🙂
uri: Framablog-Le-transit-c-est-important
url: https://framablog.org/2017/03/27/le-transit-cest-important-%F0%9F%99%82/
content:
<p>Non, nous n’allons vous parler de fibres (quoique). C’est du transit d’Internet que nous allons parler. Ou plutôt, nous allons laisser <a href="http://www.bortzmeyer.org/">Stéphane Bortzmeyer</a> en parler.</p>
<p><span></span></p>
<p>Son <a href="http://www.bortzmeyer.org/death-transit.html">article</a> nous a séduits, aussi bien par la thématique abordée (on ne se refait pas, quand les GAFAM menacent l’avenir d’Internet, on aime bien que ce soit dit 😃) que par son aspect didactique, truffé d’hyperliens permettant à tout un chacun de le comprendre. Nous le reproduisons ici, avec son aimable permission et celle de la licence (libre, bien sûr) de l’article, la <a href="http://www.gnu.org/copyleft/fdl.html">GFDL</a> et avec quelques photos en plus (dont un chaton, je viens de dire qu’on ne se refaisait pas 😁).</p>
<p>Stéphane Bortzmeyer est bien connu du milieu technique pour ses <a href="http://www.bortzmeyer.org/rfcs.html">articles sur les RFC</a> (<a href="https://fr.wikipedia.org/wiki/Request_for_comments">Request For Comments</a>) et <a href="http://www.bortzmeyer.org/turris-bis.html">autres articles techniques</a> plutôt que pour des textes à destination de la famille Dupuis-Morizeau mais ses <a href="http://www.bortzmeyer.org/ficheslecture.html">fiches de lecture</a> pourraient bien les intéresser.</p>
<div><img src="media/a0fe8686.Internet_map.jpg" data-original-source="https://framablog.org/wp-content/uploads/2017/03/Internet_map.jpg" alt="" width="768" height="768" srcset="https://framablog.org/wp-content/uploads/2017/03/Internet_map.jpg 768w, https://framablog.org/wp-content/uploads/2017/03/Internet_map-150x150.jpg 150w, https://framablog.org/wp-content/uploads/2017/03/Internet_map-300x300.jpg 300w" sizes="(max-width: 768px) 100vw, 768px"><p>Carte de l’Internet : vous êtes ici.</p></div>
<h2>Le transit Internet est-il vraiment mort ?</h2>
<p>À la réunion <a href="https://2017.apricot.net/">APRICOT / APNIC</a> du 20 février au 2 mars, à <strong><a title="Consultez l'article "Hô-Chi-Minh-Ville" de l'encyclopédie libre Wikipedia" href="https://fr.wikipedia.org/wiki/H%C3%B4-Chi-Minh-Ville">Hô-Chi-Minh-Ville</a></strong>, Geoff Huston a fait un exposé remarqué, au titre provocateur, « <em><a href="https://2017.apricot.net/program/schedule/#/day/9/apnic-panel---forces-shaping-the-network">The death of transit</a></em> ». A-t-il raison de prédire la fin du transit Internet ? Et pourquoi est-ce une question importante ?</p>
<p>Deux petits mots de terminologie, d’abord, s’inscrivant dans l’histoire. L’<strong><a title="Consultez l'article "Internet" de l'encyclopédie libre Wikipedia" href="https://fr.wikipedia.org/wiki/Internet">Internet</a></strong> avait été conçu comme un réseau connectant des acteurs relativement égaux (par exemple, des universités), via une épine dorsale partagée (comme <strong><a title="Consultez l'article "National Science Foundation Network" de l'encyclopédie libre Wikipedia (en anglais)" href="https://en.wikipedia.org/wiki/National%20Science%20Foundation%20Network">NSFnet</a></strong>). Avec le temps, plusieurs de ces épines dorsales sont apparues, l’accès depuis la maison, l’association ou la petite entreprise est devenu plus fréquent, et un modèle de séparation entre les <strong><a title="Consultez l'article "Fournisseur d'accès à Internet" de l'encyclopédie libre Wikipedia" href="https://fr.wikipedia.org/wiki/Fournisseur%20d'acc%C3%A8s%20%C3%A0%20Internet">FAI</a></strong> et les <strong>transitaires</strong> est apparu. Dans ce modèle, le client se connecte à un FAI. Mais comment est-ce que les FAI se connectent entre eux, pour que Alice puisse échanger avec Bob, bien qu’ils soient clients de FAI différents ? Il y a deux solutions, le <strong><em><a title="Consultez l'article "Appairage" de l'encyclopédie libre Wikipedia" href="https://fr.wikipedia.org/wiki/Appairage">peering</a></em></strong> et le <strong><a title="Consultez l'article "Transit IP" de l'encyclopédie libre Wikipedia" href="https://fr.wikipedia.org/wiki/Transit%20IP">transit</a></strong>. Le premier est l’échange de trafic (en général gratuitement et informellement) entre des pairs (donc plus ou moins de taille comparable), le second est l’achat de connectivité <strong><a title="Consultez l'article "Internet Protocol" de l'encyclopédie libre Wikipedia" href="https://fr.wikipedia.org/wiki/Internet%20Protocol">IP</a></strong>, depuis un FAI vers un transitaire. Ces transitaires forment donc (ou formaient) l’épine dorsale de l’Internet. Le modèle de l’Internet a été un immense succès, au grand dam des opérateurs téléphoniques traditionnels et des experts officiels qui avaient toujours proclamé que cela ne marcherait jamais.</p>
<p>Mais une autre évolution s’est produite. Les utilisateurs ne se connectent pas à l’Internet pour le plaisir de faire des <strong><a title="Consultez l'article "ping (logiciel)" de l'encyclopédie libre Wikipedia" href="https://fr.wikipedia.org/wiki/ping%20(logiciel)">ping</a></strong> et des <strong><a title="Consultez l'article "traceroute" de l'encyclopédie libre Wikipedia" href="https://fr.wikipedia.org/wiki/traceroute">traceroute</a></strong>, ils veulent communiquer, donc échanger (des textes, des images, des vidéos…). À l’origine, l’idée était que l’échange se ferait directement entre les utilisateurs, ou sinon entre des serveurs proches des utilisateurs (ceux de leur réseau local). Le trafic serait donc à peu près symétrique, dans un échange pair-à-pair. Mais les choses se ne passent pas toujours comme ça. Aujourd’hui, il est de plus en plus fréquent que les communications entre utilisateurs soient médiées (oui, ce verbe est <a href="https://fr.wiktionary.org/wiki/m%C3%A9dier">dans le Wiktionnaire</a>) par des grands opérateurs qui ne sont pas des opérateurs de télécommunication, pas des transitaires, mais des « plates-formes » comme les GAFA (<strong><a title="Consultez l'article "Google" de l'encyclopédie libre Wikipedia" href="https://fr.wikipedia.org/wiki/Google">Google</a></strong>, <strong><a title="Consultez l'article "Apple" de l'encyclopédie libre Wikipedia" href="https://fr.wikipedia.org/wiki/Apple">Apple</a></strong>, <strong><a title="Consultez l'article "Facebook" de l'encyclopédie libre Wikipedia" href="https://fr.wikipedia.org/wiki/Facebook">Facebook</a></strong>, <strong><a title="Consultez l'article "Amazon.com" de l'encyclopédie libre Wikipedia" href="https://fr.wikipedia.org/wiki/Amazon.com">Amazon</a></strong>). La communication entre utilisateurs n’est plus pair-à-pair mais passe par un intermédiaire. (On peut parler d’un <strong><a title="Consultez l'article "Redécentralisation d'Internet" de l'encyclopédie libre Wikipedia" href="https://fr.wikipedia.org/wiki/Red%C3%A9centralisation%20d'Internet#Minitel_2.0">Minitel 2.0</a></strong>.)</p>
<div><img src="media/32375b50.minitel-1024x683.jpg" data-original-source="https://framablog.org/wp-content/uploads/2017/03/minitel-1024x683.jpg" alt="" width="1024" height="683" srcset="https://framablog.org/wp-content/uploads/2017/03/minitel.jpg 1024w, https://framablog.org/wp-content/uploads/2017/03/minitel-300x200.jpg 300w, https://framablog.org/wp-content/uploads/2017/03/minitel-768x512.jpg 768w" sizes="(max-width: 1024px) 100vw, 1024px"><p>Non, on n’a pas trop envie d’un Internet à la Minitel 2.0</p></div>
<p>Bon, mais quel rapport avec l’avenir de l’Internet ? Mes lect·eur·rice·s sont très cultivé·e·s et savent bien que le <strong><a title="Consultez l'article "World Wide Web" de l'encyclopédie libre Wikipedia" href="https://fr.wikipedia.org/wiki/World%20Wide%20Web">Web</a></strong>, ce n’est pas l’Internet, et que le fait que deux utilisateurs de <strong><a title="Consultez l'article "Gmail" de l'encyclopédie libre Wikipedia" href="https://fr.wikipedia.org/wiki/Gmail">Gmail</a></strong> passent par Gmail pour communiquer alors qu’ils sont à 100 mètres l’un de l’autre n’est pas une propriété de l’Internet. (Les ministres et la plupart des journalistes n’ont pas encore compris cela, mais ça viendra). L’Internet continue à fonctionner comme avant et on peut toujours faire du <strong><a title="Consultez l'article "BitTorrent (protocole)" de l'encyclopédie libre Wikipedia" href="https://fr.wikipedia.org/wiki/BitTorrent%20(protocole)">BitTorrent</a></strong>, et se connecter en <strong><a title="Consultez l'article "Secure Shell" de l'encyclopédie libre Wikipedia" href="https://fr.wikipedia.org/wiki/Secure%20Shell">SSH</a></strong> avec un <strong><a title="Consultez l'article "Raspberry Pi" de l'encyclopédie libre Wikipedia" href="https://fr.wikipedia.org/wiki/Raspberry%20Pi">Raspberry Pi</a></strong> situé à l’autre bout de la planète (notez qu’il s’agit de l’Internet en général : dans la quasi-totalité des aéroports et des hôtels, de nombreux protocoles sont interdits. Et ces malhonnêtes osent prétendre qu’ils fournissent un « accès Internet »).</p>
<p>C’est là qu’on en arrive à l’exposé de Huston. Il note d’abord que les sites Web qui ne sont pas déjà chez un GAFA sont souvent hébergés sur un <strong><a title="Consultez l'article "Content Delivery Network" de l'encyclopédie libre Wikipedia" href="https://fr.wikipedia.org/wiki/Content%20Delivery%20Network">CDN</a></strong> <em>[un réseau de diffusion de contenu, Note du Framablog]</em>. Ensuite, il fait remarquer que les GAFA, comme les CDN, bâtissent de plus en plus leur propre interconnexion. À ses débuts, Google était une entreprise comme une autre, qui achetait sa connectivité Internet à un fournisseur. Aujourd’hui, Google pose ses propres <strong><a title="Consultez l'article "Fibre optique" de l'encyclopédie libre Wikipedia" href="https://fr.wikipedia.org/wiki/Fibre%20optique">fibres optiques</a></strong> (ou achète des <strong><a title="Consultez l'article "Longueur d'onde" de l'encyclopédie libre Wikipedia" href="https://fr.wikipedia.org/wiki/Longueur%20d'onde">lambdas</a></strong>) et <em>peere</em> avec les FAI : encore un peu et Google n’aura plus besoin de transit du tout. Si tous les GAFA et tous les CDN en font autant (et la plupart sont déjà bien engagés dans cette voie), que deviendra le transit ? Qui pourra encore gagner sa vie en en vendant ? Et si le transit disparaît, l’architecture de l’Internet aura bien été modifiée, par l’action de la minitélisation du Web. (Je résume beaucoup, je vous invite à lire <a href="media/a2b512ad.2017-02-28-death-of-transit_1488193223.pdf" data-original-source="https://2017.apricot.net/assets/files/APIC674/2017-02-28-death-of-transit_1488193223.pdf">l’exposé de Huston</a> vous-même.)</p>
<p>Notez que Huston n’est pas le premier à pointer du doigt cette évolution. Plusieurs articles moins flamboyants l’avaient déjà fait, comme les déjà anciens « <em><a href="media/9fa794a3.HPL-2008-47.pdf" data-original-source="http://www.hpl.hp.com/techreports/2008/HPL-2008-47.pdf">The flattening internet topology : natural evolution, unsightly barnacles or contrived collapse ?</a></em> » ou « <em><a href="media/21fa7b63.S3Labovitz.pdf" data-original-source="http://conferences.sigcomm.org/sigcomm/2010/slides/S3Labovitz.pdf">Internet Inter-Domain Traffic</a></em> ». Mais Huston réussit toujours mieux à capter l’attention et à résumer de manière percutante un problème complexe.</p>
<p>Alors, si Huston a raison, quelles seront les conséquences de la disparition du transit ? Huston note qu’une telle disparition pourrait rendre inutile le système d’adressage mondial (déjà très mal en point avec l’<a title='Consultez ce blog à propos de "epuisement-adresses-ipv4"' href="https://framablog.org/2017/03/27/le-transit-cest-important-%F0%9F%99%82/epuisement-adresses-ipv4.html">épuisement des adresses IPv4</a> et la prévalence du <strong><a title="Consultez l'article "Network Address Translation" de l'encyclopédie libre Wikipedia" href="https://fr.wikipedia.org/wiki/Network%20Address%20Translation">NAT</a></strong>), voire le système de nommage mondial que fournit le <strong><a title="Consultez l'article "Domain Name System" de l'encyclopédie libre Wikipedia" href="https://fr.wikipedia.org/wiki/Domain%20Name%20System">DNS</a></strong>. Le <strong><a title="Consultez l'article "pair-à-pair" de l'encyclopédie libre Wikipedia" href="https://fr.wikipedia.org/wiki/pair-%C3%A0-pair">pair-à-pair</a></strong>, déjà diabolisé sur ordre de l’industrie du divertissement, pourrait devenir très difficile, voire impossible. Aujourd’hui, même si 95 % des utilisateurs ne se servaient que des GAFA, rien n’empêche les autres de faire ce qu’ils veulent en pair-à-pair. Demain, est-ce que ce sera toujours le cas ?</p>
<p>Mais est-ce que Huston a raison de prédire la mort du transit ? D’abord, je précise que je suis de ceux qui ne croient pas à la fatalité : ce sont les humains qui façonnent l’histoire et <strong>les choses peuvent changer</strong>. Décrire la réalité, c’est bien, mais il faut toujours se rappeler que c’est <strong>nous</strong> qui la faisons, cette réalité, et que nous pouvons changer. Essayons de voir si les choses ont déjà changé. Huston aime bien provoquer, pour réveiller son auditoire. Mais il faut bien distinguer l’apparence et la réalité.</p>
<p>Les observateurs légers croient que tout l’Internet est à leur image. Comme eux-même ne se servent que de Gmail et de Facebook, ils expliquent gravement en passant à la télé que l’Internet, c’est Google et Facebook. Mais c’est loin d’être la totalité des usages. Des tas d’autres usages sont présents, par exemple dans l’échange de données entre entreprises (y compris via d’innombrables types de <strong><a title="Consultez l'article "Réseau privé virtuel" de l'encyclopédie libre Wikipedia" href="https://fr.wikipedia.org/wiki/R%C3%A9seau%20priv%C3%A9%20virtuel">VPN</a></strong> qui transportent leurs données… sur Internet), les <strong><a title="Consultez l'article "Supervisory Control and Data Acquisition" de l'encyclopédie libre Wikipedia" href="https://fr.wikipedia.org/wiki/Supervisory%20Control%20and%20Data%20Acquisition">SCADA</a></strong>, BitTorrent, la recherche scientifique et ses <strong><a title="Consultez l'article "Octet" de l'encyclopédie libre Wikipedia" href="https://fr.wikipedia.org/wiki/Octet#">pétaoctets</a></strong> de données, les réseaux spécialisés comme <strong><a title="Consultez l'article "LoRaWAN" de l'encyclopédie libre Wikipedia" href="https://fr.wikipedia.org/wiki/LoRaWAN">LoRa</a></strong>, les <strong><a title="Consultez l'article "Chaîne de blocs" de l'encyclopédie libre Wikipedia" href="https://fr.wikipedia.org/wiki/Cha%C3%AEne%20de%20blocs">chaînes de blocs</a></strong>, et ces usages ne passent pas par les GAFA.</p>
<p>Peut-on quantifier ces usages, pour dire par exemple, qu’ils sont « minoritaires » ou bien « un détail » ? Ce n’est pas facile car il faudrait se mettre d’accord sur une métrique. Si on prend le nombre d’octets, c’est évidemment la vidéo qui domine et, à cause du poids de <strong><a title="Consultez l'article "YouTube" de l'encyclopédie libre Wikipedia" href="https://fr.wikipedia.org/wiki/YouTube">YouTube</a></strong>, on peut arriver à la conclusion que seuls les GAFA comptent. Mais d’autres critères sont possibles, quoique plus difficiles à évaluer (le poids financier, par exemple : un message d’une entreprise à une autre pour un contrat de centaines de milliers d’euros pèse moins d’octets qu’une vidéo de chat, mais représente bien plus d’argent ; ou bien le critère de l’utilité sociale). Bref, les opérateurs de transit sont loin d’être inutiles. L’Internet n’est pas encore réduit à un Minitel (ou à une télévision, l’exemple que prend Huston qui, en bon australien, ne connaît pas ce fleuron de la technologie française.)</p>
<div><img src="media/02ce5353.ptit_chaton-1024x683.jpeg" data-original-source="https://framablog.org/wp-content/uploads/2017/03/ptit_chaton-1024x683.jpeg" alt="" width="1024" height="683" srcset="https://framablog.org/wp-content/uploads/2017/03/ptit_chaton-1024x683.jpeg 1024w, https://framablog.org/wp-content/uploads/2017/03/ptit_chaton-300x200.jpeg 300w, https://framablog.org/wp-content/uploads/2017/03/ptit_chaton-768x512.jpeg 768w, https://framablog.org/wp-content/uploads/2017/03/ptit_chaton.jpeg 1125w" sizes="(max-width: 1024px) 100vw, 1024px"><p>La photo d’un chaton est-elle plus utile socialement qu’un contrat de plusieurs milliers d’euros ? Vous avez deux heures.</p></div>
<p>Merci à Antoine Fressancourt, Jérôme Nicolle, Pierre Beyssac, Raphaël Maunier, Olivier Perret, Clément Cavadore et Radu-Adrian Feurdean pour leurs remarques intéressantes. Aucune de ces conversations avec eux n’est passée par un GAFA.</p>
<p>Cet article est distribué sous les termes de la licence <a href="http://www.gnu.org/copyleft/fdl.html">GFDL</a></p>
<p><a href="http://www.bortzmeyer.org/">Stéphane Bortzmeyer</a></p>
<p>Crédits :</p>
<ul><li><a href="media/265bb490.FileInternet_map_1024.jpg" data-original-source="https://commons.wikimedia.org/wiki/File:Internet_map_1024.jpg">Internet map 1024</a>, Matt Britt, CC-BY 2.5</li>
<li><a href="https://www.flickr.com/photos/nnova/2099822201">Minitel</a>, Nicolas Nova, CC-BY 2.0</li>
<li><a href="https://www.pexels.com/photo/grey-fur-kitten-127028/">Grey fur kitten</a>, Vadim B, CC0</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/03/27/le-transit-cest-important-%F0%9F%99%82/" 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="">GitHub et les libristes&amp;nbsp;: un danger et un d&amp;eacute;fi&amp;nbsp;!</a> (28/01/2016)</li><li>Framablog : <a href="">Un financement pour pouvoir se lib&amp;eacute;rer&amp;hellip; de Framasph&amp;egrave;re&amp;nbsp;!</a> (15/03/2016)</li><li>Framablog : <a href="">D&amp;eacute;googlisez votre entourage en quelques tutos-vid&amp;eacute;os&amp;nbsp;!</a> (24/06/2016)</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></ul></div></p>


feed_id: http://alterlibriste.free.fr/index.php?post/2017/03/27/Podcasting-%3A-Les-souris-ne-mordent-pas
title: alterlibriste : Podcasting : Les souris ne mordent pas
uri: alterlibriste-Podcasting-Les-souris-ne-mordent-pas
url: http://alterlibriste.free.fr/index.php?post/2017/03/27/Podcasting-%3A-Les-souris-ne-mordent-pas
content:
<p><img src="media/ea5535f2.5052781294_0f6c24f6bc_o.jpg" data-original-source="https://farm5.staticflickr.com/4110/5052781294_0f6c24f6bc_o.jpg" alt=""></p>


<p>J’ai découvert il y a quelque temps une émission technologique intitulée <a href="http://cfmradio.fr/emissions/les-souris-ne-mordent-pas/"><em>les souris ne mordent pas</em></a> qui passe sur une radio locale du Sud-Ouest de la France : <a href="http://cfmradio.fr/">CFM Radio</a>.</p>    <p>CFM se dit la radio locale Nord Midi Pyrénées (Aveyron et Lot et Garonne) et on y retrouve l’accent du Sud-Ouest. Étant une radio locale, elle reprend pas mal d’actualités du coin ; le fablab de Rodez, intitulé <a href="http://rutech.fr/">RUTECH</a> en a profité pour faire une émission technologique bimensuelle d’une heure définie de la façon suivante :</p>


<p><q>Tout savoir tout apprendre sur les nouvelles technologies, les réseaux sociaux, les matériels et les petites et grandes infos pour mieux se débrouiller avec son Mac ou son Pc. Alexis, Guilhem et Thibault tiennent la souris. Une émission en partenariat avec la Cyberbase de la Mjc de Rodez.</q></p>


<p>Contrairement à l’<a href="http://alterlibriste.free.fr/index.php?post/2013/08/14/Podcasting-%3A-l-Echo-des-Gnous">Écho des Gnous</a> dont elle serait la plus proche cousine en termes de format, de moyens et de diffusion, l’angle d’attaque n’est pas le monde du libre mais plus la technologie et l’apprentissage à faire soi-même. Le côté technophile peut d’ailleurs parfois masquer les pertes de libertés, de vie privée ou de données personnelles mais parmi les intervenants (notamment la participation d’un membre du GUL local, l’<a href="http://aru2l.org/">ARU2L</a>), le côté libre et respect de la vie privée sont abordés. De plus, dans les fablabs, les formats ouverts et la bidouillabilité sont généralement privilégiés.</p>


<p>Il arrive régulièrement que les jeunes qui fréquentent le fablab viennent présenter des projets ou des actus dans le cadre de stages radiophoniques. <br>
L’ambiance est détendue, sans prise de tête, les sujets sont très abordables et ne rentrent jamais dans la technique pour rester compréhensibles au plus grand nombre.<br>
Comme c’est souvent le cas en format radio, l’émission est entrecoupée de pauses musicales tirée de la playlist plutôt rock de la station.</p>


<p>Un des seuls reproches qu’on peut lui faire, mais qui n’est pas lié à l’émission, est que les podcasts de l’antenne de Rodez sont compressés en 64 kbit/s, ce qui pique un peu aux oreilles surtout pour les morceaux de musique.<br>
Mis à part ça, c’est une émission bien intéressante pour avoir un aperçu des actus techno pour les makers en herbe. Et pour mettre ça dans les flux de son agrégateur de podcast, <a href="http://cfmradio.fr/emission-no/em10530/feed/">c’est ici</a>.</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/03/27/Podcasting-%3A-Les-souris-ne-mordent-pas" 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://www.tifred.fr/otrs-5-virtualhost-ssl-via-lets-encrypt/
title: TheLinuxFr : OTRS 5 VirtualHost et SSL via Let’s Encrypt
uri: TheLinuxFr-OTRS-5-VirtualHost-et-SSL-via-Let-s-Encrypt
url: https://www.tifred.fr/otrs-5-virtualhost-ssl-via-lets-encrypt/
content:
<p>Je partage mon fichier pour mettre en place un hôte virtuel avec <a href="https://www.otrs.com/">OTRS</a> 5. J’ai mis un peu de temps à voir une configuration fonctionnelle, donc si ça peut aider. Vous trouverez uniquement le fichier pour mettre en place l’hôte virtuel. L’installation d’<a href="https://www.otrs.com/">OTRS</a> est relativement simple en suivant <a href="http://doc.otrs.com/doc/manual/admin/stable/en/html/index.html">la documentation</a> (installation via les sources dans mon cas). Pour le certificat SSL j’utilise <a href="https://github.com/Neilpang/acme.sh">acme.sh</a>, mais <a href="https://certbot.eff.org/">certbot</a> peut aussi être utilisé…<br><span></span></p><pre><VirtualHost *:80>
        DocumentRoot /opt/otrs/
        ServerName mon_domaine.fr

Alias /.well-known/acme-challenge /var/www/html/.well-known/acme-challenge
 
<Directory /var/www/html/.well-known/acme-challenge>
        Options None
        AllowOverride None
        Order allow,deny
        Allow from all
</Directory>

RewriteEngine On
RewriteCond %{HTTPS} off 
RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI}
</VirtualHost>


<VirtualHost *:443>
	DocumentRoot /opt/otrs/
	ServerName mon_domaine.fr

Alias /.well-known/acme-challenge /var/www/html/.well-known/acme-challenge

<Directory "/var/www/html/.well-known/acme-challenge/">
    Options None
    AllowOverride None
    ForceType text/plain
    RedirectMatch 404 "^(?!/\\.well-known/acme-challenge/[\\w-]{43}$)"
</Directory>

Alias /otrs-web/ "/opt/otrs/var/httpd/htdocs/"
ScriptAlias / "/opt/otrs/bin/cgi-bin/"

SSLEngine on
	SSLProtocol All -SSLv2 -SSLv3 -TLSv1
	SSLCipherSuite  ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-AES256-GCM-SHA384:DHE-RSA-AES128-GCM-SHA256:DHE-DSS-AES128-GCM-SHA256:kEDH+AESGCM:ECDHE-RSA-AES128-SHA256:ECDHE-ECDSA-AES128-SHA256:ECDHE-RSA-AES128-SHA:ECDHE-ECDSA-AES128-SHA:ECDHE-RSA-AES256-SHA384:ECDHE-ECDSA-AES256-SHA384:ECDHE-RSA-AES256-SHA:ECDHE-ECDSA-AES256-SHA:DHE-RSA-AES128-SHA256:DHE-RSA-AES128-SHA:DHE-DSS-AES128-SHA256:DHE-RSA-AES256-SHA256:DHE-DSS-AES256-SHA:DHE-RSA-AES256-SHA

	SSLCertificateFile    /etc/ssl/private/mon_domaine.fr-cert.pem
	SSLCertificateKeyFile /etc/ssl/private/mon_domaine.fr-key.pem
	SSLCertificateChainFile /etc/ssl/private/mon_domaine.fr-fullchain.pem


<IfModule mod_perl.c>

    # Setup environment and preload modules
    Perlrequire /opt/otrs/scripts/apache2-perl-startup.pl

    # Reload Perl modules when changed on disk
    PerlModule Apache2::Reload
    PerlInitHandler Apache2::Reload

    # mod_perl2 options for GenericInterface
    <Location /otrs/nph-genericinterface.pl>
        PerlOptions -ParseHeaders
    </Location>

</IfModule>

<Directory "/opt/otrs/bin/cgi-bin/">
    AllowOverride None
    Options +ExecCGI -Includes

#   ErrorDocument 403 /otrs/customer.pl
    ErrorDocument 403 /index.pl
    AddHandler  perl-script .pl .cgi
    PerlResponseHandler ModPerl::Registry
    PerlOptions +ParseHeaders
    PerlOptions +SetupEnv
    DirectoryIndex index.pl

    <IfModule mod_version.c>
        <IfVersion < 2.4>
            Order allow,deny
            Allow from all
        </IfVersion>
        <IfVersion >= 2.4>
            Require all granted
        </IfVersion>
    </IfModule>
    <IfModule !mod_version.c>
        Order allow,deny
        Allow from all
    </IfModule>

    <IfModule mod_filter.c>
        <IfModule mod_deflate.c>
            AddOutputFilterByType DEFLATE text/html text/javascript application/javascript text/css text/xml application/json text/json
         </IfModule>
    </IfModule>

</Directory>

<Directory "/opt/otrs/var/httpd/htdocs/">
    AllowOverride None

    <IfModule mod_version.c>
        <IfVersion < 2.4>
            Order allow,deny
            Allow from all
        </IfVersion>
        <IfVersion >= 2.4>
            Require all granted
        </IfVersion>
    </IfModule>
    <IfModule !mod_version.c>
        Order allow,deny
        Allow from all
    </IfModule>

    <IfModule mod_filter.c>
        <IfModule mod_deflate.c>
            AddOutputFilterByType DEFLATE text/html text/javascript application/javascript text/css text/xml application/json text/json
         </IfModule>
    </IfModule>

    # Make sure CSS and JS files are read as UTF8 by the browsers.
    AddCharset UTF-8 .css
    AddCharset UTF-8 .js

    # Set explicit mime type for woff fonts since it is relatively new and apache may not know about it.
    AddType application/font-woff .woff

</Directory>

<IfModule mod_headers.c>
    # Cache css-cache for 30 days
    <Directory "/opt/otrs/var/httpd/htdocs/skins/*/*/css-cache">
        <FilesMatch "\\.(css|CSS)$">
            Header set Cache-Control "max-age=2592000 must-revalidate"
        </FilesMatch>
    </Directory>

    # Cache css thirdparty for 4 hours, including icon fonts
    <Directory "/opt/otrs/var/httpd/htdocs/skins/*/*/css/thirdparty">
        <FilesMatch "\\.(css|CSS|woff|svg)$">
            Header set Cache-Control "max-age=14400 must-revalidate"
        </FilesMatch>
    </Directory>

    # Cache js-cache for 30 days
    <Directory "/opt/otrs/var/httpd/htdocs/js/js-cache">
        <FilesMatch "\\.(js|JS)$">
            Header set Cache-Control "max-age=2592000 must-revalidate"
        </FilesMatch>
    </Directory>

    # Cache js thirdparty for 4 hours
    <Directory "/opt/otrs/var/httpd/htdocs/js/thirdparty/">
        <FilesMatch "\\.(js|JS)$">
            Header set Cache-Control "max-age=14400 must-revalidate"
        </FilesMatch>
    </Directory>
</IfModule>
</VirtualHost>
# Limit the number of requests per child to avoid excessive memory usage
MaxRequestsPerChild 4000</pre><p></p>
<h2>Configuration dans OTRS</h2>
<p>Vous pouvez passer par l’interface WEB ou éditer le fichier</p>
<p></p><pre>/opt/otrs/Kernel/Config.pm</pre><p>et ajouter :</p><pre>$Self-&amp;gt;{ScriptAlias} = '';
    $Self-&amp;gt;{HttpType} = 'https';</pre><p>Relancer Apache et le tour est joué <img src="media/70955cbf.1f609.png" data-original-source="https://s.w.org/images/core/emoji/2.2.1/72x72/1f609.png" alt="😉"></p>
<p>Cet article <a rel="nofollow" href="https://www.tifred.fr/otrs-5-virtualhost-ssl-via-lets-encrypt/">OTRS 5 VirtualHost et SSL via Let’s Encrypt</a> est apparu en premier sur <a rel="nofollow" href="https://www.tifred.fr/">TiFredFr</a>.</p>
<p><img src="media/cdeb7306.e83752f809480dbbc43f6da84f3bdf98" data-original-source="http://cdn.libravatar.org/avatar/e83752f809480dbbc43f6da84f3bdf98" alt="Gravatar de TheLinuxFr" class="gravatar" /><br/><i>Original post of <a href="https://www.tifred.fr/otrs-5-virtualhost-ssl-via-lets-encrypt/" title="Visit the source">TheLinuxFr</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>TheLinuxFr : <a href="">Avahi et annonce de services</a> (05/09/2010)</li><li>TheLinuxFr : <a href="">Utiliser TeamViewer sous Linux sans serveur graphique</a> (29/01/2016)</li></ul></div></p>


feed_id: https://philippe.scoffoni.net/dolibarr-jdll-lyon-1-2-avril/
title: Philippe Scoffoni : Dolibarr aux JDLL de Lyon les 1 et 2 avril
uri: Philippe-Scoffoni-Dolibarr-aux-JDLL-de-Lyon-les-1-et-2-avril
url: https://philippe.scoffoni.net/dolibarr-jdll-lyon-1-2-avril/
content:
<p><a rel="nofollow" href="http://www.jdll.org/"><img src="media/0f9ff871.jdll-banniere-1000x288-1-300x86.png" data-original-source="https://philippe.scoffoni.net/wp-content/uploads/2017/03/jdll-banniere-1000x288-1-300x86.png" alt="logiciel libre lyon" width="300" height="86" srcset="https://philippe.scoffoni.net/wp-content/uploads/2017/03/jdll-banniere-1000x288-1-300x86.png 300w, https://philippe.scoffoni.net/wp-content/uploads/2017/03/jdll-banniere-1000x288-1-768x221.png 768w, https://philippe.scoffoni.net/wp-content/uploads/2017/03/jdll-banniere-1000x288-1-600x173.png 600w, https://philippe.scoffoni.net/wp-content/uploads/2017/03/jdll-banniere-1000x288-1.png 1000w" sizes="(max-width: 300px) 100vw, 300px"></a>Le logiciel libre <a rel="nofollow" href="https://www.dolibarr.fr/" target="_blank">Dolibarr ERP/CRM</a> sera présent aux 18ème <a rel="nofollow" href="http://www.jdll.org/" target="_blank">Journées Du Logiciel Libre</a> sur le village associatif les <strong>1 et 2 avril</strong>. Je serais présent le samedi avec Romain Deschamps l’auteur du guide « <a rel="nofollow" href="http://www.d-booker.fr/dolibarr/283-dolibarr-pour-societes-de-services-et-consultants.html" target="_blank">Bien gérer son entreprise avec Dolibarr</a>« .</p>
<p>Nous répondrons à toutes les questions que vous pouvez vous poser sur ce logiciel et ses fonctionnalités. Aussi à l’aise dans le domaine de l’entreprise que des associations, c’est la solution de gestion qui monte à ce jour. Il permet de répondre aux besoins de nombreux corps de métiers avec une grande capacité d’adaptation.</p>
<p>Porté par une large communauté rassemblée autour de l’association Dolibarr, le modèle de développement choisi est particulièrement pérenne et à l’abris des revirements commerciaux d’une seule entreprise. L’association soutient d’ailleurs cette édition des JDLL en tant que <a rel="nofollow" href="http://www.jdll.org/partenaires-et-sponsors/sponsors/" target="_blank">sponsor</a> tout comme ma société <a rel="nofollow" href="https://www.open-dsi.fr/" target="_blank">Open-DSI</a>.</p>
<p><a rel="nofollow" href="http://www.jdll.org/events/dolibarr/" target="_blank">Une présentation de Dolibarr</a> aura lieu <strong>dimanche matin de 10h à 11h</strong> en Salle Danse Sous-Sol, venez nombreux <img src="media/78924bcd.1f642.png" data-original-source="https://s.w.org/images/core/emoji/2.2.1/72x72/1f642.png" alt="🙂"></p>
<hr><a href="https://philippe.scoffoni.net/dolibarr-jdll-lyon-1-2-avril/#comments">Réagir à cet article</a>
<p><small>Article original écrit par Philippe Scoffoni le 29/03/2017. | <a href="https://philippe.scoffoni.net/dolibarr-jdll-lyon-1-2-avril/">Lien direct vers cet article</a><br><br>Cette création est mise à disposition sous un <a rel="license" href="http://creativecommons.org/licenses/by/2.0/fr/">contrat Creative Commons BY</a>  à l'exception des images qui l'illustrent (celles-ci demeurent placées sous leur mention légale d'origine).</small></p>.

<p><img src="media/59ec0aeb.ee4bb1c08ac2d03c76f391d4b26c812a" data-original-source="http://cdn.libravatar.org/avatar/ee4bb1c08ac2d03c76f391d4b26c812a" alt="Gravatar de Philippe Scoffoni" class="gravatar" /><br/><i>Original post of <a href="https://philippe.scoffoni.net/dolibarr-jdll-lyon-1-2-avril/" title="Visit the source">Philippe Scoffoni</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>Philippe Scoffoni : <a href="">Diaporama de pr&eacute;sentation des logiciels libres pour les TPE</a> (01/04/2015)</li><li>RollsRox : <a href="">Journ&eacute;es du Logiciel Libre &agrave; Lyon - FederID et XUL</a> (22/10/2007)</li><li>Philippe Scoffoni : <a href="">Ajouter un export de donn&eacute;es personnalis&eacute;s dans Dolibarr</a> (12/11/2015)</li><li>Philippe Scoffoni : <a href="">Campagne de financement participative pour Dolibarr</a> (27/11/2015)</li><li>Philippe Scoffoni : <a href="">2 th&egrave;mes pour rendre Dolibarr sexy</a> (24/02/2016)</li></ul></div></p>


feed_id: https://yeuxdelibad.net/Blog/?d=2017/03/29/12/12/12-le-bilan-libre-du-mercredi
title: Thuban : Le bilan libre du mercredi
uri: Thuban-Le-bilan-libre-du-mercredi
url: https://yeuxdelibad.net/Blog/?d=2017/03/29/12/12/12-le-bilan-libre-du-mercredi
content:
<p>Je poursuis l'idée entamée <a href="http://https://yeuxdelibad.net/Blog//Blog/?d=2017/03/20/17/58/07-quelles-activites-dans-le-libre-depuis-la-semaine-derniere">la semaine dernière</a> qui consiste à évoquer les contributions que j'ai pu réaliser dans le libre depuis mercredi dernier.<br>
Au menu de cette semaine, nous avons davantage de code :</p>

<ul><li> J'ai <a href="https://marc.info/?l=openbsd-ports&amp;m=149012406305052&amp;w=2">proposé une mise à jour</a> pour le logiciel <code>zkt</code> dans les ports OpenBSD. La version plus récente permet d'utiliser davantage de chiffrements et résoud quelques bugs. Bon, c'est ma première fois, j'ai fait quelques bêtises mais je connais désormais la procédure.</li>
<li> Envoi d'un rapport de bug sur txt2tags pour la version de développement. Je n'ai pas encore eu de réponse :s</li>
<li> Rapport de bug pour le projet <a href="https://framagit.org/BlackLists/BlockZones">BlockZone</a> avec une proposition de correction. C'est désormais <a href="https://framagit.org/BlackLists/BlockZones/issues/2">réglé</a>.</li>
<li> <a href="https://framagit.org/fredg/snaps/commit/81c95f2eae8b27b9a58c78150be9a7ec9ba1023f">Mise à jour de snaps</a> qui permet de suivre facilement -current avec OpenBSD. Je dois avouer que je ne sais plus si c'est cette semaine ou avant, mais fredg a la gentillesse de merger sans râler :)</li>
<li> Création d'un plugin "lazyload" pour <a href="https://github.com/BoboTiG/blogotext">blogotext</a> (le moteur de ce blog). Désormais, les images sont chargés uniquement lorsqu'on scrolle jusqu'à cette image. Ça évite de charger une page en entier. C'est bon pour la bande passante de mon serveur et la votre :). J'ai reçu l'aide de RemRem pour toute la partie PHP, un grand merci à lui qui m'a appris un tas de choses. Finalement, l'addon est <a href="https://github.com/BoboTiG/blogotext-addons/commit/6c39a480fafec42c3b923c54f9753915d74303da">mergé</a> :) . Tiens d'ailleurs pour me la péter, je vais rajouter une image à cet article, juste comme ça : </li>
<li> Enfin, le livre pour <a href="https://framagit.org/Thuban/auto-hebergement-openbsd">s'auto-héberger</a> avance. On discute beaucoup pédagogie, j'hésite à lancer une nouvelle discipline : la didactique de l'auto-hébergement ^^ .</li></ul><p>Voili voilou :)</p>

<div>.<br><br>
.<br><br>
.<br><br>
.<br><br>
.<br><br>
.</div>

<p>L'image (elle arrive, patience ;) ) :</p>

<div><img src="media/3b30af43.3199213905-435352-photo-science.jpg" data-original-source="http://https//yeuxdelibad.net/Blog//Blog/img/15/3199213905-435352-photo-science.jpg" alt=""></div>

<p>À vous !</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/03/29/12/12/12-le-bilan-libre-du-mercredi" 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: Influence PC : Installation d’OpenMediaVault 3 sur Debian 8 comme interface web d’administration
uri: Influence-PC-Installation-d-OpenMediaVault-3-sur-Debian-8-comme-in
feed_id:
http://influence-pc.fr/29-03-2017-installation-dopenmediavault-3-sur-debian-8-comme-interface-web-dadministration

url:
http://influence-pc.fr/29-03-2017-installation-dopenmediavault-3-sur-debian-8-comme-interface-web-dadministration

content:
<p>OpenMediaVault est le pendant Debian de FreeNAS, par l’un de ses développeurs d’ailleurs, mais c’est une autre histoire. Il s’installe habituellement via un ISO, pré-installé sur Debian, mais nécessite de formater intégralement le support de destination, ce qui est un poil gênant quand on envisage un dual boot avec Windows, vous vous en doutez.</p>
<p>Alors voyons plutôt comment installer OMV sur une Debian 8 classique glanée sur le site officiel.</p>
<h3>Installation</h3>
<p>Connectez vous en SSH sur votre machine, passez en root et ajoutez le dépôt OMV en exécutant :</p>
<pre>cat > /etc/apt/sources.list.d/openmediavault.list
    deb http://packages.openmediavault.org/public erasmus main
    # deb http://downloads.sourceforge.net/project/openmediavault/packages erasmus main
    ## Uncomment the following line to add software from the proposed repository.
    # deb http://packages.openmediavault.org/public erasmus-proposed main
    # deb http://downloads.sourceforge.net/project/openmediavault/packages erasmus-proposed main
    ## This software is not part of OpenMediaVault, but is offered by third-party
    ## developers as a service to OpenMediaVault users.
    # deb http://packages.openmediavault.org/public erasmus partner
    # deb http://downloads.sourceforge.net/project/openmediavault/packages erasmus partner
EOF</pre>
<pre>export LANG=C
export DEBIAN_FRONTEND=noninteractive
export APT_LISTCHANGES_FRONTEND=none
apt-get update
apt-get --allow-unauthenticated install openmediavault-keyring
apt-get update
apt-get --yes --force-yes --auto-remove --show-upgraded  --no-install-recommends --option Dpkg::Options::="--force-confdef" --option DPkg::Options::="--force-confold" install postfix openmediavault</pre>
<h3>Configuration initiale</h3>
<p>Maintenant que tous les paquets sont installés, on va appeler le script d’initialisation :</p>
<pre>omv-initsystem</pre>
<p>OpenMediaVault va à présent redéfinir la configuration d’un certain nombre de logiciels et de services, en se basant sur ce que l’interface permet de modifier.</p>
<p>Votre utilisateur SSH perdra le droit de se connecter dès la première application de configuration depuis l’interface web. Allez sur l’interface web, dans « Gestion des droits d’accès / Utilisateur », ajoutez le groupe « ssh » aux utilisateurs que vous souhaitez.</p>
<p>Sur le même principe, OMV redéfinit en partie la configuration de la machine. Allez dans « Système / Réseau / Interface » et ajoutez l’interface <em>eth0</em> en DHCP.</p>
<h3>Configuration de services dans OMV</h3>
<p>Dans « Système / Notifications », configurez le système pour être tenu informé de l’état de santé de votre NAS. À l’heure où j’écris ces lignes, une erreur survient si on tente d’inscrire une adresse email pour le champ « Mail secondaire ». Le ticket a été ouvert sur la plateforme de gestion des bugs il y a quelques semaines.</p>
<p>Dans « Stockage / Disques physiques », repérez la correspondance entre les périphériques et leur modèle. Ensuite, dans « Stockage / Gestion du RAID », créer votre RAID en cochant les cases correspondant aux disques dans l’ordre voulu, par exemple /dev/sda, /dev/sdd, /dev/sdb, /dev/sdc donnera un RAID 10 avec une grappe contenant /dev/sda et /dev/sdd et une autre grappe contenant /dev/sdb et /dev/sdc.</p>
<p>Je vous conseille fortement d’activer la surveillance de santé des disques S.M.A.R.T dans « Stockage / S.M.A.R.T ». Il faut se balader dans les onglets « Paramètres » et « Périphériques » pour tout bien activer.</p>
<p>Si vous avez acheté un onduleur avec retour d’information par port série, dans « Système / Plugins », installez <em>openmediavault-nut</em> puis allez dans « Services / UPS » pour l’activer.</p>
<p><img src="media/b41f030b.9896da67200e5dea5bd3f98635b27040" data-original-source="http://cdn.libravatar.org/avatar/9896da67200e5dea5bd3f98635b27040" alt="Gravatar de Influence PC" class="gravatar" /><br/><i>Original post of <a href="http://influence-pc.fr/29-03-2017-installation-dopenmediavault-3-sur-debian-8-comme-interface-web-dadministration" title="Visit the source">Influence PC</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>Influence PC : <a href="">Installation de Kodi sur Debian 8 comme interface multim&eacute;dia</a> (28/03/2017)</li><li>Influence PC : <a href="">Montage Plug-and-Play des cl&eacute;s USB  sous Debian sans interface graphique</a> (22/03/2017)</li><li>G&eacute;n&eacute;ration Linux : <a href="">Installation d&#039;un serveur Sparkleshare sur Debian et d&#039;un client Sparkleshare sur Ubuntu</a> (20/03/2013)</li><li>Nicolargo : <a href="">Installation de NGinx avec PageSpeed sous Debian</a> (03/02/2014)</li><li>G&eacute;n&eacute;ration Linux : <a href="">Sauvegarder automatiquement ses sites web distants chez soi</a> (04/06/2011)</li></ul></div></p>


feed_id: http://influence-pc.fr/28-03-2017-installation-de-kodi-sur-debian-8-comme-interface-multimedia
title: Influence PC : Installation de Kodi sur Debian 8 comme interface multimédia
uri: Influence-PC-Installation-de-Kodi-sur-Debian-8-comme-interface-multi
url: http://influence-pc.fr/28-03-2017-installation-de-kodi-sur-debian-8-comme-interface-multimedia
content:
<p>Je vais vous montrer comment mettre Kodi au démarrage d’une Debian serveur (sans interface graphique) et sans recourir à un environnement de bureau tel qu’Unity, Gnome ou KDE.</p>
<p>J’ai choisi l’interface <a href="https://kodi.tv/about/">Kodi</a> pour monter mon mediacenter. Ce logiciel est très actif, il a de superbes applis sur mobiles (y compris sur Ubuntu Phone) et beaucoup d’addons.</p>
<p><em>À ce sujet, certain installent Plex. Même si Kodi ne répond pas à tout, pensez simplement qu’en installant Plex toutes les données de votre NAS seront accessibles par la boite qui le développe.</em></p>
<p>Bon, alors premier conseil, ne LISEZ PAS le fucking manuel, les docs sont écrites dans le désordre.</p>
<h3>Installer le driver Nvidia</h3>
<p>Applicable si vous avez une carte Nvidia bien entendu. Ajoutez le dossier « non-free » aux dépôts officiels utilisés (à ajouter après « main » dans <em>/etc/apt/sources.list</em>). Avec <em>apt</em>, installez le paquet <em>nvidia-detect</em> et exécutez la commande du même nom pour savoir quel driver installer. Si c’est par exemple <em>nvidia-driver</em>, installez-le, puis installez <em>nvidia-xconfig</em> et lancez-le à son tour pour générer le fichier de configuration pour le serveur graphique.</p>
<h3>Ajouter le dossier jessie-backports aux dépôts</h3>
<p>Debian 8 est l’actuelle version stable de Debian. Ça signifie que la version des logiciels proposés dans les dépôts est fixée depuis des années, Kodi n’y est même pas : c’est encore XBMC !</p>
<p>Il suffit d’ajouter « jessie-backports » en plus de « main » sur le dépôt officiel dans <em>/etc/apt/sources.list</em>. Si ce n’est pas clair, suivez <a href="https://backports.debian.org/Instructions/">ce tuto</a>. Puis lancez <em>apt-get update</em>.</p>
<h3>Installer Kodi</h3>
<p><code>su root</code></p>
<p><code>apt-get install kodi xorg xinit dbus-x11</code></p>
<p><code>adduser --disabled-password --disabled-login --gecos "" kodi</code></p>
<p><code>usermod -a -G cdrom,audio,video,plugdev,users,dialout,dip,input,netdev kodi</code></p>
<p>Modifier /etc/X11/Xwrapper.config et remplacer :</p>
<p><code>allowed_users=console</code></p>
<p>par</p>
<p><code>allowed_users=anybody</code></p>
<p>Créer le fichier <em>/etc/systemd/system/kodi.service</em> :</p>
<pre>[Unit]
Description = Kodi Media Center

# if you don't need the MySQL DB backend, this should be sufficient
After = systemd-user-sessions.service network.target sound.target

# if you need the MySQL DB backend, use this block instead of the previous
# After = systemd-user-sessions.service network.target sound.target mysql.service
# Wants = mysql.service

[Service]
User = kodi
Group = kodi
Type = simple
#PAMName = login # you might want to try this one, did not work on all systems
ExecStart = /usr/bin/xinit /usr/bin/dbus-launch --exit-with-session /usr/bin/kodi-standalone -- :0 -nolisten tcp vt7
Restart = on-abort
RestartSec = 5

[Install]
WantedBy = multi-user.target</pre>
<p>On ajoute les droits d’éteindre la machine, de la mettre en veille et de programmer son arrêt :<br><code>apt-get install policykit-1 upower acpi-support consolekit</code></p>
<p>Et en créant le fichier <em>/var/lib/polkit-1/localauthority/50-local.d/custom-actions.pkla</em> :</p>
<pre>[Actions for kodi user]
Identity=unix-user:kodi
Action=org.freedesktop.upower.*;org.freedesktop.consolekit.system.*;org.freedesktop.udisks.*
ResultAny=yes
ResultInactive=no
ResultActive=yes</pre>
<p>Pour vérifier que tout fonctionne :<br><code>systemctl start kodi</code></p>
<p>Puis :<br><code>systemctl enable kodi</code></p>
<h3>Tips</h3>
<p>Pour utiliser une application télécommande sur smartphone, j’ai remarqué qu’il fallait aller dans le menu « Système / Services / Serveur Web », l’activer et changer le port sur <strong>9090</strong> (et pas un autre) puis aller dans le menu « Système / Services / Contrôle à distance » et autoriser la prise de contrôle par des logiciels externes.</p>
<p><img src="media/b41f030b.9896da67200e5dea5bd3f98635b27040" data-original-source="http://cdn.libravatar.org/avatar/9896da67200e5dea5bd3f98635b27040" alt="Gravatar de Influence PC" class="gravatar" /><br/><i>Original post of <a href="http://influence-pc.fr/28-03-2017-installation-de-kodi-sur-debian-8-comme-interface-multimedia" title="Visit the source">Influence PC</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>Influence PC : <a href="">Installation d&rsquo;OpenMediaVault 3 sur Debian 8 comme interface web d&rsquo;administration</a> (29/03/2017)</li><li>Influence PC : <a href="">Montage Plug-and-Play des cl&eacute;s USB  sous Debian sans interface graphique</a> (22/03/2017)</li><li>G&eacute;n&eacute;ration Linux : <a href="">Installation d&#039;un serveur Sparkleshare sur Debian et d&#039;un client Sparkleshare sur Ubuntu</a> (20/03/2013)</li><li>Influence PC : <a href="">Sauvegarder son serveur Linux personnel + son mutualis&eacute; : the easy way !</a> (03/09/2015)</li><li>Thierry Andriamirado : <a href="">Le blog &amp;quot;Debian Package of the Day&amp;quot; a besoin de vous!</a> (20/06/2007)</li></ul></div></p>


title: Influence PC : Montage Plug-and-Play des clés USB sous Debian sans interface graphique
uri: Influence-PC-Montage-Plug-and-Play-des-clés-USB-sous-Debian-sans-i
feed_id:
http://influence-pc.fr/22-03-2017-montage-plug-and-play-des-cles-usb-sous-debian-sans-interface-graphique

url:
http://influence-pc.fr/22-03-2017-montage-plug-and-play-des-cles-usb-sous-debian-sans-interface-graphique

content:
<p>À la suite de l’article précédent, vous avez peut être choisi d’installer Debian en mode serveur sans interface graphique et de lancer Kodi au démarrage de la machine (encore une fois, un tutoriel sortira bientôt à ce sujet).</p>
<p>Néanmoins vous aurez besoin d’accéder au contenu d’une clé USB dès son branchement à un port USB. Et vous allez être très déçu d’apprendre que nativement sous Linux, les clés USB ne sont pas Plug-and-Play, le montage d’une partition est exclusivement manuel, via /etc/fstab ou via la commande mount.</p>
<p>La raison est toute simple : Linux laisse l’utilisateur libre de choisir les options de montage. Le Plug-and-Play est intégré à plus haut niveau, par les environnements tels que Unity, KDE ou Gnome.</p>
<p>Quand on n’a pas d’environnement de bureau, on doit recourir à un script écoutant les évènements de connexion des périphériques USB et réalisant le montage automatiquement. J’en ai justement <a href="http://serverfault.com/questions/766506/automount-usb-drives-with-systemd/767079#767079">trouvé un</a> sur serverfault proposé par Mike Blackwell.</p>
<p>On va créer un fichier <strong>/usr/local/bin/usb-mount.sh</strong> et lui mettre les droits d’exécution :</p>
<pre lang="bash">#!/bin/bash

# This script is called from our systemd unit file to mount or unmount
# a USB drive.

usage()
{
    echo "Usage: $0 {add|remove} device_name (e.g. sdb1)"
    exit 1
}

if [[ $# -ne 2 ]]; then
    usage
fi

ACTION=$1
DEVBASE=$2
DEVICE="/dev/${DEVBASE}"

# See if this drive is already mounted, and if so where
MOUNT_POINT=$(/bin/mount | /bin/grep ${DEVICE} | /usr/bin/awk '{ print $3 }')

do_mount()
{
    if [[ -n ${MOUNT_POINT} ]]; then
        echo "Warning: ${DEVICE} is already mounted at ${MOUNT_POINT}"
        exit 1
    fi

    # Get info for this drive: $ID_FS_LABEL, $ID_FS_UUID, and $ID_FS_TYPE
    eval $(/sbin/blkid -o udev ${DEVICE})

    # Figure out a mount point to use
    LABEL=${ID_FS_LABEL}
    if /bin/grep -q " /media/${LABEL} " /etc/mtab; then
        # Already in use, make a unique one
        LABEL+="-${DEVBASE}"
    fi
    MOUNT_POINT="/media/${LABEL}"

    echo "Mount point: ${MOUNT_POINT}"

    /bin/mkdir -p ${MOUNT_POINT}

    # Global mount options
    OPTS="rw,relatime"

    # File system type specific mount options
    if [[ ${ID_FS_TYPE} == "vfat" ]]; then
        OPTS+=",users,gid=100,umask=000,shortname=mixed,utf8=1,flush"
    fi

    if ! /bin/mount -o ${OPTS} ${DEVICE} ${MOUNT_POINT}; then
        echo "Error mounting ${DEVICE} (status = $?)"
        /bin/rmdir ${MOUNT_POINT}
        exit 1
    fi

    echo "**** Mounted ${DEVICE} at ${MOUNT_POINT} ****"
}

do_unmount()
{
    if [[ -z ${MOUNT_POINT} ]]; then
        echo "Warning: ${DEVICE} is not mounted"
    else
        /bin/umount -l ${DEVICE}
        echo "**** Unmounted ${DEVICE}"
    fi

    # Delete all empty dirs in /media that aren't being used as mount
    # points. This is kind of overkill, but if the drive was unmounted
    # prior to removal we no longer know its mount point, and we don't
    # want to leave it orphaned...
    for f in /media/* ; do
        if [[ -n $(/usr/bin/find "$f" -maxdepth 0 -type d -empty) ]]; then
            if ! /bin/grep -q " $f " /etc/mtab; then
                echo "**** Removing mount point $f"
                /bin/rmdir "$f"
            fi
        fi
    done
}

case "${ACTION}" in
    add)
        do_mount
        ;;
    remove)
        do_unmount
        ;;
    *)
        usage
        ;;
esac</pre>
<p>Puis on créé un fichier <strong>/etc/systemd/system/usb-mount@.service</strong> pour le service systemd :</p>
<pre lang="bash">[Unit]
Description=Mount USB Drive on %i
[Service]
Type=oneshot
RemainAfterExit=true
ExecStart=/usr/local/bin/usb-mount.sh add %i
ExecStop=/usr/local/bin/usb-mount.sh remove %i</pre>
<p>On fini en ajoutant des règles au fichier <strong>/etc/udev/rules.d/99-local.rules</strong> surveillant les évènements de connexion/déconnexion de clés :</p>
<pre lang="bash">KERNEL=="sd[a-z][0-9]", SUBSYSTEMS=="usb", ACTION=="add", RUN+="/bin/systemctl start usb-mount@%k.service"
KERNEL=="sd[a-z][0-9]", SUBSYSTEMS=="usb", ACTION=="remove", RUN+="/bin/systemctl stop usb-mount@%k.service"</pre>
<p>Ce script n’est pas parfait, son comportement devient même assez étrange si la partition d’une clé USB n’a pas de nom et qu’on en branche une seconde : les dossiers se mélangent. Arrangez vous pour toujours nommer vos clés, ou proposez moi une correction du script ci-dessus <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><img src="media/b41f030b.9896da67200e5dea5bd3f98635b27040" data-original-source="http://cdn.libravatar.org/avatar/9896da67200e5dea5bd3f98635b27040" alt="Gravatar de Influence PC" class="gravatar" /><br/><i>Original post of <a href="http://influence-pc.fr/22-03-2017-montage-plug-and-play-des-cles-usb-sous-debian-sans-interface-graphique" title="Visit the source">Influence PC</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>Influence PC : <a href="">Installation d&rsquo;OpenMediaVault 3 sur Debian 8 comme interface web d&rsquo;administration</a> (29/03/2017)</li><li>Influence PC : <a href="">Installation de Kodi sur Debian 8 comme interface multim&eacute;dia</a> (28/03/2017)</li><li>J&eacute;r&eacute;my Verda : <a href="">Aptitude poss&egrave;de dor&eacute;navant une interface graphique en GTK+</a> (16/11/2008)</li><li>ProfNoel : <a href="">Xsshfs &ndash; Interface graphique GTK pour sshfs</a> (30/10/2010)</li><li>David Mercereau : <a href="">Xsshfs v0.5 &ndash; Interface graphique pour Xsshfs (Perl/Glade)</a> (14/11/2012)</li></ul></div></p>


title: Renault : Votez pour les fonds d'écran supplémentaires de Fedora 26 !
uri: Renault-Votez-pour-les-fonds-d-écran-supplémentaires-de-Fedora-26
feed_id:
https://blog.fedora-fr.org/renault/post/Votez-pour-les-fonds-d-%C3%A9cran-suppl%C3%A9mentaires-de-Fedora-26-%21

url:
https://blog.fedora-fr.org/renault/post/Votez-pour-les-fonds-d-%C3%A9cran-suppl%C3%A9mentaires-de-Fedora-26-%21

content:
<p><img src="media/1dbdb94f.nuancier-f24-voted.png" data-original-source="https://blog.fedora-fr.org/public/renault/nuancier-f24-voted.png" alt="nuancier-f24-voted.png" title="nuancier-f24-voted.png, avr. 2016"></p>
<p>Depuis Fedora 20, la livrée du système par défaut contient quelques fonds
d'écrans additionnels. Et comme d'habitude, les contributeurs pouvaient
soumettre leurs propres dessins ou photographies pour décorer cette nouvelle
version.</p>
<p>Maintenant que la période de soumission s'est achevée, nous passons à la
phase de vote. Tout possesseur d'un compte FAS peut en sélectionner 16 parmi
les dizaines qui sont disponibles. Les plus populaires seront bien évidemment
choisis et disponibles dans la Fedora 26 à sa sortie.</p>
<p>Le vote se déroule dans l'application <a href="https://apps.fedoraproject.org/nuancier/election/7/" hreflang="en" title="Nuancier">Nuancier</a> jusqu'au 6 avril !</p>
<p>Pour ceux que cela intéresse, le <a href="https://badges.fedoraproject.org/badge/nuancier-f26" hreflang="en">badge</a>
associé à cette action nécessite une action manuelle. Il suffit de cliquer sur
un lien, proposé sur la page après le vote.</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="https://blog.fedora-fr.org/renault/post/Votez-pour-les-fonds-d-%C3%A9cran-suppl%C3%A9mentaires-de-Fedora-26-%21" 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>opossum1er : <a href="">Gnome-shell</a> (08/10/2009)</li><li>opossum1er : <a href="">Plymouth</a> (02/11/2008)</li><li>Renault : <a href="">J&#039;ai test&eacute; la Fedora Rawhide, future Fedora 11</a> (23/12/2008)</li><li>Renault : <a href="">Participez aux journ&eacute;es de tests de Fedora : c&#039;est libre et gratuit pour tous =)</a> (18/08/2010)</li><li>opossum1er : <a href="">Fedora 15 alpha</a> (08/03/2011)</li></ul></div></p>


feed_id: http://blog.rom1v.com/2017/03/gnirehtet/
title: ®om : Gnirehtet
uri: om-Gnirehtet
url: http://blog.rom1v.com/2017/03/gnirehtet/
content:
<p>Durant ces dernières semaines chez <a href="https://www.genymobile.com/">Genymobile</a>, j’ai développé un outil de
<em>reverse tethering</em> pour Android, permettant aux téléphones (et aux tablettes)
d’utiliser la connexion internet de l’ordinateur sur lequel ils sont branchés,
sans accès <em>root</em> (ni sur le téléphone, ni sur le PC). Il fonctionne sur
<em>GNU/Linux</em>, <em>Windows</em> et <em>Mac OS</em>.</p>

<p>Nous avons décidé de le publier en open source, sous le nom de
<a href="https://github.com/Genymobile/gnirehtet"><em>gnirehtet</em></a>.</p>

<p><em>Oui, c’est un nom bizarre, jusqu’à ce qu’on réalise qu’il s’agit du résultat de
la commande <a href="https://fr.wikipedia.org/wiki/Bourne-Again_shell">bash</a> :</em></p>

<div><pre><code data-lang="bash">rev <span><<<</span> tethering</code></pre></div>

<h2>Utilisation</h2>

<p>Il suffit de télécharger la dernière <a href="https://github.com/Genymobile/gnirehtet/releases">release</a>, de l’extraire, et d’exécuter la
commande suivante sur le PC :</p>

<pre><code>./gnirehtet rt
</code></pre>

<p>Une fois activé, un logo en forme de clé apparaît dans la barre de statut du
téléphone :</p>

<p><img src="media/a22b49fa.key.png" data-original-source="http://blog.rom1v.com/assets/gnirehtet/key.png" alt="key"></p>

<p>Lisez le fichier <a href="https://github.com/Genymobile/gnirehtet/blob/master/README.md">README</a> pour plus de détails.</p>

<h2>Fonctionnement</h2>

<p>Le projet est composé de deux parties :</p>

<ul><li>une application Android (le client) ;</li>
  <li>une application Java pour le PC (le serveur relais).</li>
</ul><p>Le client s’enregistre en tant que VPN, de manière à intercepter tout le trafic
réseau du téléphone, sous la forme de <code>byte[]</code> de <a href="https://en.wikipedia.org/wiki/IPv4#Packet_structure">paquets IPv4</a> bruts, qu’il
transmet alors vers le serveur relais sur une connexion <a href="https://fr.wikipedia.org/wiki/Transmission_Control_Protocol">TCP</a> (établie
par-dessus <a href="https://developer.android.com/studio/command-line/adb.html"><em>adb</em></a>).</p>

<p>Le serveur relais analyse les en-têtes des paquets, ouvre des connexions à
partir du PC vers les adresses de destinations demandées, et relaie le contenu
dans les deux sens en suivant les protocoles <a href="https://fr.wikipedia.org/wiki/User_Datagram_Protocol">UDP</a> et <a href="https://fr.wikipedia.org/wiki/Transmission_Control_Protocol">TCP</a>. Il crée et renvoie
des paquets de réponse vers le client Android, qui les écrit sur l’interface
VPN.</p>

<p>D’une certaine manière, le serveur relais se comporte comme un <a href="https://fr.wikipedia.org/wiki/Network_address_translation">NAT</a>, en cela
qu’il ouvre des connexions pour le compte d’autres machines qui n’ont pas accès
au réseau.  Cependant, il diffère des NAT standards dans la manière dont il
communique avec les clients, en utilisant un protocole spécifique (très simple)
sur une connexion TCP.</p>

<p><img src="media/4272227a.archi.png" data-original-source="http://blog.rom1v.com/assets/gnirehtet/archi.png" alt="archi"></p>

<p>Pour plus de détails, lisez la <a href="https://github.com/Genymobile/gnirehtet/blob/master/DEVELOP.md">page développeurs</a>.</p>

<h2>Conception</h2>

<p>Une fois que l’application est capable d’intercepter l’intégralité du traffic
réseau du téléphone, différentes approches sont possibles. Voici celles que j’ai
considérées.</p>

<p><em><strong>TL;DR:</strong> J’ai d’abord étudié l’utilisation d’un “TUN device” sur le
PC, mais ça ne répondait pas à nos besoins. J’ai ensuite voulu utiliser <a href="https://fr.wikipedia.org/wiki/SOCKS">SOCKS</a>
pour bénéficier des serveurs existants, mais des contraintes nous empêchaient de
relayer le trafic UDP. Alors j’ai implémenté <a href="https://github.com/Genymobile/gnirehtet">gnirehtet</a>.</em></p>

<h3>TUN device</h3>

<p>Lors de mes recherches pour savoir comment implémenter le <em>reverse tethering</em>,
j’ai d’abord trouvé des projets créant un <a href="https://en.wikipedia.org/wiki/TUN/TAP">TUN device</a> sur l’ordinateur
(<a href="https://github.com/google/vpn-reverse-tether"><code>vpn-reverse-tether</code></a> and <a href="https://github.com/vvviperrr/SimpleRT"><code>SimpleRT</code></a>).</p>

<p>Cette conception fonctionne très bien, et a plusieurs avantages :</p>

<ul><li>le traitement est effectué directement au niveau réseau, donc il n’y a pas
besoin de traduction entre le niveau 3 et le niveau 5 du <a href="https://fr.wikipedia.org/wiki/Mod%C3%A8le_OSI">modèle OSI</a> ;</li>
  <li>tous les paquets sont retransmis, indépendamment de leur protocole de
transport (ils sont donc <a href="https://en.wikipedia.org/wiki/List_of_IP_protocol_numbers">tous</a> supportés, là où <em>gnirehtet</em>
ne supporte “que” <a href="https://fr.wikipedia.org/wiki/Transmission_Control_Protocol">TCP</a> et <a href="https://fr.wikipedia.org/wiki/User_Datagram_Protocol">UDP</a>).</li>
</ul><p>Cependant :</p>

<ul><li>elle nécessite un accès <em>root</em> sur l’ordinateur ;</li>
  <li>elle ne fonctionne pas sur autre chose que <em>Linux</em>.</li>
</ul><p>Il se peut néanmoins que ces applications répondent davantage à vos besoins.</p>

<h3>SOCKS</h3>

<p>Afin d’éviter d’avoir à développer un serveur relais spécifique, ma première
idée était d’écrire un client qui parlait le protocole <a href="https://fr.wikipedia.org/wiki/SOCKS">SOCKS</a> (suivant le <a href="https://tools.ietf.org/html/rfc1928">RFC
1928</a>). Ainsi, il serait possible d’utiliser n’importe quel serveur SOCKS
existant, par exemple celui fourni par <code>ssh -D</code>.</p>

<p>Vous l’avez probablement déjà utilisé pour éviter le filtrage des pare-feux
en entreprise. Pour cela, démarrez le tunnel :</p>

<pre><code>ssh mon_serveur -ND1080
</code></pre>

<p>Puis configurez votre navigateur pour utiliser le proxy SOCKS <code>localhost:1080</code>.
N’oubliez pas d’activer la résolution DNS distante pour résoudre les noms de
domaine à partir de <code>mon_serveur</code> (dans <em>Firefox</em>, activez
<code>network.proxy.socks_remote_dns</code> dans <code>about:config</code>).</p>

<p>Malheureusement, l’implémentation d’<a href="https://fr.wikipedia.org/wiki/OpenSSH">OpenSSH</a> ne <a href="http://lists.mindrot.org/pipermail/openssh-unix-dev/2017-January/035662.html">supporte pas UDP</a>,
même si le protocole <a href="https://fr.wikipedia.org/wiki/SOCKS#SOCKS_v5">SOCKS5</a> lui-même le supporte. Et nous avons besoin d’UDP,
au moins pour les requêtes <a href="https://fr.wikipedia.org/wiki/Domain_Name_System">DNS</a> (ainsi que pour <a href="https://fr.wikipedia.org/wiki/Network_Time_Protocol">NTP</a>).</p>

<p>Si vous avez lu attentivement les deux paragraphes précédents, vous devriez vous
demander :</p>

<blockquote>
  <p>Comment Firefox peut-il résoudre les noms de domaine à distance alors
que le proxy SOCKS d’OpenSSH ne supporte même pas UDP ?</p>
</blockquote>

<p>La réponse se trouve dans la <a href="https://tools.ietf.org/html/rfc1928#section-4">section 4</a> du RFC : l’adresse de destination
demandée peut être une IPv4, une IPv6 ou <strong>un nom de domaine</strong>. Par contre,
pour utiliser cette fonctionnalité, le client (par exemple <em>Firefox</em>) doit
savoir qu’il passe par un proxy (puisqu’il doit explicitement passer le nom de
domaine au lieu de le résoudre localement), alors que notre <em>reverse tethering</em>
doit être <strong>transparent</strong>.</p>

<p>Mais tout n’est pas perdu. Certes, <em>OpenSSH</em> ne supporte pas UDP, mais ce n’est
qu’une implémentation spécifique, nous pourrions en utiliser une autre.
Malheureusement, <a href="http://stackoverflow.com/questions/41967217/why-does-socks5-require-to-relay-udp-over-udp">SOCKS5 relaie UDP sur UDP</a>, et les téléphones
et l’ordinateur communiquent sur <em>adb</em> (grâce à <code>adb reverse</code>), qui ne supporte
pas non plus la redirection de ports UDP.</p>

<p>Peut-être que nous pourrions au moins relayer les requêtes DNS en les forçant à
<a href="http://www.bortzmeyer.org/dns-over-tcp.html">utiliser TCP</a>, comme le fait <a href="https://linux.die.net/man/8/tsocks">tsocks</a> :</p>

<blockquote>
  <p><strong>tsocks</strong> will normally not be able to send DNS queries through a SOCKS
server since SOCKS V4 works on TCP and DNS normally uses UDP. Version 1.5 and
up do however provide a method to force DNS lookups to use TCP, which then
makes them proxyable.</p>
</blockquote>

<p>Mais finalement, SOCKS n’est plus une solution aussi attirante pour implémenter
le <em>reverse tethering</em>.</p>

<h3>Gnirehtet</h3>

<p>Par conséquent, j’ai développé à la fois le client et le serveur relais
manuellement.</p>

<p>Ce <a href="http://www.thegeekstuff.com/2014/06/android-vpn-service/">billet de blog</a> et différents projets open source (<a href="https://github.com/vvviperrr/SimpleRT"><code>SimpleRT</code></a>,
<a href="https://github.com/google/vpn-reverse-tether"><code>vpn-reverse-tether</code></a>, <a href="https://github.com/hexene/LocalVPN"><code>LocalVPN</code></a> et <a href="https://android.googlesource.com/platform/development/+/master/samples/ToyVpn/"><code>ToyVpn</code></a>) m’ont beaucoup aidé à comprendre
comment implémenter cette solution de <em>reverse tethering</em>.</p>

<h2>Conclusion</h2>

<p><a href="https://github.com/Genymobile/gnirehtet"><em>Gnirehtet</em></a> permet aux téléphones et tablettes Android d’utiliser
facilement la connection internet d’un ordinateur par USB, sans accès <em>root</em>.
C’est très utile quand vous ne pouvez pas accéder au réseau par un point d’accès
WiFi.</p>

<p>J’espère qu’il pourra être utile à certains d’entre vous.</p>
<p><img src="media/7cefb81c.1a63f34b9244a38a08fd9b3e5a4aa85e" data-original-source="http://cdn.libravatar.org/avatar/1a63f34b9244a38a08fd9b3e5a4aa85e" alt="Gravatar de &reg;om" class="gravatar" /><br/><i>Original post of <a href="http://blog.rom1v.com/2017/03/gnirehtet/" title="Visit the source">®om</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?article72/casque-bluetooth
title: nIQnutn : Faire fonctionner un casque bluetooth sous Debian
uri: nIQnutn-Faire-fonctionner-un-casque-bluetooth-sous-Debian
url: http://blog.niqnutn.com/index.php?article72/casque-bluetooth
content:
<p>J'ai récupéré un casque Sony MDR-ZX750BN  pour écouter de la musique lors de mes déplacements.
Je commence par connecter mon casque à mon smartphone, ça marche tout de suite (heureusement puisque c'est son utilité principale).
Je tente la même opération sur mon ordinateur portable:  évidemment, ça ne marche pas.
</p>

<div><img src="media/be035c61.headset.tb.jpg" data-original-source="http://blog.niqnutn.com/data/medias/0072/headset.tb.jpg" alt=""></div>


<p>Encore obligé de faire des recherches pour faire fonctionner un simple casque audio.</p><p>
J'ai eu quelques difficultés pour trouver une solution ne sachant pas quoi rechercher. 
Je suis finalement tombé sur une documentation complète du wiki Debian.
<br>
Un petit résumé de la procédure pour faire fonctionner le casque.</p>

<h2>Installation</h2>


<p>On installe tous les paquets nécessaires. </p>

<div>
<div><i></i><br><span>#root</span></div>
  <div><pre><code>apt-get install pulseaudio pulseaudio-module-bluetooth pavucontrol bluez-firmware</code></pre></div>
  </div>

<p>on redémarre les services <em>bluetooth</em> et <em>pulseaudio</em>:</p>


<div>
<div><i></i><br><span>#root</span></div>
  <div><pre><code>service bluetooth restart;
killall pulseaudio;</code></pre></div>
  </div>



<h2>Appairage</h2>


<p>Pour appairer le casque avec mon ordinateur, on va utiliser l'utilitaire <em>blueman</em>:</p>



<div>
<div><i></i><br><span>#root</span></div>
  <div><pre><code>apt-get install blueman</code></pre></div>
  </div>

<p>Un paquet est plus récent dans <em>jessie-backports</em>.</p>

<p>
On vérifie que le <em>bluetooth</em> est activé et on lance l'utilitaire.</p>





<h2>Configuration</h2>



<p>On définit la sortie audio pour utiliser le casque.</p>


<p>On lance <em>pavucontrol</em>:
définir le casque comme sortie dans pavucontrol</p>


<p>Dans les paramètres de <em>blueman</em>, on peut  modifier le profil audio (si nécessaire):  High Fidelity Playback (A2DP Sink)</p>

<h2>Ressources</h2>


<ul><li>Wiki Debian: <a href="https://wiki.debian.org/BluetoothUser/a2dp">https://wiki.debian.org/BluetoothUser/a2dp</a></li>
</ul><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?article72/casque-bluetooth" 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>


