Planet Libre

Progi1984 : Utiliser Ansible depuis Windows

Ansible est un logiciel libre pour la configuration et la gestion des ordinateurs. Il combine le déploiement sur plusieurs serveurs, l’exécution des tâches ad-hoc, et la gestion de configuration. Les différents serveurs sont gérés via SSH et ne nécessitent aucune installe. La configuration est faite en YAML.

Problème

Ansible est un outil, qui malheureusement n’a pas le support de Windows pour sa machine de contrôle.
La solution : passer par le « Sous-système Windows pour Linux » / « Windows Subsystem for Linux » (WSL).

Solution Pré-requis

Les pré-requis sont :

  • Une copie légale de Windows 10 (build 14393 ou +) en 64 bits ;
  • Une session Windows avec les droits d’administrateur.
Activation du sous-système Windows pour Linux

Pour cela, il faut aller dans :

  • Paramètres,
  • Mise à jour et sécurité,
  • Pour les développeurs.

Arrivé dans ce menu, il faut activer le « Mode développeur ».
L’activation peut prendre plusieurs minutes pour s’appliquer.

Après cela, il faut aller dans :

  • Programmes et fonctionnalités,
  • Activer ou désactiver des fonctionnalités Windows

Il faut dès lors activer la fonctionnalité « Sous-système Windows pour Linux » puis redémarrer le système.

Installation d’Ansible

Tout d’abord, il faut ouvrir un bash (taper bash dans le menu Démarrer) puis installer pip :

sudo apt-get -y install python-pip python-dev libffi-dev libssl-dev

Après cela, on installe Ansible pour l’utilisateur courant :

pip install ansible --user

Voilà c’est installé mais comment le tester ?

Test d’Ansible

Créons un fichier Ansible test.yml :

--- - hosts: localhost tasks: - debug: msg="Ansible fonctionne !"

Pour le tester, la ligne de commande va permettre d’exécuter le playbook :

ansible-playbook test.yml --connection=local

Cela devrait donner le résultat suivant :

Conclusion

Voilà, vous avez installé le sous-système Windows pour Linux, puis Ansible. A vous les playbooks et l’automatisation.

Cet article Utiliser Ansible depuis Windows est apparu en premier sur RootsLabs.

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

genma : Silence vs signal quelle combinaison ?

Attention : Silence est une application pour un échange de SMS chiffré. Signal envoie des Messages chiffrés (nécessité de connexion via un serveur), mais permet aussi l'envoi et la réception de SMS classique (passage par les services des opérateurs téléphoniques). Je précise donc bien SMS chiffré ou Message chiffré. Il existe un comparatif détaillé de pourquoi l'un ou l'autre de ces applications pour des échanges chiffrés et la réponse, en résumé est "Ca dépend". Pour le détail et le pourquoi ce Ca dépend, voir Support Signal vs Silence.

L'objectif ici est de savoir quelle est la combinaison pour avoir à la fois Silence et Signal sur son smartphone, ne pas avoir à choisir l'un ou l'autre mais pouvoir avoir les deux, pour être joignable via deux canaux de communications chiffrés différents, selon l'exposition / le modèle de menace lié à l'échange en cours (qui a la possibilité de voir les métadonnées de l'échange, voir Support Signal vs Silence).

Protocole de test

J'ai deux téléphones, un smartphone personnel et un smartphone professionnel. J'ai donc fait des tests pour déterminer qu'elle était la combinaison gagnante.

Sur le téléphone professionnel, j'ai mis Signal en application SMS par défaut et Silence en application secondaire. Sur le téléphone personnel j'ai mis Silence en application SMS par défaut et Signal en application secondaire.

Envoi de SMS normaux
Les téléphones les reçoivent en clair dans leurs applications SMS par défaut, et ce dans les deux sens (envoi pro vers perso et inversement).

Après activation des canaux de communication chiffré au sein de Silence et au sein de Signal (échanges des clefs entre les deux applications via les numéros des smartphones).

Envoi d'un SMS chiffré depuis Silence du perso vers le pro : le SMS chiffré arrive dans Signal (application par défaut de SMS) est cryptique / chiffré. En même temps, Silence notifie l'arrivée d'un message et permet de le lire de façon déchiffré.

Envoi d'un SMS chiffré depuis Silence du pro vers le perso : le SMS chiffré arrive dans l'application par défaut Silence et peut être lu. Signal pourrai ne pas être présent.

Envoi d'un message chiffré depuis Signal du perso vers le pro. Et envoi d'un message chiffré depuis Signal du pro vers le pro

L'application Signal n'est pas l'application SMS par défaut ne change rien. Dans tous les cas, l'envoi et la réception du message chiffré nécessite l'activation de la connexion data - d'une connexion à Internet (Wifi ou 3-4G). L'envoi ne peut se faire en chiffré que via une connexion au serveur de Signal, la réception nécessite une connexion Internet.

Tant que la connexion n'est pas active, on reçoit les SMS normaux dans Signal (si l'application est l'application SMS par défaut) et les messages chiffrés à l'activation d'une connexion à Internet.

Conclusion : la bonne combinaison ?

La bonne combinaison pour avoir Signal & Silence sur son smartphone est donc d'avoir Signal en application SMS par défaut et Silence en application secondaire. Il faut garder à l'esprit que pour recevoir des messages chiffrés au sein de Signal, il faut activer la data si on veut être joignable. Signal relèvera les SMS dans tous les cas (SMS classiques et SMS chiffrés), ceux qui sont chiffrés seront aussi lisibles dans Silence en clair.

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

Thuban : Syspatch : Patch n°10 disponible pour OpenBSD 6.2

OpenBSD 6.2 nous livre son correctif n°10 : Dans certaines circonstances, l'entête AH d'IPSec pourrait être plus longue que le paquet réseau ne le permet. La conséquence est grave puisqu'elle fait crasher le noyau !!!

Architectures concernées : amd64, arm64, i386

Après avoir lancé la commande syspatch, il faut redémarrer le système.

----

PS : OpenBSD 6.1 est aussi concerné par ce problème ; cf, le correctif 38 !

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

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

Pour la 11ème semaine de l'année 2018, voici 10 liens intéressants que vous avez peut-être ratés, relayés par le Journal du hacker, votre source d’informations pour le Logiciel Libre francophone !

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

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

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

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

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

Articles similaires

Miamondo : Le partitionnement d’un support de stockage

  Bonjour à toutes et à tous, Suite à un heureux changement d'activité professionnelle, j'ai quelque peu négligé Miamondo. Ne trouvant plus le temps d'écrire, les articles se sont raréfiés et les ronces  ont commencé à envahir le domaine. Cette triste situation est également le résultat d'une inspiration qui n'était plus au rendez-vous. Il faut... Lire la suite →

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

Articles similaires

Thuban : Appel aux tests pour Firefox 59 - OpenBSD 6.2

Le mainteneur de firefox lance un appel à tests pour firefox 59 sur OpenBSD 6.2 :

Il y a pas mal de changement, ça pourrait l'aider de tester et lui indiquer si ça coince.

Pour tester et lui rapporter d'éventuels soucis :

(avant tout, si vous ne voulez pas devoir être superutilisateur pour les opérations suivantes, suivez les instructions du wiki obsd4a )

  • On récupère l'arbre des ports :
cd /usr # cvs -qd anoncvs@anoncvs.fr.openbsd.org:/cvs get -rOPENBSD_6_2 -P ports # find /usr/ports -type d -print0 | xargs -0r chmod g+w
  • Ensuite, on copie les sources d'origine :
cd /usr/ports/www/ cp -r mozilla-firefox mozilla-firefox-59
  • On va dans le nouveau dossier :
