Linux France

S'abonner à flux Linux France
Mis à jour : il y a 9 min 16 sec

Rentrée de l'association Linux-Alpes à Digne - jeudi 2 octobre

Mardi 16 Septembre

Depuis 1999, Linux-Alpes, l'association des utilisateurs de logiciels libres dans les Alpes du sud (Alpes de Haute Provence et Hautes Alpes) organise des rencontres sur Digne, Gap, Veynes, parfois Sisteron, Manosque, Briançon, Villars-Colmars, Puimoisson, Peipin ou Forcalquier.

À Digne, Linux-Alpes fait sa rentrée jeudi 2 octobre 2014 avec une nouvelle soirée d'échanges et de rencontres autour des logiciels libres. Rendez-vous à partir de 20h chez Xsalto, Rue Pasteur (plan d'accès) qui nous accueille à nouveau dans ses locaux cette année.

Une autre soirée a lieu à Veynes vendredi 26 septembre à partir de 20h à l'espace Mul'OT, 10 rue Léon Cornand (plan d'accès).

À Gap, les soirées ont repris dans les locaux du L.A.P., 5 rue léon Olphe Galliard depuis le mardi 9 septembre.

Venez avec vos questions, vos pratiques à partager… en relation avec GNU-Linux et les logiciels libres. Ces soirées sont ouvertes à tous, l'entrée est libre et gratuite.

Télécharger ce contenu au format Epub

Lire les commentaires

Quelques nouvelles sur Qt et KDE

Mardi 16 Septembre

Le nombre de dépêches sur KDE et Qt semble assez faible sur LinuxFr.org en comparaison du rythme effréné de l’actualité de ces deux projets libres en ce moment. Voici donc quelques nouvelles qui peuvent valoir la peine d'être lues.

Évidemment, c’est loin d’être exhaustif et vous êtes invité à lire le très actif planetkde.org, si vous souhaitez plus de précisions.

Sommaire Qt

Pour rappel, Qt est la brique logicielle sur laquelle l'essentiel des logiciels KDE sont construits.

Passage à la LGPL 3

En 2009, Nokia a décidé d'ajouter la licence LGPL 2.1 à Qt, afin de faciliter son adoption dans plus de projets : la GPL, précédemment seule licence libre utilisée par le projet communautaire, a des contraintes car elle impose que tout projet dérivé soit également disponible sous la GPL. Cette année, Digia ajoutera la licence LGPL 3 à Qt 5.4 (les nouveaux modules ne disposeront pas de la LGPL 2.1). Son principal avantage est d'éliminer quelques faiblesses juridiques.

Cette nouvelle licence facilitera la mise à disposition de modules sous licence libre ou propriétaire : Digia prévoyait initialement de garder les modules Qt Canvas3D (implémentation de WebGL pour Qt Quick) et Qt WebView (utilisation du moteur de rendu Web natif) pour la licence commerciale^Wpropriétaire, mais accepte de les diffuser sous la LGPL 3.

Plus de détails sur le blog de Digia.

Les versions commerciales^Wpropriétaires et communautaires de Qt se rapprochent

Jusqu'à présent, les éditions commerciales de Qt sont présentées sur deux sites totalement distincts : qt.digia.com pour le commercial^Wpropriétaire, qt-project.org pour le libre. L'objectif est de fusionner ces deux sites, pour éviter la confusion et l’éparpillement entre les deux éditions.

Plus de détails sur le blog de Digia.

KDE

KDE SC 4.14

La version 4.14 de KDE SC a été annoncée le 20 août dernier. Comme dans la précédente version, aucune nouveauté majeure : les développeurs se sont concentrés sur divers petits détails, petites améliorations et corrections de bugs sous le capot. Les changements importants se font depuis un moment uniquement sur Plasma 5, KDE Frameworks 5 et KDE Applications 5.

KF5

Frameworks 5 a reçu sa première mise à jour le 7 août, puis la seconde le 12 septembre. Parmi les changements, KAuth a obtenu un nouveau dorsal (backend), on peut donc à nouveau ajouter des fonctionnalités qui requièrent l’accès superutilisateur, KWallet a obtenu un système de migration depuis sa version KDELibs 4, et la prise en charge des fichiers AppStream.

Les développeurs de KF5 ont pris la décision controversée de ne plus faire de mises à jour de corrections de bugs et de faire des mises à jour mensuelles. Pour cela, tout est fait pour que les versions de développement de KF5 puissent être utilisées par les développeurs (dog fooding, i.e. de l'alimentation continue) et que les développeurs d’application contribuent à KF5. Il y aura également plus de tests automatisés, de revues par les pairs et des ajouts de fonctionnalités de manière plus fine.

pyKDE5

pyKDE5, c’est le binding pour utiliser KF5 depuis le langage de programmation Python. Pour le moment, les cadriciels suivants sont utilisables :

  • karchive ;
  • kcoreaddons ;
  • kguiaddons ;
  • kitemmodels ;
  • kitemviews ;
  • kplotting ;
  • kwidgetsaddons ;
  • solid ;
  • sonnet.

Cela inclut la plupart des cadriciels de niveau 1, le plus gros manque étant KConfig. Certains petits cadriciels (comme kcodecs ou kwindowsystem) n’ont pas d’utilité depuis Python ou bien leur fonctionnalité y est déjà présente, ils n’ont donc pas de binding. D’autre part, seul Python 3 est géré (puisqu’il faut de toute façon faire le port de pyKDE4 à pyKDE5).

(Note : le terme «  tier 1  » que j’utilisais dans la précédente dépêche est une traduction erronée ou, plutôt, une non-traduction, c’est pourquoi c’est maintenant traduit en «  niveau 1 »).

Scripts de portage

Les scripts de portages avaient été abordés dans la dépêche sur la sortie de KF5 et dans les commentaires.

De nouveaux scripts sont disponibles :

  • convert-kdialog.pl aide au portage de KDialog vers QDialog (une classe de KDElib4Support utilisée par toutes les applications KDE), mais comme c’est une transition (et donc un script) plus compliquée que les autres, il faudra donc faire plus attention en vérifiant le résultat ;
  • autogenerate_export_header.sh va permettre de se passer de l'utilisation du fichier kdemacros.h, présent dans kdelibs4support, en générant directement les fichiers d'en-tête ;
  • convert-kcolordialog.pl aide au portage de KColorDialog::getColor vers QColorDialog::getColor (non ce n’est pas simplement un script d’une ligne) ;
  • convert-kcmdlineargs.pl sert quant à lui à la conversion de kcmdlineargs en aidant au portage de K4AboutData vers KApplication ;
  • convert-ktempdir.pl est chargé du portage de KTempDir vers QTemporaryDir ;
  • convert-ktemporaryfile.pl va s'occuper du portage de KTemporaryFile vers QTemporaryFile ;
  • convert-qt-os-macro.pl permet de remplacer Q_WS_* par Q_OS_* ;
  • convert-kdoublenuminput.pl s'occupe de migrer KDoubleNumInput vers QSpinBox ;
  • convert-kbuttongroup.pl aide au portage de kbuttongroup vers QGroupBox + QButtonGroup ;
  • convert-to-new-signal-slot-signal.pl est là pour le portage vers la nouvelle syntaxe des signaux et des slots de Qt5 ;
  • search-kdelibs4support-header.sh trouve les classes de KDElibs4Support de tous les fichiers d’un répertoire : il indique ce qu’il faut supprimer pour se débarrasser de KDElibs4Support.

En outre, les scripts convert-kmenu.pl, convert-kmd5.pl, remove-kde4support.pl, convert-kcmdlineargs.pl, convert-kurl.pl et convert-kmimetype.pl ont été améliorés et, bien sûr, les autres ont reçu des corrections.

Pour plus d’informations, vous pouvez consulter le blog de Laurent Montel, l’auteur de tous ces scripts : convert-kdialog.pl, port_to_autogenerate_export_header.sh and others, convert-ktemporaryfile.pl and co :), convert-kbuttongroup.pl, convert-to-new-signal-slot-signal.pl ? et clean-forward-declaration.sh?.

Plasma

Le 12 août dernier, Plasma 5 a reçu sa première mise à jour (correction de bogues). Concernant les plasmoïdes maintenus par l’équipe de Plasma, dans certains cas il faut complètement les réécrire. Mais c’est, par exemple, l’occasion de faire le nettoyage (pas la peine de porter un plasmoïde qui n’aurait pas de mainteneur par la suite). Pour plus d’informations, et .

La prochaine version du plasmoïde NetworkManager pour Plasma 5 a reçu pas mal de changements sous le capot pour améliorer sa fiabilité et prendre en charge plus de configurations. Le port est presque fini, mais il n’y a pas de moniteur de trafic, celui-ci n’ayant pas encore été porté. De nouvelles notifications ont également été ajoutées pour les deux versions (Plasma 4 et 5) pour mieux informer l’utilisateur.

Baloo

À partir de Plasma 5.1, Baloo ne prend plus en charge FAT et les systèmes de fichiers réseau. Ne pouvant pas stocker les attributs (étiquettes, notes et commentaires) dans le système de fichier (via xattr), il a fallu trouver une solution de contournement : une base interne à Baloo. Elle est cependant mauvaise, car :

  • les informations sont stockées dans une base de données à part ;
  • ce n’est pas portable ;
  • il n'y a pas de mécanisme visible à l’utilisateur pour sauvegarder ou restaurer ces informations ;
  • cela fonctionne terriblement mal sur les systèmes de fichiers réseau car les informations sont stockées localement.

Les développeurs ont préféré ne pas prendre en charge ces cas d’utilisation plutôt que de mal les gérer. En outre, cela a permis de grosses simplifications et d’améliorer le fonctionnement de Baloo. En effet, utiliser uniquement le système de fichiers local est très simple et rapide.

En outre, il est maintenant possible de modifier ces informations avec une application tierce, sans perturber le fonctionnement de Baloo (il fallait auparavant mettre à jour la base de données interne de Baloo) et il est possible de surveiller et de réagir aux modifications.

D’autre part, l’analyseur de requêtes naturelles (d’un précédent GSoC) a été porté sur KF5. Pour rappel, il permet d’effectuer facilement des requêtes très puissantes en langage naturel, telles que :

GSoC

Quelques projets et résultats des GSoC avancent bien et contribuent au dynamisme de KDE.

Kpeople Adressbook est un carnet d’adresse pour KDE basé sur KPeople qui permet de consulter toutes les données et discussions d’un contact. On peut désormais, à l’issu du GSoC, consulter les clavardages, évènements, publications et fichiers d’une personne.

OTR est maintenant disponible dans KTP (avec trois façons d’authentifier un pair, paramètres de politique OTR, gestion des empreintes connues et génération de clé privée par compte).

KDE Connect est maintenant disponible sur iOS ! Il y a un dorsal et une interface graphique pour les plateformes iOS et les modules Ping, MPRIS, Partage de photo, synchronisation de presse-papiers, pavé tactile, et surveillance de la batterie.

La prise en charge des fichiers Geogebra dans Kig, après avoir été réécrite plusieurs fois, est enfin fonctionnelle !

KDevelopp a été bien amélioré ! L’intégration de Clang a été étendue pour pouvoir naviguer dans les macros C++ et passer de la déclaration à la définition d’un élément. D’autre part, la bibliothèque kdevplatformlanguage a été séparée en plusieurs parties plus faciles à maintenir, et elle compile maintenant sous Windows. Enfin, de nombreux bogues ont été corrigés.

GCompris

Depuis l'annonce en janvier dernier de la ré-écriture en Qt Quick, le projet a officiellement rejoint l'incubateur KDE. L'idée, à terme, est de compléter la liste des logiciels de KDE-Edu. Le portage avance bien : actuellement 80 activités sur les 140 de la version GTK+ ont été portées.

Vous pouvez également en apprendre plus sur le blog de la bratcave.

Autres Appel à contribution

Ça fait quelques temps que votre serviteur essaie de vous tenir informé de l’actualité de KDE mais cette activité est vraiment chronophage. Alors, amateurs de KDE, n’hésitez pas à donner un coup de main en participant à la rédaction de dépêches et mettre en lumière les évolutions de KDE qui vous intéressent !

Télécharger ce contenu au format Epub

Lire les commentaires

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

Mardi 16 Septembre

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

Sommaire

[l'Humanité.fr] Conférence de Stallman: extraits choisis

Par la rédaction, le samedi 13 septembre 2014. Extrait:

Richard Stallman, le père du logiciel libre tenait ce vendredi une conférence sur les droits de l’homme et l’informatique. Morceaux choisis de la conférence.

Lien vers l'article original: http://www.humanite.fr/conference-de-stallman-extraits-choisis-551619

Et aussi:

[Numerama] En Italie, Turin abandonne Windows pour Ubuntu

Par Julien L., le vendredi 12 septembre 2014. Extrait:

La ville de Turin a décidé de migrer son parc informatique vers Ubuntu. Outre des considérations économiques, la municipalité a pris en compte l'arrêt du support de Windows XP, l'expiration des licences et la vétusté des postes. Une économie de 300 euros par ordinateur est attendue.

Lien vers l'article original: http://www.numerama.com/magazine/30541-en-italie-turin-abandonne-windows-pour-ubuntu.html

Et aussi:

[01net.] Numérique: les étonnantes nominations de la Commission européenne

Par Pascal Samama, le jeudi 11 septembre 2014. Extrait:

Jean-Claude Juncker, a présenté son équipe. Les nouveaux responsables du numérique sont loin d’être des spécialistes. Bonne nouvelle pour les géants du Net, moins bonne pour l’Europe numérique. Portraits.

Lien vers l'article original: http://www.01net.com/editorial/626674/numerique-les-etonnantes-nominations-de-la-commission-europeenne

Et aussi:

[Numerama] Neutralité du net: le congrès américain submergé par les appels

Par Julien L., le jeudi 11 septembre 2014. Extrait:

Dans le cadre d'une journée d'action en faveur de la neutralité du net aux USA, de nombreux sites web ont lancé une opération visant à simuler un Internet lent. En outre, les Américains se sont mobilisés pour convaincre leurs élus de se mobiliser sur ce sujet. Le congrès a été submergé par les appels au cours de la journée.

Lien vers l'article original: http://www.numerama.com/magazine/30528-neutralite-du-net-le-congres-americain-submerge-par-les-appels.html

Et aussi:

[Le Monde.fr] Le Conseil d'Etat veut un encadrement des activités des espions sur Internet

Par Martin Untersinger, le mardi 9 septembre 2014. Extrait:

Le Conseil d’Etat présente, mardi 9 septembre, son étude annuelle, consacrée cette année au numérique et aux droits fondamentaux. C’est loin d’être le premier rapport que l’administration produit à propos du numérique. Mais l’étude annuelle de la plus haute juridiction administrative française, qui fait généralement référence, est toujours étudiée de près par les professionnels du droit et les milieux du domaine concerné.

Lien vers l'article original: http://www.lemonde.fr/pixels/article/2014/09/09/le-conseil-d-etat-veut-un-encadrement-des-activites-des-espions-sur-internet_4484206_4408996.html

Et aussi:

Voir aussi:

[Les Echos] Imbroglio sur la réforme du copyright

Par Charles Cuvelliez, le mardi 9 septembre 2014. Extrait:

La Commission européenne a lancé une vaste consultation sur la réforme du copyright qui a recueilli 9 500 contributions d'utilisateurs et de consommateurs… Et personne n'est d'accord.

Lien vers l'article original: http://www.lesechos.fr/idees-debats/cercle/cercle-108516-copyright-les-usagers-sont-sur-venus-tous-les-autres-sur-mars-1040594.php

Et aussi:

[Direction Informatique] Le logiciel libre à la Gendarmerie française

Par Jean-François Ferland, le lundi 8 septembre 2014. Extrait:

La Gendarmerie nationale, qui est responsable de la sécurité dans les zones rurales et les banlieues dans la France et ses territoires – l’équivalent en quelque sorte de la Sureté du Québec – a réalisé au cours des années 2000 un projet de grande envergure: la migration de dizaines de milliers de postes de travail au moyen de logiciels libres.

Lien vers l'article original: http://www.directioninformatique.com/le-logiciel-libre-a-la-gendarmerie-francaise-1-alibi-pour-une-independance-technologique/30069

[Framablog] Internet. Pour un contre-ordre social

Par Christophe Masutti, le vendredi 5 septembre 2014. Extrait:

Depuis le milieu des années 1980, les méthodes de collaboration dans la création de logiciels libres montraient que l’innovation devait être collective pour être assimilée et partagée par le plus grand nombre. La philosophie du Libre s’opposait à la nucléarisation sociale et proposait un modèle où, par la mise en réseau, le bien-être social pouvait émerger de la contribution volontaire de tous adhérant à des objectifs communs d’améliorations logicielles, techniques, sociales.

Lien vers l'article original: http://www.framablog.org/index.php/post/2014/09/05/internet-pour-un-contre-ordre-social-christophe-masutti

Télécharger ce contenu au format Epub

Lire les commentaires

Mons, le 18 septembre : MOOC – Une façon OUVERTE d’apprendre LIBREMENT ?

Dimanche 14 Septembre

Ce jeudi 18 septembre 2014 à 19h se déroulera la 31ème séance montoise des Jeudis du Libre de Belgique.

MOOC (Massive Open Online Course / Cours en ligne ouverts à tous) : une façon ouverte d’apprendre librement ? Exemples avec ITyPa (sujet généré par les participants) et « Khan Academy » (sujet classique exposé par un professeur)

  • Thématique : e-Learning
  • Public : Tout public
  • Animateurs conférenciers :

    • Philippe Verstichel (Académie du Management)
    • Bruno De Lièvre (UMONS, Faculté de Psychologie et des Sciences de l’Éducation)
  • Lieu de cette séance : Campus technique (ISIMs) de la Haute Ecole en Hainaut, Avenue V. Maistriau, 8a, Salle Académique, 2e bâtiment (cf. ce plan sur le site de l’ISIMs, et ici).

Description : Voyage au pays des MOOC (Massive Open Online Course), cours en ligne qui autorisent de nouvelles façons d’apprendre mais également, dans l’esprit du “Libre”, de nouvelles façons de développer non pas des programmes informatiques mais des contenus éducatifs communs.

Dans une première partie, le concept est expliqué de manière pratique au travers d’exemples bien choisis pour mettre en relief les différences entre les plateformes. Du traditionnel « coursera » au connectiviste « ITyPa » en passant par le concept de la « Khan Academy ».

Au cours de la deuxième partie, à côté d’une nouvelle approche de l’enseignement à distance, l’exposé dévoilera l’extraordinaire possibilité des MOOC comme outil de co-création de connaissance et de supports éducatifs. Au delà des défis technologiques engendrés, le caractère collaboratif/participatif des MOOC requiert en effet de nouvelles approches aussi bien en matière de pédagogie que de fabrication de contenu (celle-ci pouvant se rapprocher des développements de logiciels libres).

Dans la dernière partie, nous aborderons le côté pratique au travers de deux outils. L’un, Moodle, est utilisé par l’Université de Mons et la Haute École Condorcet, et l'autre : OpenMOOC

La présentation se terminera par un débat interactif sur les potentiels des MOOC en Wallonie et sur leurs apports possibles dans des milieux universitaires, entrepreneuriaux ou en formation continue
La participation sera gratuite et ne nécessitera que votre inscription nominative, de préférence préalable, ou à l’entrée de la séance. La séance sera suivie d’un verre de l’amitié.

Les Jeudis du Libre à Mons bénéficient aussi du soutien de nos partenaires : Normation, MeaWeb, NextLab et Phonoid.

Si vous êtes intéressé(e) par ce cycle mensuel, n’hésitez pas à consulter l’agenda et à vous inscrire sur la liste de diffusion afin de recevoir systématiquement les annonces.

Pour rappel, les Jeudis du Libre se veulent des rencontres autour de thématiques des Logiciels Libres. Les rencontres montoises se déroulent chaque troisième jeudi du mois, et sont organisées dans des locaux et en collaboration avec des Hautes Écoles et Facultés Universitaires du Pôle Hainuyer d’enseignement supérieur impliquées dans les formations d’informaticiens (UMONS, HEH et Condorcet), et avec le concours de l’A.S.B.L. LoLiGrUB, active dans la promotion des logiciels libres.

Télécharger ce contenu au format Epub

Lire les commentaires

Apéro+workshops Python (Flask et AsyncIO) à Mons (BE) - le 2 Octobre

Dimanche 14 Septembre

Amis Pythonistes, notez la date du prochain AFPyro (et venez-y) ! Le prochain Apero Python Belgium se tiendra le jeudi 2 Octobre à Mons, lors de la Quizaine Numérique de Mons, du 27 septembre au 19 octobre. En plus des habitués de l’AFPyro, nous accueillerons des débutants en Python afin de leur présenter la puissance du langage. Vous pourrez ainsi participer à un des deux workshops proposés en parallèle, l'un sur Flask, l'autre sur AsyncIO (détails en seconde partie). N’oubliez pas de prendre votre ordinateur portable si vous voulez participer au workshop. Bien entendu (car c’est dans le nom), un apéro sera également organisé pendant l’événement.

Rendez-vous à partir de 18h30, à Co-nnexion, Espace de Coworking, 2b Rue des Archers, 7000 Mons.

Deux workshops sont proposés en parallèle :

  1. Pour les Pythonistes débutants, un workshop pour apprendre les bases de Python, puis pour construire une application Web avec Flask.
  2. Pour les développeurs avancés, une initiation à AsyncIO, suivie d’un exemple concret d’une API REST/JSON asynchrone avec AsyncIO, aiohttp, aiorest et aiopg. Enfin, un benchmark sera réalisé afin de comparer les performances avec une API REST/JSON synchrone en Flask.
Télécharger ce contenu au format Epub

Lire les commentaires

Atelier Tmux à Bordeaux le 15 septembre

Samedi 13 Septembre

Lundi 15 septembre 2015 se tiendra le premier atelier CLI, sur Tmux, un multiplexeur de terminal. Le but de ces ateliers, proposés par des membres d’associations et collectifs Bordelais, est de progresser ensemble sur un outil ou un thème, toujours en ligne de commande. Les ateliers "spécial débutants" reprendront le 13 octobre.

Cet atelier se déroulera dans les locaux du L@BX dans la fabrique POLA.

NdM : merci à xaccrocheur pour les liens.

Télécharger ce contenu au format Epub

Lire les commentaires

Movim 0.8

Vendredi 12 Septembre

Movim, le réseau social standard et décentralisé sort en version 0.8. Cette dépêche sera l'occasion de revenir sur le projet, les nouveautés apportées ainsi que sur le travail prévu pour ces prochains mois.
Beaucoup de nouveautés dans l'optimisation qui sont détaillées en seconde partie. L'utilisateur verra surtout l'apparition de la visio-conférence via l'extension Jingle de XMPP et des grosses améliorations visuelles.

Sommaire Mais d'abord, qu'est-ce que Movim ? Présentation générale

Il est toujours bon de resituer le projet ainsi que son environnement avant de partir dans les détails.
Movim a pour but d'offrir une interface sociale sur le réseau de communication XMPP, standard de messagerie depuis plus de 10 ans maintenant.

L'idée générale étant de limiter l'effet "Not Invented Here" en réutilisant un maximum de briques logicielles et protocolaires déjà existantes ainsi qu’en participant au développement de celles-ci. Et c'est ici notre point majeur de différenciation par rapport à d'autres réseaux sociaux décentralisés comme Diaspora par exemple.

Le projet se déploie donc sur un serveur Web traditionnel à la manière d'un blog (il est écrit en PHP et fonctionne sur les bases de donnée MySQL et PostGreSQL) et va faire l'intermédiaire entre le réseau XMPP et les navigateurs des utilisateurs.

D'un point de vue XMPP, Movim se comporte donc comme un simple client tout en offrant à l'utilisateur une expérience de navigation similaire aux autres réseaux sociaux. L'architecture étant elle-même conçue pour permettre la connexion de plusieurs comptes simultanément.

Fonctionnalités

De nombreuses fonctionnalités ont été ajoutées au fil des versions. En voici une liste non exhaustive.
Une liste des extensions du protocole XMPP (appelées XEP) est également tenue à jour à cette adresse : Wiki Movim - Protocol Implementation.

Comme tout client XMPP digne de ce nom, Movim implémente déjà tout ce qui est nécessaire pour faire de la messagerie instantanée : liste de contacts, présences, échange de messages, salons de discussion.

L'interface de chat

De nombreux ajouts ont également été faits comme la possibilité d'avoir un accusé de réception à l'envoi d'un message, le support du contenu enrichi (liens, formatage du texte), la synchronisation des discussions entre les clients (pour continuer sur votre ordinateur une discussion commencée sur votre mobile par exemple) ou encore la transmission et réception des états de rédaction ("en train d'écrire", "en pause").

Le but étant de systématiquement pousser le standard un peu plus loin que ce qui a été fait dans les autres clients, tout en discutant avec les autres projets basés sur XMPP pour les inviter à faire de même (tel que le projet Salut à Toi ou encore Jappix).

Au niveau des profils, Movim implémente naturellement les vCards XMPP.

La page profil

Les salons de discussion sont également de la partie, même s'ils vont être sensiblement revus par la suite (voir la suite du billet).

Les grosses différences apparaissent donc sur les fonctionnalités dites "sociales" du projet. Tout d'abord le support complet de la norme Publish-Subscribe (PubSub pour les intimes) permet à Movim d'offrir un système de flux sur les comptes des utilisateurs et de façon plus générale via la fonctionnalité que nous appelons "Groupes" et qui permet de créer des flux de discussion publics (un peu à la manière d'un forum).

Un groupe

Vous pouvez également partager avec vos contacts les différents groupes auxquels vous avez souscrit via la fonction "Groupes Publics". Tout cela est paramétrable depuis la page de Configuration de votre compte.

La gestion de groupes partagés

À part ça la version 0.8 inclut également un support expérimental de la visio-conférence via WebRTC. Pour cela nous implémentons la norme Jingle standardisée au sein de XMPP. À terme Movim devrait être capable d'initier une session multimédia avec l'ensemble des clients implémentant la norme.

L'interface générale a été pensée pour être totalement « responsive », Movim s'adaptera donc à l'écran de votre téléphone tout comme aux écrans de très grande taille (grâce à un affichage du contenu principal sur deux colonnes).

Movim 0.8, quoi de neuf ? Pour le coeur du projet

Les changements sont conséquents et touchent tant l'interface que les données en elles-mêmes. Le plus important ici étant que nous restons pleinement compatibles avec les anciennes versions de Movim ainsi que tous les autres clients XMPP. Il n'y aura donc pas de rupture de compatibilité comme nous l'avons vu pour Diapora* ou StatusNet.

Concernant le cœur du projet, de nombreux refactorings ont été faits pour mettre en conformité Movim avec les normes de codage (spécialement les normes PHP PSR). Ainsi les bibliothèques utilisées sont maintenant déclarées comme dépendances et ont été sorties du code du projet (via l'utilisation de Composer et du service Packagist). Movim utilise également la bibliothèque Monolog pour la gestion des journaux système.

Le système de traduction a été réécrit pour tenter d'éviter au maximum les erreurs de détection qui ont été rencontrées auparavant. Désormais toutes les chaînes de caractères à traduire seront placées dans des fichiers INI simplifiant par ailleurs la vie des développeurs.

La quasi-totalité des "Widgets" de Movim ont été nettoyés et réécrits vers une structure MVC plus propre. L'idée est surtout d'uniformiser leur fonctionnement en utilisant les outils offerts par le cœur de Movim (moteur de template, gestion des événements…).

Cette version accueille également une nouvelle librairie de gestion des images avec un nouveau système de génération des miniatures.

De très nombreuses optimisations ont été faites suite au traçage de l'exécution de Movim, une grande partie d'entre elles concernent l'accès (lecture et écriture) à la base de données. Certaines optimisations ont permis d'accélérer le temps de chargement des pages de plus de 50%.

La configuration a également été déplacée vers la base de données (sauf la partie concernant la base de données, vous imaginerez bien pourquoi :p).

Movim utilise maintenant la librairie SASL2 lui permettant de supporter un grand nombre de méthodes d’authentification sécurisée coté XMPP. Du travail reste à faire pour la sécurisation de l'authentification entre le navigateur et le serveur web.

L'ensemble des échanges en AJAX entre le navigateur et le serveur sont désormais structurés en JSON (contre XML auparavant) allégeant la taille des paquets et le temps de traitement des informations contenues (particulièrement coté Javascript).

La gestion des sessions a également été réécrite pour mieux contenir les erreurs de synchronisation d'identifiants rencontrées dans les précédentes versions. Appelée SessionX, celle-ci essaye d'effectuer les traitements de mise à jour des identifiants de session au plus bas niveau possible (dans notre cas dans la base de données).

Coté base de données des améliorations notables ont été apportées à Modl (la librairie de gestion de base de données propre à Movim). Des optimisations ont été faites sur la partie s'occupant d'hydrater les objets suite à une requête (en tentant de minimiser les appels). Le système SmartDB, s'occupant de mettre à jour la base de données a été également amélioré et supporte maintenant les mises à jour de type sur les colonnes (longueur et catégorie de données). Quelques bugs mineurs relatifs à MySQL ont également été corrigés.

Cette version 0.8 inclut désormais le support de la version 4 de vCard (voir XEP-0292: vCard4 Over XMPP) ainsi que la nouvelle norme de transmission des avatars basée sur le système événementiel PEP (voir XEP-0163: Personal Eventing Protocol). En gros cette nouvelle méthode permet de "pousser" les changements (mise à jour du profil, de l'avatar) vers les utilisateurs plutôt que de les forcer à requêter fréquemment des informations auprès de leurs contacts. Cela réduit considérablement le trafic et est plus en phase avec le fonctionnement général de XMPP.

Beaucoup de traductions ont été faites et je remercie tous les traducteurs pour leurs superbes travaux !

Pour l'utilisateur

Pour l'utilisateur c'est une flopée de nouvelles fonctionnalités qui arrivent avec cette version.
Comme expliqué dans la précédente section, suite à un projet fait pendant nos études nous (moi et ma copine) avons travaillé sur l'intégration de la technologie WebRTC dans Movim. Ainsi cette version offre un support expérimental de la visio-conférence via l'extension Jingle de XMPP.

L'affichage sur deux colonnes des billets permet également une utilisation optimale de la surface d'affichage sur les grands écrans.

Le support des salons de discussion a été en partie réécrit pour mieux s'intégrer à l'interface. Vous pouvez maintenant vous connecter d'un simple clic une fois le salon que vous souhaitez rejoindre listé dans vos favoris.

Les favoris

Pour les administrateurs un énorme travail de nettoyage et de simplification a été fait dans le panneau d'administration du projet. Une API a également été ajoutée permettant de très facilement lister votre serveur sur la liste des Pods officiels (l'API est disponible à cette adresse).

La page Explorer a été complètement retravaillée pour être plus lisible et accessible à tous. Vous retrouverez toujours la liste des utilisateurs ayant choisi de partager leur profil mais également les serveurs de Groupes ainsi qu'une nouvelle section appelée "What's Hot" qui liste les derniers Groupes ayant été mis à jour sur le Pod.

Lors de la publication d'un billet, vous pouvez maintenant préciser un titre.

La page de profil a été divisée en 3 onglets pour faciliter la navigation et la mise à jour des éléments.

Le chat implémente maintenant l'extension XMPP Carbons (voir XEP-0280: Message Carbons) permettant de synchroniser les discussions entre les différents clients XMPP.

Et ce sont plusieurs dizaines de bugs qui ont été corrigés afin d'unifier le comportement des éléments composant l'interface et d'améliorer la navigation de l'utilisateur.

Pour la suite

Ce que qui peut être dit c'est que ce n'est pas prêt de s'arrêter. Il y a encore énormément de fonctionnalités qui peuvent être intégrés dans Movim.

Il est question de faire fortement évoluer le cœur du projet pour le rendre encore plus dynamique et performant. Pour le moment, Movim se connecte aux serveurs XMPP via le module BOSH (permettant d'encapsuler les paquets XMPP dans des requêtes HTTP). Outre la relative lourdeur amenée par le protocole HTTP (qui, à l’origine, n'est pas fait pour du temps réel) c'est la fragilité de la session (qui est tenue coté client) qui est la plus dérangeante.

L'idée serait donc de "maintenir" les sessions coté serveur via la mise en place d'un démon et d'utiliser des Websockets pour relayer les événements. Ce système serait beaucoup plus léger à exécuter et à débugger. Un des gros avantages de cette solution serait de garder les sessions XMPP ouvertes coté serveur, même après le départ de l'utilisateur et ainsi de synchroniser efficacement tout nouveau contenu publié sur le réseau.

Le travail lié à cette nouvelle fonctionnalité est conséquent. C'est pourquoi une partie de l'argent récolté par la petite levée de fonds que nous préparons sera investie dans le temps consacré au développement.

Une autre fonctionnalité majeure est également en préparation pour la prochaine version. C'est l'intégration d'une puissante interface de messagerie. Nous souhaiterions offrir une interface similaire aux webmails existants mais en exploitant les nombreuses fonctionnalités offertes par XMPP pour parvenir à nos fins (gestion de l'historique, messages différés, mise en copie d'un message…). Cette fonctionnalité mêlera également la fonctionnalité chat traditionnelle déjà implémentée qui sera retravaillée pour être intégrée au sein de la "messagerie type mail".

Deux autres fonctionnalités sont également prévues pour la version 0.9.

Nous souhaiterions intégrer le support du protocole OTR au sein de l'interface de Chat pour rattraper notre retard sur le chiffrement de bout en bout.

Finalement, un nouvel onglet apparaitra dans l'interface de configuration et permettra la gestion des comptes externes afin de les lier au compte XMPP (en passant par les modules de transport proposés par le serveur de l'utilisateur).

Levée de fonds

Contrairement aux précédentes versions, celle-ci sera accompagnée d'une levée de fonds sur Kickstarter. Cette levée servira essentiellement à assurer le fond de roulement du projet dont principalement :
- L'achat et/ou la location de serveurs permettant d'assurer l'hébergement de notre infrastructure (rassurez-vous on a pas besoin d'un datacenter)
- Quelques goodies pour la promotion lorsqu'on fait des rencontres salons (stickers, T-shirts, kakémono…)
- Le remboursement d'une partie des frais lors des déplacements vers ces mêmes événements.

Je ne souhaite pas partir sur une version commerciale du projet ni monter de structure autour de celui-ci pour le moment. Movim est un logiciel libre vivant grâce au temps qu'on consacre à son élaboration et sa promotion, rien d'autre. Cet argent sera donc gardé précieusement pour m'éviter d'apporter de ma poche tout ce qui est nécessaire pour son développement.

J'essayerai d'être le plus transparent possible sur les dépenses qui seront faites avec cet argent, au vue des projets de même envergure sur Kickstarter le montant demandé sera de l'ordre de la dizaine de milliers d'euros, bien sûr plus grand sera le montant plus longtemps le projet sera financé :).

Super bonus - Mise à jour de la 0.7

Si vous avez déployé la version 0.7 de Movim sur votre serveur, la mise à jour vers la version 0.8 ne devrait pas être très difficile. Je vous conseille tout de même de faire une copie de la base de données si possible avant toute manipulation.

Afin de partir sur une base propre je vous conseille de déployer la 0.8 dans un dossier à part et de copier le dossier users/ de la 0.7, Movim s'occupera de recréer le cache ainsi que toutes les miniatures.

La configuration est désormais enregistrée directement dans la base de données vous n'aurez donc qu'à renseigner les identifiants de connexion au serveur MySQL ou PostgreSQL en copiant et renommant le fichier db.example.inc.php en db.inc.php et complétant son contenu.

En passant alors par l'interface d'administration (dont les identifiants sont, par défaut, 'admin' et 'password') vous aurez la possibilité de mettre à jour votre base de données et de configurer correctement votre serveur.

N'hésitez pas à vous enregistrer sur l'API de Movim si vous souhaitez être listé sur la liste des pods officiels (une vérification manuelle est systématiquement faite pour éviter les abus).

That's all folks !

Télécharger ce contenu au format Epub

Lire les commentaires

Atelier Diaporamas IMPRESS

Vendredi 12 Septembre

Dans le cadre de ses formations bi-mensuelles, l'association StarinuX a le plaisir de vous convier à l'atelier :

Diaporamas et présentations IMPRESS avec le logiciel bureautique LIBRE OFFICE

QUAND : le samedi 18 octobre 2014 de 9h à 18h

LIEU : 16 rue Madiraa 92400 Courbevoie, 100 m de la gare de Bécon les Bruyères, (qui est à 7 min de la gare Saint Lazare), 3 min de la Défense (SNCF).

Description :
Apprenez à réaliser des présentations sophistiquées, abandonnez la bureautique M$-Office, pour le DIAPORAMA Libre LIBREOFFICE.
Un atelier très concret et pratique, animé par Ghislaine Royer (consultante, impliquée dans le logiciel libre).
Les niveaux 2 et 3 seront réalisés selon le niveau des participants (veuillez l'indiquer lors de votre pré-inscription dans le champ "commentaires").

Présentation : www.starinux.org/presentation-impress.pdf

Infos et pré-inscription : www.starinux.org/ateliers-sx.php

Email événementiel : events@starinux.org

Précision : comme à l'accoutumée une participation de 20 Euro ANNUELLE est demandée (10 Euro demandeurs d'emploi). Elle est valable pour plus de 18 ateliers.

Télécharger ce contenu au format Epub

Lire les commentaires

FusionDirectory 1.0.8.1 est sorti !

Jeudi 11 Septembre

L’équipe de FusionDirectory est heureuse de vous annoncer la publication de la version 1.0.8.1 de FusionDirectory. Pour ceux qui ne connaissent pas FusionDirectory, il s’agit d’un gestionnaire d’infrastructure. Il est à LDAP ce que Webmin pouvait être à NIS/NIS+ : une interface Web modulaire de gestion complète d’un annuaire LDAP. Sa modularité permet d’offrir aussi la gestion de services qui ne sont pas directement interopérables avec LDAP.

La version 1.0.8.1 est une version de maintenance avec des correctifs importants et une nouvelle fonctionnalité pour faciliter les mises à jour.

Pour ceux qui sont encore en 1.0.7.x et ne peuvent migrer en 1.0.8.1 nous avons aussi sorti une version de maintenance 1.0.7.5 avec quelques correctifs.

Correctifs principaux

  • les tabs, même inactifs, peuvent être vus même s'ils sont en mode non éditable ;
  • le login fonctionnait avec des mots de passe expirés si on changeait l'URL lors de la connexion ;
  • le mot de passe est caché lors de l’affichage d'un message d'erreur lors de l'utilisation d'un script avec le change_password postmodify hook ;
  • le plugin ssh accepte les options dans la clef ;
  • des corrections sur le support CSS3 ;
  • correction de la gestion des ACL lorsque l'on est connecté comme administrateur.

Correctifs mineurs

  • amélioration des nettoyages des résultats de mcrypt_decrypt() ;
  • Apache2.4 ne permet plus les soulignés dans les variables request header ;
  • ajout d'une page de man pour fusiondirectory-shell ;
  • utilisation de chemins relatifs pour geticon afin de permettre de stocker FusionDirectory dans n'importe quel répertoire (et pas seulement fusiondirectory).

Nouvelles fonctionnalités

  • fusiondirectory-setup –list-deprecated liste les attributs et les objectClass obsolètes pour FusionDirectory ;
  • fusiondirectory-setup –check-deprecated génère un fichier LDIF des attributs et Objectclass obsolètes prêt à être appliqué sur un annuaire LDAP.
Télécharger ce contenu au format Epub

Lire les commentaires

3 prix « Licence libre en Pays dignois » pour le concours photo « Photographie ta Ville »

Mercredi 10 Septembre

La Ville de Digne-les-Bains et le Conseil de développement du Pays dignois organisent un concours photo : « Photographie ta Ville » en Pays dignois. Axé sur le patrimoine au sens large (patrimoine bâti, patrimoine naturel…), ce concours est réservé aux amateurs.

Dans la continuité des ateliers « Dessine ta ville », la collectivité souhaite encourager les participants à partager de plus en plus de ressources sous licence libre. Des flyers réalisés par l'April sont distribués pour sensibiliser les citoyens en répondant aux questions suivantes : Pourquoi adopter des licences libres ? Pourquoi autoriser les versions modifiées ? Qu'est-ce que le copyleft ? Comment mettre en œuvre une licence ?

3 prix « Licence libre en Pays dignois » viendront récompenser ceux qui choisiront les licences Creative Commons BY, Creative Commons BY-SA, Art libre ou toute licence équivalente.

Les photographies sous licence Creative Commons BY-SA des monuments historiques seront téléversées sur Wikimedia Commons dans le cadre du concours photo mondial « Wiki loves Monuments ». Une sélection des photographies sera imprimée et mise en valeur au travers d’une exposition.

Le règlement du concours, la fiche d’inscription et l'affiche sont téléchargeables sur le site de la ville.

Rejoignez-nous, la participation est libre !

Télécharger ce contenu au format Epub

Lire les commentaires

19/09 - Nantes - Rencontres Régionales du Logiciel Libre pour les secteurs public et privé

Mercredi 10 Septembre

Après le succès de la première édition, les Rencontres Régionales du Logiciel Libre et du secteur public reviennent cette année à Nantes en s'ouvrant au secteur privé.

Retrouvez-nous le 19 septembre 2014 au Centre des Expositions de Nantes Métropole (2 cours du Champs de Mars) pour découvrir le monde des TIC libres et Open Source au travers de deux conférences et trois tables rondes :

  • « Le Libre et Mozilla : pourquoi ? comment ? »
  • « Qui fait le logiciel libre ? »
  • « Le libre, la clé de voûte de votre SI »
  • « La conduite du changement : quelles sont les clés pour passer au Libre ? »
  • « Le Libre comme facteur de succès des ERP dans les organisations »

Vous pourrez retrouver notamment Francky Trichet (Nantes Métropole), Stéphane Dumond et Cyril Cuvillier (Service des technologies et des systèmes d'information de la sécurité intérieure), Patrice Bertrand (CNLL), Alexis Metaireau (Mozilla), Bruno Marrand (MACIF), Nicolas Kaiser (groupe Convenant), Benjamin Jean (Inno3), Damien Raude-Morvan (Dictanova et Debian), Olivier Jousselin (Solago), Mickael Nelson, etc.

Entrée gratuite, inscription obligatoire (nombre de places limité).

Ces rencontres s'adressent aussi bien aux services informatiques qu'aux directions métiers qui trouveront des réponses à leurs problématiques techniques et besoins fonctionnels. Les RRLL sont ainsi l'occasion de rencontrer des administrations, collectivités, industries et entreprises ayant déployé des solutions libres ainsi que les prestataires locaux.

Les Rencontres Régionales du Logiciel Libre sont une série d'évènements dans toute la France organisés sous l'égide du Conseil National du Logiciel Libre (CNLL). Les RRLL de Nantes sont inscrites dans le cadre de la Nantes Digital Week sous la supervision de Nantes Métropole.

Télécharger ce contenu au format Epub

Lire les commentaires

Design et Game Design Libre

Mercredi 10 Septembre

Alors que la première promo de graphistes élevés 100% aux logiciels libres au sein d'ActivDesign vient de se terminer en juin, la rentrée pour l'année à venir se prépare.
Les inscriptions sont encore ouvertes en game design, intégration web, illustration 2D et 3D, et édition électronique.
Le nombre de personnes retenues est limité à huit par promo.

Pour rappel, ActivDesign est un centre de formation professionnel situé à Rennes, monté par des graphistes utilisant du logiciel libre et aussi membres de l'Association Francophone des Graphistes Libres (AFGRAL). Les formateurs contribuent à divers logiciels de graphisme dont Scribus, Inkscape, Krita, Blender, …
Les formations sont ouvertes à toute personne sans prérequis de diplôme. Les étudiants-stagiaires ont, l'an passé, contribué à Doudoulinux, Flossmanuals et divers projets de moindre envergure.

Cette année, suite à une demande croissante, des formations à distance sont ouvertes.

Télécharger ce contenu au format Epub

Lire les commentaires

Libérez vos mises à jour avec UpdatEngine 2.1.0!

Mercredi 10 Septembre

Après un an d'existence et quelques versions intermédiaires, une nouvelle version du logiciel de déploiement automatisé UpdatEngine a été publiée la semaine dernière.
Aussi, je profite de cette nouvelle version pour venir faire un point d'étape auprès de vous ;)

Sommaire Mais UpdatEngine c'est quoi?

En bref et pour vous éviter de lire l'article de l'année passée, voici un résumé rapide:
UpdatEngine est une solution client/serveur disposant d'une interface web simple et efficace pour vous permettre d'administrer les mises à jour logicielles de vos postes clients. La partie web repose sur des développements autour du Framework Django.


Note: Cette capture, comme les suivantes provient d'une base de "benchmark" où les enregistrements peuvent présenter des incohérences (modèle / type de machine)

Sur les postes clients sont installés des clients qui remontent à intervalles réguliers les inventaires matériels et logiciels des postes. Ceux-ci exécutent par la même occasion les tâches de déploiement préparées sur le serveur UpdatEngine:

Depuis le début, la philosophie du projet vise à faciliter la prise en main du logiciel tout en proposant des fonctionnalités avancées :

  • Profils logiciels avec héritage;
  • Horaires de déploiement;
  • Conditions d'installations;
  • Import/export de paquets;
  • Classement par entités;
  • Profils logiciels et profils horaires par défaut;
  • Wake On Lan etc…

Concernant la partie serveur, celui-ci fonctionne avec tout serveur web (Apache2/Nginx) et tout moteur de base de données (MySQL, PostgreSQL, etc.) supportés par le framework Django. Le client, lui, fonctionne sur tout poste Windows (XP/vista/7/8) ou Linux (pas tout testé, loin de là, mais Debian, Ubuntu, Centos, Fedora ne posent pas de soucis ;) ).

Le projet est publié sous Licence GPL V2 et les sources sont accessibles directement sur GitHub.

Quelles sont les nouveautés de cette version? Groupes par défaut et "habilitations":

Cette nouvelle version introduit tout d'abord trois groupes d'utilisateurs par défaut permettant de paramétrer plus facilement les droits des administrateurs du parc informatique tout en les cloisonnant sur les seules entités sur lesquelles ils doivent avoir des droits (services / divisions / sites). Cette notion d'habilitation permet d'imaginer des organisations plus complexes répondant aux besoins de parcs plus étendus qu'auparavant :
Vous pouvez par exemple imaginer des administrateurs préparant des paquets de déploiement qui seront déployés localement par des équipes support. De plus les paquets préparés peuvent être rendus disponibles à tout ou partie des entités constituant votre parc.

Propriétaires et éditeurs exclusifs

Maintenant, les paquets de déploiement, les profils de déploiements, les profils horaires et les tâches de Wake On Lan possèdent une notion de propriétaire et d'autorisation en édition.

Vous pouvez ainsi créer et interdire leur édition par les autres administrateurs (sauf super-utilisateur, faut pas pousser ;) ) ou au contraire autoriser leurs modifications.

