Syndiquer le contenu
Mis à jour : il y a 3 heures 50 min

HAProxy 1.5

26 août, 2014 - 17:01

Après quatre ans et trois mois, et pas moins de 26 versions de développement, la version réputée stable de HAProxy devient la 1.5. Même si HAProxy est avant tout un répartiteur de charge HTTP et TCP, les possibilités offertes par la version 1.5 en font le véritable couteau suisse du Web à haute charge.

Il est utilisé, entre autres, par de nombreux sites d’audience mondiale, tels que Twitter, Instagram, GitHub, Reddit… Cette version apporte de nombreuses nouveautés, dont la très attendue prise en charge de l’offloading SSL.

La version 1.5.0 a été rapidement suivie de quelques versions correctives. Nous en sommes à la 1.5.3, disponible depuis le 25 juillet dernier.

Sommaire Listes des nouveautés Inspection du contenu

HAProxy 1.5 sait désormais capturer n’importe quelle partie d’une requête ou d’une réponse, y compris le contenu (payload) et les arguments passés dans l’URL (url_param). Cette fonctionnalité est essentielle car elle est à la base de beaucoup d’autres nouveautés.

Pour l’administrateur système, le bénéfice est énorme : il peut désormais intervenir à n’importe quel moment de la transaction.

Prise en charge du chiffrement (SSL)

Jusqu’à présent, pour utiliser du chiffrement TLS avec HAProxy, il fallait soit utiliser le mode TCP, soit utiliser une version modifiée de STunnel. Désormais, HAProxy prend en charge le chiffrement SSL côté client comme côté serveur.

listen https_proxy bind :443 ssl crt /etc/haproxy/site.pem mode http server web1 10.0.0.1:443 ssl verify check server web2 10.0.0.2:443 ssl verify check

Il gère de nombreuses extensions au protocole TLS, telles que SNI, NPN/ALPN et OCSP, la validation des certificats côté serveur, les certificats clients.

bind 192.168.10.1:443 ssl crt ./server.pem ca-file ./ca.crt verify required Gestion étendue de l’IPv6 et des sockets UNIX

Il est désormais possible d’utiliser indifféremment l’IPv4, l’IPv6 ou encore les sockets UNIX, côté client comme côté serveur.

listen mysql_proxy bind /var/tmp/mysql.sock user mysql mode 666 mode tcp option mysql-check user haproxy post-41 server mysql 192.168.10.100:3306 check maxconn 200 server mysql_slave fe80:482:cafe::a200:e8ff:fe65:a:3306 check backup HTTP keep‐alive de bout en bout

Le keep‐alive consiste à faire passer successivement plusieurs requêtes HTTP dans la même requête TCP. En général, dans une architecture Web un peu complète, on dispose de plusieurs services ayant des rôles particuliers. Par exemple, un service d’authentification, un service pour les contenus dynamiques, un autre pour les ressources statiques, etc. HAProxy doit alors inspecter chaque requête pour déterminer vers quel service l’envoyer. Jusqu’à présent, le keep‐alive de bout en bout n’autorisait que l’inspection de la première requête. Et l’administrateur passait des heures à se demander pourquoi telle requête n’arrivait pas au bon endroit.

C’est pourquoi l’option http-server-close, permettant du keep‐alive côté client uniquement, était souvent utilisée.

Ce problème est désormais résolu.

Outre l’overhead réseau, le keep‐alive côté serveur est important car certains serveurs Web n’utilisent pas de chunk si celui‐ci est désactivé (ce problème est toutefois géré par l’option http-pretend-keepalive).

Compression des réponses HTTP

Il est désormais possible d’utiliser HAProxy pour la compression des réponses HTTP. Les algorithmes gzip et deflate sont pris en charge. Elle peut être activée globalement ou localement.

compression gzip compression type text/html text/plain

HAProxy gère toute une série de cas pour lesquels la compression n’est pas pertinente, notamment les réponses déjà compressées. Toutefois, il est possible, via l’option compression offload, de demander aux serveurs de ne jamais compresser. Dans ce cas, l’entête Accept-Encoding est réécrit à la volée.

Amélioration des ACL

Une conséquence directe de l’amélioration des possibilités de capture est qu’il est désormais possible de créer des listes de contrôle d’accès (ACL) sur l’ensemble des données capturables.

acl hello payload(0,6) -m bin 48656c6c6f0a

Il est également possible d’utiliser des variables :

http-request redirect code 301 location www.%[hdr(host)]%[req.uri] \ unless { hdr_beg(host) -i www } Les maps

On pouvait déjà passer à HAProxy un fichier contenant une série de valeurs (par exemple une liste d’IP à autoriser). Il est désormais possible d’utiliser des fichiers clés‐valeurs avec les mots clés map_*.

Par exemple, pour faire de la géolocalisation, il fallait jusqu’à présent écrire une série d’ACL :

acl src A1 -f A1.subnets acl src A2 -f A2.subnets acl src AD -f AD.subnets acl src AE -f AE.subnets acl src AF -f AF.subnets acl src AG -f AG.subnets acl src AI -f AI.subnets acl src AL -f AL.subnets acl src AM -f AM.subnets acl src AN -f AN.subnets

ACL pour lesquelles chaque fichier contenait l’ensemble des sous‐réseaux d’un pays. Désormais, il est possible de faire un seul fichier sous la forme range pays :

223.228.0.0/14 IN 223.232.0.0/13 IN 223.240.0.0/13 CN 223.248.0.0/14 CN 223.252.0.0/17 AU 223.252.128.0/19 CN 223.252.160.0/24 CN 223.252.161.0/26 CN 223.252.161.64/26 HK 223.252.161.128/25 CN 223.252.162.0/23 CN 223.252.164.0/22 CN 223.252.168.0/21 CN 223.252.176.0/20 CN 223.252.192.0/18 CN

Puis, il suffit d’écrire :

http-request set-header X-Country %[src,map_ip(geoip.lst)] Compteurs d’activité et tables

Il est désormais possible d’utiliser des tables pour comptabiliser l’activité d’un client pour des besoins aussi divers que de se souvenir d’une décision de routage ou bannir les indélicats.

Par exemple, pour éviter qu’un serveur se fasse bombarder de requêtes toujours identiques (brute force, spam) :

# Si on a une requête POST, on stocke dans la table un hash créé à partir de l'IP source et de l'url stick-table type binary len 20 size 5m expire 1h store http_req_rate(10s) tcp-request content track-sc1 base32+src if METH_POST # Si on a un ratio supérieur à 10 requêtes en 10 secondes alors on bannit le client acl bruteforce_detection sc1_http_req_rate gt 10 http-request deny if bruteforce_detection

Ces tables peuvent être contrôlées et vidées par le socket de contrôle :

echo show table |nc -U /tmp/haproxy.sock # table: monserveur, type: binary, size:5242880, used:468 echo show table monserveur |nc -U /tmp/haproxy.sock |tail 0x8019d9f4c: key=FD0D68C950F7E432000000000000000000000000 use=0 exp=2956851 http_req_rate(10000)=0 0x8017f8e0c: key=FD19C86D50F7E432000000000000000000000000 use=0 exp=2206531 http_req_rate(10000)=0 0x8019d970c: key=FE3651B30209AF8C000000000000000000000000 use=0 exp=820386 http_req_rate(10000)=0 0x801bcbccc: key=FE3651B356D4F7D1000000000000000000000000 use=0 exp=2985182 http_req_rate(10000)=0 0x8017fed4c: key=FE3651B35A08E3FA000000000000000000000000 use=0 exp=1701016 http_req_rate(10000)=0 0x801be15cc: key=FE3651B36DDCDC20000000000000000000000000 use=0 exp=363622 http_req_rate(10000)=0 0x801bfba8c: key=FE3651B3973CC657000000000000000000000000 use=0 exp=1302278 http_req_rate(10000)=0 0x8017f8ecc: key=FEE742DC8D6942B3000000000000000000000000 use=0 exp=693453 http_req_rate(10000)=0 0x801bdff4c: key=FEE742DC9200499B000000000000000000000000 use=0 exp=3415931 http_req_rate(10000)=0 echo clear table monserveur |nc -U /tmp/haproxy.sock echo show table |nc -U /tmp/haproxy.sock sock # table: monserveur, type: binary, size:5242880, used:1 Vérification de la santé des serveurs améliorée

Pour prendre des décisions de routage des requêtes, il est important de savoir quels serveurs sont en bonne santé. Outre les checks HTTP, largement paramétrables, HAProxy dispose en natif de tests de vie pour les protocoles mysql, pgsql, redis, ssl et smtp. Il est toutefois désormais possible d’écrire des tests de vie personnalisés. Voici un exemple utilisant php-fpm :

option tcp-check # FCGI_BEGIN_REQUEST tcp-check send-binary 01 # version tcp-check send-binary 01 # FCGI_BEGIN_REQUEST tcp-check send-binary 0001 # request id tcp-check send-binary 0008 # content length tcp-check send-binary 00 # padding length tcp-check send-binary 00 # tcp-check send-binary 0001 # FCGI responder tcp-check send-binary 0000 # flags tcp-check send-binary 0000 # tcp-check send-binary 0000 # # FCGI_PARAMS tcp-check send-binary 01 # version tcp-check send-binary 04 # FCGI_PARAMS tcp-check send-binary 0001 # request id tcp-check send-binary 0045 # content length tcp-check send-binary 03 # padding length: padding for content % 8 = 0 tcp-check send-binary 00 # tcp-check send-binary 0e03524551554553545f4d4554484f44474554 # REQUEST_METHOD = GET tcp-check send-binary 0b055343524950545f4e414d452f70696e67 # SCRIPT_NAME = /ping tcp-check send-binary 0f055343524950545f46494c454e414d452f70696e67 # SCRIPT_FILENAME = /ping tcp-check send-binary 040455534552524F4F54 # USER = ROOT tcp-check send-binary 000000 # padding # FCGI_PARAMS tcp-check send-binary 01 # version tcp-check send-binary 04 # FCGI_PARAMS tcp-check send-binary 0001 # request id tcp-check send-binary 0000 # content length tcp-check send-binary 00 # padding length: padding for content % 8 = 0 tcp-check send-binary 00 # tcp-check expect binary 706f6e67 # pong

