Syndiquer le contenu
Mis à jour : il y a 16 heures 8 min

Les journaux LinuxFr.org les mieux notés du mois de juillet 2015

3 août, 2015 - 12:27

LinuxFr.org propose des dépêches et articles, soumis par tout un chacun, puis revus et corrigés par l'équipe de modération avant publication. C'est la partie la plus visible de LinuxFr.org, ce sont les dépêches qui sont le plus lues et suivies, sur le site, via Atom/RSS, ou bien via partage par messagerie instantanée, par courriel, ou encore via médias sociaux.

Ce que l’on sait moins, c’est que LinuxFr.org vous propose également à tous de tenir vos propres articles directement publiables, sans validation a priori des modérateurs. Ceux-ci s'appellent des journaux. Voici un florilège d'une dizaine de ces journaux parmi les mieux notés par les utilisateurs… qui notent. Lumière sur ceux du mois de juillet passé.

Télécharger ce contenu au format Epub

Lire les commentaires

Résister par la Culture Numérique

3 août, 2015 - 07:14

Les groupes Freinet des Bouches du Rhône, du Var, du Vaucluse, des Alpes de Haute-Provence, des Alpes-Maritimes, ouvrent leur 52ème congrès de l’ICEM-Pédagogie Freinet.

L'évènement aura lieu du 19 au 22 août 2015 de 10h00 à 17h00 à l’université d’Aix-en-Provence de Montperrin, 6 avenue du Pigonnet, 13100 Aix-en-Provence.

L’association CercLL sera présente, notre président Hervé Allesant interviendra autour du thème « résister par la culture numérique ».

La méthode Freinet : à la recherche de méthodes « naturelles » d’apprentissage

Depuis le début, Freinet a cherché à relier les apprentissages scolaires aux besoins réels des enfants. En 1934, à l’époque de la construction de son école de Vence, sa propre fille Madeleine est en âge d’apprendre à lire et à écrire. Au lieu de lui donner des leçons traditionnelles, il laisse l’enfant passer insensiblement de ses dessins commentés et de l’écriture des noms qu’elle connaît à l’invention de petites histoires. Elle aborde sans difficulté la lecture des textes imprimés et prend possession de l’orthographe. La condition essentielle est de ne pas leur imposer de modèle, de les inciter à s’exprimer souvent en échangeant avec les autres. Freinet conserve tous ses essais, puis il rédige après la guerre une brochure qu’il intitule Méthode naturelle de lecture.

Freinet généralise alors la démarche en montrant que le tâtonnement expérimental est à la base de tous les apprentissages. Il préconise de favoriser la libre découverte, par les enfants, des grandes lois du langage et de la grammaire, des mathématiques, des sciences. Pour cela, il faut inciter à beaucoup expérimenter, observer, comparer, imaginer des théories, vérifier.

En se passionnant, les jeunes travaillent davantage et gardent un souvenir durable de leurs découvertes, alors que tant d’apprentissages mécaniques s’oublient rapidement. Surtout, une telle démarche développe la capacité de chercher, d’inventer, plutôt que de se contenter de reproduire. Et c’est cette capacité qui devient de plus en plus nécessaire dans le monde moderne.

La notion de tâtonnement expérimental est maintenant admise non seulement avec les jeunes enfants, mais aussi avec les adolescents au cours des études secondaires et pour la formation des adultes.

Dans le cadre du congrès Freinet http://congres-freinet.org le thème est « résister, se construire par la culture ».

L’association CercLL sera présente, notre président Hervé Allesant interviendra autour du thème « résister par la culture numérique ».

Il y aura deux ordinateurs en démonstration installés avec des systèmes Libres, Ubuntu, Xubuntu, tout le long du congrès.

Le jeudi 20 août 2015 est l’après-midi sur le thème « résistances » où Hervé Allesant fera une intervention autour de « résister en classe par la culture numérique ».

À cette occasion, les personnes du CercLL seront là pour accueillir les gens sur les ordinateurs pour approfondir ce qu’ils auront vu.

Plan d’accès

Télécharger ce contenu au format Epub

Lire les commentaires

Sortie de poezio 0.9

2 août, 2015 - 00:38

Poezio est un client de messagerie instantanée en console (licence zlib) pour le réseau XMPP (Jabber) (pour plus de détails, voir la série de très bons journaux rédigés par goffi qui vont en détail dans le protocole et ce qu’il permet d’accomplir).

Poezio est conçu pour être rapide à utiliser au quotidien, avec une utilisation se rapprochant des clients IRC bien connus comme weechat et irssi. Dans cet esprit, il est avant tout conçu pour les salons de discussions (MUC) et ne gérait même pas la connexion à un compte (on peut maintenant en avoir un) dans les premières versions, dans l’idée d’avoir le même genre de client qui ne nécessite pas de configuration préalable.

Poezio offre néanmoins un certain nombre de fonctionnalités avancées liées à XMPP, comme la correction de messages, les accusés de réception, les message carbons (duplication de messages vers tous les périphériques), le formatage xhtml-im, une interface de debug XML complète, et bien plus encore. Un certain nombre de compromis sont malheureusement réalisés du fait de l’interface en ncurses qui limite un peu les options niveau interface utilisateur.

Du point de vue de la sécurité, poezio force le chiffrement avec le serveur en utilisant des ciphers corrects (l’utilisateur peut cependant désactiver le chiffrement ou réduire la qualité des ciphers), fait du cert pinning (via un hash du certificat à la première connexion, et un gros avertissement si ça change ensuite). Il intègre également un plugin GPG (que personne n’utilise) et OTR.

Côté technologie, poezio dépend généralement de la dernière version de python en date à chaque nouvelle release, ce qui est rarement du goût de debian stable.

Sommaire Nouveautés de poezio 0.9

(NdM: l'auteur du journal mathieui est membre du projet et s'exprime à la première personne dans la suite.)

Python 3.4 et slixmpp

Une fois de plus, la version de python requise est incrémentée (pour 3.4).

Cette fois c’est parce que nous avons changé de bibliothèque XMPP pour slixmpp, qui est notre fork de SleekXMPP (bibliothèque utilisée auparavant), en y substituant le multithreading événementiel par asyncio. Pour comprendre les raisons de ce fork, référez-vous à l’article de louiz’ donné en lien ci-dessus. (pour résumer : un code plus lisible, pas de race conditions, plus de facilité à raisonner sur le code)

Cela ne veut pas dire pour autant qu’on se désolidarise complètement de SleekXMPP qui reste une excellente bibliothèque, puisque slixmpp partage toujours avec elle la majorité de son code sans modification. Nous pourrons donc appliquer des nouvelles fonctionnalités et corrections sans ou avec peu de modifications, et leur envoyer les nôtres en retour également.

Greffon OTR amélioré

Le greffon OTR qui avait été réécrit avec poezio 0.8 manquait encore des fonctionnalités communément attendues dans un greffon de chiffrement, c’est maintenant corrigé.

La nouvelle fonctionnalité majeure est le Socialist Millionaire’s Protocol (SMP) qui permet à deux personnes de vérifier l’identité de leur correspondant respectif, à travers un secret partagé ou une question (auparavant il était possible de vérifier les identités, mais seulement en communiquant les empreintes de clefs sur un autre canal).

D’autres améliorations sont présentes comme un peu de traitement de HTML pour améliorer l’expérience utilisateur, et d’autres options de sécurité pour forcer le chiffrement et la négociation de session.

Connexion avec des certificats clients

Poezio permet désormais de se connecter sans mot de passe à son serveur en utilisant des certificats X.509 et un mécanisme décrit dans la XEP-0178, et également de gérer ces derniers à travers les fonctionnalités décrites dans la XEP-0257.
Avec ces fonctionnalités vous pouvez, une fois connecté, ajouter, désactiver, lister ou supprimer ces certificats du serveur.
Un bug dans le module prosody empêche malheureusement l’utilisation de la XEP-0257 pour l’ajout d’un certificat, mais on peut le patcher en attendant.

Commandes ad-hoc

Les commandes ad-hoc dans XMPP permettent à un humain d’interagir avec une entité sans qu’il existe de spécification précise quant à la nature de l’interaction (en dehors XEP-0050, justement). Par exemple, prosody permet avec le chargement du bon module de charger/décharger des modules, de déconnecter ou supprimer des utilisateurs, etc, juste avec des commandes ad-hoc.
Dorénavant, poezio peut donc lister et exécuter ces commandes ad-hoc à travers une interface dédiée.

Couleurs de pseudo

Auparavant, les couleurs de pseudos étaient attribuées selon l’ordre d’entrée des participants dans le salon, ce qui était mémorisable en gardant poezio ouvert plusieurs mois, mais restait perturbant quand la même personne avait une couleur différente selon le salon dans laquelle elle était.
À partir de maintenant, les pseudos seront hashés avant d’être projetés sur la liste des couleurs disponibles, ce qui permet d’obtenir une distribution relativement uniforme, aléatoire, et surtout fixe des couleurs. Les gens qui utilisent le même pseudo partout devraient donc toujours garder la même couleur.
Si vous préfériez l’ancien comportement (pour des raisons étranges sûrement valides), il existe toujours et peut être réactivé en changeant une option.

De plus, Perdu a ajouté une commande pour régler définitivement la couleur d’un pseudo, donc si vous trouvez qu’une couleur attribuée ne convient pas à quelqu’un, vous pouvez le modifier.

Accusés de réception

Les messages envoyés par poezio demandent maintenant des accusés de réception, si le correspondant les prend en charge. Évidemment, poezio répond également aux demandes d’accusés de réception, ce qui devrait permettre aux clients mobiles plus de fiabilité.
Ce comportement peut être personnalisé, mais il est activé par défaut. Si un accusé de réception est reçu pour un message envoyé, un caractère de validation en vert s’affichera à côté du message.

Gestion de marque-pages

La commande /bookmarks permettait auparavant de lister tous les marque-pages connus, de façon un peu brute. Désormais cette commande ouvre un onglet vous permettant d’éditer les marque-pages, mots de passe, et de choisir l’emplacement de stockage ainsi que l’autojoin à l’ouverture du client.

Performance

Certains bouts de poezio étaient affreusement mal optimisés. Certains le sont certainement encore, mais quelques scénarios assez communs devraient être plus rapides de façon exponentielle (par exemple rejoindre un salon avec plusieurs milliers de participants). La lenteur est habituellement invisible dans les cas normaux (comme quelqu’un utilisant poezio sur un ordinateur construit après 2002 en ayant quelques tabs ouverts), mais ça devient plus problématique quand poezio tourne sur une carte ARMv7 à faible consommation avec plusieurs centaines de salons ouverts et un flux constant de nouveaux messages ou présences.

Greffon IRC

louiz’ a écrit entre temps un composant IRC appelé biboumi (qui est pour moi la meilleure passerelle IRC disponible). Malheureusement, mélanger des onglets IRC et des MUC normaux est un peu perturbant, j’ai donc écrit un greffon IRC simpliste qui, une fois configuré correctement, gère l’authentification avec nickserv et la connexion aux salons ensuite, ainsi que des commandes préfixées par irc_ pour plus de fluidité dans un fonctionnement normal. Le fonctionnement interne est un hack, mais ça reste bien plus agréable que de tout faire soi-même à chaque fois.

Reconnexion aux salons

Le problème quand une connexion timeout ou qu’un serveur redémarre est que vous pouvez ne jamais être prévenu que vous n’êtes en fait plus dans le salon avant que vous n’essayiez d’envoyer un message ou une présence et que ce dernier vous réponde par une erreur. Cette nouvelle version introduit un mécanisme appelé le self-ping qui, une fois activé (et éventuellement configuré plus finement), fera en sorte que poezio s’envoie un ping à travers chaque salon au bout d’un certain temps d’inactivité. Si le salon lui reçoit par une erreur, il va quitter le salon (afin d’être certain de ne plus y être) puis y revenir.
Cela devrait permettre de ne plus découvrir le matin que l’on a été déconnecté de tous les salons juste après avoir été se coucher parce qu’un serveur a redémarré quelque part.

Et bien plus encore

Bien évidemment, il y a plus de commits que ça (plus de 500), que ce soit pour des nouvelles fonctionnalités ou des corrections de bugs. Par exemple, des améliorations de la commande /set, une refonte de l’onglet de debug XML, une commande de destruction de salon, le passage au SHA-2 pour la vérification du certificat, etc…
Vous pouvez regarder le CHANGELOG ou l’historique git pour plus de nouveautés.

Packaging