cd /usr/ports/www/mozilla-firefox-59
  • On récupère et applique le patch
ftp -o 59.diff "https://marc.info/?l=openbsd-ports&m=152118233714362&q=p3" patch -p0 < 59.diff
  • On compile et installe :
make doas pkg_delete firefox # suppression de l'ancienne version au cas où doas make install

C'est long, c'est normal, car le portage de Firefox 59 sur la version stable d'OpenBSD actuelle demande de rétroporter de nombreux outils.

Testez puis rapportez les bugs à Landry B. : landry@openbsd.org

Voir aussi les conseils pour tester un port ici : https://wiki.obsd4a.net/doku.php?id=openbsd.org:faq:ports:testing

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

Articles similaires

nIQnutn : Manette 8Bitdo ZERO GamePad

Après une envie compulsive d'achat, j'ai fini par acheter la manette 8Bitdo ZERO GamePad. Moi aussi j'ai envie de contribuer à la pollution de notre planète en consommant des produits inutiles. On a tous nos petits défauts, pour Nicolas Hulot c'est la collection de véhicules à moteur, moi, je contribue plus modestement avec ma collection de manettes à 12€ (difficile pour moi de rivaliser face au millionnaire en ULM, soutenez-moi ).

Sans vouloir justifier cet achat inutile, c'est l'objet pratique pour jouer quand je suis en déplacement avec sa taille (facile à ranger), pas besoin de piles et une connexion sans fil en Bluetooth. La disposition des boutons et de la croix directionnelle est traditionnelle et devrait permettre de jouer facilement à la plupart des jeux et émulateurs.

Fiche technique Boutons
  • Croix directionnelle
  • 4 boutons
  • 2 gâchettes
  • Boutons Start / Select
Compatibilité
  • Windows
  • Android
  • macOS
  • Linux / Raspberry Pi
Connectivité
  • Sans-fil : Bluetooth
Alimentation
  • Batterie 180mAh Li-on, rechargeable
  • 18 heures de jeux pour 1/2 heure de charge
Dimension / Poids
  • 73mm x 35mm x 10mm
  • 50g
Contenu de la boîte
  • Manette
  • Câble micro-USB
  • Dragonne
  • Notice

Un peu déçu de ne pas exploser mon empreinte carbone, l'emballage est minimaliste et comprend la manette, une dragonne, un câble USB/micro USB qui se mesure avec un pied à coulisse et une pseudo notice (qui rivalise avec les projets les mieux documentés du libre).

On ne va pas se mentir, la taille est surprenante (plus petite qu'une boîte de Tic Tac). Ceci dit, elle se prend plutôt bien en main même si les gâchettes ne sont pas très accessibles. Soyons clair, compte tenu de la taille et de l'ergonomie, c'est pas fait pour jouer des heures et ça va pas être facile de faire des combos sur Street Fighter.

Utilisation

La compatibilité avec GNU/Linux n'est pas toujours indiquée clairement sur les sites mais ça fonctionne chez moi sans aucune modification ou configuration.

Pour allumer la manette il faut maintenir appuyer 2 secondes la touche Start. Ensuite, pour l'appairer, il faut maintenir appuyer 2 secondes la touche Select.
La manette dispose de plusieurs modes de connexion différents. Lorsqu'on l'allume, il faut maintenir les touches correspondant au mode:

ModePower OnPlatformNote GamepadStartAndroidAndroid games and emulators iCadeStart + AiOS- KeyboardStart + BOSXKeyboard games JoystickStart + RWindowsSupport multiplayer ShutterSelect-Shutter

La manette dispose également d'une LED qui permet de déterminer si elle est appairée (et son mode) et avoir un indicateur de batterie.

  • LED bleue clignotante : appairage
  • LED bleue fixe: manette connectée
  • LED verte clignotante: batterie en charge
  • LED verte fixe: batterie chargée
  • LED rouge clignotante: batterie faible

J'ai rencontré un problème avec cette manette, notamment avec le bouton Select. Il sert de bouton pendant le jeu mais aussi pour l’appairage, du coup, on se met à appairer la manette au milieu d'une partie. J'imagine que ça peut faire la même chose avec le bouton Start bien que je n'ai pas rencontré le cas.

J'ai pas beaucoup eu l'occasion de l'utiliser, principalement une petite session dans le train de 45 minutes sans aucun soucis. Je ne suis pas déçu compte tenu du prix.

Reconfigurer les boutons

Avec QJoyPad, il est possible de reconfigurer les boutons de la manette. Il permet d'attribuer des touches clavier/souris et mouvement de souris aux touches de la manette. Utile pour l'utiliser avec n'importe quel logiciel.

Pour installer QJoyPad et jstest-gtk:

[codeRoot]apt install qjoypad jstest-gtk[/codeRoot]

C'est un peu long à configurer la première fois mais rien de difficile (on peut s'aider de jstest-gtk).
Pratique, on peut définir différents profils et les changer rapidement depuis la zone de notification.

Problème, je n'ai pas réussi à attribuer la touche ? (seulement Maj et ,)
Par hasard, si quelqu'un à une solution à me proposer.

Conclusion

Je n'ai pas suffisamment testé pour définir l'autonomie réelle mais ça semble être correct.
Sur une courte période, l'utilisation est sympa mais éviter certains jeux comme les jeux de combat à cause de la croix directionnelle et des gâchettes.
La grande interrogation, c'est la durée de vie de ce type de matériel (boutons et batterie) ? On verra bien ce que ça donne dans le temps.
La seule chose que je peux affirmer maintenant, c'est que ça fonctionne parfaitement sous Debian.

Ressources nIQnutn CC-BY

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

blog-libre : Sigal pour générer une galerie photo statique et minimaliste

Dans l’article Un bref retour sur le Raspberry Pi 3 Modèle B j’avais dit que j’allais me servir du Pi notamment pour une galerie photo.

Mon fils a maintenant plus de deux ans et très régulièrement mes proches demandent des photos. Je n’avais pas de solution satisfaisante. En général soit les gens mettent leurs photos dans Drive/Dropbox/iCloud etc. bref dans le cloud puis partagent le dossier soit ils font une grosse archive compressée de nombreuses photos, l’uploade sur un service comme WeTransfer et font tourner le lien.

D’un côté je n’ai aucun service cloud et ça me gêne de mettre ces photos en ligne, de l’autre l’archive compressée j’ai toujours eu la flemme d’en faire et vous pouvez être sûr que les vieux n’arriveront pas à décompresser l’archive. C’est aussi un des rares besoins que j’estime ne pas pouvoir traiter en dehors de chez moi. Je me vois mal stocker plusieurs Go de photos personnelles et familiales sur un hébergement web chez OVH par exemple, l’idée me dérange.

Cahier des charges et Piwigo

Voici mon cahier des charges :

  • Une application minimaliste et simple car je veux avoir le moins d’énergie à dépenser pour entretenir ce service
  • Une application qui fasse la part belle aux photos, ça peut paraître cocasse mais la plupart des applications sont alourdies par tout le système de gestion des photos, upload, possibilité de commenter, identification…
  • Idéalement pas de base de données donc exit MariaDB/MySQL
  • Simple également pour la personne qui va consulter les photos de cette galerie, beaucoup d’applications sont disponibles mais niveau utilisabilité…

Après une recherche chez Sebsauvage (gallery, photo gallery, galerie), un lien fort pertinent, j’ai retenu Sigal. Avant d’en parler, je m’arrête sur Piwigo qui pourrait vous intéresser. Piwigo est activement maintenu, GPLv2, relativement simple à installer mais… base de données, interface lourde et je trouve mal pensée avec des icônes petites, peu compréhensibles. Voici la démo Piwigo et une photo. Voici la démo Sigal et une photo.

