Dimanche 3 septembre 2017

Mise à jour réussie

Profitant d'un peu de temps libre en ce dimanche de septembre, j'en ai profité pour mettre à jour le gestionnaire de blog. Nous sommes passés d'une version 2.11.2 à une version 2.12.1.

Auparavant je passais par l'application d'un patch, mais les administrateurs de TuxFamily semblent avoir mis des limitations, cette procédure n'est plus réalisable. Je me suis donc fait un ensemble de programmes pour me simplifier la tâche.

Il ne nous reste plus qu'à trouver un joli thème (si possible compatible avec les tous les terminaux).

vendredi 6 janvier 2017

Rétrospective 2016

Dans ce billet, je vais détailler mes activités « visibles » concernant FreeBSD au cours de l'année écoulée.

Lire la suite...

Galette des rois le jeudi 26 janvier 2017

galette-des-rois.jpg

Avant tout, je souhaite une bonne et heureuse année à tous.

Venez déguster la galette des rois le jeudi 26 janvier 2017 à partir de 19h30. Ce sera l'occasion de se souhaiter une bonne année les uns les autres dans la bonne humeur.

Pour connaître le nombre de personne qui sera présent, un framadate est à votre disposition.

vendredi 14 octobre 2016

Comment forcer urllib3 à vérifier les requêtes HTTPS

urllib3 est un module python extrêmement puissant, qui enrichit les différents modules relatifs aux réseaux présents dans la bibliothèque standard.

Il existe différentes manières pour effectuer une requête (il suffit de voir la documentation). Jusqu'ici je ne m'étais pas penché sur le cas du protocole HTTPS.

Par défaut on obtient ce message :

/usr/local/lib/python2.7/site-packages/urllib3/connectionpool.py:841: InsecureRequestWarning: Unverified HTTPS request is being made. Adding certificate verification is strongly advised. See: https://urllib3.readthedocs.io/en/l...

InsecureRequestWarning)

Même si l'on utilise la classe urllib3.connectionpool.HTTPSConnectionPool, le warning est toujours présent.

Il faut faire appel à un autre module, certifi, donc l'instance de HTTPSConnectionPool s'écrit alors :

[...]

conn = urllib3.connectionpool.HTTPSConnectionPool(host, cert_reqs='CERT_REQUIRED', ca_certs=certifi.where())
res = conn.request('GET', '/')

[...]

En annexe, vous trouverez un exemple complet.

On le lance de cette manière :

python npmjs.py
HTTPHeaderDict({'Content-Length': '3143', 'Via': '1.1 varnish', 'X-Cache': 'MISS', 'Accept-Ranges': 'bytes', 'X-Timer': 'S1476454061.911429,VS0,VE292', 'Vary': 'Accept-Encoding', 'X-Served-By': 'cache-fra1231-FRA', 'server': 'CouchDB/1.5.0 (Erlang OTP/R16B03)', 'Connection': 'keep-alive', 'etag': '"ETFO48QX32KIQMANPF4IXAOMS"', 'X-Cache-Hits': '0', 'Cache-Control': 'max-age=300', 'Date': 'Fri, 14 Oct 2016 14:07:42 GMT', 'Content-Type': 'application/json', 'Age': '0'})

mercredi 12 octobre 2016

Install Party le 15 octobre 2016 au CERI à Avignon

L'association participera à l'install party, qui se déroulera le samedi 15 octobre 2016 de 14h00 à 18h00 au CERI.

Le plan d'accès se trouve sur cette page.

install-ceri50.jpg

