Syndiquer le contenu
Mis à jour : il y a 21 heures 26 min

Faille Lazy FPU state restore

21 juin, 2018 - 12:17

Intel est de nouveau confronté à la découverte d’une faille, le Lazy FPU State Restore flaw.
Cette fois, seule la famille des Intel Core serait concernée.

Sommaire Le FPU

Le FPU, c’est le bordel, par Ingo Molnar

L’unité de calcul en virgule flottante, le FPU, possède une série de registres qui lui permet de « définir » son état courant. Lors du basculement d’une tâche à une autre (context switching), cet état est alors restauré pour retrouver un contexte correspondant au processus en cours. Ces opérations peuvent être coûteuses car les registres du FPU sont plus gros que les autres, c’est pourquoi les FPU fournissent une option pour désactiver toute opération en virgule flottante (CR0:TS). Aussi, dès qu’un calcul en virgule flottante est appelé, une exception est lancée pour « réveiller » le FPU avant de lancer l’opération normalement.
Lorsque cette exception (fpudna, FPU Device Not Available) se produit, un « gestionnaire de contexte FPU » vérifie quel processus a la main sur le FPU à ce moment‐là.
S’il s’agit d’un autre processus, il procède à la sauvegarde puis la restauration des registres, ou s’il s’agit d’un nouveau contexte, la sauvegarde puis le nettoyage des registres ; sinon, il ne fait rien : c’est le mode « paresseux » (lazy). À la sortie du processus, il ne faut pas oublier de « nettoyer » ces tables et de (re)lever tous les drapeaux liés à cette exception.

En mode eager (zélé, volontaire), la sauvegarde et restauration des registres associés au FPU est effectuée quoiqu’il advienne, au moment du changement de tâche et non durant l’exécution de la tâche qui vient de prendre la main.

Le bâton

Au fil des années, les processeurs ont multiplié les registres pour prendre en charge les instructions de type SIMD, soit une instruction capable de procéder au même calcul sur un ensemble de paires de données.

Les registres SSE, AVX et MMX restent associés au FPU et seront donc intégrés au mécanisme de sauvegarde et restauration… et ils peuvent contenir jusqu’à 2 048 bits de données, rien que sur l’AVX.

[ 0.000000] Linux version 4.14.48-intel-pk-standard (oe-user@oe-host) (icc version 18.0.2 (gcc version 7.3.0 compatibility)) #2 SMP PREEMPT Wed Jun 20 13:21:48 UTC 2018 [ 0.000000] x86/fpu: Supporting XSAVE feature 0x001: 'x87 floating point registers' [ 0.000000] x86/fpu: Supporting XSAVE feature 0x002: 'SSE registers' [ 0.000000] x86/fpu: Supporting XSAVE feature 0x008: 'MPX bounds registers' [ 0.000000] x86/fpu: Supporting XSAVE feature 0x010: 'MPX CSR' [ 0.000000] x86/fpu: xstate_offset[3]: 576, xstate_sizes[3]: 64 [ 0.000000] x86/fpu: xstate_offset[4]: 640, xstate_sizes[4]: 64 [ 0.000000] x86/fpu: Enabled xstate features 0x1b, context size is 704 bytes, using 'compacted' format. Pour se faire battre

Par le biais désormais connu de l’exécution spéculative puis de l’analyse de cache, un attaquant pourra lire ces registres depuis un autre processus, voire depuis une machine virtuelle. En effet, en mode lazy la sauvegarde des registres d’une tâche s’effectue au cours de l’exécution d’une autre tâche. La spéculation ignorant le drapeau CR0:TS, tout est alors possible.

Ces registres peuvent contenir des informations sensibles comme des clefs de chiffrement (AES), par le biais des instructions d’accélération matérielle AES-NI.

Delivers Fast, Affordable Data Protection and Security. AHeum.

Colin Percival, ex‐membre de l’équipe sécurité de FreeBSD, a codé un exploit en quelques heures et note, dans un tweet :

« You need to be able to execute code on the same CPU as the target process in order to steal cryptographic keys this way. You also need to perform a specific sequence of operations before the CPU pipeline completes, so there’s a narrow window for execution. »

« Vous devez être en mesure d’exécuter le code de [l’exploit] sur le même processeur que celui de la cible pour voler les clefs de cette manière. Vous devrez en outre appliquer une suite précise d’opérations avant que la chaîne de traitement du processeur ne se termine ; de fait, la fenêtre de tir est très étroite. »

Ce qui semble vouloir dire que, pour l’instant, coder le vol de données depuis un script venu du Web n’est pas simple à réaliser. Le temps nécessaire au vol des données des registres est la clef de l’attaque. Il faut le terminer avant que le séquenceur ne préempte la victime et que les valeurs des registres ne soient modifiées.

Pour y arriver, les chercheurs ont utilisé plusieurs méthodes :

Exception

Il s’agit de coder la fuite de données à l’ombre d’une exception, sciemment provoquée, tel un page fault, par exemple. Mais il s’avère que cette solution est trop lente pour récupérer tout un jeu de registres.

Intel TSX

Cette mécanique n’est disponible que sur les architectures récentes (à partir de Haswell), ce qui limite l’angle d’attaque. Cette technologie comporte un jeu d’instructions appelé RTM (Restricted Transactional Memory) qui permet d’annuler un bloc d’exécution en cas d’interruption ; il suffit d’y encadrer le code malicieux, qui va innocemment faire appel au FPU, pour lever l’exception fpudna… Ce serait presque « étudié pour ».

Retpoline

Il s’agit au départ d’une contre‐mesure pour Spectre. Elle vise à fourvoyer sciemment le processeur sur l’adresse de retour d’un RET en plaçant une « fausse » boucle et donc le forcer à exécuter de manière spéculative un code innocent. Le code malicieux sera donc placé à cet endroit.

Les correctifs

Le mode lazy semble moins pertinent aujourd’hui. Les gains en performance sont faibles avec les architectures récentes et, surtout, selon les usages actuels. Le FPU étant même beaucoup plus utilisé dans nos logiciels, son usage serait contre‐productif.
En effet, les compilateurs choisissent d’appeler les instructions SIMD (i.e. -sse) pour optimiser le code des logiciels. De fait, ceux‐ci auront de toute façon sauvegardé et restauré les registres du FPU à chaque changement de contexte. La gestion de l’exception sera inutile et va juste alourdir le processus. En outre, l’empreinte d’une sauvegarde et restauration serait moindre que celle de la gestion des drapeaux, des registres et de leurs états suite à l’interruption, le transfert de registres FPU en mémoire étant plus rapide car optimisé.

Il est donc préconisé d’éviter le mode lazy au profit du mode eager.

  • Linux propose le mode eager plutôt que le mode lazy depuis la version 3.7 et l’active par défaut depuis la version 4.9 ;
  • ajoutez eagerfpu=on sur la ligne de démarrage pour les versions antérieures à la 4.9 ;
  • FreeBSD a poussé un correctif pour la Release 11.2 ; c’est un FreeBSD 11.1 qui a servi de cobaye ;
  • DragonFly BSD a poussé un correctif dans la version 5.2.2 ;
  • Microsoft poussera un correctif en juillet ;
  • OpenBSD a poussé un correctif le 14 juin pour la version 6.3 ;
  • NetBSD a poussé un correctif le 16 juin sur MAIN ;
  • Illumos a poussé un correctif le 19 juin.
Conclusion

Ils ne sont pas à la fête cette année, chez Intel. Le point positif est que la correction de cette faille devrait conduire à une amélioration des performances, voire de la consommation d’énergie.

Theo de Raadt avait prévenu 11 ans auparavant que l’architecture Intel Core 2 promettait ce genre de faille :

« These processors are buggy as hell, and some of these bugs don’t just cause development/debugging problems, but will ASSUREDLY be exploitable from userland code. »

« Ces processeurs sont bogués comme jamais et nombre de ces bogues ne provoquent pas seulement des soucis de développement et d’analyse, mais ils vont assurément être exploitables depuis l’espace utilisateur. »

Pour la petite histoire, l’embargo s’est terminé le 6 juin. Colin Percival, qui assistait à une conférence de Théo de Raadt lors de la BSDCan 2018, a codé un exploit dans la foulée, qu’il n’a pas encore rendu public. Mais il a convaincu Intel de lever l’embargo au plus vite.
Il est notable qu’aucun des deux n’avait été mis dans la confidence ; OpenBSD signale même qu’ils en ont fait la demande (des rumeurs circulaient autour d’une énième version de Spectre), mais sans obtenir de réponse.

Invitation to Embargo? No.
We asked.
No reply.

Télécharger ce contenu au format Epub

Commentaires : voir le flux atom ouvrir dans le navigateur

RyDroid Web Proxy (1.0) : outil de capture de sessions Web

21 juin, 2018 - 08:08

Pendant l’année scolaire 2016-2017, j’étais en dernière année d’école d’ingénieurs
(l’ENSICAEN). J’ai donc fait un stage de fin d’études (à Orange, en France), avec le rapport qui va avec. J’ai fait un logiciel libre qui a été publié. En conséquence, il m’a paru logique de publier mon rapport, après avoir enlevé quelques parties (remerciements, présentation du collectif de production, conclusion personnelle, etc.) et fait de petites retouches pour qu’il soit cohérent avec ce nouveau format et la visibilité qui va avec. Cela permet de présenter plus largement ce que j’ai fait, tout en expliquant le pourquoi et comment, ce qui pourrait servir à d’autres personnes.

Sommaire Le sujet

Celui qui a été mon tuteur de stage participe activement au développement d'un outil de test de performance à travers le réseau, qui s'appelle CLIF et qui est présenté plus loin dans cet article. Le cas le plus courant est le test pour le web, avec le protocole HTTP et sa version chiffrée HTTPS. Pour faciliter l'usage pour ce cas commun, il faut que créer un scénario de test pour ce dernier soit aisé.

Il existait déjà une solution : un proxy pouvait être configuré dans le navigateur web pour intercepter les flux réseaux et ainsi enregistrer les informations pertinentes dans le format adéquat (basé sur XML) pour rejouer une session web avec CLIF. Configurer un proxy dans un navigateur web peut être difficile pour certaines personnes ou perçu comme tel. De plus, le proxy ne gère pas le HTTPS (qui est de plus en plus courant), bien qu'il aurait été possible d'en ajouter la gestion, cela aurait nécessité d'ajouter un certificat dans le navigateur web. Mon tuteur voulait un outil plus simple à utiliser et qui gèrent le HTTPS, d'où ce stage.

Comme CLIF, l'outil réalisé devait être du logiciel libre sous licence GNU LGPL en version 3.

État de l’art Outils de test de charge

La liste n'est pas exhaustive, mais il y a un article sur Wikipédia en anglais si on en désire une qui cherche à l'être. Cette partie a pour intérêt de présenter rapidement des outils cités plus loin dans l'article présent et de mettre en perspective le programme de mon tuteur de stage.

Apache JMeter

JMeter est un logiciel libre de la fondation Apache. Il est très populaire et packagé par au moins Debian et Trisquel GNU/Linux. Pour définir un test de charge, il faut lui soumettre un fichier XML. Il est extensible avec des modules complémentaires.

Gatling

Gatling est un logiciel de test de charge, avec un focus sur les applications web. Il est sous licence Apache 2.0, donc libre. Il est écrit en Scala. Il est packagé par au moins Debian et Trisquel GNU/Linux.

Selenium

Selenium est un logiciel pour automatiser la navigation web à travers un navigateur web. Il peut donc servir à faire des tests, mais aussi automatiser des tâches administratives se faisant via le Web. Il est libre via la licence Apache 2.0.

Tsung

Tsung est un logiciel de test de charge distribué. Il gère différents protocoles (dont HTTP, XMPP, LDAP, et MQTT). Il est libre sous licence GNU GPL version 2.0. Le langage de programmation utilisé est Erlang. Il prend en entrée un fichier XML. Il est disponible sous forme de paquet dans au moins Trisquel GNU/Linux et Debian.

Locust

Locust a la particularité d'utiliser des scripts en Python pour définir le comportement des utilisateurs virtuels, alors que les autres outils utilisent généralement du XML et/ou une interface graphique. C'est un logiciel libre sous licence "MIT".

The Grinder

The Grinder est un framework pour le test de charge. Il est adapté pour le test distribué sur plusieurs machines. Il est libre et écrit en langage Java.

Taurus

Taurus a pour but de cacher la complexité des tests fonctionnels et de performance. Il fait cela en étant une enveloppe pour JMeter, Gatling, Locust, Grinder, et Selenium WebDriver. Il prend en entrée un fichier au format YAML. C'est un logiciel libre sous licence Apache 2.0.

CLIF

CLIF est un logiciel libre initié, piloté, et maintenu par celui qui a été mon tuteur de stage (Bruno Dillenseger). C'est un acronyme récursif pour "CLIF is a Load Injection Framework". Ce projet est hébergé par le consortium OW2. Il est écrit dans le langage de programmation Java. Il a une interface en ligne de commande et une interface graphique sous forme de module complémentaire pour Eclipse. Il propose plusieurs manières de définir un test de charge, comme cela est expliqué dans une sous-sous-section (de cet article) partiellement dédiée. Il n'y a pas de paquet Debian, notamment à cause des nombreuses dépendances et d'au moins une dont les sources n'auraient pas été retrouvées.

CLIF permet de déployer des injecteurs de requêtes répartis pour mesurer les temps de réponse. Il permet également de déployer des sondes afin de mesurer la consommation des ressources (processeur, réseau, mémoire, disque, etc.). Son environnement de scénario ISAC offre une façon formelle de définir les scénarios sous forme de comportements d'utilisateurs virtuels et d'une spécification du nombre d'utilisateurs virtuels actifs de chaque comportement au cours du temps. CLIF a été spécialement conçu pour être rapidement adaptable à toute sorte de cas de test (un assistant Eclipse permet de définir ses propres modules complémentaires pour intégrer de nouveaux protocoles ou de nouveaux jeux de données), y compris des hauts niveaux de charge (comme des centaines d'injecteurs et des millions d'utilisateurs virtuels). En pratique, CLIF est utilisé pour des tests de tenue en charge, mais également pour des tests fonctionnels, des tests en intégration continue et de la supervision de qualité d'expérience utilisateur, notamment via son module complémentaire pour Jenkins.

Le code source est sur l'instance GitLab de OW2, à part le module complémentaire pour Jenkins qui est sur GitHub. CLIF est aussi disponible sur la forge historique de OW2 (qui propose des versions compilées).

Loads et Molotov

Loads et Molotov sont libres et écrits en langage Python. Ils permettent d'écrire des tests unitaires. Loads est développé et testé sur Python 2.6 et 2.7, tandis que Molotov nécessite Python 3.5 ou plus.

HPE LoadRunner

HPE LoadRunner est un logiciel privateur de test de charge, qui ne fonctionne complètement que sous Microsoft Windows. Il peut être étendu via des formats d'autres outils (comme JMeter) et des scripts dans différents langages (comme C et Java). Sa première version date de l'an 2000, il est depuis toujours amélioré, ce qu'il lui a permis d'acquérir une place importante dans le domaine du test de charge.

megaLOAD

megaLOAD est présenté comme étant une plateforme en ligne de test de charge qui serait facile à utiliser et capable de monter à l'échelle. Il aurait été spécialement créé pour tester les services de type back-end ayant vocation à être très robustes. Il est fait par Erlang Solutions. Il gère HTTP et serait suffisamment extensible pour gérer n'importe quel protocole. Il serait possible de l'utiliser via un navigateur web et/ou une interface de programmation RESTful. Il est disponible sur AWS (Amazon Web Services).

Siege

Siege est un outil libre pour tester la capacité de charge des implémentations des protocoles HTTP(S) (version 1.0 et 1.1) et FTP. Il est écrit en langage C et fonctionne sur divers systèmes d'exploitation POSIX (comme GNU/Linux et des BSD récents, mais pas Windows). Il est libre sous la licence GPL en version 3.0.

Outils de capture d’utilisation Internet

Différentes organisations proposent des services web pour l'injection de charge. Certaines d'entre elles proposent un outil pour facilement capturer une session d'usage du réseau, ce qui permet ensuite de la rejouer facilement.

On pourrait naïvement penser que tcpdump, Wireshark, ou Scapy sont de bons candidats sans rien faire. Ce serait vrai si les communications passaient toutes, ou au moins une vaste majorité, en clair sur les réseaux et que cela n'était pas amené à changer. En effet, elles sont de plus en plus chiffrées (avec une accélération depuis 2013 suite aux révélations d'Edward Snowden), ce qui permet de "garantir" (par les mathématiques) la confidentialité de ce qui est chiffré (il y aura toujours un minimum de méta-données non chiffrées). Il faut donc trouver un moyen de contourner le chiffrement quand il y en a, ce que tcpdump, Wireshark, et Scapy ne font pas automatiquement. De plus, ces derniers montrent une quantité de détails techniques inutiles pour l'individu (dans notre contexte) et qui pourraient le perturber (par peur de l'inconnu et/ou difficulté à percevoir ce qui est pertinent).

NeoLoad

NeoLoad Recorder est une application qui enregistre un parcours utilisateur fait à travers un proxy. Pour cela, il crée un proxy sur la machine sur laquelle il est exécuté. Ensuite, il génère un certificat X.509 qui va servir à déchiffrer les échanges chiffrés via TLS. Puis, il démarre Firefox dans lequel il faut configurer le proxy et ajouter le certificat si on souhaite enregistrer les communications chiffrées via TLS. Après cela, il n'y a plus qu'à naviguer. Une fois que l'on veut arrêter, il faut penser à enlever le proxy (mais on s'en rendra vite compte si on oublie), et ne plus faire confiance au certificat (ce qui ne sera rappelé par aucune erreur).

Cette solution technique est problématique si on doit passer par un proxy pour accéder à un réseau sur lequel le site web à tester est accessible. Techniquement, il est écrit en Java. Les données sont enregistrées dans un format inconnu et non trivial.

HPE StormRunner Load

HPE StormRunner Load est un service distant pour faire du test de charge et en analyser les résultats. Il est basé sur du logiciel privateur et se manipule via une interface web. Pour faciliter son usage, divers outils (non libres) sont mis à disposition.

Pour rendre aisé la capture de la navigation web, il propose 2 outils : TruClient Lite et TruClient Standalone. Ils ont pour but de capturer (directement) ce qui se passe dans un navigateur web (donc sans proxy externe et sans certificat pour le HTTPS). TruClient Lite est un module complémentaire pour Chromium (et donc son principal dérivé Google Chrome), qui utilise les paramètres de proxy du navigateur web. TruClient Standalone est un logiciel (fonctionnant uniquement sur Windows) qui peut au choix se baser sur les moteurs de Firefox (Gecko), Chromium, ou Internet Explorer, mais également simuler un mobile ou une tablette (en configurant correctement la résolution du navigateur web et son agent utilisateur), il prend les contrôles sur le proxy du navigateur web. L'absence de contrôle sur le proxy est problématique si on doit passer par un proxy pour quitter un réseau interne, mais il est possible de lui indiquer un proxy après que le script soit généré. Ils enregistrent les clics sur les boutons avec leurs intitulés (même s'ils ne sont pas des liens), et se basent sur l'intitulé des boutons pour naviguer et pas sur les URLs, ce qui est pratique si les références des liens changent. Ils permettent également de rejouer (automatiquement) un script enregistré avec une visualisation graphique, cependant ils sont perdus s'ils essayent de rejouer mais que le texte du bouton n'est pas le même (par exemple à cause de la langue par défaut différente en fonction du navigateur web).

BlazeMeter

BlazeMeter est une plateforme SaaSS web. Il peut réaliser des tests de charge et montrer des statistiques (en temps réel) qui en résultent. Il propose une API web pour automatiser les tests, par exemple dans le cadre de l'intégration continue (via Jenkins ou un autre outil similaire). Il utilise divers logiciel libres (dont JMeter, Gatling, et Taurus) et gère donc leurs formats de données.