Vous pouvez aussi choisir d'ignorer totalement ces possibilités sans "gêne ou lourdeur" par rapport à la version précédente: l’objectif est de ne pas compliquer la tâche de ceux qui souhaite rester sur un fonctionnement « simple ».

Serveurs de rebond

Vous pouvez facilement créer des serveurs de rebond permettant de diminuer la consommation de bande passante sur votre réseau. Il suffit pour cela de :

  • Configurer un miroir de vos paquets sur un serveur web (rsync par exemple)
  • D'indiquer dans le paramétrage de l'entité l'adresse du serveur

Automatiquement et sans autre action, les postes classés dans cette entité iront télécharger les paquets sur le serveur de rebond paramétré (avec contrôle par rapport au serveur principal).

Ajouts de nouveaux filtres et modifications dans l'interface

Les différentes vues (machines, paquets, conditions etc…) possèdent de nouveaux filtres permettant d'afficher et trier plus rapidement les éléments de l'interface. On peut noter par exemple les nouveaux filtres suivants :

  • Filtre sur les commentaires dans la vue machine
  • Filtre sur l’architecture des machines: 32 ou 64 bits.
  • Filtre sur les entités récursif: le choix d’une entité affiche maintenant les postes de celles-ci et des entités « enfants ».
  • Filtre sur vos objets (paquets, conditions, profils etc…): pour n’afficher que les objets dont vous êtes le dernier éditeur.

