GnuPG Renouveler sa clé de chiffrement

1 654 mots, temps de lecture 9 minutes.

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 ?

Continuer la lecture de « GnuPG Renouveler sa clé de chiffrement »

Renommer vos videos par lot en utilisant les metadonnees

556 mots, temps de lecture 3 minutes.

Pour renommer les fichiers MP4 par lot en utilisant les métadonnées

telles que la date et l’heure de création

J’ai écrit plusieurs articles exiv2 dont comment renommer vos photos par lot en utilisant les métadonnées Exif. Cela n’est pas transposable car exiv2 ne gère pas les métadonnées des fichiers vidéo MP4.

Alors comment faire ?
Je vois deux possibilités, il y en a certainement d’autres.

Continuer la lecture de « Renommer vos videos par lot en utilisant les metadonnees »

Mettre un logo ou signature sur vos images en ligne de commande

551 mots, temps de lecture 3 minutes.

Je vous propose aussi un script Bash pour le faire par lot

Je compte enrichir mon Pixelfed avec certaines de mes photos et je me disais que mettre un petit logo sur chacune de mes images serait bien, puisque celles actuelles ne sont pas signées.

Pour cela il faudra installer ImageMagick pour l’accès à ses composants car nous devrons utiliser la commande « composite ».

J’avoue avoir un peu galéré car il manque quelques informations sur le « man composite », rassurez-vous, je vous vous mets tout !

Précision :

Si vos images sont en « .jpg » faites votre logo à un format différent pour plus de commodité du genre « .png ».  Ce n’est pas obligatoire si vous ne mettez pas le logo dans le même répertoire et que vous précisez son chemin.

Ajouter un logo à vos images en ligne de commande

Le basique

composite -geometry +15+15 votrelogo.png image-original.jpg image-finale.jpg
  • composite est la commande pour superposer des images.
  • -geometry +15+15 spécifie la position de votre logo par rapport au coin supérieur gauche.
  • +15+15 pixels vous pouvez préciser plus ou moins.

Oui mais moi Sima je veux que ce soit en bas à gauche !
Pas de souci…

composite -gravity southwest -geometry +15+15 votrelogo.png image-original.jpg image-finale.jpg
  • -gravity southwest spécifie la position dans le coin inférieur gauche de l’image.
  • -gravity southeast en bas à droite
  • -gravity center -geometry +0+0 au centre

/image-finale-02.jpg

Sima, c’est bien beau tout ça, mais je ne veux pas me faire chier m’embêter à faire image par image, j’en ai des centaines…
Ok, passons au petit script sans prétention.

Script pour ajouter un logo par lot.

#!/bin/bash

logo="votrelogo.png"

for image in *.jpg; do

    output="output_${image}"

    composite -gravity southwest -geometry +15+15 "${logo}" "${image}" "${output}"

done

Si vos images ont toutes une extension .JPG donc en majuscule il faudra modifier le script car là il ne prend que l’extension en minuscule. Vous pouvez modifier pour qu’il accepte les deux, Bref, il s’agit d’une base qui ne demande qu’à être améliorée.

  • logo est le nom du fichier de votrelogo.
  • Assurez-vous que le fichier du logo est dans le même répertoire que vos images ou spécifiez le chemin complet.
  • La boucle for image in *.jpg parcourt tous les fichiers avec l’extension .jpg dans le répertoire courant. Vous pouvez ajuster l’extension selon le format de vos images.
  • output= »output_${image} » définit le nom du fichier de sortie en ajoutant le préfixe « output_ » au nom de chaque image d’entrée. Vous pouvez personnaliser le préfixe.
  • composite est utilisée à l’intérieur de la boucle pour ajouter le logo.

Enregistrez ce script sous le nom de votre choix du genre ajout-logo.sh

Rendez-le exécutable avec la commande

chmod +x ajout-logo.sh

Puis exécutez-le dans le répertoire contenant vos images.

Vous pouvez en papprendre un peu plus sur l’article Initiation au shell boucle (for, do, done)

Il y a aussi une possibilité avec la commande « find » mais attention dans ce cas c’est récursif et cela modifiera tous vos fichiers .jpg se trouvant dans les sous-répertoires, mais ça peut être utile.

Avec l’option « -iname » peut importe que l’extension .jpg soit en majuscule ou pas.