Pour simplifier les tests web, un outil de capture de session web est proposé, BlazeMeter Proxy Recorder. C'est malheureusement du logiciel privateur. On peut le tester gratuitement pendant 1 mois. Pour l'utiliser, il faut s'inscrire et l'activer. Ensuite, il faut aller dans son interface, ce qui crée un proxy (sans intervention du testeur ou de la testeuse) et un certificat X.509 (souvent appelé d'une manière réductrice certificat TLS). Pour enregistrer ce que l'on fait via un client web, il faut activer le proxy (via un simple bouton) et configurer ce dernier dans notre client web. S'il l'on souhaite que les communications chiffrées soient enregistrées, il faut ajouter un certificat qui va permettre au proxy de déchiffrer avec une de ses clés privées (au lieu d'une clé privée du service web consulté). Au fur et à mesure de la navigation (via le proxy), l'interface graphique de BlazeMeter Recorder montre ce qu'il a capturé. Pour finaliser une session, il suffit de cliquer sur un bouton (de l'interface web). On peut ensuite avoir le résultat sous divers formes (URL pour BlazeMeter, fichier JMeter, fichier pour Selenium WebDriver, ou fichier pour Taurus).

SOASTA Cloud Test

SOASTA Cloud Test est un SaaSS web pour le test de charge et l'analyse des données (en temps réel) qui en sont issues. Parmi les analyses qu'il propose, il a l'originalité de proposer une comparaison du temps de chargement et du revenu généré sur une période. Il permet de choisir où seront géographiquement les utilisateurs virtuels d'un test. Il propose une interface en 3 dimensions avec les flux réseaux qu'il génère sur une carte de la Terre, dont l'intérêt est probablement discutable, mais cela peut être pertinent pour se faire payer le service par un·e commercial·e. Il peut importer des fichiers JMeter.

Contrairement à certains de ses concurrents, son outil de capture d'usage du réseau fonctionne sur plusieurs protocoles Internet (temps des connexions TCP, DNS, TLS, HTTP, etc.). C'est une machine virtuelle (sous CentOS) qui fonctionne avec VMware Player, ce qui est très lourd (en termes de puissance de calcul, de mémoire vive, et de place dans la mémoire persistante puisque le disque de la machine virtuelle fait 15Go). Ce choix technique le réserve à des informaticien·ne·s ayant du temps ou des personnes ne voulant pas se limiter au Web.

La réalisation du projet Les outils utilisés Les outils pour le développement lui-même
  • Système d'exploitation : Debian GNU/Linux 9 "Stretch" (qui devenu stable pendant mon stage, inclut PHP 7, et est vastement utilisé)
  • Éditeur de code : GNU Emacs (parce qu'il ne nécessite pas de souris et qu'il est beaucoup plus léger qu'un environnement de développement intégré)
  • Langage de programmation : PHP 7 (qui a une librairie standard fourni pour le Web, permet la déclaration de type sur tous les types non objets, et a des avantages de facilité d'installation pour les applications se basant dessus comme cela est expliqué dans la partie qui est dédiée à ce sujet)
Les outils pour gérer le développement
  • Gestionnaire de versions : git ("le gestionnaire de contenu stupide" (d’après son manuel) est un logiciel libre de gestion de versions décentralisé, libre, performant, et populaire)
  • Forges logicielles :
    • tuleap (une forge logicielle, comprenant des outils élaborés de gestion de projets et des possibilités de gestion fine des droits)
    • GitLab (de plus en plus utilisé, pensé avant tout pour les développeurs et développeuses, et je l'utilise pour des projets personnels)
Les outils pour les tests Les outils « annexes » Le résultat

Comparaison avec un proxy classique

Un proxy classique est légèrement plus dur à utiliser. En effet, il faut que l'utilisateur ou utilisatrice configure un proxy. De plus, pour les échanges chiffrés, il faut ajouter un certificat.

Néanmoins, un proxy classique a un énorme avantage, il est techniquement plus simple, puisqu'il fait moins de choses, et est donc bien plus performant. En effet, le proxy que j'ai réalisé doit détecter puis analyser entre autres le HTML et le CSS, et enfin potentiellement les modifier, ce qui nécessite une puissance de calcul non négligeable si plusieurs agents l'utilisent en même temps.

« Proxifier » une URL

Mon proxy n'est pas un proxy "classique", il change les URLs pour qu'elles pointent toutes vers lui, c'est ce que l'on peut nommer la "proxification" d'URL. En simplifiant, cela revient à ajouter un préfixe à l'URL. Techniquement le préfixe est une référence du proxy (nom de domaine, adresse IP, ou nom purement symbolique comme localhost), puis la page qui "proxifie", et enfin le ou les différents paramètres GET à passer à la page.

Il y a un paramètre obligatoire qui est l'URL de la page à "proxifier". Celui-ci peut contenir des caractères illégaux comme valeur de paramètre GET (comme un point d'interrogation "?" ou une esperluette "&"), il faut donc encoder ce paramètre au moment de la "proxification", et le décoder au moment de son usage. Cela est fait avec les fonctions PHP urlencode et urldecode (pour lesquels il existe des équivalents en JavaScript).

Il y a aussi 2 paramètres GET facultatifs. Ils ont pour nom proxy-url et proxy-port et permettent d'indiquer à mon proxy d'utiliser un proxy classique (en spécifiant à minima une URL et potentiellement un numéro de port). Il y a d'autres moyens pour cela, mais ce moyen est prioritaire sur les autres. Si au moins un est indiqué, il faut le(s) propager à toutes les URLs à "proxifier".

Récupérer une ressource Web

Un proxy réseau sert d’intermédiaire pour récupérer une ressource. La problématique est banale, mais nécessite néanmoins un peu de temps pour être gérée correctement.

La première approche que j'ai utilisée est d'utiliser la fonction file_get_contents. C'est une fonction de haut niveau qui prend en entrée obligatoire le chemin vers une ressource (du système de fichiers ou via le Web), et retourne le contenu si elle a réussi à l'obtenir. C'est très facile d'emploi, cependant elle a un gros manque : elle ne récupère pas les en-têtes HTTP, or elles peuvent être pertinentes pour rejouer une session web (ce qui pour rappel est la finalité indirecte de mon proxy). Il fallait donc proposer un autre moyen activé par défaut si disponible.

Il y a une commande et une bibliothèque associée pour récupérer (entre autres) une ressource sur le Web qui est très connu et a de nombreuses options : il s'agit de curl. C'est libre et existe depuis longtemps (la première version date de 1997), ce qui explique au moins en partie qu'il y ait des fonctions pour utiliser curl dans la librairie standard de PHP. Dans les archives officielles de Debian, il est dans le paquet php-curl qui n'est pas une dépendance du paquet php, probablement pour mettre une installation minimaliste de PHP quand toute la librairie standard du langage n'est pas nécessaire.

Une application web ne se sert pas nécessairement que de l'URL pour définir (et potentiellement générer) la ressource à envoyer. En effet, une ou des en-têtes HTTP de la requête peuvent être utilisées. Il a donc fallu faire suivre les en-têtes du client web envoyés au proxy au service web "proxifié". Cela a pu être fait avec les 2 méthodes de récupération de ressources.

Certaines URLs commencent par //, ce qui indique qu'il faut deviner quel protocole utiliser. Le moyen employé pour gérer ce cas est de faire d'abord une requête en HTTPS (la version sécurisée de HTTP), puis renvoyer la réponse si elle est non nulle, sinon renvoyer la réponse de la requête en HTTP.

Mon proxy peut nécessiter de passer par un proxy réseau non transparent pour accéder à Internet ou un autre réseau IP. C'est le cas dans un nombre non négligeables d'organisations, or certaines applications faites en interne peuvent n'être disponibles qu'en externe et le Web regorge d'exemples pour tester mon proxy. Il fallait donc que mon proxy puisse récupérer une ressource en passant par un proxy réseau non transparent. Cela a été implémenté avec les 2 méthodes de récupération de ressources et il y a plusieurs manières de configurer un proxy (paramètres HTTP GET, cookies, et fichiers INI).

La gestion du HTML

Il faut "proxifier" chaque URL d'un document HTML. Le HTML se manipule facilement via DOM et peut être parcouru avec XPath. Il parait donc assez simple de gérer le HTML. Ça l'est… dans la majorité des cas, mais quelques cas rares compliquent les choses.

Dans les cas triviaux, on peut citer (avec l'expression XPath) : des liens avec a@href, des images avec img@src, les scripts avec script@src, les frames avec frame@src, des vidéos avec video@src, et d'autres. Mais comme nous allons le voir, le HTML est plus compliqué que cela.

Démarrons avec un cas méconnu si on a appris le HTML récemment, car notoirement obsolète : l'attribut background. Il permet de définir un fond avec l'URL d'une image pour un élément HTML. Pour séparer la structure de la forme, il faudrait utiliser du CSS. Mais il reste de veilles pages web et des personnes n'ayant pas mis à jour leurs connaissances, il a donc fallu gérer ce cas. Cet attribut n'est valide que sur //html/body, mais en pratique certains sites web l'utilisent sur d'autres éléments (comme http://www.volonte-d.com/) et au moins Firefox prend en compte ce cas non standard, qu'il a fallu gérer.

Poursuivons avec un cas inverse, que l'on ne connait bien que si on a des connaissances à jour : les images ! En effet, il y avait un temps où il y avait uniquement img@src. Cependant pour optimiser la bande passante et avoir une image matricielle d'une taille adaptée, il est maintenant possible de proposer plusieurs URLs pour différentes tailles et formats. La balise img peut maintenant avoir un attribut srcset, qui contient une ou plusieurs URLs séparées par des virgules et avec des indications de la qualité (par exemple <img srcset="img1.png 1x, img2.png 2x" />). Il y a également la balise picture qui peut contenir une ou plusieurs balises source qui peuvent avoir un attribut src ou srcset (//html/body/picture/source@srcset a la même syntaxe que //html/body/img@src).

La naïveté peut laisser penser que les liens sont triviaux à gérer, c'est presque le cas. Les liens commençant par http:// et https:// sont les plus courants et il faut les "proxifier", mais il y a d'autres cas. Tout d'abord, il n'y a pas que HTTP et HTTPS, il y a d'autres protocoles dont il peut y avoir des références sur le Web et qui ne sont pas gérés par mon proxy, le plus courant étant probablement l'historique FTP (File Transfer Protocol). De plus, il y a des liens sans protocoles pour l'attribut href. En effet, il y a des liens d'actions (qui ne doivent pas être "proxifiés"), pour le courriel avec mailto:, pour le téléphone avec tel: (défini dans la RFC 3966), pour le JavaScript avec javascript: (malgré qu'il y ait l'attribut facultatif onclick et un événement associé en DOM 2), et pour une ressource d'un réseau pair-à-pair avec "magnet:". Il y a également des liens avec un protocole implicite ! Ils commencent par // et les clients web les remplacent par https:// ou http:// ou essayent l'un puis l'autre, il faut donc les "proxifier".

Rediriger une page web peut se faire via HTTP, mais aussi en HTML. L'intérêt de la méthode en HTML est de pouvoir rediriger après un certain temps (en secondes) et potentiellement uniquement s'il n'y a pas de support JavaScript (en utilisant la balise noscript pour faire cette condition). Cela se fait avec une balise meta dans //html/head (et sans autre parent) en indiquant un temps et potentiellement une URL (par exemple <meta http-equiv="refresh" content="5" /> ou <meta http-equiv="refresh" content="0; url=https://example.net/" />). Il faut donc chercher ce genre de balise (par exemple avec /html/head/meta[lower-case(@http-equiv)='refresh' and contains(lower-case(@content), 'url=')] en XPath 2.0), puis extraire l'URL, ensuite la "proxifier", et enfin changer la valeur de l'attribut tout en conservant le temps.

Pour utiliser du CSS dans du HTML, il y a plusieurs possibilités. La méthode la plus utilisée et recommandée est de faire référence à un ou plusieurs fichiers via une balise meta avec un attribut rel avec la valeur stylesheet en indiquant l'URL comme valeur de l'attribut href. On peut également vouloir inclure du CSS dans le HTML, ce qui est une mauvaise pratique, mais elle est toujours permise par les navigateurs web. Il y a 2 moyens pour cela : la balise style (/html//style[not(@type) or lower-case(@type)='text/css'] en XPath 2.0) et l'attribut style (/html/body[string(@style)] | /html/body//*[string(@style)]). Il faut donc récupérer le CSS puis le "proxifier" et ensuite mettre la version "proxifiée" dans la balise.

La gestion du CSS

Je n'y avais pas pensé au début, mais il peut y avoir des URLs dans du CSS. Elles peuvent par exemple servir pour définir un fond avec une image, inclure un autre fichier CSS, ou importer une police d'écriture
(depuis CSS3 avec @font-face). Puisque le CSS sert pour la mise en page, il n'est pas négligeable, et a donc du être géré.

J'ai identifié 2 situations où des URLs sont utilisées dans du CSS. La première et la plus courante est avec la "fonction" url en tant que valeur d'une propriété (par exemple background-image: url(image.png);) Le paramètre peut contenir des espaces avant et après. De plus, il peut être entouré d'un séparateur (soit un guillemet simple soit un double guillemet, heureusement que les formes valides en ASCII sont prises en compte). Le deuxième cas est avec l'instruction @import. Elle peut prendre directement une URL (avec les mêmes séparateurs que la "fonction" url) (par exemple @import "style.css";) ou via la "fonction" url (par exemple @import url(style1.css);).

Même avec la version 7 de PHP (une version récente d'un langage de programmation orienté web), il n'y a pas de manipulateur lexical pour CSS dans la bibliothèque standard. Plutôt que d'ajouter une dépendance potentiellement non maintenue sur le long terme, j'ai écrit du code pour mon cas particulier. Cela a été motivé par le fait que CSS continue d'évoluer et qu'une avancée de ce dernier pourrait casser le fonctionnement d'un analyseur lexical. Néanmoins mon code souffre d'une limitation : il analyse le CSS ligne par ligne, or la valeur d'une propriété peut être définie sur plusieurs lignes (mais c'est peu courant notamment avec l'usage de programmes pour réduire la taille d'un fichier CSS comme clean-css et YUI Compressor). De plus, mon code ne "proxifie" pas toutes les URLs sur certaines lignes longues pour une raison inconnue. Un analyseur syntaxique de CSS pourrait être utilisé pour "proxifier" toutes les URLs (puisque mon code ne gère pas tous les cas), comme PHP-CSS-Parser de sabberworm, cssparser de Intekhab Rizvi, ou celui de Hord (pour lequel Debian a un paquet). Une option pourrait être ajoutée pour désactiver l'analyseur syntaxique au profit de mon code s'il venait à émettre une erreur fatale à cause d'un cas non géré (potentiellement nouveau) de CSS ou d'une approche moins laxiste que les navigateurs web (qui ont tendance à vouloir gérer à tout prix du code même non valide).

La gestion du HTTP

Hormis la ressource demandée par une requête HTTP, il peut y avoir au moins une URL pertinente à "proxifier" (mais cette fois à la réception d'une requête et pas en modifiant préalablement les éléments pouvant en engendrer). Un cas a été identifié : l'en-tête Location. Elle permet d'indiquer une nouvelle URL pour une ressource, expliqué autrement elle sert pour faire une redirection. C'est trivial à gérer si on a déjà le nécessaire pour "proxifier" une URL. En effet, chaque champ d'une requête a un intitulé et une valeur séparée par ":" et sur une seule ligne. C'est donc très simple à analyser et par extension de créer une structure de données pour le HTTP.

La gestion du HTTP ne s'arrête néanmoins pas là. En effet, un serveur web répond à des requêtes HTTP, or le but de mon stage (et du projet qui en découle) est de rejouer une session web. Il faut donc à minima enregistrer les URLs demandées en extrayant chacune du paramètre GET correspondant. De plus, un serveur web ou une application peuvent répondre différemment en fonction des en-têtes HTTP (heureusement sinon aucun logiciel ne les utiliserait et elles seraient donc inutiles). Il y a donc un intérêt potentiel à les stocker (pour pouvoir reproduire exactement une session web) et en enlever certaines (que l'on peut juger superflues). Il a donc été fait en sorte de les enregistrer et des options ont été faites pour en enlever certaines.

Gérer les formulaires Web

Les formulaires web représentent un cas spécial. On pourrait naïvement penser que ce n'est qu'une question de HTML. Mais c'est légèrement plus compliqué que cela.

Pour les formulaires qui utilisent (implicitement ou explicitement) la méthode HTTP GET (/html/body//form[not(@action) or (string(@action) and lower-case('@method')='get') or not(@method))] en XPath 2.0), il s'agit purement de HTML. Les paramètres GET potentiellement présents dans l'URL de l'attribut form@action (qui définit à quelle URL envoyer les données du formulaire) sont ignorés, en effet ce sont les champs du formulaire qui sont passés en paramètres GET. Il faut donc créer un champ dans le formulaire (avec la balise input) pour l'URL "proxifiée" et le cacher (ce qui se fait en créant un attribut type et lui attribuant la valeur hidden).

Pour les formulaires utilisant la méthode HTTP POST (c'est l'unique autre possibilité), il faut "proxifier" l'URL de l'attribut action s'il y en a un. Une fois la requête POST reçu sur mon proxy, il faut détecter que c'est une méthode POST pour : la renvoyer en méthode POST au service "proxifié" (par défaut c'est la méthode GET qui est utilisée), ne pas essayer de "proxifier" le contenu, et ne pas renvoyer l'en-tête HTTP Content-Length (défini dans la section 14.13 de la RFC 2616) (ce qui peut faire échouer l'appel PHP à curl, probablement dans le cas où PHP ait encodé différemment le contenu et donc potentiellement changé la taille). Bien entendu, il faut aussi penser à enregistrer ces paramètres POST.

La gestion du JavaScript

Je n'y avais pas pensé au début (alors que c'est évident quand on fait du web en 2017), mais le JavaScript peut être source de requêtes web. Il faut "proxifier" les URLs de ces requêtes, bien entendu avant qu'elles n'aient lieu. La première idée qui pourrait venir à l'esprit serait d'utiliser un analyseur syntaxique de JavaScript, ce qui serait très lourd et il en existe à priori qu'en C et C++ (comme V8 de Google qui est libre) (mais il est possible d'appeler des binaires issus de ces langages avec PHP). Heureusement il n'y a pas de moyen de faire des requêtes avec le langage uniquement (c'est-à-dire avec des mots-clés de ce dernier), il faut en effet utiliser la bibliothèque standard du JavaScript. En JavaScript, une fonction peut être redéfinie sans erreur, y compris celles de la bibliothèque standard, c'est considéré comme dangereux (à juste titre) par certains, mais cela peut être fort utile dans de rares cas, comme celui présentement décrit.

2 cas de fonctions à surcharger pour "proxifier" des URLs ont été identifiés et gérés. Dans chaque cas, il faut garder en mémoire la fonction actuelle (peut être qu'un autre script a déjà changé le comportement de base de la fonction), puis créer une nouvelle fonction qui "proxifie" le ou les arguments contenant potentiellement une ou plusieurs URLs, et enfin appeler la fonction à "proxifier" avec les arguments potentiellement modifiés, tout en retournant son résultat si elle en retourne un. Il ne reste ensuite plus qu'à surcharger, en donnant le même nom pour une fonction ou en modifiant le prototype de la classe pour une méthode d'instance (en effet le JavaScript a un système de classe par prototype qui diffère du modèle traditionnel présent par exemple en PHP et Java). Le terme "fonction" doit ici être compris comme une fonction en C ou en PHP, ce qui ne doit pas être confondu avec la notion de fonction en JavaScript, car celle-ci est bien plus large (les constructeurs et les méthodes sont aussi des fonctions et d'ailleurs défini avec le même mot-clé function).

Le premier cas est facile à deviner, il s'agit de la fonction à laquelle on passe une URL pour une requête AJAX. C'est l'abréviation de "Asynchronous JavaScript and XML" et désigne un moyen de faire des requêtes synchrones ou asynchrones avec le langage JavaScript. Pour cela, il faut créer un objet de classe XMLHttpRequest (on passe ici sous silence partiel le cas de veilles versions d'Internet Explorer de Microsoft), ensuite définir un comportement (sous forme de fonction) pour le changement d'état (envoyé, reçu, etc.) puis utiliser sa méthode open, et enfin envoyer la requête avec la méthode send. Il suffit de "proxifier" le deuxième argument de la méthode open (le premier étant pour la méthode HTTP).

Le second cas est moins commun et je ne soupçonnais pas son existence. Il s'agit de l'inclusion dynamique (en JavaScript) de balise script avec un attribut src existant et avec une valeur non nulle. Cela déclenche la récupération du script (grâce à son URL issue de l'attribut src), puis l'exécute (ce qui permet d'éviter la fonction eval). Un élément DOM a une méthode setAttribute, il faut donc la "proxifier" quand elle est appelée sur une balise script et ne "proxifier" le second argument (qui correspond à la valeur de l'attribut) que quand le premier argument vaut (en étant insensible à la casse) src (puisque cette balise peut avoir d'autres attributs comme type).

La configuration

Un certain nombre de choses est configurable. Il y a 4 catégories : le proxy pour faire des requêtes (une URL et un numéro de port), la capture de session (enregistrer ou pas, en-têtes HTTP à garder, etc.), le journal d'erreurs et d'avertissements (emplacement en tant que fichier, est-il publique ou non, etc.), et l'interface graphique (montrer des aides au débogage ou pas, afficher certains éléments facultatifs ou pas, etc.).

La configuration se fait via plusieurs sources et sous forme de cascade. En effet, une source peut avoir une valeur indéfinie, mais une source de moindre priorité peut avoir une valeur définie. De plus, certaines sources ne doivent pas pouvoir définir des valeurs pour certaines propriétés. Par exemple, une source venant du client web ne doit pas être en mesure de définir le chemin d'enregistrement du fichier journal (puisqu'il pourrait s'en servir pour écrire un fichier utilisé par une autre application). Pour configurer au niveau du serveur, il faut utiliser un ou plusieurs fichiers INI.

Les différentes sources de la plus prioritaire à celle qui l'est le moins est :

  • les paramètres GET dans l'URL
  • les cookies HTTP
  • la session PHP
  • un fichier INI spécifique à une catégorie dans le dossier de l'application
  • un fichier INI général pour toutes les catégories dans le dossier de l'application
  • un fichier INI général pour toutes les catégories dans un dossier système
  • les valeurs par défaut (qui sont codées en dur)
Exemple de configuration (au format INI) # Une ligne commençant par un croisillon "#" est un commentaire. # Le dièse "♯" ne marche pas. # Une section aurait pu être utilisée. proxy-url=https://proxy proxy-port=80 [session-captured] save-session=true save-cookies=false Enregistrement des données

À chaque fois qu'une ressource est récupérée par le proxy, celui-ci doit pouvoir enregistrer la demande. L'enregistrement se fait dans le format XML, pour sa manipulation aisée (notamment via DOM, XPath, et XSLT), les nombreuses bibliothèques le gérant, le fait qu'il soit standardisé, et qu'il ne demande pas un serveur de gestion de bases de données. Néanmoins, l'enregistrement en XML est "isolé", de sorte qu'il soit facile (en ajoutant le code nécessaire) d'enregistrer dans un autre format (comme le JSON) ou avec un système de base de données (qui ajouterait une dépendance et une lourdeur) et d'ajouter une option pour choisir le format.

Un client web peut faire plusieurs requêtes simultanées (notamment pour réduire la latence avec HTTP 1). Or cela peut provoquer une écriture simultanée de nouveaux enregistrements, ce qui est presque certain de résulter en un fichier incorrect. Il a donc fallu mettre en place un verrou pour qu'un fichier d'enregistrement ne puisse être utilisé que pour un enregistrement à la fois. Cela a été fait avec la fonction flock (qui se base sur la fonction C du même nom). La mise en place et la gestion du verrou est dans une classe abstraite qui pourrait être réutilisée pour un autre format de fichier.

Le proxy était à la base mono-utilisateur. En effet, toutes les données enregistrées étaient nécessairement dans un seul et même fichier. Pour que chaque utilisateur/utilisatrice n'ait pas à installer le proxy, il fallait qu'il soit mutualisable et donc capable de gérer plusieurs personnes. Plutôt qu'un processus de création d'un compte (qui aurait été lourd à utiliser et implémenter), un système d'identifiant de session a été mis en place. Concrètement une personne qui demande à créer une session d'enregistrement se voit retourner un identifiant textuel sous forme de cookie HTTP. Cet identifiant est un nombre pseudo-aléatoire (puisqu'il n'y a pas de réel aléatoire en informatique) obtenu avec une fonction réputée sûre pour la cryptographie (donc imprédictible) (dans mon cas la fonction random_bytes de PHP), ce qui permet de s'assurer que l'on ne puisse pas prédire l'identifiant des autres utilisateurs et utilisatrices. L'identifiant est utilisé comme une partie du nom de fichier, or le nom du fichier aurait été très grand avec la valeur en décimale et illisible avec la valeur en ASCII ou unicode, il est donc le résultat d'une fonction qui prend en entrée le nombre aléatoire et retourne une valeur en hexadécimale. La fonction de hashage SHA-512 a été utilisée, car elle a l'intérêt de créer très peu de collisions (2 valeurs d'entrée ayant la même valeur de sortie) et peut compliquer une attaque s'il venait à être découvert que la fonction n'est pas cryptographiquement sûr (puisqu'une fonction de hashage est censée ne pas avoir de fonction inverse).

À tout cela, il manquait un élément clé. En effet, les données sont enregistrées pour rejouer un "session web", ce qui nécessite d'enregistrer des éléments techniques, mais également la temporalité de ceux-ci. Pour ce faire un timestamp POSIX (c'est-à-dire le nombre de secondes depuis le premier janvier 1970) est enregistré pour chaque requête. Ce format a l'avantage d'être simple et d'être très courant. Néanmoins la seconde (au format entier) n'est pas une unité très précise, puisqu'un client web sur un ordinateur moderne met moins d'une seconde pour demander différents éléments d'une page web, donc une fonction qui renvoie un timestamp avec les micro-secondes a été utilisée (il s'agit en l'occurrence de la fonction microtime).

Conversion des données

Les données sont enregistrées dans un format de données en XML. J'ai moi-même inventé ce format qui est simple et reflète la manière dont les données sont manipulées par le proxy. Cependant les données ne sont pas enregistrées pour un usage interne au proxy, mais pour être données en entrée d'un programme de test de performance. Puisque mon tuteur travaille sur CLIF, c'est pour cet outil qu'il était nécessaire (dans le cadre du stage) de proposer un moyen de faire une conversion. Cependant il n'y aurait aucun problème technique à convertir aussi pour d'autres outils similaires.

CLIF peut jouer un scénario de test avec du code Java (un langage de programmation très répandu) ou avec des données en XML pour ISAC (qui est un jeu de mot recursif : ISAC is a Scenario Architecture for CLIF). Un moyen de convertir pour le format d'ISAC est de loin ce qui est le plus simple et ne pose aucun problème de limitation dans ce cas (il est possible de coder des comportements plus complexes en Java). C'est donc ce format qui a été choisi.

Convertir un XML en un autre XML est une volonté courante. La structuration de ce format permet d'envisager facilement de répondre à cette volonté, et un langage est même dédié à cela : XSLT. La conversion est presque entièrement faite en XSLT (en moins de 300 lignes de codes), malgré des différences non négligeables (notamment la manière d'enregistrer les en-têtes HTTP). Cela a été fait en utilisant la version 1.0 du langage XSLT, car la version 2.0 apporte très peu et n'est à priori gérée que par 2 implémentations libres (Saxon-B XSLT et Saxon-HE XSLT).

Le seul élément que je n'ai pas réussi à convertir avec XSLT est le temps. En effet, mon proxy enregistre le timestamp de chaque requête alors qu'ISAC a besoin du temps entre chaque requête. Il faut donc vérifier pour chaque requête qu'il y a en une suivante (ou précédente), puis faire la soustraction des timestamp, pour ensuite ajouter un élément entre les 2 indiquant le temps qui les sépare. Il a donc fallu faire un script, à appeler avant la conversion XSLT, pour ajouter cette pause.

L'exécution du script et l'appel de la conversion XSLT sont faits en JavaScript sur le client web. L'opération est presque instantanée avec un ordinateur moderne, néanmoins c'est très dépendant de l'ampleur des données à convertir. L'avantage que ce soit le client web qui fasse l'opération est que le serveur ne nécessite pas les ressources pour cela.

Exemple de données enregistrées par mon proxy <?xml version="1.0" encoding="UTF-8"?> <session> <resource> <url value="https://www.w3.org/XML/" /> </resource> <pause value="5003.14" unit="ms" /> <resource> <url value="http://clif.ow2.org/" /> <method value="GET" /> <timeRequest value="1497965627.5526" unit="ms" type="unix-timestamp" /> <timeResponse value="1497965627.6498" unit="ms" type="unix-timestamp" /> <headers from="client"> <header key="User-Agent" value="Mozilla/5.0 (X11; i686) Firefox/45" /> <header key="Accept-Language" value="en-us"/> <header key="Connection" value="keep-alive" /> <header key="If-Modified-Since" value="Wed, 28 Oct 2015 15:47:33 GMT" /> <header key="Cache-Control" value="max-age=0" /> </headers> <proxy url="https://proxy" port="80" /> </resource> </session> Exemple de données converties pour ISAC de CLIF <?xml version="1.0" encoding="utf-8"?> <scenario> <behaviors> <plugins> <use id="replayHttp" name="HttpInjector" /> <use id="replayTimer" name="ConstantTimer" /> </plugins> <behavior id="session"> <sample use="replayHttp"> <params> <param name="uri" value="https://www.w3.org/XML/" /> </params> </sample> <timer use="replayTimer" name="sleep"> <params> <param name="duration_arg" value="5003" /> </params> </timer> <sample use="replayHttp" name="get"> <params> <param name="uri" value="http://clif.ow2.org/" /> <param name="headers" value="header=User-Agent|value=Mozilla/5.0 (X11\; i686) Firefox/45|;header=Accept-Language|value=en-us|;header=Connection|value=keep-alive|;header=If-Modified-Since|value=Wed, 28 Oct 2015 15:47:33 GMT|;header=Cache-Control|value=max-age=0|;" /> <param name="proxyhost" value="https://proxy" /> <param name="proxyport" value="80" /> </params> </sample> </behavior> </behaviors> </scenario> L’API Web

Une API (Application Programming Interface) web basique a été faite. Elle ne s'appuie ni sur XML ni sur JSON (qui sont beaucoup utilisés pour faire une API web). En effet, elle utilise les paramètres GET (en entrée uniquement), les cookies HTTP (en entrée et en sortie), et le contenu HTTP (en sortie uniquement). Elle permet de "proxifier" une ressource, gérer une session (créer, détruire, et en recréer une qui écrase l'actuelle), obtenir les données de la session dans mon format, et d'obtenir la configuration au format HTML (il pourrait être utile de faire de même en JSON et/ou XML). Elle est utilisée par l'application, mais elle pourrait être utilisée par une application tierce. Elle est plus amplement documentée dans un fichier qui est converti en page web et accessible depuis le menu du proxy.

L’interface graphique

L'interface graphique est visuellement rudimentaire, mais elle est facile à utiliser et est adaptée à un écran de mobile. La page d'accueil permet de gérer une session (en utilisant l'API web qui peut rediriger vers la page précédente), d'être envoyé sur le formulaire pour "proxifier", de télécharger les données de la session (s'il y en a), et de gérer la configuration.

Il est possible de télécharger les données de la session telles qu'elles sont enregistées par mon proxy. Il est également possible de télécharger les données converties. La conversion est pour l'instant possible uniquement pour CLIF, mais il serait facile d'ajouter le nécessaire dans l'interface graphique pour d'autres outils similaires. Pour récupérer les données converties, il y a un formulaire pré-rempli avec les données de mon proxy (récupérées via l'API grâce à une requête AJAX) qui fait la conversion dans le format sélectionné au moindre changement dans les données d'entrée dans le client web (pour éviter que le serveur ait à faire ce traitement) et en utilisant "uniquement" du JavaScript (mais le JavaScript peut utiliser du XSLT).

La configuration se fait via des formulaires. Actuellement, ils sont gérés uniquement en JavaScript, mais il serait possible d'ajouter une gestion sans JavaScript. L'avantage de passer par JavaScript est de pouvoir afficher la nouvelle configuration effective sans recharger la page et sans soumettre le formulaire pour les cases à cocher (en positionnant des cookies dans ce langage et en utilisant des requêtes AJAX avec l'API web pour la configuration).

L’installation facile

Il n'y avait aucune certitude que quelqu'un continue régulièrement de développer l'outil, il fallait donc considérer par précaution qu'il n'y aurait que moi qui en aurait une bonne connaissance technique. Il faut donc que l'installation soit facile, même sans moi, pour éviter que ce que j'ai créé tombe dans l'oubli.

La partie cliente nécessite un navigateur web avec JavaScript, comme Mozilla Firefox ou Chromium, ce qui est très simple à installer et très courant. La partie serveur est faite en PHP (dans sa version 7), qui est très courant pour faire un site web ou une application web. C'est un langage de script sans compilation, il suffit donc d'appeler un script PHP avec un interpréteur adéquat (ainsi que la bibliothèque standard) pour l'exécuter avec succès. Pour appeler automatiquement les scripts via le web, il faut un serveur web gérant CGI (Common Gateway Interface). Il y a pour cela Apache qui est libre (sous licence Apache 2.0), fonctionne sur les principaux systèmes utilisés pour faire serveur (GNU/Linux, les BSD, Microsoft Windows, et Apple macOS), packagé par les principales distributions GNU/Linux (notamment Debian, RHEL/CentOS, et Ubuntu) et est le logiciel faisant serveur web le plus utilisé au monde. Cela n'a pas été testé, mais il ne devrait pas y avoir de problème avec nginx qui est le principal concurrent libre. Les pré-requis pour l'installation et l'usage sont donc, aussi bien au niveau client que serveur, simples et courants, tout en ne nécessitant pas du logiciel privateur.

Ce que j'ai créé ne s'appuie sur rien de spécifique à un système d'exploitation (y compris pour écrire de potentielles données de sessions et de potentiels journaux d'erreurs ou avertissements) et n'a besoin que de la bibliothèque standard de PHP, déposer le code source à un endroit où un serveur web va chercher des ressources et potentiellement exécuter du code PHP (en version 7) suffit pour installer et faire fonctionner la partie serveur. Cette méthode est simple et ne nécessite que d'avoir des droits d'écriture dans un dossier qu'un serveur web utilise.

Le paquet Debian

Il y a de fortes probabilités pour que mon outil soit utilisé sur un système Debian ou un dérivé (comme Ubuntu, Mint, et Trisquel GNU/Linux). La manière propre et usuelle pour installer un élément sur un de ces systèmes est de passer par un ou des paquets Debian (qui sont des archives organisées d'une certaine manière et ont usuellement deb comme extension). Un paquet Debian a des avantages (par rapport à une installation par copier/coller), tels que pouvoir être facilement mis à disposition via un dépôt de paquets, contenir des méta-données (comme la version, un journal des modifications synthétique, et la licence de chaque fichier du paquet source), permettre l'installation automatique des dépendances (avec APT ou un outillage similaire), et il peut être vérifié qu'il suit les bonnes pratiques. Il a donc été décidé de faire un paquet Debian, ou plutôt un moyen automatique et aisé d'en faire un.

Le plus gros du travail est fait par dh_make, qui est un programme libre qui automatise de nombreuses parties de la construction d'un paquet Debian propre. Hormis le fichier control (qui contient une partie importante des méta-données) et le fichier copyright (qui indique des informations vis-à-vis des auteurs/autrices et des licences), il a essentiellement fallu faire une règle install et une autre uninstall dans le makefile (qui permettent respectivement, par logique élémentaire et convention, d'installer et de désinstaller un projet utilisable) (en utilisant le paramètre facultatif DESTDIR, qui permet par exemple de faire une installation à un emplacement où il n'y a pas besoin de privilèges d'écriture de SuperUser/root) que dh_make utilise automatiquement, comme la règle test (quand elle existe) qui lui permet de tester que les tests passent avant une potentielle construction du paquet.

La construction est faite avec debuild qui appelle le programme Lintian. Celui-ci fait des tests sur les paquets et signale des erreurs pour les problèmes graves (qui ne sont pas tolérés pour un paquet dans l'archive Debian officiel) ainsi que des avertissements pour les problèmes non significatifs (mais dont l'évaluation pourrait changer à l'avenir) (comme des fichiers sans licence ou l'inclusion de jQuery alors que cette bibliothèque JavaScript est déjà packagée dans libjs-jquery et ne devrait pas être installée plusieurs fois). Toutes les erreurs et avertissements ont été corrigés, mais il y aurait probablement des petites choses à améliorer. La création automatique du paquet en génère donc un de qualité, bien qu'il ne soit pas parfait.

Possibilités pour améliorer les performances
  • Réécrire le logiciel en langage Go : c'est un langage avec 2 implémentations libres (l'officielle et gccgo), qui peut se compiler en code natif (contrairement à PHP) et est adapté pour le Web (ce dont on peut se douter quand on connait son auteur, à savoir Google)
  • Réécrire les parties nécessitant une puissance de calcul non négligeable en C ou C++ et les appeler en PHP (le C peut aussi être appelé en Go)
  • Actuellement, il y a une classe par cas à gérer (lien, image, formulaire, script, etc.), ce qui permet de décomposer au maximum. Pour les documents HTML, chaque classe fait une requête XPath. Il serait possible d'en faire moins avec une classe qui aurait plus de responsabilités, au détriment de la qualité et maintenabilité du code source.
  • Manipuler le HTML en JavaScript sur le client : cela déchargerait notablement le serveur, mais cela nécessiterait la gestion du JavaScript sur le client et il faudrait arriver à faire les changements d'URL avant que le client web ne les utilise pour obtenir les ressources correspondantes.
  • Mon proxy récupère toutes les ressources demandées, mais il n'a aucun mécanisme de cache, ce qui peut le conduire à demander inutilement une même ressource plusieurs fois. Une solution serait d'implémenter un mécanisme de cache dans mon proxy, cela demanderait du temps mais aurait l'avantage que ce soit intégré et donc installé automatiquement. Une autre solution est de le faire utiliser un proxy web (comme Squid, Polipo, ou Varnish HTTP Cache), ce qui est facile et permet de ne pas recréer la roue, ainsi que d'être optimisé et déjà testé. Cette possibilité d'ajouter un cache n'a d'intérêt que s'il y a plusieurs utilisateurs/utilisatrices, si plusieurs clients web ne partageant pas un cache commun sont utilisés, ou si au moins un des clients web utilisés n'a pas de cache.
Et après ?

Il reste des cas non gérés ou mal gérés, comme la "proxification" des URLs dans le CSS, l'attribut pour l'intégrité en HTML, et un problème d'encodage sur de rares sites web. De plus, l'interface graphique est fonctionnelle et simple, mais a une apparence graphique très sobre, ce qui pourrait être changé par exemple avec un style CSS pré-existant comme KNACSS (qui est sous licence WTFPL), Milligram ou Twitter Bootstrap (qui sont sous la licence libre "MIT"). Il y a donc des choses à faire pour améliorer l'existant.

On peut aussi vouloir aller au-delà. Il pourrait par exemple être intéressant de faire un moyen d'exporter les données pour Apache JMeter et Tsung, qui sont 2 outils libres qui peuvent prendre du XML en entrée et qui sont packagés par la majorité des distributions GNU/Linux. Les flux de syndication (au format Atom et RSS) ne sont pas gérés, or certains navigateurs web les gèrent. De plus, on pourrait imaginer une séparation de l'API web et de l'interface graphique en 2 services différents (mais dont l'un dépend de l'autre), ce qui faciliterait la contribution à une seule des 2 parties et simplifierait la maintenance de chacune.

Il y a de nombreux tests unitaires, du moins pour PHP (qui représente la vaste majorité du code). Ainsi pour environ 15 000 lignes de codes PHP utilisés dans l'application, il y a environ 10 000 lignes de tests unitaires en PHP (chiffres obtenus respectivement avec wc -l src/include/php/class/* et wc -l tests/php/*, ce qui inclut les commentaires dont les en-têtes pour spécifier la licence de chaque fichier, les lignes vides, etc.). Il y a également d'autres tests automatiques et pas uniquement sur le code PHP. Il y a donc un filet de sécurité si l'on veut contribuer sans casser le fonctionnement et écrire le code en respectant certaines règles (pour qu'il garde une certaine homogénéité et soit donc plus facile à lire que s'il n'en avait pas). Puisque les 2 langages de programmation utilisés sont PHP et JavaScript (on fait ici exception du XSLT qui représente environ 300 lignes de code, ainsi que de HTML et CSS que tout développeur/développeuse web connait), il est facile de trouver une personne compétente pour modifier le code, car ce sont des langages courants et qui ne disparaitront pas avant de nombreuses années.

Pourquoi ce nom ?

Le nom originel est CLIF Web Proxy (d'où le logo qui n'a pas été modifié par la suite). C'était trivial et ça reflétait bien le projet, un proxy web pour le logiciel CLIF pour celles et ceux qui auraient directement sauté à cette partie (ou presque). Puisque le logiciel que j'ai produit peut être utilisé comme simple proxy web et qu'il pourrait servir pour d'autres logiciels de test de charge que CLIF, j'ai décidé de lui donner un nom plus général.

Continuant dans mon imagination prodigieuse, je l'ai nommé RyDroid Web Proxy. Cela permet de rendre hommage au Créateur Suprême. En effet, RyDroid est un pseudonyme qu'il utilise couramment sur Internet. Certains racontent que c'est un mégalomane, tandis que d'autres prétendent qu'il avait bien peu d'imagination (au moins à ce moment là), je vous laisse vous faire votre avis. Après tant d'explications techniques, vous me ou lui (c'est qu'on se perd !) pardonnerez un moment de déconne et ça peut permettre de faire émerger un sourire avant la conclusion (quel sens de la transition !).

Conclusion

J'ai réalisé un proxy pour enregistrer une session web et la sauvegarder dans un format pour un outil de test de charge (en l'occurrence CLIF). Il est utilisable en l'état, mais il y a des manques qui peuvent être dérangeants dans certaines situations, et des fonctionnalités additionnelles qui pourraient être plaisantes. 2 moyens simples d'installation sont proposés, ce qui facilite l'utilisation de ma réalisation technique.

Celle-ci a été publiée via Internet sous une licence libre, ce qui en fait un bien commun. De plus, il ne dépend que de technologies libres, ce qui permet d'avoir un contrôle total sur ce qu'il fait, mais aussi sur son évolution future, à laquelle un ou plusieurs autres contribueront potentiellement. Grâce au copyleft, les personnes distribuant des versions modifiées ont l'obligation légale de mettre leurs apports dans le pot commun, et ainsi créer un cercle vertueux qui ne soit pas basé sur l'exclusivité.

Bonnes captures Web et vive le logiciel libre !

Télécharger ce contenu au format Epub

Commentaires : voir le flux atom ouvrir dans le navigateur

Falkon 3 le nouveau navigateur pour KDE

19 juin, 2018 - 13:57

Vous souvenez‐vous de Qupzilla, petit projet commencé par le tout jeune David Rosca pour apprendre Qt, puis devenu un excellent navigateur WebKit ? En juillet 2017, pendant la réunion annuelle du projet KDE, l’Akademy, David Faure a proposé de remplacer Konqueror par Qupzilla.
Après quelques mois d’incubation, le bébé sort des éprouvettes : Falkon 3.01 est disponible depuis le 8 mai 2018. C’est un navigateur moderne, dont les onglets tournent dans des processus séparés, en utilisant QtWebEngine, lui‐même basé sur Chromium pour le rendu.

Il n’y a pas de grosses différences avec la dernière version de Qupzilla 2.2.6, c’est essentiellement une transposition vers le système de construction de KDE. Il faut bien commencer.

Les utilisateurs de Konqueror seront en terrain familier pour la partie Web et le menu de configuration, en revanche la navigation de fichiers n’est pas encore intégrée. Il faut bien commencer (bis).

Falkon protège bien votre vie privée (gestion des Cookies, de JavaScript, de HTML 5, Do Not Track), vous propose un greffon Flash (Pepper Flash), plusieurs moteurs de recherche (Duck Duck Go par défaut), un gestionnaire de sessions, des onglets avec indicateurs, un traducteur de pages Web, un validateur de code, des thèmes, une page « Speed Dial » facile à gérer, retrouve le contenu du formulaire quand on fait « précédent » — je reprends ma respiration, regardez les images :

Les indicateurs (cliquables) sur les onglets :

Le (très pratique) gestionnaire de sessions :

Le (sympathique) menu déroulant « clic droit » :

Et comme il est jeune et crashe un peu, Falkon recharge automatiquement tous les onglets ouverts. À ce stade, vous le constatez sans doute, c’est dans l’esprit de KDE : un mélange de simplicité et de « super‐pouvoirs » à portée de configuration.

Quelques extensions disponibles :
  • AdBlock, (San Ku Kaï c’est la bataille) contre les pubs ;
  • KWallet Passwords, un portefeuille pour les gérer tous ;
  • Vertical Tabs, les onglets bien dégagés sur les oreilles ;
  • AutoScroll, pour les claustros qui craignent les ascenseurs ;
  • Flash Cookie Manager, protège plus que plus la vie privée ;
  • GreaseMonkey, soyez le maîîîître du navigateur (scripts dispos sur http://openuserjs.org/) ;
  • ImageFinder, qui recherche par l’image, par l’image trouvera ;
  • Mouse Gesture, pour les souriceaux maniaques ;
  • PIM, pour jouer dans les formulaires ;
  • StatusBar Icons, oh que c’est zouli ces petites friandises là en bas !
  • Tab Manager, « Onglets ! Au rapport ! »

Les WebExtensions qui sont déjà gérées par Chrome/Chromium, Firefox, Edge et Opera ont encore un long chemin à parcourir.

L’extension ImageFinder en menu déroulant :

L’extension Vertical Tabs en mode hiérarchique :

D’ores et déjà, Falkon est un navigateur à mon goût : avec toutes les extensions, plusieurs onglets et trois fenêtres ouvertes, il tourne comme un charme sans charger le système ; je n’ai pas de problème sur les sites Web, ou alors tellement mineurs que je fais avec.

Falkon est disponible pour GNU/Linux dans vos distributions et aussi en AppImage et Flatpak (via le dépôt KDE), sous Windows (à partir de Win 7) et macOS (à venir).

Télécharger ce contenu au format Epub

Commentaires : voir le flux atom ouvrir dans le navigateur

Revue de presse de l'April pour la semaine 24 de l'année 2018

19 juin, 2018 - 13:52

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

[Numéro Magazine] Portrait de l’artiste en hackeur qui détourne les nouvelles technologies
Par Ingrid Luquet‐Gad, le jeudi 14 juin 2018. Extrait :

« Algorithmes, codage, datas, hardware… comment les artistes détournent‐ils les nouvelles technologies ? C’est la question vertigineuse à laquelle répond une double exposition au centre Pompidou, avec l’artiste japonais Ryoji Ikeda en invité d’honneur. »

[France Culture] Que reste‐t‐il du logiciel libre ?
Par Hervé Gardette, le mercredi 13 juin 2018. Extrait :

« Microsoft vient de racheter la plate‐forme de création collaborative de logiciels GitHub. Est‐ce vraiment une bonne nouvelle pour le logiciel libre ? Et quelles conséquences pour les utilisateurs ? La philosophie du libre a‐t‐elle gagné ou s’est‐elle fait manger ? »

Et aussi :

[RFI] Software Heritage, la grande bibliothèque du logiciel
Par Dominique Desaunay, le mercredi 13 juin 2018. Extrait :

« La plupart des activités humaines dépendent exclusivement des programmes informatiques qui permettent, par exemple, aux internautes de consulter leurs réseaux sociaux ainsi que de surfer sur n’importe quelle page Web. Des logiciels fragiles qui contrairement aux hiéroglyphes gravés dans la pierre peuvent s’altérer avec le temps et disparaître à jamais. C’est la raison pour laquelle les informaticiens de l’Institut national de recherche en informatique et en automatique ont développé une immense bibliothèque en ligne dénommée Software Heritage. »

Et aussi :

[Numerama] Open source : qui sont les bons élèves et les cancres parmi les géants de la tech ?
Par Victoria Castro, le mardi 12 juin 2018. Extrait :

« Tout le monde dit aimer l’open source, mais qu’en est‐il vraiment ? Nous avons dressé un classement de 6 géants de la tech, du plus grand sympathisant de l’ouverture au plus propriétaire d’entre eux. »

[BFMtv] Pourquoi les mèmes sur Internet sont en danger
Par Elsa Trujillo, le lundi 11 juin 2018. Extrait :

« L’article 13 d’un projet de directive européenne sur le droit d’auteur entend limiter drastiquement la réutilisation de contenus protégés. »

Et aussi :

Voir aussi :

Télécharger ce contenu au format Epub

Commentaires : voir le flux atom ouvrir dans le navigateur

PyConFR 2018, du 4 au 7 octobre à Lille : appel à contributions

17 juin, 2018 - 14:04

La PyConFR, c’est le rassemblement annuel francophone de passionnés et curieux du langage Python. Cette année, on invite la communauté à se retrouver à Lille du 4 au 7 octobre.

Pour ceux qui ne connaissent pas la formule, les deux premiers jours (jeudi et vendredi) sont dédiés à des sprints (hackathons), et le week‐end sera rempli de conférences et d’ateliers découverte.

Contribuez à cette édition et aidez‐nous à la rendre mémorable en proposant du contenu : conférences, ateliers, sprints !

Quelques idées de sujets : enseignement du langage, montée en charge (scaling), sécurité, science des données, apprentissage automatique (machine learning), retour d’expérience, empaquetage, présentation d’une bibliothèque, Internet des objets (IoT), asynchrone, communauté, diversité, pyre-check, 2to3, PyPy, Python vs Go, intégration et livraison continues (CI/CD), stockage de données, agents conversationnels (chatbots), Python magic, Ansible vs SaltStack et tellement d’autres…

Télécharger ce contenu au format Epub

Commentaires : voir le flux atom ouvrir dans le navigateur

Microcontrôleur de DEL basé sur ESP8266

17 juin, 2018 - 00:48

ANAVI Light Controller est une nouvelle carte matérielle libre pour contrôler un ruban de DEL (LED strip RGB). Ce projet est libre et conçu avec KiCAD, et disponible à l’achat à partir de 25 € jusqu’au 27 juin 2018.

La carte peut être utilisée de façon autonome avec le logiciel embarqué de démo en se connectant sur une page Web (MQTT d’Eclipse Paho). Mais passer par Internet via un broker MQTT public n’est peut‐être pas idéal pour tous, donc une autre solution est tout aussi envisageable via une passerelle locale (et optionnellement accessible à distance).

Naturellement, ce microcontrôleur (MCU) ESP8266 peut être aussi reprogrammé, c’est une alternative intéressante aux populaires Arduino car un bloc Wi‐Fi (pas libre ?) est intégré au MCU.

Pour ma part, j’ai eu la chance de tester le produit, ça fait le job comme on dit ! Mais je vous invite à lire la revue en français sur le blog Framboise314.

Pour utiliser une passerelle locale, il faut préalablement installer Mozilla IoT Gateway sur Raspberry Pi et reprogrammer le MCU avec mon implémentation de RGBLamp qui utilise l’API WebThings de Mozilla se connectant ensuite via mDNS, HTTP, REST (voir vidéo)…

Pour ceux qui ne veulent pas faire un pas hors de leur système d’exploitation préféré, considérez le précédent produit de Léon pour Raspberry Pi.

Finalement, si vous utilisez Mozilla IoT, les retours sont bienvenus.

Télécharger ce contenu au format Epub

Commentaires : voir le flux atom ouvrir dans le navigateur

Agenda du Libre pour la semaine 25 de l’année 2018

16 juin, 2018 - 15:53

Calendrier web, regroupant des événements liés au Libre (logiciel, salon, atelier, install party, conférence), annoncés par leurs organisateurs. Voici un récapitulatif de la semaine à venir. Le détail de chacun de ces 23 événements (1 en Belgique, 19 en France, 0 au Luxembourg, 4 au Québec, 0 en Suisse et 0 en Tunisie) est en seconde partie de dépêche.

Sommaire [CA-QC Montréal] Colloque sur le web sémantique - Le lundi 18 juin 2018 de 08h30 à 17h30.

En 2017, le deuxième colloque sur le web sémantique au Québec s’était penché sur l’intersection du web sémantique et de l’intelligence artificielle. Cette troisième édition tentera cette fois de faire converger la théorie et la pratique du développement d’applications, dans un contexte où l’exploitation des données massives, générées notamment par les objets connectés, pourraient tirer profit des technologies sémantiques et du web des données.

Les contributions de chercheurs et praticiens viseront donc à démontrer les avantages offerts par l’intégration de ces deux approches et à identifier les contraintes existantes à la réalisation d’applications dans différents domaines.

Le programme du colloque est en préparation mais les inscriptions sont ouvertes et un modeste plan de commandite est disponible pour les partenaires intéressés.

[CA-QC Montréal] 3L)-Logiciels Libres en liberté groupe d’utilisateurs de Logiciels Libres, de niveau débutant - Le lundi 18 juin 2018 de 14h00 à 17h00.

3L-Logiciels Libres en liberté

Accueil rencontre

(3L)-Logiciels Libres en liberté groupe d’utilisateurs de Logiciels Libres, de niveau débutant qui tiendra sa rencontre régulière mensuelle tous les 3ᵉ lundi de chaque mois.

En juin 2018 ce sera, le 18 prochain, de 14:00 à 17:00. Au Rond-point café autogéré 3213 Ontario est, Montréal. Pour les après midi du libre.

Lieu de rencontre régulière de 3L, Clique sur le lien no1 pour voir la carte et situer le lieu. Cllque sur le lien 2 pour voir une page web qui décrit le café autogéré rond point et ses activités.

Lien1- http://www.openstreetmap.org/note/1177511#map=19/45.54141/-73.54778&layers=N

Lien 2- https://www.facebook.com/rondpointautogere/

Le café est une coopérative de travail autogéré et a comme philosophie l’inclusion et économie sociale, ce trésor à découvrir est situer entre les rues Dézery et St-Germain sur la rue Ontario, en face de l’église de la Nativité de la Sainte Vierge d’Hochelaga et (de la nouvelle place des Tisserandes) espace publique qui remplace une entrée asphaltée en avant de l’église.

Amener vos portables, téléphones intelligents et tablette et votre bonne humeur. Venez jaser sur les logiciels libres, Nous montrer vos découvertes, poser vos questions

Guy Bernard, Fondateur

Organisateur Principal et Porte-Parole

Alias Lou P. DeVille, LoupDeVille

[CA-QC Montréal] maison des utilisateurs de Logiciels libres de Montréal - Le lundi 18 juin 2018 de 14h00 à 17h00.

Pendant sa rencontre mensuelle 3L- Logiciels Libres en Liberté, il sera possible de venir déposer des portables et des ordinateurs de bureau que vous ne vous servez plus afin de participer au programme

[FR Villeurbanne] Mapathon Missing Maps et Lien social - Le lundi 18 juin 2018 de 19h00 à 22h00.

CartONG, Le CCO et Singa Lyon vous invitent à un mapathon pour découvrir la cartographie participative et humanitaire dans OpenStreetMap pas besoin d’être un expert, c’est accessible à tout le monde

Pourquoi

L’objectif du projet Missing Maps est de créer des cartes pour les zones de crise des pays en voie de développement qui en ont le plus besoin. En effet, on peut penser qu’aujourd’hui toutes les parties du monde sont cartographiées, mais en réalité nombreuses régions ne possèdent encore aucunes cartes. L’objectif de Missing Maps est donc de cartographier toutes ces zones encore invisibles sur les cartes, pour permettre par la suite aux collectivités locales et acteurs de l’humanitaire de pouvoir agir plus efficacement en cas de crise.

Comment

Avec la plateforme de cartographie libre et contributive OpenStreetMap (OSM, le Wikipédia des cartes) un outil formidable pour remplir les blancs, n’importe qui peut participer à la cartographie de n’importe quelle zone de la planète il suffit d’un ordinateur, d’une souris et d’une connexion internet Grâce à la couverture globale d’image satellites disponible aujourd’hui, il est possible de tracer facilement routes, bâtiments ou cours d’eau, autant d’informations très utiles pour les organisations humanitaires et de développement sur le terrain.

Solidaire

Ce mapathon s’inscrit dans le nouveau projet de CartONG qui vise à renforcer l’inclusion sociale des personnes migrantes en France. Pendant cette soirée vous pourrez cartographier par binôme composé de vous et d’un membre de la communauté Singa. Une occasion de favoriser les échanges interculturels et l’apprentissage de nouveaux outils informatiques tout en soutenant un projet de solidarité internationale.

Le programme de la soirée

Nous vous proposons de découvrir comment contribuer à OpenStreetMap durant un mapathon. Cet événement s’inscrit dans le cadre de l’initiative globale Missing Maps, projet humanitaire qui vise à cartographier en amont les parties du monde vulnérables aux catastrophes naturelles, crises sanitaires, environnementale, aux conflits et à la pauvreté.

Au programme

  • 19h00 Accueil des participants, formation des binômes
  • 19h10 Mots de bienvenue, présentation du projet Missing Maps et du déroulement de la soirée
  • 19h20 Présentation de la contribution dans OSM
  • 19h30 Cartographions
  • 22h00 Fin du mapathon, conclusion sur les contributions de la soirée

Où?

39 rue Georges Courteline, 69 100 Villeurbanne,

Un grand merci au Le CCO pour l’accueil et Singa Lyon pour le soutien

Entrée gratuite sur inscription

Venez nombreux, et n’oubliez pas d’apporter votre ordinateur portable, et souri(re)s

[FR Nantes] Cycle café vie privée Préservation de son anonymat - Le lundi 18 juin 2018 de 19h00 à 21h00.

Préservation de son anonymat

Comment rester anonyme sur un PC ou sur un réseau

Démonstration du système d’exploitation Tails et du réseau Tor. Installation de Tails sur clé USB 8Go.

Au bar associatif La Dérive https://lajavadesbonsenfantsblog.wordpress.com/

[FR Paris] Certification PGP et CAcert - Le mardi 19 juin 2018 de 19h00 à 20h00.

Vous souhaitez renouveler votre certificat CAcert Augmenter son niveau de confiance Augmenter le niveau de confiance de votre clé publique PGP

Venez rencontrer des certificateurs autour d’un verre

En pratique

Pour votre clef PGP, préparez

  • deux documents d’identité français parmi la carte nationale d’identité, le passeport, la carte d’identité militaire, le permis de conduire…
  • un petit papier imprimé avec l’identifiant et l’empreinte de votre clef, en autant d’exemplaires que vous espérez rencontrer de gentils autres porteurs de clefs.

Pour votre certificat CAcert, préparez

  • deux documents d’identité français parmi la carte nationale d’identité, le passeport, la carte d’identité militaire, le permis de conduire
  • des formulaires d’accréditation imprimés, pré-remplis avec vos coordonnées en cliquant ici, ou vierges en cliquant là. Deux exemplaires pour chaque accréditation un pour vous, un pour le gentil accréditeur.

Tous les détails sur le wiki de CAcert et Meetup

[FR Quetigny] Découvrir, tester, installer Linux et d’autres logiciels libres - Le mardi 19 juin 2018 de 20h30 à 23h30.

COAGUL est une association d’utilisateurs de logiciels libres et de GNU Linux en particulier.

Nous utilisons toutes sortes de distributions GNU / Linux (Ubuntu, CentOs, Fedora, Debian, Arch…) et toutes sortes de logiciels pourvu qu’ils soient libres (VLC, LibreOffice, Firefox, Thunderbird, GPG, Tor, OpenNebula, LXC, Apache…).

Nous partageons volontiers nos connaissances des logiciels libres et l’entraide est de mise dans nos réunions.

Les permanences servent à se rencontrer et à partager nos expériences et notre savoir sur le logiciel libre.

Vous souhaitez nous rencontrer nous vous accueillerons à notre permanence.

On adore les gâteaux et les chocolats, vous pouvez donc en apporter-)

[FR Le Mans] Permanence du mercredi après-midi - Le mercredi 20 juin 2018 de 12h00 à 17h00.

Assistance technique et démonstration concernant les logiciels libres.

[BE Vottem] Atelier de formation à Scribus - Le mercredi 20 juin 2018 de 17h00 à 19h00.

Formation donnée sur 4 jours (30/05 - 06/06 - 13/06 - 20/06)

Les ateliers sont gratuits et le nombre de places limitées (4 à 8 personnes max). Pour participer à un/plusieurs atelier(s), il est obligatoire de s’inscrire au préalable auprès de l’animateur au 0479 94 69 29 ou par courriel (voir ci-dessous).

Scribus est un logiciel de PAO libre, distribué sous licence GNU GPL. Il propose de nombreuses fonctionnalités qui égalent voire dépassent parfois celles de ses concurrents commerciaux.

[FR Callian] Linux et les Logiciels Libres - Le mercredi 20 juin 2018 de 18h00 à 21h00.

Venez découvrir Linux et les logiciels libres, mais aussi vous faire aider avec votre matériel informatique quel qu’il soit, imprimante, box, tablette, smartphone y compris.

Cette année, nos objectifs évoluent, c’est-à-dire les logiciels libres restent comme l’objectif principal, mais aussi d’aider les gens avec leur matériel informatique quel qu’il soit, imprimante, box, tablette smartphone y compris.

Venez avec vos machines même sous Windows ou Mac/os, nous ne vous laisserons pas tomber, nous considérons, que vous n’êtes pas responsable de l’hégémonie commerciale des produits non libres.

Mais pourquoi venir aux réunions :

  1. Découvrir, Essayer, Installer Linux
  2. Régler vos problèmes Windows ou Mac

Venez nombreux, même par curiosité. Les animateurs seront heureux de vous accueillir et nous insistons.

L’accès est totalement libre et gratuit

Merci de vous inscrire par mail et d’indiquer le souci à régler si besoin.

[CA-QC Montréal] Soirée Wiki à la Cinémathèque québécoise - Le mercredi 20 juin 2018 de 18h00 à 21h00.

de 18h à 21h.

Venez rencontrer un·e cinéaste d’animation du Québec et découvrir sa vie et ses œuvres pour mieux les documenter sur Wikipédia et ses projets frères Vous bénéficierez des précieuses ressources documentaires de la Médiathèque Guy-L.-Coté ainsi que d’un accompagnement pour vous aider à contribuer aux projets Wikimédia.

Ces soirées se veulent conviviales et stimulantes, tout le monde est bienvenu Que vous soyez simplement curieux d’en savoir plus sur les projets Wikimédia ou sur le cinéma d’animation, que vous soyez débutant ou contributeur averti, professionnel, étudiant ou amateur, passionné ou non de cinéma… nous répondons à vos questions

Cette activité est gratuite et se déroulera à la Médiathèque Guy-L.-Coté, au sein de la Cinémathèque québécoise. Quelques ordinateurs seront disponibles, mais il est conseillé d’apporter le vôtre.

[FR Toulouse] Rencontres Tetalab - Le mercredi 20 juin 2018 de 20h30 à 23h30.

Rencontre hebdomadaire des hackers et artistes libristes Toulousains.

Ouvert au public tous les mercredi soir.

Venez nombreux.

[FR Orléans] Utiliser la ligne de commandes sous Linux - Le mercredi 20 juin 2018 de 20h30 à 22h30.

[FR Martigues] Permanence du jeudi de l'ULLM - Le jeudi 21 juin 2018 de 16h30 à 18h30.

Comment utiliser et les Logiciels Libres.

avec l’association des Utilisateurs de Logiciels Libres du Pays de Martégal (ULLM).

21 2018 de 16h30 à 18h30 à la (quai des Anglais).

Entrée Libre. Tout public.

Prochaine permanence

Le

[FR Bordeaux] Jeudi Giroll - Le jeudi 21 juin 2018 de 18h30 à 20h30.

Les membres du collectif Giroll, GIROnde Logiciels Libres, se retrouvent une fois par semaine, pour partager leurs  savoir-faire et expériences autour des logiciels libres.

Le collectif réalise aussi une webradio mensuelle, tous les second mardis du mois, à retrouver en direct sur le site de Giroll.

 Ses rencontres sont ouvertes à tous.

[FR Lyon] Jeudis Bidouille - Le jeudi 21 juin 2018 de 19h00 à 22h00.

Atelier gratuit - jeudi 19h00 à 22h00

L’EPN des Rancy (249, rue Vendôme, 69003 Lyon) et (Association Lyonnaise pour le Développement de l'Informatique Libre) vous proposent des rendez-vous mensuels pour accompagner les utilisateurs de logiciel libre dans la résolution de leur problème informatique.

L’objectif de ces ateliers sont l’entraide et dépannages entre utilisateurs de logiciel libres débutants et plus aguerris. L’occasion de voir comment ça marche, de demander un coup de pouce, de faire découvrir une astuce.

Avec la participation des bénévoles de l’ALDIL, Illyse et des utilisateurs de GNU/Linux (Ubuntu, Debian, Mageia, LinuxMint…).

Ces ateliers sont ouverts à tous.

les dates jeudis 21 septembre, 23 novembre, 21 décembre,25 janvier, 01 mars, 29 mars, 03 mai, 24 mai, 31 mai, 14 juin, 21 juin

N’hésitez pas à venir nombreux.

Rappel aucune installation de logiciel sous licence ne pourra être faite sans présentation de la licence et de sa preuve d’achat. Par défaut, les intervenants proposeront des logiciels libres mais s’adaptent à d’autres demandes.

[FR Paris] Soirée de Contribution au Libre - Le jeudi 21 juin 2018 de 19h30 à 22h30.

Parinux propose aux utilisateurs de logiciels libres de se réunir régulièrement afin de contribuer à des projets libres. En effet, un logiciel libre est souvent porté par une communauté de bénévoles et dépend d’eux pour que le logiciel évolue.

Nous nous réunissons donc tous les dans un environnement propice au travail (pas de facebook, pas de télé, pas de jeux vidéos, pas de zombies).

Vous aurez très probablement besoin d’un ordinateur portable, mais électricité et réseau fournis.

En cas de difficulté, vous pouvez joindre un des responsables de la soirée, Emmanuel Seyman (emmanuel (at) seyman.fr), Paul Marques Mota mota (at) parinux.org, ou Magali Garnero (Bookynette) tresorier (at) parinux.org.

Pour obtenir le code d’entrée de la porte cochère, envoyez un mail au responsable.

On peut amener de quoi se restaurer (Franprix, 8 rue du Chemin Vert, ferme à 22h)

Regazouillez sur Twitter - Wiki des soirées

Programme non exhaustif

  • Fedora (sa traduction)
  • Parinux, ses bugs et son infrastructure
  • April réunion du groupe de travail sensibilisation de 18h45 à 20h30. Accueil à partir de 18h30.
  • Open Food Facts/ Open Beauty Facts, sa base de données, ses contributeurs, sa roadmap
  • Schema racktables, son code
  • Agenda du Libre, mise à jour et amélioration du code
  • Ubuntu-Fr, son orga, ses événements
  • En vente libre, maintenance et commandes
  • Open street map, une fois par mois
  • Linux-Fr sait faire
  • en vente libre

tout nouveau projet est le bienvenu.

[FR Dijon] Atelier de création numérique et électronique - Le vendredi 22 juin 2018 de 20h30 à 23h59.

Le fablab et hackerspace L’abscisse vous propose comme tous les vendredis soir un atelier de création numérique et électronique.

L’atelier est équipé de différents outils perceuse, CNC, Arduino, Raspberry Pi, ordinateurs, oscilloscope, multimètre.

Une ressourcerie est à disposition, vous y trouverez des composants électroniques et des pièces détachées à prix libre.

Vous pouvez venir découvrir l’atelier et les usagers du fablab à partir de 20h30.

Vous pouvez aussi venir pour participer aux travaux numériques en cours, partager vos connaissances et vos savoir-faire.

Tous nos travaux sont libres et documentés sous licence libre.

[FR Rennes] Permanence Gulliver - Le samedi 23 juin 2018 de 14h00 à 18h00.

La permanence Gulliver aura lieu le mercredi 23 juin de14h00 à 18h00

Installer GNU LINUX ou un Logiciel Libre.

Venez nombreux.

[FR Rouen] Journée Mensuelle du Logiciel Libre - Le samedi 23 juin 2018 de 14h00 à 18h00.

Le samedi 23 juin 2018, nous organisons notre Journée Mensuelle du Logiciel Libre à la Maison St-Sever à Rouen. (Centre Commercial St-Sever, 10-12 rue Saint-Julien 76 100 Rouen) de 14h00 à 18h00.

On fera connaissance avec la toute dernière version d’openSUSE, la openSUSE Leap 15, Gnome 3.20, LibreOffice et beaucoup d’autres distributions Linux.

SUSE Linux Enterprise 12 SP3 sera aussi de la partie et comme vous le savez est la pièce maitresse d’openSUSE Leap 15 et qui est maintenue par des ingénieurs SUSE. Notons que SLE 15 a atteint Gold Master Candidate (GMC).

Nous distribuerons gracieusement des DVDs openSUSE 42.3 64 Bits à nos visiteurs dans la limite du stock disponible.

Le Raspberry Pi 3 ainsi que les Raspberry Pi 2 seront aussi à votre disposition pour votre plaisir de coder

On pourra discuter du Noyau 4.12, si le temps le permet.

Voici aussi une liste des démonstrations de logiciels libres (FOSS) que nous vous proposerons
https://nui.fr/blog/logiciels-libres-a-vous-proposer-comme-installation/

Si vous voulez présenter une distribution Linux ou un logiciel libre, contactez-moi assez rapidement pour la logistique.

Nous allons axer des sessions sur l’interopérabilité, de sorte de vous orienter vers une migration en douceur vers le logiciel libre. L’interopérabilité a toujours été notre fer de lance.

[FR Ivry sur Seine] Cours de l’Ecole du Logiciel Libre - Le samedi 23 juin 2018 de 14h30 à 18h30.

Présentation de l’E2L

Quel est le rôle de l'école du logiciel libre

Tout d’abord, ce n’est pas une école comme les autres. Elle n’a pas d’établissement fixe, pas de cours de récréation, pas de carte d’étudiant, ni de diplôme de fin d’année.

Comme toutes les écoles, son rôle est d’apprendre à ses élèves les logiciels libres, c’est-à-dire

  • comment en trouver de bons parmi les nombreux sites qui en proposent,
  • comment en prendre possession en fonction des licences,
  • comment les installer en fonction de ses besoins,
  • comment les tester et les utiliser,
  • comment en comprendre le fonctionnement pour ensuite les modifier,
  • comment écrire ses propres logiciels libres.

En fait, l’école du logiciel libre est une université populaire, comme celles qui ont vu le jour en France à partir du 19ᵉ siècle, et dont le but est de transmettre des connaissances théoriques ou pratiques à tous ceux qui le souhaitent. Et pour atteindre ce but, sa forme juridique est de type « association à but non lucratif ».

Comment fonctionne l’école

Cette école étant une association, elle possède, comme toutes les autres, un bureau, élu chaque année en assemblée générale, pour l’administrer. Mais elle a aussi des responsables pédagogiques dont le rôle est essentiel, car ce sont eux qui établissent les programmes des cours en fonction des souhaits des adhérents, valident les candidatures des enseignants et affectent les sessions.

Les membres du bureau et les responsables pédagogiques forment « l’encadrement de l’école ». Tous les membres « encadrants » doivent être membres de l’association.

Les locaux où se déroulent les cours seront ceux que l’on veut bien nous prêter une salle des fêtes, un théâtre, une salle de réunion publique, un amphi dans une école publique, ou autre.

Les thèmes des cours sont définis par les adhérents en fonction de leurs envies, de leurs besoins. Les cours sont ensuite décidés par les responsables pédagogiques de l’école en fonction des enseignants disponibles.

Afin de permettre au plus grand nombre de participer et d’assister aux cours, les sessions se tiennent essentiellement le samedi. Une première de 9h à 12h30, et une autre de 14h à 17h30.

Programme détaillé sur le site http://e2li.org

[FR Juvisy-sur-Orge] Permanence GNU/LINUX - Le samedi 23 juin 2018 de 14h30 à 16h30.

Permanence GNU/LINUX, installation et maintenance par LINESS en partenariat avec l*e CIJ* (Club informatique de Juvisy-sur-Orge).

Il s’agit d’une assistance pour vous aider à installer et utiliser LINUX, mais ce n’est pas un cours à proprement parler.

Aucune inscription préalable n’est nécessaire, aucune assiduité n’est requise.

Quand vous avez un problème vous passez nous voir.

C’est un pavillon dans un jardin.

Attention du fait des travaux de la gare l’accès en voiture peut être difficile.

Éventuellement stationner parc Danaux (à côté du pont sur la Seine) qui est gratuit le samedi après-midi (3mn à pied après pour aller au CIJ).

Par contre c’est tout à côté de la gare.

[FR Nantes] Permanence de juin 2018 - Le samedi 23 juin 2018 de 15h00 à 18h00.

Permanences de juin 2018

La permanence de juin 2018 aura lieu le

samedi 23 juin 2018 de 15h à 18h dans l’aile du local associatif Bellamy 17.

Au plaisir de vous voir.

[BE Saint-Gilles] Gnu/Linux Install party (LCP) - Le dimanche 24 juin 2018 de 10h00 à 18h00.

L’une des grandes qualités des logiciels libres, c’est qu’on peut librement les copier, les installer, les tester

Une Linux Install Party est une réunion où tout un chacun peut

  • venir copier, échanger, se faire assister dans l’installation de logiciels libres
  • partager des connaissances, des configurations, faire circuler des informations…
  • faire connaissance avec une culture du Libre.

Chaque quatrième dimanche du mois, nous organisons une Install Party à l’atelier multimedia de l’asbl fij

Le comité asbl BxLUG 2018

Télécharger ce contenu au format Epub

Commentaires : voir le flux atom ouvrir dans le navigateur

Meilleures contributions LinuxFr.org : les primées de mai 2018

15 juin, 2018 - 13:07

Nous continuons sur notre lancée de récompenser ceux qui chaque mois contribuent au site LinuxFr.org (dépêches, commentaires, logos, journaux, correctifs, etc.). Vous n’êtes pas sans risquer de gagner un abonnement à GNU/Linux Magazine France ou encore un livre des éditions Eyrolles ou ENI. Voici les gagnants du mois de mai 2018 :

Abonnement d’un an à GNU/Linux Magazine France (éditions Diamond)
mjourdan, pour Refaire LinuxFr.org : résultats de l’enquête.

Livres des éditions Eyrolles et ENI

Les livres qu’ils ont sélectionnés sont en seconde partie de la dépêche. N’oubliez pas de contribuer, LinuxFr.org vit pour vous et par vous !

Certains gagnants n’ont pas pu être joints ou n’ont pas répondu. Les lots ont été réattribués automatiquement. N’oubliez pas de mettre une adresse de courriel valable dans les paramètres de votre compte ou lors de la proposition d’une dépêche. En effet, c’est notre seul moyen de vous contacter, que ce soit pour les lots ou des questions sur votre dépêche lors de sa modération. Tous nos remerciements aux contributeurs du site ainsi qu’à GNU/Linux Magazine France, aux éditions Eyrolles et ENI.

Les livres sélectionnés par les gagnants :

                        Télécharger ce contenu au format Epub

Commentaires : voir le flux atom ouvrir dans le navigateur

L’Internet libre et ouvert est en danger : vous pouvez arrêter ce désastre

14 juin, 2018 - 23:09

Le 20 juin 2018 se tiendra un vote crucial au Parlement européen pour la sauvegarde d’un Internet libre et ouvert : les membres de la commission des affaires juridiques (JURI) voteront sur une version amendée, un texte dit « de compromis », de la proposition de directive sur le droit d’auteur. En effet, l’article 13 entend imposer aux plates‐formes d’hébergement la mise en place d’un filtrage généralisé et automatisé sur Internet des contenus que nous mettons en ligne. Vous pouvez arrêter ce désastre en demandant aux parlementaires européens de rejeter l’article 13 et en participant à la campagne Save Your Internet. On compte sur vous !

Que pouvez‐vous faire ?

Ce vote est la première étape cruciale avant le vote qui devrait se tenir en séance plénière d’ici la fin de l’année 2018. Le Parlement européen négociera le texte final dans le cadre d’un « trilogue » avec le Conseil de l’Union européenne et la Commission européenne. Or, la position de ces deux dernières institutions est déjà arrêtée : imposer aux plates‐formes d’hébergement la mise en place d’outils de censure automatique. Pour plus de détails, vous pouvez vous reporter au podcast ou à la transcription de notre émission Libre à vous ! du 5 juin 2018, émission qui traite des enjeux de cette directive droit d’auteur.

Les parlementaires européens sont un des derniers leviers pour préserver un Internet libre et ouvert. Leur faire entendre nos inquiétudes et l’importance des enjeux en cause, les convaincre de notre nombre et de notre détermination, voilà comment nous pouvons les persuader de s’opposer à ce texte rétrograde.

Contacter les parlementaires européens Pour les contacter :

Quelle que soit la méthode, l’important n’est pas d’entrer dans une démonstration technique longue et complexe. Un message personnel, simple et court, dans l’idéal suivi d’un appel, est souvent le plus efficace. N’hésitez pas non plus à relayer la campagne et à exprimer votre point de vue sur les réseaux comme Twitter ou Mastodon, en utilisant par exemple les mots clefs #FixCopyright, #CensorshipMachine ou #SaveYourInternet.

Quelques ressources utiles : L’article 13 et les forges de logiciel libre

Sur la question des forges de logiciel libre plus spécifiquement, la commission JURI semble avoir fait un pas dans le bon sens en les excluant du champ d’application de l’article 13, qu’elles soient ou non à but lucratif. Mais rien n’est encore voté ! Pour construire un rapport de force favorable et assurer cette avancée, vous pouvez signer la lettre ouverte de la campagne Save code share : sauvons le partage de code.

Si l’on peut se réjouir de cette amélioration, obtenue suite à une intense mobilisation et au travail de parlementaires européens, on ne peut pour autant pas s’en satisfaire : l’empilement d’exceptions n’est pas une solution viable et fait de ce texte une véritable « usine à gaz » juridique. De plus, il s’agit d’une mesure disproportionnée mettant en danger la liberté d’expression. Le filtrage automatisé des contenus doit être intégralement rejeté. Et comme le dit Julia Reda, eurodéputée et membre de la commission JURI, sur son site (en anglais) : chaque voix compte !

N. D. M. : quelques autres liens sur le sujet :

Télécharger ce contenu au format Epub

Commentaires : voir le flux atom ouvrir dans le navigateur

FusionDirectory 1.2.1 est sorti

14 juin, 2018 - 22:37

L’équipe de FusionDirectory est heureuse de vous annoncer la sortie du gestionnaire d’infrastructure FusionDirectory 1.2.1. Il vous permet de gérer les utilisateurs et les groupes (UNIX, Samba, informations administratives…), les services (messagerie, Web, réseau, dépôts logiciels, antivirus, voix sur IP…), les serveurs et les postes clients (déploiement, paramétrage, applications…) et d’autres. Le tout via une interface Web !

Comme indiqué dans notre documentation, Debian Wheezy n’est plus prise en charge. Si vous en avez besoin, veuillez prendre un contrat de support.

Les nouvelles fonctionnalités et les divers correctifs, dont ceux de sécurité, sont décrits en seconde partie de l’article.

Nouvelles fonctionnalités
  • l’utilisation du modificateur de date ne fonctionnait pas pour l’expiration du mot de passe UNIX ;
  • tri des entrées dans le tableau de bord des utilisateurs : il est maintenant possible d’ajouter un groupe au champ « utilisateurs et groupes » dans le rôle sudo ;
  • les entrées sont maintenant triées dans le tableau de bord de ppolicy.
Correctifs de sécurité
  • le verrouillage échouait avec plusieurs clés SSH ;
  • les restrictions de liste de contrôle d’accès n’étaient pas appliquées lors de l’accès via l’API JSON-RPC.
Autres correctifs

Pour connaître l’ensemble des correctifs veuillez lire le journal des modifications.

Télécharger ce contenu au format Epub

Commentaires : voir le flux atom ouvrir dans le navigateur

Sortie de Crème CRM en version 1.8

14 juin, 2018 - 22:37

Le 24 mai 2018 est sortie la version 1.8 du logiciel de gestion de la relation client Crème CRM, soit à peine plus de trois mois après la version 1.7 (12 février 2018).

Au programme, l’utilisation d’une version plus récente de Django et la prise en compte du RGPD. Les nouveautés sont détaillées dans la suite de la dépêche.

Description du logiciel

Crème CRM 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, etc. ;
  • un calendrier pour gérer ses rendez‐vous, appels téléphoniques, conférences, etc. ; 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.

Crème CRM dispose en outre de nombreux modules optionnels le rendant très polyvalent :

  • campagnes de courriels ;
  • devis, bons de commande, factures et avoirs ;
  • tickets, génération des rapports et graphiques…

L’objectif de Crème CRM est de fournir un logiciel libre de gestion de la relation client 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 (bien des problèmes pouvant se résoudre par l’interface de configuration) ; la contrepartie est qu’il faudra sûrement passer quelques minutes dans l’interface de configuration graphique pour avoir quelque chose qui vous convienne vraiment (la configuration par défaut ne pouvant être optimale pour tout le monde). De plus, afin de satisfaire les besoins les plus particuliers, son code est conçu pour être facilement étendu, tel un cadriciel (framework).

Du côté de la technique, Crème CRM est codé notamment avec Python/Django et fonctionne avec les bases de données MySQL, SQLite et PostgreSQL.

Principales nouveautés de la version 1.8

Voici les changements les plus notables de cette version :

Passage à Django 1.11

Django est le cadriciel (framework) Web utilisé par Crème CRM. La version 1.11 de Django est la dernière version en date avec support à long terme (LTS). Comme Django 1.8 (version utilisée par Crème 1.7) ne recevra plus de correctif de sécurité, il est vivement conseillé de passer à Crème 1.11.

Les changements seront surtout visibles pour les personnes qui développent des modules, et assez peu pour les utilisateurs finals. On notera toutefois l’apparition de nouveaux validateurs de mots de passe, qui éviteront aux utilisateurs de rentrer des mots de passe trop faibles.

Prise en compte du RGPD

Plusieurs fonctionnalités en rapport avec la confidentialité des données ont été ajoutées :

L’historique de consultation des fiches de contacts

Lorsqu’un utilisateur consulte une fiche contact, c’est enregistré dans un historique spécifique (avec une granularité d’une heure).

Voici ce qu’un super‐utilisateur pourra alors voir en allant sur une fiche contact :

Les fiches réservées aux super‐utilisateurs

Il est possible de facilement restreindre la visibilité d’une fiche aux super-utilisateurs uniquement. Cela aurait été possible avec l’ancien système de droits, mais pénible à utiliser. Aussi le système de droits se dote d’une fonctionnalité de bac à sable (sandbox) ; une fiche associée à un bac à sable n’est alors accessible que par les propriétaires de ce dernier.

Un bac à sable dédié aux super‐utilisateurs est créé à l’installation et va permettre en un clic de réserver une fiche.

Si un super-utilisateur clique sur le bouton, la fiche sera désormais affichée comme ça pour les super‐utilisateurs (les autres utilisateurs ne pouvant évidemment plus la voir) :

L’historisation des exports

Les exportations de fiches aux formats CSV ou XLS génèrent maintenant une ligne dans l’historique :

Le futur

Django 1.11 est la dernière version à prendre en charge Python 2. La prochaine version de Crème sera la 2.0 et marquera le passage à Python 3. Comme toujours, elle sortira quand elle sera prête ; mais, comme pour Crème 1.8, cela devrait être une version courte.

Télécharger ce contenu au format Epub

Commentaires : voir le flux atom ouvrir dans le navigateur

Sortie de Devuan 2.0 « ASCII »

12 juin, 2018 - 00:10

Ce 8 juin 2018, un peu plus d’un an après la sortie de la version 1.0 Jessie de la distribution Devuan, est sortie la seconde version majeure 2.0_ASCII_, nommée d’après un astéroïde découvert en 1936 par Marguerite Laugier à l’observatoire de Nice, toutes les version de Devuan seront nommées d’après les planètes mineures, dans l’ordre alphabétique, la version unstable portant le nom de Ceres (première planète mineure). Cette version continue les efforts entrepris par le projet et apporte notamment la prise en charge de nombreuses architectures ARM embarquées.

Bref historique

À l’origine du projet Devuan (prononcé « dev‐one »), on retrouve un vétéran de GNU/Linux, Jaromil, et l’organisation Dyne.org, à l’origine de nombreux logiciels libres comme Dyne:bolic, distribution spécialisée dans le multimédia (dont la prochaine version se basera sur Devuan) ou Tomb, permettant de créer des dossiers chiffrés et portables. Depuis, de nombreux autres participants l’ont rejoint.

L’objectif de Devuan est de respecter les principes originaux de Debian, mais aussi de conserver la simplicité et le minimalisme des composants système de base, contrairement aux choix effectués par le projet systemd. La principale différence de Devuan est donc l’absence totale de systemd et ses composants par défaut, ainsi qu’un effort pour que les logiciels qui dépendent de systemd soient modifiés pour ne plus en dépendre, permettant d’utiliser n’importe quel système d’initialisation (sauf systemd, évidemment).

Devuan a su montrer que le projet n’était pas qu’un coup de gueule contre les pratiques de Debian mais bien un projet sérieux et pérenne, avec de nombreux volontaires, développeurs et utilisateurs œuvrant pour une distribution de qualité. Devuan représente désormais plus de 1 % des utilisateurs de Debian. Devuan est la distribution de base utilisée par de nombreuses autres distributions dérivées. Elle arrive en effet avec un SDK (Simple Distro Kit) pour aider les développeurs à modifier la distribution.

Nouveautés

À partir de cette version, Devuan n’est plus basée sur Debian, mais il est toujours possible de migrer de Debian Stretch à Devuan ASCII (ça ne sera plus le cas pour la prochaine version). Il est possible de migrer vers cette version depuis Devuan 1.0 Jessie, Debian Jessie ou Debian Stretch.

Devuan propose désormais eudev à la place de udev (qui a été intégré dans systemd) pour la gestion des périphériques, et elogind à la place de logind (également partie de systemd) comme gestionnaire de sessions, mais il également possible d’utiliser ConsoleKit.

Les miroirs Devuan sont désormais également accessibles via Tor.

Le serveur X peut désormais être démarré sans demander de droits super‐utilisateur (root), ce qui permet de le démarrer directement en tant qu’utilisateur en ayant installé elogind et libpam-elogind avant de lancer startx.

Un service de recherche des paquets a également été mis en ligne.

Le nombre d’images que l’on peut démarrer est également en hausse, avec des images autonomes (live) avec un bureau Xfce 4, des images d’installation, une image autonome minimale en mode texte (360 Mio) et des images virtuelles pour QEMU, VirtualBox et Vagrant. Devuan propose également un nombre important d’images pour systèmes embarqués : Raspberry Pi 1-2-3, BeagleBone, Chromebook, téléphones Motorola Droid 4, Nokia N9, N900 et N950, ainsi que des images génériques pour processeurs Allwinner.

Futur

Les efforts de développement sont maintenant dirigés sur la prochaine version Beowulf qui devrait sortir dans un an. La version précédente Jessie a été placée en oldstable. Elle avait été annoncée comme LTS (long term support) l’année dernière, c.‐à‐d. une version à support étendu, mais aucune date de fin de support n’a encore été annoncée.

Télécharger ce contenu au format Epub

Commentaires : voir le flux atom ouvrir dans le navigateur

Revue de presse de l’April pour la semaine 23 de l’année 2018

11 juin, 2018 - 14:21

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

[FIGARO] Un projet de loi européen pourrait menacer les mèmes sur Internet
Par Marius François, le vendredi 8 juin 2018. Extrait :

« Les images parodiques et les remix pourraient disparaître des réseaux sociaux. Des experts dénoncent un projet de loi européen sur le droit d’auteur qui risque d’être un coup dur pour la culture “lol”. »

Voir aussi :

[01net.] Les meilleurs logiciels libres et gratuits pour Windows, Mac et Linux
Par Geoffroy Ondet, le jeudi 7 juin 2018. Extrait :

« Abandonnez les logiciels propriétaires au profit de logiciels libres et gratuits. »

[L’OBS] La bibliothèque d’Alexandrie des logiciels ouvre ses portes (virtuelles) au public
Par Thierry Noisette, le jeudi 7 juin 2018. Extrait :

« Software Heritage vise à préserver la mémoire de tous les codes sources. Elle ouvre à tous l’accès à son dépôt : 83 millions de projets logiciels. »

[RTBF Info] Des logiciels pour vous aider à contrôler vos données sur Internet
Par la rédaction, le jeudi 7 juin 2018. Extrait :

« Le règlement européen de protection des données est entré en vigueur fin du mois dernier et on peut désormais connaître auprès des entreprises mais également des fournisseurs de services du Web, les informations nous concernant qui ont pu être collectées. »

[Usbek & Rica] Depuis son exil russe, Edward Snowden estime que « tout a changé »
Par Mathilde Simon, le mardi 5 juin 2018. Extrait :

« Cela fait maintenant cinq ans qu’Edward Snowden a quitté son confort hawaiien pour une vie d’exil en Russie. Pour marquer l’anniversaire de la fuite de documents confidentiels la plus importante de l’histoire, l’ancien membre de la NSA a accordé une interview au quotidien britannique The Guardian, qui révélait alors l’affaire en 2013, dans laquelle il tire le bilan de son sacrifice. »

[Libération] Microsoft se paye un géant du logiciel libre
Par Christophe Alix, le mardi 5 juin 2018. Extrait :

« En s’emparant, pour 7,5 milliards de dollars, de la plate‐forme leader de l’open source GitHub, le géant du logiciel confirme son changement radical d‘approche. »

Et aussi :

Télécharger ce contenu au format Epub

Commentaires : voir le flux atom ouvrir dans le navigateur

Utiliser son Android de façon plus sécurisée

9 juin, 2018 - 19:27

Android, le système d’exploitation largement majoritaire sur les mobiles, est, comme chacun le sait sur LinuxFr.org, construit sur un noyau Linux.

Linux étant sous licence GPL, tout peut vous sembler parfait, mais en réalité la couche applicative Android est beaucoup moins amicale que son noyau Linux.

Le but de cet article est de vous expliquer le fonctionnement d’Android, de vous faire découvrir sa face cachée et de vous expliquer comment vivre avec dans les meilleures conditions possibles.

Sommaire

Origine de l’article : via Web ou via Tor.

Agenda du Libre pour la semaine 24 de l’année 2018

9 juin, 2018 - 16:22

Calendrier Web, regroupant des événements liés au Libre (logiciel, salon, atelier, install party, conférence), annoncés par leurs organisateurs. Voici un récapitulatif de la semaine à venir. Le détail de chacun de ces 43 événements (2 en Belgique, 38 en France, 0 au Luxembourg, 3 au Québec, 0 en Suisse et 0 en Tunisie) est en seconde partie de dépêche.

Sommaire [FR Montpellier] Wikipermanence - Le lundi 11 juin 2018 de 18h00 à 22h00.

Une Wikipermanence est une rencontre physique entre des Wikipédiens chevronnés et de nouveaux ou futurs wikipédiens qui souhaitent acquérir des connaissances et des conseils sur le fonctionnement de Wikipédia. Il ne s’agit pas d’une simple rencontre entre Wikipédiens la Wikipermanence organisée par le groupe local de Montpellier est là pour répondre aux questions, permettre des démonstrations, offrir une aide aux premiers pas et permettre un suivi.

Pour cette soirée, chacun amène ce qu’il veut à manger et à boire pour un repas partagé.

Cette rencontre nous permettra d’aborder les sujets suivants

Si vous avez des propositions, n’hésitez pas à compléter la page dédiée sur Wikipédia.

N’hésitez pas à venir c’est sans inscription, et vous l’aurez deviné, libre et gratuit

Wikipédia est une encyclopédie libre rédigée collaborativement par des milliers d’internautes. Mais, saviez-vous que vous pouviez y participer En apportant des connaissances, en créant ou améliorant des articles, en prenant des photos, ou simplement en corrigeant des fautes, vous pouvez contribuer à ce grand projet d’encyclopédie collaborative.

Alors, venez participer aux rendez-vous des Wikipermanences de Montpellier qui auront lieu à l’Atelier de Pigistes, le deuxième lundi de chaque mois, de 18h00 à 22h00.

[FR Rennes] Réunion mensuelle OpenStreetMap - Le lundi 11 juin 2018 de 19h00 à 21h00.

Les contributeurs OSM 35 proposent chaque 2e lundi du mois une réunion autour du projet de cartographie collaborative OpenStreetMap. L'occasion de découvrir le projet, de venir échanger sur les nouveautés, de partager vos initiatives.

Plus d'informations sur la communauté locale

[FR Nantes] Cycle café vie privée hygiène numérique - Le lundi 11 juin 2018 de 19h00 à 21h00.

Protection de ses données et de sa vie privée en ligne

Qui cherche à accéder à nos données et pourquoi

Comment protéger sa vie privée en ligne

Échanges sur les enjeux de la protection des données, des outils et des alternatives libres pour se protéger.

Au bar associatif La Dérive, https://lajavadesbonsenfantsblog.wordpress.com/

[FR Lyon] Debian - Le lundi 11 juin 2018 de 19h30 à 21h30.

Atelier / discussion autour du système d'exploitation GNU/Linux Debian organisé par l' ALDIL en partenariat avec la MJC de MontChat.

En complément des découvertes et bidouilles des 4e lundis du mois à la MJC, ces ateliers sont des séances d'approfondissement d'usages de Debian et dérivés.

De la ligne de commande, des fichiers de config, un atelier pour plonger dans le système, voire s’amuser avec des Raspberry Pi.
Possibilité de soirées thématiques.

Public averti ou sans allergie au Doliprane. Entrée libre et gratuite dans la limite des places disponibles.

De 19h30 à 21h30 dans l'espace EPN de la MJC de Montchat.

[FR Paris] Le RGPD… et après - Le mardi 12 juin 2018 de 17h00 à 20h15.

L'Observatoire des Libertés et du Numérique vous invite à une conférence

Le RGPD… et après

Qui se déroulera le mardi 12 juin de 17h à 20h15 au sein de l'ENS - Campus Jourdan 48 Bd Jourdan, Paris 75014, salle R2-21.

L'entrée est libre.

Cette soirée sera composée de 2 événements

  • de 17h à 18h: Vous avez une, ou plusieurs questions à poser sur le RGPD C'est l'occasion rêvée

Les membres de l'Observatoire des Libertés et du Numérique seront là pour tenter d'y répondre et éclairer au mieux les mécanismes de ce texte et de ses applications, ou même plus généralement pour répondre à toute question concernant la protection de la vie privée et des libertés en ligne.

  • de 18h15 à 20h15: Défendre collectivement la vie privée en ligne sortir de la conception "personnaliste" des données personnelles.

Une table ronde partagée par Antonio Casilli, Lionel Maurel et Arthur Messaud.

Que sont véritablement les données personnelles L'expression de nos identités, de nos individualités soit, mais également, et surtout, la représentation de liens et de comportements sociaux en ligne la majorité d'entre elles sont par nature relationnelle où sont utilisées en ce sens.

À partir de la situation juridique actuelle, et notamment des dispositions du RGPD, mais également au détour des notions de consentement, de "travailleuses et tâcherons de la données", de réflexions autour des protections sociales du monde du travail, d'action collective,etc. cette table-ronde sera l'occasion de réfléchir aux possibilités juridiques et sociales pour protéger collectivement notre droit au respect de la vie privée et nos libertés en ligne.

En espérant vous voir nombreu·ses à cet événement,

https://www.lececil.org/sites/all/files/imagecache/Big_screenshot/images/20180612.oln_.rgpdetapresbis.png

Les membres de l'Observatoire des libertés et du numérique.

Organisations membres de l’OLN: Amnesty International France, Le CECIL, Creis-Terminal, La Ligue des Droits de l'Homme (LDH), La Quadrature du Net (LQDN), Le Syndicat des Avocats de France (SAF), Le Syndicat de la Magistrature (SM).

[FR Biot] RAL Learning Centre - Le mardi 12 juin 2018 de 18h00 à 20h30.

Certains les appellent install party, d’autres encore Soirées Linux, mais les Rencontres Accès Libre sont tout cela en même temps, et bien plus encore…

C'est l’occasion de

  • discuter, échanger, expliquer
  • installer des logiciels libres
  • et, toute autre idée coopérative de solidarité à but non lucratif

Entrée Libre. Tout Public.

[FR Villeurbanne] Réunion & cartopartie OpenStreetMap - Le mardi 12 juin 2018 de 18h00 à 20h30.

Les mappeurs OSM de Lyon se rencontrent régulièrement le 2 mardi de chaque mois et chacun peut s’inviter et participer à ces rencontres.

Le CR de la rencontre précédente se trouve sur la page du Wiki-OSM Lyon/Réunion 15 mai 2018.

Si vous souhaitez mettre un sujet particulier à l’ordre du jour de la rencontre à venir, vous pouvez l’indiquer sur la page préparatoire Lyon/Réunion 12 juin 2018.

Cartopartie

Il y a 10 ans, le 15 juin 2008, avait lieu à Lyon une des premières cartoparties en France d’OpenStreetMap. La réunion mensuelle lyonnaise de ce mois est donc une belle occasion de répondre à l’invitation de La Myne en fêtant l’anniversaire par une cartopartie menée ensemble, et avec nos amis de CartONG lyonnais et tous ceux qui voudront nous rejoindre.

Certes en 10 ans les bénévoles ont bien renseigné la carte de notre ville, mais le vivant et les mutations du quartier nous réservent encore un bon potentiel à contribution. Aussi, mardi 12 juin, après une balade organisée dans le quartier pour faire des relevés d’objets à cartographier, retour à La Myne pour enregistrer et enrichir la carte OSM. Ensuite, échanges sur les richesses de la base de données, les nouveaux services, l’intérêt d’utiliser et contribuer à OSM. Visite de La Myne — Fin de soirée avec l’apéro comme il se doit.

Accès Pour raison d’assurance, l’adhésion individuelle à l’association La Myne pourra être demandée (2 euros).

Venez nombreux

[FR Reims] G.L.O.U. - Le mardi 12 juin 2018 de 18h00 à 20h30.

Le G.L.O.U. est l'occasion de boire un coup entre amis des libertés, et de discuter de tout et de rien.

Nous vous proposons de se retrouver, pour cette deuxième période de vacances estivale, autour d'un verre, mardi 12 juin 2018 à 18h00.

Lieu

Grand comptoir de Reims
à l'intérieur de la Gare de Reims centre.

[FR Nantes] Rencontre mensuelle OpenStreetMap - Le mardi 12 juin 2018 de 18h30 à 21h30.

Tous les second mardis du mois les contributeurs nantais à la carte participative libre OpenStreetMap se réunissent.

Ces rencontres libres et gratuites sont ouvertes à tout le monde.

Venez nous rencontrer et faire connaissance. Selon vos souhaits, questions, nous vous montrerons ce qu'est OpenStreetMap, comment l'utiliser ou y participer.

Le lieu de réunion est équipé d'ordinateurs mais n'hésitez pas à apporter vos appareils numériques ordinateurs portables, tablettes, smartphones.

Plan d'accès.

[FR Brignoles] Réunion Formations & Débats - Le mardi 12 juin 2018 de 18h30 à 23h00.

GULLIVAR (Groupe d’Utilisateurs de Logiciels Libres de l’Intérieur du VAR) vous invite à une soirée atelier / présentation qui aura lieu le mardi 12 juin 2018, dès 18h30, en la salle des Saint Anges, chemin de San Sumian à Brignoles.

À partir de 19h30, ateliers proposés par Jérôme Décamps

  • Information sur l’utilisation du site

À partir de 20h30, ateliers proposés par Eric Rojas

  • Outils bureautique LibreOffice

Cette soirée est ouverte à tous, adhérents et sympathisants.

Un accès haut débit (Ethernet & Wifi) est disponible pour la mise à jour et l’installation de distributions GNU/Linux.

[FR Quetigny] Découvrir, tester, installer Linux et d'autres logiciels libres - Le mardi 12 juin 2018 de 20h30 à 23h30.

COAGUL est une association d'utilisateurs de logiciels libres et de GNU Linux en particulier.

Nous utilisons toutes sortes de distributions GNU / Linux (Ubuntu, CentOs, Fedora, Debian, Arch…) et toutes sortes de logiciels pourvu qu'ils soient libres (VLC, LibreOffice, Firefox, Thunderbird, GPG, Tor, OpenNebula, LXC, Apache…).

Nous partageons volontiers nos connaissances des logiciels libres et l'entraide est de mise dans nos réunions.

Les permanences servent à se rencontrer et à partager nos expériences et notre savoir sur le logiciel libre.

Vous souhaitez nous rencontrer nous vous accueillerons à notre permanence.

On adore les gâteaux et les chocolats, vous pouvez donc en apporter-)

[FR Toulouse] EclipseCon France - Du mercredi 13 juin 2018 à 09h00 au jeudi 14 juin 2018 à 18h00.

EclipseCon France est un des évènements majeurs organisés par la communauté open source Eclipse en Europe.

Événement fédérateur, EclipseCon France est l'opportunité de rencontrer les contributeurs, les éditeurs, les intégrateurs ou les utilisateurs des technologies Eclipse et de créer des collaborations à la fois techniques et business.

Toutes les technologies Eclipse seront présentées open source IoT, Jakarta EE, Cloud & Devops, Data Science, Modeling, etc.

Venez apprendre, partager, et collaborer autour des dernières technologies et des "Working Groups" de la Fondation Eclipse.

[FR Dunkerque] Stage LaTeX - Le mercredi 13 juin 2018 de 09h00 à 17h30.

Le département Génie Thermique et Énergie de l'IUT du Littoral, en partenariat avec les associations GUTenberg (Groupe des Utilisateurs francophones de TeX) et CLX (Club des utilisateurs de LinuX du Nord Pas-de-Calais) organise son 16 stage gratuit de formation au système de préparation et de production de documents LaTeX.

Pour cette édition, ouverte à tous, nous proposons des cursus de niveaux

  • débutant pour ceux qui n'ont pas (ou que peu) pratiqué LaTeX, au cours duquel seront présentées les bases du logiciel
  • intermédiaire destiné à ceux pratiquant déjà LaTeX mais souhaitant être initiés à certaines fonctionnalités qui n'ont pas été abordées au niveau débutant
  • avancé réservé à ceux ayant une (très) bonne maîtrise de LaTeX et de ses programmes annexes et qui souhaitent augmenter leur productivité ou entrer dans les arcanes du système.

Le programme complet du stage est aussi disponible sous forme de fichier PDF.

Si vous souhaitez assister à ce stage, vous pouvez en consulter les modalités d'inscription.

[FR Le Mans] Permanence du mercredi après-midi - Le mercredi 13 juin 2018 de 12h00 à 17h00.

Assistance technique et démonstration concernant les logiciels libres.

[BE Vottem] Atelier de formation à Scribus - Le mercredi 13 juin 2018 de 17h00 à 19h00.

Formation donnée sur 4 jours (30/05 - 06/06 - 13/06 - 20/06)

Les ateliers sont gratuits et le nombre de places limitées (4 à 8 personnes max). Pour participer à un/plusieurs atelier(s), il est obligatoire de s'inscrire au préalable auprès de l'animateur au 0479 94 69 29 ou par courriel (voir ci-dessous).

Scribus est un logiciel de PAO libre, distribué sous licence GNU GPL. Il propose de nombreuses fonctionnalités qui égalent voire dépassent parfois celles de ses concurrents commerciaux.

[FR Toulouse] Contrib'Atelier - Le mercredi 13 juin 2018 de 18h00 à 23h00.

Nous utilisons des outils libres tous les jours, mais nous ne savons pas forcément comment contribuer. Et si nous cherchions ensemble Et si on contribuait ensemble, et pas seulement depuis "chez soi" ?

C'est l'idée des contrib'ateliers, appelés Framatelier pour les premiers qui ont eu lieu à Lyon.

Le premier atelier du genre à Toulouse c'est mercredi 13 juin, de 18h à 23h, à Étincelle Coworking Wilson (2, rue Austerlitz métro Jean-Jaurès).

Tout le monde est bienvenue que vous aimiez coder, concevoir, designer, traduire, documenter, écrire, communiquer vous pouvez apporter une brique dans le pot commun (je sais cette expression n'a aucun sens))

Pour vous inscrire, mais également si vous avez des projets qui ont besoin d'être boosté c'est le moment de le noter dans ce pad

https://bimestriel.framapad.org/p/contribatelier-toulouse

Venez nombreux⋅ses

[FR Grenoble] Missing Maps – Cartographier pour la bonne cause - Le mercredi 13 juin 2018 de 18h30 à 21h30.

CartONG et La Coop Infolab vous invitent à un mapathon pour découvrir la cartographie participative et humanitaire dans OpenStreetMap pas besoin d'être un expert, c'est accessible à tout le monde

Le programme de la soirée

Nous vous proposons de découvrir comment contribuer à OpenStreetMap durant un mapathon.

Cet événement s'inscrit dans le cadre de l'initiative globale Missing Maps, projet humanitaire qui vise à cartographier en amont les parties du mondes vulnérables aux catastrophes naturelles, crises sanitaires, environnementale, aux conflits et à la pauvreté.

Au programme

  • 18h30 accueil des participants
  • 18h40 Mots de bienvenue, présentation du projet Missing Maps et du déroulement de la soirée
  • 18h50 Présentation de la contribution dans OSM
  • 19h00 Contribution à la cartographie
  • 21h30 Fin du mapathon, conclusion sur les contributions de la soirée

Qu’est-ce que Missing Maps

L’objectif du projet Missing Maps est de créer des cartes pour les zones de crise des pays en voie de développement qui en ont le plus besoin.

En effet, on peut penser qu'aujourd'hui toutes les parties du monde sont cartographiées, mais en réalité nombreuses régions ne possèdent encore aucunes cartes.

L'objectif de Missing Maps est donc de cartographier toutes ces zones encore invisibles sur les cartes, pour permettre par la suite aux collectivités locales et acteurs de l'humanitaire de pouvoir agir plus efficacement en cas de crise.  

CartONG

Fondée en 2006, CartONG est une Organisation Non Gouvernementale engagée dans la promotion de l’utilisation de l’information géographique pour améliorer la collecte et l’analyse des données pour l’aide humanitaire d’urgence et le développement de programmes à travers le monde.

[FR Nantes] Apéro Monnaie Libre - Le mercredi 13 juin 2018 de 19h00 à 21h30.

Rencontre autour de la Monnaie Libre Ğ1.

Cet événement est ouvert à tous, vous pouvez venir pour poser vos questions ou "simplement" obtenir des certifications.

En attendant voici quelques liens pour découvrir cette nouvelle Monnaie

Autres liens

A bientôt.

Vincentux.

[FR Toulouse] Rencontres Tetalab - Le mercredi 13 juin 2018 de 20h30 à 23h30.

Rencontre hebdomadaire des hackers et artistes libristes Toulousains.

Ouvert au public tous les mercredi soir.

Venez nombreux.

[FR Paris] Drupagora - Le jeudi 14 juin 2018 de 09h00 à 18h00.

Premier événement francophone sur Drupal dédié aux chefs de projets et DSI, Drupagora est le rendez-vous incontournable de tout l’écosystème Drupal et attire chaque année plus de 350 professionnels, venus d’Ile de France et de Province.

L’objectif majeur pour les organisateurs est de proposer un programme de conférences de grande qualité répondant vraiment aux problématiques actuelles des professionnels.

Cette année, le fil rouge du programme sera Drupal et les nouveaux frameworks OnePage pour une expérience utilisateur 3.0
 
Avec pour thématiques principales

  • Drupal en back, un framework JavaScript en front. Comment profiter du meilleur des deux mondes
  • Drupal et Angular/React, comment gérer l'intégration
  • Drupal et Angular/React, quelles compétences privilégier chez un développeur Comment gérer son recrutement et la montée en compétences
  • Retour d’expérience d'une migration vers du One Page
  • Retour d’expérience d'une migration Drupal 8
  • Cas clients spécifiques

  • UPMC, 4 place Jussieu, Paris, Île-de-France, France

  • Adresse web http://www.drupagora.com/2018

  • Tags
    drupal, framework, francophonie, conférence, drupagora

[CA-QC Montréal] DrupalCamp Montréal 2018 - Formation - Le jeudi 14 juin 2018 de 09h00 à 17h00.

La 10e édition du DrupalCamp de Montréal est lancée

Le 10e DrupalCamp de Montréal se déroulera du 14 au 16 juin 2018, au John Molson school of Business de l’Université Concordia (1450 rue Guy, Montréal). Il s’agit d’un événement axé sur le logiciel Drupal ainsi que la communauté des utilisateurs Drupal de Montréal et du Québec. Au programme formations et conférences données par des professionnels de Montréal et d’ailleurs ainsi que de nombreuses occasions de discuter avec d’autres passionnés.

Assurez-vous d'obtenir votre billet maintenant afin que nous sachions que vous venez

Le DrupalCamp de Montréal est gratuit, ouvert au public et conçu pour différents niveaux de compétences et d'intérêts. Les présentations abordent une vaste gamme de thèmes, incluant Drupal, BackDrop, Symfony, PHP, JavaScript, la gestion de projet et le marketing en ligne. C’est aussi un bon moment pour découvrir la communauté Drupal et connecter avec d’autres professionnels du milieu.

Visiter notre site pour l’ouverture des inscriptions, le dévoilement de la programmation détaillée ainsi que d’autres annonces à propos du camp.

[FR Martigues] Permanence du jeudi de l'ULLM - Le jeudi 14 juin 2018 de 16h30 à 18h30.

Comment utiliser Linux et les Logiciels Libres.

Avec l’association des Utilisateurs de Logiciels Libres du Pays de Martégal (ULLM).

Jeudi 14 juin 2018 de 16h30 à 18h30 à la EPN Médiathèque de Martigues (quai des Anglais).

Entrée Libre. Tout public.

Prochaines permanences :

Le jeudi 21 juin 2018

Le jeudi 28 juin 2018

[FR Bordeaux] Jeudi Giroll - Le jeudi 14 juin 2018 de 18h30 à 20h30.

Les membres du collectif Giroll, GIROnde Logiciels Libres, se retrouvent une fois par semaine, pour partager leurs  savoir-faire et expériences autour des logiciels libres.

Le collectif réalise aussi une webradio mensuelle, tous les second mardis du mois, à retrouver en direct sur le site de Giroll.

 Ses rencontres sont ouvertes à tous.

[FR Paris] RGPD Que change le nouveau cadre juridique pour la protection de nos données - Le jeudi 14 juin 2018 de 18h30 à 20h00.

La Maison de la Médiation Numérique a le plaisir de vous inviter, avec le soutien de la Fondation Free, à une soirée-discussion sur 

RGPD Que change le nouveau cadre juridique pour la protection de nos données

Le débat sera animé par Yoann du collectif La Boussole

jeudi 14 juin 2018 à 18h30

à La Maison de la Médiation Numérique, Espace Olympiades
Dalle des Olympiades, Hall 4, RDC Tour ROME
75013 Paris

Entrée libre

[FR Lyon] Jeudis Bidouille - Le jeudi 14 juin 2018 de 19h00 à 22h00.

Atelier gratuit - jeudi 19h00 à 22h00

L’EPN des Rancy (249, rue Vendôme, 69003 Lyon) et l'association ALDIL (Association Lyonnaise pour le Développement de l'Informatique Libre) vous proposent des rendez-vous mensuels pour accompagner les utilisateurs de logiciel libre dans la résolution de leur problème informatique.

L'objectif de ces ateliers sont l'entraide et dépannages entre utilisateurs de logiciel libres débutants et plus aguerris. L’occasion de voir comment ça marche, de demander un coup de pouce, de faire découvrir une astuce.

Avec la participation des bénévoles de l’ALDIL, Illyse et des utilisateurs de GNU/Linux (Ubuntu, Debian, Mageia, LinuxMint…).

Ces ateliers sont ouverts à tous.

les dates jeudis 21 septembre, 23 novembre, 21 décembre,25 janvier, 01 mars, 29 mars, 03 mai, 24 mai, 31 mai, 14 juin, 21 juin

N'hésitez pas à venir nombreux.

Rappel aucune installation de logiciel sous licence ne pourra être faite sans présentation de la licence et de sa preuve d’achat. Par défaut, les intervenants proposeront des logiciels libres mais s’adaptent à d’autres demandes.

[FR Bordeaux] Radio Giroll - Le jeudi 14 juin 2018 de 19h00 à 20h00.

Le collectif Giroll fait sa radio tout les second jeudi du mois de 19h à 20h, et discute de l'actualité des cultures libres.

Nous sommes en direct sur notre site internet depuis le centre d'animation Saint Pierre à Bordeaux, et sur IRC sur le canal #giroll sur le réseau de freenode.net.

[FR Paris] Soirée de Contribution au Libre - Le jeudi 14 juin 2018 de 19h30 à 22h30.

Parinux propose aux utilisateurs de logiciels libres de se réunir régulièrement afin de contribuer à des projets libres. En effet, un logiciel libre est souvent porté par une communauté de bénévoles et dépend d'eux pour que le logiciel évolue.

Nous nous réunissons donc tous les jeudis soirs dans un environnement propice au travail (pas de facebook, pas de télé, pas de jeux vidéos, pas de zombies).

Vous aurez très probablement besoin d'un ordinateur portable, mais électricité et réseau fournis.

En cas de difficulté, vous pouvez joindre un des responsables de la soirée, Emmanuel Seyman (emmanuel (at) seyman.fr), Paul Marques Mota mota (at) parinux.org, ou Magali Garnero (Bookynette) tresorier (at) parinux.org.

Pour obtenir le code d'entrée de la porte cochère, envoyez un mail au responsable.

On peut amener de quoi se restaurer (Franprix, 8 rue du Chemin Vert, ferme à 22h)

Regazouillez sur Twitter - Wiki des soirées

Programme non exhaustif

  • Fedora (sa traduction)
  • Parinux, ses bugs et son infrastructure
  • April, … y a toujours quelque chose à faire
  • Open Food Facts/ Open Beauty Facts, sa base de données, ses contributeurs, sa roadmap
  • Schema racktables, son code
  • Agenda du Libre, mise à jour et amélioration du code
  • Ubuntu-Fr, son orga, ses événements
  • En vente libre, maintenance et commandes
  • Open street map, une fois par mois
  • Linux-Fr sait faire
  • en vente libre

tout nouveau projet est le bienvenu.

[CA-QC Coteau du Lac] Émission #154 de bloguelinux - Le jeudi 14 juin 2018 de 20h00 à 21h00.

bloguelinux.ca est un blogue québécois offrant la diffusion d'un podcast qui traite des logiciels libres, du système d'exploitation Linux et de la technologie en général il y a un processeur, il y a un système d'exploitation, c'est certain que ça nous intéresse

bloguelinux.ca est enregistré le jeudi à 20h00 toutes les deux semaines.

Vous pouvez nous écouter en direct lors des enregistrements à l'adresse http://live.bloguelinux.ca ou directement sur notre site à http://www.bloguelinux.ca en cliquant sur la radio dans le panneau de gauche du site.

Vous pouvez rejoindre nos conversations avec Telegram en vous abonnant au groupe BlogueLinux en suivant le lien suivant https://t.me/joinchat/ArPfnBHCcui2t_CY6qAPAg et dans notre salle de chat en vous connectant sur les serveurs de freenode.net dans la salle #bloguelinux.

Si vous n'avez pas de client IRC, vous pouvez utiliser l'adresse http://webchat.freenode.net

AVERTISSEMENT Ce podcast peut contenir du langage inapproprié ou vulgaire et peut ne pas convenir à tout le monde.

Animateurs Patrick et Sandrine

[FR Paris] Hackathon #dataFin Exploitez les données financières publiques - Du vendredi 15 juin 2018 à 08h00 au samedi 16 juin 2018 à 20h00.

La Société a le droit de demander compte à tout Agent public de son administration. »
(Art.15 de la Déclaration des Droits de l’Homme et du Citoyen de 1789)

Le ministère de l’Action et des Comptes publics, l’Assemblée nationale et la Cour des comptes, avec le concours de la direction du Numérique et du Système d’information et de communication de l’État (DINSIC), organisent pour la première fois un hackathon commun consacré aux données financières publiques, les 15 et 16 juin 2018, à l’Assemblée nationale. .

Les données budgétaires et comptables et les grands équilibres des finances publiques souffrent d’un déficit de connaissance de la part du grand public, alors qu’une meilleure appropriation par les citoyens contribue à objectiver les débats sur les politiques publiques et sur leur financement.

Venez participer à la valorisation des données financières publiques

Pourquoi

Saisissez l’occasion de relever des défis qui porteront notamment sur l’utilisation de l’impôt, sur la mesure de l’efficacité des politiques publiques ou encore sur l’aide à la recherche dans le dédale des données financières publiques.

Qui

Que vous soyez développeur, data-scientist, designer, chercheur, data-journaliste ou un citoyen curieux, RETENEZ LA DATE

Données disponibles

À cette occasion, la direction générale des Finances publiques publiera pour la première fois en open data les données permettant d’établir le Compte général de l’État (CGE), c’est à dire les données comptables par programme et par compte. Pour sa part, l’Assemblée nationale mettra également à disposition pour la première fois en open data les données relatives à l’exécution de son budget.

Ce sera aussi l’occasion de réutiliser les données déjà diffusées sur la plateforme data.gouv.fr comme

  • les données budgétaires et de performance (objectifs et indicateurs de résultat des politiques publiques de l’État) fournies par la direction du Budget et annexées aux lois de finances,
  • la liste des amendements et des rapports de l’Assemblée,
  • la jurisprudence des juridictions financières et les recommandations de la Cour des comptes.

Vous pouvez d’ores et déjà consulter les données disponibles pour le hackathon et les premiers défis sur le site datafin.fr. N’hésitez pas à enrichir la liste de défis et à poser vos questions.

INSCRIVEZ-VOUS

Fin des inscriptions et dans la limite des places disponibles le lundi 11 juin 2018 à 12h00.

Une confirmation d’inscription vous sera adressée, validant votre participation (En conséquence merci d’indiquer votre adresse mail dans le formulaire d’inscription, champ Contact).

Programme du Hackathon

  • 1er jour, le vendredi 15 juin 2018

    • 8h00 – 9h00 accueil des participants
    • 9h00 – 10h15 présentation du hackathon et des défis
    • 10h15 – 19h00 constitution des équipes et travaux en groupe
    • Clôture des portes à 20h
  • 2ème jour, le samedi 16 juin 2018

    • 8h30 – 09h00 accueil des participants
    • 9h – 17h travaux de groupes
    • 17h-18h restitutions des projets
    • 18h-19h30 clôture et cocktail

Un buffet sera offert aux participants au cours des deux journées.

[CA-QC Montreal] DrupalCamp Montréal 2018 - Conférences - Du vendredi 15 juin 2018 à 09h00 au samedi 16 juin 2018 à 18h00.

La 10e édition du DrupalCamp de Montréal est lancée

Le 10e DrupalCamp de Montréal se déroulera du 14 au 16 juin 2018, au John Molson school of Business de l’Université Concordia (1450 rue Guy, Montréal). Il s’agit d’un événement axé sur le logiciel Drupal ainsi que la communauté des utilisateurs Drupal de Montréal et du Québec. Au programme formations et conférences données par des professionnels de Montréal et d’ailleurs ainsi que de nombreuses occasions de discuter avec d’autres passionnés.

Assurez-vous d'obtenir votre billet maintenant afin que nous sachions que vous venez

Le DrupalCamp de Montréal est gratuit, ouvert au public et conçu pour différents niveaux de compétences et d'intérêts. Les présentations abordent une vaste gamme de thèmes, incluant Drupal, BackDrop, Symfony, PHP, JavaScript, la gestion de projet et le marketing en ligne. C’est aussi un bon moment pour découvrir la communauté Drupal et connecter avec d’autres professionnels du milieu.

Ouverture des soumissions pour présenter au DrupalCamp Montréal

Avis à tous la période de soumission pour les conférences est ouverte jusqu’au 11 mai 2018 et le comité organisateur du camp attend vos propositions avec impatience Chaque année, une variété de conférences de qualité est offerte lors du camp. Nous espérons que la communauté sera enthousiaste et la participation au rendez-vous pour cette 10e édition

Vous pouvez trouver le formulaire de soumission ici. Nous vous rappelons que la durée des sessions est de 45 minutes.

Le DrupalCamp vous remercie d’avance pour votre participation

[FR Antibes] Rencontre Accès Libre (RAL) - Le vendredi 15 juin 2018 de 18h00 à 21h00.

Certains les appellent install party, d’autres encore Soirées Linux, mais les Rencontres Accès Libre sont tout cela en même temps, et bien plus encore.

C'est l’occasion de

  • discuter, échanger, expliquer
  • installer des logiciels libres
  • et, toute autre idée coopérative de solidarité à but non lucratif

Entrée Libre. Tout Public

[FR Paris] Apéro du Libre - Le vendredi 15 juin 2018 de 19h00 à 23h00.

Tous les 15 du mois, Parinux vous convie à l'Apéro Parisien du Libre (APL). Cet événement informel et convivial réunit les personnes intéressées par le monde du Libre.

Pour le 15 juin, nous vous donnons rendez-vous au Kiez Kanal à partir de 19h pour échanger autour du Libre avec les bénévoles de l’association Parinux.

Tou·te·s sont les bienvenu·e·s, qu'ils/elles soient membres ou non, que ce soit pour découvrir l'association, se renseigner sur ses activités, ou simplement partager un bon moment avec d'autres bénévoles du Libre

[FR Orléans] Réunion mensuelle - Le vendredi 15 juin 2018 de 20h30 à 23h00.

La prochaine réunion de l'association aura lieu le vendredi 18 mai à partir de 20h30 à la salle des Arteliers de la Source

(2 rue Edouard Branly à Orléans-la-Source)

Au programme de ce vendredi

  • Protéger sa vie privée sur pc

Pour venir nous voir Plan d'accés

Venez nombreux et parlez-en autour de vous car les réunions de l'association sont aussi ouvertes aux non adhérents.

[FR Dijon] Atelier de création numérique et électronique - Le vendredi 15 juin 2018 de 20h30 à 23h59.

Le fablab et hackerspace L'abscisse vous propose comme tous les vendredis soir un atelier de création numérique et électronique.

L'atelier est équipé de différents outils perceuse, CNC, Arduino, Raspberry Pi, ordinateurs, oscilloscope, multimètre.

Une ressourcerie est à disposition, vous y trouverez des composants électroniques et des pièces détachées à prix libre.

Vous pouvez venir découvrir l'atelier et les usagers du fablab à partir de 20h30.

Vous pouvez aussi venir pour participer aux travaux numériques en cours, partager vos connaissances et vos savoir-faire.

Tous nos travaux sont libres et documentés sous licence libre.

[FR Saverne] Install partie linux et objets connectés (raspberry pi) - Le samedi 16 juin 2018 de 09h00 à 16h00.

Atelier de découverte de Linux et des Logiciels Libres

Assez de Windows qui plante tout le temps ? Assez de devoir attendre pour les mises à jour ?

Envie de changer, mais pour quoi, pour qui Linux est une alternative qui permet de donner une seconde jeunesse à votre ordinateur qui rame tout letemps.

Pour information voici la date d'arrêt des systèmes d’exploitation.

Microsoft- Windows XP, 8 avril 2014- Windows vista, 10 avril 2012- Windows 7, 13 janvier 2015- Windows 8/8.1, 9 janvier 2018- Windows 10 version 1607, 10 avril 2018

Ces systèmes ne fournissent plus de support et ne sont plus mis à jour.

Les autres systèmes d'exploitation suivent le même chemin depuis la sortie de Windows 10…

Les logiciels libres nous sont utiles pour préserver notre vie privée et garantir la pérennité de nos données.

Il n'est pas nécessaire de posséder une suite de bureautique commerciale, LibreOffice fait mieux <:- personnes souhaitant installer Linux sur un PC ou simplement découvrir les logiciels libres-

Propriétaires de Raspberry Pi

Au programme

Découverte et mise en route d'un Raspberry Pi avec la distribution raspbian

Découverte de Linux (Debian facile) et installation sur les ordinateurs-

Installation de logiciels libres sur Mac Os X avec Homebrew

Les personnes intéressées devront penser à apporter leurs ordinateurs complets et leurs imprimantes pour que l’on puisse convenablement configurer leurs machines.

Lieu:

Centre culturel franco maghrébin (4 rue Neuve Saverne)

Date 16 Juin 2018 de 9h00 à 16h00

Renseignements et inscriptions obligatoires répondeur téléphonique au 09 50 19 93 13

Demande de participation pour couvrir les frais.

[FR Lyon] WikNic - Le samedi 16 juin 2018 de 12h00 à 14h00.

Le WikNic se propose d'être une nouvelle initiative visant à rencontrer d'autres wikipédiens et wikimédiens.

Près de chez vous, prenez le temps d'un repas convivial et partagé pour rencontrer d'autres contributeurs

[BE Liege] Café crypté - Atelier d'autodéfense numérique - Le samedi 16 juin 2018 de 13h30 à 17h30.

Le Café crypté est un moment qui existe dans le but de comprendre et d'analyser les dangers du profilage commercial et de la surveillance généralisée sur internet et donc le droit à la vie privée mais aussi, le café crypté existe afin de partager, utiliser et créer collectivement des moyens de préserver nos libertés.

Le Café crypté est ouvert à toutes et tous, militant.e.s ou non militant.e.s, quelles que soient les compétences informatiques de chacune et chacun. Il est, par contre, préférable de venir avec son ordinateur portable, smartphone ou tablette.

Les ateliers commencent à 13h30 et se terminent à 17h30, une discussion collective autour d'une thématique en particulier alimentera le début de l'atelier.

Ateliers limités à 20 personnes, venez quand vous voulez, l'espace est ouvert.

Information alexandre@barricade.be

Une coorganisation Barricade - Bawet

Affiche

[FR Murbach] Réunion informatisée Murbach - Le samedi 16 juin 2018 de 13h30 à 18h00.

L'association LUG68 vous invite à sa prochaine réunion informatisée mensuelle, le samedi après-midi à Murbach-près-Guebwiller, où vous pouvez venir avec votre machine, portable ou fixe pour

  • installer GNU/Linux à côté ou en remplacement de votre système existant
  • demander de l'aide sur un logiciel libre (toute plateforme)
  • découvrir un tas de logiciels libres, fonctionnels et puissants

Pour ceux qui viennent avec une tour, nous avons des écrans VGA sur place et un charriot pour transporter le matériel au 2ème étage avec l'ascenseur.

Pensez simplement à ramener clavier, souris, et câble réseau RJ45

Côté fonctionnement, nous ne faisons pas de formation informatique à proprement parler chacun vient avec ses besoins et/ou désirs, et avance à son rythme, en sollicitant l'aide des membres présents, dans une ambiance chaleureuse et conviviale

Tous les autres détails sont sur notre site internet (rubrique débutants) !

A noter que le Domaine Langmatt est un hôtel-restaurant situé tout en haut de Murbach (800m d'altitude), dans la forêt il faut dépasser la célèbre abbaye de Murbach, et continuer jusqu'au bout de la route, cf. carte OpenStreetMap.

Le bâtiment qui nous accueille est à gauche, et la salle au 3ème étage

[FR Strasbourg] Libérez votre vie numérique sécurisez vos accès et vos données - Le samedi 16 juin 2018 de 14h00 à 17h00.

Dans ce nouvel atelier, nous allons parler de sécurité des données

Comment (et pourquoi) bien choisir ses mots de passe, les gérer stocker ses données (fichiers, etc) chez un intermédiaire de confiance (piratages de Yahoo, Dropbox,…).

Vous pourrez aussi découvrir des solutions alternatives comme celle des logiciels libres ou encore avoir de l’aide pour installer une suite Linux sur votre propre ordinateur.

Vous pouvez apporter votre ordinateur personnel

Cet atelier est animé par l’association alsacienne SEERAIWER

[FR Noisy-le-Sec] Install party - Le samedi 16 juin 2018 de 14h00 à 18h00.

Une install party est un terme anglais qui signifie "fête d'installation". C'est un rendez-vous où l'on vient avec son ordinateur pour rencontrer des utilisateurs de logiciels libres qui vous aident à installer et configurer un nouveau système d'exploitation libre.

Au programme aide à l'installation, démonstration de logiciels et de jeux libres.

Dans le cadre des week-ends éphémères sur l'esplanade de la médiathèque.

Dans la limite des places disponibles, inscription souhaitée.

Médiathèque Roger Gouhier - 3 rue Jean Jaurès 93130 Noisy-le-Sec - 01 49 42 67 19

[FR Ivry sur Seine] Cours de l'Ecole du Logiciel Libre - Le samedi 16 juin 2018 de 14h30 à 18h30.

Présentation de l'E2L

Quel est le rôle de l'école du logiciel libre

Tout d'abord, ce n'est pas une école comme les autres. Elle n'a pas d'établissement fixe, pas de cours de récréation, pas de carte d'étudiant, ni de diplôme de fin d'année.

Comme toutes les écoles, son rôle est d'apprendre à ses élèves les logiciels libres, c'est-à-dire

  • comment en trouver de bons parmi les nombreux sites qui en proposent,
  • comment en prendre possession en fonction des licences,
  • comment les installer en fonction de ses besoins,
  • comment les tester et les utiliser,
  • comment en comprendre le fonctionnement pour ensuite les modifier,
  • comment écrire ses propres logiciels libres.

En fait, l'école du logiciel libre est une université populaire, comme celles qui ont vu le jour en France à partir du 19 ème siècle, et dont le but est de transmettre des connaissances théoriques ou pratiques à tous ceux qui le souhaitent. Et pour atteindre ce but, sa forme juridique est de type " association à but non lucratif ".

Comment fonctionne l'école

Cette école étant une association, elle possède, comme toutes les autres, un bureau, élu chaque année en assemblée générale, pour l'administrer. Mais elle a aussi des responsables pédagogiques dont le rôle est essentiel car ce sont eux qui établissent les programmes des cours en fonction des souhaits des adhérents, valident les candidatures des enseignants et affectent les sessions.

Les membres du bureau et les responsables pédagogiques forment "l'encadrement de l'école ". Tous les membres "encadrants" doivent être membres de l'association.

Les locaux où se déroulent les cours seront ceux que l'on veut bien nous prêter une salle des fêtes, un théâtre, une salle de réunion publique, un amphi dans une école publique, ou autre.

Les thèmes des cours sont définis par les adhérents en fonction de leurs envies, de leurs besoins. Les cours sont ensuite décidés par les responsables pédagogiques de l'école en fonction des enseignants disponibles.

Afin de permettre au plus grand nombre de participer et d'assister aux cours, les sessions se tiennent essentiellement le samedi. Une première de 9h à 12h30, et une autre de 14h à 17h30.

Programme détaillé sur le site http://e2li.org

[FR Libourne] install party - Le samedi 16 juin 2018 de 15h00 à 19h00.

L'association LIB.LINUX Club informatique de la communauté du Libournais.

Vous invite à une Install Prty GNU/Linux.

Le samedi 9 juin 2018 de 15h00 à 19h00.

À la maison des associations 47 boulevard de Quinault 33500 Libourne

Entrée gratuite a tout passionné, bénévole, curieux.

[FR Corcelles-les-Monts] Pique-nique COAGUL et pique-nique APRIL - Le dimanche 17 juin 2018 de 12h00 à 15h00.

Pour fêter la fin de l’année, COAGUL organise un repas le dimanche 17 juin 2018 à partir de 12H00 à la Base de loisirs et jardin de Corcelles-les-Monts.

Les adhérents de l'April sont également invités, ainsi que toutes les personnes désirant nous rencontrer et échanger.

L’April est une association nationale de promotion du logiciel libre dont COAGUL est membre depuis 2005.

Pour ce repas ça sera l’auberge espagnole, chacun amène ce qu’il veut ou peut, le mieux étant de prévoir un peu à boire et un peu à manger.

L’association prendra en charge l’apéritif-)

Si vous êtes certains de venir, vous pouvez nous le signaler.

Pensez au co-voiturage, prenez contact

Télécharger ce contenu au format Epub

Commentaires : voir le flux atom ouvrir dans le navigateur

Les journaux LinuxFr.org les mieux notés du mois de mai 2018

9 juin, 2018 - 15:56

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 mai passé :

Télécharger ce contenu au format Epub

Commentaires : voir le flux atom ouvrir dans le navigateur

Hébergez votre projet open source sur la nouvelle plate‐forme Agile et libre : Tuleap.net

8 juin, 2018 - 11:09

L’équipe Tuleap a le plaisir de vous annoncer qu’elle vient d’ouvrir la plate‐forme Tuleap.net à tous les projets libres et open source.

La plate‐forme Tuleap.net, basée sur l’outil Tuleap, hébergeait jusqu’à maintenant uniquement le projet Tuleap en lui‐même. Devant le dernier buzz dans le monde du développement qui ne vous aura pas échappé (Microsoft rachète GitHub), nous avons décidé de nous lancer : on vous accueille tous, avec plaisir et l’on partage cette plate‐forme aux fortes fonctionnalités.

Pourquoi ? Parce que certains d’entre vous verrons dans cet évènement, l’occasion de faire le point : sur leur engagement envers le Libre, sur ce dont ils ont besoin en termes d’ingénierie logicielle et de gestion de projet.

Avec Tuleap.net, vous allez pouvoir :

  • planifier et suivre vos projets : soit avec une vue type Scrum, soit avec les tableaux Kanban ;
  • créer et suivre vos tâches, stories, exigences, bogues, etc. ;
  • héberger votre code avec Git, en discuter avec les discussions en ligne ou utiliser Subversion ;
  • gérer vos documents, mettre des flux d’approbation ;
  • faire des campagnes de tests manuels et automatisés.

Pour rappel, voici tout ce que Tuleap offre dans sa version 10, présentée le mois dernier.

Ça vous tente ? Seule condition, que votre projet soit public et open source.

À vous de jouer ! Nous, on héberge et on maintient.

Télécharger ce contenu au format Epub

Commentaires : voir le flux atom ouvrir dans le navigateur

GNU Emacs 26.1

7 juin, 2018 - 15:29

Et voici une nouvelle version majeure pour notre éditeur de texte préféré. La fonctionnalité la plus attendue est certainement le prise en charge d’une forme native de concurrence pour le langage Emacs Lisp, qui devrait permettre la disparition d’actions bloquantes pour l’utilisateur.

Pour celles et ceux ne vivant pas dans Emacs, on rappellera que ce n’est pas un simple éditeur de texte. D’abord, cette version d’Emacs est le bébé de Richard Stallman, ensuite, c’est surtout une machine virtuelle qui tourne en Emacs Lisp. On peut écrire des extensions avec un vrai langage de programmation, pour à peu près tout faire, y compris un éditeur de texte ou le café.

Emacs comptant une longue histoire, ses raccourcis clavier peuvent dérouter le débutant, qui devra passer par une phase d’apprentissage (alt-x help-with-tutorial) et appréciera certainement des Kits de démarrage comportant une configuration complète par défaut (les populaires étant Prelude et Spacemacs, orienté édition modale, avec une excellente émulation de vim, evil-mode, et une bonne aide interactive avec which-key-mode).

Emacs et son écosystème (voir les extensions sur elpa (officiel) ou melpa) comporte quelques « killer‐apps », telles que Org-mode ou Magit, dont on profite pour parler un petit peu plus bas.

Sommaire Améliorations Org-mode 9.1

Emacs est livré avec Org-mode v9.1 par défaut. On peut bien sûr mettre à jour Org-mode indépendamment.

Org-mode est un outil inégalé d’Emacs, à l’instar de Magit (vidéo sur C’est la Z). Org-mode vous permet de noter « votre vie en texte brut ». C’est non seulement un langage de modèles (à la Markdown), mais un outil de gestion de tâches, de planning, de temps, de rédaction (exportations en LaTex, PDF, HTML, ODS…) et bien plus encore.

Cf. une vidéo d’introduction et la série de tutoriels en trois parties présentée ici‐même.

Améliorations à Dired, le navigateur de fichiers

Dired est le gestionnaire de fichiers en mode texte d’Emacs, que l’on obtient lorsque l’on ouvre un répertoire (C-x C-f répertoire/ RET). On peut effectuer tout un tas d’opérations, avec les commandes d’édition de texte habituelles de notre configuration Emacs.

N’oubliez pas de regarder les menus pour vous repérer au début.

Dired a reçu plusieurs améliorations, par exemple dans le mode wdired (writable-dired), si l’on met une ou des plusieurs obliques (slashes) dans un nom de fichier, les répertoires correspondants seront créés.

Une nouvelle commande sur le W (browse-url-of-dired-file) permet d’ouvrir le fichier dans son navigateur Web (utile pour les HTML).

Dans image-dired, entre autres améliorations, la génération de vignettes (thumbnails) est maintenant asynchrone.

Ajout d’une forme de concurrence avec les fils d’exécution

Arrivée d’une couche plutôt bas niveau pour donner de la concurrence native au code Emacs Lisp. L’objectif est de rendre certaines opérations non bloquantes du point de vue utilisateur, et de manière plus intégrée pour le développeur que les extensions actuelles. Sous le capot, on se rapproche assez de Python, avec un verrou (GIL) et les fils d’exécution (threads) qui s’exécutent chacun leur tour de manière coopérative. L’avenir nous dira ce qui émerge de ces fondations.

Plein de couleurs pour le terminal

Les couleurs codées sur 24 bits sont maintenant pleinement utilisées dans les terminaux adéquats. Pour les n00bs, sachez qu’Emacs est d’abord un logiciel avec des fenêtres graphiques. ;)

