Techno-magis

Linux

Site LAMP sur une partition

Samedi 6 Novembre 2021

Comme j'ai zéro mémoire, je me fais un petit mémo pour la réinstaller de mon site. Cela inclus la modification du hosts, l'installation de packages, la configuration des virtuals host dans Apache, la correction de problème de droit d'accès, et le problème lié à la mise en place de la base de données.

Lire le billet en entier...
Catégories :
Par Zéfling, le 06/11/2021 à 19:05:07
Le billet a été lue 70 fois, avec 0 commentaire publié.

Supprimer les données GPS des photos

Dimanche 8 Août 2021

Je voulais juste virer les données GPS de certaines photos.

Il faut juste installer :

CODE :

sudo apt-get install libimage-exiftool-perl

Pour voir les données EXIF d'un fichier:

CODE :

exiftool photo.jpg

Supprimer toutes les données GPS :

CODE :

exiftool -gps:all= *.jpg

Les fichiers non modifiés reste présente avec _original à la fin

Pour supprimer toutes les données EXIF c'est tout aussi simple :

CODE :

exiftool -all= *.jpg

Commenter le billet...
Catégories :
Par Zéfling, le 08/08/2021 à 21:18:16
Le billet a été lue 78 fois, avec 0 commentaire publié.

Renommer en masse par ordre alphabétique

Dimanche 28 Juillet 2019

Pendant mes vacances, j'avais besoin de renommer mes photos par lot et en prenant bien soin de respecter l'ordre alphabétique des noms de fichier de base. Je n'ai pas trouvé de solution simple. En grattant un peu sur la toile et en combinant plusieurs trucs, je suis arrivé à ça :

CODE :

