Archives de catégorie : Logiciels libres

Tutoriel vidéo effets rotoscoping et chroma key avec kdenlive

Voici mon dernier tutoriel en date concernant le logiciel de montage vidéo kdenlive, c’est une présentation de l’utilisation des effets rotoscopie (rotoscoping en anglais) et clé chromatique (chroma key). Le premier effet permet de relever le contour d’un objet ou personnage d’une scène image par image pour l’incruster ensuite dans une autre séquence. Le deuxième effet permet de jouer avec un fond vert et d’incruster automatiquement un objet ou un personnage dans une scène quelconque.

Ce n’est sans doute pas très parlant, l’image ci-dessous de la vidéo permettra de mieux comprendre.

J’ai utilisé l’effet rotoscopie pour faire apparaître le génie, l’effet clé chromatique permet de placer l’ensemble sur un fond de désert.

J’ai utilisé la dernière version de kdenlive, la 16.12.2, j’en ai profité pour tout recompiler en utilisant les outils pour utiliser toute la puissance de mon GPU Nvidia avec CUDA pour le traitement en parallèle et OpenCL (pour le traitement parallèle entre le GPU et les multi coeurs de la  CPU) entre autres. Je n’ai pas encore le recul suffisant pour me rendre compte de l’évolution des performances notamment lors du montage vidéo. Seul bémol, maintenant melt plante (segmentation fault), je suis obligé de retirer frei0r, c’est ennuyeux car ce sont autant d’effets que je perds sous kdenlive, mais je n’ai pas dit mon dernier mot.

J’ai mis à jour les pages correspondantes sur mon site FUNIX.

Baliser (taguer) automatiquement ses fichiers MP3

Il y a quelques temps dans un précédent post j’avais présenté MusicBrainz Picard qui permet de taguer proprement des fichiers audio MP3. Cela consiste à marquer correctement dans le fichier les informations sur l’artiste, le titre, l’album et même rajouter une photo de l’album. Ce type d’information standardisé apparaît ensuite sur le lecteur audio quel qu’il soit. En anglais on parle de TAG et en français de balise, même si on a tendance plutôt à utiliser le terme anglais quitte à employer le barbarisme taguer plutôt que baliser.

Mais revenons à notre sujet, les fichiers MP3 peuvent avoir différentes origines et ne sont pas donc balisés toujours proprement. D’où l’intérêt d’un outil comme Picard qui permet de traiter des lots de fichiers musicaux.

Il les traite de deux manières, tout d’abord pour chaque fichier à partir de ses balises d’origine, il va identifier dans sa base de donnée  une piste d’album et libre à nous ensuite de mettre à jour les balises et d’y rajouter la photo de l’album. La deuxième méthode consiste à calculer l’empreinte musicale du fichier (acoustid fingerprint) et trouver une empreinte similaire dans la base de picard et rattacher ainsi le fichier d’origine avec la piste de l’album qui correspond à l’empreinte.

Pour les fichiers qui n’ont pas été trouvés par une des deux méthodes précédentes, il reste à les rechercher directement sur le site. Il existe ainsi une interaction entre le navigateur et Picard qui permet d’identifier et de baliser les fichiers. Dans Picard on sélectionne le fichier non trouvé, ça nous renvoie automatiquement sur la page du navigateur avec une liste de pistes similaires, on choisit notre piste, on clique sur TAGGER dans le navigateur et le tour est joué !

Il peut exister des faux positifs ou des fichiers rattachés à des compilations généralistes qu’on préfèrerait rattachés aux albums de l’artiste. On peut également les traiter de manière indépendante et rechercher des pistes similaires et trouver son bonheur.

Il m’a semblé utile de créer une page correspondant sur mon site Funix avec moult détails et copies d’écran. Comme la page sur les outils multimedia commençait à devenir un peu trop conséquente, je l’ai scindée en deux, on trouvera donc une page sur les outils audio divers (lecteurs audio, outils karaoke et baliseur Picard) et une autre page consacrée au mediacenter Kodi.

