[BASH] Scripts utiles
Cette page me permet de retrouver des scripts en bash qui peuvent resservir (car on oublie lorsqu'on ne pratique pas souvent...).
- Site permettant de vérifier et déboguer ses scripts : https://www.shellcheck.net/. Il est aussi possible d'installer shellcheck dans sa distribution pour tester ses scripts avec un commande du type :
shellcheck my_script
- Conseils sur la robustesse des scripts : https://connect.ed-diamond.com/linux-pratique/lp-133/rendre-ses-scripts-bash-plus-fiables
- Conseils pour sécuriser ses scripts : https://blog.stephane-robert.info/docs/admin-serveurs/linux/scripts-shell-securises/
- page de Seb Sauvage : https://sebsauvage.net/wiki/doku.php?id=linux-vrac#bonnes-pratiques-scripts
Un script bash est un fichier exécutant un ensemble de commandes de façon automatisée (équivalent des macros).
Pour lancer ce fichier, on tapera dans un terminal une commande du type :
./fichier_script.sh
Début d'un fichier script
D'après les différentes recommandations glanées, voici une proposition de début de fichier .sh permettant notamment de gérer les erreurs :
#!/usr/bin/env bash
cd "$(dirname "$(readlink -f "${BASH_SOURCE[0]}")")" # Se placer dans le répertoire du script avant exécution.
set -o errexit # Arrêter l'exécution du script si une commande fait une erreur.
set -o nounset # Arrêter l'exécution du script si on utilise une variable non définie.
set -eou pipefail # Arrêter l'exécution du script si une commande dans un pipe fait une erreur.
# Set a trap to handle errors and log them via pipefail.
trap 'echo "Error occurred at line $LINENO. Command: $BASH_COMMAND"' ERR false
Pour commencer un script, on commence par la 1ère ligne commençant par "#!" qu'on appelle sheBang. On écrira :
#!/bin/bash (façon "classique") ou aussi pour faciliter la portabilité #!/usr/bin/env bash (source : https://www.cyberciti.biz/tips/finding-bash-perl-python-portably-using-env.html)
I- Problème d'espace, de tirets ou de caractères spéciaux dans les noms de fichiers et de répertoire
Voir :
- Fixer le séparateur avec IFS : https://michauko.org/blog/ifs-separateurs-scripts-bash-174/
- Ignorer les tirets avec l'option "--" ou "./" : https://fr.linux-console.net/?p=2297#gsc.tab=0
II- Créer un sous-dossier identique dans tous les dossiers d'un même répertoire :
Sources :
[Ubuntu - Linux Mint] Applications utiles + astuces
Je liste ici un ensemble d'applications que j'utilise sous Ubuntu. Ça peut être utile en cas de réinstallation du système (et oui, ça m'est arrivé suite à une mise à jour foireuse... dont j'étais le principal responsable...).
Source : https://doc.ubuntu-fr.org/tutoriel/comment_sauver_et_restaurer_la_liste_des_paquets
Pour avoir une liste rapidement, taper cette commande :
ls /usr/share/applications | awk -F '.desktop' ' { print $1}'
I- Extensions sous Gnome
Le plus simple c'est de les installer via Mozilla et l'extension dédiée.
Alternate Tab, Applications Menu, Auto Move Windows, Better Volume Indicator, GPaste, GSConnect, Launch New Instance, Media Player Indicator, Minimize All, Minimized Windows List, Multi Monitors Add-On, Native Window Placement, Places Status Indicator, Proxy Switcher, Recent Items, Recent(item)s, Redshift, Removable Drive Menu, Screenshot Window Sizer, Shortcuts, Suspend Button, system-monitor, TaskBar, Ubuntu AppIndicators, Ubuntu Dock, User Themes, Window List, windowNavigator, Workspace Indicator.
[Freecad] Infos utiles
Pour modéliser des objets, créer des plans en 3D, j'utilise le logiciel libre de CAO Freecad. Je recense sur cette page différentes infos pour m'y référer par la suite (on oublie vite les choses quand ça fait un moment qu'on ne s'en sert pas).
A) Importer un fichier .STL pour le travailler dans Freecad
Souvent, on a des objets pour l'impression 3D (notamment sur le site Thingiverse) et on souhaiterait les adapter à nos besoins, les étudier, les mesurer... Moyennant quelques manipulations, on va pouvoir les récupérer pour les retravailler dans Freecad.
[Vidéo] Applications utiles
Page regroupant des applications utiles autour de la vidéo à destination des écoles (mais pas uniquement) et la visio aussi. Je la compléterai au fil de l'eau...
I- Hébergement et diffusion en direct avec Peertube
Pour héberger une vidéo, le mieux sera de passer par le Peertube académique. Si on veut limiter l'accès, on choisira le mode privé (avec éventuellement un mot de passe) qui permettra de la visionner uniquement si on connaît le lien.
Tutoriel vidéo ici : https://invidious.fdn.fr/watch?v=ebjIK_RdMgw.
Prochainement, il sera possible de diffuser en direct (streaming) une intervention filmée avec Peertube grâce à une nouvelle fonctionnalité financée par de généreux⋅euses donateur⋅rice⋅s. Plus de détails, bientôt...
II- Applications de montage
Pour ce qui est du montage, tous les logiciels de montage vidéo nécessitent une prise en main. En général, d'une application à l'autre, les manipulations se ressemblent.
Il existe 4 logiciels intéressants sous Windows/Apple/Linux voire Android qui sont complémentaires :
Avidemux : le plus simple http://circo71.cir.ac-dijon.fr/wp-content/uploads/sites/6/Tutoriels/Avidemux_convertir_traiter_videos.pdf.
Vous trouverez aussi un petit tutoriel sur ce site.ShotCut : https://shotcut.fr/.
Vous trouverez un "tutoriel" ShotCut sur ce site.
Flouter une partie de l'image avec des images-clés : https://invidious.fdn.fr/watch?v=0ZzAMjWyOsUOpenShot : https://www.openshot.org/fr/
Kdenlive : https://kdenlive.org/fr/, vers le site de tutoriels : https://userbase.kde.org/Kdenlive/Manual/fr
Flouter une vidéo avec le masquage automatique : https://invidious.fdn.fr/watch?v=zF-g8vXN1QU
Pitivi (uniquement sous GNU/Linux) : http://www.pitivi.org/.
Plus d'infos ici : https://doc.ubuntu-fr.org/pitiviVLC, le célèbre lecteur vidéo mais pour un usage plus limité (pour du montage, avec extraction d'un passage ou réduction de la taille d'une vidéo). Vous trouverez un tutoriel à télécharger au bas de cette page.
Le site Clubic propose pas mal de tutoriels autour de VLC. Par exemple, cette page (au bas de laquelle on trouve toute une liste de tutoriels) : https://www.clubic.com/lecteur-multimedia-mediacenter/vlc-media-player/article-854877-1-comment-decomposer-video-captures-ecran.html.
Une page de 10 astuces très pratiques : https://www.01net.com/astuces/10-astuces-et-fonctions-cachees-pour-maitriser-vlc-comme-un-pro-2036165.htmlYouCut sous Android : https://play.google.com/store/apps/details?id=com.camerasideas.trimmer&hl=fr&gl=US
Shutter Encoder : outil libre et français, multi-OS qui permet de convertir et réduire des vidéos : https://www.shutterencoder.com/fr/
Remarques :
- Shotcut, OpenShot, Kdenlive et Pitivi se valent. Tout dépendra de vos préférences.
- Avidemux, tout comme ShutterEncoder a une fonctionnalité très intéressante qui permet de fixer une taille finale afin que le traitement, la compression vise à s'en rapprocher. C'est très utile pour limiter la taille des vidéos qui peuvent vite être énormes.
III- Exemple de process pour une vidéo d'école regroupant le travail de différentes classes
Domotiser des ventilateurs de plafond Lidl
Lidl propose des ventilateurs de plafond à moins de 40€ TTC de marque Livarno : https://www.lidl.fr/p/livarno-home-ventilateur-de-plafond-avec-eclairage-led/p100389043
En terme de rapport qualité-prix, c'est du matériel bien placé et du coup nous avons décidé d'en équiper la salle à manger d'une maison familiale avec 2 appareils au-dessus de la longue table (nous sommes une grande famille et très souvent plus de 10 pendant les 15 jours de vacances estivales). Cette vieille maison de village n'étant pas isolée et étant utilisée au maximum 1 mois dans l'année, l'idée était de gagner de la place en remplaçant les ventilateurs sur pieds existants à moindre coût.
Au dessus de la lampe, il y a un petit interrupteur permettant de choisir le sens de rotation des pâles : pour rafraîchir il faut mettre le bouton vers le bas.
Le seul inconvénient de ces ventilateurs est qu'ils ne sont pas pilotables à distance : l'éclairage et le ventilateur s'actionnent via des cordons.
I- Matériel domotique retenu
Aussi nous avons décidé d'essayer de les améliorer légèrement sans gros investissement en les rendant pilotables via des télécommandes RF à 433 Mhz juste pour les allumer ou les éteindre (pas de changement de la vitesse de rotation). En effet, à l'heure actuelle et une évolution n'étant pas du tout à l'ordre du jour, la maison de vacances ne possède pas de box Internet et de wifi.
J'aurais pu choisir à nouveau un module Sonoff 4CH (comme dans cet article : [Sonoff] Module Sonoff 4Ch Pro R2) mais s'agissant d'un essai et pour un usage limité, mon choix s'est porté sur un module à 4 canaux/relais pour pouvoir activer séparément la lumière et le ventilateur des 2 appareils :
[FreeCAD] Créer un pneu de remorque avec sa jante
Voici une page permettant de créer sous FreeCAD 1.0.1 un pneu accompagné de sa jante que j'ai utilisé pour un plan de remorque à kayak.
Remarque : pneu = tyre en anglais, jante = rim et roue = wheel.
Sources :
- Créer un pneu avec sa bande de roulement : https://www.youtube.com/watch?v=fcE9wuUTHng
- Pour sculpter les rainures : https://www.youtube.com/watch?v=OTVjKLA7in4
- Tracer des inscription sur un flan de pneu : https://www.youtube.com/watch?v=AJD5bFa8m3I
I- Dimensions du pneu 135/80 R13
Sources :
- https://www.lesschwab.com/article/tires/tire-size-explained-reading-the-sidewall.html
- https://www.superatv.com/offroad-atlas/atv-tire-size-explained-a-comprehensive-guide
Pour la remorque, j'ai choisi une taille de pneu standard : 135/80 R13. Il faut donc comprendre la signification des différents nombres :
- Le premier nombre correspond à la largeur du pneu en mm : 135 mm.
- Le deuxième nombre correspond à hauteur du flan du pneu en pourcentage : 80 → pour le pneu en 135, cela correspond à 135 x 80/100 = 108 mm.
- Le R signifie Radial (et non pas rayon).
- Le troisième correspond au diamètre intérieur qui ira sur la jante exprimé en pouce : 13 → ceci correspond à 13 x 2,6 ≈ 330 mm.
- Du coup le diamètre total de la roue est 330 + 2 x 108 = 546 mm.
II- Conception du pneu
[Joomla] Comment créer un tableau triable avec du Javascript
Il est possible d'exécuter du Javascript dans un article Joomla comme pour trier un tableau en cliquant sur les en-têtes de colonnes.
Attention, par défaut les scripts sont nettoyés lors de l'enregistrement. Il faut donc les autoriser dans l'éditeur ainsi que dans Joomla en allant dans Configuration Globale → Filtres de textes → et mettre "Aucun filtre" pour le type d'utilisateur⋅rice.
Pour JCE, il faut aller sur son profil via Profiles → Editor Parameters :
- → Cleanup & Output → Validate HTML → Inherit (pour avoir le même paramétrage général de Joomla ci-dessus) ou Non
- → Advanced → et Allow Javascript ainsi que Allow CSS
Voici un exemple permettant de trier par ordre alphabétique pour du texte et ordre croissant/décroissant pour des nombres à virgules (le code est utilisé dans cette page : https://ddcm11.org/index.php/dossiers/88-point-sur-les-differents-projets-photovoltaiques-du-territoire) :
Page 1 sur 39