L'interface se voit aussi légèrement améliorée (logo, bandeau supérieur) et des modifications plus subtiles se cachent ici et là (tri, ordre des colonnes par défaut etc…).

Qui l'utilise aujourd'hui?

Aujourd'hui, tout type de parc informatique utilise la solution. C'était un des premiers objectifs et celui-ci semble atteint: Le plus petit parc géré compte 5 postes et le plus important plus de 4000 (entre ces deux extrêmes il y a toutes les tailles ;) ).
Plus de 150 serveurs (identifiés par vos remontées notamment, merci!) tournent aujourd'hui que ce soit dans des collectivités territoriales, des associations, des PME/PMI, dans l'industrie, l'administration etc.
C'est moins que d'autres solutions, mais la bascule de certains parcs vers la solution UpdatEngine prouve que l’intérêt est là.

Quel avenir?

La roadmap de la prochaine version n'est pas figée mais seront intégrées en priorité les fonctionnalités suivantes :

  • Multi-profils: pour pouvoir affecter plusieurs profils logiciels ou plusieurs profils horaires aux machines;
  • Authentification LDAP: pour pouvoir baser l'authentification des utilisateurs sur un annuaire LDAP plutôt que sur l'authentification interne de l'application (déjà fonctionnel mais non publié dans cette version).