Passer en connexion chiffrée avec OpenLDAP et un serveur web Apache

Après être passé en connexion chiffrée avec SSL/TLS sur mon serveur perso dovecot de distribution de mail, ainsi que sur mon serveur sendmail de récupération et d’envoi de mail, il me restait à m’occuper de mon serveur d’authentification basé sur OpenLDAP et de mon serveur web Apache local.

C’est chose faite à présent. Pour OpenLDAP ça se fait en deux étapes, il faut d’abord créer un certificat pour le serveur et activer les connexions chiffrées (voir par ). Ensuite pour l’authentification utilisateur, il faudra sur les clients modifier la configuration du serveur nslcd pour forcer la connexion chiffrée (voir par ici). Pour le serveur web Apache, il faut également créer un certificat et modifier la configuration d’Apache pour activer la possibilité de se connecter via SSL/TLS, à voir par .

Inconvénient de la méthode, en théorie un certificat doit être certifié par une autorité qualifiée de certification (en anglais CA pour Certificate Authority en anglais). Le CA est un tiers de confiance qui d’authentifier l’identité des correspondants, ça évite ainsi de tomber  dans un chausse trappe et de protéger l’échange de ses données. Or c’est une démarche qui n’est pas gratuite, de fait en créant dans son coin son infrastructure à clés publiques (Public Key Infrastructure PKI en anglais) et en générant un certificat,  en l’auto signant, il ne vaut pas grand chose sur internet et il faudra l’accepter ensuite comme une exception de sécurité.

Ça peut le faire sur un réseau privé car on maîtrise ce que l’on fait, mais c’est plus gênant si le service concerné est accessible d’internet. Il existe néanmoins des autorités qui délivrent gratuitement des services, pour un serveur web il existe Let’s Encrypt. La création du certificat se fait de manière simple en lançant un script dans un shell. Let’s encrypt ne gère pour l’instant que les certificats de serveur web. Sinon il existe selso.com et startssl.com. Pour le premier, je suis un peu dubitatif, le site a l’air vieillot, limite abandonné et quand on va sur une page sécurisée, le certificat n’est plus valide et il faut accepter une exception de sécurité ! Ça fait pas très sérieux, le deuxième a l’air plus convainquant.

Problème d’accent suite passage à PHP5.6

En cours de toilettage de mon site FUNIX, j’ai supprimé la section réseau qui était vraiment très obsolète et je n’ai vraiment plus le temps de la mettre à jour et de la maintenir, elle est encore accessible néanmoins via la carte du site. J’ai toiletté également ma section UNIX qui elle est encore pleinement d’actualité, il faut dire que globalement l’administration d’un système a assez peu évolué en plusieurs décennies, on retrouve les mêmes commandes. C’est surtout la partie environnement graphique qui a le plus évolué.

J’ai souhaité rajouter le flux RSS de mon blog sur la page d’accueil. On trouve sur le net du code PHP à intégrer dans le code HTML de la page. Cela donne cela :

<?php
                try{
                if(!@$fluxrss=simplexml_load_file('http://olivier.hoarau.org/?feed=rss2')){ throw new Exception('Flux introuvable');}

                if(empty($fluxrss->channel->title) && empty($fluxrss->channel->description) &&empty($fluxrss->channel->item->title)) throw new Exception('Flux invalide');

                $i=0;
                $nb_affichage = 4;

                
                foreach($fluxrss->channel->item as $item){
			echo '<a href="'.(string)$item->link.'">'.(string)$item->title.'</a></br>'.(string)$item->description.'</br><i>publié le'.(string)date('d/m/Y',strtotime($item->pubDate)).'</i></br></br>';

                if(++$i>=$nb_affichage)
                break;
                }

                }
			
                catch(Exception $e){
                echo $e->getMessage();
                }
           ?>
           </div>