Générateurs pour Emacs Lisp

Emacs Lisp acquiert des générateurs [bon article].

Rafraîchissement graphique par double tampon vidéo…

… et sous le gestionnaire X.Org, afin de supprimer les effets de clignotement (flickering) lorsque l’on redimensionnait des fenêtres.

Nouvelle option mouse-drag-and-drop-region

Cette nouvelle option permet de glisser‐déposer des régions de texte à la souris. Pour manipuler des régions de texte on aime bien move-text.

Tramp peut se connecter à Google Drive

Cette fonctionnalité est basée sur le système de fichiers virtuel GVFS de GNOME.

Tramp permet de se connecter à des systèmes de fichiers distants (par exemple, se connecter à son serveur distant en SSH) et d’éditer les fichiers distants sous son Emacs habituel.

Par ailleurs, Tramp peut maintenant envoyer un signal d’interruption SIGINT à un processus distant.

Flymake, le vérificateur de syntaxe à la volée, a été complètement réécrit

Flymake est le mode par défaut qui effectue les vérifications de syntaxe à la volée, pour tout langage de programmation. Il est en concurrence avec Flycheck, actuellement très bien pris en charge.

Il gère maintenant plusieurs back‐ends simultanés, il peut annoter des régions de texte et pas uniquement des lignes, il permet de définir des types de notification autres que « erreur » et « alerte » (warning), et son interface utilisateur a été revue.

