PROJET AUTOBLOG


Planet-Libre

source: Planet-Libre

⇐ retour index

François Boulogne : Scifig : générer ses figures sans effort (avec latex, tikz, python, gnuplot, etc.)

lundi 3 août 2015 à 00:00

J'ai déjà parlé sur ce blog d'un outil pour générer mes figures sans peine ici et . Je l'utilise dans le cadre de mon travail de recherche.

En quelques mots, l'idée est d'avoir un outil de construction qui converti des sources vers des fichiers finaux tels que eps, pdf, svg, png, avec un support de traduction. il doit gérer des graphiques, des schémas, des graphiques avec des schémas, des formules chimiques, etc. L'outil que j'avais précédemment codé ne me donnait pas entière satisfaction car il reposait sur waf et il n'était pas toujours facile de faire évoluer les règles de compilation.

Les objectifs :

Les choix technologiques et le principes ont été expliqués dans les précédents billets. L'utilisation intensive que j'en ai fait (environ 200 à 300 figures générées jusqu'ici) valident totalement ces choix par l'usage.

Le principe étant très simple, j'ai décidé de recoder l'outil (nommé scifig) en python sans dépendance forte à une librairie existante. J'ai tiré profit de mon expérience avec waf pour soigner l'affichage, les logs et le principe de deux répertoires src/ et build/ ainsi que d'un export vers un répertoire de travail. L'avantage que je tire avec un code qui se suffit à lui-même est que l'écriture de règles doit être évident (ou alors, j'ai mal conçu ma bibliothèque).

Par la suite, il faudra que j'ajoute quelques nouvelles fonctionnalités qui me manquent et que j'avais du mal à inclure dans ma précédente version :

Plus de détails se trouvent sur mon wiki et dans la documentation.

Gravatar de François Boulogne
Original post of François Boulogne.Votez pour ce billet sur Planet Libre.

Articles similaires

Marty : Cache DNS local avec Dnsmasq

dimanche 2 août 2015 à 10:48

Dans un article précédent, nous avons vu comment configurer DNSCrypt combiné à un cache local géré par Bind. Un gentil commentateur m'a indiqué l'existence de Dnsmasq, qui semble en effet plus adapté.

Suite à l'article concernant la sécurisation des DNS, un lecteur (AP) m'a pointé Dnsmasq comme alternative à Bind. J'étais déjà tombé dessus lors de mes recherches de cache DNS, mais sa capacité à faire serveur DHCP et TFTP m'avait rapidement détourné de lui. Honte à moi, j'aurais dû creuser plus que 3 minutes.

L'intérêt principal par rapport à Bind est sa légèreté. Bind est une référence en terme de serveur DNS, mais c'est le canon pour tuer la mouche. Dnsmasq, simplement configuré, permet de jouer efficacement le rôle de cache DNS. Petit bonus : il s'intègre très bien avec Resolvconf et DNSCrypt. Dans cet article, on y apprend que Resolvconf va fournir à Dnsmasq les serveurs de noms (nameserver) externes. En effet, Resolvconf va générer un fichier spécifique ("/var/run/dnsmasq/resolv.conf") qui contient l’ensemble des adresses des serveurs de noms. Dnsmasq va utiliser automatiquement ce fichier à la place du classique "/etc/resolv.conf". Et ça, c'est très bien quand on utilise DNSCrypt : en effet, le script init.d de DNSCrypt va utiliser Resolvconf pour s'annoncer en tant que serveur de noms. Du coup, il ne faudra plus modifier ce script init.d comme avec Bind. Youpi !

Si vous voulez combiner DNSCrypt et Dnsmasq, vous pouvez suivre l'article précédent jusqu'au point "Configuration avancée : serveur DNS aléatoire" inclus, puis continuer cet article.

Installation

Une vraie promenade de santé :

apt-get install dnsmasq

Par défaut, le service va écouter sur l'adresse 127.0.0.1, port 53. Il suffit donc de paramétrer cette adresse dans vos DNS (aussi en IPv6), et le tour est joué.

Attention : par défaut, Bind utilise la même adresse/port. Il vous faudra donc soit virer Bind, soit changer l'interface de l'un ou l'autre.

Configuration

La configuration se trouve dans "/etc/dnsmasq.conf". Sous Ubuntu, le fichier est déjà très complet, et entièrement commenté. On va dé-commenter uniquement ces lignes :