Comme dit précédemment, poezio dépend maintenant de la bibliothèque slixmpp, cette dernière dépendant d’aiodns, ainsi qu’optionnellement de cython afin d’optimiser un module (et dans ce cas libidn sera requis également, ainsi que ses en-têtes pendant la compilation).

Contributeurs

En dehors de moi (mathieui), louiz’, et Link Mauve, je veux remercier les autres contributeurs Perdu, Ge0rG, eijebong, Florian Duraffour et Akim Sadaoui pour leur apport en fonctionnalités et corrections.

Bugs

Comme toujours, si vous essayez la version et que vous remarquez un bug également non corrigé dans la version git, merci de le rapporter.

Télécharger ce contenu au format Epub

Lire les commentaires

Lettre ouverte de Mozilla au CEO de Microsoft

1 août, 2015 - 00:17

Chris Beard, le CEO de Mozilla, a écrit une lettre ouverte à Satya Nadella, le CEO de Microsoft, à propos d'une « fonctionnalité » assez peu élégante du tout nouveau Windows 10.

D'une part, la mise à jour ne conserve pas le choix du navigateur web par défaut. En effet, cette configuration est mise sur Edge, le nouveau navigateur de Microsoft, qui remplace Internet Explorer, et au logo en forme de « e » si proche de l'ancien.

D'autre part, le mécanisme habituel de changement de navigateur par défaut a été modifié et rajoute une étape, qui passe obligatoirement par une configuration manuelle de Windows, peu limpide.

La procédure manuelle 1/ Lancez Firefox, et cliquez sur le bouton « Firefox par défaut »

2/ Dans la configuration de Windows 10, cliquez sur « Navigateur »

3/ Choisissez votre navigateur

Télécharger ce contenu au format Epub

Lire les commentaires

31 juillet : la journée des SysAdmin !

31 juillet, 2015 - 12:25

Joyeux SysAdmin day à tous !

Rappel : un « SysAdmin » est un administrateur système.

Chers SysAdmins, soyez apprécié(e)(s) de vos collègues, par exemple en citant la phrase bien connue à propos de votre métier, « personne ne sait ce que vous faites, mais tout le monde sait quand vous ne le faites pas ». Ou bien il y a aussi : « il y a deux types d'administrateurs système : ceux qui ont fait une boulette… et ceux qui vont en faire une ! ».

Vous pouvez leur rappeler qu'en ce jour, les cadeaux de leur part sont les bienvenus !

À tous les autres, faites un geste pour vos SysAdmins ;-)

Télécharger ce contenu au format Epub

Lire les commentaires

Toulouse, le Capitole du Libre 2015, l'appel à participation est lancé !

31 juillet, 2015 - 12:24

L’édition 2015 du Capitole du Libre se tiendra cette année les samedi 21 et dimanche 22 novembre à l’ENSEEIHT de Toulouse. Le Capitole du Libre est un événement consacré aux Logiciels Libres et à la culture libre. Organisé par l’association Toulibre avec l'aide des clubs étudiants de l'ENSEEIHT (Net7, TVn7, CAn7), il est orienté à la fois vers le grand public et le public spécialisé.

Des conférences et des ateliers ont lieu tout au long du week-end ; des stands et des animations seront proposés au public pour leur faire découvrir le monde du Libre.

L'appel à propositions est ouvert jusqu'au 15 septembre à minuit, vous pouvez proposer une conférence ou un atelier (ou les deux) sur ce lien. Il est également possible de demander un espace pour un stand associatif/communautaire.

À noter

Cette année nous aurons le plaisir d'accueillir Adrienne Charmet et Jérémie Zimmermann de la Quadrature du Net, Benjamin Bayart de FFDN, Stéphane Bortzmeyer de l'AFNIC, Tristan Nitot de CozyCloud (bien sûr sous réserve de contretemps de tout ordre).

Il y aura également au programme beaucoup de 3D et de création graphique ; de l'embarqué et des machins connectés à Internet, de l'Arduino et du RaspberryPi, mais pas que ; du DevOps avec notamment Docker ; des technologies du Web, enfin peut-être pas toutes ; et d'autres sujets techniques.

Côté grand public, nous irons de la culture libre à la libération de nos Internets, en passant par les aspects juridiques et sociétaux du libre en général.

Au programme du week-end du Capitole du Libre

Cette année nous avons plus de salles à disposition, un grand amphithéâtre, donc les thématiques proposées sont nombreuses :

  • Grand public : pour découvrir l'écosystème du logiciel libre ;
  • Enjeux du libre : qu'est-ce que le libre transforme dans notre société ?
  • Cryptoparty et vie privée : autohébergement, sécurité et vie privée sur l’Internet ;
  • Culture libre et multimedia : les arts et la culture libres, la MAO, la vidéo ;
  • Poste de travail : environnement de travail, bureautique, utilitaires ;
  • Technique : développement, bases de données, pour la beauté du code ;
  • DevOps : inaugurée en 2014, sera renouvelée et abordera Docker, le cloud libre ;
  • Internet Of Things & embarqué : (re)découverte des Arduino, Raspberry Pi, objets connectés, mais aussi l'embarqué ;
  • Technologies Web : NodeJS, ReactJS, AngularJS, le Web change tous les jours ;
  • Création graphique avec du libre : Blender, FreeCAD, Krita, Gimp, Inkscape, Synfig, la réalisation d’œuvres artistiques avec des outils libres.

Comme chaque année, le rendez-vous de la communauté francophone de KDE et de Qt sera présent grâce à Akademy-FR.

Quelques révélations

Le Blender User Group de Toulouse est en train de vous concocter un programme sur les outils libres de la création graphique et l'animation avec notamment François Grassard (que nous sommes tous les ans ravis d'accueillir).
Le célèbre modeleur CAO, FreeCAD sera également à l'honneur avec des conférences, des ateliers et la venue du développeur principal Yorik Van Havre.
La communauté OpenPandora, présente à l'édition 2013, proposera de découvrir le successeur de la Pandora, la Pyra si les aléas naturels ne s'en mêlent pas.

D'autres surprises sont également dans les cartons …

Télécharger ce contenu au format Epub

Lire les commentaires

Jeu La Piste d'Andor / Andor's trail 0.7.1

30 juillet, 2015 - 18:03