Il a été réécrit par João Tavora, auteur notamment du système de modèles Yasnippet et de l’EDI Common Lisp Sly.

Nouveau mode pour les numéros de ligne

L’extension linum-mode faisait le boulot, mais on a maintenant un mode réécrit en C et donc plus efficace. Pour l’activer globalement : M-x global-display-line-numbers-mode.

Fichier unité systemd

systemctl --user enable emacs

Certainement utile pour emacs-server ou pour ceux qui utilisent emacs comme gestionnaire de fenêtres (ewnctl).

Initialisation des variables locales

On peut définir des variables spécifiques à un fichier ou à un répertoire (dans un fichier .dir-locals).

Elles sont maintenant initialisées à chaque fois que leur mode majeur est activé, pas uniquement à la lecture du fichier ou répertoire. De plus, un second fichier est accepté : .dir-locals-2.el [doc].

La fonction « occur » fonctionne sur une région

On aime également helm-swoop :

Détection de fichier modifié améliorée

Emacs ne demande plus de sauvegarder un fichier quand il n’a en fait pas été modifié. Au lieu de se baser uniquement sur la date de modification, Emacs regarde maintenant le contenu du fichier.

Mode compilation amélioré pour CMake

Les messages de CMake sont maintenant reconnus et le nombre d’erreurs, d’alertes et d’infos est affiché sur la mode‐line en temps réel suivant la compilation.