ls -1 *.jpg | awk -F_ '{print $(NF-1) " " $0}' | sort | cut -d' ' -f2- | rename -v 's/.*/our $i;if(!$i){$i=1;} sprintf("xxxxxx_%02d.jpg", $i++)/e'

  • *.jpg : le filtre de recherche (à changer si ce n'est pas des images).
  • xxxxxx_%02d.jpg : le nom final des fichiers, avec "%02d" pour le nombre de chiffre pour le compteur. Ici ça sera xxxxxx_01.jpg,xxxxxx_02.jpg, etc.
Commenter le billet...
Catégories :
Par Zéfling, le 28/07/2019 à 11:20:32
Le billet a été lue 145 fois, avec 0 commentaire publié.

Sauvegarde de Gitlab

Dimanche 3 Février 2019

J'en avais un peu marre d'aller chercher le backup à chaque fois pour le mettre dans un dossier de sauvegarde. Alors, j'ai fais un tout petit script pour faire le backup et aller le récupérer pour le copier là où je veux.

J'ai écrit ce petit script :

CODE :

#!/bin/bash
 
echo ">backup : gitlab"
gitlab-rake gitlab:backup:create
gitlab_folder='/var/opt/gitlab/backups/'
backup_folder='/my/backup/folder/'
gitlab_file=`ls -got ${gitlab_folder} | grep \.tar$ | head -1 | awk '{print $7}'`
echo ">copie : ${gitlab_folder}${gitlab_file}"
cp "${gitlab_folder}${gitlab_file}" $backup_folder
chown user:user "${backup_folder}${gitlab_file}"

Remplacez '/my/backup/folder/' par votre dossier de sauvegarde et user:user par vos droits.

Maintenant je n'ai plus qu'à faire :

CODE :

sudo ./monscript.sh
Commenter le billet...
Catégories :
Par Zéfling, le 03/02/2019 à 20:35:12
Le billet a été lue 195 fois, avec 0 commentaire publié.

Installation de Gitlab avec Ubuntu Server/Apache 2

Vendredi 15 Juillet 2016

Je ne prétends pas que ça soit l'installation parfaite, mais ayant un peu galéré à faire marcher le tout, ça me sert surtout de mémo. Si vous avez mieux à proposer, un commentaire sera le bienvenu.

Lire le billet en entier...
Catégories :
Par Zéfling, le 15/07/2016 à 00:36:44
Le billet a été lue 557 fois, avec 1 commentaire publié.

Décompression ZIP et l'encode des noms de fichiers

Lundi 21 Décembre 2015

Le format ZIP est un format très rependu. Malheureusement, le nom des fichiers est encodé suivant l'encodage du système1, ce qui fait qu'une fois décompressé, on peut se retrouve avec un nom de fichier nommé de la sorte « �s����Ȑ_�l.ext », ce qui a beaucoup de chance de le rendre fichier illisible l'état par d'autres programmes, mais aussi vous-même. Il faut donc le renommer et c'est là que ça se complique vu que l'on ne connaît pas forcément le nom d'origine.

Heureusement, sous Linux, il existe convmv qui permet de déplacer en masse des fichiers en réencodant leur nom, un mélange de « mv + conversion ».

Pour tester une conversion ici du SHIFT_JIS vers l'UTF8 :

CODE :

convmv -f SHIFT_JIS -t UTF8 *

Et pour réaliser la conversion :

CODE :

convmv -f SHIFT_JIS -t UTF8 --notest *

Parfois des petites choses nous rendent la vie impossible, et d'autres nous en sauvent. 😊

  • 1 :

    ZIP ne semble pas conserver l'encodage des fichiers contrairement d'autres formats comme RAR ou TAR.GZ. En tout cas, je ne remercie pas Windows qui n'est pas fichu d'avoir le même encodage suivant la langue du système, ce qui peut rendre une installation impossible pour un logiciel chinois ou japonais sur un poste en français.


Commenter le billet...
Catégories :
Par Zéfling, le 21/12/2015 à 21:23:58
Le billet a été lue 218 fois, avec 0 commentaire publié.

2 ans sous Linux (sans Windows)

Samedi 19 Septembre 2015

Depuis le 19 septembre 2013, chez moi je n'ai vu Windows qu'au travers d'une machine virtuelle (et encore, j'ai crashé celle que j'avais et je ne l'ai pas réinstallé) ou Wine (mais ce n'est pas vraiment Windows). Ça ne s'est pas fait en partie pour pouvoir garder le contrôle de ma machine et aussi parce que j'avais déjà l'idée d'y passer. Donc je ne peux pas dire que ma démarche s'est totalement faite au hasard, même si certaines choses l'ont précipité. Je vais donc vous raconter quelle a été mon expérience durant ses deux années. Attention, je ne suis pas là pour dire que Linux est mieux, je dirais qu'il correspond mieux à ce que j'attends d'un système d'exploitation, malgré quelques galères.

Lire le billet en entier...
Catégories :
Par Zéfling, le 19/09/2015 à 00:00:35
Le billet a été lue 580 fois, avec 2 commentaires publiés.

Passage de Kubuntu 15.10 à Debian 8 KDE

Dimanche 10 Mai 2015

Après mes déboires d'une mise à jour complètement foireuse vers Plasma 5.2 avec Kubuntu 15.10, je n’avais pas envie de passer mes journées à essayer de réparer de choses complètement pétées... Puis, je me suis dit, si je veux quelque chose de plus stable d'Ubuntu, il serait temps d'essayer autre chose. Debian étant la base d'Ubuntu, c'était un peu un choix de facilité... du moins en apparence.

La facilité est donc assez relative, car je ne peux pas nier qu'Ubuntu assiste sur pas mal de choses et on est assez loin de cela sous Debian où il ne faut pas avoir peur de mettre les mains dans les lignes de code pour faire des installations.

Voilà un résumé des problèmes de mon week-end.

Lire le billet en entier...
Catégories :
Par Zéfling, le 10/05/2015 à 19:26:59
Le billet a été lue 636 fois, avec 0 commentaire publié.

Mes logiciels sous Linux

Vendredi 8 Mai 2015

Certains donnent l'impression que l'on ne peut pas bosser sous Linux, mais c'est totalement faux. D'ailleurs je n'ai pas grand-chose qui me manque, mais l'inverse serait aujourd'hui vrai, j'aurais du mal à quitter Linux pour Windows car il y a certains outils que je n'y retrouverais pas. Bon, je ne ferais pas de présentation de truc que je trouve trop connu comme Libre Office, Firefox, Gimp, Inkscape, Filezilla ou encore VLC.

Il est à noter que certains environnements proposent de base nombre de programmes par défaut : gestion de photos, lecteur de musiques, gestionnaires de mots de passe, client pour les torrents, navigateur web, gravure de CD, gestionnaire de sauvegarde, etc. En fait, je me rends compte que j'ai installé assez peu de choses en plus hors serveur de dév.

Lire le billet en entier...
Catégories :
Par Zéfling, le 08/05/2015 à 23:22:45
Le billet a été lue 256 fois, avec 0 commentaire publié.

Hé! Ça ressemble presque à un jeu. 😜

Mercredi 4 Mars 2015

Je me rends compte que les mécaniques d'un jeu sont assez simples à mettre en œuvre (pour un shooter en 2D). Maintenant ce qui va être compliqué c'est de mettre ça dans un cadre intéressant et que ça soit assez sympa... ce qui ne sera pas de la tarte.

Je publie une nouvelle version. J'ai compris comment faire des animations avec des sprites et comment jouer avec. J'ai aussi un peu mieux compris le système d'aire. Je pense que ma prochaine étape sera de comprendre comment mettre des déclencheurs (triggers). Tout ce qui est graphique, j'y penserais plus tard.

Télécharger “Test 3” :

  • Linux (5,8 Mio - Binaire),
  • Mac (6,4 Mio - Binaire).

La grosse nouveauté se présente assez simplement des points de vies que l'on perd en touchant un ennemi (les ronds rouges).

Désolé pour les non Linuxiens, je n’ai toujours pas compris comment compiler pour Windows ou Mac sous Linux.

Commenter le billet...
Catégories :
Par Zéfling, le 04/03/2015 à 21:35:12
Le billet a été lue 178 fois, avec 0 commentaire publié.

Godot : tuons des « monstres » !!

Dimanche 1er Mars 2015

J’ai un peu avancé. La doc est vraiment infecte, j’ai compris certaines choses en regardant certains exemples et quelques bugs.

Ce qu’il y a de plus :

  • Ajout de « monstres » (c’est juste pour tester)
  • Test de collision (pour détecter si une flamme touche/traverse un ennemi)

Pour les touches, ça reste pareil (j'ai oublié de les préciser dans mon article précédent) :

  • Flèches : se diriger
  • [Shift] : courir
  • [<] : tirer (j’ai un problème avec espace et les diagonales)

Ce qui m’a posé problème, c’est comprendre la détection d’entrée dans une zone, mais surtout en sorte de savoir ce que c’est. Je n’ai pas trop l’habitude de ce genre de syntaxe :

CODE :

extends Area2D
 
func _on_Pickup_body_enter( body ):
	# si c'est un monstre
	if (body extends preload("Monstre.gd")):
		body.toucher()
 
func _ready():
	# test si le tir touche quelque chose
	connect("body_enter", self, "_on_Pickup_body_enter") 
	set_process(true)
	pass
Commenter le billet...
Catégories :
Par Zéfling, le 01/03/2015 à 18:22:45
Le billet a été lue 216 fois, avec 0 commentaire publié.

Godot, 10 jours après

Dimanche 22 Février 2015

Enfin, 10 jours, de mon temps libre. Le premier exemple que j'avais donné la dernière fois était après avoir touché au premier tuto pour faire un Pong. J'avais eu un peu de mal avec le langage de scripts, trop habitué aux dérivés du C. J'ai presque fini par m'y faire, même si je trouve que ça manque un peu de lisibilité et que j'ai parfois du mal avec les erreurs pas forcément claires. Mais, je pense que c'est surtout l'IDE qui est assez affreux. Les copier-coller sont infernaux, la suppression est parfois bizarre, les ctrl+Z (annuler) donnent des étapes qu'on n’attend pas. Bref, j'utilise Kate pour modifier mes scripts, ça me fait perdre l'autocomplétion, mais au moins ça ne fait pas de choses bizarres. Je n'ai pas trop regardé du côté des bugs de l'IDE, mais ça serait bien qu'ils l'améliorent sur ces points.

Lire le billet en entier...
Catégories :
Par Zéfling, le 22/02/2015 à 02:54:48
Le billet a été lue 345 fois, avec 0 commentaire publié.

Première approche avec Godot

Jeudi 12 Février 2015

Cela faisait déjà quelque temps que j'avais envie de me lancer dans la réalisation d'un petit jeu. Mon gros problème reste tout ce qui est graphisme, sans moteur de rendu, je ne suis pas fichu de faire mieux que des graphiques en 2D. Ça finit par devenir trop matheux pour moi. Ma dernière expérience dans la réalisation de jeu a été avec Haxe, il a maintenant quelque année pour faire un petit jeu de rapidité/réflexion en 1 mois. J'étais sans emplois et c'était dans l'optique de bosser dans une boîte. Le jeu est toujours en ligne même s'il n'en plus mise à jour depuis bien longtemps.

Lire le billet en entier...
Catégories :
Par Zéfling, le 12/02/2015 à 22:55:06
Le billet a été lue 374 fois, avec 0 commentaire publié.

PHP & Crontab (Unix world only)

Mardi 3 Juin 2014

À la base, c'était une demande du boulot, sauf qu'une fois que j'avais ce que je voulais pour mon module, il y avait peu d’intérêt d'aller plus loin. Du coup, j'ai repris l'idée chez moi et j'ai essayé d'en faire un outil plus polyvalent qui ne demande même pas de connaître la syntaxe de Crontab. J'ai découpé la chose en deux parties, la gestion des lignes et du fichier d'un côté et de l'autre celui du temps. Le plus long a été de faire tous les contrôles lors du parsing d'un fichier pour s'assurer qu'il n'y a pas d'erreurs.

Lire le billet en entier...
Catégories :
Par Zéfling, le 03/06/2014 à 00:37:41
Le billet a été lue 266 fois, avec 0 commentaire publié.

Suppression de l'orientation EXIF d'une liste d'images avec un script

Dimanche 23 Mars 2014

À l'origine, j'avais récupéré une solution pour tourner les images de mon numérique. Tous les logiciels ne supportent pas la rotation EXIF, du coup je préfère dans certains cas tourner l'image et supprimer la rotation EXIF. La solution que j'avais trouvée fonctionnait de façon quelque peu erratique avec des cas où la rotation n'était pas faite pour une raison que je n'ai jamais comprise. J'ai pas mal souffert du script foireux pendant mon voyage au Japon (et j'ai jamais vraiment eu le temps de m'y pencher durant mon expédition).

Après un peu de lecture de doc, de recherches sur internet, j'ai corrigé les problèmes et j'ai au passage fait une présentation un peu plus sympa pour montrer l'avancement de la conversion.

Pour faire simple, le script met les extensions en minuscules, crée un dossier « rotate » et copie les fichiers dedans. Ensuite, il parcourt un par un les fichiers pour effectuer une rotation (si nécessaire).

Lire le billet en entier...
Catégories :
Par Zéfling, le 23/03/2014 à 00:45:24
Le billet a été lue 505 fois, avec 1 commentaire publié.

Conversion de vidéos vers WebM en masse

Dimanche 16 Mars 2014

Ayant un peu marre de faire de la conversion vidéo à la main, maintenant que je suis sous Linux, j'ai cherché un moyen de scripter une conversion de vidéos manuellement. J'ai testé un peu avant quelques solutions... mais jamais avec les résultats attendus. Soit la conversion WebM n'est pas possible, soit c'est extrêmement lent (non multi-threadé), soit il faut les faire une par une, soit il ne faut pas de caractères spéciaux. Bref, j'en suis venu à chercher à faire un script qui me sort de ses contraintes... et sur le Net ce n'est pas forcement simple de trouver ce que l'on veut. Beaucoup utilisent encore aujourd'hui « ffmepg » qui est aujourd'hui obsolète pour la conversion vidéo, ou encore la boucle ne fonctionne pas... En mélangeant ici et là quelques scripts Bash, je suis arrivé à faire mon petit fichier :

CODE :

#!/bin/bash
VIDEOS=.
find "$VIDEOS" -name '*.mp4' -exec sh -c 'avconv -i "$0" -threads 4 -b:v 2M  "${0%%.mp4}.webm"' {} \;
exit;

Celui-ci ne fait que de la conversion MP4 vers WebM. Comme j'ai quatre processeurs j'ai mis 4 threads et une compression vidéo à 2 Mb, en dessous je trouve que le rendu assez mauvais et c'est à peu près ce qu'utilise YouTube.

Je pense que je fais peut-être essayer d'appendre un peu plus le Bash pour faire quelque chose d'un peu plus évolué qui ne se limite pas à un format.

Commenter le billet...
Catégories :
Par Zéfling, le 16/03/2014 à 21:48:42
Le billet a été lue 252 fois, avec 0 commentaire publié.

Passage de MySQL à MariaDB... imprévu.

Jeudi 6 Mars 2014

Je n'avais pas prévu de le faire à cause d'une non-compatibilité avec Zabbix lors de mise à jour... Mais il y a des jours où ça ne se passe pas comme prévu. Lors de la mise à jour du serveur toute bête comme j'en fais souvent et sans encombre, cette fois le paquet mysql-server5.5 est impossible à mettre à jour. Il plante avec une erreur « 1 » lors que de la configuration. Je réessaie plein de trucs trouvés çà et là sur le net, à passer mon temps à virer des fichiers de verrouillage, tuer des processus et tenter d'autres façons de l'installer. Au bout de 2 heures, parce que j'en ai franchement ras le cul et que surtout que tous mes sites sont hors service, voyant que ça bloque toujours sur ce « putain » de fichier de configuration, j'ai eu une idée : « MariaDB est normalement compatible avec MySQL, là je n'ai plus rien à perdre à essayer ». Résultat, cette ligne me sauve :

CODE :

sudo aptitude install mariadb-client mariabd-server

Je redonne le même mot de passe root et ça fonctionne à l'identique au bout de quelques secondes. Maria, tu me sauves ma nuit. Merci.


Commenter le billet...
Catégories :
Par Zéfling, le 06/03/2014 à 01:11:09
Le billet a été lue 930 fois, avec 2 commentaires publiés.

Connecter sa PSVita sous Linux

Samedi 18 Janvier 2014

Forcement, depuis que je suis sous Ubuntu, je dois chercher un peu plus quand un périphérique ayant une connexion quelque peu exotique. C'est le cas de la PSVita qui n'a aucun support officiel sous Linux. Heureusement, en cherchant un peu je suis tombé sur QCMA qui marche assez bien et en plus est largement plus léger que le connecteur officiel. L'installation est assez simple, sous Ubuntu, il y a juste 2 fichiers .deb à installer : VitaMTP et QCMA (le second semble être l’interface graphique du premier).

Commenter le billet...
Catégories :
Par Zéfling, le 18/01/2014 à 20:52:57
Le billet a été lue 871 fois, avec 0 commentaire publié.