Andor's trail (« La Piste d'Andor » dans la traduction française) est un jeu libre (GPL) pour système Android. Il est de type rogue-like, de l'exploration d'un monde bi-dimensionnel médiéval fantastique (villes, campagnes, forêts, sous-terrains, etc.) avec de la résolution de multiples quêtes (dont la quête principale de la recherche d'Andor), de la progression de niveau, des portes, des monstres et des trésors. La version 0.7.1 est sortie en février 2014 et le développement du jeu se poursuit. Sauf erreur, il n'avait jamais été évoqué sur LinuxFr.org, et cette dépêche est donc l'occasion d'en parler un peu.

Sommaire Andor ?

Le Andor dont il est question n'a rien à voir le jeu de plateau Andor de M. Menzel (As d'Or 2013 et Spiel des Jahres/jeu de l'année 2013, très sympa par ailleurs), ni avec le royaume d'Andor de la Roue du Temps de R. Jordan, ni avec le Seigneur des Anneaux ou Star Trek. Probablement plus avec le prénom hongrois qui aurait inspiré un des auteurs du jeu ? Bref dans l'histoire du jeu, Andor est votre frère, qui n'est pas rentré à la maison hier et du coup votre père Mikhail vous envoie charitablement à sa recherche dans un monde plein de monstres et de dangers.

Une histoire et des quêtes

Le principe du jeu est de nous baigner dans un monde riche et cohérent. Initialement à la recherche de votre frangin, vous allez découvrir de nombreux lieux, discuter avec de nouvelles personnes et être confronté à divers dangers. Et surtout être impliqué dans de multiples quêtes allant de « Va m'acheter du pain mon fils » à la recherche de qui empoisonne le pays ou de qui espionne qui entre deux royaumes en guerre. Rapidement vous interviendrez dans plusieurs quêtes en même temps, et vous verrez souvent apparaître plusieurs camps en opposition : les choix que vous faites dans les quêtes pourront avoir des répercussions par la suite. Le jeu comporte actuellement une cinquantaine de quêtes (dont deux encore ouvertes).

Gameplay

Le principe du jeu est donc résoudre les quêtes, ce qui nécessite de parcourir le monde, donc de pouvoir s'y déplacer sans se faire tuer, impliquant la nécessité de s'équiper, conduisant à l'obligation de trouver de l'or, nous amenant au besoin de résoudre des quêtes pour les récompenses ou de dépouiller des cadavres. Bref au début on affronte des abeilles en tremblant dans son pagne, et un jour on fracasse des lézaroïdes par paquets de douze ou on découpe des liches comme si c'était des parts de quiche engoncé dans son armure de plaques avec ses 42 objets magiques +2.

Le repos du guerrier

Dans divers lieux (chez papa ou souvent dans les auberges des villes), il est possible (gratuitement ou en payant un coût initial) de se reposer dans un lit. Et en cas d'incident fâcheux impliquant un arrêt de vos fonctions vitales suite à un débat tranchant avec un inconnu, vous vous réveillerez dans le dernier lit que vous avez fréquenté (ce qui est à la fois pratique car c'est mieux que d'être définitivement mortellement tué mais peut avoir l'inconvénient de vous renvoyer à des km de l'endroit où vous vous trouviez).

Il est bien évidemment aussi possible de faire des sauvegardes dans le jeu.

Le matériel

Sinon on s'équipe d'épées/haches/dagues/bâtons/sceptres/etc., d'un bouclier, d'une chemise/armure de cuir/armure lourde/côte de mailles/etc., d'un bonnet/casque/heaume/etc., de moufles/gants et de bottes, et on est parti à l'aventure. Bon évidemment ça serait mieux d'avoir des bénédictions (courage, vitesse, force, etc.) et de ne pas être maudit/blessé (empoisonnement, hémorragie interne, fracture, fatigue, etc.), et de ne pas partir avec un sac vide : avoir de la nourriture et des potions de soin pour regagner de la vie, des antipoisons et divers autres anti-malédictions. Bref comme dans les jeux du même type, une douzaine de porteurs cachés doivent transporter vos 8 tonnes d'équipement mais on ne les voit jamais. Et en allant chez un marchand vous aurez toujours l'impression que vous représentez 82% des échanges commerciaux mondiaux à vous tout seul en revendant les 832 armes et autres objets de votre inventaire à ce brave marchand qui n'a que 3 articles différents en stock.

Le personnage

N'oublions pas vos caractéristiques propres : le niveau du personnage, les points d'expérience qui permettent de changer de niveau, les points de vie, les points d'action (à quel point vous êtes rapide ou multitâche), vos probabilités de toucher ou de bloquer, votre force et donc les dégâts que vous infligez, et aussi les compétences que vous avez acquises (taper plus précisément ou plus fort, esquiver, marchander, régénérer, combat avec telle ou telle arme, détecter la magie, etc.).

Traductions

Le jeu dispose de traductions (partielles ou totales) en allemand, anglais, espagnol, français, indonésien, italien, japonais, malais, polonais, portugais, portugais brésilien, russe et slovène.

Dans la version que j'ai testée (0.7.1), l'interface est quasi-totalement traduite en français, mais les quêtes sont encore décrites en anglais. Il est de fait difficile de jouer réellement sans lire l'anglais un minimum.

Code et ressources graphiques

Le projet est écrit en Java et le code est placé sous licence GPLv2.
Pour les ressources graphiques, la situation est plus variée : domaine public, GPL, diverses Creative Commons, etc.

Initialement j'ai testé ce jeu en profitant de vacances hors ligne il y a quelques mois, avec les critères suivant : il est libre, disponible dans F-Droid et installable sans compte Google, ne nécessite pas d'accès réseau, ne nécessite pas une version dernier cri d'Android, ne demande pas de permissions exorbitantes (juste le droit de charger/sauvegarder), avait de bonnes critiques et est assez riche. Bon, évidemment, je ne vous cache pas que ce type de jeu consomme pas mal de temps pour progresser (avec parfois un côté répétitif) et tout visiter. Il est par contre facile de s'arrêter/reprendre à n'importe quel moment.

Télécharger ce contenu au format Epub

Lire les commentaires

Proposez des présentations pour PyConFR 2015: la date butoir est reportée !

29 juillet, 2015 - 17:54

PyConFR 2015, la conférence annuelle francophone consacrée au langage de programmation Python, se déroulera cette année à Pau dans des locaux d'exception à l'EISTI du 17 au 20 octobre 2015.

La manifestation est comme toujours gratuite et se veut la plus accueillante possible pour tout le monde.

Si ça n'est pas assez cher pour vous, vous pouvez sponsoriser.

Si vous avez besoin d'un coup de pouce, l'AFPy propose des bourses.

Jusqu'ici rien de plus que ce que la précédente dépêche annonçait en juin dernier, cependant je viens de recevoir un courriel important concernant la conférence (report de la date butoir pour les soumissions de conférences), et j'ai cru utile de lui donner la plus grande audience possible en le recopiant en seconde partie.

Hello !

Chaque année nous refusons des confs, par manque de place, (très peu par manque d'intérêt, ou pour cause de hors sujet).

Nous avons déjà une cinquantaine de propositions de talks de très bonne facture et l'on pourrait s'arrêter là, cependant cette année nous avons la chance d'être accueillis dans un lieu qui dispose de 3 salles !, nous pouvons augmenter le nombre de slots.

Donc toi qui était en vacances (donc débordé) et qui a loupé la deadline !

Donc, toi là qui a hésité, oui toi là, qui t'es dit j'essaierai bien de proposer un slot, mais j'hésite genre :

"je ne suis pas une star"

"je ne suis pas core-dev" Python

"Je ne suis pas un conférencier confirmé, en fait je n'ai jamais fait de conf, mais j'aimerais bien me jeter à l'eau"

La PyCon c'est aussi donner l'occasion à tout un chacun de venir partager ses connaissances, son amour du Python, ses tips and tricks, faire connaître ton framework préféré etc
Ce n'est pas pour rien que l'entrée est gratuite, que c'est ouvert à tous, c'est une volonté délibérée, l'AFPy, la communauté Python Francophone n'est pas élitiste (ça ne veut pas dire qu'il n' y a pas de stars !)

la PyCon-fr non plus, elle doit être un lieu où l'on partage où l'on apprend quelque soit son niveau !

Alors oui cette année encore il y a des confs de très haut niveau, des confs proposées par des Maîtres de Conférences, des Professeurs des Universités, des confs sur les arcanes de l'optimisation, etc

Bien entendu que comme chaque année il y a des confs super originales genre "modéliser la façon d'accorder une guitare électrique, et venir présenter l'implémentation qui en découle !"

En lisant ce mail tu veux savoir un petit peu ce qui a déjà été proposé, car tu commences à regretter de ne pas avoir soumis de talk

Cette année les sciences sont à l'honneur :
Physiciens, chimistes et autre biologistes ont proposé des talks, il y a une très grande diversité de sujets, c'est impressionnant! !

Tu te demandes si quelqu'un parlera de ton outil préféré du moment, tu te dis que vous êtes tellement nombreux à maîtriser l'outil qu'il y a déjà 5 ou 6 slots sur : Django, devops etc

alors sache que par exemple parmi les gros projets :

Il n' y a qu'une conf orientée débutant sur Django par exemple, a croire qu'il n'y a rien eu de nouveau, dans les dernières versions, à croire qu'il n' y a plus d'optimisations, de trucs à ne pas faire avec

que tout le monde est directement super-efficace avec, et qu'il n' y a plus besoin de tutos, de démos, de bonnes pratiques etc

Ansible 2 est sur le point de sortir et pas un guss pour venir nous en parler

idem pour le vénérable Plone qui passe à la version 5 (oui je sais qu'il y a Plone Conf ) à Bucarest en même temps, mais quand même !

Flask, pas un mot sur Flask !

Parmi les trucs très peu représentés (une seule conf) il y a également les tips and tricks de l'utilisation du langage lui-même.

A croire que tout le monde maîtrise les yield from, que tout le monde sait déjà que faire des annotations et du futur "typing" disponible à priori dans Python3.5,
que tout le monde sait optimiser l'empreinte mémoire, que tout le monde a parcouru de long en large la stdlib.

Tiens un autre exemple tu te sers du IPython Notebook, tu ne sais plus travailler sans, tu as optimisé ton IPython aux petits oignons et tu crois que tout le monde fait pareil

Tu es un dieux du web-scrapping et tu crois que tout le monde a tes heures d'utilisations ou sait ce qu'il est possible faire très efficacement avec deux trois bibli genre scrapy, requests etc

d'après toi dans l'assistance combien de personnes ne maitrisent pas l'outil comme toi, ne savent pas que ça existe, ou aimeraient écouter un talk qui montre l'intérêt de l'outil, voire mieux qui pourrait être suivi d'un atelier sur le sujet

Oui les sujets au dessus ont pour certains déjà été présentés dans le passé, mais tout le monde n'y a pas assisté, que fais tu des absents, des gens qui ont découvert le Python depuis etc

Combien de gens viennent chaque année pour écouter la présentation sur tel ou tel framework, ou autre

Ce qui est sur c'est que le slot, le poster, l'atelier que tu n'es pas venu présenter, et bien personne n'y assistera !
et ça vois-tu il n'y a que toi qui puisse corriger la chose

La deadline est donc prolongée au 09 août 2015

pour l'orga

Jean-Philippe Camguilhem

Télécharger ce contenu au format Epub

Lire les commentaires

Sortie d'ejabberd 15.07

29 juillet, 2015 - 17:33

ejabberd 15.07 vient de sortir et elle apporte un lot de nouveautés significatives.

Avant d'entrer dans le vif du sujet, pour ceux qui ne connaissent pas encore ce projet, il s'agit d'un serveur de messagerie conforme au protocole XMPP. Ce protocole est très vaste (NdM: voir la série d'articles présentant le protocole) et permet d'implémenter de nombreux types de systèmes de messagerie en temps réel, allant de la messagerie instantanée à l'Internet des objets, en passant par le jeu vidéo. C'est dire l'importance de ce protocole, à une époque où la plupart des systèmes de messagerie restent des silos fermés et sans capacité d'interopérer. XMPP supporte nativement la fédération, ce qui signifie que des utilisateurs de différents domaines peuvent communiquer entre eux.

ejabberd est l'un des serveurs XMPP les plus anciens et les plus reconnus. Il est inclus dans de nombreuses distributions Linux et se distingue par le fait qu'il est développé en Erlang. Cette caractéristique lui donne robustesse et fiabilité, mais aussi forte capacité à monter en charge.

Parmi les changements de fonctionnalités, l'accent est mis sur le support du PubSub et de l'archivage des messages. Ce sont aujourd'hui deux éléments fondamentaux du protocole XMPP qui sont en pleine évolution et façonnent le protocole XMPP de demain. Disposer d'un serveur avec des fonctionnalités très à jour sur ces aspects est crucial pour l'avenir du protocole.

Un gros effort a également été fait sur le packaging et la simplicité d'installation, en offrant notamment la possibilité de compiler et d'installer des modules issus de contributeurs externes sans avoir à devenir un expert d'Erlang.

Cette version est l'aboutissement de gros changements survenus durant les six derniers mois sur le projet et cette dépêche est aussi le moment de faire un bilan.

Depuis le début l'année, l'équipe gérant le projet ejabberd a décidé d'accélérer le rythme des mises à jour. Partant du constat que le protocole XMPP a besoin d'une forte accélération de sa couverture fonctionelle pour faire face à la concurrence des services propriétaires, l'équipe a décidé de reprendre le rythme des débuts, à une époque où ejabberd était la plate-forme expérimentale qui a aidé à façonner les premières versions du protocole XMPP. Cela explique aujourd'hui le rythme effréné d'améliorations du projet.

En six mois, le projet a donc connu cinq versions majeures, presque une version par mois, chacune apportant bon nombre de fonctionnalités importantes. Parmi ces améliorations majeures sur ces derniers mois, l'équipe a ajouté:

  • la gestion du langage de programmation Elixir pour le développement de plugin. Plus moderne et plus abordable qu'Erlang, il aide à démocratiser le développement d'extensions pour ejabberd.
  • de nombreuses fonctionnalités pour les administrateurs. La commande de contrôle du serveur ejabberd, ejabberdctl, s'est vu dotée de dizaines de nouvelles commandes. Il est ainsi possible de gérer l'essentiel du serveur, des salons de discussion, du clustering, juste avec cette commande.
  • un gestionnaire de paquets pour la compilation et l'installation de contributions.
  • la gestion des websockets en plus du protocole HTTP standard pour améliorer la réactivité des clients Web.
  • la gestion de l'archivage coté serveur, avec le protocole MAM (Message Archive Management) et évolution rapide pour coller aux derniers changements.
  • un moteur de contrôle de la syntaxe du fichier de configuration au lancement pour aider l'administrateur d'un serveur ejabberd.
  • l'amélioration de l'interaction avec les clients mobiles avec le support de la gestion des flux.
  • une amélioration des performances.

À noter qu'ejabberd est aussi le seul serveur XMPP à inclure une interface SIP minimaliste pour permettre de passer des appels Voix sur IP avec des clients existants tel que celui fourni par défaut avec Android.

Le rythme de développement doit continuer dans les mois qui viennent avec le support de plusieurs nouvelles extensions XMPP prévues dès les mois de septembre / octobre. Tout dépend de votre retour, alors pour ceux qui pensent que l'avenir de la messagerie en temps réel dépend d'XMPP, c'est le bon moment pour apporter votre soutien au projet et faire vos retours.

Télécharger ce contenu au format Epub

Lire les commentaires

Sortie de QGIS 2.10 « Pisa »

28 juillet, 2015 - 21:36

Le projet QGIS a l’immense plaisir de vous annoncer la publication de la version 2.10 de sa suite logicielle de Système d'Information Géographique (SIG) libre.

QGIS est un SIG convivial distribué sous licence publique générale GNU. C'est un projet officiel de la fondation Open Source Geospatial (OSGeo). Il est disponible sur les systèmes d'exploitation GNU/Linux, Mac OS X, Windows et Android et intègre de nombreux formats vecteur, raster, base de données et fonctionnalités.

QGIS est développé en C++ avec la bibliothèque Qt (en version 4 pour le moment). Son architecture lui permet également d'utiliser des extensions codées en Python (version 2) et la très grande majorité des classes du cadriciel de QGIS sont disponibles sous Python.

QGIS est une des applications majeures qui utilisent Qt. Actuellement, l'arborescence des sources (tout confondu) occupe près de 350 Mo. Les contributeurs recensés sur GitHub sont au nombre de 159.

Même s'il reste un logiciel libre, QGIS assure en grande partie le financement de son développement via des sponsors divers qui vont d'entreprises ayant besoin de SIG comme des compagnies aériennes à des organisations gouvernementales (y compris le gouvernement français) en passant par des universités et également des particuliers.

Par ailleurs QGIS s'interface avec de nombreux autres logiciels, que ce soit des bases de données spatiales comme PostgreSQL/PostGIS ou Oracle Spatial, mais également avec un grand nombre de logiciels de SIG libres comme GRASS, SAGA ou encore Orfeo.

Dans la suite de la dépêche, un aperçu des nouveautés vous sera présenté plus en détails ainsi qu'une esquisse des développements à venir. Pour le public non averti, la suite de la dépêche offre également un petit focus sur les SIG et sur QGIS…

Note : le nom du projet est bien QGIS en majuscules et non Quantum GIS ou QGis.

Sommaire Petit rappel pour ceux qui ne connaissent ni QGIS ni les SIG QGIS, c'est quoi ?

QGIS est une suite logicielle de traitement de l'information géographique. Elle permet de générer des cartes, d'analyser des données spatiales et de les publier, en ligne ou sur papier. Elle permet également de réaliser de nombreux traitements et algorithmes sur des données spatiales ou d'autres données liées.

Que signifie SIG ?

Le sigle SIG ­— en anglais GIS — signifie Système d'Information Géographique.

Le traitement de l'information géographique est une niche spécifique des technologies de l'information, au même titre que l'informatique décisionnelle ou l'informatique du calcul scientifique. L'information géographique a pour particularité essentielle de traiter des données spatiales (avec des coordonnées sur un plan ou dans l'espace), souvent combinées avec des données alphanumériques plus classiques.

Un SIG est constitué :

  • de données géographiques et alphanumériques, stockées dans des bases de données spatiales (PostGIS ou Spatialite en logiciels libres, Oracle Spatial/MSSQL en logiciels propriétaires) ou dans des fichiers. Ces données sont souvent gérées sous forme de couches empilables les unes sur les autres pour former des cartes (selon l'ordre d'empilage).
  • d'outils pour afficher, publier et traiter ces données.

Les données traitées dans un SIG peuvent être réparties en trois types distincts :

  • Les données vectorielles : elles sont stockées sous la forme d'ensemble de points et peuvent définir des points, des lignes (ou ensemble de lignes) et des surfaces (polygones).
  • Les données raster : il s'agit de données stockées sous forme matricielle (tableau/bitmap).
  • Les données alphanumériques : on peut ajouter des attributs à un objet vectoriel ou matriciel. Il s'agit d'informations plus classiques qu'on retrouve souvent dans les SGBDR ou les fichiers de tableur (ODS/CSV par exemple).

Pour être plus concret, un SIG et les données qui y sont stockées permettent de répondre à des questions du type (du plus simple au plus complexe) :

  • Quelle est la surface de cet ensemble de bâtiments ?
  • Où sont situées les populations de Vipera ursinii ?
  • Quelle est la distance moyenne entre les bâtiments d'une commune et les routes de catégorie nationale ?
  • Qui ne respecte pas les limites de traitement à proximité des cours d'eau ?
  • Au cours des 50 dernières années, comment a évolué la morphologie urbaine d'une commune ?

Si vous voulez en savoir davantage sur les SIG, je vous invite à lire la rapide introduction aux SIG du projet QGIS qui est très bien faite et agnostique au niveau des outils (et traduite en français qui plus est).

Quels sont les logiciels de la suite QGIS ?

Le projet QGIS est composé de plusieurs logiciels différents qu'il convient de présenter pour mieux comprendre les différents éléments de la suite logicielle :

  • Le logiciel bureautique QGIS (QGIS Desktop) : c'est l'outil principal, le plus important et le plus développé. Il constitue l'interface la plus utilisée. Il permet d'afficher des données, de les traiter et de créer des mises en pages (cartes). QGIS Desktop permet de générer des fichiers projet qui font le lien entre les données, la représentation de ces données, les traitements à effectuer.
  • Le navigateur de données (QGIS Browser) : il permet de parcourir le catalogue des données disponibles. En règle générale, les SIG peuvent traiter un grand nombre de données différentes. Par exemple, une collectivité publique (mairie/conseil régional/métropole) peut facilement héberger plus d'un millier de couches différentes qui sont créées en interne ou récupérées depuis différents partenaires. Pour mieux accéder à cette "masse" d'information, il est essentiel de pouvoir la cataloguer pour faciliter les options de recherche et de sélection. Le navigateur de données QGIS permet de parcourir ce catalogue et de mieux connaître son patrimoine de données géographiques.
  • Le serveur de données OGC (QGIS Server) : il s'agit d'un binaire destiné à présenter des services Web cartographiques à partir des fichiers de projet générés avec QGIS Desktop. Les services web cartographiques visent principalement à fournir des données à des clients via HTTP, en utilisant des protocoles normalisés par l'OGC (WMS, WFS, etc.). Ces clients peuvent être des clients lourds (comme QGIS Desktop) ou des navigateurs web via l'utilisation de bibliothèques Javascript dédiées (OpenLayers, Leaflet, etc.).
  • Le client Web (QGIS Web Client) : QGIS Server ne fournit que des services Web, pas l'enrobage. Pour l'affichage d'une carte dans un navigateur web, il faut un client Javascript dédié et c'est l'objet du client web de QGIS. Ce dernier est aujourd'hui traité un peu à part du client Desktop et du serveur (il dispose d'un dépôt dédié et ne fait pas l'objet de publications régulières comme les trois autres parties de QGIS évoquées ci-dessus).
Qui utilise des SIG ?

Les logiciels de SIG sont utilisés par un grand nombre d'acteurs :

  • Les services de l'État et les collectivités utilisent fortement les logiciels de SIG. Les ministères français en charge de l'écologie et de l'agriculture utilisent QGIS au sein de leurs services et établissements. Ils financent d'ailleurs certaines fonctionnalités.
  • Les agences d'urbanisme.
  • Les entreprises qui ont besoin de gérer un territoire (agriculteurs/forestiers).
  • Les entreprises de logistique (gérer/optimiser les trajets).
  • Les SIG sont utilisés et enseignés dans la plupart des disciplines scientifiques qui traitent de territoire.
  • Vous-même lorsque vous utilisez OpenStreetMap (SIG communautaire) ou Google Maps (c'est une partie du SIG de Google).
Nouveautés par rapport à la dernière version

Je vous invite à parcourir le « visual changelog » qui est plus complet que cette dépêche. Néanmoins, voici quelques-uns des éléments phares des nouveautés apparues dans cette nouvelle version.

Nouveau moteur géométrique

Cette version de QGIS amène des changements profonds dans le moteur chargé de gérer les différents types de géométrie des objets. Jusqu'à présent, QGIS ne gérait pas les géométries courbes (CURVE) qui sont souvent utilisées dans les données de DAO (AutoCAD DXF). Le stockage de l'information de ce type de géométrie est spécifique. Par exemple, on représente souvent un cercle ou un arc de cercle en utilisant uniquement la définition du point central et du rayon et on laisse au logiciel le soin de gérer sa représentation.

Pour afficher des cercles, il fallait construire une polyligne fermée qui prenait la forme d'un polygone régulier avec de nombreux segments (pour "émuler" un cercle). Avec la version 2.10, il est maintenant possible d'afficher des objets courbes de manière plus fine, au moins ceux qui sont stockés dans une base de données PostGIS. Cela permet d'économiser de la place dans la base de données (moins de segments à stocker) mais également d'améliorer le rendu (cercle parfait au lieu de polygone régulier) et la précision.

Ajout d'un constructeur de requêtes pour DBManager

QGIS propose une extension Python pour gérer des bases de données. Cette extension (nommée DBManager) est installée par défaut et permet de lister les tables d'une (ou plusieurs) base(s) de données, d'afficher des informations sur la structure de la table, de ses index, de ses déclencheurs, etc. Elle permet également de construire des requêtes et d'en exporter le résultat directement dans le canevas de cartes de QGIS.

Le requêteur était jusqu'à présent assez orienté vers les spécialistes du SQL (et de ses variantes spatiales). QGIS 2.10 propose maintenant un constructeur de requêtes qui simplifie le travail pour les débutants en offrant un module de création de requête assisté. Ce module est basé sur l'interface présentée par le logiciel propriétaire MapInfo.

Fonction logarithmes dans la calculatrice raster

La calculatrice raster est un outil permettant de réaliser des opérations matricielles sur les couches raster (cf définition plus haut). La version 2.10 de QGIS ajoute les fonctions logarithmes à cette calculatrice (Ln et Log10).

Amélioration des exports DXF

DXF est un format utilisé en DAO. Il est souvent utilisé pour stocker des dessins de plans. Cela fait maintenant trois versions de suite que l'export DXF est amélioré. Au menu de cette version, en plus des corrections de bugs, le module d'export DXF permet:

  • de choisir les couches ou les groupes de couches du projet à exporter.
  • d'exporter l'ensemble des données situées dans l'étendue affichée.
  • d'exporter la symbologie de chaque couche exportée.
  • d'exporter les étiquettes et les polices utilisées.
  • conversion automatique des symboles (formes basiques ou SVG) en blocs DXF.

L'image ci-dessous présente une vue sous QGIS à gauche et l'affichage de l'export DXF dans AutoDesk TrueView sur la droite.

Les champs virtuels peuvent maintenant être mis à jour

Depuis QGIS 2.8, il est maintenant possible d'ajouter des champs virtuels aux couches de données. Ces champs permettent de réaliser des calculs ou des traitements alphanumérique à la volée. Par exemple, vous pourriez vouloir créer un champ affichant le périmètre de chacun des objets (polygones) d'une couche.

Les champs virtuels peuvent se greffer à n'importe quelle couche (qu'elle vienne de fichier à plat ou d'un SGBDRS) et sont stockés dans le fichier du projet. Leur expression est calculée à la volée et le contenu de ces champs est donc dynamique (évolue en fonction des données contenues dans la couche).

Mais lorsque vous vouliez changer l'expression de calcul du champ virtuel, vous étiez obligé de détruire le champ pour le recréer avec la nouvelle expression. Ce n'est plus le cas pour la version 2.10 où vous pouvez changer cette expression directement dans les propriétés de la couche.

Les filtres d'expression peuvent être joués depuis le serveur PostgreSQL

QGIS utilise des expressions pour réaliser des calculs, des tris ou des sélections sur les données alphanumériques. Le moteur d'expression de QGIS est riche et s'étoffe de plus en plus. On peut comparer le système des expressions au système des opérateurs et des fonctions dans le tableur Calc de LibreOffice.

Voici un exemple d'expression:

length("NAME" || ' ' || "SURNAME") > 50

Appliquée à l'outil de sélection, elle permet de sélectionner les objets dont la longueur de la concaténation des champs "NAME" et "SURNAME" (avec un espace entre les deux) est supérieur à 50. Appliquée à l'outil de mise à jour des champs (ou dans un champ virtuel), elle permet d'afficher True ou False selon que la longueur du contenu des champs est supérieure à 50 ou non.

Le moteur d'expression de QGIS a été développé de manière indépendante des différentes sources de données et il comporte donc son propre langage (plutôt un ensemble d'opérateurs et de fonctions proches de ce qu'on trouve dans SQL) ,indépendant des formats de données. L'intérêt est de pouvoir utiliser le moteur d'expression pour tout type de données.

Mais l'inconvénient majeur est que pour faire une sélection d'objets géographiques en fonction d'une expression, il est nécessaire de rapatrier les valeurs des attributs concernés par l'expression et ce, pour chaque objet. Pour une base de données avec plusieurs millions d'enregistrements, les temps peuvent être assez longs.

Pour éviter ce problème, les développeurs de QGIS ont commencé à implémenter la transformation des expressions en filtres SQL qui seront directement joués au niveau du serveur de SGBDR, évitant le parcours de toute la table. Pour l'instant seul PostgreSQL/PostGIS est géré mais les bases du code permettront également de l'implémenter pour les autres SGBDR connectables à QGIS (respectivement Oracle/MS-SQL Server et MySQL).

Auto-complétion des données relationnelles dans les formulaires de saisie

Une des richesses de QGIS est d'offrir un grand nombre de contrôles de formulaire pour la saisie des informations alphanumériques. Par exemple, lorsque vous dessinez une parcelle cadastrale, vous aurez besoin de saisir dans la foulée un tas d'attributs tels que le numéro de parcelle, le nom de la commune sur laquelle elle se trouve, le numéro de section, etc. Pour faciliter ce travail fastidieux, QGIS construit des formulaires de saisie pour guider cette dernière. Par exemple, plutôt que d'écrire manuellement le nom de la commune, QGIS affichera (suivant le paramétrage dans le fichier de projet) une liste déroulante avec les noms des communes. C'est à la fois plus pratique et plus sécurisant pour l'utilisateur qui créé la donnée.

Pour faciliter la création des contrôles de type liste déroulante, QGIS propose d'aller chercher les données dans une table (autre fichier ou table de DB) pour disposer d'une liste toujours à jour (on parle alors de valeur relationnelle).

La version 2.10 de QGIS introduit la possibilité de proposer de l'auto-complétion lors de la saisie d'une valeur relationnelle. Au lieu d'avoir une liste déroulante, on a une entrée texte dont la modification entraîne l'apparition d'une liste déroulante dynamique:

Assistant de graduation de la taille des symboles

Sous QGIS, la taille d'un symbole peut être fixe ou dépendante d'un attribut de l'objet. Par exemple, on peut vouloir représenter le nombre d'habitants d'une ville par un cercle dont le rayon est proportionnel au nombre d'habitants.

Jusqu'à présent, le paramétrage de cette taille était assez basique et il n'était pas possible de visualiser en avance la taille des symboles sans appliquer le style à l'ensemble de la couche et de visualiser le résultat dans la canevas de cartes.

Avec la version 2.10, QGIS permet de construire très finement la taille dynamique du symbole en fonction d'une expression et de pré-visualiser l'aspect global des tailles dans une boîte de dialogue dédiée (un assistant). Cela permet de mieux prévoir la taille des symboles et de gérer leur dimension sans devoir faire de nombreux tests fastidieux.

Dans l'illustration qui suit, on calcule la taille du symbole (un carré en couleur) en fonction d'une formule (somme de plusieurs champs). L'échelle de la taille des symboles est calculée suivant une distribution linéaire des valeurs calculées par la formule. Dans la partie droite, on a un pré-affichage de la taille des symboles sur plusieurs valeurs pour mieux se rendre compte.

Effets de style pour les couches et les symboles

QGIS dispose déjà de nombreux paramètres pour l'affichage des géométries ponctuelles (symboles) ou linéaires et polygonales. Mais régulièrement, des nouveautés font leur apparition. Dans la version 2.10, il s'agit de l'ajout des effets de style.

Ces effets permettent d'améliorer l'affichage global du symbole ou de la couche en permettant:

  • la création d'une ombre portée ou interne en fonction de nombreux paramètres (rayon, rayon de floutage, transparence, couleur de l'ombre, etc).
  • le rendu d'une luminescence interne ou externe.

Voici un exemple d'ombre portée qui augmente la visibilité des objets bâtiments:

Pour l'avenir

QGIS évolue assez rapidement. Le rythme de publication des nouvelles versions est assez intense : tous les 4 mois (environ), une nouvelle version est publiée. Pour ceux qui voudraient avoir une vision plus pointue du futur contenu de QGIS, voici quelques points notables pour la future version de QGIS. Sachant que le gel des nouvelles fonctionnalités est prévu pour la fin septembre 2015, il est probable qu'il y ait d'autres ajouts…

DBManager pour les bases de données Oracle Spatial

Pour rappel (cf point sur le constructeur de requêtes), DBManager permet de lister les tables d'une (ou plusieurs) base(s) de données, d'afficher des informations sur la structure de la table, de ses index, de ses déclencheurs, etc. Elle permet également de construire des requêtes et d'en exporter le résultat directement dans le canevas de cartes de QGIS.

Depuis la version 2.2, QGIS permet de se connecter à des bases de données Oracle (avec son extension spatiale nommée Spatial) mais le plugin DBManager ne supportait pas ces dernières. Ce problème est réglé avec l'intégration du support des bases de données Oracle Spatial dans DBManager.

Formatage conditionnel des cellules de la table attributaire

La table attributaire de QGIS permet de consulter les valeurs des données alphanumériques des données géographiques (pour les couches qui en ont). Jusqu'à présent, cette table d'attributs était assez basique: son rôle était de présenter les données de manière brute.

Dans les versions à venir de QGIS, il sera possible d'utiliser le moteur d'expression pour enjoliver les cellules de la table d'attributs. Au delà de la fonction esthétique, cela permet de visualiser plus rapidement les valeurs qui intéressent l'utilisateur.

Traduction des noms et des groupes de géo-algorithmes (Processing)

Les géo-traitements (Processing) sont arrivés dans la version 2.0 de QGIS. Il s'agit d'algorithmes spécifiques (ou non) à l'information géographique comme l'algorithme du voyageur de commerce ou encore l'algorithme de création de bassin versant sur des données raster. Ils permettent d'effectuer des traitements (ou une série de traitements chaînés) sur un ensemble de données géographiques.

Jusqu'à présent, les noms et la définition des traitements ainsi que des groupes de traitement n'était pas traduisibles. Cela peut poser des problèmes de compréhension car les termes employés par les traitements peuvent être vraiment très spécifiques et très proches du métier qu'ils recouvrent. De plus l'interface de QGIS est généralement bien traduite (cf les statistiques sur Transifex) et tout le panneau des géo-traitements paraissait à part depuis de nombreuses versions.

C'est maintenant réglé: le code a été modifié pour permettre la traduction. Il ne reste plus qu'à traduire le tout…

Export des symboles aux formats PNG et SVG

QGIS est très riche en ce qui concerne le style des symboles. Avec ce commit, il sera possible d'exporter les symboles du gestionnaire de style de QGIS sous forme d'image PNG ou SVG.

L'intérêt est de pouvoir réutiliser facilement ces images dans des légendes personnalisées (y compris dans le gestionnaire de composition de QGIS) ou dans d'autres documents.

Quelques défis à relever

Parmi les choses "sous le capot" qui n'apportent pas grand chose à l'utilisateur final, on peut relever au moins deux challenges de taille pour les développeurs QGIS:

La migration vers Qt5 est en cours depuis au moins deux versions mais actuellement, la version 2.10 de QGIS utilise Qt4 par défaut. Il y a des chances que ce travail aboutisse pour la version 3.0 de QGIS (prévue on ne sait pas encore pour quand mais on s'en rapproche un peu plus chaque jour !).

Le passage vers Qt5 amènera sans doute plus de stabilité pour la version Android de QGIS.

La migration vers Python3 implique le passage du code de toutes les extensions QGIS (et elles sont nombreuses !) de Python2 vers Python3. Ces extensions étant développées de manière libre par rapport au cœur de projet, il faudra un effort substantiel de la part de l'ensemble des mainteneurs. Il y aura sans doute de la casse à prévoir…

Petit retour sur la publication de QGIS 2.10

QGIS a un rythme de publication par dates. Tous les 4 mois, une nouvelle version est publiée. Dans ces 4 mois, il y a une période de 3 mois qui permet d'inclure de nouvelles fonctionnalités. Ensuite, arrive une période d'un mois de gel des nouvelles fonctionnalités qui permet de se concentrer sur la résolution des bugs, permettant de livrer une version avec des nouveautés et avec un minimum de bugs. Dans la période du dernier mois, la version "release-candidate" est rendue disponible dans les "nightly-builds".

Les utilisateurs habituels de QGIS auront remarqué qu'en fait, la version 2.10 de QGIS est sortie vers le 28/06 alors que l'annonce officielle a été publiée le 22/07. Néanmoins, depuis quelques versions maintenant (la 2.6), on assiste au phénomène suivant: à la suite de la publication de la version 2.x.0, des bugs majeurs sont remontés; ils n'ont pas été détectés dans la release-candidate. Dans la foulée, ces bugs sont corrigés et environ un mois après la publication initiale, une version 2.x.1 est publiée en remplacement de la version 2.x.0. Pourtant, QGIS a fortement recours aux tests unitaires automatisés (via Travis CI).

C'est encore une fois le cas avec la version 2.10 et cette dernière a été officiellement annoncée par le release manager une fois que tous les paquets binaires de la version 2.10.1 ont été construits et rendus disponibles sur le site de téléchargement.

Cette technique permet d'éviter de rameuter les utilisateurs finaux sur une version qui présente encore des bugs. Néanmoins ce fonctionnement est pervers: la version 2.x.0 est censée être la bonne !

L'origine du problème semble être le fait que les utilisateurs ne font pas assez de tests sur la version "release-candidate". Cette dernière s'installe pourtant assez facilement: il existe un installeur dédié pour MS-Windows et des dépôts spécifiques pour les OS GNU/Linux. Néanmoins, il semble que la majorité des utilisateurs finaux ne fassent de vrais tests qu'une fois la version stable livrée ce qui décale d'autant la découverte de bugs importants.

Si vous êtes utilisateur de QGIS, je ne peux donc que vous encourager à prendre du temps pour tester la version candidate dès le 26/09/2015. Si vous êtes sous Debian, je vous invite à configurer le dépôt nigthly (http://qgis.org/debian-nightly-release) et à jouer de l'apt-get upgrade aussi souvent que possible. Si vous êtes sous MS-Windows, vous pouvez utiliser l'installeur OSGeo4W et installer le paquet qgis-rel-dev ou qgis-dev. Ces deux paquets n'auront aucune influence sur votre installation stable de QGIS. Vous pouvez également utiliser les versions hebdomadaires des paquets d'installation prêts à l'emploi de QGIS: http://qgis.org/downloads/weekly/?C=M;O=D (la bonne version est la 2.11).

Bien entendu, n'hésitez pas à utiliser le bugtracker de QGIS pour remonter les problèmes.

Conclusions

Au fur et à mesure du temps qui passe, les fonctionnalités de QGIS s'améliorent et s'enrichissent, comme peuvent le montrer les évolutions de cette dernière version stable.

Le rythme de publication de QGIS est assez soutenu et il est parfois difficile de suivre ce rythme pour certaines structures ou pour des utilisateurs non avertis. Dans ce cas, ils peuvent se tourner vers la version "support à long terme" (LTR) qui est la version 2.8 et qui devrait connaître une nouvelle publication (2.8.3) dans les jours à venir.

Petit à petit, QGIS se hisse au niveau des meilleurs logiciels propriétaires de SIG et les dépasse déjà sur certaines fonctionnalités, notamment sur la gestion des styles et sur la gestion multi-threads du rendu graphique.

Voilà, si vous avez envie de vous lancer dans le traitement de données géographiques, n'hésitez pas à utiliser la dernière version de QGIS. Pour éviter d'être déçu par la complexité inhérente au sujet (l'information géographique) et à l'interface du logiciel, je vous recommande de lire le tutoriel/manuel d'apprentissage qui est traduit dans sa très grande majorité en français.

Note: QGIS est un logiciel SIG généraliste. Si vous voulez travailler pour/avec les données du projet OpenStreetMap, il est sans doute préférable de travailler avec les outils dédiés d'OpenStreetMap comme JOSM ou iD même si QGIS sait lire les fichiers issus d'OSM.

Télécharger ce contenu au format Epub

Lire les commentaires

Mozilla lance la deuxième édition du Winter Of Security

28 juillet, 2015 - 12:28

Mozilla a récemment annoncé sur son blog l'ouverture des inscriptions pour l’édition 2015 du Winter of Security (MWoS). MWoS est un programme par lequel des étudiants en quête de projets universitaires peuvent travailler avec les projets des équipes sécurité de Mozilla. Chaque projet est encadré par deux mentors et se déroule entre septembre et avril.

Pour l’édition 2015, Mozilla propose six projets (listés dans la seconde partie de la dépêche) qui vont de la sécurité système à la cryptographie, en passant par la réalité virtuelle. Les projets, en anglais, sont décrits sur le wiki de la fondation.

Les étudiants doivent envoyer leur candidature pour le 15 août 2015 au plus tard. Les équipes sélectionnées seront informées début septembre.

  • MIG: Cross-platform log monitoring for threat detection (supervision multiplateforme de logs pour détection de menace)
  • MIG Agent sandboxing (bac à sable pour l'agent de supervision)
  • Menagerie - a collection of tests and demos for security headers and TLS configurations (ensemble de tests et de démos de configuration TLS et d'en-têtes de sécurité)
  • MozDef Virtual Reality Interface (interface de réalité virtuelle MozDef)
  • Mixed content scanning with OWASP ZAP (analyse de contenus avec OWASP ZAP)
  • Certificate Automation tooling for Let's Encrypt (outil d'automatisation de certification pour Let's Encrypt)
Télécharger ce contenu au format Epub

Lire les commentaires

NixOS 14.12, la distribution Linux sans effet de bord

28 juillet, 2015 - 08:58

Le projet NixOS a sorti le 30 décembre 2014 une version de sa distribution Linux, la 14.12 ou « Caterpillar » de son petit nom. Cette distribution, « The Purely Functional Linux Distribution », est fondée sur le système de paquets Nix et la collection de paquets Nixpkgs. Nix et Nixpkgs sont utilisables avec d'autres systèmes : Linux, OS X, voire FreeBSD.

Nix permet de gérer son système « sans effets de bord », ce qui permet notamment : des mises à jours réversibles, l'installation de paquets sans droits root, le déploiement distribué, les mélanges de paquets sources et binaires.

Sommaire L'écosystème Nix

Nix permet d'utiliser des paquets binaires, ainsi que des paquets sources, comme sous Gentoo ou Arch. Comme presque tous les systèmes de gestion de paquets, il permet la gestion des dépendances entre paquets. Ses principes de fonctionnement originaux lui permettent d'implémenter de façon sûre des fonctionnalités souvent peu stables ou absentes des autres gestionnaires de paquets. Il s'agit de la poursuite par la communauté du travail commencé par Eelco Dolstra dans sa thèse à la Technische Universiteit de Delft.

Nixos est une distribution Linux utilisant nix comme système de paquets. Elle permet des mises à jour du système réversibles : si une nouvelle version d'un paquet, du système ou de sa configuration pose problème, on peut revenir à une version précédente en une commande. Elle utilise également le langage nix pour la configuration du système, ce qui permet d'intégrer la configuration entre les différents services, mais aussi d'automatiser le redémarrage des services en fonction des changements de configuration.

L'écosystème nix va au-delà d'une simple distribution : nixops permet d'orchestrer des réseaux de machines (physiques ou virtuelles), de façon plus simple et plus fiable que les systèmes classiques tel que salt ou puppet. hydra est un système de construction continue : il s'agit d'un programme qui construit en permanence un ensemble de paquets dont on vient lui soumettre de nouvelles versions. Les paquets à construire sont spécifiés dans le langage nix.

Développer avec nix, ou pourquoi je ne peux plus m'en passer Sus au HACKING.txt

La plupart des projets libres contiennent un fichier HACKING.txt qui indique comment créer un environnement adapté pour le développement du projet. Il faut installer la bonne version du compilateur (parfois avec le patch idoine), les bonnes bibliothèques (elles-même compilées avec les bonnes options par le bon compilateur), puis configurer le projet en fonction de l'environnement (remplacer Makefile.win95 par Makefile.posix suivant le système que l'on utilise).

En plus de ce fichier, il y a généralement une part de savoir implicite comme, par exemple, « évidemment, si tu utilise nginx au lieu de apache comme serveur web derrière un reverse proxy, il faut utiliser le correctif posté le 30/02/2003 sur le forum bulgare par BabaYaga17 et l'adapter de manière triviale à ton cas ».

nix permet de regrouper ces savoirs dans un fichier default.nix, qui indique dans quel environnement un projet est développé. Ce fichier est le même qui sera par la suite utilisé pour créer le paquet à installer. La commande nix-shell permet de se placer dans l'environnement dans lequel le paquet sera construit, qui constitue donc un environnement de développement adapté.

Par exemple nix-shell donne la bonne version de Python et des dépendances.

On peut également utiliser nix-shell pour lancer un shell où certains paquets sont localement installés. Une fois sortis du shell, il n'y a plus trace du paquet dans l'environnement «principal»

$ nix-shell -p rustc these paths will be fetched (64.72 MiB download, 230.03 MiB unpacked): /nix/store/fhy54j59x9mcxn9rjgi6j7w2q6xr769n-rustc-0.12.0 /nix/store/q4kb35wfj35893z8qddlil98yc1akkgc-stdenv fetching path `/nix/store/fhy54j59x9mcxn9rjgi6j7w2q6xr769n-rustc-0.12.0'... fetching path `/nix/store/q4kb35wfj35893z8qddlil98yc1akkgc-stdenv'... [...] $

On garde néanmoins une version du paquet «en cache» dans le /store/ nix. Ainsi, si l'on appelle à nouveau nix-shell avec le même argument, ou si l'on construit un paquet dépendant de celui qui est en cache, on n'aura pas à télécharger celui-ci à nouveau, ni à le reconstruire.

Le résultat : un méta-make

Là où le confort offert par nix-build et nix-shell apparaît, c'est lorsqu'on a besoin de modifier une bibliothèque dont dépend notre projet (ou tout outil utile à sa construction ou à son déploiement). Si tel est le cas, il suffit de modifier le default.nix pour indiquer de prendre la version locale de cette bibliothèque, comme indiqué ci-dessous.

todo exemple override {src = /home/meredith/projet;}

ou

todo exemple override {src = fetchgit {url = /home/meredith/projet; […];}

À partir de ce moment-là, nix-build agit comme un meta-make : toute modification dans le répertoire indiqué (dans l'exemple 1) ou tout commit dans le dépôt git (de l'exemple 2) provoque une recompilation de la bibliothèque, de ses dépendances inverses et du projet lui-même. On fait ainsi entre les projets ce que make fait pour les différents fichiers à l'intérieur d'un projet.

Nouveautés dans l'écosystème nix

La communauté nix continue de s'élargir : depuis la version précédente en avril 2014, de nouveaux contributeurs et contributrices l'ont rejoint et ont apporté leurs contributions sur l'un des dépôts. L'activité sur le canal irc://irc.freenode.net/nixos témoigne d'un gain de popularité avec une affluence de nouveaux utilisateurs. De même, le domaine http://www.haskell.org utilisera bientôt nixops pour orchestrer ses machines.

Du logiciel tout frais

Nixpkgs (et donc nixos) contient des versions récentes de la plupart des logiciels courants. En particulier, un système nixos 14.12 disposera de :

  • Linux 3.14 (la version 4.0 est aussi disponible dans les mises à jour)
  • Firefox 39 (via les mises à jour)
  • Gnome 3.12
  • KDE 4.14
  • systemd 217
  • etc.
Outils autour de Nix

Les outils autour de nix continuent de s'améliorer, en particulier ceux qui permettent d'utiliser le gestionnaire de paquets depuis la ligne de commande. Deux nouvelles surcouches autour de nix-env et nix-build font leur apparition pour les utilisateurs finaux : nox pour la recherche de paquets (et leur installation) et nix-build-view pour l'affichage de la construction des paquets.

Pour les contributeurs de nixpkgs, nox-review et nox-pr facilitent la vie.

nox

nox est une surcouche de nix-env. Cette application permet de rechercher des paquets et de les installer. La commande nox <motif> affiche une liste des paquets correspondants au motif et propose d'en sélectionner un ou plusieurs à installer.

Une commande nox --update devrait bientôt arriver et fournir une alternative plus conviviale à nix-env -u pour les mises à jour des profils utilisateurs, en permettant en particulier de voir pourquoi un paquet donné sera mis à jour.

nox est aussi nettement plus rapide que nix-env, car il garde un cache de l'ensemble des paquets disponibles.

nix-build-view en couleur

Voir l'outil nix-build-view utilisant les ncurses pour un affichage coloré.

upcast

upcast est une réécriture de nixops. Il s'agit, comme nixops, d'un outil permettant d'orchestrer un ensemble de machines (physiques ou virtuelles) par nix. On peut ainsi décrire dans un seul fichier toutes les machines et leurs relations. Par exemple, on peut définir que le serveur web de la machine A utilisera la machine B comme base de données.

Dans les entrailles de Nix

Luca Bruno alias Lethalman a posté sur son blog une série intitulée « nix pills » qui détaille, en anglais, le fonctionnement de nix. La série comporte 18 posts, depuis une présentation générale de nix, jusqu'au Pourquoi vous devriez l'essayer.

Télécharger ce contenu au format Epub

Lire les commentaires

Gérer son espace de travail git avec "gws"

26 juillet, 2015 - 16:08

gws est un outil KISS (script bash, compatible zsh) pour gérer de manière simple un espace de travail composé de plusieurs dépôts git. Ça ne vous parle pas et vous semble être un pitch commercial ? Laissez-moi l'aborder autrement ; si vous vous reconnaissez dans quelques-unes de ces questions, cet outil pourrait vous être utile :

  • Vous avez un dossier ~/dev/, ~/code/ ou ~/workspace/ dans votre répertoire personnel ?
  • Vous y avez cloné dedans plein de dépôts git ?
  • Vous ne savez jamais quels dépôts, branches, commits n'ont pas été synchronisés ?
  • Vous en avez marre d'avoir à faire 17 git pull manuellement le lundi matin au boulot ?
  • Vous déprimez en arrivant dans le train de voir que vous n'avez pas récupéré votre dernier projet sur votre ordinateur portable ?
Comment ça marche?
  1. Premièrement créez dans votre répertoire (~/dev/ par exemple) un fichier .projects.gws avec un contenu de ce style (que vous adapterez à vos besoins bien sûr):
tools/coursera-dl | https://github.com/dgorissen/coursera-dl | tools/peru | https://github.com/buildinspace/peru | tools/q | https://github.com/harelba/q | work/docker-gitlab | https://github.com/sameersbn/docker-gitlab.git | work/neuraltalk | https://github.com/karpathy/neuraltalk.git |
  1. Lancez gws update qui va cloner tous les dépôts manquants :
  2. Hackez un peu !
  3. Lancez gws pour voir l'état de votre espace de travail (dépôts, branches) en un clin d’œil :
  4. Faites éventuellement un pull fast-forward avec la commande gws ff. Vous aurez ainsi avec vous la dernière version de tous vos projets. Très utile avant de partir prendre le train.
  5. Avant de partir du boulot, faites un petit gws à nouveau pour être sûr que vous avez bien synchronisé tous vos changements, par exemple pour retrouver vos fichiers de configuration en arrivant à la maison.

Il y a bien quelques possibilités en plus, mais je vous laisse le soin de lire le README (en anglais) pour la liste exhaustive des possibilités. Juste un petit aguichage/teasing rien que pour vous :

  • La commande gws est utilisable depuis n'importe quel endroit de l'espace de travail.
  • Vous pouvez créer plusieurs espaces de travail différents, faites plusieurs dossiers avec chacun son propre .projects.gws
  • En versionnant le fichier .projects.gws sur github, par exemple, vous pouvez vous retrouver avec exactement le même workspace sur tous vos ordinateurs.
  • Si vous le versionnez, vous pouvez même rajouter le dossier courant (. | … |) dans le fichier .projects.gws pour le surveiller aussi.
  • Il y a possibilité de mettre un fichier .ignore.gws que vous ne versionnerez pas pour filtrer avec des expressions rationnelles certains projets — par exemple les projets du boulot à la maison.
Où je le trouve?

Il est disponible sur Github et empaqueté pour Arch Linux. Pour les autres distributions, c'est un simple script bash, mettez-le quelque part dans votre $PATH. Ou mieux, faites-en un paquet.

PS : Et pour répondre d'avance à la question: «Un script bash de 830 lignes, t'es malade?» je vous réponds: YOLO1.

  1. Mais oui si c’était à refaire je choisirais un autre langage. C'est impossible à maintenir un script bash de cette taille. J'ai dans l'idée, un jour, de le réécrire dans un autre langage et de supporter plus de VCS (mercurial, svn, …) et plus d'options. Un jour… qui sait. 

Télécharger ce contenu au format Epub

Lire les commentaires

Développer des applications mobiles multiplateformes avec Java… avec le framework Codename One

26 juillet, 2015 - 07:40

Codename One est un framework permettant de développer en natif pour iOS, Android, BlackBerry et Windows Phone à partir d'un unique code Java.

Il est open-source (licence GPL avec exception Classpath) et se présente sous la forme d'un plug-in disponible pour les trois environnements de développement majeurs en Java (NetBeans, Eclipse, IntelliJ IDEA (NdM: les deux premiers sont sous licence libre, le dernier existe en version "Community" libre et en version propriétaire). Il a pour particularité d’utiliser le cloud pour la compilation, ce qui évite aux développeurs d'avoir à installer divers SDK ou de posséder un système d’exploitation spécifique indispensable à la programmation des applications pour certaines plateformes mobiles.

Il a été créé par deux anciens ingénieurs d'Oracle, Chen Fishbein et Shai Almog, ceux-là mêmes qui mirent au point la bibliothèque d'interface graphique LWUIT, qui eut son âge d'or à l'heure où le J2ME régnait encore dans le monde de la téléphonie avant d'être détrôné par l'iPhone.

Codename One produit du code natif optimisé, assurant à ses applications de meilleures performances. (NdM: l'accès au code source natif produit n'est pas fourni dans l'offre gratuite de Codename One).

Le plug-in est composé d'une API contenant toutes les classes nécessaires à la conception d'une application mobile, d'un designer, d'un simulateur pour tester les applications sur son ordinateur et du serveur de compilation dans le cloud.

L’une des grandes particularités de Codename One est son architecture dite « lightweight » qui apporte une meilleure solution aux problèmes de fragmentation des plateformes mobiles. Un composant lightweight dans ce cas-ci est un composant écrit entièrement en Java qui dessine sa propre interface tout en gérant ses propres événements et états. Cette manière de faire apporte un énorme avantage en termes de portabilité puisque le même code est exécuté sur toutes les plateformes en plus d’autres avantages. Les composants graphiques de Codename One sont personnalisables.

L’API de Codename One couvre de nombreuses fonctionnalités. On peut y trouver ce qu’il faut pour faire, par exemple, les tâches suivantes :

  • l'interface graphique ;
  • la manipulation de la vidéo et de l’audio (enregistrement comme affichage) ;
  • le stockage ;
  • l'accès à la caméra ;
  • la manipulation d'une base de données SQLite ;
  • la manipulation des services web ;
  • le réseau ;
  • l'accès au cloud ;
  • la lecture des codes barres et QR codes ;
  • l’internationalisation et la localisation ;
  • les notifications ;
  • la manipulation des contacts ;
  • l'accès aux pages web ;
  • la monétisation ;
  • l’accès aux réseaux sociaux ;
  • la géolocalisation ;
  • les tests unitaires ;
  • la création de thèmes personnalisés ;
  • etc.

Codename One est orienté exclusivement vers la conception d’applications métiers et n’a pas du tout été pensé pour créer des jeux. Quelques efforts sont en train d’être faits dans ce sens, mais rien de concret n’est encore disponible de ce côté.

Pour s'y former, vous disposez de la documentation officielle, complétée par de nombreux articles et tutoriels vidéo, ainsi qu'un forum très actif (en anglais). En outre, un livre vient de paraître en français aux éditions D-BookeR.

Télécharger ce contenu au format Epub

Lire les commentaires

Structuration de l'offre de services autour du gestionnaire libre de projets ProjeQtOr

26 juillet, 2015 - 00:41

Depuis 2009 le logiciel libre de gestion de projets ProjeQtOr (fonctions détaillées en seconde partie de la dépêche) a grandi autour d'une communauté grandissante d'utilisateurs et quelques volontaires fortement impliqués.

Conçu et développé par des chefs de projet pour des chefs de projet, ce logiciel apporte aujourd'hui une alternative crédible aux logiciels propriétaires.

Pour pérenniser le produit, développer sa notoriété et garantir la fourniture de services de qualité, son concepteur et développeur principal, Pascal BERNARD, vient de constituer la Société par Actions Simplifiée (SAS) ProjeQtor.

Implantée en région toulousaine, cette société propose des services professionnels à haute valeur ajoutée autours du logiciel libre ProjeQtOr :

  • hébergement en mode SaaS,
  • support professionnel,
  • assistance et formation,
  • réalisation d'évolutions à la demande,
  • fourniture de plug-ins sur des besoins particuliers.

ProjeQtOr est un logiciel libre de gestion de projets, diffusé sous la licence Open Source GPL V3. Son objectif est de regrouper dans un outil unique toutes les fonctionnalités de la gestion de projets, de manière pragmatique, en garantissant une utilisabilité maximale.

Il propose dans sa version actuelle (V5) une couverture fonctionnelle qui a peu d'égaux, même parmi les ténors du domaine :

  • gestion des délais (calcul du planning)
  • gestion des coût (suivi des données financières)
  • gestion des aléas (suivi des incidents, des demandes, du support)
  • gestion de la qualité (production d'indicateurs, génération d'alertes, traçabilité)
  • gestion des risques (identification, qualification et plan d'action)
  • gestion des ressources (affectations multi-projets, répartition de la capacité)
  • maîtrise des engagements (suivi des exigences, couverture par les tests)
  • maîtrise du périmètre (suivi des réunions, des questions, des décisions)

Il est a noter que ProjeQtOr est diffusé sous une seule licence. Toutes les fonctionnalités sont donc disponibles librement.

Télécharger ce contenu au format Epub

Lire les commentaires

Collaborer sur vos documents à l'aide du libre

24 juillet, 2015 - 09:35

Si on travaille avec beaucoup de documents chaque jour, peu importe ce que l'on écrit — whitepapers, manuels, présentations, différents matériels marketing, contrats, etc.— à un certain moment (le plus souvent à la fin) on a besoin d’interagir avec d'autres personnes afin de spécifier ou discuter des détails, réviser ou approuver le travail fait.

Dans ce cas-là on peut procéder de trois façon différentes :

1. Envoyer un mail à l'aide du programme de courrier électronique habituel

Inconvénients : ça prend beaucoup de temps d'envoyer un message, ensuite attendre une réponse, faire des corrections, renvoyer ce message encore une fois et ainsi de suite jusqu'à ce que tous les participants soient satisfaits du résultat.

2. Utiliser un système de contrôle de version comme Subversion ou CVS

Inconvénients : ces utilitaires ne permettent pas de collaborer en temps réel, la version du document est fusionnée avec celle d'origine stockée dans le référentiel.

3. Travailler à plusieurs à l'aide d'un éditeur de documents en ligne comme Google Docs ou MS Office 365

Inconvénients : les deux éditeurs permettent de collaborer sur les documents en temps réel mais les fichiers dans ce cas-là sont stockés sur leurs propres serveurs centralisés.

Cette dépêche aborde en deuxième partie des éditeurs collaboratifs libres disponibles à tout le monde qui permettent non seulement de travailler à plusieurs simultanément sur le même document mais aussi stocker les documents sur son propre serveur en profitant d'un contrôle complet.

Gobby

Page du projet
Code source
Licence : GPLv2+ et ISC

Gobby est un éditeur de texte qui offre une édition de texte collaborative. Avant de commencer à partager et à collaborer sur vos documents, on a besoin de choisir une clé privée et un certificat ou créer une nouvelle paire. On peut ouvrir un document existant ou créer un fichier nouveau pour l'enregistrer au format natif ou l'exporter vers un fichier HTML. L'éditeur textuel offre une prise en charge d'Unicode complète, l'enregistrement des changements automatique et les options de recherche/remplacement avancées. C'est un bon logiciel libre pour la création et l'édition d'un texte brut simple mais si on a envie de mettre le document en forme ce n'est pas ce qu'il faut.

Etherpad

Page du projet
Code source
Licence : Apache v2.0

Etherpad est un éditeur de documents Web qui permet de collaborer sur des documents, les commenter et en discuter avec d'autres à l'aide d'un chat. Il offre les fonctions de mise en forme de texte simples telles que type de police, taille, couleur et style, et d’alignement de texte. On peut importer un fichier existant dans Etherpad et exporter un "pad" vers un fichier HTML, markdown ou plaintext, l'imprimer ou l’intégrer en tant qu'iframe dans une page HTML. Réalisé en JavaScript, Etherpad peut être facilement personnalisé. Il est possible d'utiliser une des instances disponibles ou configurer sa propre application chez l'hébergeur de son choix.

EtherCalc

Page du projet
Code source
Licence : CPAL

EtherCalc est un tableur collaboratif en ligne, écrit en JavaScript qui permet aux utilisateurs de travailler à plusieurs sur un tableur depuis leur navigateur : profiter de nombreuses fonctions de mise en forme, trier et filtrer les données, insérer des fonctions, créer des graphiques. L'application ne demande pas d'inscription. Pour commencer à travailler il suffit d'y glisser un fichier .csv, .ods ou .xlsx. Une fois le travail fini, on peut l'exporter vers un fichier HTML, CSV ou Excel. Le programme est bien sympa mais il manque la possibilité d'afficher tout le contenu, y compris le graphique, sur le même écran.

Framasoft

Page du projet
Code source

Le projet Framasoft offre plusieurs outils pour l'organisation du travail collaboratif, parmi eux Framapad (éditeur de texte collaboratif) et Framacalc (tableur en ligne). Framapad se base directement sur Etherpad, tendis que Framacalc est une instance Ethercalc, donc les fonctions sont presque les mêmes que celles offertes par Etherpad et Ethercalc. Par contre les logiciels de Framasoft sont bien francisés et expliqués.

OnlyOffice

Page du projet
Code source
Licence : GNU AGPL v3

OnlyOffice est une suite bureautique en ligne multifonctionnelle qui inclut les éditeurs de texte, de classeurs et de présentations qui travaillent depuis un navigateur. Les fonctions offertes sont presque analogues à celles des éditeurs de bureau de MS Office mais avec la possibilité de collaborer en temps réel. On peut l'installer à part et intégrer dans toute autre application ou page Web à l'aide de l'API offert ou l'installer avec un système collaboratif OnlyOffice qui offre des possibilités supplémentaires pour la gestion de documents. Si on cherche un éditeur de texte compatible avec le format MS Office et un jeu d'outils complet, OnlyOffice c'est ce qu'il faut.

P.S. Le 7 juillet 2015 OnlyOffice a déployé la version open source dans les nuages, donc tout le monde peut profiter de ses caractéristiques gratuitement sans l'installer sur son serveur.

ownCloud Documents

Page du projet
Code source
Licence: AGPL

OwnCloud Documents est une partie du serveur de synchronisation et partage - ownCloud qui repose sur WebODF. L'application s'installe séparément permettant à cinq personnes de collaborer sur leurs documents en texte enrichi aux formats .odt, .doc, ou .docx depuis un navigateur. On peut partager le lien vers un fichier à l'intérieur de l'espace de travail ownCloud ou utiliser un lien public, en définissant une date d'expiration et un mot de passe, si nécessaire. L'application est simple et intuitive mais pour le moment le jeu d'outils de mise en forme est pauvre.

Télécharger ce contenu au format Epub

Lire les commentaires

Red Hat Enterprise Linux 6.7

23 juillet, 2015 - 20:11

Red Hat a annoncé le 22 juillet dernier la version 6.7 de Red Hat Enterprise Linux (RHEL), distribution commerciale destinée aux professionnels et aux entreprises. Pour rappel, RHEL 6 existe depuis novembre 2010 et, même si RHEL 7 est disponible depuis le mois de juin 2014, cette version est toujours maintenue.

Cette version 6.7 apporte malgré tout des améliorations, principalement du côté de l'authentification centralisée et de la virtualisation. Red Hat avait annoncé la version bêta près de 3 mois auparavant, soit le 6 mai dernier.

Une sélection des nouveautés se trouve en deuxième partie de dépêche.

Sommaire Authentification et interopérabilité

Ces deux thèmes sont souvent regroupés ensemble, car c'est l'un des axes de travail de Red Hat ces derniers temps, semble-t-il : améliorer la compatibilité avec les solutions Microsoft. Pour RHEL 6.7, c'est l'authentification qui est concernée, en particulier côté SSSD (composant d'authentification centralisée), qui gagne non seulement la possibilité d'utiliser un UPN (User Principal Name) comme identifiant pour s'authentifier sur un système, mais aussi d'utiliser les GPO (Group Policy Objects) stockées dans un annuaire Microsoft Active Directory (abordé dans RHEL 7.1).

Moins orientée Microsoft, une autre amélioration de SSSD concerne la notification d'expiration des mots de passe : celui-ci est maintenant capable de signaler qu'un mot de passe a expiré même si l'authentification a eu lieu sans mot de passe. Cela peut par exemple être le cas lors d'une connexion SSH par clé.

Haute-disponibilité

Le chapitre haute-disponibilité comporte deux nouveautés intéressantes : la première concerne Pacemaker, qui est maintenant capable de prendre en compte le serveur web Nginx en tant que ressource. Il est donc possible d'utiliser Nginx en configuration haute-disponibilité entièrement "à la Red Hat".

La deuxième nouveauté concerne le fencing, qui permet de cloisonner une ressource indisponible, parfois en effectuant un redémarrage électrique du serveur hébergeant la ressource en question. Plusieurs nouveaux agents apparaissent dans RHEL 6.7, mais l'un d'entre eux concerne le module iLO de Hewlett-Packard : fence_ilo_ssh. Plus besoin de se connecter à l'OS pour redémarrer le serveur !

Développement

Bien que cette dépêche ne contienne pas de section sur le matériel, la première nouveauté sur le développement concerne du matériel, en particulier les processeurs Intel. Les dernières générations (certains Core, Pentium et Celeron, ainsi que les Xeon v3) disposent en effet d'une fonctionnalité nommée PAPI (Performance Application Programming Interface), dorénavant prise en charge par RHEL 6.7

La bibliothèque C a été améliorée pour éviter un crash durant un diagnostic, ce qui empêche une application de planter pendant l'affichage des informations après une corruption mémoire par exemple.

SystemTap passe en version 2.7 ! Cette mise à jour contient de nombreuses améliorations, comme l'activation et la désactivation à la volée de sondes, la prise en charge de multiples scripts, ainsi que des nouvelles sondes.

Du côté d'OProfile, c'est le memory mapping qui est amélioré, dans le cas d'utilisation de huge pages dans du code Java JIT.

Environnement de bureau

Le paquet scap-workbench fait son apparition dans RHEL 6 ! Déjà présent dans RHEL 7, cet outil graphique (Qt 4) facilite le test d'une machine pour vérifier sa conformité à des pratiques de sécurité définies via OpenSCAP.

Côté performances, PCP (Performance Co-Pilot) a été mis à jour en version 3.10.2. Cela apporte entre autres de nouvelles métriques noyau (mémoire, vCPU, device mapper, NFS 4.1, cgroups), mais aussi la prise en charge de Python 3 et d'extensions d'API en Python. On notera aussi la compression des archives journalières au format xz.

Stockage

⁠ De nouvelles options ont été ajoutées à UDEV, permettant aux administrateurs d'écrire plus facilement des règles de montages, comme par exemple monter les clefs USB en lecture seule.

Ajout de iscsi.safe_logout, empêchant toutes tentatives de déconnexion d'une session ISCSI, lorsque des disques de ce type sont montés.

De nombreuses commandes LVM acceptent la sélection de critères, combinaison entre des opérateurs de comparaison = != > (..), des opérateurs logiques && || (..) et des opérateurs de groupes [ { ( (..) Le « Guide de l'Administrateur LVM » a été mis à jour (ici en version beta) en conséquence.

Toujours à propos de LVM, la fonctionnalité de cache est dorénavant pleinement prise en charge : elle permet d'utiliser un stockage petit mais rapide en tant que cache pour un disque plus grand et certainement plus lent. La note technique renvoie vers la page de manuel de lvmcache(7) pour plus d'informations.

Multipath suit la tendance en permettant maintenant de découper sa configuration en plusieurs fichiers précis. L'option config_dir est disponible dans le fichier central de configuration, permettant de définir un dossier dans lequel tout les .conf seront pris en compte.

L'attente par défaut de 300s avant que Multipath ne prenne en compte une inaccessibilité matérielle peut donner une impression de service défaillant. Les options "delay_watch_checks" et "delay_wait_checks" ont été ajoutées, empêchant ainsi les matériels qui bagotent d'être ré-utilisés immédiatement à leurs retours en ligne. Les vérifications de délais "watch" & "wait" permettent de définir des seuils avant de déclarer ces matériels revenus en ligne comme réellement fiables et utilisables.

Virtualisation

Les machines virtuelles KVM utilisent l'outil kvm-clock comme source de temps pour synchroniser leur horloge avec celle de l'hyperviseur après une veille prolongée. Dans ce cas, les machines virtuelles RHEL 6 avaient quelques difficultés à se synchroniser correctement. En conséquence, kvm-clock a été mis à jour pour que cette synchronisation soit plus fiable.

Dans le jeu de celui qui en fait le plus, KVM est maintenant capable de gérer 240 processeurs virtuels (vCPU) par machine virtuelle.

Cette nouvelle version de RHEL 6 est bien entendu disponible en tant qu'image à déployer comme conteneur ou comme machine virtuelle. L'annonce ajoute que les hôtes certifiés pour cela sont Red Hat Enterprise Linux 7, Red Hat Enterprise Linux Atomic Host, et OpenShift Enterprise 3.

Noyau

Certaines versions de gcc, ainsi que le code nécessaire à la virtualisation, pouvaient dans certaines circonstances générer de trop grandes trames, et engendrer, en combinaison avec d'autres facteurs, des plantages. La pile du noyau a été étendue à 16 ko pour tenir compte d'exigences plus élevées de certaines de ces fonctions.

On peut aussi remarquer la correction d'un problème dans le gestionnaire de ressources de mémoire : MEMCG pouvait conduire à des impasses dans des conditions OOM (out of memory). Ceci pouvait être utilisé pour bloquer le système, lorsque celui-ci est en condition OOM, en lançant de nombreux processus au sein d'un cgroup restreint en mémoire.

L'utilitaire perf a été rétroporté dans sa dernière version, Red Hat 6.7 propose ainsi la même version 3.16 que le projet en amont, incluant toutes les améliorations et corrections des versions 3.13, .14 & .15. Les administrateurs & développeurs peuvent consulter le « Performance Tuning Guide » mis à jour.

Télécharger ce contenu au format Epub

Lire les commentaires

Sortie de Creme CRM en version 1.5

21 juillet, 2015 - 17:40

Le 11 mars dernier sortait la version 1.5 du logiciel de gestion de la relation client CremeCRM, soit un an après la version 1.4.

Les principales améliorations sont l'arrivée de la géolocalisation et d'une interface pour téléphones mobiles ; les nouveautés sont détaillées dans la suite de la dépêche.

Description du logiciel

CremeCRM est un logiciel de Gestion de la Relation Client, généralement appelé CRM (pour Customer Relationship Management). Il dispose évidemment des fonctionnalités basiques d'un tel logiciel :

  • Un annuaire, dans lequel on enregistre contacts et sociétés : il peut s'agir de clients bien sûr, mais aussi de partenaires, prospects, fournisseurs, adhérents…
  • Un calendrier pour gérer ses rendez-vous, appels téléphoniques, conférences… Chaque utilisateur peut avoir plusieurs calendriers, publics ou privés.
  • Les opportunités d'affaires, gérant tout l'historique des ventes.
  • Les actions commerciales, avec leurs objectifs à remplir.
  • Les documents (fichiers) et les classeurs.

CremeCRM dispose en outre de nombreux modules optionnels le rendant très versatile : campagnes de courriels, devis/factures/bons de commande/avoirs, tickets, génération des rapports/graphiques…

L'objectif de Creme est de fournir un CRM libre pouvant convenir à la plupart des besoins, simples ou complexes. À cet effet, il propose quelques concepts puissants qui se combinent entre eux (entités, relations, filtres, vues, propriétés, blocs), et il est très configurable. De plus, afin de satisfaire les besoins les plus particuliers, son code est conçu pour être facilement étendu.

Principales nouveautés de la version 1.5 L'interface pour téléphones mobiles

En tant qu'application Web, Creme a toujours été accessible depuis les smartphones ; mais l'interface très riche de Creme n'est pas optimale sur ces derniers. Une interface optimisée pour les téléphones a donc été ajoutée pour répondre à quelques besoins courants lorsqu'on accède à CremeCRM depuis un mobile, par exemple :

  • Chercher/créer des contacts et des sociétés.
  • Voir les activités en cours, de la journée et du lendemain.
  • Voir vos appels téléphoniques en retard.
  • Pouvoir passer des appels téléphoniques, changer leur statut, en programmer de nouveaux en cas d'échec.

Page d'accueil :

Création d'un contact :

Plus de détails sur le forum officiel dans ce post

La géolocalisation

Ce nouveau module vous permet d'exploiter les informations d'adresse que vous avez renseignés pour vos fiches contacts et sociétés, à travers 3 nouveaux blocs :

  • Le bloc "Carte" des vues détaillées des fiches contacts et sociétés. Il permet de localiser sur une carte les adresses de la fiche.
  • Le bloc "Autour de ce lieu" ce bloc vous permet de voir les Contacts/Sociétés proches de la fiche que vous consultez. Les voisins peuvent être filtrés.
  • Le bloc "Carte" de la page d'accueil. Il permet de voir d'un coup d’œil l'emplacement des Contacts/Sociétés de votre base de données. Comme avec le bloc précédent, les fiches peuvent être filtrées, afin d'affiner l'affichage. Par exemple dans la capture d'écran suivante, le filtre "Clients et Prospects" est utilisé :

Notes : ce module s'appuie sur Google Maps. Il est tout a fait envisageable dans l'avenir de rajouter des blocs qui utiliseraient OpenStreetMap.

Plus de détails ici

Autres fonctionnalités importantes
  • Une nouvelle vue permettant de voir toutes les fiches ayant une certaine propriété (sorte de tag) a été ajoutée.
  • Les filtres et vues de liste peuvent maintenant être privés à un utilisateur.
  • L'import CSV/XLS peut maintenant importer les valeurs des champs personnalisés (champs créés par l'utilisateur). On peut aussi désormais importer des Activités.
  • Dans les filtres, on peut sélectionner plusieurs clés étrangères (ForeignKeys), pour par exemple n'afficher que les factures ayant des statuts spécifiques (c'était déjà faisable de manière pénible).
  • La recherche globale a été améliorée : résultats paginés, possibilité de toujours ignorer certains types de fiches par configuration.
  • Beaucoup de petites amélioration d'interfaces. Exemples : meilleure édition des champs "en-ligne", plus d'auto-complétion dans les formulaires.

Le changelog complet se trouve ici

La future version 1.6

Cette version 1.5 est la dernière version se basant sur Django1.4, dont les jours sont comptés. La version 1.6 se concentre donc sur le passage en Django 1.8, la nouvelle version LTS ; actuellement la version de développement est en Django 1.7.

Télécharger ce contenu au format Epub

Lire les commentaires

Campagne de financement d'un livre par la fondation Creative Commons

19 juillet, 2015 - 19:06

La fondation Creative Commons a lancé une campagne de financement participatif, via kickstarter, pour rédiger un livre qui a pour but de « Montrer au monde en quoi partager peut être bon pour les affaires ».

Le livre veut donc décrire les modèles économiques "ouverts" rendus possibles par l'utilisation des licences Creative Commons et selon leur termes, répondre à la question : comment les créateurs peuvent-ils rendre économiquement viable une activité économique tout en permettant la ré-utilisation de leur créations ?

Le travail se baserait sur l'interview d'une vingtaine d'entreprises qui ont déjà un certain succès en utilisant ce type de modèle, et analyser les réponses pour en tirer des usages et leçons qui puissent inspirer les créateurs.

En fait il s'agit plus que d'un livre puisqu'il intègre une série d'articles, un outil interactif et un livre électronique. Il est dit que le résultat serait disponible sous une licence Creative Commons, mais il n'est pas précisé exactement quels contenus ni quelle licence. Les premiers articles parus sur le site medium sont sous licence cc-by.

La fondation Creative Commons est la fondation qui s'occupe de la promotion des licences Creative Commons, qui proposent un certain nombre de licences permettant le partage de contenus et créations numériques (certains droits réservés, opposé à tous droits réservés). La licence utilisée par Wikipedia est une licence Creative Commons (cc-by-sa), tout comme LinuxFr.org (bien plus à jour car en version 4 !).

Télécharger ce contenu au format Epub

Lire les commentaires

La Semaine du Libre 2015 à Brignoles (83) du lundi 20 juillet au dimanche 26 juillet

17 juillet, 2015 - 15:00

L’association GULLIVAR organise du lundi 20 juillet au dimanche 26 juillet 2015, une semaine d'activités consacrée au Logiciels Libre et composée d’ateliers divers.

Chaque jour de 10h00 à 21h30; Salle des Saints Anges, chemin de San Sumian à Brignoles.

Repas pris en commun vers 12h30 / 13h00, chacun(e) amenant un (ou plusieurs) plat(s) à partager.

Les ateliers commencent à 14h00 sauf ceux de lundi qui commence à 10h00 et à 17h00.

IMPORTANT : nous vous demandons de vous inscrire pour chaque atelier et/ou activité, cela nous permettra de connaître le nombre de participants et de vous informez des détails pratiques de chaque atelier. Pour cela écrivez-vous à l'adresse courriel gullivar@gullivar.org en indiquant vos coordonnées (nom, prénom, adresse de Courriel [e-mail], numéro de téléphone mobile, choix du ou des ateliers) ou en remplissant le formulaire situé sur le site internet de GULLIVAR.

Libre participation aux frais. Programme susceptible de modifications de dernière minute.

Au programme :

  • Lundi 20 juillet : Atelier Cartographie Libre avec OpenStreetMap à 10h00 et Atelier Scribus à 17h00.
    • Dès 10h00 : Atelier de cartographie collaborative animé par Jean Marie Dubosc & Olivier Griffet. Le matin vous participerez à la collecte de données sur le terrain à l’aide de votre smarphone avec l’application Mapillary et/ou OSM tracker installée ou de votre GPS, des field paper, sinon un simple carnet de notes peut aussi faire l’affaire !
    • L’après-midi, après une présentation du projet vous apprendrez à réaliser une carte de votre ville/village à l’aide de l’application en ligne ID ainsi qu’avec JOSM qui permet de travailler avec les images Bing, les données du cadastre et celles recueillies par votre Smartphone/GPS.
    • À 17h00 Yves Specht animera un atelier avec Scribus un logiciel de PAO. Thème de l'atelier : Réaliser une carte de visite.
  • Mardi 21 juillet : Atelier Bureautique Libre Office Writer (équivalent Word) par Eric Rojas. Thème de l'atelier : Création d'un livret de Fables illustrées.
  • Mercredi 22 juillet : Atelier Bureautique Libre Office Calc (équivalent Exel) par Eric Rojas. Thème de l'atelier : Création d'une feuille de facturation évoluée avec toutes les données enregistrées.
  • Jeudi 23 juillet : Install party GNU/Linux Mageia 5; Ubuntu 14.04 LTS et autres distributions. Une journée complète pour tester, installer ou migrer vers une distribution Gnu/Linux récente sur votre ordinateur PC fixe ou PC portable.
  • Vendredi 24 juillet : Atelier retouche photo avec Gimp par Eric Rojas. Thème de l'atelier : Photomontages avec gestion de calques, des sélections et retouches colorimétriques.
  • Samedi 25 juillet : Atelier Programmation Python animé par Eric Rojas et Jérôme Décamps. Thème de l'atelier : Création d'un jeu 2D multijoueur en réseau avec Python : utilisation de la bibliothèque Python socket pour les communications réseau et de Pygame pour l'affichage graphique et le son.
  • Dimanche 26 Juillet : Jeux libres (LAN Party) en réseau. Venez jouer avec le jeu 2D développé le veille et découvrir les jeux en réseau libres sous Linux : Tworld, nexuiz, Openarena, etc…
Télécharger ce contenu au format Epub

Lire les commentaires