domain-needed
bogus-priv
expand-hosts
cache-size=500

Explication des paramètres utilisés :

Il suffit de redémarrer le service. On peut aussi vérifier que le serveur DNSCrypt, par défaut 127.0.2.1, est bien utilisé dans "/var/run/dnsmasq/resolv.conf". Si vous n'utilisez pas DNSCrypt, vous pouvez utiliser le paramètre "server=" pour indiquer les serveurs de noms à utiliser, par exemple 8.8.8.8 pour celui de Google.

On va tester l'efficacité de notre cache :

for i in {1..10}; do dig youporn.com | grep time ; done
;; Query time: 169 msec
;; Query time: 0 msec
;; Query time: 0 msec
;; Query time: 0 msec
;; Query time: 0 msec
;; Query time: 0 msec
;; Query time: 0 msec
;; Query time: 0 msec
;; Query time: 0 msec
;; Query time: 0 msec

C'est même nettement moins que ce qu'on obtenait avec Bind pour la première requête : avec cette configuration, la première requête prend moins de 200 ms, alors qu'avec Bind on en était à plus de 2 secondes.

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

Articles similaires

T. BRIOLET : Première milestone Leap et nouveau site officiel

samedi 1 août 2015 à 23:24

Ça y est, la première version de développement d’openSUSE Leap est sortie : la milestone 1.

La version finale sortira en Novembre, elle sera numérotée 42.1 et sera la première version standard (par rapport à Tumbleweed qui est en développement perpétuel) à être en partie basée sur SUSE Linux Entreprise.

Elle apporte de nombreuses mises à jour par rapport à la version 13.2 actuelle : le noyau Linux 4.1, GNOME 3.16, KDE Plasma 5, Firefox 38 et de nombreux autres logiciels mis à jour.

Voici quelques captures, pour l’instant très proches de Tumbleweed :

opensuse-42.1-m1_00opensuse-42.1-m1_09opensuse-42.1-m1_10opensuse-42.1-m1_13

Depuis le démarrage du projet 5450 paquets ont été compilés, dont 1150 proviennent de SUSE Linux Entreprise 12 et le reste d’openSUSE Tumbleweed.

N’hésitez pas à la tester en la téléchargeant ici. Si vous trouvez un bug et qu’il n’est pas dans la liste des bugs connus, vous pouvez le signaler.

 

Autre nouvelle, un énorme changement se prépare pour la page d’accueil du site officiel d’openSUSE :

opensuse-website

Vous pouvez voir la démo ici : http://cyntss.github.io/opensuse-landing-page/

Toutes les infos à cette adresse : https://github.com/cyntss/opensuse-landing-page

En parlant du site web, openSUSE Leap a déjà droit à son portail : https://en.opensuse.org/Portal:Leap et à une page d’info : https://en.opensuse.org/openSUSE:Leap. On voit que le projet redonne de la motivation à toutes les équipes !

 


Syvolc

Sources :
Article Alionet.org : https://www.alionet.org/content.php?695-Premi%C3%A8re-milestone-d-openSUSE-Leap
Annonce officielle : https://news.opensuse.org/2015/07/24/opensuse-releases-first-milestone-for-leap-2/

 

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

Marty : Sécuriser ses DNS : dnscrypt et cache local avec bind

samedi 1 août 2015 à 18:00

On va jouer les cow-boys aujourd'hui : on chiffre ses DNS avec DNSCrypt, puis on se fait un petit cache local avec Bind pour améliorer les perfs.

Les DNS font régulièrement la une des news numériques, pour la simple et bonne raison que c'est souvent via une méthode de DNS menteur que les sites webs controversés sont bloqués. Et par site controversé on entend surtout les sites de partage, en particulier Bittorrent. D'ailleurs si vous ne l'avez pas encore fait, commencez déjà par changer vos DNS pour ne plus utiliser ceux de votre FAI, par exemple ceux de Google. Il existe une chiée de tutoriels un peu partout, on va pas revenir là-dessus.

Quels DNS choisir m'sieur?

C'est bien cool de changer ses DNS, mais si on se préoccupe un peu de sa vie privée, utiliser les DNS de Google, ça pue franchement. Google connaît déjà le contenu de ma boîte mail et de mon agenda, manquerait plus qu'il trace aussi tous les sites web auxquels j'accède. Une initiative intéressante est celle d'OpenNIC, qui vous propose une liste des DNS accessibles les plus proches de chez vous. Tant qu'à faire, configurez aussi les DNS en IPv6, y'a des convertisseurs.