EWW, Emacs Web browser

EWW reçoit son lot d’améliorations :

  • M-RET, pour ouvrir le lien dans un nouveau tampon ;
  • s, pour choisir un tampon eww avec le mini-tampon ;
  • C, pour basculer l’usage des couleurs ;
  • les images sont chargées de manière asynchrone.

Tutoriel : http://ergoemacs.org/emacs/emacs_eww_web_browser.html.

Ispell comprend d’autres moteurs de correction orthographique

Ispell, le vérificateur d’orthographe, peut utiliser pour base d’autres logiciels comme Voikko, Hspell ou AppleSpell.

Conclusion

Si vous n’avez jamais essayé, sachez que compiler Emacs n’est pas bien long. C’est avec cette nouvelle version que l’on pourra profiter de nouveaux paquets bien cools tels que, par exemple, eglot, une interface généraliste au Language Server Protocol ou elbank, un gestionnaire de finances personnelles.

Télécharger ce contenu au format Epub

Commentaires : voir le flux atom ouvrir dans le navigateur

Appel à conférences pour le Forum PHP 2018 : plus que deux semaines pour proposer un sujet

7 juin, 2018 - 11:34

Le 25 et 26 octobre 2018 aura lieu à Paris le Forum PHP 2018 : deux jours de conférences organisées par l’AFUP, concernant PHP et les technologies du Web qui gravitent autour, par et pour la communauté.

