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.

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.

Voici la commande :

find . -iname "*.mp4" -exec exiftool '-filename<CreateDate' -d "%Y-%m%d-%Hh%Mm%Ss-Nom_de_votre_choix.mp4" {} +

Explication de la commande

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 »

Je me positionne sur le répertoire en question

cd Work/vid

Je vérifie :

ls
20240611_100113.mp4  20240611_104333.mp4  20240612_120842.mp4  20240612_154830.mp4
20240611_104308.mp4  20240611_144029.mp4  20240612_154728.mp4  20240612_204306.mp4
20240611_104323.mp4  20240612_120121.mp4  20240612_154803.mp4

Mes vidéos sont bien là et il n’y a pas de sous-répertoire.

On lance la commande :

find . -iname "*.mp4" -exec exiftool '-filename<CreateDate' -d "%Y-%m%d-%Hh%Mm%Ss-Nom_de_votre_choix.mp4" {} +
   11 image files updated

Vérification :

ls
2024-0611-08h01m52s-Nom_de_votre_choix.mp4  2024-0611-12h40m44s-Nom_de_votre_choix.mp4  2024-0612-13h48m16s-Nom_de_votre_choix.mp4
2024-0611-08h43m19s-Nom_de_votre_choix.mp4  2024-0612-10h01m35s-Nom_de_votre_choix.mp4  2024-0612-13h48m49s-Nom_de_votre_choix.mp4
2024-0611-08h43m28s-Nom_de_votre_choix.mp4  2024-0612-10h09m01s-Nom_de_votre_choix.mp4  2024-0612-18h43m10s-Nom_de_votre_choix.mp4
2024-0611-08h43m38s-Nom_de_votre_choix.mp4  2024-0612-13h47m42s-Nom_de_votre_choix.mp4

Pour que ce soit plus parlant on remplace Nom_de_votre_choix par Vacances

find . -iname "*.mp4" -exec exiftool '-filename<CreateDate' -d "%Y-%m%d-%Hh%Mm%Ss-Vacances.mp4" {} +
   11 image files updated
ls
2024-0611-08h01m52s-Vacances.mp4  2024-0611-08h43m38s-Vacances.mp4  2024-0612-10h09m01s-Vacances.mp4  2024-0612-13h48m49s-Vacances.mp4
2024-0611-08h43m19s-Vacances.mp4  2024-0611-12h40m44s-Vacances.mp4  2024-0612-13h47m42s-Vacances.mp4  2024-0612-18h43m10s-Vacances.mp4
2024-0611-08h43m28s-Vacances.mp4  2024-0612-10h01m35s-Vacances.mp4  2024-0612-13h48m16s-Vacances.mp4

C’est terminé !

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.

Le bille « Renommer vos videos par lot en utilisant les metadonnees » est apparu en premier sur le blog de Sima78.

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.

Migration de nom de domaine et de messageries

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

Capture d'écran de l'interface Gandi.net, onglet "Enregistrements DNS" du domaine chispa.fr, affichant la liste des enregistrements existants (types A, AAAA, CAA, MX, TXT, _dmarc) avec leurs TTL à 10800, valeurs floutées, en vue simple.
Interface Gandi.net – Enregistrements DNS du domaine avant migration : relever et noter tous les enregistrements existants avant toute manipulation

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 »

Capture d'écran de l'interface Gandi.net, onglet "Transfert sortant" du domaine chispa.fr, affichant un avertissement orange sur les 4 boîtes mail à sauvegarder avant transfert, le toggle "Protection contre le transfert" désactivé, et la section "Code d'autorisation de transfert" avec un code flouté et sa date d'expiration au 14 janvier 2024.
Gandi.net – Onglet « Transfert sortant » : désactiver le verrou de transfert et copier le code d’autorisation (AuthCode) avant de lancer la migration

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.

Capture d'écran du shop Infomaniak avec une recherche du domaine chispa.fr, affichant un message orange indiquant que le domaine est déjà réservé avec un bouton "Transférer" au prix de 6,49 €, suivi d'une liste de domaines alternatifs disponibles à l'achat (chispa.dev, chispa.shop, chispa.art, chispa.site, chispa.tech).
Infomaniak Shop – Rechercher son domaine existant pour lancer la procédure de transfert entrant (6,49 € pour un .fr)
Capture d'écran du shop Infomaniak, étape "Recommandation avec votre nom de domaine", proposant trois options de messagerie : kSuite (suite complète), "Commander uniquement des adresses mail" avec trois sous-options (Pack 10 adresses à 2,20 €/mois, Mail sur mesure à 1,50 €/mois avec 5 adresses sélectionnées, ou 1 adresse gratuite Starter), et "Non, je n'ai pas encore besoin d'adresse mail". Montant total affiché : 29,39 €.
Infomaniak Shop – Sélection du service de messagerie associé au domaine transféré : de la formule gratuite au Mail sur mesure
Capture d'écran du shop Infomaniak, étape de configuration du transfert du domaine CHISPA.FR, affichant un avertissement orange sur la durée moyenne de 9 jours, les champs propriétaire, un toggle activé "À l'issue du transfert, utiliser les serveurs DNS Infomaniak", et le champ obligatoire "Code d'autorisation" à renseigner avec le bouton Valider.
Infomaniak Shop – Saisie du code d’autorisation (AuthCode) récupéré chez Gandi et activation des serveurs DNS Infomaniak

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.