Par ailleurs, les vérifications peuvent être déléguées à un agent externe. Cela permet de configurer dynamiquement le poids du serveur dans le pool.

L’agent doit retourner soit une valeur entre 0 % et 100 % représentant le poids relatif au poids initialement donné au serveur, soit un mot clé ready (prêt), drain (n’accepte plus de nouvelles connexions mais traite celles en cours), maint (passe en maintenance), down, up… Pour mettre cela en place, il faut utiliser le mot clé agent-check.

Typiquement, cela peut être un script lancé par inetd. Par exemple, pour adapter le poids du serveur en fonction de la charge :

#!/bin/sh SYSCTL="/sbin/sysctl -n" NCPU=$(${SYSCTL} hw.ncpu) LOAD=$(${SYSCTL} vm.loadavg | awk '{print $2}') LOAD=${LOAD%.*} if [ ${LOAD} -ge ${NCPU} ]; then PERCENT="100" else PERCENT=$((${LOAD}*100/${NCPU})) fi echo "$PERCENT%"

On paramètre ensuite inetd.conf de la façon suivante :

dec-notes stream tcp nowait nobody /usr/local/bin/agent-check

Enfin, la configuration pour HAProxy est :

server server1 192.168.64.50:3389 weight 100 check agent-check agent-port 3333 Version 2 du proxy protocol

Le proxy protocol est un protocole simple qui permet à l’adresse IP d’un client d’être conservée lorsqu’une requête passe de serveurs en serveurs. Si en HTTP, l’en‐tête X-Forwarded-For est largement utilisée à cette fin, il fallait un mécanisme plus universel, utilisable notamment en mode TCP. Initialement, ce protocole a été conçu pour utiliser HAProxy conjointement avec STunnel. Il est désormais pris en charge par Elastic Load Balancing, ExaProxy, Exim, Gunicorn, HAProxy, NGINX, Postfix, stud et stunnel.

La version 2 modifie profondément la nature du protocole, puisqu’on passe d’une version humainement lisible à une version binaire.

Par exemple, avec Postfix, il faudra dans HAProxy utiliser la configuration ci‐après :

mode tcp option smtpchk server postfix 127.0.0.1:10024 send-proxy check

Une configuration Postfix (master.cf) sera aussi nécessaire :

postscreen_upstream_proxy_protocol = haproxy Prise en charge de systemd

HAProxy ne peut pas recharger sa configuration. Pour le redémarrer, on doit tuer l’ancien processus et en lancer un nouveau. Toutefois, afin de ne pas fermer les sessions brutalement, il existe l’option -st qui permet au nouveau processus de remplacer l’ancien proprement.

Ce comportement ne convenant pas à systemd, qui ne sait pas remplacer un processus par un autre, l’option -Ds et le démon haproxy-systemd-wrapper permettent désormais de fonctionner avec ce système d’initialisation.

Nouveau cycle de développement

Willy Tarreau explique dans un long courriel ses plans pour les prochaines versions de HAProxy, ainsi que les leçons à tirer de la version 1.5, dont le développement a été particulièrement long.

Selon lui, il faut arrêter de promettre telle ou telle fonctionnalité pour telle version, et fonctionner en périodes, à la mode Linux. Ainsi le développement de la version 1.6 s’arrêtera en mars 2015, pour une sortie en mai ou juin de la même année.

Il indique toutefois les directions qu’il souhaite prendre :

  • multi‐processus : meilleure synchronisation des états et des vérifications. Vue l’arrivée de ces monstres de latence que sont SSL et la compression, une architecture gérant la concurrence serait sans doute bénéfique. Il est toutefois exclu d’ajouter des mutex partout dans le code.

    • reconfiguration à chaud : dans les environnements dynamiques, on est souvent contraint de relancer HAProxy. Même si de nombreuses possibilités sont désormais offertes par le socket de contrôle, il serait intéressant d’aller plus loin dans ce sens.
    • DNS : actuellement HAProxy ne résout les noms d’hôte qu’au démarrage. Il serait intéressant, en particulier pour les utilisateurs de EC2, que cela puisse être fait dynamiquement.
    • cache d’objets en mémoire : il ne s’agit pas de concurrencer Varnish, mais d’implémenter un petit cache afin de réduire le trafic entre HAProxy et les serveurs d’origine des objets. Plutôt un cache avec un ratio de hits de 50 % sans maintenance, qu’un cache efficace à 90 % mais demandant beaucoup d’attention.
    • amélioration de la réutilisation des connexions : dans certains cas, il est particulièrement intéressant de conserver les connexions réseau en vie, même si cela ouvre de nouvelles problématiques comme la supervision des connexions.
    • HTTP/2 : Willy Tarreau étant particulièrement investi dans le groupe de travail http-bis qui spécifie entre autres HTTP/2, c’est donc sans surprise qu’il place l’implémentation de cette nouvelle version du protocole en tête de ses priorités.
Exemple d’utilisation

Imaginons un site Web servi par un parc de serveurs sur lesquels nous voulons mettre en place de l’équilibrage de charge (load balancing) et de la tolérance de panne. Une bonne idée est alors de créer un cluster de HAProxy actif/actif avec au moins deux machines en utilisant le round‐robin DNS et un mécanisme de failover tel que CARP ou keepalived.

Nous allons commencer par une configuration basique à laquelle nous ajouterons peu à peu des fonctionnalités.

Paramètres globaux

On commence par définir quelques généralités comme les journaux (logs), le maximum de connexions, le comportement du démon.

global log /var/run/log local0 notice maxconn 4096 uid 99 gid 99 daemon chroot /var/empty Paramètres par défaut

On ajoute ensuite, une section par défaut qui contiendra l’ensemble des paramètres qui, s’ils ne sont pas surchargés, s’appliqueront à nos proxys/mandataires.

defaults # par défaut on logue avec ce qui est défini # dans la section globale log global # on peut définir très finement les différents timeout # le temps qu'une connexion client peut rester idle timeout client 40s # le temps entre une réponse et le début de la requête # suivante dans une connexion keepalive timeout http-keep-alive 30s # Le temps entre le début d'une requête et la fin des entêtes timeout http-request 10s # Workaround pour certains navigateurs # bogués avec le timeout http-request errorfile 408 /dev/null # Le temps durant lequel on attend une réponse du serveur timeout server 60s # Le temps qu'une connexion peut rester en attente # d'un slot disponible # timeout queue 1500 # le temps que met un client a établir une connexion tcp timeout connect 5s # Combien de fois on réessaye de se connecter à un serveur retries 3 # On redistribue les sessions en cas d'échec de # connexion avec un serveur option redispatch # Par défaut on fait du http mode http # Par défaut le mot check signifie check http option httpchk # On ajoute l'entête X-Forwarded-Forr option forwardfor # On utilise l'algorithme roundrobin balance roundrobin # On logue des sessions http option httplog # On ne logue pas les connexions sur lesquelles # il ne se passe rien option dontlognull # Aucun proxy ne pourra avoir plus de 2048 connexions ouvertes # Soit la moitié des connexions acceptables maxconn 2048 Le proxy/mandataire

On déclare ensuite notre proxy de la façon la plus simple possible, on ajoutera les fioritures après :

listen http_proxy bind :80 server web1 192.168.42.11:80 server web2 192.168.42.12:80 server web3 192.168.42.13:80

Il est nommé http_proxy, écoute sur le port 80. Il équilibre les connexions suivant l’algorithme round‐robin vers trois serveurs nommés web1, web2 et web3. D’autres algorithmes de répartition sont bien évidement disponibles :

  • static-rr est une variante de round‐robin sans limitation du nombre de serveurs (4 095 pour round‐robin), mais sans prise en compte du poids ;
  • leastconn, adapté aux sessions longues (LDAP, TSE…), c’est le serveur qui a le moins de connexions actives (pondéré par son poids) qui est choisi ;
  • first, le premier serveur est utilisé jusqu’à maxconn, puis on passe au suivant, ce qui est idéal pour pouvoir éteindre des serveurs aux heures creuses ;
  • d’autres algorithmes basés sur un hash de l’IP, l’URL, un paramètre de la requête, un en‐tête HTTP, ou le cookie RDP.

Le paramètre balance défini dans la section globale, pourrait être surchargé ici.

Savoir ce qu’il se passe

Il y a plusieurs défauts sur notre configuration :

  • les logs ne fonctionnent pas car HAProxy étant « chrooté », il ne peut pas accéder au socket UNIX ;
  • si un serveur Web tombe, HAProxy n’est pas au courant et nous non plus.

Concernant les logs, il suffit de modifier la section globale :

log localhost local0 notice

Il faudra ensuite configurer son serveur de log préféré pour pouvoir récupérer les logs en UDP sur l’interface loopback.

Pour vérifier l’état de santé des serveurs il suffit d’ajouter le mot clé check à la fin de la déclaration des serveurs :

server web1 192.168.42.11:80 check

Dans ce cas, HAProxy lancera une requête OPTIONS / sur le serveur toutes les 2 secondes. On peut chercher à faire plus fin, comme, par exemple, une requête vers une URL applicative se connectant à une base de données. En bref, ne pas vérifier simplement l’état de santé du serveur mais également celui de l’application. Dans ce cas, il faut compléter l’option httpchk :

listen http_proxy bind :80 option httpchk GET /ping HTTP/1.1\r\nHost:\ www.example.com http-check expect string pong server web1 192.168.42.11:80 check inter 30s server web2 192.168.42.12:80 check inter 30s server web3 192.168.42.13:80 check inter 30s

Du coup, on va aller chercher sur chaque serveur l’URL /ping de l’hôte www.example.com toutes les 30 secondes et l’on attendra que le serveur nous réponde avec une page contenant le mot « pong ».

Nos serveurs sont donc bien surveillés par HAProxy, mais pour notre part — exception faite des logs — nous sommes aveugles. Pour remédier à cela, nous allons activer le socket de contrôle ainsi que l’interface d’administration. La première s’active dans la section globale :

stats socket /tmp/haproxy_prod_admin.sock user root group nagios mode 660 level admin

On peut ensuite l’utiliser avec un programme comme socat par exemple. Elle est également utilisée par des utilitaires comme HAtop ou l’excellente sonde Nagios de Polymorf :