find /chemin/vers/le_dossier/de_vos_images -type f -iname "*.jpg" -exec composite -gravity southeast -geometry +15+15 /chemin/vers/votrelogo.png {} {} \;

Qu’en pensez-vous ? Vous avez d’autres astuces en ligne de commande, je suis preneur !

Le billet Mettre un logo ou signature sur vos images en ligne de commande est apparu en premier sur le blog de Sima78.

Diminuer la dimension des images par lot en ligne de commande

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.

Le billet Diminuer la dimension des images par lot en ligne de commande est apparu en premier sur le blog de Sima78.

Chiffrement GnuPG et messagerie Protonmail

Tuto – Chiffrement GnuPG et messagerie Protonmail

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…

Je me renseigne et on me dit que les clés publiques Protonmail ne sont pas sur les serveurs publics habituels mais voir les renseignements sur :
https://blog.prokop.dev/posts/gpg-retrieve-public-key-proton-mail/ (Merci Syst)

Dernière tentative après avoir les informations sur le lien ci-dessus :

Et tout fonctionne à nouveau correctement :

gpg --keyserver hkps://api.protonmail.ch --search-key adressemail@protonmail.com

gpg: data source: https://api.protonmail.ch:443

(1)    systd@protonmail.com <adressemail@protonmail.com>

      2048 bit RSA key 0x2AB4A510999264D7, créé : 2017-07-25

Keys 1-1 of 1 for "adressemail@protonmail.com".  Entrez le ou les nombres, (S)uivant, ou (Q)uitter > 1

gpg: clef 0x2AB4A510999264D7 : clef publique « adressemail@protonmail.com <adressemail@protonmail.com> » importée

gpg: Quantité totale traitée : 1

gpg:               importées : 1

Ensuite je n’ai plus qu’à signer la clé et lui donner un niveau de confiance.
Terminé !

PS : le numéro de la clé est faux aussi, c’est pour l’exemple.

Le billet Tuto – Chiffrement GnuPG et messagerie Protonmail est apparu en premier sur le blog de Sima78.

Sur quel dev se trouve votre webcam

Tuto – Sur quel « dev » se trouve votre webcam

Et tester la webcam en ligne de commande.

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 ;-))

On a le driver  v4l2

Faisons donc un premier test :

$ mplayer tv:// -tv driver=v4l2:device=/dev/video0

Normalement vous devez vous voir, si ça ne fonctionne pas tester donc avec /dev/video1
Il suffit de taper Quit pour quitter.

Vous pouvez aussi spécifier la taille de votre fenêtre mplayer. Par défaut c’est 640×480, on va spécifier une taille plus grande.

$ mplayer tv:// -tv driver=v4l2:device=/dev/video0:width=1280:height=800

Le billet Tuto – Sur quel « dev » se trouve votre webcam est apparu en premier sur le blog de Sima78.

Convertir un fichier webm en gif avec ffmpeg

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 ; -)

La ligne de commande

ffmpeg -i source.webm -pix_fmt rgb24 destination.gif

Ce billet fait écho à celui de Tutox sur comment « Réduire le poids d’une vidéo avant de la publier sur le web » et que j’utilise assez souvent.

Le billet Tuto – Convertir un fichier webm en gif avec ffmpeg est apparu en premier chez Sima78.

Initiation au Bash

Humeur – Initiation au Bash

Cela fait deux années de suite que je me propose pour donner des cours d’initiation à la ligne de commande. Elle se déroulait par visioconférence.

La prochaine commence demain et pour la première fois en présentiel.

Cela avait commencé lors du confinement, une idée pour que l’association garde une activité et des échanges entre adhérents malgré la pandémie. D’autres adhérents ont, pendant toute la pandémie proposés quelques conférences, Nous avions également organisé un Apéroot via visio où l’on pouvait parler de tout et de rien et cela depuis le serveur personnel d’un des adhérents.

Bref nous avons tous essayé tant bien que mal à maintenir une activité.

Donc l’initiation en présentiel commence demain !

Je m’interroge !

Sauf que je m’interroge, car si j’ai eu du monde sur les deux présentations précédentes, là ce n’est pas le cas… Un inscrit, et encore, pas certain qu’il puisse venir aux six séances. D’autres m’ont fait savoir qu’ils viendraient, peut-être ?…

Comme je l’ai dit, même s’il y a une personne je viens ! Ça fera un cours particulier, ça ne me dérange pas.