Piwigo est une application PHP, c’est ce que vous trouverez comme galerie photo 95% du temps. Sigal est un générateur de galerie photo. Sigal va générer une galerie photo avec vos photos/vidéos dedans, c’est vers ce site que devra pointer votre configuration apache ou nginx.

Installation et utilisation

# Je me connecte sur mon Raspberry Pi apt install libjpeg-dev libopenjp2-7-dev python3-dev python3-pip pip3 install pillow pip3 install sigal sigal --help mkdir -p /var/www/galerie/bestiole/{2015,2016,2017,2018} # Je crée les dossiers cd /var/www/galerie sigal init

Voici les principales modifications que j’ai apporté au fichier de configuration sigal.conf.py qui se trouvera dans /var/www/galerie après le sigal init.

title = "Une belle bestiole" # Le titre de la galerie photo source = 'bestiole' # Là où sigal va chercher les photos/vidéos destination = 'site' # Là où sigal génère la galerie photo donc dans le dossier courant, il va créer un dossier 'site' theme = 'photoswipe' # Le thème utilisé : colorbox (default), galleria, photoswipe use_orig = True # Use originals in gallery (default: False). If True, this will bypass all processing steps (resize, auto-orient, recompress, and any plugin-specific step) orig_link = True # Originals will be symlinked if orig_link = True, else they will be copied

Maintenant on va naturellement mettre des photos dans le dossier bestiole. Je le fais avec scp -r 'MAI 2017' pi@192.168.3.10:/var/www/galerie/bestiole/2017/ mais vous faites comme vous voulez : clé USB, FTP (il faut installer un serveur FTP bien-sûr), SSHFS…

sigal build # Pour générer la galerie sigal serve # Pour faire tourner un serveur web basique, c'est UNIQUEMENT pour tester le rendu, allez contempler votre œuvre sur http://adresseipdelaraspberrypi:8000/

Voici le rendu (thème photoswipe). Je sais mon fils est magnifique, normal il ressemble à son père hi hi hi.

Le minimalisme c’est bien mais il faut protéger un minimum htpasswd -c /var/www/galerie/site/.htpasswd bestiole. Si vous utilisez apache, la configuration donnera ceci en gros.

DocumentRoot /var/www/galerie/site Alias /photos /var/www/galerie/site AuthUserFile /var/www/galerie/site/.htpasswd AuthName "Merci de taper les identifiants" AuthType Basic Require valid-user Allowoverride All

La prochaine fois que vous voudrez ajouter des photos.

scp -r 'MARS 2018' pi@192.168.3.10:/var/www/galerie/bestiole/2018/ cd /var/www/galerie && sigal build /# Sur votre Raspberry Pi

Pour modifier les informations sur les albums voir Album information (avec markdown), ça va donner /var/www/galerie/bestiole/2017/MAI 2017/index.md par exemple. Pour modifier les informations sur les images voir Image information, ça va donner /var/www/galerie/bestiole/2017/MAI 2017/20170513_085643.md par exemple. Personnellement je ne fais rien.

Avantages et inconvénients

Avantages :

  • Aucune maintenance à effectuer puisque c’est un site statique (il génère juste html, css, javascript, pas de code exécutable côté serveur) au contraire d’une application php qu’il faut mettre à jour, à la limite pip3 install sigal --upgrade tous les 6 mois
  • Statique ne veut pas dire sans animation, JavaScript est là pour charger les photos suivantes quand on scrolle vers le bas par exemple
  • Il ne génère que ce qui est nécessaire. Si vous ajoutez un nouveau dossier, il ne va pas regénérer les dossiers déjà présents. Si vous voulez forcer une regénération complète, sigal build -f
  • Ça rend très bien sur smartphone/tablette (responsive)
  • Possibilité de désactiver tout traitement des photos/vidéos, c’est ce que j’ai fait (use_orig = True et orig_link = True) ainsi 1/ La génération du site est plus rapide 2/ Vous évitez une duplication de vos photos stockées dans /var/www/galerie/bestiole dans /var/www/galerie/site. Par exemple moi le dossier bestiole pèse 1,3 Go (vidéos…) et le dossier site pèse 5,1 Mo (il fait des liens symboliques vers les photos/vidéos du dossier bestiole)
  • Il y a un vrai plaisir à avoir ses photos disponibles en ligne, on y retourne souvent (quand on a un petit coup de mou par exemple). Plus les photos sont aisément accessibles, plus on en profite en fait

Inconvénients :

  • Gère les vidéos mais les présente de la même manière que les photos, on ne peut donc pas les reconnaître entre elles
  • J’ai un bug très pénible qui ressemble à ça, dès que je sigal build, plus rien n’apparaît sur le prompt de mon terminal. J’ai compris le truc donc après chaque sigal build, je me déconnecte (Ctrl + d) puis je me reconnecte. Je ne sais pas si ça vient de ma config. Si vous avez le même souci, laissez un commentaire et je m’occuperai de creuser l’issue

Un besoin traité grâce au Libre, au suivant !

Gravatar de blog-libre
Original post of blog-libre.Votez pour ce billet sur Planet Libre.

Articles similaires

Nono : Certificat wildcard avec letsencrypt

Petite note de service : j'ai mis en place notre certificat wildcard pour m0le.net via letsencrypt de façon relativement simple.