socat /tmp/haproxy.sock readline prompt > help Unknown command. Please enter one of the following commands only : clear counters : clear max statistics counters (add 'all' for all counters) clear table : remove an entry from a table help : this message prompt : toggle interactive mode with prompt quit : disconnect show info : report information about the running process show stat : report counters for each proxy and server show errors : report last request and response errors for each proxy show sess [id] : report the list of current sessions or dump this session show table [id]: report table usage stats or dump this table's contents get weight : report a server's current weight set weight : change a server's weight set table [id] : update or create a table entry's data set timeout : change a timeout setting set maxconn : change a maxconn setting set rate-limit : change a rate limiting value disable : put a server or frontend in maintenance mode enable : re-enable a server or frontend which is in maintenance mode shutdown : kill a session or a frontend (eg:to release listening ports)

Quant à la seconde, elle s’active soit dans un proxy à part, soit dans un proxy existant. Celle‐ci donne l’état actuel des proxies, ainsi qu’un certain nombre de statistiques.

listen http_proxy bind :80 option httpchk GET /ping HTTP/1.1\r\nHost:\ www.example.com http-check expect string pong server web1 192.168.42.11:80 check inter 30s server web2 192.168.42.12:80 check inter 30s server web3 192.168.42.13:80 check inter 30s stats enable stats uri /admin?stats stats realm Haproxy\ Statistics stats auth admin:s3cR3T

Routage plus complexe

Pour l’instant notre schéma de fonctionnement est très simple. S’il doit se complexifier, il deviendra utile de séparer les blocs listen en frontend et backend.

Cela nous donne :

frontend http_proxy bind :80 stats enable stats uri /haproxy stats realm Haproxy\ Statistics stats auth admin:s3cR3T default_backend web_servers backend web_servers option httpchk GET /ping HTTP/1.1\r\nHost:\ www.example.com http-check expect string pong server web1 192.168.42.11:80 check inter 30s server web2 192.168.42.12:80 check inter 30s server web3 192.168.42.13:80 check inter 30s

Ainsi, si nous souhaitons offrir la possibilité d’utiliser le site en version HTTPS, il nous suffit d’ajouter un second frontal :

frontend https_proxy bind :443 ssl crt /etc/certificates/website.pem reqadd X-Forwarded-proto:\ https default_backend web_servers

Si derrière on utilise Apache, ajoutons dans sa configuration la ligne suivante :

SetEnvIfNoCase X-Forwarded-Proto HTTPS HTTPS=on

Cela permettra à nos utilisateurs de retrouver les bonnes variables d’environnement (en PHP par exemple : $_SERVER["HTTPS"]).

Si l’on veut reconnaître un utilisateur authentifié grâce au cookie MYSSO, il est alors facile de le rediriger systématiquement vers la version chiffrée du site :

frontend http_proxy bind :80 stats enable stats uri /haproxy stats realm Haproxy\ Statistics stats auth admin:s3cR3T acl is_logged cook MYSSO -m found redirect scheme https if is_logged default_backend web_servers

Bien évidemment, on peut souhaiter qu’ils s’identifient sur une page chiffrée, voire sur des serveurs séparés :

frontend http_proxy bind :80 stats enable stats uri /haproxy stats realm Haproxy\ Statistics stats auth admin:s3cR3T acl is_logged cook MYSSO -m found acl to_login url_beg /login redirect scheme https if is_logged or to_login default_backend web_servers

À noter que pour former la condition, le or doit être spécifié alors qu’un and aurait été implicite.

Enfin, nous voulons que l’accès aux statistiques et au backoffice du site soit sécurisé par une vérification du certificat client. Nous allons commencer par créer un back‐end particulier donnant accès au serveur de back office. Il contiendra en plus l’accès aux statistiques que nous supprimons du coup du front‐end public :

backend very_secure stats enable stats uri /haproxy stats realm Haproxy\ Statistics stats auth admin:s3cR3T server admin 192.168.9.42:80

Le front‐end public devient :

frontend http_proxy bind :80 acl is_logged cook MYSSO -m found acl to_login url_beg /login redirect scheme https if is_logged or to_login default_backend web_servers

Sur la partie HTTPS, nous allons donc vérifier la présence d’un certificat client et, s’il est présent et valable, donner l’accès au back office et aux statistiques HAProxy. Pour cela, il faut fournir à HAProxy l’autorité de certification (ca-file) et éventuellement une liste de révocation (crl-file) :

frontend https_proxy bind :443 ssl crt /etc/certificates/website.pem ca-file /etc/certificates/website.ca verify optional crl-file /etc/certificates/website.crl reqadd X-Forwarded-proto:\ https acl client_ok ssl_fc_has_crt acl want_admin if url_beg /admin acl want_admin if url_beg /haproxy use_backend very_secure if want_admin and client_ok default_backend web_servers

La négociation SSL échouera si le certificat présenté est invalide ou révoqué, mais pas s’il est absent (mot‐clé optional).

Coller au serveur et gérer les pannes

Pour diverses raisons, on peut vouloir que le client ne change pas de serveur durant la durée de sa session. La plus mauvaise de ces raisons est que les sessions applicatives ne sont pas partagées, la meilleure étant que cela permet d’effectuer des trucs sympathiques, comme des mises à jour applicatives sans interruption de service ou encore de faciliter le débogage.

La façon la plus simple de faire est d’insérer un cookie. Si celui‐ci est présent, HAProxy essayera d’utiliser le serveur visé :

backend web_servers option httpchk GET /ping HTTP/1.1\r\nHost:\ www.example.com http-check expect string pong cookie SRV insert server web1 192.168.42.11:80 check inter 30s cookie web1 server web2 192.168.42.12:80 check inter 30s cookie web2 server web3 192.168.42.13:80 check inter 30s cookie web3

Ainsi, pour savoir sur quel serveur vous êtes, il suffit de regarder la valeur du cookie SRV.

C’est aussi le moment d’introduire la notion de poids. On peut en effet moduler l’importance de chaque serveur au sein du répartiteur de charge (load‐balancer) :

backend web_servers option httpchk GET /ping HTTP/1.1\r\nHost:\ www.example.com http-check expect string pong cookie SRV insert server web1 192.168.42.11:80 check inter 30s cookie web1 weight 10 server web2 192.168.42.12:80 check inter 30s cookie web2 weight 10 server web3 192.168.42.13:80 check inter 30s cookie web3 weight 20

Le poids peut être piloté par le socket de contrôle. Par exemple, pour passer le poids du serveur web2 à zéro :

echo "set weight web_servers/web2 0" | nc -U /tmp/haproxy_prod_admin.sock

Un poids de 0 ne signifie pas que le serveur est tombé, mais qu’il n’accepte plus de nouvelle session (laissant ainsi finir tranquillement celles en cours).

On peut également spécifier un serveur de secours (backup) :

backend web_servers option httpchk GET /ping HTTP/1.1\r\nHost:\ www.example.com option allbackup http-check expect string pong cookie SRV insert server web1 192.168.42.11:80 check inter 30s cookie web1 weight 10 server web2 192.168.42.12:80 check inter 30s cookie web2 weight 10 server web3 192.168.42.13:80 check inter 30s cookie web3 weight 20 server maintenance1 192.168.42.21:80 backup check inter 30s server maintenance2 192.168.42.22:80 backup check inter 30s

L’option allbackup spécifie que lorsque tous les serveurs sont tombés, tous les serveurs de secours (et pas seulement le premier disponible) doivent être utilisés.

Bien sûr, le backup est utile pour servir les pages de maintenance, mais également pour se replier en cas de problème logiciel. Ainsi, par exemple, si nous souhaitons utiliser Varnish pour servir les fichiers statiques, nous pouvons faire quelque chose comme :

acl url_static url_reg -i ^\/(.*)\.(js|jpg|JPG|jpeg|gif|png|ico|txt|css|pdf)(\?.*)? use_backend varnish if url_static

dans les front‐ends, puis :

backend varnish option httpchk GET /ping HTTP/1.1\r\nHost:\ www.example.com option allbackup http-check expect string pong server varnish 127.0.0.1:8080 check inter 30s server web1 192.168.42.11:80 check inter 30s backup server web2 192.168.42.12:80 check inter 30s backup server web3 192.168.42.13:80 check inter 30s backup

Ainsi, en cas d’indisponibilité du serveur Varnish, les fichiers sont servis par les serveurs principaux.

Et ainsi de suite

Lorsqu’on en prend l’habitude, HAProxy devient vite un outil indispensable. Il offre une telle souplesse, que ce soit en mode TCP ou HTTP, qu’il est difficile de rencontrer des situations pour lesquelles on ne puisse pas imaginer de solutions l’utilisant. D’autant plus qu’il excelle en termes de performance. Autrement dit : c’est bon, mangez‐en !

Télécharger ce contenu au format Epub

Lire les commentaires

Revue de presse de l'April pour la semaine 34 de l'année 2014

26 août, 2014 - 00:50

La revue de presse de l'April est régulièrement éditée par les membres de l'association. Elle couvre l'actualité de la presse en ligne, liée au logiciel libre. Il s'agit donc d'une sélection d'articles de presse et non de prises de position de l'association de promotion et de défense du logiciel libre.

Sommaire

[Next INpact] Lois et numérique: une rentrée parlementaire 2014 encore chargée

Par Marc Rees, le jeudi 21 août 2014. Extrait:

La rentrée parlementaire concernant les textes liés aux nouvelles technologies sera aussi riche cette année qu’en 2013. Tour d’horizon des textes bientôt débattus dans l’hémicycle et ceux dont le sort reste encore bien vague.

Lien vers l'article original: http://www.nextinpact.com/news/89346-lois-et-numerique-rentree-parlementaire-2014-chargee.htm

[Numerama] HACIENDA: pourquoi votre ordinateur a peut-être été scanné par la NSA

Par Guillaume Champeau, le jeudi 21 août 2014. Extrait:

Appliquant à grande échelle les méthodes et outils de groupes de hackers criminels, la NSA et d'autres agences de renseignement alliées réalisent dans des dizaines de pays une cartographie complète des ordinateurs connectés à Internet, et de leurs vulnérabilités potentielles. Mais un remède a été mis au point.

