PROJET AUTOBLOG


Planet-Libre

source: Planet-Libre

⇐ retour index

genma : FirefoxOS - Le programme Foxfooding

lundi 14 décembre 2015 à 09:00

Le dogfooding (aussi appelé Eating your own dog food en anglais), traduit littéralement par « manger sa propre nourriture pour chien », est une expression utilisée en entreprise (particulièrement en informatique) désignant l'utilisation de ses propres produits et services afin de se confronter directement à ses qualités et défauts https://fr.wikipedia.org/wiki/Dogfooding

C'est en se basant sur cette expression anglaise que Mozilla a lancé le programme Foxfooding (Fox étant le renard).

Le programme Foxfooding

Un prérequis important est d'avoir une bonne maitrise de l'anglais en compréhension et en communication. En effet, tout ce passe via le le site https://firefoxos.mozilla.community/ qui n'est actuellement qu'en anglais.

On y trouve une liste de matériel compatible avec ce programme. L'idée est que les développeurs et la communauté de Mozilla fournisse des ROMS de Firefox OS dans sa dernière version, à installer sur différents smartphones et qu'une fois installé, les contributeurs fassent des remontées de bugs, des suggestions d'améliorations, des commentaires. Et que régulièrement des mises à jour soit faites. Toutes les infos étant sur https://firefoxos.mozilla.community/

Ainsi, chacun mange sa pâtée pour Renard. On est tous et toutes sur une version comparable et on peut mieux comparer nos propres expériences et expérimentations.

Sony Z3C

Dans le cadre du programme Foxfooding et mon implication au sein de la communauté francophone, j'ai récupéré un Sony Z3C, qui, après le Flame, est le nouveau téléphone de référence pour les développeurs.

Pour avoir la configuration en détail
et un avis sur ce smartphone

Pour les bidouilleurs, pour installer FirefoxOS sur ce smartphone https://github.com/fxpdev/b2g-updates/releases/tag/nightly