Grosso modo, il n'y a plus qu'un certificat pour tous les sous-domaines que nous utilisons (ainsi qu'un certificat pour m0le.net tout cours)

Je devais :

  • générer un nouveau certificat wildcard *.m0le.net
  • supprimer les anciens certificats pour les sous-domaines
Génération et activation du certificat
  • L'activation doit se faire par DNS (en ajoutant un champ TXT dans vos entrées DNS)
  • Il faut utiliser l'api 02 de letsencrypt
  • avoir un client compatible (dans mon cas, certbot en version >= 0.22.0)

Voici en gro la manip (sous Debian) :

# certbot --version

# certbot certonly --manual -d *.m0le.net --preferred-challenges dns-01 --server https://acme-v02.api.letsencrypt.org/directory

Suppression des anciens certificats (après test 😉 )

# certbot -delete --cert-name sub.m0le.net //autant de fois que de sous domaine

Et bim, je ne dois renouveler plus que deux certificats (un pour m0le.net, un pour *.m0le.net)... Merci letsencrypt !

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

Articles similaires

fgallaire : Quel DPL pour 2018 ?

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

La question de la légitimité d’un scrutin avec un seul candidat, posée en 2016 par Paul Wise lorsque Mehdi Dogguy fut seul à se présenter, est malheureusement à nouveau d’actualité. En effet, seul le DPL sortant s’est porté candidat cette année :

Et force est de constater que les candidats ne se bousculent encore et toujours pas au portillon pour devenir DPL. Peu de développeurs semblent motivés par cette charge comme l’exprimait déjà Lars Wirzenius il y a deux ans :

After some serious thinking, I’ve decided not to nominate myself in the Debian project leader elections for 2016. […] Why not run? I don’t think I want to deal with the stress. I already have more than enough stress in my life, from work.

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

Les presque mille développeurs Debian seront libres de voter du 1er au 14 avril lors d’un vote utilisant la méthode Condorcet car, même en l’absence d’autres candidats, Chris Lamb reste en concurrence avec le choix None Of The Above.

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

Tweet

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

Articles similaires

Littlewing : Installation de Vagrant

Vagrant est un outil permettant de construire des environnements de travail virtualisés hébergés sur vmware, virtualbox ou encore docker. Il permet par exemple de construire et gérer une VM dans un seul et même workflow et d’éviter les exports et partages de machines virtuelles ( tout est déclaré dans un seul et même fichier ).

Vagrant

Voici comment je l’ai installé sur ma debian 9.

Installation

Le paquet fourni dans la distribution n’est pas compatible avec la version de virtualbox fournie dans le repo virtualbox.org. j’ai donc installé la version disponible sur le site de vagrant.

# dpkg -i vagrant_2.0.2_x86_64.deb Configuration Proxy

Si vous avez un proxy, il faut effectuer le paramétrage suivant

$ export http_proxy="http://user:password@host:port" $ export https_proxy="http://user:password@host:port" $ vagrant plugin install vagrant-proxyconf $ export VAGRANT_HTTP_PROXY="http://user:password@host:port" $ export VAGRANT_NO_PROXY="127.0.0.1" $vagrant box add \\ precise64 https://files.hashicorp.com/precise64.box $ export VAGRANT_DEFAULT_PROVIDER=virtualbox Installation d’une VM

Voici un exemple pour une VM virtualbox basée sur ubuntu

$ mkdir ~/vagrant $ cd ~/vagrant $ vagrant init pristine ubuntu-budgie-17-x64 $ vagrant up

Avec ces quelques commandes j’obtiens un environnement ubuntu hébergé sur virtualbox sans avoir à installer et configurer la vm. Pour l’instant je ne rentre pas trop dans les détails de la construction des images. Peut-être que je m’y plongerai prochainement…

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

Articles similaires

RaspbianFrance : Sortie de la nouvelle Raspberry Pi 3B+, quelles nouveautés, quel prix, où l’acheter ?

Aujourd’hui c’est la journée du chiffre π (il existe vraiment une journée pour n’importe quoi), et la fondation en a profité pour annoncer la sortie d’une nouvelle version de la Raspberry Pi 3, la Pi 3B+ !
Connection réseau, processeur amélioré, nous allons voir ensemble quelles nouveautés nous réserve cette Raspberry Pi 3B+ qui est disponible dès maintenant chez notre partenaire Kubii.fr aux alentours de 38€.
Voir la raspberry P 3B+ chez kubii.fr

La Raspberry Pi 3B+ améliore la connectique réseau

Avec la Raspberry Pi 3B+, la fondation semble surtout s’être concentrée sur la partie connexion réseau de la Pi principalement en améliorant l’existant. Trois points sont donc améliorés, le Wi-Fi, l’Ethernet, ainsi que le Bluetooth.

Une puce Wi-Fi dual-band

Au niveau du Wi-Fi, on passe d’un Wi-Fi type 802.11n à un Wi-Fi type 802.11ac, avec un Wi-Fi sur la bande 2.4 Ghz seulement, à un Wi-Fi sur l bande 2.4 ET 5 Ghz. Plusieurs avantages sont à noter.
Tout d’abord, une amélioration de la vitesse théorique du Wi-Fi (même si dans les faits il est loin d’être certain que la différence sera flagrante), ensuite un meilleure compatibilité avec les routeurs, puisqu’il sera désormais possible de connecter la pi à une routeur 5 Ghz. Enfin, une plus faible interférence avec les réseaux voisins, le Wi-Fi 5 Ghz étant moins utilisé que le 2.4.

Un port Ethernet plus rapide

Concernant l’Ethernet, les choses sont plus simples, la Raspberry Pi 3B+ offrira un port Ethernet à 300Mbps, contre seulement 100Mbps pour la Pi 3. Une très bonne nouvelle donc pour ceux qui voudraient monter un NAS avec la Raspberry Pi.

Notez qu’il devient aussi possible d’alimenter la Pi directement par le port Ethernet en y ajoutant le Power Over Enternet Hat (PoE Hat pour les intimes), lequel devrait être disponible sur le marché d’ici peu.

Passage au Bluetooth 4.2

Enfin, pour ce qui est du Bluetooth, on passe d’un bluetooth 4.1 à un bluetooth 4.2.

Ce dernier offre une meilleure sécurité du Bluetooth, avec notamment l’ajout d’une fonctionnalité censée empêcher de suivre la position de l’utilisateur sans son accord. Le bluetooth 4.2 propose aussi des vitesses de transfert accrues, annoncées comme 2,5 fois plus rapides (en théorie bien entendu, les faits seront probablement un peu différents). Enfin, la consommation électrique devrait être plus faible.

Meilleure sécurité, vitesse améliorée, consommation réduite, le Bluetooth 4.2 devrait donc être une bonne nouvelle pour tout ce qui est domotique et objet connecté !

Un processeur légèrement plus rapide

En dehors des améliorations au niveau de la connectique réseau, la Raspberry Pi 3B+ offre également une mise à jour du processeur, en passant d’un Broadcom BCM2837 cadencé à 1.2 GHz à un Broadcom BCM2837B0 cadencé à 1.4 GHz.

La différence n’est pas énorme et ne devrait pas impliquer de pics de performances énormes comme nous avons pu les connaître entre les Pi 2 et 3, mais elle est tout de même d’environ 15% et permet ainsi d’obtenir, de base, une cadence plus intéressante que celle d’une Pi 3 overclockée.

Si les performances pures ne devraient pas s’envoler, la fondation a néanmoins annoncé que ce nouveau processeur améliore grandement la dissipation thermique ainsi que la stabilité de l’alimentation électrique. Là encore donc, bonne nouvelle pour les bidouilleurs fans de domotique et d’IoT.

Acheter la Raspberry Pi 3B+, prix et disponibilité

Dernière question mais pas des moindres, celle du prix et de la disponibilité du produit. Comme à son habitude la fondation a tenu à conserver le prix historique de la pi et la Raspberry Pi 3B+ devrait donc être disponible aux alentours de 35€.

Contrairement à la Pi Zéro, la Raspberry Pi 3B+ devrait, à terme, remplacer totalement la Raspberry Pi 3, et sa disponibilité ne devrait donc pas poser de problème.

Pour le moment la Raspberry Pi 3B+ est disponible aux alentours de 38€ chez kubii.fr.

Voir la raspberry P 3B+ chez kubii.fr

Elle n’est en revanche pas encore disponible sur Amazon, mais cela ne devrait pas tarder, nous mettrons à jour l’article dès que ce sera le cas !

 

L’article Sortie de la nouvelle Raspberry Pi 3B+, quelles nouveautés, quel prix, où l’acheter ? est apparu en premier sur Raspbian-France.

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

Articles similaires

Thuban : Trouver le miroir OpenBSD le plus rapide pour vous

Il y a pléthore de miroir OpenBSD disponibles, il faut choisir dans la liste.
Jusqu'à présent, je me contentait de regarder l'emplacement géographique pour savoir quoi mettre dans le fichier /etc/installurl afin d'installer les paquets facilement.
Malheureusement, je trouvais que ça manquait un peu de précision.

Vous me connaissez, qu'à cela ne tienne, j'ai fait un script qui s'appelle ffom : find fast openbsd mirror
Ce qu'il fait :

  • Il récupère la liste des miroire à partir de la liste officielle
  • Il teste les uns après les autres les miroirs
  • Lorsque vous appuyez sur ctrl-c ou attendez la fin de tous les tests, il le trie en ordre croissant de temps de réponse : le premier est donc le meilleur. J'aurais découvert la commande "trap", vraiment cool!
  • Il n'a besoin que de curl.

Je ne doute pas qu'on puisse faire mieux, mais ça marche bien pour l'instant :)

Vous pourrez trouver ce script ci-dessous ou :