Lien vers l'article original: http://www.numerama.com/magazine/30309-hacienda-pourquoi-votre-ordinateur-a-peut-etre-ete-scanne-par-la-nsa.html

Voir aussi:

[Silicon.fr] Desktop: Linus Torvalds espère toujours que Linux supplantera Windows

Par David Feugey, le jeudi 21 août 2014. Extrait:

«Je pense que nous y arriverons un jour», explique Linus Torvalds au sujet de Linux dans le monde desktop. Il lui faudra toutefois vaincre les réticences des constructeurs et des utilisateurs, accrochés à Windows ou OS X.

Lien vers l'article original: http://www.silicon.fr/linus-torvalds-linux-supplantera-windows-96210.html

[L'Humanité] La révolution numérique se fait aussi à la Fête de l‘Humanité

Par la rédaction, le mercredi 20 Août 2014. Extrait:

La Fête de l’Humanité va accueillir cette année un espace dédié au monde du Libre, aux Hackers et au Fablabs. Au programme, des débats, des démonstrations, et une conférence exceptionnelle de Richard Stallman, le père du logiciel libre.

Lien vers l'article original: http://www.humanite.fr/la-revolution-numerique-se-fait-aussi-la-fete-de-lhumanite-549497

[ActuaLitté.com] L'entrée du logiciel libre en bibliothèques se fait attendre

Par Antoine Oury, le mardi 19 août 2014. Extrait:

Dans nos sociétés modernes, les bibliothèques sont perçues comme des lieux de savoir, plus soustrait aux impératifs commerciaux que tout autre lieu de nos sociétés. Et pourtant, les professionnels de l'information sont soumis aux impératifs et exigences de sociétés privées, créateurs des logiciels utilisés pour faire fonctionner la bibliothèque. Des alternatives, libres, existent.

Lien vers l'article original: https://www.actualitte.com/bibliotheques/l-entree-du-logiciel-libre-en-bibliotheques-se-fait-attendre-52046.htm

[Silicon.fr] Logiciels libres: Munich va-t-il faire volte-face?

Par David Feugey, le mardi 19 août 2014. Extrait:

La nouvelle municipalité de la ville de Munich envisagerait de rebasculer ses postes de travail de LiMux et LibreOffice vers Windows et Microsoft Office.

Lien vers l'article original: http://www.silicon.fr/logiciels-libres-munich-va-t-il-faire-volte-face-96174.html

Et aussi:

[Libération.fr] Logiciels à l’ère libre

Par Erwan Cario, le dimanche 17 août 2014. Extrait:

Depuis les années 80, un système collaboratif permet à tous d’étudier, de modifier et de distribuer des programmes, parallèlement aux géants de l’informatique, dont les outils briment l’utilisateur.

Lien vers l'article original: http://www.liberation.fr/societe/2014/08/17/logiciels-a-l-ere-libre_1082175

Et aussi:

Télécharger ce contenu au format Epub

Lire les commentaires

Kernel Recipes 2014

25 août, 2014 - 22:57

hupstream est fier de vous annoncer la 3e édition de Kernel Recipes, les 25 et 26 septembre 2014.

Cette nouvelle édition s’annonce pleine de promesses. Cette année nous vous proposons des conférenciers venus des États‐Unis, d’Europe et de France : Greg Kroah‐Hartman, Hans Peter Anvin, Jean Delvare, Willy Tarreau, Borislav Petkov, Martin Peres, Maxime Ripard, Julien Grall, Eric Leblond, Samir Bellabes et Hans Verkuil.

Nombre d’entre eux interviendront pour la première fois en France.

Kernel Recipes, c’est deux jours de conférences liées au noyau Linux. Les conférences sont proposées par les acteurs de kernel.org et couvrent des sujets aussi variés que la sécurité, comment contribuer, la pérennisation du projet, NUMA, ARM…

Cette année la conférence aura lieu dans les locaux de Mozilla, à Paris (un grand merci à eux !). Nous avons souhaité conserver une taille humaine à cette conférence, environ 90 places disponibles. Ce format vous permettra d’échanger facilement et de manière conviviale avec les autres participants et les conférenciers. Ces discussions pourront se prolonger pendant le déjeuner, voire le dîner qui sera organisé le 25 septembre (inscriptions à venir).

Vous pouvez également proposer un sujet et intervenir lors des sessions de « lightning talks ». Faites‐nous en part rapidement !

Pour vous inscrire, c’est très simple, il suffit de vous enregistrer. Attention comme mentionné ci‐dessus, le nombre de places est limité, merci de vous assurer de votre disponibilité avant de vous inscrire.

Un grand merci enfin à nos sponsors qui rendent également ces journées possibles : Gandi, HaProxy Technologies, Mozilla, Parrot, SUSE.

Télécharger ce contenu au format Epub

Lire les commentaires

Code Of War 2014

25 août, 2014 - 17:15

Code of War est un hackathon gratuit, ouverte à tous, et basé uniquement sur des technologies web open source. Deux dates sont prévues cette année, une à Paris et l'autre à Bordeaux. Chaque participant aura à programmer l'intelligence artificielle (IA) de son robot au travers d'une boîte à outils SDK disponible en Javascript, TypeScript, CoffeeScript, et Haxe. Les IA s'affronteront alors dans des batailles sans merci dont un seul sortira vainqueur.

Après l'espace, Code of War redescend sur terre, et plus précisément à Bordeaux avec son nouveau jeu Call of Stations. Celui-ci imagine que TBC, l'organisme en charge des transports en commun dans la communauté urbaine de Bordeaux, décide de lancer un appel d'offre. Il cherche l'entreprise qui s'occupera de la gestion des camionnettes chargées de réapprovisionner les stations de VCub. Ces camionnettes sont celles qui parcourent les stations pour réguler le nombre de vélos disponibles dans chacune d'elle. Elles vont donc prendre des vélos là où il y en a trop et inversement.

Il est possible de s'inscrire dès aujourd'hui et de développer son robot sur la plateforme en ligne, afin d'arriver lors du tournoi avec un robot prêt à remporter la victoire.

Elle est développée par l'équipe des TTFX en HTML5/JS, codée en Haxe et utilisant les bibliothèques CreateJS et NodeJS, exploite les web workers et met à l'honneur Open Data grâce au travail de Qucit.

Informations pratiques

Déroulement
10h à 10h30 : Présentation de l’événement et des équipes
10h30 à 13h00 : Coding Time : Analyse des concurrents et amélioration des robots
15h00 à 17h00 : Tournoi
17h00 à 18h00 : Remise des récompenses
Organisateur : TTFX
Lieu : Darwin à Bordeaux
Date et heure : 17 octobre 2014 à partir de 10h
Prix : Gratuit
Audience : Développeur, étudiant, joueur

Le lieu et la date de la session parisienne seront bientôt connus.

Plus d'info sur http://codeofwar.net/

Télécharger ce contenu au format Epub

Lire les commentaires

EnKoDeur-Mixeur (EKD) en version 3.1.4

23 août, 2014 - 19:20

Après deux ans pendant lesquels j’ai été éloigné du code, j’ai remis les mains dans le cambouis ! EKD, logiciel de post-production vidéo, image et fichiers audio, vient de sortir en version 3.14. Rien de révolutionnaire dans cette nouvelle mouture mais quelques améliorations :

  1. Des préréglages 4k et 2k ont été ajoutés pour le redimensionnement des vidéos
  2. La lecture et la sauvegarde des infos GPS (si les photos chargées en sont pourvues)
  3. Dans la version GNU/Linux, les dépendances FFmpeg et G’MIC sont intégrées en tant qu’applications portables et ne sont plus requises pour la construction des paquets (deb, rpm, …).

Pour faire avancer le projet, je cherche des développeurs Python qui voudraient intégrer le projet. Et aussi un empaqueteur RPM, un empaqueteur pour Archlinux (voir l'ancienne version ici) et des traducteurs.

Télécharger ce contenu au format Epub

Lire les commentaires

Logiciel ERP Apache-OFBiz - Nouvelles versions de maintenance 12.04.04 & 11.04.05

21 août, 2014 - 12:46

La fondation Apache vient de publier les versions 12.04.04 et 11.04.05 du logiciel Apache-OFBiz. Apache-OFBiz est un logiciel de gestion d'entreprise (ERP ou PGI en français) Libre sous licence Apache 2.0 disponible sur système Linux, Windows et Mac.

Il s'agit de versions correctives permettant d'améliorer la stabilité et la sécurité du logiciel.
Elles corrigent notamment une importante faille de sécurité.

Elles deviennent maintenant les dernières versions stables officielles et les utilisateurs des versions 12.04.03 et 11.04.04 sont invités à migrer vers leurs nouvelles versions respectives.

Vous pouvez éditer cette partie en cliquant sur le crayon !

Télécharger ce contenu au format Epub

Lire les commentaires

Je crée mon jeu vidéo E12 : interfaces physiques et graphiques

20 août, 2014 - 20:06

«Je crée mon jeu vidéo» est une série d'articles sur la création d'un jeu vidéo, depuis la feuille blanche jusqu'au résultat final. On y parlera de tout : de la technique, du contenu, de la joie de voir bouger des sprites, de la lassitude du développement solitaire, etc. Vous pourrez suivre cette série grâce au tag gamedev.

Dans l'épisode 11, on a décoré notre carte, et même si elle n'est pas encore dans un état jouable, elle constitue une bonne base pour la suite. Pour ce retour de vacances, on va s'intéresser aux interfaces physiques et graphiques du jeu.

Sommaire Introduction

Contrairement à ce que j'avais espéré, les vacances n'ont pas été très productives pour mon jeu. Je comptais passer du temps dessus de manière à avoir des avancées significatives, mais il n'en a rien été. J'ai seulement pu faire quelques tests dont je parlerai sans doute dans un prochain épisode. C'est très frustrant ce genre de situation.

Ça ne m'empêche pas de continuer mes réflexions (et mes bouts de code) et de les partager. Aujourd'hui on va discuter des interfaces :

  • les interfaces physiques, celles qui permettent de commander les actions dans le jeu (input),
  • et les interfaces graphiques, celles qui rendent compte d'élements du jeu (output).

Et comme d'autres y ont réfléchi avant moi, je me suis largement inspiré de jnuit, créé par devnewton pour ses jeux en Java.

Les interfaces physiques

À la base, je ne savais pas trop quoi utiliser pour l'interface physique. Quand on pense RPG, on imagine que ça se manipule à la souris et/ou au clavier. Mais avec les RPG sortis sur console, ce n'est plus le cas. Et puis bon, il y a devnewton qui veut jouer à la manette. Du coup, allons-y, essayons de contenter tout le monde.

SFML gère les principales interfaces physiques rencontrées dans la nature : clavier, souris, manettes. Donc, de ce côté là, on n'aura pas trop de problème. Le seul problème est de trouver un moyen de gérer tous ces périphériques de manière à peu près commune et de s'éviter de longs switch redondants et désagréables, c'est-à-dire trouver le bon niveau d'abstraction.

Pour les interfaces physiques, on trouve deux notions dans jnuit que j'ai reprises. Celle de contrôleur et celle d'action.

Contrôleur

Un contrôleur, c'est juste l'abstraction d'une interface physique. Dans jnuit, le contrôleur fournit une valeur qui indique son état. Le contrôleur est alors couplé à un détecteur qui va superviser cet état et dire si le contrôleur est actif ou pas.

L'inconvénient (à mon sens) dans jnuit est qu'on est en mode polling, c'est-à-dire qu'on va demander l'état du contrôleur à chaque tour (par exemple : « est-ce que le bouton droit de la souris est appuyé ? »). L'autre mode, c'est le mode événement, c'est-à-dire qu'on regarde les événements qui se sont produits (comme par exemple un appui sur un bouton de souris) et on enregistre le nouvel état à ce moment là. J'ai une nette préférence pour le mode événement que je trouve plus naturel, mais c'est une question de goût. SFML n'est pas casse-pied et propose les deux modes de toute façon.

L'autre chose qui me chagrinait dans l'approche de jnuit, c'est cette distinction entre le contrôleur et son détecteur. La différence est très subtile mais trop subtile pour moi, alors j'ai fusionné les deux notions dans une seule : un contrôleur dit s'il est actif ou pas. Et il met à jour son état en scrutant les événements renvoyés par SFML.

Action

Une action est une abstraction d'une… action qui peut être déclenchée par le joueur — par exemple « sauter ». Une action est provoquée par un ou plusieurs contrôleurs (comme le bouton droit de la souris ou la lettre J du clavier). Comme pour les contrôleurs, il existe aussi un détecteur qui va se charger de vérifier si l'action est active ou pas, suivant l'état des contrôleurs associés. La règle est simple, il suffit d'un seul contrôleur activé pour activer l'action.

Outre le fait que la différence entre l'action et son détecteur soit une fois de plus trop subtile pour moi, j'ai trouvé qu'il manquait un élément important dans cette abstraction. En effet, une action peut être continue ou pas. Prenons deux exemples pour voir la différence. Quand j'appuie sur une flèche, je souhaite que mon personnage avance tant que j'appuie sur la flèche : c'est ce que j'appelle une action continue. En revanche, quand j'appuie sur J, je veux que mon personnage saute une fois, même si je continue d'appuyer sur la touche : c'est ce que j'appelle une action instantanée (non-continue). C'est le même contrôleur (une touche de clavier), mais la manière de le gérer est différente. Dans un cas, je veux que l'action soit active tant que le contrôleur est actif, et dans l'autre cas, je veux que l'action soit active une seule fois même si le contrôleur reste actif.

Et avec tout ça…

Une fois qu'on a des contrôleurs pour tous les périphériques, on peut alors définir des ensembles d'action, dont certains qu'on va retrouver à peu près partout. L'exemple le plus classique est l'ensemble d'actions qui permet de naviguer dans une interface graphique : haut, bas, gauche, droite, accepter.

En tout cas, cette double notion contrôleur/action est très pratique et offre le niveau d'abstraction suffisant pour définir l'interaction entre le joueur et le jeu. Du coup, ajouter la gestion de la manette, c'est juste ajouter un contrôleur à une action existante et rien d'autre ne change. C'est simple et ça répond au besoin initial.

Les interfaces graphiques

Pourquoi les interfaces graphiques de jeux vidéos sont-elles particulières ? Il y a deux raisons :

  1. Premièrement, à cause du mode de fonctionnement de l'affichage. Dans une interface graphique de bureau, l'affichage est mis à jour de temps en temps en fonction d'événements. Dans un jeu vidéo, on affiche une frame tous les soixantièmes de seconde et on la redessine à chaque fois, on doit donc redessiner notre interface complètement.
  2. Deuxièmement, à cause des interfaces physiques. Une interface graphique de bureau classique est prévue pour être utilisée avec une souris. Dans un jeu vidéo, la souris n'est pas obligatoire, il faut donc pouvoir piloter l'interface graphique avec toutes les interfaces physiques possibles — essentiellement le clavier et la manette.

Évidemment, je ne suis pas le premier à avoir réfléchi à tout ça ; il existe donc déjà une tétrachiée de bibliothèques d'interfaces graphiques pour SFML (de qualités inégales, d'ailleurs) :

J'ai décidé de réaliser ma propre bibliothèque d'interface graphique. Pour deux raisons. La première raison, c'est que les bibliothèques existantes intègrent complètement la gestion des événements. Or, sachant que j'ai déjà mes contrôleurs et mes actions, je veux les utiliser comme bon me semble et ne pas dépendre des choix faits par la bibliothèque. La deuxième raison, qui se rapproche de la première, c'est que ces bibliothèques intègrent complètement le dessin des widgets, parfois à l'aide d'un langage du genre CSS. Vous devez vous dire que je suis un peu idiot de refuser qu'une bibliothèque de widgets dessine ses widgets. En fait, le fait de découpler les widgets de leur affichage n'est pas si idiot : il permet de customiser l'affichage pour chaque jeu. Avoir un interpréteur de CSS juste pour afficher quelques widgets, ça fait un peu trop usine à gaz à mon goût.

L'intérêt d'avoir sa propre bibliothèque, c'est qu'on peut piquer une excellente idée de jnuit, à savoir offrir les widgets standard des jeux, et notamment celui qui gère la résolution de l'écran. Ça permet aussi de voir comment on programme ce genre de logiciel assez particulier qu'est une interface graphique. On en vient à se poser les mêmes questions que ses prédécesseurs et au final y apporter les mêmes réponses. Bref, c'est un exercice assez sympathique que tout le monde devrait avoir fait au moins une fois dans sa vie (comme écrire un compilateur), même si ça s'éloigne beaucoup du jeu vidéo au final.

lisuit, SFML User Interface Toolkit

Je vous présente donc SUIT (SFML User Interface Toolkit) (ou lisuit suivant mon humeur) qui est le résultat de toutes ces réflexions. SUIT vient avec la documentation de l'API, une micro documentation générale et quelques exemples (nommés respectivement spade, heart, diamond et club, hahaha) et qui permettent de voir quelques fonctionnalités de la bibliothèque. club notamment montre le widget de configuration de la vidéo.

Autres nouvelles en vrac La documentation des API de mes bouts de code

Comme vous avez pu le voir plus haut, j'ai mis en ligne la documentation des API des bibliothèques que j'ai écrites pour ce jeu, sur l'espace mis à ma disposition par github. Ça concerne libes (la bibliothèque pour faire de l'entités-composants-systèmes), libtmx (la bibliothèque pour lire les fichiers TMX produit par Tiled), et libsuit donc.