Chiffrer ses requêtes DNS : DNSCrypt

Changer ses DNS, c'est bien joli, mais les requêtes passent toujours en clair par votre FAI. Et ce même si vous vous connectez en HTTPS, voire que vous utilisez un VPN. Bref, ça fait un peu chier. On va chiffrer tout ça grâce à DNSCrypt. C'est un petit soft qui a pour but de chiffrer les communications DNS entre le client (vous) et le serveur DNS. Double avantage : votre FAI ne peut plus lorgner sur vos requêtes DNS, et en plus de ça ça évite les attaques type MITM.

Installation

Sur Ubuntu et dérivés, il existe un PPA qu'il est bien : PPA DNSCrypt. Pour installer, rien de bien sorcier :

sudo add-apt-repository ppa:xuzhen666/dnscrypt
sudo apt-get update && sudo apt-get install dnscrypt-proxy

Par défaut, le service va écouter sur l'adresse 127.0.2.1, port 53. Il suffit donc de paramétrer cette adresse dans vos DNS (aussi en IPv6), et le tour est joué.

Configuration de base : choisir un autre serveur

Par défaut, DNSCrypt passe par OpenDNS. Niveau neutralité, c'est pas ce qu'il y a de mieux... Mais c'est cool, on peut le changer facilement. DNSCrypt est livré avec un beau fichier qui contient toute une série de DNS alternatifs compatibles :

/usr/share/dnscrypt-proxy/dnscrypt-resolvers.csv

C'est pas très joli à lire dans le terminal, le plus facile est peut-être de l'ouvrir avec LibreOffice Calc :

dns.png

Il suffit de faire son marché là-dedans, et copier le nom dans le fichier /etc/default/dnscrypt-proxy, variable DNSCRYPT_PROXY_RESOLVER_NAME. Par exemple ipredator:

...
# Remote DNS(Crypt) resolver.
# You can find a list of resolvers at
# /usr/share/dnscrypt-proxy/dnscrypt-resolvers.csv.
DNSCRYPT_PROXY_RESOLVER_NAME=ipredator
...

Il faut bien sûr redémarrer le service dnscrypt-proxy.

Configuration avancée : serveur DNS aléatoire

Juste parce qu'on a envie de faire les malins, on va ajouter un autre serveur. Pour ça, il suffit d'ajouter une ligne dans le CSV. On peut on trouver à ces endroits : https://dns.d0wn.biz/ ou http://meo.ws/dnsrec.php/. Comme je suis un vrai cow-boy de l'Internet, mon œil torve a été attiré par cette petite note, dans le premier lien :

[DNSCrypt Randomizer]

DNS-Server:	ns1.random.dns.d0wn.biz
IPv4:		178.17.170.133
Location:	Moldova
Provider-Key:	9970:E22D:7F6C:967F:8AED:CEEB:FBC1:94B9:AF54:376E:2BF7:39F1:F466:CBC9:AFDB:2A62
Provider-Name:	2.dnscrypt-cert.d0wn.biz
Ports:		54 80 443 1053 5353 27015

Our randomizer randomize your dns queries through our and the ovpn.to DNSCrypt servers (currently 18!).
This randomizer is only useable with DNSCrypt and still in BETA testing.
All traffic between you and the randomizer is encrypted. Also all traffic between our randomizer and the dns resolver is encrypted.
The dns resolver never get your own IP.

Ouais, on n'a pas peur, on va ajouter le randomizer. En gros, chaque requête va être envoyée à un serveur DNS différent, parmi un choix de 18 serveurs. C'est pas très compliqué, on ajoute cette ligne au fichier dnscrypt-resolvers.csv :

d0wn-md-rnd1,Randomizer d0wn server in Moldova,Server provided by Martin 'd0wn' Albus,Moldova,,https://dns.d0wn.biz,1,no,yes,yes,178.17.170.133:54,2.dnscrypt-cert.d0wn.biz,9970:E22D:7F6C:967F:8AED:CEEB:FBC1:94B9:AF54:376E:2BF7:39F1:F466:CBC9:AFDB:2A62,

Et puis on change la variable DNSCRYPT_PROXY_RESOLVER_NAME dans /etc/default/dnscrypt-proxy :