Aussi, un projet de dépôt de paquets préparés par la communauté est en cours de préparation. Bref, les idées ne manquent pas et j'espère pouvoir revenir ici avec d'autres annonces d'ici quelques temps.

Si vous souhaitez découvrir le projet, le site UpdatEngine et le forum sont là pour vous!

J'en profite enfin pour remercier la communauté des utilisateurs et testeurs qui permet de faire avancer pas à pas la solution.

Au plaisir,
Yves

Télécharger ce contenu au format Epub

Lire les commentaires

La X.Org Developer Conference 2014 à Bordeaux

Mercredi 10 Septembre

Du 8 au 10 octobre 2014, la conférence internationale des développeurs de la pile graphique libre se déroulera au Laboratoire Bordelais de Recherche en Informatique (LaBRI), sur le campus de l'université de Bordeaux 1.

Cette conférence traitera de la pile graphique Linux, du matériel jusqu'à l'accélération graphique, vidéo et calculs avec des projets comme Linux/DRM, X-Server, Wayland, Mesa ou la libinput.

BSD ne sera pas non plus en reste avec une présentation prévue pour FreeBSD et des développeurs Open et DragonFlyBSD dans la salle (et qui vont possiblement aussi préparer une présentation).

La conférence est gratuite et ouverte à tous. Venez assister à la conférence !

