Archives de catégorie : Logiciels libres

Passage à PHP7

La dernière version 5.2 WordPress, sur lequel tourne ce blog, impose maintenant une version de PHP au moins égale à 5.6.20 mais la version 7.X est fortement recommandée d’autant que les versions 5.X de PHP ne sont plus maintenues et supportées. On s’expose donc à des risques de vulnérabilités en restant avec une version 5.X. La migration devient donc quasi obligatoire, étant hébergé en mutualisé chez online il est assez facile de basculer en PHP7 comme on peut le voir ici. En revanche il est sans doute prudent de tester avant la compatibilité du site, pour wordpress il existe une extension qui s’appelle PHP Compatibility checker.

Cela donne quelque chose comme cela

Une fois que vous vous êtes rassuré, on peut basculer chez l’hébergeur en php 7.X, j’ai choisi de basculer en version 7.1. J’ai eu droit de mon côté à un beau message

Not Found

The requested URL /fast-cgi-nontexistent/index.php was not found on this server.

C’était sans compter la page citée plus haut qui indique qu’il faut mettre un

AddHandler ${php7} php

dans le .htaccess à la racine du site, et bien en fait ça ne marche pas ! J’ai un peu galéré pour trouver et pas mal tâtonné, voilà donc ce qui marche chez moi avec un hébergement mutualisé chez online.

RewriteEngine On
RewriteCond %{HTTP:HTTPS} !on
RewriteRule (.*) https://%{SERVER_NAME}/$1 [QSA,L,R=301]
<FilesMatch ^wp-config.php$>
 deny from all
</FilesMatch>
AddType application/x-httpd-php7-1 .php

Pour mémoire les premiers lignes Rewrite sont pour une connexion sécurisée HTTPS, la directive FilesMatch empêche d’accéder au fichier de configuration wp-config. C’est la dernière ligne qui permet de prendre en compte la version 7.1 de PHP.

Cependant j’ai mon extension de galeries photo NextCellent Gallery qui est un fork de la version 1.9.13 de NextGen Gallery qui n’a pas appréciée cette migration. C’est fonctionnel, mais esthétiquement moche avec la non prise en compte du fichier nggallery.css dans le thème Twenty Fourteen. Vu que le développement de NextCellent a l’air totalement stoppé depuis des années, je crains que je vais devoir passer à NextGen et ça risque de ne pas être immédiat et prendre du temps, je me garde sous le coude cette migration et je m’excuse du désagrément visuel. Je suis preneur également de toutes remarques et dysfonctionnements sur les sites du domaine hoarau.org que je n’aurai pas vu.

Passage à mageia 7 cauldron

J’ai voulu installer en compilant la dernière version 19.04 du logiciel de montage kdenlive car c’est une version majeure. 60% du code a été réécrit et elle apporte des grosses évolutions de fonctionnalités et d’ergonomie comme on peut le voir sur le site de kdenlive. Malheureusement ce n’est pas possible sous Mageia 6.1 qui a une version de KF5/plasma trop ancienne. Pour la circonstance je me suis donc résolu à faire une mise à jour vers la version en développement cauldron, future Mageia 7. Je ne suis pas un adepte des versions en développement, mais sans ce fait générateur, j’aurais patiemment attendu la sortie de la version finale.

Je n’ai pas fait une installation from scratch mais une mise à jour à partir de ma Mageia 6.1. Je n’ai pas forcément de très bons souvenirs des mises à jour surtout quand on tune sensiblement son système, j’ai retrouvé à plusieurs reprises un système totalement instable qu’il a fallu totalement réinstallé en partant de zéro, en conservant seulement les partitions de données. A vrai dire à ma grande surprise la mise à jour s’est globalement très bien passée, moyennant quelques reboots réguliers, je me suis retrouvé avec une distribution parfaitement stable et fonctionnelle avec toute mes configurations système perso (client d’authentification LDAP, NFS, etc.). Quasiment rien à retoucher, magnifique !

Je dois juste déplorer 2, 3 détails, parce que sinon ça ne serait pas rigolo, le gestionnaire de connexion SDDM m’affiche mon fond d’écran flou, c’est moche ! Pour ceux qui veulent retrouver une belle image, il faut aller dans le fichier /usr/share/sddm/themes/breeze/Main.qml et au niveau de WallpaperFader au lieu de

