Afficher les métadonnées EXIF avec un clic droit sur Thunar
Ha, il y a longtemps que je n’ai pas écrit sur le sujet !
Sur les PC sous un environnement Gnome avec le gestionnaire de fichiers Nautilus j’applique la méthode décrite dans mon l’article « Afficher les métadonnées exif avec un clic droit sur Nautilus » écrit en 2015 (il y a une légère modification sur le script d’aujourd’hui, mais les deux fonctionnent).
Il se trouve que le PC que j’utilise le plus souvent ces derniers temps est sous Manjaro avec un environnement XFCE et donc Thunar comme gestionnaire de fichiers.
Pour infos
Il existe de nombreuses similitudes avec l’article mentionné plus haut. La principale différence réside dans l’emplacement du script ainsi qu’une procédure spécifique à effectuer sous Thunar, qui ne s’applique pas à Nautilus.
Il est possible de remplacer Zenity par Yad, et Exiv2 par Exiftool, mais je pense que Yad nécessite certainement des critères supplémentaires (je n’ai pas cherché). Bref, il existe plusieurs façons de faire, mais comme je suis de nature plutôt fainéante, je préfère me baser sur des solutions déjà en place et qui fonctionnent chez moi depuis 2015.
Mais voyons la procédure
Tu auras besoin de Zenity et de Exiv2 (Chez-moi, Exiv2 était déjà installé). Pour installer les deux :
Manjaro :
sudo pacman -S exiv2 zenity
Débian et dérivés
sudo apt install exiv2 zenity
Sous XFCE il n’y a pas de ./local/thunar, on va donc créer un répertoire sous .local, je l’ai appelé bin, vous pouvez le nommer scripts ou autres, mais il faudra en tenir compte pour les chemins.
Créer un répertoire bin
mkdir -p ~/.local/bin
On va écrire le script, j’utilise vim, mais vous pouvez utiliser nano ou autre éditeur.
#!/bin/bash est un préfixe au nom de l’exécutable qui va effectivement traiter les lignes qui le suivent. On l’appelle « shebang » et doit être la première ligne du script. (il s’agit d’un copié/collé de mon article « Initiation au Shell – Boucle (for, do, done » écrit en 2015).
zenity affiche une boite de dialogue d’info (–info), titre optionnel (–title) et enfin avec (–text) le contenu de la sortie de la commande exiv2, les métadonnées exif de $1, le premier argument passé au script, c’est-à-dire le chemin du fichier image.
Il faut rendre exécutable le script
chmod +x ~/.local/bin/exif.sh
– Pas certain que ma pédagogie fasse mouche
– Ouah ah ah… Et c’est toi Sima qui donne des cours d’initiation au Bash à Root66.Net ? Hé ben, ils sont pas aidés.
– Ho ça va, ta gueu… Tais-toi ! Bon, je continue.
Voyons maintenant comment configurer Thunar
On ouvre le gestionnaire de fichier Thunar puis on va dans :
Édition → Configurer les actions personnalisées…
Une boite de dialogue s’ouvre → clique sur le +
Une autre boite de dialogue s’ouvre sur l’onglet « Base »
On met le nom de son choix.
On peut mettre une description.
Dans commande on met le chemin absolu (en entier) vers l’exécutable avec le paramètre %f
Ensuite on va dans l’onglet « Conditions d’apparition » et on coche la case « Fichiers image »
Puis on valide
On voit que l’action « EXIF » a été ajouté. Tu peux fermer.
Sur Thunar vas sur une image et fais un clic droit, puis descend sur « EXIF »
Clic sur « EXIF » et une fenêtre s’ouvre avec les métadonnées Exif.
Si ça ne fonctionne pas, ferme et relance Thunar pour être certain que les modifications ont bien été prises en compte par Thunar.
Des idées pour améliorer ce petit script ou une autre approche à proposer ? Lâche-toi en commentaires.
Il était temps que je renouvelle ma clé de chiffrement, en effet je n’avais pas mis de date d’expiration et par procrastination dont je suis un spécialiste je reculais la date de cette tâche de jour en jour pour ne pas dire d’année en année. Ce week-end je m’y suis collé et c’est l’occasion de créer un billet pour blog.
Trouvant les interfaces graphiques limitées dans les options, j’ai utilisé la ligne commande bien plus riche.
Faut-il communiquer qu’en mode chiffré ou pas… ce sera le sujet d’un autre article !
Avant tout, qu’est-ce que GnuPG ?
GnuPG (GNU Privacy Guard) est un logiciel libre qui permet de chiffrer et de signer des données et des communications, rendant vos échanges privés et authentiques. Il utilise le chiffrement asymétrique : chaque utilisateur possède une clé publique (à partager pour recevoir des messages chiffrés) et une clé privée (à garder secrète pour déchiffrer les messages reçus et signer ses propres messages).
Bref :
Protéger vos emails et fichiers pour qu’ils ne soient lisibles que par le destinataire choisi.
Vérifier l’authenticité des messages ou fichiers reçus, confirmant qu’ils proviennent bien de la personne qui les a signés.
C’est un outil pour la confidentialité et la sécurité des communications numériques.
Avertissement
Il ne s’agit pas de copier/coller bêtement les lignes de commande mais d’essayer de les comprendre et de vous les approprier.
Comme modifier « mon@mail.fr » par votre mail… Et mettre votre propre ID
Pour comprendre comment est faite une clé GnuPG
pub rsa4096/0x2C07D84901065A3D 2024-11-10 [SC]
Empreinte de la clef = 32B2 C27E 1C7D 3D68 8FA1 D49F 2C07 D849 0106 5A3D
uid sima78 (clés perso 01) <mon@mail.fr>
sub rsa4096/0x373FEA503684F9B2 2024-11-10 [E]
pub : est la clé publique, l’ID est entre le « / » et avant 2024, utilisée pour chiffrer ou vérifier des signatures. Empreinte de la clé : est l’empreinte complète qui permet de faire des vérifications. uid : Identité de l’utilisateur associée à la clé publique (nom, email). sub : Clé secondaire, souvent utilisée pour des rôles spécifiques comme le chiffrement.
Renouvellement de la clé GnuPG
Je commence par lister les clés
gpg –list-key
Là je constate que j’ai une grande quantité de clés publiques expirées.
Faire le ménage et commencer par identifier les clés publiques expirées
Faire le ménage, supprimer les clés expirées est tout à fait optionnel. Vous pouvez le faire après, ou ne pas le faire.
La procédure de renouvellement commence vraiment à « Révoquer l’ancienne clé ».
Permets de lister les clés expirées
Pour les supprimer deux possibilités
Dans mes penses-bêtes j’ai un script et une ligne de commande. Je vous mets les deux mais j’ai utilisé la ligne de commande plus bas, je n’ai pas retesté mon script.
Mon script avec une structure conditionnelle « if, then, fi » et une boucle « for do done«
#!/bin/bash
# Script de suppression des clés publiques GPG expirées
# Vérifier si la commande gpg est disponible
if ! command -v gpg &> /dev/null; then
echo "Erreur : gpg n'est pas installé." >&2
exit 1
fi
# Parcourir en boucle chaque clé GPG expirée et la supprimer
for key in $(gpg --list-keys --with-colons | awk -F: '/^pub:e:/ {print $5}'); do
echo "Suppression d'une clé expirée: $key"
gpg --batch --yes --delete-keys "$key" || {
echo "Échec de la suppression de la clé: $key" >&2
}
done
echo "La suppression des clés expirées est terminée."
exit 0
gpg –list-keys –with-colons : Liste toutes les clés
awk -F: ‘/^pub:e:/ {print $5}’ : Filtre les clés publiques expirées (pub:e) et extrait leur ID.
xargs -I {} gpg –batch –yes –delete-keys {} : Utilise xargs pour passer chaque ID de clé expirée à gpg –delete-keys, supprimant ainsi les clés sans confirmation.
Cette commande supprime toutes les clés publiques expirées de manière automatique.
Mettre à jour les clés de votre trousseau
Pour synchroniser toutes les clés dans votre trousseau avec le serveur de clés et obtenir les dernières informations (comme les révocations), utilisez :
gpg –refresh-keys
Cela vérifie chaque clé de votre trousseau et télécharge les mises à jour disponibles, y compris les certificats de révocation, de tous les serveurs de clés configurés.
Ah, j’ai deux ID dont une est déjà expirée, c’est dont la première que je dois choisir.
sima78@jilipolla:~$ gpg --output revocation_certificat.asc --gen-revoke 0x2A5F500DD27DD6FB
sec rsa4096/0x2A5F500DD27DD6FB 2017-02-22 sima78 <mon@mail.fr>
Faut-il créer un certificat de révocation pour cette clef ? (o/N) o
choisissez la cause de la révocation :
0 = Aucune cause indiquée
1 = La clef a été compromise
2 = La clef a été remplacée
3 = La clef n'est plus utilisée
Q = Annuler
(Vous devriez sûrement sélectionner 1 ici)
Quelle est votre décision ? 0
Entrez une description facultative, en terminant par une ligne vide :
> ancienne
>
Cause de révocation : Aucune cause indiquée
ancienne
Est-ce d'accord ? (o/N) o
sortie forcée avec armure ASCII.
Certificat de révocation créé.
Veuillez le déplacer sur un support que vous pouvez cacher ; toute personne
accédant à ce certificat peut l'utiliser pour rendre votre clef inutilisable.
Imprimer ce certificat et le stocker ailleurs est une bonne idée, au cas où le
support devienne illisible. Attention tout de même : le système d'impression
utilisé pourrait stocker ces données et les rendre accessibles à d'autres.
sima78@jilipolla:~$ gpg --send-keys --keyserver keys.openpgp.org 0x2A5F500DD27DD6FB
gpg: envoi de la clef 0x2A5F500DD27DD6FB à hkp://keys.openpgp.org
Générer la nouvelle clé
sima78@jilipolla:~$ gpg --full-generate-key
gpg (GnuPG) 2.4.4; Copyright (C) 2024 g10 Code GmbH
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.
Sélectionnez le type de clef désiré :
(1) RSA and RSA
(2) DSA and Elgamal
(3) DSA (sign only)
(4) RSA (sign only)
(9) ECC (sign and encrypt) *default*
(10) ECC (signature seule)
(14) Existing key from card
Quel est votre choix ? 1
les clefs RSA peuvent faire une taille comprise entre 1024 et 4096 bits.
Quelle taille de clef désirez-vous ? (3072) 4096
La taille demandée est 4096 bits
Veuillez indiquer le temps pendant lequel cette clef devrait être valable.
0 = la clef n'expire pas
<n> = la clef expire dans n jours
<n>w = la clef expire dans n semaines
<n>m = la clef expire dans n mois
<n>y = la clef expire dans n ans
Pendant combien de temps la clef est-elle valable ? (0) 0
La clef n'expire pas du tout
Est-ce correct ? (o/N) o
GnuPG doit construire une identité pour identifier la clef.
Nom réel : sima78
Adresse électronique : mon@mail.fr
Commentaire : clés perso 01
Vous utilisez le jeu de caractères « utf-8 ».
Vous avez sélectionné cette identité :
« sima78 (clés perso 01) <smon@mail.fr > »
Changer le (N)om, le (C)ommentaire, l'(A)dresse électronique
ou (O)ui/(Q)uitter ? O
De nombreux octets aléatoires doivent être générés. Vous devriez faire
autre chose (taper au clavier, déplacer la souris, utiliser les disques)
pendant la génération de nombres premiers ; cela donne au générateur de
nombres aléatoires une meilleure chance d'obtenir suffisamment d'entropie.
De nombreux octets aléatoires doivent être générés. Vous devriez faire
autre chose (taper au clavier, déplacer la souris, utiliser les disques)
pendant la génération de nombres premiers ; cela donne au générateur de
nombres aléatoires une meilleure chance d'obtenir suffisamment d'entropie.
gpg: répertoire « /home/sima78/.gnupg/openpgp-revocs.d » créé
gpg: revocation certificate stored as '/home/sima78/.gnupg/openpgp-revocs.d/32B2C27E1C7D3D688FA1D49F2C07D84901065A3D.rev'
les clefs publique et secrète ont été créées et signées.
pub rsa4096/0x2C07D84901065A3D 2024-11-10 [SC]
Empreinte de la clef = 32B2 C27E 1C7D 3D68 8FA1 D49F 2C07 D849 0106 5A3D
uid sima78 (clés perso 01) <mon@mail.fr>
sub rsa4096/0x373FEA503684F9B2 2024-11-10 [E]
On vérifie la liste des clés et note l’ID de la nouvelle clé
Une fois la nouvelle clé créée, listez vos clés pour noter l’ID de votre nouvelle clé :
gpg –list-keys
Exporter votre nouvelle clé publique
Exportez votre nouvelle clé publique pour la partager avec vos contacts :
Publier la nouvelle clé publique sur un serveur de clés
Cela permet à vos contacts de retrouver votre nouvelle clé via un serveur de clés public, comme keys.openpgp.org. Il en existe plusieurs mais ils se synchronisent ente-eux
sima78@jilipolla:~$ gpg --send-keys --keyserver keys.openpgp.org 0x2C07D84901065A3D
gpg: envoi de la clef 0x2C07D84901065A3D à hkp://keys.openpgp.org
Il ne reste plus qu’à configurer les clients mail pour utiliser la nouvelle clé
Chaque client mail a des procédures spécifiques pour sélectionner une nouvelle clé GnuPG. Je ne vais donc pas détailler ici.
Les commandes 2, 3 et 4 sont optionnelles, j’avais juste besoin de faire du ménage.
Précisions, réflexion : Il est fortement conseillé de créer un certificat de révocation de votre nouvelle clé que vous garderez précieusement dans vos sauvegardes. En effet, si pour une raison quelconque vous perdez votre paire de clés ou que votre clé est corrompue vous pourrez l’exporter pour révoquer votre clé et en recréer une nouvelle.
En écrivant cet article j’ai regardé ce que faisaient d’autres blogueurs, beaucoup commencent par générer la nouvelle clé et termine par la révocation de l’ancienne clé, c’est aussi une logique qui se tient.
Il existe de plus en plus de fournisseurs de messageries qui proposent la possibilité de chiffrement assymétrique de vos mails et signatures de façon simplifiée.
Alors comment faire ? Je vois deux possibilités, il y en a certainement d’autres.
La première utilise exiftool, je parlerais plus bas de l’autre solution que je ne développerai pas.
Exiftool est un outil pour lire, écrire et éditer les métadonnées des fichiers multimédias, y compris les fichiers vidéo. Il faut donc commencer par l’installer si ce n’est pas déjà fait :
sudo apt install exiftool
En fonction de votre distribution vous adapterez.
AVERTISSEMENT !
Toujours avoir une sauvegarde des fichiers à modifier.
Comme nous allons utiliser également la commande « find », qui est récursive, mettre vos fichiers à modifier dans un répertoire sans sous-répertoire.
find . -iname "*.mp4" : Trouve tous les fichiers avec l’extension .mp4 (avec -iname, peu importe la casse de mp4) soit dans le répertoire courant et ses sous-répertoires (d’où l’avertissement plus haut). -exec exiftool '-filename<CreateDate' : Utilise exiftool pour renommer chaque fichier en utilisant la valeur de CreateDate. -d "%Y-%m%d-%Hh%Mm%Ss-Nom_de_votre_choix.mp4" : Spécifie le format du nom de fichier de sortie. Ici, %Y, %m, %d, %Hh, %Mm, %Ss sont des formatages pour l’année, le mois, le jour, l’heure, la minute et la seconde de création, et Nom_de_votre_choix » est une chaîne fixe que vous pouvez modifier, bref, le nom que vous souhaitez donner {} : Représente chaque fichier trouvé par find. + : Permet d’exécuter une seule commande exiftool pour tous les fichiers trouvés
Exemple concret
J’ai un répertoire « Work » dans lequel se trouve plusieurs sous-répertoires dont un qui s’appelle « vid »
J’ai mis une copie de mes vidéos à renommer dans le répertoire « vid »
Hé Sima, et la deuxième possibilité.
Ha oui, j’allais oublier.
J’avais pensé à utiliser ffmpeg ou plus précisément ffprobe qui est inclus dans ffmpeg et permet d’extraire les métadonnées.
Mais j’avoue ne pas avoir trouvé comment le faire en une ligne.
Soit, dans un script c’est possible.
On extrait les métadonnées avec ffprobe, puis utiliser structure conditionnelle if else fi pour traiter/formater les données et renvoyer vers un find incluant bash -c 'rename_file "$0"'
Bref, l’idée est là, un truc de ce genre, mais comme j’ai une ligne qui fait le job, je ne me suis pas creusé la tête pour créer un script.
Vous avez une d’autres idées en ligne de commande? des questions? n’hésitez pas à utiliser les commentaires.
Migration du nom de domaine de Gandi à Infomaniak.
Suite au rachat de Gandi par le consortium néerlandais Strikwerda Investments, propriétaire de TWS (Total Webhosting Solutions) une ENORME augmentation de prix me fait fuir Gandi dont j’étais très très satisfait tant que c’était Français… Cocorico !
J’avais droit à 5 messageries gratuites, j’en avais créé 4.
Et quelle fût ma surprise lorsque je reçois un mail par lequel on m’annoce que suite au rachat je devais payer plus 240 € pour mes 4 messageries avant le 29 novembre, mon nom de domaine étant déjà payé (sous Gandi France) jusqu’en 2025.
J’ai décidé de tout quitter, quitte à repayer mon nom de domaine.
Tuto simple de ma migration
Mon choix
J’ai fait le choix d’Infomaniak, il y en a d’autres, je ne fais pas de pub j’avoue avoir manqué de temps pour prospecter tranquillement et ça semble faire partie des valeurs sures.
Migration
J’ai migré juste mon nom de domaine et mes 4 messageries.
Les blogs, sites, cloud, Peertube, etc. sont heureusement ailleurs et non chez Gandi.
Du coup ce n’était pas trop compliqué.
J’explique pour Infomaniak, mais j’imagine que ce doit être assez similaire chez les autres fournisseurs de nom de domaine.
Étape par étape.
1 – Créez un compte sur Infomaniak
2 – Aller sur votre interface Gandi → Non de domaine → Cliquez sur votre nom de domaine → Enregistrements DNS
Sur l’image on est sur la « Vue simple », allez sur l’onglet « Vue avancée »
Copiez tout et collez dans un fichier .txt
Si vous avez plusieurs noms de domaine, refaites la procédure pour chaque nom de domaine.
Il s’agit de garde une trace de vos configurations si elles sont plus ou moins spécifiques et/ou personnalisées.
A → correspond à une IP v4
AAAA → correspond à une IP v6
Le reste peut être plus ou moins personnalisé.
3 – Allez dans l’onglet « Transfert sortant »
Désactivez la « Protection contre le transfert »
Copiez le « Code d’autorisation de transfert »
Me concernant, c’est terminé concernant l’interface Gandi.
Important ! À un moment (je ne me souviens pas à quelle étape) Infomaniak va vous demander d’installer une app sur votre smartphone et de flasher un QrCode et de renvoyer le code reçu, il s’agit de vérifier votre identité, l’app ne vous sera plus utile par la suite.
Donc sur Infomaniak allez sur migration du nom de domaine, je ne me souviens pas du nom exact mais c’est assez explicite.
4 – tapez votre nom de domaine
5 – Commandez le nombre de messageries dont vous avez besoin, s’il y en a qu’une, elle est gratuite.
6 – collez votre code d’autorisation de migration.
Ensuite il suffit de valider et payer, j’en ai eu pour 40,79 €, 200 € de moins que chez Gandi, c’est pas rien.
Vous allez recevoir un mail qu’il y a un délai de 9 jours pour que la migration soit effective, du moins pour un « .fr », je ne sais pas si c’est pareil pour toutes les extensions.
Vous allez recevoir un mail de Gandi vous disant la même chose mais avec un lien si vous souhaitez accélérer la procédure. Si vous cliquez sur le lien la migration se fait dans les secondes, minutes, heures… qui suivent, moi ça été presque instantané.
Sachez que lorsque vous migrez seul le nom de domaine est pris en compte, pas les sous-domaines, il faudra les recréer et les configurer. Donc en fonction de ce qui vous semble plus urgent, commencez par soit créer vos messageries liées à votre nom de domaine, soit configurer vos zones DNS.
Comme j’ai fait ça le week-end sachant que je reçois moins de mails, j’ai commencé par les zones DNS.
Voilà, une fois que vous aurez fait tout cela tout devrait de nouveau fonctionner. L’interface Infomaniak est moins top que celle de Gandi, mais bon, c’est comme tout, on s’y fait.
Personnellement j’ai décidé de me défaire de toutes les messageries liées au nom de domaine, j’ai un an pour le faire, le temps de bien prévenir chaque correspondant de mes changements d’adresses pour ne pas à avoir à payer les messageries l’année prochaine.
PS : Si vous devez créer un nom de domaine, ne le faites pas à la légère.
Le TLD (le fameux « .truc », « .org », « .fr » etc.) détermine la loi nationale applicable en cas de conflit.
Je m’explique : imaginons que mon blog est celui d’une organisation d’échange de matériel divers et pour signifier que je suis une organisation je mets à la suite de sima78 le .org
Voilà, je suis une organisation d’échange matériel, reste plus qu’à mettre du contenu pour montrer mes échanges… Mais imaginons que je propose un objet prohibé par la loi Étasunienne je peux me voir intenté un procès par ce dernier. En effet si le TLD manager de .org est chez Public Interest Registry, association sans but lucratif elle est domiciliée aux USA… Je peux même obtenir le pactole en proposant un objet répréhensible également par la loi Française et Étasunienne, deux procès puisque je suis auto-hébergé en France…
L’extension du nom de domaine ne se choisit pas à la légère et ne sert pas qu’à faire joli, rigolo ou original.
Il faut bien le penser!
Tuto – Diminuer la dimension des images par lot en ligne de commande – Bash
Si comme moi vous devez envoyer un tas d’images via mail et que vos images pèsent trop lourd, ou que vous devez les publier et toujours ce problème de poids…
Voilà comment je procède pour leur faire un régime en ligne de commande bash.
Je le mets ici, si cela peut vous servir, tant mieux, moi ça me permet d’éviter de me recreuser la tête au besoin.
Pour cela nous allons utiliser deux commandes fournis dans le paquet imagemagick, « identify » et « mogrify » et la commande « awk » qui comme la commande « sed » est une commande aussi très puissante et permet de faire énormément de choses car elles intègrent beaucoup de fonctions mais on ne rentra pas dans le détail de awk ici.
Imagemagick est un logiciel très puissant qui permet de nombreuses manipulations d’images en ligne de commande tel que rotation, conversion et bien plus.
Il faut donc avant tout installe imagemagick
sudo apt install imagemagick
Puis pour redimensionner par lot :
$ identify *.jpg | awk '{split($3, TAB, "x"); W = TAB[1]; H = TAB[2]; if(W > 1200){system("mogrify -resize 1200x "$1)} if (H > 1200){system("mogrify -resize x1200 "$1)}}'
identify *.jpg → identifie les fichiers se terminant par jpg et passe à la commande axk. awk → pour faire simple, divise la chaîne en un tableau qui va permettre la comparaison. mogrify → permet ici de redimensionner, elle a plein d’autres possibilités.
Bref : je redimensionne à 1200 maxi les fichiers jpg, pour la hauteur et la largeur.
Pour info : Extrait du man awk concernant « split »
split(s, a [, r [, seps] ])
Split the string s into the array a and the separators array seps on the regular expression r, and return the number of fields. If r is omitted, FS is used instead. The arrays a and seps are cleared first. seps[i] is the field separator matched by r between a[i] and a[i+1]. If r is a single space, then leading whitespace in s goes into the extra array element seps[0] and trailing whitespace goes into the extra array element seps[n], where n is the return value of split(s, a, r, seps). Splitting behaves identically to field splitting, described above. In particular, if r is a single-character string, that string acts as the separator, even if it happens to be a regular expression metacharacter.
Je n’ai pas de messagerie Protonmail par contre j’utilise GnuPG pour signer et chiffrer mes mails et pièces jointes.
J’avais un souci pour récupérer les clés publiques de mes correspondants sous Protonmail. Je mets donc ici les problèmes rencontrés et leurs résolutions.
Si cela peut servir à d’autres, cela me servira de toute façon de pense-bête.
Problème de récupération des clés GnuPG publiques Protonmail.
adressemail@protonmail.com est une adresse fictive pour ne pas mettre ici l’adresse réellement recherché, c’est pour l’exemple hein !
Lorsque j’essaie de récupérer une clé publique GnuPG Protonmail j’ai le message d’erreur suivant :
Quelle que soit la commande :
gpg --search-keys adressemail@protonmail.com
ou :
gpg2 –recv-keys adressemail@protonmail.com
J’ai le message d’erreur suivant :
gpg: WARNING: Tor is not running
gpg: error searching keyserver: Connexion refusée
gpg: échec de recherche au sein du serveur de clefs : Connexion refusée
On voit déjà que j’ai un souci de connexion lié à la configuration de mon GnuPG
Je commence donc par corriger cela :
Dans /home/user/.gnupg/dirmngr.conf j’ai commenté la ligne « use-tor » et toujours dans
###+++--- GPGConf ---+++###
# use-tor
Dans /home/user/.gnupg/gpg.conf j’ai modifié (dans la partie « keyserver ») le serveur par défaut et commenté l’ancien :
Remplacé « keyserver hkp://keys.gnupg.net » par « keyserver hkps://keys.openpgp.org »
#-----------------------------
# keyserver
#-----------------------------
# This is the server that --recv-keys, --send-keys, and --search-keys will
# communicate with to receive keys from, send keys to, and search for keys on
# keyserver hkp://keys.gnupg.net
keyserver hkps://keys.openpgp.org/
Deuxième tentative de récupération de la clé publique.
gpg --search-keys adressemail@protonmail.com
Et toujours rien, il ne trouve pas la clé ?…
Je vais sur les serveurs de clés en ligne rien de plus…
Un petit tuto pense bête pour savoir sur quel « dev » se trouve votre webcam et la tester en migne de commande.
Système d’exploitation Linux, PC fixe avec une seule webcam connectée via USB.
Commande passé depuis un terminal en mode utilisateur « user »
Savoir si la webcam est reconnue sur l’un des ports usb.
$ lsusb
(...)
Bus 001 Device 004: ID 1d6c:0103 HD WEBCAM HD WEBCAM
(...)
Sur toute une série de lignes il y en a une où apparaît clairement la webcam, elle est donc reconnue.
Sur quel « /dev » elle se trouve :
$ ls -l /dev/video*
crw-rw----+ 1 root video 81, 0 mars 4 10:50 /dev/video0
crw-rw----+ 1 root video 81, 1 mars 4 10:50 /dev/video1
J’en trouve deux alors que je n’ai qu’une webcam ? J’en déduis que peut-être que ma carte mère est prévue pour être installée sur d’autres machines avec webcam intègrée, ou que je peux en installer deux sur ports usb… J’avoue ne pas avoir la réponse précise, juste déduction.
Pour tester la webcam en ligne de commande on va utiliser MPlayer.
Je n’ai rien inventé tout est dans le très riche « man »
$ man mplayer
Nous avons donc les « device » possibles « /dev/video0 » ou « /dev/video1 », reste à trouver le bon « driver », pour cela :
$ mplayer tv:// -tv driver=help
(...)
Available drivers:
v4l2 Video 4 Linux 2 input (first try, more to come ;-))
Tuto – Convertir un fichier webm en gif avec ffmpeg
Petit tuto pense bête d’une ligne. J’avais besoin à tout prix d’un fichier gif depuis un fichier webm.
Attention, ce n’est pas forcément judicieux car là la conversion le fichier gif aura une moins bonne définition et va prendre du poids ; -)
Voilà un message d’erreur qui arrive lorsque l’utilisateur root n’a pas de Shell.
# cat /var/log/backup-rdiff
/bin/sh: 1: root: not found
/bin/sh: 1: root: not found
Comment y remédier ?
Plutôt que de refaire un tutoriel sur ce billet, je vais compléter un billet existant qui traite aussi bien de Rdiff-backup, les tâches Cron et MySqlDump.
Sur ce Tuto je vais tenter de vous expliquer comment avoir un accès https sur Geneweb en mode pur service et non en page web sur « /var/www » et sans script cgi-bin.
Je vais également vous expliquer les raisons de mes choix, le matériel utilisé, les problèmes rencontrés et solutions trouvées.
Alors pas un tuto traditionnel, linéaire où l’on y fait des copiés/collés sans réfléchir, mais mon objectif et mes doutes, interrogations avant de trouver la solution. Démontrer que tout n’est pas toujours limpide même si la solution est finalement plus simple mais autrement que nous l’avions pensé. Et que si ce tuto ne fonctionne pas in-texto pour vous, la solution existe certainement.
Du coup Sima tu ne fais pas vraiment pro !
Je ne suis pas pro mais éternel amateur dont je revendique le statut. Comme aux jeux d’échecs, on apprend beaucoup plus en analysant nos déboires que nos victoires !
Ouah sima en plus t’es philosophe !
Ouais !
Je souhaitais que Geneweb soit séparé pour plusieurs raisons.
a – Des craintes dont certaines pas forcément fondées puisque pas testées mais je ne souhaitais pas prendre le risque. Mettre Geneweb sur le serveur sous Yunohost en mode service avec stunnel4 pour le https, seule solution que j’avais trouvé à une époque. Pas envie non plus de le mettre dans « /var/www/ » avec un cgi-bin qui m’aurait obligé à apporter des modifications que peut-être Yunohost aurait viré lors des mises à jours et aussi pour ne pas perturber la cohérence du serveur sous Yunohost.
b – Laisser la possibilité de donner la main en mode administrateur à ceux qui souhaiteraient parmi les membres de cette généalogie… Aller au-delà de compléter les informations généalogiques et pourquoi pas gérer la totalité en mode admin. On se doute que je ne souhaite pas donner des droits administrateurs sur mon serveur perso sous Yunohost. D’où l’idée de le séparer.
c – Je n’avais pas envie de gérer un ième serveur web avec Apache ou Nginx et le tutti-conti. Quelque chose qui soit le plus simple possible allant à l’essentiel.
Un Rapsberry oppérationel, je ne vais pas faire un tuto sur le sujet pour peu que vous ayez une carte sd Noobs, vous avez juste à vous laisser guider, il existe plein de tutos sur le web.
Penser à changer le mot de passe par défaut, activer SSH, changer le numéro de port, mettre une IP fixe (moi je l’ai fait depuis ma freebox où j’attribue une ip au Raspberry). Pas d’Apache ou Nginx, ni base de données, on reste minimaliste.
Installer en mode service avec un simple apt. Du coup ce sera la version des dépôts, la version Geneweb 6.08 même s’il existe la version 7 sur un GitHub.
On peut juste faire :
apt install geneweb
et configurer certains fichiers à la main.
Le plus simple est de tout installer, ça reste très léger :
apt install geneweb geneweb-gui gwsetup gwtp
En allant sur localhost:2317 vous accédez à geneweb (vide).
En allant sur localhost:2316 vous accédez à gwsetup qui vous permettra de créer une base généalogique ou d’en charger une existante (ce que j’ai fait).
Vous retrouverez tout (l’essentiel) dans « /var/lib/geneweb/ »
J’ai modifié à la main le fichier ma_base.gwf car j’utilise des fonctions pas prévues dans l’outil gwsetup.
gwsetup vous propose de mettre un « Ami » (accès à tout l’arbre généalogique sans droit de modification) et un « Magicien » (droit de modification de l’arbre généalogique.
Or moi j’ai un fichier (file-friends.auth) où se trouvent tous les « Amis » et un autre (file-wizards.auth) où se trouvent tous les « Magiciens ». Ces fichiers se créent à la main, au fil du temps où vous ajoutez ou supprimez des « Amis » et/ou « Magiciens » et vous nommez vos fichiers comme vous voulez et les mettre dans « /var/lib/geneweb/ »
Il suffit dans « /var/lib/geneweb/ma_base.gwf » de mettre en commentaire deux lignes et en rajouter deux autres :
Sauf qu’à l’étape « a » ça se passe mal. « certbot » (qui permet de générer des certificats LetsEncrypt) me crie dessus me disant qu’il ne s’agit pas d’un serveur web qu’il n’y a ni Apache ou Nginx ou autre et que j’aille me faire foutre voir ailleurs, je n’aurais pas de certificats LetsEncrypt.
Là je reste interdit, que faire ? Des certificats auto-signés qui afficheraient des messages d’alerte sur les navigateurs ? Pas top…
Un petit tour chez mon fournisseur de nom de domaine (Gandi) et une solution possible… Je peux générer mes propres certificats et les soumettre à leur signature, solution possible, payante, sans certitude absolue mais une bonne piste…
Quand on est confronté à un problème, on en fait parfois une fixette comme une poule ou un coq qui découvre un cure-dents.
Coq
Appeler un ami c’est l’espoir d’avoir une solution, ou des pistes et au pire ça fait du bien de chialer sur l’épaule d’un autre.
La victime fût Benzo, Le pauvre… Pourquoi lui ? Déjà on s’entend bien, c’est un pro, et je sais qu’il connaît bien Yunohost et qu’il a des services en parallèle…
Il ne connaît pas Geneweb mais à bien identifié mon problème, pas de solution immédiate, mais plein d’échanges d’idées : (…) si tu crées un domaine sur yunohost et fait un script pour renvoyer les certificats, écrire une redirection (…).
Ça part dans tous les sens, ça fuse sans solution concrète… Mais, mais, mais ça fait du bien et de ma vision d’une poule face au cure-dents, j’ai une vision bien plus panoramique.
Dès qu’on raccroche, j’ai le déclic… domaine Yunohost, redirection !
Le domaine (sous domaine) YunoHost, j’en ai un inutilisé genre mon-arbre.MonNomDeDomaine.fr avec les certificats LestEncrypt générés et renouvelé automatiquement.
Si je ne l’avais pas ça se crée au simple clique sous Yunohost. Plus qu’à compléter deux lignes chez le fournisseur de nom de domaine, si vous ne savez pas quoi mettre, YunoHost vous le dit !
Bref, nom de domaine fait !
Je me souviens qu’il existe une app sous Yunohost pour les redirections.
J’installe sous Yunohost « Redirect » et le configure comme suit :
Redirect
* Après vérification, c’est juste le / avec rien derrière.
Si vous mettez « /votre_base » « votre base » étant une base généalogique existante ça fonctionne et vous arrivez directement sur la base. Le souci est que si vous avez plusieurs bases, ou souhaitez en créer d’autre, vous n’arriverez que sur la base que vous aurez mise derrière le « / ».
Il n’est pas possible de vérifier la configuration après installation de Redirect, ni la modifier, il faut faire « Supprimer » et installer de nouveau, comme je l’ai dit, ça prend moins d’une minute.
Lors de vos tests geneweb depuis le navigateur, pensez à bien vider votre cache avant chaque tentative, pas un simple rafraîchissement de la fenêtre, j’ai galéré un moment à cause de cela.
Dans « Emplacement de destination » mettez l’IP interne d’accès à votre geneweb, donc sur le port 2317 et en http, soit http://192.168.xx.xx:2317
Dans « Type de redirection » 4 choix : choisissez Proxy, invisible accessible à tout le monde comme sur l’image.
Bref vous arriverez directement sur la page d’accueil en tapant sur votre navigateur :
https://nomsousdomaine.nomdomaine.fr
Le mieux est d’arriver sur la page d’accueil et taper le nom de la base généalogique sur laquelle on souhaite aller:
Un Raspberry avec Raspbian sur lequel on installe Geneweb et rien de plus.
Sur le serveur YunoHost créer un domaine et générer les certificats LetsEncrypt (chez votre fournisseur de nom de domaine apporter les précisions « AAAA » et « CNAME » à votre nouvelle création (si vous ne savez pas quoi mettre, suivez les conseils YunoHost, vous aurez juste à faire des copiés/collés). Installer l’application « Redirect », la configurer… Et c’est terminé.
Un Grand merci et bravo aux développeurs et contributeurs de Yunohost et de ses applications.
Je pense donc qu’il est possible d’installer geneweb avec simple « apt » sur un serveur Yunohost avec la redirection qui va bien… Mais ça je n’ai pas testé.
Les utilisateurs pourrons se connecter en https sur le domaine que vous aurez créé genre : hppts://geneweb.nom_domane.fr
Sur votre Yunohost, ne vous connectez pas directement en cliquant sur la brique, vous ne pourrez pas vous connecter en « Ami » ou « Magicien » car je pensez qu’il est attendu un identifiant enregistré sous Yunohost.
Hein sima, tout ce baratin pour une si courte conclusion !
Hé oui, c’est plus un retour d’expérience qu’un tutoriel !
J’envisage écrire un autre tutoriel, plus technique, factuel, sans y raconter ma vie pour le site officiel Geneweb