Cette nouvelle édition de l'XDC 2014 sera l'occasion de faire le point sur les développements de l'année écoulée, mais aussi d'entendre les étudiants du Google Summer of Code (GSoC) et des étudiants de l'Endless Vacation of Code (EVoC) présenter leurs projets de cet été.

C'est la deuxième fois que la conférence se déroule en France. La dernière fois, c'était à Toulouse en 2010. Profitez-en donc pour venir et rencontrer les personnes derrière les évolutions actuelles de la pile graphique et avoir un aperçu du mode de développement utilisé dans les différents projets sponsorisés par la Fondation X.Org.

La conférence est, comme d'habitude, sponsorisée par la Fondation X.Org mais également par le LaBRI qui met à disposition un amphithéâtre et l'équipe de Debian France qui nous prête son matériel vidéo pour enregistrer les présentations et possiblement les diffuser en temps réel.

Une sortie à Saint Emilion est ensuite prévue le samedi 11 octobre pour visiter à pied ou vélo la ville et les vignobles alentours.

Télécharger ce contenu au format Epub

Lire les commentaires

Venez découvrir OpenStack mercredi 17 septembre à Paris

Mercredi 10 Septembre

L'association des utilisateurs francophones d'OpenStack organise une rencontre mercredi 17 septembre autour de trois conférences. À l'occasion de ce dixième meetup OpenStack parisien, nous reviendrons sur les bases permettant d'appréhender au mieux ce projet d'IaaS (Infrastructure as a Service) libre.

Vous êtes administrateur système, développeur, décideur, et vous vous posez des questions sur le rôle et le fonctionnement d'OpenStack ? Nous tenterons de répondre à ces quelques questions :

  • Quels besoins couvre OpenStack ?
  • Quels sont les différents composants ? Comment fonctionnent-ils ?
  • Comment tirer partie d'une technologie cloud ?

L'événement aura lieu dans les locaux de Mozilla à Paris à partir de 19h avec 3 présentations de 30 minutes chacune, suivies par un cocktail dinatoire aux alentours de 21h.
Une retransmission en direct sera effectuée et les questions du public à distance seront relayées par IRC.