#!/bin/sh # ffom : find fast openbsd mirror # Auteur : thuban # licence : MIT # Description : cherche le miroir OpenBSD le plus rapide # Depends : curl t=$(mktemp) MIRRORS="$(curl -s https://www.openbsd.org/ftp.html | grep -Eo "(https?|ftp)://.*/pub/OpenBSD/" |uniq)" NB=$(echo $MIRRORS | wc -w | tr -d ' ') COUNT=1 end() { clear echo 'RESULTS:' echo '--------' sort -g $t rm $t exit } trap end INT echo "Hit ctrl-c to stop and see results" for URL in $MIRRORS; do echo "...testing $URL [${COUNT}/${NB}]" time=$(curl --silent --output /dev/null --max-time 30 --write-out %{time_total} "$URL") echo "$time : $URL" >> $t COUNT=$(($COUNT + 1)) done end

Voici le classement pour moi :

0.170478 : http://ftp2.fr.openbsd.org/pub/OpenBSD/ 0.176536 : http://mirror.ox.ac.uk/pub/OpenBSD/ 0.202198 : http://mirror.exonetric.net/pub/OpenBSD/ 0.203528 : http://ftp.man.poznan.pl/pub/OpenBSD/ 0.206931 : http://www.obsd.si/pub/OpenBSD/ 0.300705 : http://ftp.aso.ee/pub/OpenBSD/ 0.308147 : http://mirror.switch.ch/ftp/pub/OpenBSD/ 0.325268 : http://openbsd.mirrors.pair.com/pub/OpenBSD/ 0.357502 : https://ftp.hostserver.de/pub/OpenBSD/ 0.369432 : https://mirrors.ircam.fr/pub/OpenBSD/ 0.380675 : https://anorien.csc.warwick.ac.uk/pub/OpenBSD/ 0.384045 : http://mirrors.mit.edu/pub/OpenBSD/ 0.390400 : https://www.mirrorservice.org/pub/OpenBSD/ 0.392840 : https://mirror.hs-esslingen.de/pub/OpenBSD/ 0.407639 : http://mirrors.gigenet.com/pub/OpenBSD/ 0.409608 : https://ftp2.eu.openbsd.org/pub/OpenBSD/ 0.430520 : https://mirror.bytemark.co.uk/pub/OpenBSD/ 0.431837 : https://ftp.spline.de/pub/OpenBSD/ 0.450512 : https://mirrors.dotsrc.org/pub/OpenBSD/ 0.465088 : https://fastly.cdn.openbsd.org/pub/OpenBSD/ 0.465551 : http://piotrkosoft.net/pub/OpenBSD/ 0.474384 : https://mirrors.dalenys.com/pub/OpenBSD/ 0.514941 : https://ftp.cc.uoc.gr/pub/OpenBSD/ 0.522097 : https://ftp.nluug.nl/pub/OpenBSD/ 0.549315 : http://mirrors.unb.br/pub/OpenBSD/ 0.574759 : https://openbsd.ipacct.com/pub/OpenBSD/ 0.596792 : https://ftp.bit.nl/pub/OpenBSD/ 0.601835 : https://openbsd.delfic.org/pub/OpenBSD/ 0.614496 : https://mirror.litnet.lt/pub/OpenBSD/ 0.632571 : https://mirrors.pidginhost.com/pub/OpenBSD/ 0.647992 : https://openbsd.mirror.netelligent.ca/pub/OpenBSD/ 0.658851 : http://ftp.jaist.ac.jp/pub/OpenBSD/ 0.691112 : https://ftp.fau.de/pub/OpenBSD/ 0.695468 : https://mirror.csclub.uwaterloo.ca/pub/OpenBSD/ 0.699224 : https://mirrors.nav.ro/pub/OpenBSD/ 0.715067 : ftp://mirror.exonetric.net/pub/OpenBSD/ 0.717398 : http://mirror.rise.ph/pub/OpenBSD/ 0.731446 : https://openbsd.cs.toronto.edu/pub/OpenBSD/ 0.739496 : ftp://mirrors.ircam.fr/pub/OpenBSD/ 0.767239 : https://ftp.fsn.hu/pub/OpenBSD/ 0.775231 : https://openbsd.mirror.garr.it/pub/OpenBSD/ 0.796890 : https://ftp4.usa.openbsd.org/pub/OpenBSD/ 0.838188 : http://kartolo.sby.datautama.net.id/pub/OpenBSD/ 0.843364 : https://ftp.eu.openbsd.org/pub/OpenBSD/ 0.867719 : https://ftp5.usa.openbsd.org/pub/OpenBSD/ 0.872131 : ftp://ftp.bytemine.net/pub/OpenBSD/ 0.873076 : ftp://ftp.bit.nl/pub/OpenBSD/ 0.876426 : https://ftp.halifax.rwth-aachen.de/pub/OpenBSD/ 0.906848 : https://ftp.heanet.ie/pub/OpenBSD/ 0.910614 : ftp://mirror.switch.ch/pub/OpenBSD/ 0.917422 : ftp://ftp.mirrorservice.org/pub/OpenBSD/ 0.951280 : https://ftp.OpenBSD.org/pub/OpenBSD/ 0.992542 : https://mirror.esc7.net/pub/OpenBSD/ 0.997968 : https://mirrors.ucr.ac.cr/pub/OpenBSD/ 1.002347 : ftp://ftp.nluug.nl/pub/OpenBSD/ 1.004686 : https://ftp3.usa.openbsd.org/pub/OpenBSD/ 1.018899 : https://mirrors.sonic.net/pub/OpenBSD/ 1.028484 : ftp://mirror.hs-esslingen.de/pub/OpenBSD/ 1.047536 : ftp://mirror.ox.ac.uk/pub/OpenBSD/ 1.072567 : ftp://ftp.irisa.fr/pub/OpenBSD/ 1.075051 : https://cloudflare.cdn.openbsd.org/pub/OpenBSD/ 1.146726 : ftp://ftp.man.poznan.pl/pub/OpenBSD/ 1.156617 : https://ftp.bytemine.net/pub/OpenBSD/ 1.220939 : https://openbsd.c3sl.ufpr.br/pub/OpenBSD/ 1.225577 : ftp://ftp.piotrkosoft.net/pub/OpenBSD/ 1.228718 : ftp://ftp.icm.edu.pl/pub/OpenBSD/ 1.261707 : ftp://mirror.bytemark.co.uk/pub/OpenBSD/ 1.276578 : ftp://ftp2.eu.openbsd.org/pub/OpenBSD/ 1.286102 : https://mirror.vdms.io/pub/OpenBSD/ 1.289844 : ftp://ftp.heanet.ie/pub/OpenBSD/ 1.290457 : ftp://ftp.ulak.net.tr/pub/OpenBSD/ 1.298279 : ftp://mirror.yandex.ru/pub/OpenBSD/ 1.308601 : https://mirror.leaseweb.com/pub/OpenBSD/ 1.320563 : ftp://ftp.hostserver.de/pub/OpenBSD/ 1.328281 : https://openbsd.mirror.constant.com/pub/OpenBSD/ 1.353299 : https://openbsd.hk/pub/OpenBSD/ 1.384652 : ftp://mirrors.dalenys.com/pub/OpenBSD/ 1.408751 : ftp://mirrors.pidginhost.com/pub/OpenBSD/ 1.462666 : ftp://ftp.spline.de/pub/OpenBSD/ 1.510367 : ftp://ftp.aso.ee/pub/OpenBSD/ 1.515511 : ftp://ftp.eu.openbsd.org/pub/OpenBSD/ 1.582234 : ftp://mirror.one.com/pub/OpenBSD/ 1.629271 : ftp://ftp.cc.uoc.gr/pub/OpenBSD/ 1.643345 : ftp://openbsd.ipacct.com/pub/OpenBSD/ 1.765213 : https://mirrors.syringanetworks.net/pub/OpenBSD/ 1.799737 : ftp://mirrors.mit.edu/pub/OpenBSD/ 1.860721 : ftp://mirror.esc7.net/pub/OpenBSD/ 1.954544 : http://mirror.internode.on.net/pub/OpenBSD/ 1.984793 : https://mirror.one.com/pub/OpenBSD/ 1.995199 : ftp://mirror.csclub.uwaterloo.ca/pub/OpenBSD/ 2.006020 : ftp://ftp.fsn.hu/pub/OpenBSD/ 2.007276 : ftp://ftp2.fr.openbsd.org/pub/OpenBSD/ 2.013689 : ftp://ftp4.usa.openbsd.org/pub/OpenBSD/ 2.025392 : ftp://ftp5.usa.openbsd.org/pub/OpenBSD/ 2.028912 : ftp://mirror.litnet.lt/pub/OpenBSD/ 2.268570 : ftp://ftp.obsd.si/pub/OpenBSD/ 2.299880 : ftp://openbsd.cs.toronto.edu/pub/OpenBSD/ 2.365331 : ftp://mirrors.dotsrc.org/pub/OpenBSD/ 2.416547 : https://ftp.icm.edu.pl/pub/OpenBSD/ 2.516440 : ftp://mirrors.sonic.net/pub/OpenBSD/ 2.528243 : ftp://ftp3.usa.openbsd.org/pub/OpenBSD/ 2.533396 : https://mirror.aarnet.edu.au/pub/OpenBSD/ 2.772639 : ftp://mirrors.syringanetworks.net/pub/OpenBSD/ 3.161285 : ftp://openbsd.c3sl.ufpr.br/pub/OpenBSD/ 3.478581 : ftp://mirrors.unb.br/pub/OpenBSD/ 3.589945 : https://mirror.yandex.ru/pub/OpenBSD/ 3.689257 : https://ftp.rnl.tecnico.ulisboa.pt/pub/OpenBSD/ 3.760751 : ftp://ftp.jaist.ac.jp/pub/OpenBSD/ 3.962318 : ftp://mirror.rise.ph/pub/OpenBSD/ 4.074385 : https://ftp.yzu.edu.tw/pub/OpenBSD/ 4.943132 : ftp://ftp.yzu.edu.tw/pub/OpenBSD/ 5.158715 : ftp://mirror.internode.on.net/pub/OpenBSD/ 6.345436 : https://ftp.fr.openbsd.org/pub/OpenBSD/ 6.390462 : ftp://anorien.csc.warwick.ac.uk/pub/OpenBSD/ 14.369035 : https://www.ftp.ne.jp/pub/OpenBSD/ 18.108227 : ftp://ftp.kddilabs.jp/pub/OpenBSD/