Afin de préparer cet événement, un appel à conférencières et conférenciers a été lancé, celui‐ci se termine le lundi 18 juin au soir. Il vous reste donc deux semaines pour proposer des sujets.

Que vous soyez chevronné ou débutant, n’hésitez pas : l’AFUP recherche tous types de profils et propose un programme de mentorat pour bénéficier de l’aide d’une oratrice ou d’un orateur confirmé qui peut vous accompagner tout au long de votre démarche, de la soumission du sujet jusqu’à votre conférence.

Cette année, le CFP permet en plus de suggérer les conférenciers que vous souhaiteriez voir lors de l’événement : l’équipe de sélection étudiera vos propositions avec attention.

Les formats de conférences possibles sont de 20 à 40 minutes.

Télécharger ce contenu au format Epub

Commentaires : voir le flux atom ouvrir dans le navigateur

Linux Audio Conference 2018 à Berlin

6 juin, 2018 - 13:28

Depuis 2002 le groupe d’utilisateurs et de développeurs de logiciels libres pour la création sonore sous GNU/Linux linuxaudio.org organise une conférence annuelle : la Linux Audio Conference ou LAC. Ces rencontres associent ateliers de découverte, retours d’expériences, présentations de nouveaux développements, performances artistiques et hacks intelligents. Ce contenu varié attire codeurs, musiciens et mélomanes.