Les partenaires de cet événement sont Créativa (pépinière d'entreprises située sur le site de Agroparc), et LDLC Avignon.

Le programme

  • Une présentation en amphithéâtre en début d'après-midi
  • Déploiement dans 2 salles
  • Démos

Venez nombreux !

mardi 11 octobre 2016

FreeBSD 11.0 pointe le bout de son nez

FreeBSD 11.0-RELEASE est officiellement sortie le 10 octobre 2016. Après 4 versions BETA, et 3 RC, puis une reconstruction des ISOs après la découverte d'un bug dans loader(8) [1]. Cette fois-ci nous pouvons mettre à jour notre système.

Qu'elles sont les nouveautés importantes ?

Dans les grandes lignes nous avons :

Le chiffrement DSA est maintenant désactivé dans OpenSSH (par conséquent le protocole 1 n'est plus supporté).

Un nouvel outil, uefisign(8) a été ajouté pour vérifier l'existence des signatures pour le secure boot UEFI.

On peut monter dans les jail(8) les systèmes de fichiers (en utilisant l'émulation Linux) linprocfs(5) et linsysfs(5).

Le support du 802.11n à été ajouté, ainsi qu’une multitude d’améliorations dans l'API 802.11 d'une manière générale.

De nombreux améliorations ont été apporté dans le support des architectures ARM (32 et 64 bits).

Mise à jour du compilateur Clang dans la version 3.8.0 (ainsi que toute l'infrastructure, LLVM, LLDB, etc. qui va avec).

Pour une utilisation en desktop (grande amélioration du support des cartes graphiques Intel et Radeon), drm a été mis à jour, elle a été synchronisée avec le noyau Linux 3.8.13.

Pour plus de détails, vous pouvez consulter cette page qui récapitule tous les changements.

Côté logiciels portés

  • GNOME 3.18
  • KDE 4.14
  • Firefox 49.0
  • Xfce 4.12

Je vous conseille de lire attentivement le tableau pour connaître le support (du point de vue sécurité) des précédentes versions.

Note

[1] C'est pourquoi la commande uname -r affiche le préfixe -p1, qui mentionne qu'il y a eu un correctif.

mercredi 5 octobre 2016

LXQt sous FreeBSD

Deux semaines après l'annonce de sortie de la dernière version (0.11.0) du gestionnaire de bureau LXQt, je viens de terminer le portage (cette fois-ci avec l'aide de Jesper Schmitz Mouridsen).

Pour pouvoir l'installer il va falloir tout d'abord récupérer certaines bibliothèques en provenance du dépôt expérimental de l'équipe en charge de la maintenance de KDE.

En effet LXQt repose sur certains composants issus de KDE Frameworks 5.

Tous les détails sont accessibles sur la page dédiée du wiki [1]. Je parts du principe que vous avez déjà le catalogue des logiciels portés (généralement dans /usr/ports).

Obtenir KDE Frameworks 5 et Plasma

Ces ports ne sont pas encore dans le dépôt officiel (on peut parfois rencontrer des problèmes de compilation ou d'autres soucis).

Clonage du dépôt expérimental, KDE

On doit récupérer la branche qui s'appelle plasma5.

mkdir plasma5 ; cd plasma5
svn co http://area51.pcbsd.org/branches/plasma5/KDE .

Pour effectuer le merge, [2] il est préférable d'utiliser le script kdemerge.

fetch http://area51.pcbsd.org/trunk/area51/Tools/scripts/area51 -o ~/kdemerge

Merge

sh kdemerge -d plasma5 /usr/ports

Une fois l'installation du bureau terminé, je vous conseille de repartir sur un copie « propre », car l'importation touche de nombreux fichiers dans la structure interne du catalogue de logiciels portés.

Modification du fichier Mk/bsd.port.mk

Il faut rajouter deux nouvelle catégories (elles ont été définies par l'équipe en charge de KDE)

  • kde-frameworks
  • kde-plasma

Obtenir LXQt

Le travail est relativement simple, on récupert le script lxqtmerge et on compile les méta-ports x11-wm/lxqt et x11/lxqt-l10n (ce dernier contient les traductions).

fetch https://subversion.assembla.com/svn/lxqt/trunk/Tools/scripts/lxqtmerge

Avant de faire quelque soit, il faut adapter deux variables LOCAL_REPO et PORTSDIR. Ci-dessous les différentes options possibles :

usage: lxqtmerge options

options:
  -h    display this help
  -c    clone remote repository
  -m    merge into the ports tree
  -u    update local repository
  -r    revert changes

Dans notre cas, il faudra simplement faire :

sh lxqtmerge -c && sh lxqtmerge -m

LXQt repose sur le gestionnaire de fenêtre Openbox, si on effectue une installation « minimale » voici la liste des ports issus du dépôt KDE.

  • kf5-extra-cmake-modules
  • kf5-oxygen-icons5
  • kf5-kwayland
  • kf5-kwindowsystem
  • plasma5-libkscreen

La commande SQLite qui m'a retourné ce résultat :

sqlite3 /var/db/pkg/local.sqlite

sqlite> SELECT name, version FROM packages WHERE name LIKE 'plasma%' OR name LIKE 'kf5%' ORDER BY origin;
kf5-extra-cmake-modules|5.26.0
kf5-oxygen-icons5|5.26.0
kf5-kwayland|5.26.0
kf5-kwindowsystem|5.26.0
plasma5-libkscreen|5.7.95
sqlite>

Notes

[1] Celui hébergé par FreeBSD.

[2] On copie le contenu du dépôt KDE vers le catalogue des logiciels portés officiel.

Dimanche 28 août 2016

Forum des Associations (3 & 4 septembre 2016)

logo, forum des Associations 2016 - Avignon

AviGNU participera au prochain Forum des Associations, qui se déroulera le samedi 3 et dimanche 4 septembre 2016 sur l'allée Antoine Pinay (sur l'île de la Barthelasse).

Si vous voulez nous rencontrer, vous pourrez nous retrouver sur le stand n° 5 (on partage le stand avec l'association AVF [1]) suivant les horaires ci-dessous :

  • Samedi de 14h00 à 20h00
  • Dimanche de 10h00 à 19h00

Ci-dessous une photo de notre stand, pour nous rendre visite ;)

(Merci à Stéphane pour les photos, cliquez sur les images pour les voir en taille réelle)

stand-2016.jpg stand02-2016.jpg

Note

[1] Il s'agit d'un service pour les nouveaux arrivants.

Dimanche 14 août 2016

Mise à jour du blog, laborieuse, mais c'est fait

Je viens de mettre à jour le blog [1] nous utilisons désormais la dernière version en date, 2.10 (publiée pour les treize ans de ce formidable moteur de blog).

Dans le titre, j'ai mentionné le fait que le passage vers cette nouvelle version a été chaotique. La procédure habituelle n'a pas fonctionné comme je l'espérai, donc j'ai apporté les changements manuellement à l'aide le commande cp.

La commande patch me renvoyait sans cesse cette erreur :

patch failed to set the owner of file ... permission denied

Je me suis rendu compte après coup que tous les fichiers .php étaient exécutables par tous le monde (propriétaire all), l'erreur provenant peut-être de ces « mauvaises permissions ». J'ai remis tout ça en ordre avec cette commande :

find . -type f -name '*.php' | xargs chmod a-x

Maintenant, il falloir plancher sur un nouveau thème, celui-ci commence à se faire vieux :), et il n'est pas vraiment adapté aux résolutions des mobiles.

Note

[1] Il s'agit de Dotclear.

jeudi 14 juillet 2016

Voir et revoir les vidéos disponibles sur le site Arte.tv

Ces derniers temps, j'explore les capacités du site arte.tv afin de (re)voir certaines vidéos.

Je peux désormais récupérer la véritable URL d'une vidéo à partir de leur playlist (j'y reviendrais dans un futur billet). Mais cette fois-ci je me suis intéressé au cas, où l'on connaît déjà le lien.

j'ai donc écrit un script avec le langage Vala. Pour utiliser le programme il vous faut installer les bibliothèques suivantes [1] :

  • glib
  • libsoup
  • json-glib

Il faut ensuite le compiler :

valac --pkg=glib-2.0 --pkg=libsoup-2.4 --pkg=json-glib-1.0 artetv.vala

Si tout se passe bien, on peut le lancer de la manière suivante [2] :

./artetv http://www.arte.tv/guide/fr/057398-000-A/quand-l-amerique-sera-latine
http://arte.gl-systemhaus.de/am/tvguide/EUR_DE_FR/057398-000-A_EQ_2_VOF-STF_02421848_MP4-1500_AMM-Tvguide.mp4

Le script par défaut recherche les vidéos dont le conteneur est MP4 (il est tout a fait possible de voir les vidéos en streaming, grâce au protocole RTMP).

Je n'ai pas prévu de fonctionnalité pour télécharger le fichier (ce n'était pas le but premier, je voulais surtout m'intéresser aux données au format JSON). Cependant on peut utiliser un utilitaire prévu pour ça (par exemple avec wget) :

wget `./artetv http://www.arte.tv/guide/fr/057398-000-A/quand-l-amerique-sera-latine`

Ou tout simplement, visualiser directement la vidéo avec la bibliothèque GStreamer.

gst-launch-1.0 playbin uri=`./artetv http://www.arte.tv/guide/fr/048078-000-A/papouasie-expedition-au-coeur-d-un-monde-perdu`

(Cliquez sur l'image pour la voir au format original)

gst-launch-1.0.png

Notes

[1] Ainsi que les paquets de développement, généralement.

[2] Par exemple avec cette URL, http://www.arte.tv/guide/fr/057398-000-A/quand-l-amerique-sera-latine

- page 2 de 14 -