Or mon site FUNIX hébergé en mutualisé chez online.net tourne encore en PHP4 qui ne reconnait pas la commande simplexml_load_file. Heureusement, via la commande d’administration on peut le faire évoluer vers les versions 5.5, 5.6 et même 7. Pour éviter une marche trop haute, j’ai choisi de migrer vers la version 5.6 et là catastrophe, tous les accents étaient en vrac. Toutes les solutions trouvées sur internet pour forcer le jeu de caractères par défaut (charset) de UTF-8 vers celui utilisé par mes pages, à savoir le ISO-8859-1, n’ont pas fonctionné. J’étais donc quitte pour modifier une à une toutes mes pages !

Fort heureusement, et c’est bien un des gros atouts d’une système UNIX, il existe les scripts bash, il m’a fallu à peine quelques minutes pour régler le problème. Tout d’abord j’ai appliqué sur mes pages le script suivant qui permet de convertir les caractères du jeu de caractère ISO-8859-1 vers UTF-8 :

#!/bin/bash
find . -name "*.php" -o -name "*.htm*" -exec sh -c "( \
   iconv -f ISO_8859-1 -t UTF-8 {} -o {}.iconv ; \
   mv {}.iconv {} ; \
)" \;

Ensuite il a fallu modifier l’indication de charset dans les pages html et php avec le script suivant :

#!/bin/bash
for file in *.htm*
do
  echo "Traitement de $file ..."
  sed -i -e "s/ISO-8859-1/UTF-8/g" "$file"
  sed -i -e "s/iso-8859-1/UTF-8/g" "$file"
done
for file in *.php
do
  echo "Traitement de $file ..."
  sed -i -e "s/ISO-8859-1/UTF-8/g" "$file"
  sed -i -e "s/ISO-8859-1/UTF-8/g" "$file"
done

Et le tour est joué.

Vue satellite de la planète en fond d’écran

Toujours dans le cadre de la configuration de mon environnement XFCE j’ai mis en place en fond d’écran sur un de mes bureaux avec xPlanetFX. C’est un soft assez génial qui permet d’avoir une vue de la planète avec une vue satellite  réelle centrée sur la France, avec les systèmes dépressionnaires, la limite jour/nuit et même les lumières des villes ! Ça donne quelque chose comme ça dans un environnement XFCE avec un conky météo et un conky système :

Le site officiel est par .

L’installation est très simple, la configuration l’est tout autant avec plusieurs thèmes possibles et des variantes avec la lune en plus.

 

 

Shoot’em up Warsow et Unvanquished

Même si je ne suis pas un amateur du genre, j’ai installé la dernière version de Warsow. C’est un lointain descendant du jeu Doom qui a été longtemps une référence dans le domaine des Shoot’em up, c’es le genre de jeu où on tire sur tout ce qui bouge dans une sorte de labyrinthe peuplé de créatures infâmes et de guerriers qui veulent vous faire la peau. Je l’avais installé il y a de cela pas mal d’années, et quel progrès ! C’est vraiment super abouti, avec des beaux graphismes, des belles textures, une grande fluidité et toujours cette possibilité de jouer en réseau en duel ou par équipe.

Bien sûr quand on débute, on a du mal à trouver ses repères et on se fait dézinguer très rapidement, d’autant que cela va très, très vite, on voit vraiment que certains doivent y passer des heures. Malgré cela j’ai réussi à en zigouiller un, il était peut être de ma propre équipe !

Pour aller plus loin, c’est par ici.

Dans le même genre, il existait Tremulous qui est visiblement un projet mort mais il existe maintenant Unvanquished qui en est un fork. C’est le même principe, mais cette fois-ci on est également des aliens, on peut même faire partie de l’équipe des aliens ! Voilà ce que ça donne :

là je suis en très mauvaise posture

pour aller plus loin, c’est par .

Partager une connexion 4G d’un mobile avec un poste linux