DNSCRYPT_PROXY_RESOLVER_NAME=d0wn-md-rnd1

On redémarre, et on peut tester sur cette page : https://www.dnsleaktest.com/. Choisissez Extended test, et vous devriez voir apparaître une bonne dizaine de serveurs DNS différents. Yeah baby!

Configuration de ouf : empêcher DNSCrypt de pourrir resolv.conf

Notez que DNSCrypt est un vicieux petit enculé, parce qu'il va automatiquement s'ajouter comme serveur DNS sans que vous n'ayez rien à faire dans /etc/resolv.conf. Ça se passe dans /etc/init.d/dnscrypt-proxy :

...
            if [ -x /sbin/resolvconf ]; then
                echo "nameserver ${DNSCRYPT_PROXY_LOCAL_ADDRESS}" \\
                    | cut -d ':' -f 1 \\
                    | /sbin/resolvconf -a lo.dnscrypt-proxy
            fi
...

C'est pratique, mais c'est pas très cool, parce que ça va écraser la configuration que vous pourriez faire via Network Manager par exemple. Un conseil : on va commenter ces lignes.

Cache DNS : Bind

Utiliser un randomizer situé en Moldavie pour dispatcher ses requêtes à d'autres serveurs situés partout dans le monde, c'est bien. Mais ça a un putain de coût en terme de performance.

Si je fais 10 requêtes DNS en passant par le DNS de Google, le temps par requête est environ 25 ms :

for i in {1..10}; do dig @8.8.8.8 youporn.com | grep time ; done
;; Query time: 27 msec
;; Query time: 26 msec
;; Query time: 25 msec
;; Query time: 25 msec
;; Query time: 33 msec
;; Query time: 24 msec
;; Query time: 26 msec
;; Query time: 28 msec
;; Query time: 21 msec
;; Query time: 26 msec

La même chose avec ma configuration DNSCypt :

for i in {1..10}; do dig @127.0.2.1 youporn.com | grep time ; done
;; Query time: 153 msec
;; Query time: 325 msec
;; Query time: 778 msec
;; Query time: 628 msec
;; Query time: 241 msec
;; Query time: 1768 msec
;; Query time: 86 msec
;; Query time: 201 msec
;; Query time: 217 msec
;; Query time: 173 msec

C'est moche... Très moche. Parfois plus d'une seconde et demi pour résoudre un nom de domaine, ça sent la crevette moisie. On va s'installer un petit cache DNS pour améliorer tout ça, et on va faire ça avec Bind.

Installation

Là c'est du gâteau :

apt-get install bind9

Par défaut, le service va écouter sur l'adresse 127.0.0.1, port 53. Là aussi il suffit donc de paramétrer cette adresse dans vos DNS (aussi en IPv6), et le tour est joué.

Attention : si vous utilisez Bind, il faut vraiment empêcher DNSCrypt de pourrir resolv.conf, sinon ça va merder.

Configuration

L'idée est que Bind va passer par DNSCrypt pour résoudre les adresses. Pour ça, on enfile ses santiags et on va configurer /etc/bind/named.conf.options :

        forwarders {
                127.0.2.1;
        };

En clair, Bind va interroger DNSCrypt lorsqu'il ne connaît pas le nom de domaine à résoudre. Une fois le nom résolu, il va utiliser son cache local. Et là, on va avoir une putain d'amélioration des performances :

for i in {1..10}; do dig @127.0.0.1 youporn.com | grep time ; done
;; Query time: 3302 msec
;; Query time: 0 msec
;; Query time: 0 msec
;; Query time: 0 msec
;; Query time: 0 msec
;; Query time: 0 msec
;; Query time: 0 msec
;; Query time: 0 msec
;; Query time: 0 msec
;; Query time: 0 msec

La première requête est assez longue car on passe par Bind, qui appelle ensuite DNSCrypt. Mais ensuite, ça passe comme dans du beurre car on utilise le cache local.

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

Articles similaires

Dimitri Robert : Windows 10 : et si vous passiez à Linux ?

samedi 1 août 2015 à 09:09

Je ne cacherai pas ma méconnaissance du monde Windows, elle est décrite dans cette interview. Je ne cacherai pas non plus mon aversion pour les logiciels propriétaires en général, ceux de Microsoft en particulier. Il parait qu’en ce premier jour du mois d’août 2015 sort la version 10 du fameux système de Microsoft : Windows. Et il paraît même qu’il est gratuit !