Capture d'écran de l'interface de gestion de domaine Infomaniak, section "Zone DNS" du domaine chispa.fr, affichant 21 enregistrements DNS automatiquement créés, organisés par service avec des badges colorés : Serveur DNS (NS x2), Messagerie (MX, TXT), Domain Connect (CNAME x2), Adresse web (A, AAAA, A), avec colonnes Service, Source, Type, Cible, TTL et Dernière mise à jour, valeurs floutées.
Infomaniak – Zone DNS de chispa.fr après transfert : 21 enregistrements automatiquement générés, catégorisés par service
Capture d'écran de l'interface Infomaniak, Zone DNS du domaine chispa.fr en "Vue avancée", affichant le fichier de zone DNS complet en format texte brut avec 27 lignes visibles : TTL global à 3600, enregistrements SOA, A, AAAA, MX, NS, TXT, CAA, CNAME (autoconfig, autodiscover) et de nombreux enregistrements A et AAAA supplémentaires, avec valeurs floutées.
Infomaniak – Vue avancée de la Zone DNS : l’édition en mode fichier de zone pour les utilisateurs expérimentés, avec tous les enregistrements en texte brut

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!

Je vous invite à lire le billet Bien choisir son suffixe au nom de domaine

Et vous, comment c’est déroulé votre migration ? Chez qui ? Faites part de vos expériences !

Le billet Migration de nom de domaine et de messageries est apparu en premier sur le blog de Sima78.

Bloqueur de bannières sur navigateur

App – Bloqueur de bannières sur navigateur

Vous savez les fameuses bannières qui nous demandent si l’on accepte ou pas les cookies.
Et toi Sima, t’en pense quoi ?
Les cookies sur le web, c’est comme les bonbons que veut te donner un inconnu, tu ne les acceptes pas si tu ne sais pas ce qu’il y a dedans et ce qu’ils peuvent faire.

Je sais je suis un peu radical.

Je vous annonce, pour ceux qui ne le savent pas que L’extension « I don’t care about cookies » à bien son fork « I still don’t care about cookies » par Guus.

De quoi parle-t-on ?

Au moment où j’écris ce billet je configure l’un de mes pc dont bien naturellement le navigateur et je me souviens d’un excellent article de Tutox qui nous par du bloqueur de bannières « I don’t care about cookies » et s’interroge aussi sur le fait que cette extension fût rachetée par Avast.

Pour éviter de refaire un article sur cette extension je vous invite lire Tutox :

Comment se débarrasser des « bannières cookies » ?
Depuis la mise en place du RGPD, les sites web qui utilisent des cookies ont l’obligation de recueillir notre consentement. Plutôt une bonne chose en soi. Mais un des effets de bords de cette règle est l’apparition sur de nombreux sites des fameuses « bannières cookies ».

Lire la suite sur son blog « Comment se débarrasser des « bannières cookies » ?« 

Pour conclure.

L’extension (Add-Ons) se trouve là I still don’t care about cookies
Ou sur le GitHub de Guus

Le billet Bloqueur de bannières sur navigateur 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.

Geneweb – Raspberry – https – YunoHost

Tuto – Geneweb – Raspberry – https – YunoHost

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 !

  1. Matériels
  2. Explication de mes choix
  3. Rapsberry
  4. Geneweb
  5. Défi https et problème rencontrée.
  6. Appel à un ami !
  7. La solution via Yunohost
  8. Pour conclure

1 Matériels

Rapsberry pi3 avec sd noobs et disque dur externe ssd pour les sauvegardes.
– Serveur avec couche YunoHost

2 Explication de mes choix

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.

3 Rapsberry

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.

4 Geneweb

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 :

# friend_passwd=
# wizard_passwd=
friend_passwd_file=file-friends.auth
wizard_passwd_file=file-wizards.auth

Tout fonctionne bien en localhost:2317 et depuis un pc du réseau http://IpduRapsberry:2317 soit du genre : http://192.168.xx.xx:2317

Faire une redirection sur la freebox pour que tout ce qui vient sur le port 2317 arrive bien sur le Rapsberry et non sur l’autre serveur.

Test extérieur ça fonctionne mais en http et pas en https

Défi : que ça passe en https. Problème, difficulté rencontrée.

5 Défi https et problème rencontrée.

Donc dans mon idée il y avait

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…

Que faire ? Appel à un ami ?

6 Appel à un ami !

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.

Gros plan sur la tête d'une poule aux plumes brun-noir et à la crête rouge vif, l'œil jaune cerclé d'or fixant l'objectif avec curiosité
L’œil rond et pénétrant de cette poule brune capté à la faveur d’un portrait serré, quelque part entre curiosité et étonnement.

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 !

7 La solution via Yunohost

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 :

Capture d'écran du formulaire de paramètres d'installation d'une application Redirect sur YunoHost, avec les champs libellé, domaine, chemin URL, emplacement de destination et type de redirection en proxy NGINX
Configuration d’une redirection proxy sous YunoHost, permettant d’exposer une application locale (ici un Raspberry Pi) via un domaine public avec certificat SSL.

* 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:

Capture d'écran de l'interface d'accueil du logiciel GeneWeb version 6.08, accessible via le navigateur Firefox à l'adresse genea.chispa.fr, avec un champ de saisie pour ouvrir une base généalogique
L’interface web de GeneWeb 6.08, hébergée à l’adresse genea.chispa.fr, permet d’accéder à une base généalogique personnelle en saisissant son nom.

page accueil des bases geneweb

8 Pour conclure

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

Le billet Geneweb – Raspberry – https – YunoHost est apparu en premier sur le blog de 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.