Toujours dans l’optique d’une future itinérance que j’évoquais dans un post précédent, je me suis attaqué au partage de la connexion 4G vers un poste linux. En fait c’est très facile à faire, dans les paramètres d’Android, il y a une option partage de connexion avec 3 choix possibles, en créant un hotspot WIFI, par câble USB et même via bluetooth. J’ai laissé tomber bluetooth qui a une bande passante plus faible et est plutôt destiné aux transferts de données « légères ». Sur le poste linux c’est aussi simple, dans le gestionnaire de connexion on voit le hotspot WIFI apparaître et il suffit de saisir ses paramètres qu’on a défini précédemment sur le mobile 4G ou alors on voit une interface physique ethernet supplémentaire si on a défini le partage par câble USB. Dans les deux cas, je choisis l’option DHCP automatique pour l’attribution de l’adresse IP et des serveurs DNS. Il me restait donc à tester le partage via WIFI et câble USB. Je me suis rendu sur ce site pour faire des tests de performance, et voilà ce que ça donne:

en 4G via le wifi
débit descendant (download) 7,18Mbit/s
débit montant (upload) 2,22Kbit/s
ping 65ms

en 4G via le câble USB
débit descendant (download) 4,93Mbit/s
débit montant (upload) 2,12Kbit/s
ping 66ms

Le grand gagnant est donc la connexion WIFI. Ça reste évidemment très inférieur aux performances de ma box numericable avec:

débit descendant (download) 93,94Mbit/s
débit montant (upload)  18,1Mbit/s
ping 16ms

mais ça reste confortable et de toute façon je ne compte pas télécharger des Go de données quand je serai en itinérance.

Continuer la lecture de Partager une connexion 4G d’un mobile avec un poste linux

Passage à XFCE

Depuis que je suis passé à un environnement graphique plasma/KF5 avec ma mageia cauldron 6, j’ai beaucoup de mal à m’y faire malgré mes tentatives de paramétrage. Au final malgré mon i7, c’est lourd et c’est très consommateur en ressources système, j’ai l’impression d’avoir un vulgaire PC bas de gamme qui rame quand je fais du montage vidéo ou du transcodage. Et malheureusement je n’ai pas l’impression que ça va en s’arrangeant, plasma semble prendre le chemin de windows, toujours plus gourmand pour un gain très discutable.  Mon écran sous plasma ci-dessous:

Après être resté fidèle à KDE depuis ses débuts, c’est à dire depuis 20 ans cette année, puisque je me souviens avoir installé et utilisé les premières versions (antérieures à la 1.0 !), j’ai décidé de passer à un environnement plus léger, plus fonctionnel, en somme plus simple.

J’avais testé il y a fort longtemps XFCE avec un environnement qui copiait le Common Desktop Environnement CDE qu’on retrouvait sur les stations de travail comme HP, Sun et IBM avec respectivement HP-UX, Solaris et Aix, je n’étais pas trop dépaysé car c’est ce que j’utilisais au boulot. Par contre j’avais adopté KDE qui offrait plus de fonctionnalités, mes passages très ponctuels sur XFCE ne m’avaient pas convaincu, le look sympa CDE avait disparu et honnêtement le look par défaut était franchement pas terrible et n’incitait vraiment pas à l’adopter.
Finalement, décision prise, j’ai pris le temps qu’il fallait pour configurer mon écran XFCE avec un dock cairo pour retrouver mon look CDE. J’ai rajouté également quelques conky récupérés sur le net et adaptés à ma configuration et à mes envies, ce sont des petits plugins très configurables qui se collent au fond d’écran en présentant des informations diverses et variées sur le système, la météo, etc. Voilà donc mon nouvel espace de travail:

C’est bien plus léger et réactif que plasma, quand je lance un calcul quelconque j’ai un gain d’au moins 30% (testé sur un même fichier avec kdenlive et handbrake) !
Ma fille m’a fait remarquer que ça ressemblait à un univers mac, je lui ai juste rappelé qu’Apple n’avait rien inventé, ils ont juste pompé ce qui se faisait déjà il y a presque 25 ans sur les stations de travail UNIX. C’est à l’image d’Apple, aucune invention en propre mais remarquable vendeur des inventions des autres.