Ces tests seraient à réaliser un certain nombre de fois pour être plus précis.
Tiens, un version javascript de ce truc serait pas mal... AJAX risque de bloquer les requêtes cross-domain, donc ça dépasse un peu mon niveau... À bon entendeur ;)

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

Articles similaires

Renault : [F28] Participez à la journée de test consacrée à l'internationalisation

Aujourd'hui, ce mardi 13 mars, est une journée dédiée à un test précis : sur l'internationalisation de Fedora. En effet, durant le cycle de développement, l'équipe d'assurance qualité dédie quelques journées autours de certains composants ou nouveautés afin de remonter un maximum de problèmes sur le sujet.

Elle fournit en plus une liste de tests précis à effectuer. Il vous suffit de les suivre, comparer votre résultat au résultat attendu et le notifier.

En quoi consiste ce test ?

Comme chaque version de Fedora, la mise à jour de ses outils impliquent souvent l’apparition de nouvelles chaînes de caractères à traduire et de nouveaux outils liés à la prise en charge de langues (en particulier asiatiques).

Pour favoriser l'usage de Fedora dans l'ensemble des pays du monde, il est préférable de s'assurer que tout ce qui touche à l'internationalisation de Fedora soit testée et fonctionne. Notamment parce qu'une partie doit être fonctionnelle dès le LiveCD d'installation (donc sans mise à jour).

Les tests du jour couvrent :

  • Le bon fonctionnement d'ibus pour la gestion des entrées claviers ;
  • La personnalisation des polices de caractères ;
  • L'installation automatique des paquets de langues des logiciels installés suivant la langue du système ;
  • La traduction fonctionnelle par défaut des applications ;
  • Les nouvelles polices chinoises,japonaises et coréennes de Google Noto (changement de Fedora 28) ;
  • Synchronisation de glibc avec les dernières normes CLDR (changement de Fedora 28) ;
  • Boîte de dialogue IBus pour récupérer un Emoji à partir de son annotation et de sa description UNICODE (changement de Fedora 28) ;
  • Test de Fontconfig 2.13 (changement de Fedora 28).

Bien entendu, étant donné les critères, à moins de savoir une langue chinoise, l'ensemble des tests n'est pas forcément réalisable. Mais en tant que francophones, de nombreuses problématiques nous concernent et remonter les problèmes est important. En effet, ce ne sont pas les autres communautés linguistiques qui identifieront les problèmes d'intégration de la langue française.

Comment y participer ?

Vous pouvez vous rendre sur la page des tests pour lister les tests disponibles et rapporter vos résultats. La page wiki récapitule les modalités de la journée.

Si vous avez besoin d'aide lors du déroulement des tests, n'hésitez pas de faire un tour sur IRC pour recevoir un coup de main sur les canaux #fedora-test-days et #fedora-fr (respectivement en anglais et en français) sur le serveur Freenode.

En cas de bogue, il est nécessaire de le rapporter sur le BugZilla. Si vous ne savez pas faire, n'hésitez pas à consulter la documentation correspondante.

De plus, si une journée est dédiée à ces tests, il reste possible de les effectuer quelques jours plus tard sans problème ! Les résultats seront globalement d'actualité.

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

Articles similaires

Dimitri Robert : GIMP : rendre transparent le fond uni d’une image

Je le remarque, les articles sur le détourage d’images avec GIMP remporte un certain succès. Voici cette fois une reprise améliorée d’un article que j’avais écrit dans Linux Pratique il y a quelques années : rendre transparent le fond uni d’une image.

Le problème

Cela peut être un dessin réalisé à la main puis scanné, ou à la tablette graphique. Cela peut également être une photo réalisée sur fond uni (dans un studio photo par exemple). Prenons par exemple cette photo de framboises sur fond blanc. Photo de José Carlos Casimiro sous licence CC By 2.0.

Le premier réflexe serait sans doute d’utiliser l’outil Sélection contiguë (ou baguette magique pour conserver une analogie photoshopienne), mais, les bords étant flous par endroits, cela risque de demander pas mal de temps de nettoyage.

Comment faire

Masquer la photo avec elle-même

Utilisons plutôt la photo elle-même comme élément de découpe : en effet, le contraste entre le fond blanc et le sujet coloré est suffisamment prononcé. Depuis le calque contenant la photo (le seul pour l’instant), ajoutez un masque de calque. Initialisez-le avec la copie du calque en niveaux de gris. Pensez à inverser le masque. Si vous oubliez, vous pourrez inverser les couleurs du masque à postériori via le menu Couleurs > Inverser.

Ajouter un masque de calque

Important ! Nous avons désormais deux entités : le calque et le masque. Dans la fenêtre des calques, repérez bien laquelle des deux est active, sa vignette est entourée d’un contour blanc. En effet, dans la suite de ce tutoriel, nous allons travailler uniquement sur le masque, sans toucher au calque, veuillez à bien faire attention à ce que vous modifiez ! En cas d’erreur, pas de panique, il y a Ctrl-Z.

Forcer le contraste du masque