Un canal IRC pour parler de jeux libres

J'ai rejoint il y a peu le canal IRC #jeuxlibres sur Freenode. Ce canal doit exister depuis un moment mais il n'était pas très connu. Après avoir reçu une invitation, j'ai rejoint ce canal avec quelques autres personnes et au final, ce canal est maintenant assez animé. Nous sommes une grosse dizaine et il y a de temps en temps des débats assez intéressants. Si vous aimez les jeux libres, n'hésitez pas à venir nous rejoindre !

Message personnel

Enfin, je profite de cette nouvelle pour passer un petit message personnel, une fois n'est pas coutume. En fait, cet été, quelqu'un s'est aperçu que j'étais « le rewind de linuxfr ». Il me connaissait depuis des années via ce biais, et IRL depuis moins longtemps par les hasards de la vie, et il a fait le lien cet été avec des yeux ébahis. C'était très drôle à voir. Donc, coucou à Gérald (qui n'a pas voulu me révéler son compte linuxfr) ;)

Télécharger ce contenu au format Epub

Lire les commentaires

iStoa 14.08

20 août, 2014 - 19:16

iStoa est un logiciel pour GNU/Linux proposant des activités mathématiques, le niveau scolaire visé est pour l'instant celui de CP. Le projet est en phase active de développement et propose actuellement une vingtaine de séries d'exercices, le corpus s'étoffe petit à petit pour couvrir à terme toute l'année de CP, puis les suivantes.

Le projet reprend un travail de 2008. Toute la partie modélisation et suivi de l'apprenant est pour le moment mise en veille pour se focaliser sur l'aspect graphique et l'interactivité des activités.

Toutes les activités suivent un même modus operandi : l'apprenant a droit à 3 essais pour résoudre un exercice, iStoa montre les erreurs puis l'utilisateur peut les corriger. En dernier recours, le logiciel corrige l'exercice pour l'apprenant.

Le score de l'utilisateur se construit en regard de son taux de réussite aux activités, il lui est présenté graphiquement sous la forme de médailles, coupes et couronnes, à l'image des performances des sportifs aux jeux olympiques. Enfin le logiciel est multi-utilisateur : nom, avatar, historique des activités et score sont sauvegardés.

NdM : Hilaire Fernandes n'en est pas à son coup d'essai, puisqu'il a déjà écrit l'excellent Dr Geo, logiciel pour l'apprentissage interactif de la géométrie.

 

Télécharger ce contenu au format Epub

Lire les commentaires

CentOS 7 fait son entrée au CERN

19 août, 2014 - 18:21

Suite au rapprochement de Red Hat et CentOS en janvier 2014, le CERN a annoncé que CentOS 7 remplacera Scientific Linux 7 comme base de leur distribution maison, qui s’appellera désormais CERN CentOS 7. Scientific Linux est une distribution Linux, principalement maintenue par le CERN et le Fermilab. C'est un clone de Red Hat Enterprise Linux, qui existe depuis 2004.