Un Windows gratuit ?

Oui, en apparence, mais pas tout à fait en réalité.

La mise à jour depuis une version 7, 8 ou 8.1 vers la version 10 sera gratuite si vous la faîtes dans les douze prochains mois. Après ce sera payant.

De plus, seule la mise à jour est gratuite, l’installation d’un système neuf est payante. Or, lorsque vous achetez un ordinateur neuf, vous payez également une licence de Windows. Pire, lorsque votre ordinateur plante et que vous demandez de l’aide à votre revendeur informatique, ce dernier vous facturera une licence de Windows pour vous le réinstaller.

Lire : Windows 10 sera gratuit mais si votre PC plante il faudra payer !

Un Windows validé par les services de renseignements ?

Edward SnowdenDonc ce nouveau Windows apporte son lot de nouveautés que vous retrouverez sur les sites de Microsoft, dans la presse spécialisée, sur vos blogs préférés, etc. Mais certaines fonctionnalités, pas forcément nouvelles, reçoivent moins de publicités. Il s’agit des fonctionnalités demandées par la NSA (National Security Agency) agence étatsunienne aujourd’hui bien connue grâce, entre-autres, aux révélations d’Edward Snowden.

Nous savons donc que la NSA espionne les citoyens dans le monde entier et nous apprenons (pour ceux qui ne le savaient déjà) que la NSA demande à Microsoft d’inclure des portes dérobées et des portes d’entrées pour la NSA dans Windows 10 (voici une version traduite en français par Jean Elchinger). Donc, si vous utilisez Windows 10, vous êtes susceptibles de subir des intrusions par la NSA (il est fort probable que les versions précédentes de Windows présentent les mêmes travers).

Ajoutons à cela que l’Assemblée nationale française a voté la loi « Renseignements » qui autorise la surveillance de tous les citoyens. Il n’y a pas forcément de lien avéré entre la NSA et les services français, pas encore.

Vous vous dites peut-être que vous n’avez rien à cacher ? C’est plus simple en effet.

Je n’ai rien à cacher. En fait si, et vous également !

Abandonner Windows pour un système libre !

Quitte à s’adapter et se former à un nouvel environnement pourquoi choisir une cage ? Optez pour une distribution Linux (LinuxMint, Ubuntu, Xubuntu, Mageia, Fedora, etc.) et vous disposerez de l’environnement de bureau de votre choix, avec les logiciels de votre choix (du moment que les logiciels sont prévus pour la plate-forme PC / Linux).

De plus, vous n’avez pas de licence à payer pour avoir le droit de les utiliser, pour avoir accès aux mises à jour.

Distribution Linux

Une distribution est un ensemble comprenant le système GNU / Linux et tous les logiciels vous permettant de travailler (suite bureautique, navigateur Web, traitement d’images, publication assistée par ordinateur, montage vidéo, etc.) Et surtout un gestionnaire d’installation de logiciels qui vous permet de « faire votre marché » en quelques clics et de vous proposer automatiquement les mises à jour lorsqu’elles surviennent.

Trop de distributions ! Vous ne savez laquelle choisir ? Avantage du monde du libre, la plupart des distributions existent en version « live ». Vous la téléchargez (sous la forme d’une image ISO), vous la gravez sur CD (ou clé USB), vous démarrez votre ordinateur depuis le CD ou la clé et vous pouvez ensuite utiliser la distribution, sans installation. Et, si la distribution et son environnement vous plaisent, il ne vous reste qu’à l’installer (ou vous faire aider lors d’une install party).

Quelques conseils pour faire votre choix :

Bien sûr, la liste n’est pas exhaustive.

Je n’utilise que des logiciels libres dont le système GNU/Linux depuis 2002. Aussi je vous propose mon expertise via une formation pour utiliser Linux au quotidien, à destination des utilisateurs non-informaticiens pour permettre de s’approprier ce nouvel environnement.

Pour conclure et pour vous permettre d’avoir un autre avis sur la question, lisez l’article de David Larousserie, journaliste au Monde, expliquant pourquoi choisir GNU/Linux ? (plutôt que Windows ou Mac OS).

Cet article Windows 10 : et si vous passiez à Linux ? est apparu en premier sur Formation logiciel libre.

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

I'm richer than you! infinity loop