Le potager sur un rebord de fenêtre - épisode 2

Jardin 24 mai 2020

Dans cet épisode, vous ne verrez pas de bateau sur l'eau, de pirate, de kraken, de baguette magique ni de sortilège... Vous verrez cependant une surprise à la fin et même un peu de ligne de commande (on me refait pas).

Et quoi de mieux pour commencer cet épisode 2 digne d'une série d'Hollywood que de commencer directement par un In medias res.

Fraisiers malades

Quelques tâches brunes sur les feuilles (accompagné d'un objet bizarre)

C'est bon, je vous ai bien hypé ?

Bon, en réalité quelques taches brunes sont apparus sur les fraisiers. Internet conseillait de la bouillie Bordelaise (je n'en ai pas et je n'ai pas envie d'en mettre), et sur le fédiverse on m'a conseillé de couper les feuilles ou de les laisser comme ça (le second avis est arrivé un poil trop tard, j'ai coupé les feuilles). Je note tout de même un commentaire : «Couper les feuilles et recouvrir d'aiguilles de sapin» à la fin de la saison.

Mais hormis cette petite maladie, les fraisiers poussent tranquillement, j'ai une fraise qui rosit, 3 qui naissent et 5 fleurs ont éclos. Ceytrobo

Les fraisiers, les pieds de tomates et les radis
Et encore deux fraisiers

Le radis 18 jours ça pousse vite !

J'ai été surpris (et pourtant c'est bien marqué sur l'emballage), les radis poussent relativement vite. Et je dois avouer que je ne suis pas encore très doué avec la semi... Du coup, y a plein de tas de pousses de radis qui se baladent. Je vais devoir éclaircir le tout. Internet indique 5 centimètres de distance, je vais voir si je vais pas garder 3-5 centimètres (en vrai je trouve que ça fait beaucoup 5 centimètres). Je vais aussi creuser pour savoir si je peux faire une soupe de fane de radis avec les pousses que je vais enlever.
Chose curieuse, les radis en intérieur ont grandi très vite et sont penchés vers la baie vitrée.

Cactus, radis, radis et salade (dans le petit pot noir)

La salade grandit... En fonction des endroits

La salade en extérieur n'a pas encore décidé de sortir de terre. On dirait que sous terre ça fait la fête cependant (je vois deux trois germes sortir). Sauf pour la salade en intérieur qui pousse gentillement (mais doucement).
Dans 1 semaine il y aura une autre semi à côté pour avoir un roulement de salade.

Et grâce à ça je sais ce qu'il y a dans le pot thym / menthe : de la salade ! (sinon ça aurait poussé comme les radis).

Les salades... Enfin de la terre pour le moment

Le bac thym / menthe

Rien à signaler, le thym reprend des forces (il n'avait pas franchement apprécié de bouger, mais le soleil a eu raison de son inconfort, il se sent mieux et reprend des feuilles).

La menthe quant à elle mène sa petite vie et accepte l'eau tous les deux jours.

Bref, un bac qui vie sa petite vie.

Thym, salade et menthe sont dans une balconnière, menthe tombe à l'eau...

Et au milieu ?

Le bac basilic, tomate et ciboulette ? Eh bien il va bien. La ciboulette a elle aussi fait la trombinette quand elle a changé de pot. Mais ça semble aller mieux.
Le plant de tomate pousse (et je trouve qu'il a bien grandi. Vous le voyez aussi ?
Le basilic devient feuillu. Je vais devoir couper deux ou trois feuilles pour pas qu'il s'épuise trop. Mais d'un autre côté elles protègent le pied face au soleil (qui est costaud ces derniers jours, mais j'en parlerai plus bas).

Les tomates

0 fleur, ils grandissent. Ils ont chacun eu le droit à du marc de café, et aucun ne se plaint des fraisiers, de la ciboulette, du basilic ou des radis. Bref, ça convient à tous.

Ouai, toujours la même image mais là ce qui nous intéresse, ce sont les plants de tomate au fond

L'arrosage

On a eu un sacré soleil cette semaine. 7 jours d'ensoleillement, du vent qui sèche la terre en surface, les bacs à fleurs qui chauffent et font chauffer la terre en l'asséchant au passage (pas glop). Du coup j'arrosais tous les deux-trois jours, dès que la terre était sèche et que je trouvais pas d'humidité même en creusant un peu. J'en ai profité pour retourner la terre lors de l'arrosage et j'arrosais en soirée du fait de la température d'été (au printemps il est préférable d'arroser le matin).

Et pour finir, la petite surprise !

Avec une installation hasardeuse et bancale, un vieux smartphone avec l'écran tout explosé (la dalle est en train de décéder) et de la patience plus une petite musique, voici : 3 jours et demi de photos ! (merci la box internet qui a crashé bloquant ainsi le timelapse qui était prévu de tourner jusqu'à samedi soir).
(Utilisateur de Firefox, il semblerait que le son ne soit pas audible... )

Pour ceux qui ne peuvent pas visionner la vidéo, vous pouvez la récupérer ici : https://cloud.dryusdan.fr/s/DnZNx4KAAj6BcMD

Le mot de la fin ?

Oui, je pense que le troisième épisode sortira dans deux semaines, sauf si j'ai un autre timelapse, ou des nouveautés plus intéressantes (genre le premier radis !) qui fera que l'épisode sortira la semaine prochaine.

En attendant je vous dis à bientôt :)

La partie informatique

Le timelapse a été réalisé sous Linux, avec ffmpeg, convert et un serveur FTP. Le téléphone quant à lui avec l'application MobileWebCam (qui a été forké par la suite mais pas dispo sur fdroid. L'application a un léger défaut avec l'affichage mais sinon ça fonctionnait plutôt bien. Chaque photo était envoyée sur le serveur FTP.
Il y avait une capture par minute. Au vu du timelapse, j'aurais pu en prendre une toutes les 30 secondes ou une toutes les 15 secondes.

Le téléphone était accroché au trépied - avec un cable USB branché sur une ralonge USB, branchée sur un chargeur USB, branché sur une multiprise à côté - posé avec deux pieds dans le bac à fleurs et un sur la rambarde en métal. Le truc vachement stable en somme.

Côté PC, les images étaient récupérées du serveur via rsync, toutes les images entre 22h30 et 5h30 étaient supprimées.
Ensuite je les renomais en format date_temps pour éviter de me retrouver avec des images qui n'avait rien à faire là, suite à un mauvais tri.
Puis toutes les images étaient "crop", c'est-à-dire que je récupérais la partie de l'image que je souhaitais récupérer, l'autre morceau était supprimé juste après.
Puis le tout faisait sortir 3 vidéos : une à 24fps, une à 60 et une avec le son (ici 40 fps).
Par la suite, je supprimais tout sauf les images déjà téléchargées (pour éviter de me taper 2h de rsync à chaque lancement du programme.

Le petit script qui va bien pour faire ça :

#!/bin/bash
## author      : Dryusdan
## date        : 20/05/2020
## description : Get my timelaps
## usage       : ./getimelaps.sh preset

## Bash strict mode ####################################
set -o errexit   # abort on nonzero exitstatus
set -o pipefail  # don't hide errors within pipes

## Bash color ##########################################
# Set colors
RED='\033[0;31m'
GREEN='\033[00;32m'
YELLOW='\033[00;33m'
BLUE='\033[00;34m'
PURPLE='\033[00;35m'
CYAN='\033[00;36m'
LIGHTGRAY='\033[00;37m'
LRED='\033[01;31m'
LGREEN='\033[01;32m'
LYELLOW='\033[01;33m'
LBLUE='\033[01;34m'
LPURPLE='\033[01;35m'
LCYAN='\033[01;36m'
WHITE='\033[01;37m'
NC='\033[0m' # No Color

## Logs ################################################
readonly SCRIPTNAME="$(basename "$0")"
debug()    { echo -e "${LPURPLE}[DEBUG] $* ${NC}"    | logger --tag "${SCRIPTNAME}" --stderr ; }
info()    { echo -e "${LBLUE}[INFO] $* ${NC}"    | logger --tag "${SCRIPTNAME}" --stderr ; }
warning() { echo -e "${YELLOW}[WARNING] $* ${NC}" | logger --tag "${SCRIPTNAME}" --stderr ; }
error()   { echo -e "${LRED}[ERROR] $* ${NC}"   | logger --tag "${SCRIPTNAME}" --stderr ; }
fatal()   { echo -e "${RED}[FATAL] $* ${NC}"   | logger --tag "${SCRIPTNAME}" --stderr ; exit 1 ; }
########################################################

## Define variable #####################################
SERVER="dryusdan@192.168.1.254"
REMOTE_FOLDER="/data/dryusdan/photos/blackberry/"
LOCAL_FOLDER="/home/dryusdan/Images/timelapse"
BEFORE_PROCESSING_FOLDER="${LOCAL_FOLDER}/before-process"
AFTER_RENAME_PROCESS_FOLDER="${LOCAL_FOLDER}/after-rename-process"
AFTER_PROCESSING_FOLDER="${LOCAL_FOLDER}/after-process"
VIDEO_SOURCE="${AFTER_PROCESSING_FOLDER}"
VIDEO_DESTINATION="/home/dryusdan/Vidéos/timelapse/"
VIDEO_NAME="timelaps_$(date +'%d%m%y_%H%M%S')"
CROP_WIDTH=4000
CROP_HEIGHT=3672
INITIAL_FOLDER=$(pwd)
SOUNDTRACK="/home/dryusdan/Téléchargements/soundside__royalty_free_music__-_Epic_Trailer.ogg"

if [ -z "${1}" ];
then
	PRESET="slow"
else
	PRESET=${1}
fi

info "Starting at $(date)"
info "Create each folder"

mkdir -p "${LOCAL_FOLDER}"
mkdir -p "${BEFORE_PROCESSING_FOLDER}"
mkdir -p "${AFTER_RENAME_PROCESS_FOLDER}"
mkdir -p "${AFTER_PROCESSING_FOLDER}"
mkdir -p "${VIDEO_DESTINATION}"

info "Get files at $(date)"
rsync -avPtq --ignore-existing "${SERVER}:${REMOTE_FOLDER}" "${BEFORE_PROCESSING_FOLDER}"

for day in {19,20,21,22}
do
	before=$(echo ${day}+1 | bc)
	after="2020-05-${day} 22:00:00"
	before="2020-05-${before} 05:00:00"
	find ${BEFORE_PROCESSING_FOLDER} -type f  -newermt "${after}" ! -newermt "${before}" -delete
done

info "Rename file by date"
for f in ${BEFORE_PROCESSING_FOLDER}/*.jpg
do
    cp -n "$f" "${AFTER_RENAME_PROCESS_FOLDER}/$(date -r "$f" +"%Y%m%d_%H%M%S").jpg"
done

info "Crop images at $(date)"
for image in $(ls ${AFTER_RENAME_PROCESS_FOLDER})
do
	convert "${AFTER_RENAME_PROCESS_FOLDER}/${image}" -crop "${CROP_HEIGHT}x${CROP_WIDTH}" "${AFTER_PROCESSING_FOLDER}/${image}"
done

info "Remove -1.jpg"
rm -f ${AFTER_PROCESSING_FOLDER}/*-1.jpg

for fps in {24,60}
do
	info "Create timelaps in ${fps}fps at $(date)"
	cd ${AFTER_PROCESSING_FOLDER}
	ffmpeg -hide_banner -loglevel panic -r ${fps} -pattern_type glob -i '*.jpg' -s hd1080 -vcodec libx264 -crf 18 -preset ${PRESET} "${VIDEO_DESTINATION}${VIDEO_NAME}_${PRESET}_${fps}fps.mp4"
done

fps=40
ffmpeg -hide_banner -loglevel panic -r ${fps} -pattern_type glob -i '*.jpg'  -i ${SOUNDTRACK} -c:a copy -s hd1080 -vcodec libx264 -crf 18 -preset ${PRESET} "${VIDEO_DESTINATION}${VIDEO_NAME}_soundtrack_${PRESET}_${fps}fps.mp4"

info "There is $(ls ${AFTER_PROCESSING_FOLDER} | wc -l ) in this folder"
info "The timelapse will last $(echo $(ls -lart ${AFTER_PROCESSING_FOLDER} | wc -l)/24 | bc) secondes with 24 frames/sec."
info "The timelapse will last $(echo $(ls -lart ${AFTER_PROCESSING_FOLDER} | wc -l)/12 | bc) secondes with 12 frames/sec."

cd ${INITIAL_FOLDER}

info "Ending ffmepg at $(date)"
Warning "Remove image files"
rm -rf ${AFTER_RENAME_PROCESS_FOLDER}
rm -rf ${AFTER_PROCESSING_FOLDER}

Le script a pas été peaufiné ni rien, je l'ai fait en quelques minutes pour éviter de me taper toutes les commandes à la main régulièrement.

Les commandes ffmpeg ont été inspirées par les deux auteurs de ces liens :
https://www.dsebastien.net/2015/01/25/simple-time-lapse-using-ffmpeg/
https://gist.github.com/alexellis/bbf2bc2a6789480fcd0031f99800df9c

Voilà, c'est tout pour le côté informatique ;)

Mots clés

Dryusdan

Chasseur de bug et régleur de problème (alias DevOps).