Je suis en version 2.6 (avec Spark) et c'est parfaitement fonctionnel au quotidien, je n'ai aucun bug (pour l'instant) dans la version fournie par défaut avec le téléphone (Merci les développeurs de Mozilla).

A venir

Je pense faire un billet comparatif entre Firefox OS sur ZTE Open C et sur le Sony Z3C vu que j'ai la même version de l'OS (à peu de choses prêts) sur les deux téléphones.

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

Planet Libre : Brèves du Planet Libre - lundi 14, décembre 2015

lundi 14 décembre 2015 à 00:00

Firefox OS presque mort : mais que veut faire Mozilla ? - Numerama

Firefox FirefoxOS Mozilla IoT HTML


antistress : Je ne sais plus qui a posté un commentaire récemment qui disait en substance que Mozilla avait de bons développeurs mais des dirigeants incompétents. Ça me semble assez bien expliquer les errements de ces derniers mois...


La CNIL demande à Facebook de ne pas tracer les non-membres - Numerama

Facebook pistage Privacy_Badger CNIL


antistress : "À la suite du jugement belge exigeant de Facebook qu'il mette fin au pistage des internautes, cinq autorités de protection de la vie privée demandent au réseau social d'appliquer les conséquences du verdict sur l'ensemble de l'Union européenne". Cool. En attendant, des extensions comme Privacy Badger remplacent à la volée les boutons de partage pisteurs par des boutons de partage inoffensifs.


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

Morot : HA avec Keepalived (GLMF 163)

dimanche 13 décembre 2015 à 21:54

Haute Disponibilité et répartition de charge avec KeepAlived !

Keepalived c’est un peu comme le miel, au début ça colle aux doigts et après on s’aperçoit que son parfum sucré est drôlement agréable. Je vais donc aborder les fondements de la haute disponibilité de services réseaux au niveau kernel pour arriver à une solution entièrement pilotée.

De quoi s’agit-il ?

Une architecture informatique est dite hautement disponible lorsque sa conception est pensée d’une part pour répondre à la panne d’un ou plusieurs équipements et d’autre part lorsqu’elle est capable d’encaisser un pic de charge sans sourciller. La solution présentée dans ces pages se focalise sur la notion de services réseaux. Bien entendu, la notion de haute disponibilité doit être prise en compte à tous les niveaux d’un système, donc aussi bien au niveau matériel (RAID, liens réseaux redondés…) qu’au niveau applicatif (clusters MySQL, LDAP multi-master, etc…) qu’humain (hé oui si l’unique sysadmin qui connait une technologie est en vacances lors d’une panne…). La répartition de charge consiste à pouvoir distribuer les requêtes de manière efficace sur un pool de serveurs afin de pouvoir gérer un nombre importants de clients.
Un mode de fonctionnement très simple pour faire de la haute disponibilité consiste à mettre en place ce que l’on appelle du Round Robin DNS, en faisant pointer plusieurs enregistrements DNS identiques, par exemple :

www	IN	A	192.168.1.61
www	IN	A	192.168.1.62

Cependant, cette solution ne tient pas compte de la disponibilité réelle des services et peut connaître des problèmes de cache DNS. Il convient donc pour réaliser un fonctionnement propre d’utiliser un load balancer en frontal. Dans cette topologie, l’ensemble des flux entrants passent par le répartiteur qui achemine aux nœuds le trafic selon un algorithme (round robin, round robin pondéré, hash IP source, moins de connexions, etc…).

2. Comment ça fonctionne sous Linux ?

2.1 La couche IPVS

IPVS pour IP Virtual Server est une interface qui se greffe au niveau de la couche Netfilter. Pour rappel, Netfiler et la couche du noyau en charge de la manipulation des paquets réseaux. C’est cette couche que vous manipulez lorsque vous utilisez la commande iptables afin de mettre en place des règles de firewall. C’est cette même couche qui sera manipulée par la commande ipvsadm présente suite à l’installation du package éponyme.
L’opération consiste donc à présenter aux clients une adresse IP dite virtuelle (VIP) indépendante de celle utilisée pour l’administration des machines qui redirigera les flux vers les serveurs réels.
IPVS est capable d’opérer selon trois modes :
– IPVS-TUN, c’est à dire derrière un tunnel de type encapsulation IP. Je n’en parlerai pas car à ma connaissance ce mode est extrêmement peu utilisé
– IPVS-NAT
– IPVS-DR

2.2 IPVS-NAT

Le mode IPVS-NAT est le plus simple à mettre en œuvre techniquement mais implique une plus grande maîtrise du réseau. Il permet également d’utiliser un adressage IPV4 privé pour les serveurs réels lorsque l’on ne dispose pas de suffisamment d’adresses IP publiques.

lvs-nat

Dans ce mode, lorsqu’un paquet arrive sur le load balancer et qu’il correspond à un service fourni par IPVS, un serveur réel est choisi dans le pool selon l’algorithme sélectionné. Un enregistrement dans la table des connexions est effectué pour préserver la destination du paquet. L’adresse IP est réécrite pour correspondre à celle du serveur réel puis le paquet est routé vers celui-ci. Lorsque le serveur réel répond, le load balancer masque son IP en réécrivant le paquet puis l’achemine au client. Ainsi, tous les flux entrants et sortants passent par le load balancer.

2.3 IPVS-DR

Dans ce mode de fonctionnement, le load balancer et les serveurs réels sont physiquement sur le même segment de réseau. La VIP est partagée entre le load balancer et les serveurs réels via une pseudo-interface. Lorsqu’une requête arrive sur la VIP, le load balancer la dispatche sur les serveurs réels en fonction de l’algorithme retenu.

lvs-dr

Sur le serveur de destination, la requête est traitée puis la réponse est directement effectuée par le serveur réel au client, sans passer cette fois par le load balancer. La décision de routage effectuée par le load balancer est conservée dans une table afin de conserver le routage jusqu’au timeout ou jusqu’à la terminaison de la connexion. Ce mode de fonctionnement a l’avantage d’être plus performant comme les réponses ne passent pas par le load balancer.

3. Mise en bouche avec IPVS

Commençons la pratique en se basant sur une architecture réseau simple. L’infrastructure de test est constituée de deux noeuds srv1 et srv2 d’adresses IP 192.168.1.61 et .192.168.1.62. Les deux nœuds hébergent chacun un serveur web Apache. En frontal, nous aurons un load balancer lb d’adresse IP 192.168.1.50. En ce qui concerne la distribution, elle a assez peu d’importance même si rien ne vaut une Debian !
Après avoir vidé les éventuels enregistrements ipvs déjà présents, on ajoute un service réseau sur le port 80 correspondant donc au HTTP, associé à un algorithme d’équilibrage. J’utilise ici les options longues afin de rendre les commandes plus explicites mais des options courtes existent bien entendu.

root@lb:~# ipvsadm --clear
root@lb:~# ipvsadm --add-service --tcp-service 192.168.1.50:80 --scheduler wrr

On peut vérifier que le service réseau est pris en compte en saisissant simplement le nom de la commande :

root@lb:~# ipvsadm 
IP Virtual Server version 1.2.1 (size=4096) 
Prot LocalAddress:Port Scheduler Flags 
  -> RemoteAddress:Port           Forward Weight ActiveConn InActConn 
TCP  192.168.1.60:http rr 

On ajoute ensuite les deux nœuds sur le load balancer :

root@lb:~# ipvsadm --add-server --tcp-service 192.168.1.50:80 --real-server 192.168.1.61:80 --gatewaying --weight 100
root@lb:~# ipvsadm --add-server --tcp-service 192.168.1.50:80 --real-server 192.168.1.62:80 --gatewaying --weight 100

Il est désormais possible de faire pointer un navigateur sur la VIP (donc http://192.168.1.50) et constater qu’il ne se passe… absolument rien !
Et pourtant, le load balancer retransmet bien des paquets :

root@lb:~# ipvsadm -L -n --stats 
IP Virtual Server version 1.2.1 (size=4096) 
Prot LocalAddress:Port               Conns   InPkts  OutPkts  InBytes OutBytes 
  -> RemoteAddress:Port 
TCP  192.168.1.50:80                     6       42        0     2520        0 
  -> 192.168.1.61:80                     3       21        0     1260        0 

Une inspection de paquets nous le confirme :

root@srv1:~# tcpdump port 80 
20:23:56.204722 IP new-host-2.home.46973 > 192.168.1.50.http: Flags [S], seq 95994012, win 14600, options [mss 1460,sackOK,TS val 697670 ecr 0,nop,wscale 7], length 0 
20:23:56.457979 IP new-host-2.home.46975 > 192.168.1.50.http: Flags [S], seq 3006976356, win 14600, options [mss 1460,sackOK,TS val 697746 ecr 0,nop,wscale 7], length 0 

En effet, les nœuds du cluster reçoivent des paquets venant de l’adresse IP du load balancer sur l’adresse IP virtuelle qui ne correspond donc pas à une interface d’écoute. La solution consiste à faire de l’IP aliasing sur l’IP du load balancer. Cependant, le risque est que les nœuds parasitent les caches ARP en répondant aux requêtes. La solution consiste à ignorer les requêtes ARP. Comme je suis plutôt ceinture et bretelles, je préfère également bloquer les requêtes à coup d’arptables au montage de l’interface.
Sur les deux nœuds de notre cluster on va donc ajouter ceci au fichier /etc/sysctl.conf :

net.ipv4.ip_forward=0 
net.ipv4.conf.all.arp_ignore=1 
net.ipv4.conf.all.arp_announce=2 
net.ipv4.conf.default.arp_ignore=1 
net.ipv4.conf.default.arp_announce=2 
net.ipv4.conf.lo.arp_ignore=1 
net.ipv4.conf.lo.arp_announce=2

Et paramétrer l’interface virtuelle comme ceci dans le fichier /etc/netwowk/interfaces (ou pour une Red Hat/CentOS, paramétrer un fichier /etc/sysconfig/network-scripts/ifcfg-lo.0 adapté) :

auto lo:0 
iface lo:0 inet static 
        address 192.168.1.60 
        netmask 255.255.255.255 
        up arptables -A INPUT -d 192.168.1.60 -j DROP 

On active le tout :

sysctl -p /etc/sysctl.conf  && ifup lo:0

Si vous ouvrez voter navigateur sur l’URL que l’on a indiqué plus haut, ça doit fonctionner !

4. Et si on faisait de la vraie haute disponibilité cette fois ?

4.1 Les défauts de l’architecture précédente

Ce que l’on a mis en place est fonctionnel mais il faut reconnaître que c’est très loin d’être parfait. D’une part, on parle de haute disponibilité alors que l’on a introduit une machine : le load balancer qui n’est absolument pas redondé. D’autre part, notre configuration ne tient absolument pas compte de l’état réel des nœuds. Pour autant, les interruptions de service autant normales (maintenances programmées ou non…) qu’anormales (pannes…) font partie de la vie d’un serveur.
C’est à ce niveau que le logiciel Keepalived intervient. Il implémente le protocole VRRP (Virtual Router Redundancy Protocol). Avec ce protocole, les deux équipements participant à un groupe VRRP communiquent en multicast afin de définir un rôle maître-esclave dans le but de s’échanger une adresse IP virtuelle en cas de défaillance d’un des deux équipements. D’autre part, Keepalived possède la notion de « checks » afin de vérifier qu’un service réseau est accessible et ainsi dynamiser la configuration de la couche ipvsadm.

4.2 Mise en place

Pour cela, on va conserver nos nœuds existants, mais partir de deux nouveaux load balancer lb1 et lb2 d’adresses IP 192.168.1.51 et 192.168.1.52. Sur chaque nœud, on va installer le package keepalived et construire un fichier /etc/keepalived/keepalived.conf, qui sera à quelques détails près identique sur les deux nœuds du cluster.
La première section, global_defs, comporte principalement des informations concernant les notifications par mail. La notion de routeur_id a somme toute peu d’importance car elle constitue un label qui peut être défini sur le hostname du serveur :

global_defs { 
   # Configuration des notifications : 
   notification_email { 
     sysadmin@domain.local 
     root@domain.local 
   } 
   notification_email_from nagios@domain.local 
   smtp_server 192.168.1.16 
   smtp_connect_timeout 30 

   # ID du load balancer 
   router_id lb1 
} 

Ensuite, il faut configurer le groupe VRRP. Celui-ci se définit via un identifiant VRRP, le virtual_routeur_id qui est commun aux deux load balancer. Ensuite, on indique un état par défaut du load balancer, le paramètre state positionné à MASTER sur lb1 et BACKUP sur lb2. Cependant, c’est la priorité la plus haute qui a réellement le dernier mot. Enfin, on définit la VIP qui sera partagée entre les deux load balancer.

vrrp_instance VI_1 { 
   virtual_router_id 100 
   state MASTER 
   priority 100 
   # Check inter-load balancer toutes les 1 secondes 
   advert_int 1 
   # Synchro de l'état des connexions entre les LB sur l'interface eth0 
   lvs_sync_daemon_interface eth0 
   interface eth0 
   # Authentification mutuelle entre les LB, identique sur les deux membres 
   authentication { 
        auth_type PASS 
        auth_pass secret 
   } 
   # Interface réseau commune aux deux LB 
   virtual_ipaddress { 
        192.168.1.50/32 brd 192.168.1.255 scope global 
   } 
} 

Enfin, la dernière partie intègre l’algorithme d’équilibrage de charge ainsi que les serveurs réels. On retrouve donc une configuration extrêmement proche de ce que nous avons vu en étudiant IPVS ce qui rend au final la lecture de la configuration relativement limpide.

virtual_server 192.168.1.50 80 {
    # L'etat de santé des cibles est vérifié toutes les 5 secondes
    delay_loop 5
    lb_algo wrr 
    lb_kind DR
    # Seul le protocole TCP est implémenté.
    protocol TCP
    # Si la VIP n'a pas pu être activée, le
    # contrôle des serveurs réels est suspendu.
    ha_suspend
    # Vous pouvez définir l'adresse d'un serveur vers qui rediriger les
    # requêtes si tous les serveurs réels sont injoignables.
    #sorry_server 123.45.67.12 80
    real_server 192.168.1.61 80 {
        weight 1

        HTTP_GET {
            url {
                path /
                digest 21dde95d9d269cbb2fa6560309dca40c
            }
            connect_timeout 3
            nb_get_retry 3
            delay_before_retry 3
        }
    }
    
        real_server 192.168.1.62 80 {
        weight 1

        HTTP_GET {
            url {
              path /
              digest 21dde95d9d269cbb2fa6560309dca40c
            }
            connect_timeout 3
            nb_get_retry 3
            delay_before_retry 3
        }
    }
}

Un point particulier concerne cependant le digest. Il s’agit d’un hash de la page à vérifier. Bien entendu les données des serveurs doivent être identiques pour retourner le même hash. Celui-ci s’obtient avec une commande fournie par le paquet keepalived et s’exécute de cette façon en direction d’un des nœuds :

root@lb1:/etc/keepalived#  genhash -s 192.168.1.62 -p 80 -u /
MD5SUM = 21dde95d9d269cbb2fa6560309dca40

Keepalived possède une sonde dédiée à la gestion du flux HTTP mais il aurait tout à fait été possible d’utiliser le check générique TCP_CHECK comme ci-après. Bien entendu, avec ce type de check, on ne vérifie que la disponibilité d’un port mais absolument pas la restitution correcte des informations.

real_server 192.168.1.61 80 {
    weight 1
    TCP_CHECK {
        connect_timeout 3
        connect_port 80
    }
}

4.3 Ça marche vraiment ?

Maintenant que tout est en ordre et la configuration déployée sur les deux nœuds, il ne reste plus qu’à démarrer keepalived via le script d’init ou bien via la commade keepalived -f /etc/keepalived/keepalived.conf
Ceux qui auront saisi la commande ifconfig sur le master après ça auront peut-être eu une interrogation : comment mon load balancer peut rediriger les flux pour la VIP 192.168.1.60 alors qu’elle n’apparait pas dans la sortie d’ifconfig ? C’est simple, il faut passer par iproute2 qui prend réellement en charge toutes les fonctionnalités du noyau :

root@lb1:~# ip addr show dev eth0 
2: eth0:  mtu 1500 qdisc pfifo_fast state UP qlen 1000 
    link/ether 52:54:00:42:b0:b3 brd ff:ff:ff:ff:ff:ff 
    inet 192.168.1.51/24 brd 192.168.1.255 scope global eth0 
    inet 192.168.1.50/32 brd 192.168.1.255 scope global eth0 
    inet6 fe80::5054:ff:fe42:b0b3/64 scope link 
       valid_lft forever preferred_lft forever 

Sur le master, les logs doivent indiquer que les checks sont activés et qu’il est bien passé en mode master :

May 25 23:29:57 lb1 Keepalived_healthcheckers: Activating healtchecker for service [192.168.1.61]:80 
May 25 23:29:57 lb1 Keepalived_healthcheckers: Activating healtchecker for service [192.168.1.62]:80 
May 25 23:29:57 lb1 kernel: [  417.914963] IPVS: sync thread started: state = MASTER, mcast_ifn = eth0, syncid = 100 
May 25 23:29:57 lb1 Keepalived_vrrp: VRRP_Instance(VI_1) Transition to MASTER STATE 
May 25 23:29:58 lb1 Keepalived_vrrp: VRRP_Instance(VI_1) Entering MASTER STATE
Même chose sur le load balancer secondaire mais en indiquant cette fois le passage en mode secours :
May 25 23:30:45 lb2 Keepalived_vrrp: VRRP_Instance(VI_1) Entering BACKUP STATE 
May 25 23:30:45 lb2 Keepalived_healthcheckers: Using LinkWatch kernel netlink reflector... 
May 25 23:30:45 lb2 Keepalived_healthcheckers: Activating healtchecker for service [192.168.1.61]:80 
May 25 23:30:45 lb2 Keepalived_healthcheckers: Activating healtchecker for service [192.168.1.62]:80 
May 25 23:30:45 lb2 kernel: [  476.743238] IPVS: sync thread started: state = BACKUP, mcast_ifn = eth0, syncid = 100 
Simulons une panne ou une maintenance d'un des serveurs en arrêtant srv1.
May 25 23:32:57 lb2 Keepalived_healthcheckers: Timeout connect, timeout server [192.168.1.61]:80. 
May 25 23:32:57 lb2 Keepalived_healthcheckers: Removing service [192.168.1.61]:80 from VS [192.168.1.50]:80 
Puis son retour à la normale :
May 25 23:34:10 lb1 Keepalived_healthcheckers: MD5 digest success to [192.168.1.61]:80 url(1). 
May 25 23:34:15 lb1 Keepalived_healthcheckers: Remote Web server [192.168.1.61]:80 succeed on service. 
Même chose, en simulant une panne du load balancer maître, les logs du secondaire indique qu'il prend le relai. La commande ip addr doit confirmer la bascule de la VIP.
May 25 23:35:21 lb2 Keepalived_vrrp: VRRP_Instance(VI_1) Transition to MASTER STATE 
May 25 23:35:22 lb2 Keepalived_vrrp: VRRP_Instance(VI_1) Entering MASTER STATE 
May 25 23:35:22 lb2 kernel: [  753.871114] IPVS: stopping backup sync thread 1959 ... 
May 25 23:35:22 lb2 kernel: [  753.873973] IPVS: sync thread started: state = MASTER, mcast_ifn = eth0, syncid = 100 

A noter, la directive nopreempt permet d’empêcher la bascule vers le maître par défaut en cas de retour à la normale de celui-ci.

4.4 J’ai comme un doute sur ta manière de vérifier là…

Comme je le disais un peu plus haut, en dehors du check HTTP, les checks TCP sont extrêmement simples et ne vérifient que la possibilité de se connecter sur un port donné. Keepalived fournit un check générique, MISC_CHECK, permettant de déléguer à un script externe la vérification de l’état de santé. C’est le code de retour du script qui indique l’état de santé. Un code 0 renvoie un serveur disponible, 1 une erreur. D’autres valeurs sont possibles et sont documentées dans la page de man de keepalived.conf.
Un exemple pourrait donc être pour un serveur LDAP :

#!/bin/bash 
HOST=$1 
BASEDN="dc=domain,dc=local" 
ldapsearch -x -h $HOST -b $BASEDN > /dev/null 

Qui serait appelé dans keepalived comme suit :

real_server 192.168.1.61 389 {
    weight 1
    MISC_CHECK {
        misc_path "/usr/local/bin/check_ldap.sh 192.168.1.61"
    }
}
real_server 192.168.1.62 389 {
    weight 1
    MISC_CHECK {
        misc_path "/usr/local/bin/check_ldap.sh 192.168.1.61"
    }
}

Voila, je pense que l’on a fait un aperçu de ce qu’il est possible de faire grâce aux logiciels libres et de façon relativement simple sans devoir passer à la caisse pour acquérir une appliance « boite noire ». D’autres logiciels à la manière de keepalived sont capables de piloter la couche IPVS comme ldirectord, piranha qui offrent des fonctionnalités similaires et peuvent mériter votre attention mais ils se basent tous sur les mêmes principes !

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

Okki : Nouveautés à venir dans Cartes 3.20

dimanche 13 décembre 2015 à 21:29

Jonas Danielsson vient de publier un billet de blog sur les nouveautés à venir de Cartes 3.20.

Ouverture dans le navigateur

Depuis quelque temps déjà, Cartes propose une fonctionnalité permettant d’ouvrir l’emplacement dans une autre application (actuellement Horloges et Météo). Nous pourrons désormais ouvrir l’emplacement dans le navigateur, ce qui permettra de charger plus facilement la position dans OpenStreetMap.

URI géographiques

Cartes prendra également en charge les URI géographiques. En cliquant sur de telles adresses, votre navigateur pourra désormais vous proposer de les ouvrir dans Cartes.

Notons au passage que Polari, le client IRC du projet GNOME, rendra également cliquables de telles adresses, ce qui vous permettra là-encore de les ouvrir dans Cartes.

GeoJSON

Comme annoncé dans un précédent article, Cartes prendra également en charge le format GeoJSON. Depuis, le contributeur Alafazam Khan a ajouté la prise en charge initiale de la spécification MapBox pour la représentation graphique des données GeoJSON, ce qui permet le résultat ci-dessous.

Prise en charge de la spécification Simplestyle dans Cartes 3.19

Édition OpenStreetMap

Grâce à Marcus Lundblad, il sera désormais possible d’éditer OpenStreetMap directement depuis Cartes. Vous pouvez consulter son billet de blog qui explique cette partie plus en détails.

Les possibilités sont pour le moment assez sommaires, mais il est tout de même possible d’ajouter ou modifier des informations pour des lieux déjà existants, tout comme il est également prévu de pouvoir ajouter des points d’intérêt.

Export en PNG

La vue courante pourra désormais être sauvegardée en PNG.

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

Articles similaires

Okki : Nouveautés à venir dans Logiciels 3.20

dimanche 13 décembre 2015 à 20:10

On en avait parlé il y a quelques mois, Logiciels va supprimer le système de notation à base d’étoiles et se baser sur de nouveaux critères pour mettre en avant les applications qui bénéficient d’une meilleure intégration au sein de l’environnement de l’utilisateur (respect des bonnes pratiques de design, fourniture de résultats au moteur de recherche de l’environnement…)

Version de développement de Logiciels

Comme on peut le voir sur la capture d’écran, une colonne Détails située en bas à gauche indique si l’application a bien été traduite, si la documentation est disponible, si une nouvelle version est sortie dans l’année écoulée (signe de vitalité du projet) ou son intégration au reste de l’environnement.

Logiciels 3.19 et les nouvelles étiquettes

Autre nouveauté, des étiquettes indiquent désormais s’il s’agit d’une application tierce ou si elle est disponible sous une licence non libre.

Et pour finir, Logiciels devrait désormais pouvoir effectuer des mises à jour complètes du système (il est d’ailleurs prévu que ça devienne le choix par défaut pour les mises à jour de la distribution Fedora), de même que la prise en charge de multiples versions d’une même application ou celle des versions de développement.

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