visible: config.type == “image”

on met

visible: false

et voilà le résultat

sinon j’ai un popup pénible à chaque login avec rfkill pour les utilisateurs de blueman (pour piloter le bluetooth) qui me demande un mot de passe. Pour le supprimer il faut créer une règle polkit /usr/share/polkit-1/rules.d/blueman.rules qui contient

/* Allow users in wheel group to use blueman feature requiring root without authentication */
polkit.addRule(function(action, subject) {
    if ((action.id == "org.blueman.network.setup" ||
         action.id == "org.blueman.dhcp.client" ||
         action.id == "org.blueman.rfkill.setstate" ||
         action.id == "org.blueman.pppd.pppconnect") &&
        subject.isInGroup("wheel")) {
        return polkit.Result.YES;
    }
});

Et rajouter les utilisateurs concernés dans le groupe wheel. Sinon sous XFCE j’ai perdu la transparence de mon tableau de bord, j’ai galéré pour la remettre en place, le curseur pour régler la transparence ayant disparu dans la configuration. En fait c’est devenu bien plus compliqué (voir par là https://docs.xfce.org/xfce/xfce4-panel/preferences/transparent-panel ) comment faire simple…

cela donne un bureau qui ressemble à cela avec un dock cairo en bas.

Il me reste à remettre à jour mes fichiers conky qui agrémentent mon bureau, ils sont tous cassés avec la mise à jour de conky et bien sûr installer kdenlive, cela fera l’objet d’un prochain post.

Modifier le genre des films dans kodi

Pendant longtemps j’ai utilisé l’extension WiMM qui permettait de changer le genre des films pour le mediacenter kodi.

C’est assez pratique car les scrapers qui récupèrent automatiquement les informations d’un film sur internet classent parfois certains films de manière assez fantaisiste, ainsi le dessin animé “la belle et la bête” va se retrouver dans le genre Fantastique alors que je préfère qu’il soit seulement dans le genre Animation. Aussi il est souvent utile d’avoir à modifier le genre pour pouvoir choisir plus aisément ensuite les films en les sélectionnant par le genre. Or depuis le passage à la version 18 Leia l’extension WiMM ne marche plus, il s’avère qu’elle n’est plus maintenue, son fork plus récent WiMM-ng ne l’est pas davantage. J’ai bien essayé de modifier le code de ce dernier pour le rendre compatible mais sans succès.

J’ai donc regardé ce qu’il pouvait exister comme alternative. A vrai dire, il existe des solutions si vous utilisez kodi sans l’utilisation d’une base de données partagée contenant les informations des films, c’est à dire que kodi se base sur les fichiers .nfo qui décrivent le film et sur des fichiers images fanart et poster contenant l’affiche du film. La première alternative s’appelle MediaElch.

En plus de pouvoir modifier le genre, vous pouvez à peu près tout modifier, accessoirement MediaElch peut être utilisé comme lecteur multimedia comme alternative à kodi.

Autre alternative, toujours dans le cas de l’utilisation de fichiers .nfo, tinyMediaManager qui est basé sur java.

Il permet également de tout modifier, en revanche les outils de recherche sont plus limités que MediaElch.

Maintenant si vous utilisez une base de données, les choses se gâtent, à vrai dire je n’ai pas trouvé d’alternative simple à WiMM. J’en suis pour l’instant réduit à modifier directement dans la base de données avec des requêtes SQL avec phpMyAdmin.

C’est sûr qu’on a fait mieux niveau convivialité mais c’est toujours mieux que de taper des requêtes SQL dans un shell. Avec phpMyAdmin on peut facilement sélectionner tous les films d’un genre particulier, et éditer ensuite les films qui ne sont pas dans la bonne catégorie en modifiant le genre.

J’en ai profité du coup pour mettre à jour la page kodi sur le site funix en détaillant l’installation des logiciels cités plus haut et leur utilisation.

Bureau linux avec xfce

J’ai modifié légèrement mon bureau sous l’environnement graphique XFCE sur mon thinkpad x230, en y faisant tourner xplanetFX qui permet d’avoir la planète en fond d’écran avec une image en temps réel de la progression des nuages et de la limite jour/nuit et quelques conkys de visualisation de paramètres système et autres. J’utilise le dock cairo, le gestionnaire de fenêtres est xosemite-xfce, les icônes Yosemite-icons et le thème général du bureau xosemite-gtk, le tout donne un petit look MacOS, on pourra les trouver (et de nombreux autres thèmes pour XFCE) par . Voilà ce que ça donne

Pour xplanetFX attention il faut récupérer l’archive .deb et l’installer avec alien pour une architecture rpm, car l’archive rpm fournie est incomplète. L’installation est assez simple, il faut lancer xplanetFX –gui.

Continuer la lecture de Bureau linux avec xfce

justifier des paragraphes avec wordpress

Depuis la mise en place de l’éditeur Gutenberg dans les versions récentes de WordPress, il n’est plus possible de justifier du texte. Dans les versions précédentes il y avait un bouton, puis le dit bouton a disparu mais on pouvait encore justifier du texte avec la combinaison de touche ALT+SHIFT+J. Maintenant avec l’éditeur Gutenberg, il n’est plus possible de justifier. Les raisons évoquées sont liées à une histoire de lisibilité et visiblement certains développeurs font de la suppression du justifié une vraie croisade, il y a quoi lire les échanges ici.

En fait il y a un moyen simple de remettre en place le mode justifié, il faut aller dans les pages de configuration du thème wordress que vous avez choisi puis dans CSS additionnel il faut rajouter :

.post { text-align: justify; }

et systématiquement tous les posts seront en justifié, that’s all folks !

Passage à la connexion sécurisée https

Je suis passé à la connexion sécurisée en passant de http à https pour l’ensemble de mes sites funix.org, hoarau.org et ce blog. Le https est utile pour sécuriser une connexion entre le client (le visiteur du site) et le serveur qui héberge le site et éviter ainsi que les données circulent en clair sur le réseau. C’est notamment absolument indispensable dans le cas de transactions sur un site commercial. Quel est donc l’intérêt pour des sites comme les miens ? En fait le https a tendance à devenir quelque peu la norme sur le web. Ainsi certains navigateurs stigmatisent les sites avec des connexions non sécurisées avec une mention d’avertissement, quant à Google il favorise également le référencement des sites avec https au détriment des sites en http. Bref, suffisamment de raison pour basculer en https.

Techniquement la connexion https repose sur le protocole SSL , le serveur dispose d’un certificat qui permet d’activer le chiffrement des données entre le serveur et le navigateur avec le protocole https via le port 443. Le certificat identifie de manière unique le serveur ou du moins l’individu ou l’organisation qui l’administre.

Je suis hébergé chez online qui offre https de base pour les services mutualisés. Le certificat est géré automatiquement par Let’s Encrypt qui est une des rares (et sans doute la seule) autorité de certification habilitée à délivrer des certificats gratuitement. Pour mes sites funix.org, hoarau.org j’ai simplement créé un fichier .htaccess à la racine des sites contenant :

RewriteEngine On
RewriteCond %{HTTP:HTTPS} !on
RewriteRule (.*) https://%{SERVER_NAME}/$1 [QSA,L,R=301]

Ce code gère la redirection automatique de http vers https, donc on peut toujours pointer sur les anciennes adresses. Pour ce blog qui tourne sous wordpress, je n’ai pas créé de lignes particulières pour le fichier .htaccess. J’ai installé et activé simplement l’extension Really Simple SSL. Elle gère également la redirection automatique de http vers https.

Je n’ai pas observé de bogues manifestes sur l’ensemble de mes sites, je suis néanmoins preneur de tout retour sur le moindre dysfonctionnement.

opencv et intelligence artificielle

En mettant à jour mes pages de FUNIX sur les outils pour gérer la vidéo sous linux, j’ai mis à jour la bibliothèque OpenCV en la faisant évoluer vers la version 4.0.1. Jusqu’à présent je ne prenais pas le temps de me pencher sur les bibliothèques de bas niveau, préférant m’attarder sur les logiciels de haut niveau qui les utilisent comme le logiciel de montage vidéo kdenlive ou le célèbre lecteur vidéo VLC. J’ai cependant pris le temps de me pencher plus longuement sur OpenCV car c’est une bibliothèque pleine de ressources.

En deux mots, OpenCV fournit des routines de traitement vidéo en temps réel. Plus précisément vous pouvez détecter des visages, des objets, lire du texte, identifier une plaque d’immatriculation, faire du traking d’objets dans une vidéo ou une image. Plus fort encore, OpenCV dispose de méthodes d’apprentissage basées sur des réseaux de neurones pour affuter la reconnaissance d’objets, on n’est pas loin de l’intelligence artificielle !

Léna et Véronique en cours de kite
Continuer la lecture de opencv et intelligence artificielle

Récupérez un mot de passe windows de linux

Voulant réinstaller le launchpad Novation MK2 sur le nouveau ThinkPad T440p sous windows 7 professionnel pour ma fille, je me suis rendu compte que j’avais négligemment oublié le mot de passe d’administrateur ! C’est ballot, fort heureusement avec une partition sous linux, on peut faire pas mal de chose avec une commande qui s’appelle chntpw c’est à dire “change NT password” tout un programme. A vrai dire c’est valable avec n’importe quel PC windows dès lors que vous y avez accès physiquement et que vous pouvez accéder au BIOS.

Launchpad Novation MK2 et le ThinkPad T440p en mode linux

Il suffit de repérer la partition windows, la monter si ce n’est pas déjà fait et d’aller dans le répertoire Windows/System32/config. De mon côté j’ai tapé simplement en tant que root

cd /media/win_d/Windows/System32/config

Ensuite on tape la commande chntpw -l sam -i à noter qu’il faut que vous ayez un fichier sam dans le répertoire, sur d’autres systèmes ce fichier peut être en majuscule. Voilà le résultat :

chntpw version 1.00 140201, (c) Petter N Hagen
Hive name (from header): <\SystemRoot\System32\Config\SAM>
ROOT KEY at offset: 0x001020 * Subkey indexing type is: 666c
File size 262144 [40000] bytes, containing 8 pages (+ 1 headerpage)
Used for data: 273/87760 blocks/bytes, unused: 18/10288 blocks/bytes.

<>========<> chntpw Main Interactive Menu <>========<>

Loaded hives:

1 – Edit user data and passwords
2 – List groups
– – –
9 – Registry editor, now with full write support!
q – Quit (you will be asked if there is something to save)

What to do? [1] ->

Continuer la lecture de Récupérez un mot de passe windows de linux

Thinkpad t440P et linux

Pour remplacer le Lenovo IdeaPad u350 vieillissant de ma fille je me suis d’abord tourné dans la recherche d’un ultra portable Thinkpad que j’affectionne vu que j’en ai déjà 3 différents (X200, X220 et X230).

Respectivement X230 (mon PC perso), X200 (PC multimedia) et X220 (PC de ma moitié)

Mais la taille d’écran ne lui convenait pas, j’ai trouvé sur ebay un ThinkPad T440p d’occase à 189,9€ TTC (+18€ de livraison) en Allemagne qui est pourvu d’un écran de 14” équivalent à celui de l’IdeaPad. En voici les caractéristiques :

  • processeur i5-4300M 4ème génération 2,6Ghz avec 4 coeurs
  • 8 Go de RAM
  • disque dur de 500 Go
  • Réseau (wifi, RJ45, bluetooth)
  • connectivité (4 ports USB (dont 2 USB 3.0), lecteur carte SD, VGA, mini display)
  • accessoires divers (webcam, lecteur d’empreinte digitale, lecteur DVD)

Avec windows 7 installé dessus et toute la robustesse, la qualité de fabrication et de la durabilité des thinkpad conçu pour un usage professionnel. Quand on sait qu’il valait à la base plus de 1200€ TTC, on peut considérer que c’est une très bonne affaire !

J’ai fait le choix de conserver windows 7 et d’installer en double boot Linux avec une distribution Mageia 6 (ou plutôt 6.1 avec les mises à jour) et tout fonctionne du premier coup sans soucis. Il n’y a que le lecteur d’empreinte que je n’ai pas encore testé.

Lenovo Thinkpad T440p

J’ai installé XFCE comme environnement graphique par défaut, on retrouver le dock cairo tout en bas, on peut distinguer l’applet météo qui est développé et un conky sur l’état du système en haut à droite.

Faire un clone d’une carte SD d’un GPS carminat TomTom de Renault

Même si je suis très critique envers TomTom et que je préfère la fiabilité d’un navfree ou de waze, il se trouve que dans ma voiture j’ai un GPS intégré TomTom Carminat dont les données sont embarquées sur une carte SD. Comme il est en fonction en permanence tant qu’à faire autant qu’il soit à jour même si je ne lui fais pas aveuglement confiance. L’ennui est qu’en cas de détérioration de la carte, on est quitte pour racheter une nouvelle carte chez Renault. J’ai donc cherché à faire une copie de la dite carte. Or bien évidemment elle est un minimum sécurisée. Voici donc les quelques manipulations à réaliser, sous linux bien évidemment, pour en faire un clone fonctionnel.

Tout d’abord en insérant la carte TomTom d’origine sur un poste linux, journalctl -f me donne le nom du fichier spécial d’accès à la carte qui est /dev/sdc et /dev/sdc1 pour la partition

nov. 01 19:32:42 predator.kervao.fr kernel: usb 3-5: reset high-speed USB device number 9 using xhci_hcd
nov. 01 19:32:42 predator.kervao.fr kernel: ums-realtek 3-5:1.0: USB Mass Storage device detected
nov. 01 19:32:42 predator.kervao.fr kernel: scsi host6: usb-storage 3-5:1.0
nov. 01 19:32:43 predator.kervao.fr kernel: scsi 6:0:0:0: Direct-Access     Generic- Multi-Card       1.00 PQ: 0 ANSI: 0 CCS
nov. 01 19:32:43 predator.kervao.fr kernel: sd 6:0:0:0: [sdc] 7741440 512-byte logical blocks: (3.96 GB/3.69 GiB)
nov. 01 19:32:43 predator.kervao.fr kernel: sd 6:0:0:0: [sdc] Write Protect is off
nov. 01 19:32:43 predator.kervao.fr kernel: sd 6:0:0:0: [sdc] Mode Sense: 03 00 00 00
nov. 01 19:32:43 predator.kervao.fr kernel: sd 6:0:0:0: [sdc] No Caching mode page found
nov. 01 19:32:43 predator.kervao.fr kernel: sd 6:0:0:0: [sdc] Assuming drive cache: write through
nov. 01 19:32:43 predator.kervao.fr kernel:  sdc: sdc1
nov. 01 19:32:43 predator.kervao.fr kernel: sd 6:0:0:0: [sdc] Attached SCSI removable disk

voilà ce que donne un fdisk -l pour /dev/sdc

Disque /dev/sdc : 3,7 GiB, 3963617280 octets, 7741440 secteurs
Unités : secteur de 1 × 512 = 512 octets
Taille de secteur (logique / physique) : 512 octets / 512 octets
taille d'E/S (minimale / optimale) : 512 octets / 512 octets
Type d'étiquette de disque : dos
Identifiant de disque : 0x00000000

Périphérique Amorçage Début     Fin Secteurs Taille Id Type
/dev/sdc1              8192 7698431  7690240   3,7G  b W95 FAT32

on récupérera donc une carte de 4Go également qu’on formatera en FAT32 avec la commande (en supposant qu’on a la même fichier spécial).

 mkfs.vfat -F 32 /dev/sdc

Revenons à notre carte d’origine TomTom on fait une copie bas niveau en tapant la commande dd:

dd if=/dev/sdc of=sdtomtom.img bs=4M
945+0 enregistrements lus
945+0 enregistrements écrits
3963617280 bytes (4,0 GB, 3,7 GiB) copied, 229,485 s, 17,3 MB/s

attention la carte SD ne doit pas être montée pour que ça fonctionne. On insère maintenant la nouvelle carte qu’on aura préalablement formatée en FAT32. Attention à ne pas la monter également. Et on tape la commande dd :

dd if=sdtomtom.img of=/dev/sdc bs=4M
945+0 enregistrements lus
945+0 enregistrements écrits
3963617280 bytes (4,0 GB, 3,7 GiB) copied, 439,838 s, 9,0 MB/s

pour être sûr que tout fonctionne avant d’aller la tester dans la voiture, comme je n’ai pas trouvé encore le moyen d’administrer mon GPS TomTom sous linux, je vais sous windows pour lancer TomTom Home et vérifier qu’elle est bien reconnue. Personnellement j’utilise une machine virtuelle windows dans ma session linux qui me permet de lancer les rares programmes windows sans équivalent sous linux en utilisant VirtualBox.

Je constate que mon clone de carte est parfaitement reconnue et de surcroit à jour, je n’ai plus qu’à aller le tester dans la voiture, et là également c’est une réussite.