Programme
  • 18h45 : Accueil
  • 19h00 : Introduction de l'association OpenStack-fr et de Mozilla qui nous accueille
  • 19h10 : OpenStack et le cloud, démystification par Thierry CARREZ
  • 19h40 : OpenStack dans la pratique, démonstration par Adrien CUNIN
  • 20h10 : Sponsor Runabove : Monter un projet sur OpenStack, par Vincent CASSE et Jean-Daniel BONNETOT
  • 20h20 : Un composant d'OpenStack à la loupe, intervenant à définir
  • 20h50 : Cocktail dinatoire
Sponsors

Merci à nos sponsors : Runabove (http://www.runabove.com/) fournit le cocktail dinatoire et Mozilla (https://www.mozilla.org/fr/) qui nous héberge dans ses locaux.

Intervenants

Thierry CARREZ
Directeur de l'Ingénierie de la Fondation OpenStack

Je travaille sur le projet OpenStack depuis sa création en tant que Release Manager, coordonnant l'effort de developpement et facilitant la collaboration entre les contributeurs. J'ai aussi été élu président du Comité Technique, en charge de la direction technique du projet.

Adrien CUNIN
Ingénieur Cloud Computing, Osones, Trésorier de l'association OpenStack-Fr

Libriste depuis de nombreuses années, développeur Ubuntu et contributeur Debian, je travaille dans le monde du cloud et d'OpenStack depuis 2010 tout en étant très impliqué dans les communautés. J'applique mes compétences d'administrateur système cloud chez Osones notamment pour accompagner nos clients utilisateurs d'OpenStack.

Participation et retransmission en direct

L'inscription est obligatoire pour assister au meetup qui se tient dans les locaux de Mozilla à Paris. Les places sont limitées.

Adresse

Mozilla
16 Bis Boulevard Montmartre
Paris 75009
France

Si vous ne pouvez pas vous rendre sur place ou si les inscriptions sont complètes : suivez directement le live sur https://air.mozilla.org. Connectez-vous et intervenez sur le salon IRC #openstack-fr sur Freenode.

Télécharger ce contenu au format Epub

Lire les commentaires

Présentation et Installation Emmabuntüs et Logiciels Libres - Septembre 2014 Montpellier-Saint-Aunès

Mercredi 10 Septembre

Samedi 13 septembre 2014 de 14h00 à 17h30
Communauté Emmaüs Montpellier-Saint-Aunès
La Vieille Cadoule 34130 Saint-Aunès
GPS Latitude : 43.649363 | Longitude : 3.991591

Rendez-vous le deuxième samedi de chaque mois.

L’équipe de Montpel’libre vous donne rendez-vous chez Emmaüs pour une journée d’information et de sensibilisation à l’utilisation des Logiciels Libres. Nous vous présenterons Ubuntu et bien sûr l’une de ses dérivées Emmabuntüs.

Pourquoi venir ?

Vous désirez un ordinateur à votre service ?
Vous désirez un ordinateur qui va vite ?
Vous désirez un ordinateur qui ne communique aucune données à des inconnus ?
Vous désirez un ordinateur qui n’a pas besoin d’antivirus ?

Vous rencontrerez des personnes qui sont là pour vous parler de Logiciels Libres.
Vous pourrez aussi acheter des ordinateurs déjà installés prêt à être utilisés.

Comment venir ?

Un covoiturage est organisé au départ de la rue du Faubourg de Nîmes à 11h00.

Télécharger ce contenu au format Epub

Lire les commentaires

ConFoo: La conférence pour les développeurs web est à la recherche de conférenciers.

Mardi 9 Septembre


ConFoo est à la recherche de professionnels du web avec une connaissance approfondie du développement avec PHP, Python, Ruby, Java, DotNet, HTML5, Databases, Cloud et le dévelopement mobile souhaitant partager leurs connaissances et expériences lors du prochain ConFoo. Soumettez vos propositions entre le 25 août et le 22 septembre.

  • ConFoo 2015 se déroulera du 18 au 20 février à Montréal, à l’Hôtel Hilton Bonaventure.
  • Nous prenons grand soin de nos conférenciers en couvrant la majorité des dépenses incluant le déplacement, l’hébergement, le lunch, le billet complet de la conférence, etc.
  • Les présentations sont d’une durée de 35min + 10min de questions et peuvent être tant en français qu'en anglais.
  • ConFoo est un environnement ouvert où tout le monde est invité à soumettre. Vous êtes qualifié et amical? Joignez-vous à nous!

Si vous voulez simplement assister à la conférence, nous avons un rabais de 290$ en vigueur jusqu’au 13 octobre.

Télécharger ce contenu au format Epub

Lire les commentaires

Je crée mon jeu vidéo E13 : un an, premier bilan

Mardi 9 Septembre
A débloquer le 16 septembre

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

Dans l'épisode 12, on a parlé des interfaces graphiques et physiques. Dans cet épisode anniversaire, on va faire un premier bilan global de l'état du jeu. Et on discutera aussi d'autres événements liés aux jeux vidéos et qui me concernent et en quoi ça peut aider Akagoria.

Sommaire Akagoria au bout d'un an

Il y a un an le 16 septembre 2013 était publié le premier épisode de cette série. Et même si Akagoria est né sans doute un peu avant, on peut considérer que sa date de naissance est bien ce premier épisode. Bon, ok, j'ai releasé early, mais pas très often il faut bien l'avouer. Au départ, je me suis donné deux à trois ans pour mener à bien cette aventure. Un an s'est déjà écoulé et je pensais que j'aurais avancé plus que ça. Donc, on va dire plutôt trois ans.

Les réussites

Dans ce qui a bien fonctionné, il y a tout d'abord ces épisodes. Douze épisodes ont été publiés de manière irrégulière mais cela me force à avancer, c'est un motivateur assez puissant. Ils me permettent de partager mes trouvailles, mais aussi de mettre de l'ordre dans mes pensées et de les concrétiser quand il le faut. Et c'est important parce qu'entre une idée dans un TODO et sa réalisation, il y a souvent un delta non négligeable et ça peut prendre plus de temps que prévu. En plus, ces épisodes me permettent de me poser la question : quelle est la prochaine étape ? J'ai à peu près toujours un ou deux épisodes en tête pour le futur quand je publie un nouvel épisode. Là par exemple, je sais ce que sera le prochain, et je sais ce qu'il me reste à faire pour qu'il puisse sortir. Yapluka. Voici donc la liste des douze épisodes pour ceux qui veulent faire du replay :

Je me suis permis de faire quelques statistiques sur ces épisodes. Sur le graphique suivant, on peut voir le nombre de pertinentages et le nombre de commentaires pour chaque épisode. On voit qu'il n'y a pas vraiment de corrélation entre les deux. Les moyennes sont respectivement de 50 et 51 mais cachent en fait de grandes disparités avec quelques épisodes qui font beaucoup monter la moyenne. La leçon de ces chiffres, c'est que ces épisodes vous plaisent et que vous y êtes fidèles.

L'autre réussite de cette première année, c'est d'avoir publié pas mal de code. Je n'avais jamais vraiment publié de code publiquement auparavant et montrer son code au monde entier, ça force vraiment à faire les choses à peu près bien, à mettre de la doc, etc. Je suis plutôt satisfait d'avoir réussi à produire ces codes-sources là. Bien sûr, ils sont perfectibles mais ils permettent déjà d'avoir quelques briques de base. Les bibliothèques notamment sont largement réutilisables par d'autres jeux. Voici les bouts de code produits :

  • libes, une bibliothèque pour gérer les systèmes à entités. Cette bibliothèque se stabilise doucement mais sûrement
  • libtmx, une bibliothèque pour lire le format TMX de Tiled. Cette bibliothèque est plutôt stable pour l'instant (en attendant les évolutions du format lors de la prochaine sortie de Tiled).
  • libsuit, une bibliothèque d'entrées physiques et de widgets. Cette bibliothèque est encore en développement et va suivre les besoins du jeu au fur et à mesure.
  • MapMaker, un logiciel de création de carte d'altitude. La partie commune est stable mais la partie spécifique à Akagoria est encore en développement. Je ne suis pas encore satisfait de la manière de construire la carte primitive.
  • SlowTree, un logiciel de génération procédurale de sprite en vue de haut. Ce logiciel est encore en développement, je veux continuer à explorer certaines pistes pour certains types de sprites.

J'en profite pour remercier tous les contributeurs occasionnels à ces projets et particulièrement Sébastion Rombauts qui a contribué à libes et à MapMaker grâce à de nombreux patchs. Grâce à lui, vous aurez une version sans bug du bruit à base de simplexe dont on avait parlé dans l'épisode 10 et qui avait manifestement un bug.

Les difficultés

Dans le moins bon, je n'ai sans doute pas avancé autant que je l'espérais au départ. Dans ma tête, j'étais parti sur un planning de deux ans avec un développement important du code la première année, et un développement du reste ensuite (scénario, dialogues, sprites, musiques, etc). Or, le code est très très loin d'être opérationnel pour commencer à développer activement le reste.

Comment expliquer ce retard ? Tout d'abord, le temps est une denrée très aléatoire quand on développe un jeu amateur. À l'automne dernier, j'ai eu pas mal de temps libre et donc j'en ai beaucoup profité pour avancer sur plein de fronts. Mais à partir de début 2014, j'ai baissé le rythme drastiquement, en partie à cause d'une activité professionnelle plus prenante (y compris sur mes week-ends), en partie parce que j'ai fait un peu de hors pistes en allant explorer des choses complètement inutiles pour mon jeu. Je voyais le temps défiler et j'étais dans l'incapacité d'avancer convenablement. C'était très frustrant.

Retour sur les choix techniques

Au bout d'un an, il est temps de revenir sur les choix techniques faits au départ pour se demander s'ils sont pertinents.

Commençons par le plus simple. Il y a des choix que je ne regrette pas : SFML, Box2D, TMX. Ces trois technologies sont très efficaces et répondent bien au besoin d'un jeu amateur. SFML est une excellente abstraction et, même si on aimerait qu'elle soit un peu plus complète, j'apprécie sa simplicité et sa documentation riche et utile. Box2D est également une excellente bibliothèque, assez simple à prendre en main. On arrive à faire ce qu'on veut, même si parfois on se demande si la manière dont on procède est bien la bonne manière de faire. TMX enfin, avec son éditeur Tiled, est un format qui me donne vraiment entière satisfaction. Sa généricité n'empêche pas qu'on puisse le spécialiser comme on le souhaite via son système de propriétés. En fait, le plus difficile dans ces trois choix est de les faire cohabiter intelligemment.

Finissons par le choix d'utiliser les systèmes à entités. Là, je dois dire qu'au bout d'un an, je reste perplexe. D'un côté, je vois bien que théoriquement, ce paradigme n'offre que des avantages (en particulier dans le style de jeu que je vise). D'un autre côté, dans la pratique, c'est assez complexe. Ce qui est dur, c'est de bien délimiter les systèmes en fonctionnalités et de choisir les bons composants. Qu'est-ce qui relève de l'état du jeu, qu'est-ce qui relève de données statiques ? La frontière est mince et mouvante. Ce qui serait simple, ce serait d'avoir déjà l'ensemble des systèmes et l'ensemble des composants. Construire les bons systèmes et les bons composants quand on part de zéro et qu'on n'a quasiment aucun modèle, c'est très compliqué. Je pense que j'aurais été beaucoup plus vite pour développer mon jeu avec un paradigme objet plus traditionnel. Mais je pense que je vais rester sur les systèmes à entités pour aller jusqu'au bout de l'expérimentation et contruire un jeu complet avec ce paradigme.

Perspectives

Quelles sont les perspectives ? Tout d'abord, il faut que j'arrive à finir le code (ou en tout cas une partie suffisamment importante du code) pour commencer le contenu du jeu. Je pense que je vais passer en mode sale pour le code qui reste à faire. Comprendre par là que je préfère avoir un code qui marche mais pas tout à fait nickel plutôt que d'essayer à tout prix d'avoir un code propre et bien pensé. En un mot : fonctionnalités plutôt que réutilisabilité. J'espère que dans un an, pour le deuxième anniversaire, on y sera.

L'autre point important, c'est d'avancer sur les sprites. Pour l'instant, Naha m'en a fait quelques uns qui sont plutôt réussis. Il va falloir continuer et sans doute accélérer un peu le rythme parce qu'il manque encore beaucoup de choses à ce niveau. J'aimerais pouvoir générer tout un tas de choses sur la carte primitive et qu'on puisse la modifier facilement sans devoir passer du temps à des tâches répétitives. Par exemple, pour définir une forêt, il est plus simple de tenter de la générer (éventuellement en guidant cette génération) plutôt que de placer les arbres un à un.

Ma première GameJam

J'ai participé à ma première game jam au début de l'été. C'était un moment fort enrichissant à plusieurs niveaux. Pour ceux qui ne savent pas ce qu'est une game jam, c'est une sorte de concours en temps limité où le but est de développer un jeu.

Cette game jam, baptisée Game Cancoillote, et organisée par deux de mes étudiants, s'est déroulé fin juin sur un week-end, dans les locaux de l'Université de Franche-Comté. Ils avaient bien fait les choses, on avait une grande salle pour toutes les équipes, et bien sûr à manger et à boire, ce qui a favorisé une excellente ambiance !

Il y avait cinq équipes qui ont utilisé des technologies très différentes. Une équipe a utilisé GameMaker, une autre Java, une autre HTML5/JS, une autre un moteur de jeu propriétaire, et la dernière, la mienne, a utilisé ce bon vieux couple C++/SFML. Même au niveau des concepts de jeu, il y a eu quelques surprises. Celui que j'ai préféré était l'équipe HTML5/JS qui a fait un jeu d'aventure en pointer-et-cliquer. Ils ont imaginé un scénario par rapport au thème de la game jam et ont utilisé l'université comme décor. Ils ont pris des photos panoramiques de divers endroits, ils ont aussi utilisé certaines vues de Google Maps (ouais, problème de copyright toussa). Et ensuite, ils ont incrusté un personnage en dessin. Et bien ça rend plutôt bien.

Pour ma part, j'étais dans une équipe composée de cinq personnes : trois étudiants (la major d'une spécialité de Master, le major et le second de licence 3) et deux profs (une collègue et moi-même). Sur le papier, une très bonne équipe. Deux des étudiants avaient déjà fait un jeu (dont un en projet semestriel avec moi), mais ma collègue était une novice complète. On avait déjà réfléchi à une idée globale de jeu avant la game jam tout en sachant que nous allions devoir nous adapter au thème (non-connu à l'avance) de la game jam. Notre idée était de partir sur le principe de pierre-feuille-ciseaux avec trois machins qui lutteraient les uns contre les autres.

Ce qui est bien, c'est que l'adaptation a été simple. Le thème de la game jam était une équation qui disait en gros qu'il fallait qu'il y ait de la physique dans le jeu et qu'il ne devait pas y avoir de gagnant dans le jeu. Nous avons alors imaginé qu'on pouvait avoir un jeu solo (donc pas de gagnant) où on contrôle une boule représentant une des trois entités et qu'on serait au milieu d'une sorte d'arène en train d'éviter ou de chasser les boules des autres entités qui arriveraient au hasard. Chaque rencontre donnerait lieu à une collision et une réaction : la disparition d'une boule en cas d'entités différentes. Et pour le fun, on a pris une variante japonaise : le guerrier, le tigre et la mère du guerrier. Voilà à quoi ça ressemble :

Au final, ce n'est pas si mal que ça pour le temps imparti. Nous n'avons pas eu trop de difficultés. Nous avons utilisé Box2D pour la physique (même si on aurait pu développer le moteur physique nous-même dans ce cas simple). Les avatars de chaque camp utilisent des photos prises dans la grande toile et j'aimerais bien les modifier pour pouvoir publier le jeu correctement sans avoir de problème de copyright. En revanche, l'illustration en bas à droite est l'œuvre d'une graphiste présente à la gam jam et qui a fait quelques dessins pour toutes les équipes (elle était très demandée).

Pour la beauté du geste, on a même fait un écran d'accueil avec cette même illustration.

Au niveau du nom, nous n'avons pas été très originaux. Une fois que tout sera d'aplomb niveau copyright, j'essaierai d'imaginer un nouveau nom (ou si vous avez des idées, n'hésitez pas à les partager en commentaire).

Un club de développement de jeu vidéo

La grosse nouveauté pour moi cette année, c'est que je lance dans mon université un club de développement de jeux vidéo. Je l'ai baptisé Dead Pixels Society. L'idée est de faire un jeu vidéo sur l'année universitaire avec une équipe d'une dizaine d'étudiants (pas forcément uniquement des informaticiens d'ailleurs) de tous niveaux.

Je ne sais pas ce que ça peut donner, mais j'ai des étudiants déjà très motivés par cette idée. Évidemment, j'espère aussi initier des étudiants complètement novices aux arcanes du développement d'un jeu vidéo. Pour cela, j'ai réalisé quelques fiches sur des aspects techniques basiques d'un jeu vidéo : la boucle de jeu, les systèmes de coordonnées 2D, les couleurs et la transparence, les sprites et animations, les moteurs physiques, etc. L'idée est de faire passer quelques concepts sans entrer dans les détails et sans s'attacher à une technologie en particulier. J'ai encore quelques idées de fiches mais je crois avoir brossé une bonne partie du sujet. Si vous avez des suggestions, n'hésitez pas à m'en faire part en commentaire.

J'aurai sans doute l'occasion de revenir sur les activités de ce club au cours des prochains épisodes ou dans des journaux. Si nous arrivons à enrichir le paysage des jeux libres d'un nouveau jeu par an, je me dis qu'on aura réussi quelque chose de bien. Cette activité parallèle à Akagoria va aussi sans doute me permettre d'avancer sur mon propre jeu. Outre le fait que j'ai maintenant un créneau fixe chaque semaine consacré au développement de jeux vidéo, il y a aussi les idées (et les bouts de code) qui peuvent émerger dans un autre jeu et dont je pourrai me resservir.

Télécharger ce contenu au format Epub

Lire les commentaires

Sortie de PHP 5.6

Mardi 9 Septembre

Ultime version de la branche 5.x, PHP 5.6.0 apporte quelques possibilités de développement, un débogueur interactif et corrige quelques 150 bogues.

Les principales nouveautés sont :

  • Les expressions de constantes scalaires
  • Fonctions à nombre d'arguments variable ainsi que l'opérateur ... pour empaqueter/dés-empaqueter les arguments
  • L'opérateur ** pour l'exponentiation
  • L'extension du mot-clé use pour importer les fonctions et les constantes
  • Un débogueur interactif : phpdbg intégré comme module SAPI.
  • La ré-utilisabilité de php://input faisant passer $HTTP_RAW_POST_DATA en déprécié.
  • Les objets GMP (GNU Multiple Precision) supportent maintenant la surcharge des opérateurs et le transtypage en types scalaires.

Le détail dans la suite de cette dépêche

Sommaire Nouveautés Les expressions de constantes scalaires

Il est maintenant possible de définir des constantes d'après le résultat d'opérations effectuées sur d'autres constantes. Il est également possible de les utiliser dans les déclarations de propriété et dans les arguments par défaut de fonctions.

Exemple tiré du site php.net :

const UN = 1; const DEUX = UN * 2; class C { const TROIS = DEUX + 1; const UN_SUR_TROIS = UN / self::TROIS; const RESULTAT = 'La valeur de TROIS est '.self::TROIS; public function f($a = UN + self::TROIS) { return $a; } } echo (new C)->f()."\n"; echo C::RESULTAT;

Résultat :

4
La valeur de TROIS est 3

Fonctions à nombre d'arguments variable

Les fonctions PHP peuvent accepter un nombre d'arguments variable, ceux-ci seront contenus dans un tableau défini grâce à l'opérateur …

Exemple :

function somme($arg1, $arg2 = null, ...$args){ //$args est un array contenant les arguments restants //$count($args) représente le nombre d'arguments dans $args return $arg1+$arg2+array_sum($args); } somme(1); somme(1,2); somme(1,2,3,4);

A noter que l'on peut utiliser le typage explicite.

Dés-empaquetage des objets

L'opérateur ... peut aussi être utilisé lors de l'appel de fonction pour dés-empaqueter un tableau ou tout objet parcourable par foreach.

Exemple tiré du site php.net :

function add($a, $b, $c) { return $a + $b + $c; } $operators = [2, 3]; echo add(1, ...$operators); L'opérateur ** pour l'exponentiation

L'opérateur ** représente l'exponentiation, l'opérateur **= est utlisé pour l'assignation.

Exemple :

$a = 2**3**2; // $a = 512 $a **= 5; // $a = 35184372088832

Attention, cet opérateur est associatif à droite :
2 ** 3 ** 2 est équivalent à 2 ** (3 ** 2).

Extension du mot-clé use

Depuis PHP 5.3, il est possible d'importer des classes avec l'opérateur use.
Il est maintenant possible d'importer des fonctions ou des constantes.

Exemple tiré du site php.net :

namespace Name\Space { const FOO = 42; function f() { echo __FUNCTION__."\n"; } } namespace { use const Name\Space\FOO; use function Name\Space\f; echo FOO."\n"; f(); } phpdbg

Utilisable pour PHP >= 5.4 et inclus dans PHP 5.6, phpdbg est un débogueur complet utilisable sans impact sur les performances ni sur les fonctionnalités du code.

Son objectif est d'être léger, puissant et simple à utiliser.

Ré-utilisabilité de php://input

Les flux php:// sont des flux d'entrée/sortie fournis par PHP. Le flux php://input permet d'accéder en lecture seule aux données brutes depuis le corps de la requête.

Dans le cas de requêtes POST, il se substitue maintenant à la variable $HTTP_RAW_POST_DATA qui nécessitait l'activation de always_populate_raw_post_data boolean dans le php.ini pour inclure les type MIME reconnus.

Utilisation :

$postdata = file_get_contents("php://input");

Ce nouveau mécanisme a également permis de réduire significativement la quantité de mémoire requise lors des opérations POST.

Problèmes de compatibilité

Quelques incompatibilités sont à prévoir pour cette nouvelle version. Comme à l'accoutumée, il est conseillé de lire (en anglais) la page de migration de php5.5 vers php5.6.

Les principales incompatibilités se situent au niveau des changements OpenSSL :
Tous les flux clients chiffrés activent désormais par défaut la vérification par paire.

A noter également, la fonction json_decode sera légèrement plus stricte puisque les inputs true, false et null seront refusés s'ils ne sont pas entièrement en minuscule.

Le Futur PHP7

PHP s'oriente vers la version 7. Après quelques débats, il a été choisi de sauter la version 6. En effet, ce projet échoué, devant notamment rendre PHP entièrement compatible avec Unicode, possédait trop de référence et de livres consacrés. Les principales nouveautés de PHP6 ont d'ailleurs déjà été incluses au fil de l'eau dans >= PHP5.3. PHP7 n'a définitivement pas les même objectifs.

PHPNG et compilation à la volée

Comme expliqué ici (en anglais), PHP7 repart sur les bases de PHPNG. Concrètement, il s'agit avant tout de se doter d'un nouveau moteur bien plus performant que le Zend Engine actuel.

Ce gain de performance pourra être accentué par le compilation à la volée (JIT : Just In Time) qui devrait être implémenté par Dmitry Stogov. Il annonce 10 à 20 pourcent de vitesse en plus sur des applications réelles : Wordpress 3.6 (+20%), Dupral 6.1 (+11.7%) …

Syntaxe d'arbre abstraite

Quelques changements de syntaxe et de fonctionnement du compilateur pourrait également être inclus dans la version 7 pour profiter de performances encore supérieures.

PHP vs HACK

Le langage HACK et sa machine virtuelle HHVM ont été dévoilés il y a quelques mois par Facebook. Une dépêche avait été publiée pour l'occasion. En grande partie compatible avec PHP, ce langage apporte notamment le typage statique, l'écriture de squelettes HTML protégés des failles XSS, la programmation asynchrone. HHVM, quant-à-elle, propose la compilation à la volée et peut faire tourner du PHP.

Il ne fait aucun doute que ce sera un concurrent très sérieux pour PHP et que cela incitera ses mainteneurs à le faire évoluer rapidement pour ne pas se laisser distancer.

Télécharger ce contenu au format Epub

Lire les commentaires

Salut à Toi, version 0.5

Mardi 9 Septembre

Nous sommes heureux de vous annoncer la sortie de Salut à Toi, version 0.5. Nous nous sommes cette fois-ci concentrés sur la sécurité et le ré-usinage de certains mécanismes qui vont faciliter l'ajout de futures fonctionnalités et la maintenance.

Pour rappel SàT est un client XMPP multi-usages et multi-interfaces principalement développé en Python. Les interfaces les plus avancées sont Primitivus (console) et Libervia (web), Jp (ligne de commande) facilite les tâches d'administration, Wix (bureau/WxWidgets) est vouée à disparaître et sera remplacée par Bellaciao (bureau/Qt). Une interface pour Android est également prévue.

Sommaire

Sécurité

Un nouveau paramètre a été ajouté pour définir un mot de passe pour le profil SàT, qui est stocké haché dans la base de données. Sa version claire permet de sécuriser les autres mots de passe, dont celui du compte XMPP, qui sont eux chiffrés dans la base. Un schéma détaille comment tout ça fonctionne sur le wiki du projet : chiffrement.

Libervia supporte désormais le HTTPS. L'administrateur peut choisir quel(s) service(s) activer : HTTP, HTTPS ou les deux.

Vous pouvez utiliser OTR pour chiffrer de bout en bout vos discussions instantanées. L'interface en console Primitivus utilise la bibliothèque python potr tandis que Libervia s'appuie sur l'implémentation javascript otr.js. Ainsi, vos discussions chiffrées sur Libervia sont vraiment sécurisées puisque le chiffrement est effectuée directement par votre navigateur ; il faut par contre prévoir des ralentissements, surtout au lancement d'OTR.

Autres nouveautés

On notera :

  • l'ajout des marque-pages de salons de discussion ;
  • l'affichage des états dans les salons de discussion ;
  • une meilleure intégration des commandes ad-hoc, permettant par exemple d'administrer le serveur depuis Primitivus ou Libervia;
  • la possibilité de supprimer tous ses messages, modifier son mot de passe ou supprimer son compte depuis Libervia ;
  • des menus contextuels sur les contacts et fenêtres de discussion ;
  • quelques nouveautés concernant les pages de blogs statiques.

Ré-usinage

Il est important, pour un projet comme SàT (multi-interfaces), de veiller à remanier le code lorsqu'on lui trouve des défauts de conception ou bien qu'on imagine un nouveau mécanisme. Ont subi entre autre un ré-usinage pour davantage de souplesse ou de généricité :

  • la découverte de services XMPP ;
  • l'envoi et la réception de messages ;
  • la gestion des commandes textuelles ;
  • la gestion de la liste de contact ;
  • l'organisation hiérarchique des constantes ;
  • les raccourcis clavier de Primitivus ;
  • l'arborescence des fichiers source de Libervia.

Ces modifications n’intéressent pas directement l'utilisateur mais elles nous facilitent la vie, et peut-être celles des personnes qui souhaiteraient plus tard nous filer un coup de main ! Il s'agit aussi de premiers pas pour amorcer le développement de l'interface pour téléphones portables et de nouvelles fonctionnalités.

Par ailleurs, nous misons toujours davantage sur XMLUI, le micro-format interne de description d'interface utilisateur que nous utilisons pour commander les frontaux depuis le backend. Désormais, les actions de l'utilisateur sont mieux intégrées et nous comptons améliorer le système, toujours davantage à chaque version.

Mais encore…

Le backend est maintenant distribué en tant que plugin pour Twisted et se lance par défaut en mode démon, tout comme Libervia. La séquence d'initialisation backend / frontaux a été améliorée, ceci corrige les problèmes qui pouvaient survenir lorsque SàT et Libervia étaient lancés depuis un script à peu d'intervalle. De plus, nous avons rajouté un fichier .service pour D-Bus, ce qui permet de lancer automatiquement le backend lorsqu'un frontal en a besoin.

Les chemins par défaut des fichiers utilisateurs respectent désormais les recommandations XDG : fichier de configuration dans ~/.config/sat, base de donnée et le reste dans ~/.local/share/sat. L'ancien fichier de configuration sera récupéré et éventuellement mis à jour.

Si l'adresse et le port du serveur XMPP sont laissés vides dans les paramètres de connexion, les bonnes valeurs peuvent être récupérées depuis un enregistrement DNS SRV qui correspond à la partie « domaine » du JID.

Un nouveau système de log fait son apparition, il est pleinement configurable et gère les couleurs, le formatage, le filtrage et le type de sortie (fichiers, mémoire…).

Aspect administratif

Nous avons déposé en préfecture les papiers pour la création de l'association « Salut à Toi »… cela a été accepté du premier coup, ce qui nous a agréablement surpris car le mode de fonctionnement de l'association est un peu particulier : direction collégiale, pas de président / secrétaire / trésorier mais deux co-administrateurs. Pour rappel, derrière ce projet il y a une volonté d'implication qui est incompatible avec l’exercice d'une autre activité professionnelle. Cela se traduit, pour les développeurs, par la nécessité de trouver une source de financement. Nous allons donc commencer à tester / adapter notre idée de modèle économique et ceci, bien entendu, dans le respect des engagements éthiques et moraux qui sont définis par notre contrat social.

Les adhésions à l'association sont notre source de financement privilégié ! Nous avons défini dans le règlement intérieur plusieurs montants de cotisation annuelle entre 10 et 100 euros, libre à chacun de choisir ce qu'il veut. Pour les personnes qui souhaiteraient nous soutenir sans pouvoir ou vouloir verser de contribution financière, c'est aussi possible : l'adhésion sans cotisation est prévue par le règlement intérieur. Comme ça, plus d'excuse ;-)

Il va par contre falloir attendre encore un peu avant que tout cela soit faisable par Internet. Nous allons ouvrir un compte en banque pour l'association et il faudra ensuite préparer un formulaire en ligne pour gérer les adhésions.

Rencontres

Nous étions présents cette année aux Journées du Logiciel Libre à Lyon, Pas Sage en Seine à Paris et aux Rencontres Mondiales du Logiciel Libre à Montpellier (voir les liens pour les vidéos des conférences). Nous avons pu rencontrer ou revoir quelques personnes grâce aux stands, et aux conférences de Goffi. Merci aux organisateurs de ces événements ainsi qu'à Reflets, qui a écrit un article sur SàT suite à la sortie de la dernière version, ce qui a permis de faire connaitre le projet à un plus large public.

Nous allons participer mercredi et jeudi prochain au « XMPP Summit » et à son hackaton qui se déroulent à Berlin. Serons notamment présents deux autres développeurs XMPP avec qui nous sommes en contact, dont Edhelas de Movim, et ensemble nous espérons pouvoir peser davantage pour faire standardiser de nouvelles extensions (notamment autour de Publish-Subscribe et pour le blogage) et encourager leurs implémentations.

Le samedi 27 septembre entre 14h et 17h30, Goffi participera à une émission de la radio « Ici et maintenant » enregistrée à Paris sur le thème de l'auto-hébergement. Il y a aura plusieurs autres invités dont deux développeurs de Jappix.

Nous souhaitons aussi organiser des rencontres au travers de l'association, au moins une fois par an sous forme d'assemblée générale ordinaire, et peut-être davantage. Le lieu et la date n'ont pas encore été discutés.

À noter aussi la création récente d'une liste de diffusion « users » pour les utilisateurs de SàT, qui vient compléter le salon de discussion et la liste de diffusion « dev ».

Et après ?

Nous souhaitons transférer nos propres blogs sur SàT. La version 0.6 se concentrera donc sur la fonctionnalité de blog (qui dans SàT est basée sur un système de permissions fines pour n'écrire qu'aux personnes de votre choix), le stockage d'images et l'implémentation des tags. Il s'agit de fonctionnalités essentielles et peut-être des derniers grands travaux avant la publication de la première version grand public, qui a pris un peu de retard et devrait être estampillée 0.7 ou 0.8.

Télécharger ce contenu au format Epub

Lire les commentaires

Pages