Cette nouvelle édition aura lieu du jeudi 7 au dimanche 10 juin 2018 à Berlin au hackerspace C-Base et dans les locaux de l’éditeur de logiciels propriétaires Native Instruments. Elle sera ouverte par un discours du créateur de MOD Devices, un périphérique d’effets audio commercial, libre et basé sur GNU/Linux. Une des présentations de MOD portera d’ailleurs sur la création d’un modèle d’entreprise viable basé sur du matériel et du logiciel libre.

En plus des performances artistiques quotidiennes, le vendredi sera surtout consacré à la synthèse sonore et à Pure Data, un logiciel graphique de création sonore modulaire à base de nœuds branchés les uns vers les autres pour former une chaîne de traitement de signal. Les samedi et dimanche seront plus axés sur le développement avec un accent sur la synchronisation inter‐logiciels en temps réel sur réseau IP.

Et pour les plus braves, un challenge de production musicale aura lieu le samedi matin. Les participants recevront un fichier MIDI et auront une heure pour en faire une piste musicale en utilisant l’environnement de leur choix.

Peut‐être avez‐vous une question à poser aux conférenciers ? Laissez donc un commentaire et j’essaierai de faire passer le message sur place.

Télécharger ce contenu au format Epub

Commentaires : voir le flux atom ouvrir dans le navigateur