Les utilisateurs de Scientific Linux 5 et 6 continueront de recevoir les mises à jours comme prévu jusqu'en 2020, mais l'avenir de Scientific Linux 7 est plus incertain : bien que déjà publiée en version Beta, Scientific Linux 7 pourrait finalement être publiée sous une autre forme, à savoir une variante de CentOS, tout comme il existe de nombreuses variantes d'Ubuntu. Mais pour l'instant, aucun communiqué officiel n'a été publié sur le site web de Scientific Linux.

Le CERN utilise RedHat Linux depuis de très nombreuses années pour ses installations. À tel point que lors de la séparation de Red Hat Linux en deux entités (Fedora et Red Hat Enterprise Linux) en 2004, le CERN et ses partenaires créèrent un clone de RHEL, baptisé Scientific Linux, pour continuer à bénéficier d'une distribution stable et maintenue pendant de nombreuses années, sans avoir à payer une licence pour chaque installation.

Dix ans plus tard, avec le rapprochement de CentOS et Red Hat, la raison d'être de Scientific Linux a disparu, et il est très certainement plus productif pour le CERN de contribuer à CentOS plutôt que de continuer à maintenir sa propre distribution Linux.

Télécharger ce contenu au format Epub

Lire les commentaires

Revue de presse de l'April pour la semaine 33 de l'année 2014

18 août, 2014 - 22:27

La revue de presse de l'April est régulièrement éditée par les membres de l'association. Elle couvre l'actualité de la presse en ligne, liée au logiciel libre. Il s'agit donc d'une sélection d'articles de presse et non de prises de position de l'association de promotion et de défense du logiciel libre.

Sommaire

[Developpez.com] L'essor de l'open source, une menace pour les logiciels propriétaires?

Par Francis Walter, le vendredi 15 août 2014. Extrait:

Ces derniers temps, beaucoup d'administrations optent pour les solutions open source. Elles ont compris qu'elles peuvent dépenser moins pour les technologies open source et avoir moins de difficulté pour la maintenance et les mises à jour, moins de risque d'espionnage et moins de menaces de cyberattaque. La fin du support de Windows XP par Microsoft serait l'une des sources de motivation des entreprises à pencher vers les solutions libres. Rappelons que la plupart des entreprises, jusqu'à l'abandon de l'OS, utilisaient Windows XP comme système d'exploitation.

Lien vers l'article original: http://www.developpez.com/actu/74136/L-essor-de-l-open-source-une-menace-pour-les-logiciels-proprietaires

[Next INpact] Le ministère du Travail va basculer vers des logiciels de bureautique libres

Par Xavier Berne, le jeudi 14 août 2014. Extrait:

Utilisant depuis 2009 des logiciels de bureautique et de messagerie propriétaires, le ministère du Travail se prépare à basculer vers des logiciels libres de type LibreOffice ou Thunderbird. Ce mouvement va cependant prendre du temps: quatre à six ans selon l’exécutif.

Lien vers l'article original: http://www.nextinpact.com/news/89239-le-ministere-travail-va-basculer-vers-logiciels-bureautique-libres.htm

Et aussi:

Voir aussi:

[The True North Times] Text of Canada-EU Trade Agreement (CETA) Leaked

Par Maxwell Stockton, le jeudi 14 août 2014. Extrait:

(Deux semaines après que l'Allemagne ait laissé entendre son rejet de dispositions au coeur de l'Accord Commercial Canada-Union européenne, ses défenseurs ont probablement pensé que le terrain sur lequel ils avançaient devenait de plus en plus incertain. Hier, il s'est dérobé de sous leurs pieds) Two weeks after Germany hinted at rejecting core provisions of the Canada-EU Trade Agreement (CETA), trade advocates probably thought that the ground they were breaking was shifting uneasily. Yesterday, it fell out from under them.

Lien vers l'article original: http://www.truenorthtimes.ca/2014/08/14/text-canada-eu-trade-agreement-ceta-leaked/

[Village de la Justice] Brevet logiciel: USA = Europe?

Par Laëtitia Le Metayer, le mardi 12 août 2014. Extrait:

Le sujet de la brevetabilité du logiciel n’est pas appréhendé de la même façon en Europe et aux États-Unis. Si le champ de brevetabilité est plus étendu (en principe) aux États-Unis, une décision récente de la Cour suprême US vient restreindre l’admissibilité au brevet pour les procédés informatiques (Alice Corp. V. CLS Bank International).

Lien vers l'article original: http://www.village-justice.com/articles/Brevet-logiciel-USA-Europe,17536.html

[Numerama] Windows XP devrait passer open source, suggère un expert informatique

Par Julien L., le lundi 11 août 2014. Extrait:

Un expert informatique a suggéré lors du Black Hat 2014 que Windows XP devrait devenir open source, puisque Microsoft a renoncé à poursuivre le support de son système d'exploitation. Il propose même que cette règle soit appliquée à l'ensemble des logiciels dont le code source est fermé, ce qui serait positif du point de vue de la sécurité.

Lien vers l'article original: http://www.numerama.com/magazine/30232-windows-xp-devrait-passer-open-source-suggere-un-expert-informatique.html

Télécharger ce contenu au format Epub

Lire les commentaires

Crypto-party estivale au L@Bx (Bègles, Gironde), 22 août 2014

18 août, 2014 - 18:01

Vendredi 22 août, c'est cryptoparty toute la soirée / nuit au L@Bx.

Entrée libre et gratuite. Amenez à manger, à boire, sac de couchage pour les plus courageux.

Quelques idées d'ateliers proposés :

  • Créations / échanges de clés GPG
  • Chiffrement de disque dur avec LVM+LUKS, encfs, etc.
  • Mise en place d'un serveur de courriel
  • Traduction du handbook cryptoparty en se basant sur le travail du Tetalab
  • TrollDébat sur la sécurisation des locaux du L@Bx (RFID, caméra, poulet-tueur, etc.)

Pour rappel, le L@Bx est un Hackerspace à Bègles (Communauté Urbaine de Bordeaux). Il ouvre ses portes tous les mardis et vendredis soir.

Au plaisir de vous y croiser !

Télécharger ce contenu au format Epub

Lire les commentaires

m23 rock 14.2 est sorti

18 août, 2014 - 01:07

Le projet m23 a publié une nouvelle version du système de déploiement et d'administration de Linux. Ce logiciel libre est disponible sous licence GPL.

m23 vous permet d'installer des machines Linux avec Debian, (X/K)Ubuntu, LinuxMint, Fedora et openSUSE par le réseau, de les mettre à jour, d'y installer du logiciel additionnel, de sauvegarder les clients et le serveur, de grouper les clients, de réaliser des installations de masse, d'intégrer des clients existants et il offre beaucoup de possibilités de configuration. m23 dispose d'une interface web.

La dernière version de m23 étend le spectre des distributions de clients pris en charge par l'ajout du support pour Ubuntu 14.04 LTS et Linux Mint 17 Qiana. Pour Linux Mint, les environnements de bureau Mate, Cinnamon, Xfce et KDE sont disponibles — pour Ubuntu, il y a un bureau minimal de KDE / Kubuntu Desktop, Unity (3D), Xfce, le bureau Lubuntu et Gnome.

Bien que l'ajout du support pour les deux nouvelles distributions — et en particulier des bureaux — soit la principale nouveauté de cette nouvelle version, d'autres améliorations ont également été apportées à m23. Parmi celles-ci, vous trouverez l'amélioration de l'authentification de l'utilisateur par LDAP ou le nouveau framework de test "AutoTest" qui vérifie automatiquement les ISO d'installation du serveur m23.

Pour en savoir plus, visitez le site web du projet m23.

Télécharger ce contenu au format Epub

Lire les commentaires

Rencontre PostgreSQL à Lyon le mercredi 17 septembre

15 août, 2014 - 00:35

Le mercredi 17 septembre de 19h à 22h aura lieu une rencontre autour de PostgreSQL, à l'Antre Autre, au 11 rue Terme à Lyon. Ce sera l'occasion de parler des nouveautés de la version 9.4 du système de gestion de bases de données PostgreSQL, et de son déploiement en environnement à forte charge.

Le reste de la soirée donnera lieu à des discussions informelles sur des sujets divers et variés autour de quelques verres.

Que vous découvriez PostgreSQL ou que vous cherchiez des retours d'expérience sur des utilisations avancés du moteur, vous êtes les bienvenu(e)s.

Pour indiquer votre venue, merci de vous inscrire ou de me faire un retour à cette dépêche.

Télécharger ce contenu au format Epub

Lire les commentaires

scdrand: alimenter le pool d’entropie du noyau à partir d’une carte à puce

14 août, 2014 - 08:44

Possesseur d’une carte OpenPGP, je cherchais un moyen d’exploiter le générateur de nombres aléatoires dont elle est équipée.

Une rapide recherche m’a immédiatement emmené vers TokenTools, qui semble faire exactement ce que je veux. Malheureusement, ce programme ne peut pas cohabiter harmonieusement avec Scdaemon, le démon de GnuPG chargé d’interagir avec les cartes à puce : TokenTools ne peut pas accéder à la carte tant que scdaemon tourne — or j’ai besoin de scdaemon pour l’utilisation routinière de ma carte OpenPGP (signer, déchiffrer, m’authentifier).

La deuxième partie décrit le programme que l'auteur a écrit pour remplacer Token Tools.

Plutôt que d’envisager une alternance fastidieuse entre scdaemon et TokenTools, j’ai donc entrepris d’écrire un petit programme similaire à TokenTools, mais qui accède à la carte par l’intermédiaire de scdaemon plutôt qu’en concurrence de ce dernier.

Voici donc scdrand, un programme qui obtient quelques octets aléatoires (de 1 à 256) à partir d’une carte à puce compatible¹, et qui les utilise pour approvisionner le pool d’entropie du noyau (le pool qui alimente à son tour /dev/random et /dev/urandom).

L’utilisation est supposée être simple, dès l’instant où un agent GPG et scdaemon sont disponibles et en cours d’utilisation (ce qui devrait probablement être le cas si vous êtes déjà utilisateur d’une carte OpenPGP). Par exemple :

$ scdrand 64

Demande 64 octets aléatoires à la carte, les fournit au noyau et se termine.

Une utilisation un peu plus poussée est la suivante :

$ scdrand -l -i 2 -t 512 256

Ici, scdrand va vérifier toutes les deux secondes s’il y a au moins 512 bits d’entropie disponible dans le pool du noyau, et dans le cas contraire, approvisionner celui-ci avec 256 octets aléatoires en provenance de la carte.

Pour visualiser l’effet de scdrand, j’ai suivi l’état du pool d’entropie du noyau (nombre de bits d’entropie disponibles, consultable dans /proc/sys/kernel/random/entropy_avail) pendant la génération d’une paire de clefs RSA par GnuPG, d’abord sans, puis avec scdrand.

Comme on peut le voir sur le graphe ci-dessus, la génération d’une paire de clefs vide instantanément le pool d’entropie et le maintient à un niveau très bas tant que la paire n’est pas générée. Sans sources d’entropie supplémentaire (GnuPG conseille à ce moment-là de bouger la souris, de saisir n’importe quoi sur le clavier ou de solliciter les disques durs — ce que je n’ai pas fait pour cet exemple), cela a pris ici une quarantaine de secondes, après quoi le noyau a encore besoin d’une trentaine de secondes pour ramener le pool d’entropie au niveau basal.

La deuxième paire de clefs, générée avec scdrand tournant dans un autre terminal, vide tout aussi le pool d’entropie. Mais cette fois-ci, au bout de deux secondes le pool est réapprovisionné par scdrand. En conséquence, trois secondes suffisent à GnuPG pour générer la paire de clefs, et le pool d’entropie revient à son niveau de base en moins de vingt secondes.

Évidemment, si vous ne passez pas votre temps à créer de nouvelles clefs toutes les cinq minutes, l’intérêt de tout celà est sans doute assez limité… Mais si ça vous intéresse tout de même, le code est là :

¹ La commande GET CHALLENGE permettant la génération de données aléatoires est spécifiée dans le standard ISO 7816-6 et n’est pas spécifique à l’application OpenPGP, donc scdrand devrait pouvoir utiliser d’autres types de carte. Mais je n’ai pu tester qu’avec une carte OpenPGP 2.0.

Télécharger ce contenu au format Epub

Lire les commentaires

FreeBSD 9.3 sort des cartons

13 août, 2014 - 16:22

FreeBSD 9.3 est sorti, mêlant correctifs et nouveautés. La version 9.3 est estampillée Long Term Support (LTS). Elle sera donc maintenue pendant deux ans et remplace ainsi la version 9.1, expirant en décembre 2014. Par ailleurs, l'équipe FreeBSD a étendu la maintenance de la version 9.2 à décembre dans un souci de cohérence. En effet, la maintenance pour cette version devait se terminer en septembre 2014 c'est-à-dire avant la fin de la 9.1.

Mises à jour Pilotes
  • Les pavés tactiles des Macbooks Apple sont désormais gérés.
  • Le pilote KMS pour les cartes Radeon AMD a été ajouté.
  • Les cartes RAID Megaraid Fury sont désormais prises en charge.
Réseau

Quelques améliorations sur les pilotes réseaux ont permis d'ajouter la gestion de nouvelles puces réseau et de la pile RNDIS au sein de FreeBSD :

  • re: RTL8168G, RTL8168GU et RTL8411B ;
  • bge: BCM5725, BCM57764, BCM57767, BCM57782, BCM57786 et BCM57787 ;
  • bxe: Broadcom NetXtreme II 10Gb PCIe ;
  • run: MediaTek/Ralink RT3593 et DLINK DWA-127 ;
  • qlxgbe: QLogic 8300 series ;
  • urndis: gestion de l'Ethernet en mode RNDIS (partage de connexion USB notamment).
Systèmes de fichiers ZFS
  • Ajout de la fonctionnalité de marque-pages. Cette fonctionnalité permet d'ajouter un point de départ dans un instantané ZFS. Ce point de départ sert de référentiel dans l'utilisation d'une commande de type zfs send.
  • Correction de deux kernel panics
  • Correction d'une fuite de mémoire
  • Il est désormais possible de changer la limite des métadonnées du cache ARC à chaud (sysctl vfs.zfs.arc_meta_limit)
EXT4
  • Le système de fichiers EXT4 est désormais géré en lecture.
Sécurité
  • L'équipe de FreeBSD a décidé de ne plus faire confiance aux générateurs de nombres aléatoires matériels. Ils sont désactivés à partir de cette version
  • Plusieurs correctifs de sécurité sur bind, pam et openssl
Logiciels empaquetés dans cette version

Vous trouverez quelques logiciels intégrés de base dans la distribution:

  • OpenSSH 6.6-p1
  • OpenSSL 0.9.8za
  • Bind 9.9.5
  • Sendmail 8.14.9
Processus de mise à jour

Si vous utilisez actuellement une version plus ancienne de FreeBSD, voici le processus de mise à niveau :

freebsd-update fetch freebsd-update -r 9.3-RELEASE upgrade freebsd-update install reboot freebsd-update install # Si vous utilisez un repository pkg pkg upgrade # Si vous utilisez les ports portmaster -af freebsd-update install Conclusion

FreeBSD nous fournit donc une version LTS qui continue dans la lignée de cette 9e mouture de l'OS. Troisième version de FreeBSD 9, elle poursuit la stabilisation de la branche tout en ajoutant la gestion du matériel que l'on peut attendre après deux ans.

Télécharger ce contenu au format Epub

Lire les commentaires

Livre libre sur la création de jeu avec Blender

13 août, 2014 - 10:54

Flossmanual francophone, qui produit de la documentation libre pour apprendre les logiciels, a sorti vendredi un nouveau livre.

Cette fois, il s'agit d'un manuel sur le moteur de jeu de Blender. Le livre traite de nombreux aspects du logiciel dans la création du jeu avec ce logiciel, aborde systématiquement les options graphiques conjointement aux options offertes par l'API Python. S'il commence par une découverte du moteur de jeu, il n'est cependant pas fait pour de complets débutants, ni avec Blender, ni en programmation. Il a néanmoins un plan progressif qui ne place pas la barre trop haut dès le début.

Ce manuel a été écrit lors d'un libérathon de 5 jours qui s'est déroulé chez F/Lat à Bruxelles. Il a regroupé 14 personnes dont, entre autres, 2 membres de FlossManuals et d'Activdesign, des membres du BlenderClan et graphistes, un développeur du BGE belge qui en a profité pour débugger certains détails importants qui seront portés dans la prochaine version de Blender (liste des auteurs).

Ce manuel, le second sur Blender de Fmfr, a été rendu possible grâce à la participation financière de l'Organisation Internationale de la Francophonie. Une version papier en sera certainement produite à l'avenir s'il y a des demandes expresses.
Les idées ayant été nombreuses et le sujet étant vaste, le livre est encore en train d'évoluer rapidement. Des versions PDF et epub sont cependant déjà téléchargeables, avec la version actuelle, sur le site. Une documentation secondaire serait à l'étude.

Télécharger ce contenu au format Epub

Lire les commentaires

Meetup Python #4 à Nantes le mardi 26 août

12 août, 2014 - 23:20

Lors de ce quatrième meetup, nous vous proposerons deux présentations :

  • « Introduction à Django, le framework de développement web pour les perfectionnistes sous pression. »
  • « Écrire du code python selon les règles de l’art. »

Nous aurons le reste de la soirée pour discuter des sujets divers et variés qui vous passionnent et profiter de l’ambiance conviviale qui anime ces premiers meetups.

Que vous soyez expert Python, amateur ou que vous ayez juste envie de découvrir ce langage, vous êtes les bienvenus !

PS : nous avons maintenant un blog http://nantes.afpy.org/

PPS : pour participer à l'organisation, inscrivez-vous à la liste de diffusion

Télécharger ce contenu au format Epub

Lire les commentaires

digiKam 4.2 est disponible

12 août, 2014 - 12:01

DigiKam 4.2 est sortie le 5 août dernier. Un an après la dernière dépêche sur digiKam, cette nouvelle version est l'occasion de faire un récapitulatif des nouveautés des versions de ce logiciel sorties dans cette période. Pour rappel, digiKam est un logiciel de gestion d'images qui utilise, entre autres, les bibliothèques KDE. Il est principalement développé par le Français Gilles Caulier.

digiKam 3.4

La version 3.4 est sortie le 6 septembre 2013.

Cette version inclut l'implémentation d'un nouveau cœur pour gérer les outils de maintenance, en particulier pour mieux prendre en charge le multiprocesseur et les CPU multi-cœurs pour accélérer l'exécution.
Quelques bogues ont également été corrigés dans cette version.

digiKam 3.5

La version 3.5 est sortie le 10 octobre 2013. Ce fut une version de maintenance avec la correction de 6 bogues. On pourra néanmoins noter la possibilité de préciser à digiKam que l'on ne veut pas reconnaitre ni taguer les visages lors d'une procédure de reconnaissance faciale.

  • Un nouvel outil dédié à l'organisation hiérarchique des étiquettes. Cette fonctionnalité a été introduite par Veaceslav Munteanu. Il a également travaillé sur les sélections multiples et les multiples glisser-déposer du gestionnaire d'étiquettes et de la vue des étiquettes des barres latérales. Enfin, il a également ajouté la gestion des méta-données des enregistrement des rectangles de visage dans le format Windows Live Photo.
  • Gowtham Ashok a développé un nouvel outil de maintenance dédié à l'analyse de la qualité des images et à l'étiquetage automatique des éléments en utilisant Pick Labels.
  • La barre de miniatures de Showfoto a été portée vers l'architecture modèle/vue de Qt4 dans l'objectif de basculer plus tard vers un code entièrement en Qt5. Ce travail a été réalisé par Mohamed Anwer.
  • L'outil d'import a reçu de nombreuses corrections sur des dysfonctionnements rapportés pour certains depuis 3 ans. Par exemple, le statut indiquant quel élément a déjà été téléchargé depuis l'appareil est de retour. Merci à Teemu Rytilahti et Islam Wazery pour leurs contributions.
  • DigiKam est maintenant entièrement porté vers l'architecture modèle/vue de Qt4 ; les dernières trace des classes Q3Support ont disparu. La dernière partie restante était le Image Editor Canvas qui a été porté par Yiou Wang dans le cadre du GSoC-2013. Dans le futur, le port vers Qt5 sera facile et rapidement fait, lorsque l'API de KDE 5 sera stabilisée et publiée.
  • Prise en charge des CPU multi-cœurs pour plusieurs outils qui requièrent beaucoup de calcul, tels que Sharpen, LocalContrast, Noise Reduction ainsi que tous les outils d'effets visuels.

Les différentes versions bêta ont permis de fermer 181 rapports de bogues avant la sortie de cette version majeure. L'un des bogues soulevé par ʭ☯ semble avoir été corrigé à l'occasion de cette sortie.

digiKam 4.1

La version 4.1 est sortie le 30 juin 2014.

C'est la première version de maintenance depuis la sortie de la version 4.0 ; elle corrige donc beaucoup de bogues : 48 rapports de bogues ont été fermés.
Les corrections et améliorations concernent principalement

  • La gestion des visages a reçu d'énormes améliorations et des corrections pour des problèmes introduits dans la dernière version majeure.
  • La détection et la reconnaissance des visages est maintenant plus robuste et utilisable « en production ».
  • Les icônes pour les vues ont maintenant une nouvelle apparence pour identifier les photos qui ont des informations de géolocalisation, rendant plus facile la recherche d'images possédant des coordonnées GPS.
  • La taille maximum des miniatures de visualisation est maintenant de 512 pixels, contre 256 précédemment, améliorant ainsi leur apparence pour les affichages haute définition.
digiKam 4.2

La version 4.2 est sortie le 5 août 2014. Cette version voit apparaitre une nouvelle vue dans la barre latérale de gauche permettant une recherche rapide des éléments avec les labels assignés. Par ailleurs, la vue en arbre des étiquettes se voit ajouter une nouvelle option lui permettant d'afficher les éléments sans étiquette. Ces améliorations ont été ajoutées par Mohamed Anwer dans le cadre du Google Summer of Code 2014.

19 rapports de bogues ont été fermés pour cette version 4.2. Parmi ceux-ci, plusieurs concernent une stabilisation de la reconnaissance faciale et de l'étiquetage (tag) des visages. L'export vers Flickr a par ailleurs été rétabli. Ce greffon de Kipi ne fonctionnait plus du fait du passage de l'API de Flickr à une version https uniquement.

Télécharger ce contenu au format Epub

Lire les commentaires

Revue de presse de l'April pour la semaine 32 de l'année 2014

12 août, 2014 - 08:19

La revue de presse de l'April est régulièrement éditée par les membres de l'association. Elle couvre l'actualité de la presse en ligne, liée au logiciel libre. Il s'agit donc d'une sélection d'articles de presse et non de prises de position de l'association de promotion et de défense du logiciel libre.

Sommaire

[01net.] Black Hat 2014: peut-on encore sauver le cyberespace de ses innombrables failles?

Par Gilbert Kallenborn, le vendredi 8 août 2014. Extrait:

Face à la croissance rapide des vulnérabilités, il faut trouver de nouvelles solutions. Parmi les idées nouvelles qui émergent: le rachat et la publication de toutes les failles ou encore la dépossession des éditeurs de leurs codes source.

Lien vers l'article original: http://www.01net.com/editorial/624902/black-hat-2014-peut-on-encore-sauver-le-cyberespace-de-ses-innombrables-failles

[Next INpact] 687 000 euros de logiciels libres pour le ministère de l’Agriculture en 2013

Par Xavier Berne, le jeudi 7 août 2014. Extrait:

Contrairement à l’idée reçue, logiciel libre n’est pas forcément synonyme de gratuité. Le ministère de l’Agriculture a par exemple dépensé 687 000 euros l’année dernière pour des programmes non privateurs. Pour autant, il a davantage ouvert son portefeuille pour des solutions propriétaires. Explications.

Lien vers l'article original: http://www.nextinpact.com/news/89108-687-000-euros-logiciels-libres-pour-ministere-l-agriculture-en-2013.htm

Et aussi:

Voir aussi:

[Silicon.fr] Skype lâche les utilisateurs de Mac PowerPC

Par David Feugey, le jeudi 7 août 2014. Extrait:

Toutefois, nous pourrions nous attendre à mieux de la part d’un éditeur de logiciels propriétaires. En particulier quand ce dernier n’a pas manqué de souligner mainte et mainte fois son professionnalisme face à la communauté des logiciels libres. Une communauté qui arrive à faire ce que la firme de Redmond ne peut réaliser: maintenir une continuité dans le monde du logiciel.

Lien vers l'article original: http://www.silicon.fr/lobsolescence-programmee-frappe-encore-skype-abandonne-les-utilisateurs-mac-powerpc-96025.html

[Developpez.com] Open source: nouvelle migration en Europe, Turin en Italie adopte Ubuntu et OpenOffice

Par imikado, le jeudi 7 août 2014. Extrait:

Encore une victoire pour l'Open source avec cette nouvelle d'Italie: Turin a décidé de faire un pas vers l’open source en abandonnant l’utilisation des logiciels propriétaires. La localité se donne 1 an et demi pour migrer 8 300 postes sous Ubuntu, avec l’adoption d’Open Office ou LibreOffice comme suite bureautique en lieu et place de Microsoft Office.

Lien vers l'article original: http://www.developpez.com/actu/73972/Open-source-nouvelle-migration-en-Europe-Turin-en-Italie-adopte-Ubuntu-et-OpenOffice

[ouest-france.fr] À Vannes, on sécurise la voiture de demain

Par Patrick Croguennec, le mercredi 6 août 2014. Extrait:

Assistance à la navigation, à la gestion automatique du freinage… Les véhicules ont toujours plus d'informatique. Qu'il faut sécuriser.

Lien vers l'article original: http://www.ouest-france.fr/vannes-securise-la-voiture-de-demain-2747973

[Next INpact] Un début de détente dans la guerre acharnée entre Apple et Samsung

Par Vincent Hermann, le lundi 6 août 2014. Extrait:

Après des années de guerre acharnée, Apple et Samsung ont décidé de déposer partiellement les armes. Les deux entreprises se sont en effet mises d’accord sur l’abandon de l’ensemble des plaintes en cours ailleurs qu’aux États-Unis.

Lien vers l'article original: http://www.nextinpact.com/news/89092-un-debut-detente-dans-guerre-acharnee-entre-apple-et-samsung.htm

[Numerama] Ne dites plus "crowdsourcing" mais "production participative"

Par Julien L., le mardi 5 août 2014. Extrait:

Vous voulez décrire votre activité au sein de Wikipédia ou dans le cadre du développement d'un logiciel libre? Ne dites plus "crowdsourcing" pour expliquer la manière dont ces projets fonctionnent, mais "production participative".

Lien vers l'article original: http://www.numerama.com/magazine/30189-ne-dites-plus-crowdsourcing-mais-production-participative.html

[Les Echos] Chine: après Microsoft, Pékin bannit les logiciels Symantec et Kaspersky de son administration

Par Claude Fouquet, le lundi 4 août 2014. Extrait:

Les deux logiciels de sécurité informatique ne pourront plus être utilisés sur les ordinateurs de l'administration chinoise. Seuls cinq logiciels chinois composent la liste des logiciels officiellement autorisés par les autorités de Pékin.

Lien vers l'article original: http://www.lesechos.fr/tech-medias/hightech/0203683643229-chine-apres-microsoft-pekin-bannit-symantec-et-kaspery-de-son-administration-1030239.php

Et aussi:

Télécharger ce contenu au format Epub

Lire les commentaires

Turin et la Corée du Sud passent au libre

10 août, 2014 - 01:08

Depuis la récente dépêche indiquant l'ouverture de la ville de Toulouse au libre et également des intentions du Royaume-Uni d'utiliser des formats ouverts, c'est au tour de la ville de Turin (en italien) et de la Corée du Sud (en anglais) d'annoncer leur intention de faire migrer leurs ordinateurs sous des logiciels libres.

    Turin

    La ville italienne indique qu'elle a utilisé 22 millions d'euros en dépense informatique durant les 5 dernières années. Cela inclut les licences logiciels, l'achat de nouveau matériel, l'assistance technique et les installations. En utilisant des logiciels libres, la ville espère économiser 6 millions d'euros sur la même période.

    Les employés de la ville auront ainsi l'immense bonheur d'utiliser Mozilla Firefox et Open Office en lieu et place d'Internet Explorer et Microsoft Office. Windows est également remplacé par Ubuntu.

    Le début de la transition est prévu pour cet automne et devrait s'achever un an et demi plus tard.

    Corée du Sud

    Le gouvernement coréen a annoncé fin juin son intention d'utiliser des systèmes d'exploitation libres dans toute son administration d'ici 2020. La date coïncide avec la fin du support de Windows 7. Le gouvernement espère ainsi faire disparaitre sa dépendance vis-à-vis des solutions propriétaires.

    Le plan « Open Source Software Invigoration », établi par des experts du milieu de l'industrie, de l'université et de la recherche, prévoit les points suivants :

    • la possibilité de se connecter à Internet à partir de n'importe quel système d'exploitation et navigateurs Web. Pour cela, la technologie Active X disparaitra de tous les sites internet de l'administration publique au profit de technologie HTML5.
    • les documents publiés par l'administration publique seront distribués en différents formats, dont le PDF mais aussi dans le format propriétaire local, le hwp.

    Pour mener à bien ce projet, 10 institutions publiques et privées testeront ces dispositions. Un point sera fait en 2018 pour savoir si les logiciels libres et les formats ouverts permettent de réduire les dépenses.

    Enfin, un point notable vient du fait que Lee Hyeok-jae, chef du National IT Industry Promotion Agency, annonce que la transition sera accompagnée d'une main d’œuvre en développement logiciel qui aura pour but de prendre en charge le développement de logiciels libres tandis que l'enseignement universitaire sera renforcé sur ce point.

    Télécharger ce contenu au format Epub

    Lire les commentaires