PROJET AUTOBLOG


Planet-Libre

source: Planet-Libre

⇐ retour index

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

mardi 13 mars 2018 à 13:45

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 :

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.

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

mardi 13 mars 2018 à 13:42

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.

System Linux : Test de flux udp avec netcat

mardi 13 mars 2018 à 12:20

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 !

lundi 12 mars 2018 à 22:24

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.

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

lundi 12 mars 2018 à 08:00

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 :

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.

I'm richer than you! infinity loop