La difficulté en visio est de savoir où en est chacun : est-ce que tout le monde suit ?

Il y a ceux qui n’hésitent pas à poser des questions, il y a ceux qui par leurs silences, je ne sais pas s’ils suivent réellement ou s’ils n’osent pas poser de questions pour ne pas « ralentir » le cours.

Il y a ceux qui tapent la commande demandée et que me disent qu’elle ne fonctionne pas ! Faire de multiple partages d’écran est pénible, je dois donc deviner ce qui se passe sur son écran avec ce qu’il me dit pour trouver l’erreur commise.

Bref, même si ce n’était pas simple, j’ai vraiment apprécié faire ça et les bons retours m’ont fait plaisir. Ce qui n’empêche que je me pose la question sur les réels acquis. N’y en a-t-il pas qui n’ont pas osé s’exprimer et qui peut-être, largués, j’aurai dégoûté de la ligne de commande, ce qui serait le résultat inverse à celui souhaité ?

Pourtant ce nouveau format d’initiation me paraît bien plus efficace !

En effet, en présentiel plusieurs adhérents qui connaissent très bien la ligne de commande se sont proposés pour m’assister. Pendant que je fais la présentation ils pourront tourner pour voir, aider, répondre à des questions… Ce qui permettrait a chacun de mieux s’approprier la ligne de commande.

Oui mais Sima, tu as fait un peu de promo auprès des adhérents ?
J’ai essayé de vendre au mieux sur notre liste interne. Mais bon… exemple envoyé sur mes mails

(…)
Vous avez Linux que vous utilisez et aimez et vous avez entendu parler de « lignes de commande », de « terminal » qu’on appelle aussi « Shell », cet écran noir qui peut paraître austère.
Ça peut paraître compliqué, ça ne l’est pas… L’initiation est justement là pour vous familiariser avec le côté obscur de votre écran.
Vous apprendrez à mieux connaître l’arborescence de votre Linux, faire des recherches plus pointues qu’avec le mode graphique, et d’autres choses… Il n’y aura plus ou presque de secret ou mystère pour vous !
Sima78… Qui vous offre un voyage au C-Shell

(…)
Bonne soirée et désolé pour ce langage barbare… Mais avec l’initiation au bash, tout cela devient un peu plus clair 🙂
Inscrivez-vous, niveau totalement novice… lien en dessous.
Découvrez et avancez pas-à-pas avec les lignes de commandes… Vous serez comme Oscar Diggs, le magicien d’OZ, heu pardon, le magicien de votre OS (votre Linux).
Sima78… Dicton du moment : Avec Root66 devenez le magicien d’OS.

Alors pourquoi si peu d’inscrits ?

Le créneau horaire, le seul que nous ayons eu (18 à 19h30), n’est pas simple pour ceux qui rentrent du travail et doivent ensuite se rendre à la formation, pas assez de temps, et ceux qui habitent vraiment loin, pas évident de prendre (train, plus bus), plus de temps passé dans les transports qu’à la formation).

Conclusion

Je peux avoir une bonne surprise et qu’il y ait plein de monde malgré les inscriptions « informelles », mais je n’y crois pas. Il y aura peu de gens, voire personne. S’il y en a peu, même qu’une seule personne je donnerai le cours.

Par contre il faudra une réflexion et faire un sondage pour voir si une deuxième session cet hiver en faisant un mixe présentiel et visio… Bref, discussion en interne pour savoir comment continuer ou pas… Les décisions sont collectives.

L’annonce est là : Initiation à la ligne de commande

Le billet Humeur – Initiation au Bash est apparu en premier sur le blog Sima78.

Pivoter une video avec ffmpeg

Tuto – pivoter une vidéo avec ffmpeg.

Dernièrement en retour de vacances j’avais besoin de pivoter un vidéo prise via mon smartphone.

Comme je n’utilise pas souvent ffmpeg et que j’en ai marre de devoir chercher à chaque fois, je me mets ça ici, et si ça peut servir à d’autres tant mieux.

Pivoter une vidéo

0 = 90° – retournement vertical et dans le sens contraire des aiguilles d’une montre (effet miroir vertical).

ffmpeg -i vid-001.mp4 -vf transpose=0 vid-002.mp4

1 = 90° – dans le sens des aiguilles d’une montre.