A cette occasion j’ai découvert que le code de CDE avait été libéré en 2012  on le trouve ici et visiblement il continue à évoluer car on voit que la dernière version date de début d’année.

Lutter contre le spam referrer avec awstats

J’exploite les logs de mes domaines hoarau.org et funix.org hébergés avec online (hébergement mutualisé) avec awstats. Toutes les nuits, cron récupère les fichiers log d’Apache sur un serveur ftp et je lance l’analyse avec webalizer et awstats comme expliqué par .

La page des referrers est polluée par des SPAM qui la rend inexploitable et c’est assez pénible. En fait c’est une technique des spammeurs qui font des requêtes pour que le site à promouvoir apparaisse dans la liste et ainsi cela améliore son positionnement sur les moteurs de recherche en multipliant les liens. Encore faudrait-il que cette page soit visible sur internet, ils peuvent également espérer qu’un administrateur clique sur un lien.

Il y a plusieurs techniques pour lutter contre ça, l’une d’entre elles est de leur bloquer l’accès au site avec un bon vieux .htaccess à la racine. Ce n’est pas forcément l’idéal car ça engendre un temps de traitement et ça peut ralentir l’accès au site. J’opte plutôt pour la technique en temps différé pour faire le ménage avec awstats. Pour cela il faut activer la variable suivante

SkipReferrersBlackList= »/etc/awstats/blacklist.txt »

avec un fichier blacklist.txt qu’on trouvera dans l’arborescence d’awstats mais qui date un peu. Alors  par ici on trouvera une blacklist nettement plus récente. Dans ce fichier, d’après mes tests il semblerait que la première partie qui commence par des RewriteCond ne serve à rien pour awstats, elle n’est utile que si vous filtrez le SPAM referrer avec un .htaccess. Ce n’est que la seconde partie qui est réellement utile et qui fonctionne avec awstats,

Continuer la lecture de Lutter contre le spam referrer avec awstats

Connexion chiffrée avec un serveur de mail sur internet

Dans le post précédent on a vu comment chiffrer la liaison entre le serveur de mail local et les postes clients du réseau local, avec dovecot pour la récupération des mails et sendmail pour l’envoi de mail. Mais qu’en est-il de l’envoi ensuite vers internet en émission avec SMTP et en réception avec POP ?

Commençons par la réception, il faut d’abord bien sûr que votre fournisseur de service mail dispose d’un serveur POP avec option de chiffrement TLS/SSL. Jusqu’à présent j’utilisais fetchmail qui tourne sur le serveur de mail local, récupère les mails de tous les utilisateurs du réseau local sur internet et en assure la distribution dans les boîtes mail sous /var/spool/mail avec sendmail. Sauf qu’il semblerait que fetchmail ne sache pas gérer le chiffrement TLS/SSL avec comme MDA (mail delivery agent) sendmail. Du coup j’ai remplacé sendmail comme MDA par procmail et au final la commande fetchmail devient:

/usr/bin/fetchmail --sslcertck -a -f /root/.fetchmailrc -L /var/log/fetchmail.log

avec un fichier .fetchmailrc qui ressemble à ça (pour ne pas faire de pub, je suis chez online)

poll pop.online.net protocol pop3
 user olivier.hoarau@funix.org there with password password-fai is olivier here
 option ssl;
 mda "mda "/usr/bin/procmail -d %T"

Passons maintenant à l’émission avec SMTP, là encore il faut que le fournisseur d’accès dispose d’un serveur SMTP sécurisé avec TLS/SSL. J’ai passé des heures à jouer avec la configuration de sendmail pour mettre en place le chiffrement de la connexion jusqu’à  que je me rende compte que la connexion était déjà chiffrée par défaut ! Et pour s’en convaincre il a suffit de lancer sendmail en mode verbeux pour voir les échanges entre mon serveur et le serveur de mon fournisseur d’accès:

sendmail -q -v

voilà le résultat

Continuer la lecture de Connexion chiffrée avec un serveur de mail sur internet