Toutefois le maque résultant n’est pas assez contrasté. Affichez le masque pour voir plus clairement ce que vous faites (clic-droit sur la vignette du calque dans la fenêtre des calques puis cochez Afficher le masque ou Alt+clic sur la vignette du masque).

Prenez ensuite l’outil Niveaux. Les teintes sont réparties en deux blocs (à gauche les teintes sombres, à droite les claires) bien distincts ce qui reflète un bon contraste. Rapprochez les deux points noir et blanc (curseurs triangulaires) l’un de l’autre pour qu’ils n’encadrent plus que la zone centrale qui ne contient que peu de données (peu de nuances, juste ce qu’il nous faut).

Forcez le contraste avec l'outil Niveaux

Supprimer les tâches sombres

Il reste quelques tâches (des trous en réalité) qui correspondent à des pixels trop clairs pour être suffisamment contrastés par rapport au fond. Néanmoins, ces pixels doivent apparaître dans l’image finale, donc, vous devez les recouvrir de blanc dans le masque. Selon le nombre et la granularité de ces tâches vous pouvez les gommer grâce à une sélection ou directement au pinceau.

Ici je commence par une sélection contiguë : elle révèle une grosse quantité de petits trous. En utilisant une technique de morphologie mathématique (j’agrandis la sélection puis je la réduis d’autant) je supprime tous les petits trous. Il ne reste que les gros à effacer au pinceau.

Exporter cette nouvelle image

Le plus gros est fait. Il ne reste qu’à exporter l’image au format PNG, format qui préserve la transparence et qui ne dénature pas votre image (tout le contraire du format Jpeg).

L’article GIMP : rendre transparent le fond uni d’une image est apparu en premier sur Formation logiciel libre.

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

Articles similaires

System Linux : Test de flux udp avec netcat

netcat.jpg

Couche 4 du modèle OSI : Transport

Petit exemple avec le port 10001 :

serverA# nc -vz -u 172.23.2.1 10001 Connection to 172.23.2.2 10001 port [udp/*] succeeded!

Si vous n'avez pas confiance vous pouvez sniffer la chose sur le serveur ayant le port ouvert:

serverB# netstat -nltpu udp6 0 0 :::10001 :::* 1051/dockerd

ou la commande ss :

serverB# ss -a | grep 10001 udp UNCONN 0 0 :::10001 :::* serverB# tcpdump -ni ens160 port 10001 | grep 172.23.2.1

Qui devrait nous donner :

16:27:29.082330 IP 172.23.2.1:46275 > 172.23.2.2.10001: UDP, length 1 16:27:29.082394 IP 172.23.2.1.46275 > 172.23.2.2.10001: UDP, length 1 16:27:30.079401 IP 172.23.2.1.46275 > 172.23.2.2.10001: UDP, length 1

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

Articles similaires

Miamondo : OFFICE, OUI, MAIS LIBÉRÉ DE WINDOWS !

Un article du collectif Emmabuntüs publié également sur l'âge de faire. Après dix ans d’utilisation de Linux et de la suite bureautique LibreOffice, la municipalité de Munich, qui a basculé des verts à la droite, réinstalle Windows, propriété de Microsoft, ainsi que Microsoft Office sur son parc informatique. Elle remet ainsi en cause des choix... Lire la suite →

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

Articles similaires

Pierre-Alain Bandinelli : Utiliser HAProxy pour profiter d'HTTP/2

Les versions 1.8.x d'HAProxy (premier représentant de la branche publié fin 2017) supportent le protocole HTTP/2 pour la communication frontale (section frontend). L'utiliser en amont de votre infrastructure est un moyen facile de rendre ce protocole disponible même si certains de vos serveurs sous-jacents (backend) n'en sont pas encore capables.

Installer HAProxy 1.8.x sur Debian Stretch

La version distribuée officiellement dans Debian Stretch est 1.7.x. Pour installer une version de la branche 1.8.x, il y a au moins 2 alternatives :

  1. compiler l'outil à partir du code source disponible sur le site officiel
  2. utiliser https://haproxy.debian.net/ qui va fournir un dépôt spécifique
Configurer HAProxy

La configuration d'HAProxy se fait par défaut dans /etc/haproxy/haproxy.cfg.

Voici un exemple de fichier de configuration dont les principales sections sont commentées plus bas :

global log /dev/log local0 log /dev/log local1 notice chroot /var/lib/haproxy stats socket /run/haproxy/admin.sock mode 660 level admin stats timeout 30s user haproxy group haproxy daemon # Default SSL material locations ca-base /etc/ssl/certs crt-base /etc/ssl/private # Default ciphers offered by Mozilla here: # https://mozilla.github.io/server-side-tls/ssl-config-generator ssl-default-bind-ciphers ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-SHA384:ECDHE-RSA-AES256-SHA384:ECDHE-ECDSA-AES128-SHA256:ECDHE-RSA-AES128-SHA256 ssl-default-bind-options no-sslv3 no-tlsv10 no-tlsv11 no-tls-tickets ssl-default-server-ciphers ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-SHA384:ECDHE-RSA-AES256-SHA384:ECDHE-ECDSA-AES128-SHA256:ECDHE-RSA-AES128-SHA256 ssl-default-server-options no-sslv3 no-tlsv10 no-tlsv11 no-tls-tickets defaults log global mode http option httplog option dontlognull timeout connect 5000 timeout client 50000 timeout server 50000 errorfile 400 /etc/haproxy/errors/400.http errorfile 403 /etc/haproxy/errors/403.http errorfile 408 /etc/haproxy/errors/408.http errorfile 500 /etc/haproxy/errors/500.http errorfile 502 /etc/haproxy/errors/502.http errorfile 503 /etc/haproxy/errors/503.http errorfile 504 /etc/haproxy/errors/504.http frontend http-in bind :::80 v4v6 acl host_letsencrypt path_beg /.well-known/acme-challenge/ use_backend letsencrypt if host_letsencrypt redirect scheme https code 301 if !host_letsencrypt frontend https-in bind :::443 v4v6 ssl crt-list /etc/haproxy/crt-list.txt alpn h2,http/1.1 option forwardfor http-request add-header X-Forwarded-Proto https # Define hosts acl host_alpha hdr_end(host) -i a.fr acl host_beta hdr(host) -i precis.b.fr acl host_gamma hdr_reg(host) ^d1.c.fr|d2.c.fr$ # figure out which one to use use_backend alpha if host_alpha use_backend beta if host_beta use_backend gamma if host_gamma default_backend iota backend alpha server alpha 192.168.1.1:80 backend beta server beta 192.168.1.2:80 backend gamma server gamma 192.168.1.3:80 backend iota server iota 192.168.1.4:80 backend letsencrypt server letsencrypt 192.168.1.1:8080 Quelques commentaires pour bien comprendre...

On écoute d'abord en HTTP (donc sur le port 80, en IPv4 et IPv6) et on redirige tout vers l'HTTPS (redirect scheme https code 301) car c'est une bonne pratique aujourd'hui de n'offrir que du contenu protégé par SSL/TLS.

frontend http-in bind :::80 v4v6 redirect scheme https code 301

Si l'on utilise letsencrypt pour générer ses certificats et qu'ils sont tous générés sur une machine dédiée pour ne pas avoir à se poser de questions sur les différents types de serveurs sous-jacents, on peut rajouter une exception pour les appels utilisés dans l'ACME challenge de letsencrypt et rediriger alors le trafic vers une machine spécifique ici nommée letsencrypt.

frontend http-in bind :::80 v4v6 acl host_letsencrypt path_beg /.well-known/acme-challenge/ use_backend letsencrypt if host_letsencrypt redirect scheme https code 301 if !host_letsencrypt

On écoute bien sûr également sur le port 443 pour gérer les connexions en SSL/TLS :