ffmpeg -i vid-001.mp4 -vf transpose=1 vid-002.mp4

2 = 90° – dans le sens inverse des aiguilles d’une montre.

ffmpeg -i vid-001.mp4 -vf transpose=2 vid-002.mp4

3 = 90° – retournement vertical et dans le sens des aiguilles d’une montre (effet miroir vertical).

ffmpeg -i vid-001.mp4 -vf transpose=3 vid-002.mp4

Pour 180°

ffmpeg -i vid-001.mp4 -vf transpose=2,transpose=2  vid-002.mp4

ou

ffmpeg -i vid-001.mp4 -vf transpose=1,transpose=1  vid-002.mp4

Bien entendu pour aller plus loin il y a le man.

man ffmpeg

Ce billet fait écho à celui de Tutox sur comment « Réduire le poids d’une vidéo avant de la publier sur le web » et que j’utilise assez souvent.

Le billet Tuto – pivoter une vidéo avec ffmpeg est apparu en premier chez Sima78.

Citation automatique sur signature de mail – Evolution

Tuto : Citation automatique sur signature de mail – Evolution

J’utilise Evolution comme outil de messagerie, agenda, contact, tâches…
Donc ce tutoriel concerne Gnome-Evolution, mais vous pouvez vous en inspirer et l’adapté car le script, très simple (la commande fait une ligne), n’est pas lié à Evolution.

D’où me vient cette idée ?

Lorsque j’écris ou réponds sur la liste de Root66, je terminais toujours pas une petite citation « geek ». J’ai un fichier texte avec toute une liste de citations, si quelques rares sont de mon cru, la grande majorité piochée ici et là sur le web.

Puis un membre de l’association m’a posé la question : Tu as un script pour tes citations aléatoires en signature ?
Heuuu non, je fais un copié/collé depuis mon fichier texte…

Mais pourquoi n’y ai-je pas pensé avant ?

Et c’est donc parti ainsi ! Résultat à obtenir.
Résultat à obtenir avec une citation aléatoire, exemple :

--Sima78... Dicton du moment : Faites des ghosts pas la guerre !
https://sima78.chispa.fr

Le script

J’ai fait le choix de garder un fichier.txt qui contient toutes les citations où le script ira chercher une citation de façon aléatoire.
J’aurai pu faire un script contenant les citations, cela aurait donné autre chose comme script, mais surtout je trouve plus pratique d’avoir un fichier à part, plus facile à enrichir.
Pour la simplicité, j’ai hésité en deux possibilités, j’ai choisi la première, mais je vous soumets également la deuxième, si cela peut intéresser.

#!/bin/bash
echo "Sima78... Dicton du moment : "$(shuf -n 1 /chemin/vers/le/fichier.txt)
echo "https://sima78.chispa.fr"

ou l’autre possibilité si vous préférez :

#!/bin/bash
echo "Sima78... Dicton du moment : "$(sort -R /chemin/vers/le/fichier.txt | head -n1)
echo "https://sima78.chispa.fr"

Waouh…. Sima, quel balèze… tout ce baratin pour un script de 3 lignes…

Moi : Ouais bon, j’assume… mais si ça peut servir à ceux qui se lancent sous linux et utilisent Gnome-Evolution…

Gnome Evolution

Dans Gnome Evolution vous allez dans :
édition → Préférences

Ensuite vous allez dans « Préférences de l’éditeur » puis dans l’onglet « Signatures » et enfin « Ajouter un script ».
Bon là, on voit que j’ai déjà rentré un script, une signature, mais normalement c’est vide… Et une fois le script rentré, il suffit de cliquer dessus pour voir le résultat sur la fenêtre du dessous.
Donc ajouter un script :

Vous choisissez un nom, vous allez chercher votre script puis « Enregistrer »

Ensuite, toujours dans « Préférences » vous allez sur « Comptes de messagerie ».

Là vous sélectionnez le compte qui doit bénéficier de cette signature et cliquez à droite dans « Édition »

Vous allez dans le menu déroulant de « Signature », vous sélectionnez, puis cliquez sur « Valider », et c’est terminer.

Pour d’autres messageries il existe des solutions similaires, je ne les connais pas puisque j’utilise essentiellement Gnome Evolution sauf sur l’un des pc où j’utilise Thunderbird, mais de façon basique puisque très exceptionnellement pour la messagerie.