frontend https-in bind :::443 v4v6 ssl crt-list /etc/haproxy/crt-list.txt alpn h2,http/1.1 option forwardfor http-request add-header X-Forwarded-Proto https

Il y a beaucoup de choses intéressantes ici :

  • bind :::443 v4v6 : IPv4 et IPv6 activés
  • bind :::443 v4v6 ssl crt-list /etc/haproxy/crt-list.txt : on active le SSL/TLS et on spécifie un fichier texte qui contient la liste des certificats à charger pour chiffrer les communications
  • bind :::443 v4v6 ssl crt-list /etc/haproxy/crt-list.txt alpn h2,http/1.1 : on active l'HTTP/2 (en plus de l'HTTP/1)
  • option forwardfor : comme on fonctionne en reverse proxy, on demande à HAProxy de passer les en-têtes X-FORWARDED-FOR aux serveurs sous-jacents (utile pour avoir les vraies adresses IP appelantes dans les logs)
  • http-request add-header X-Forwarded-Proto https : on informe les serveurs sous-jacents que la communication est bien chiffrée (et on évite donc une boucle de redirection si le serveur sous-jacent veut forcer le passage en HTTPS, avec ce paramètre il sera déjà satisfait)

On définit ensuite quelques règles ACL pour, selon le nom d'hôte, orienter la connexion vers un backend ou autre. J'ai mis ici plusieurs exemples que j'utilise - il existe des dizaines d'autres filtres y compris sur d'autres critères que le nom d'hôte (on a vu l'URL dans le cas de letsencrypt un peu plus) : filtre sur la fin du nom d'hôte (tout nom d'hôte finissant par a.fr sera redirigé vers le backend alpha), filtre sur le nom d'hôte complet (precis.b.fr sera envoyé vers beta) ou filtre sur le nom d'hôte avec des expressions régulières.

# Define hosts acl host_alpha hdr_end(host) -i a.fr acl host_beta hdr(host) -i precis.b.fr acl host_gamma hdr_reg(host) ^d1.c.fr|d2.c.fr$ # figure out which one to use use_backend alpha if host_alpha use_backend beta if host_beta use_backend gamma if host_gamma

On définit également un backend par défaut (iota ici) :

default_backend iota

Et il reste alors à définir chaque backend :

backend example server example 1.2.3.4:80 Pour aller plus loin

Les options possibles dans HAProxy sont fort évidemment beaucoup plus nombreuses ! La documentation est très détaillée et claire ici https://www.haproxy.org/#docs.

Gravatar de Pierre-Alain Bandinelli
Original post of Pierre-Alain Bandinelli.Votez pour ce billet sur Planet Libre.

Ilphrin : Trier les articles Wordpress par une date 'champs personnalisé'

Il vous est surement déjà arrivé, en travaillant sur un thème Wordpress, d’avoir à créer un ‘champ personnalisé’, un champ supplémentaire qui contient une information liée à un article, une catégorie, un tag, ou tout autre entité Wordpress. On peut créer différent type de champ personnalisé, et celui sur lequel on va s’attarder aujourd’hui est le type Date, associé à un article.

Et surtout comment l’utiliser pour trier nos articles.

Un champ personnalisé de Date

Un champ personnalisé est une métadonnée liée à un article, une page, etc. On peut rajouter autant de métadonnées que l’on veut, et celles-ci peuvent contenir une très large gamme d’information: Un chaine de caractère, un nombre, une date, une heure …

On peut voir les champs personnalisés d’un article en déroulant le menu “Options de l’écran” en haut, puis en cochant “Champs Personnalisés”. Vous pouvez maintenant voir en bas de l’article toutes les métadonnées de l’article, et pourrez aussi en rajouter un.

Wordpress theme optionsOptions de l’écran

Pour simplifier l’article j’ai utilisé le plugin Advanced Custom Fields PRO (La version non-PRO est tout aussi bien pour notre cas). Ce plugin permet de créer rapidement des champs pour chaque article sans avoir à rajouter la clé de métadonnée à chaque nouvel article.

Le cas d’utilisation — Créons un Thème

Voici la situation: Vous gérer la création d’un site Wordpress pour un organisme X. X va poster fréquemment des articles concernant des événements Meetup que les employé·e·s organisent. Ces événements ont tous une date à laquelle elles se déroulent. L’objectif est donc d’avoir une page de Blog qui va lister tous les articles, et les trier non pas par date d’écriture de ceux-ci, mais par la date de l’événement auquel chaque article correspond.

Pour cela nous devons partir d’un nouveau thème, car cela va nécessiter d’écrire un peu de code PHP. Je ne vais pas détailler la création d’un thème, il existe suffisamment de documentation sur le sujet.

WP_QUERY pour faire des requêtes

Si vous avez déjà créé un thème par le passé, ou si vous venez de suivre l’un des liens que je viens de vous donner, normalement vous disposez d’un dossier de thème avec un fichier functions.php à la racine. Ce fichier peut contenir tout un tas d’actions à enregistrer avant le chargement d’un page wordpress, ajouter du CSS ou du JavaScript à charger dans votre site ou, dans notre cas, modifier une requête vers le contenu d’une base de données de notre site.

Wordpress dispose d’un objet très puissant qui gère toutes les requêtes, qui s’appelle WP_QUERY. En modifiant directement cet objet, vous allez pouvoir modifier la façon dont Wordpress fait ses requêtes pour aller récupérer vos articles.

Vous avez vos articles, ils sont beaux, bien écrits, et donnent envie d’aller à ces événements. Vous avez même pris le temps d’ajouter un champ personnalisé qui contient la date de votre événement pour chaque article. Ce champ possède la clé: “date_evenement”. Nous allons maintenant aller rajouter une action qui va s’exécuter juste avant d’aller récupérer les articles:

add_action( 'pre_get_posts', 'get_post_by_event' ); function get_post_by_event( $query ) { if( $query->is_main_query() && !is_admin() && is_home() ) { $query->set( 'meta_key', 'date_evenement' ); $query->set( 'orderby', 'meta_value' ); $query->set( 'order', 'ASC' ); } }

Voyons pas-à-pas ce que fait ce code:

  1. Tout d’abord nous enregistrons l’action, qui s’appelle pre_get_posts, et nous lui demandons de lancer get_post_by_event au moment adéquat.
  2. La fonction get_post_by_event prend un paramètre $query qui est une instance de la classe WP_QUERY. C’est ce paramètre qui va nous servir pour trier les articles.
  3. Cette condition permet de vérifier que nous traitons la bonne requête, mais aussi de vérifier sur quel page nous nous trouvons. Ces fonctions sont internes à Wordpress.
  4. Nous utilisons 3 fois la méthode set de $query pour modifier la requête. La première détermine une clé de métadonnée pour la requête, ici 'date_evenement'. La deuxième fois nous modifions l’ordre dans lequel les articles seront retournés, par meta_value, c’est-à-dire en fonction de la valeur de la clé de chaque article.

Et enfin nous modifier l’ordre pour qu’on ait les événements du plus récent au plus lointain, mais ceci n’est pas obligatoire.

WP_QUERY et les actions

WP_QUERY est un objet assez complexe à maitriser (je ne prétends pas d’ailleurs le maitriser complétement!), mais une fois qu’on a mis les mains dedans, on se rend compte des nombreuses possibilités qu’il offre. À ma connaissance, c’est aussi personnalisable que si vous pouviez écrire directement la requête SQL qui va chercher les articles.

En combinant cet objet avec les actions de Wordpress, les possibilités deviennent vraiment très nombreuses, et je ne peux que vous inviter à lire la documentation de la liste des actions possible pour vous faire une idée!

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

Pages