14 liens privés
Paramètres utiles :
--cookies-from-browser firefox→ Utilise les cookies disponibles du navigateur. Pratique quand Youtube bloque certains retours.--flat-playlist→ Retourne la liste des vidéos disponibles.--playlist-end 10→ Limite la liste aux 10 premiers résultats.--print "%(id)s"$'\t'"%(duration_string)s"$'\t'"%(title)s"→ Formate la liste de sortie en mettant l'ID, la durée et le titre de la vidéo sur une même ligne, le tout séparé par des tabulations.-F→ Retourne la liste des formats audios et/ou vidéos disponibles pour une vidéo donnée.-f "399+139"→ Sélectionne les formats 399 et 139 pour le téléchargement.--merge-output-format mp4→ Fusionne l'ensemble des formats téléchargés dans un même fichier mp4.--postprocessor-args "ffmpeg:-ss 60 -c copy -avoid_negative_ts make_zero -movflags +faststart"→ Après téléchargement, utilise ffmpeg pour :-ss 60→ Supprimer les 60 premières secondes (utile pour virer la pub).-c copy→ Copie les flux (vidéo/audio) sans ré-encodage (rapide, conserve la qualité).-avoid_negative_ts make_zero→ Corrige les timestamps négatifs (évite les bugs de lecture).-movflags +faststart→ Déplace l'index au début du fichier MP4 (permet une lecture instantanée et un seek fluide).
--force-overwrites→ Écrase le fichier s'il existe déjà (pas de confirmation).-o "L'Univers avant le Big Bang...".mp4→ Nomme le fichier de sortie.
Exemples :
1) yt-dlp --cookies-from-browser firefox --flat-playlist --playlist-end 10 --print "%(id)s"$'\t'"%(duration_string)s"$'\t'"%(title)s" "https://www.youtube.com/@hugolisoiryoutube/videos" | column -t -s $'\t'
Récupère la liste des 10 dernières vidéos publiées sur une chaine (ID, durée en [hh:]mm:ss, titre) sous forme de tableau.
2) yt-dlp -F https://www.youtube.com/watch\?v\=kHirUbwaO9I
Liste l'ensemble des formats audio et vidéo disponibles.
3) yt-dlp -f "399+139" --merge-output-format mp4 -o "L'Univers avant le Big Bang : 3 théories qui changent tout ! - Hugo Lisoir (0h13).mp4" --postprocessor-args "ffmpeg:-ss 60 -c copy -avoid_negative_ts make_zero -movflags +faststart" --force-overwrites https://www.youtube.com/watch\?v\=M2l1ANUedys
Télécharge une vidéo :
- sélectionne les formats 399 (vidéo mp4, 1920x1080, 30 fps) + 139 (audio m4a, mp4a.40.5),
- fusionne la vidéo et l'audio en un seul fichier mp4,
- nomme le fichier de sortie,
- supprime les 60 premières secondes qui ne contiennent que de la pub, en préservant l'index
- écrase le fichier résultat si déjà présent.
IDENTIFICATION DIVISION.
PROGRAM-ID. EnvExample.
DATA DIVISION.
WORKING-STORAGE SECTION.
01 APP-MODE PIC X(10).
PROCEDURE DIVISION.
ACCEPT APP-MODE FROM ENVIRONMENT "APP_MODE"
DISPLAY "Mode d'exécution : " APP-MODE
STOP RUN.En bash, pour rediriger la sortie dans un fichier, on utilise le symbole >... Ajouter set -o noclobber
dans .bashrc empêchera > d'écraser un fichier existant lors d'une commande tapée à la main. Pour y arriver, il faudra utiliser >| pour forcer.
2>&1 - Fusionner erreurs et sortie normale
&1 dit à bash "le 1 c'est un file descriptor, pas un fichier qui s'appelle littéralement 1". Du coup stderr (2) est redirigé vers le même endroit que stdout (1), ou plutôt vers là où stdout pointe au moment où bash évalue la ligne.
Attention à l'ordre ! Bash lit les redirections de gauche à droite.
> output.log 2>&1 -> stdout pointe vers le fichier, puis stderr suit... tout va dans le fichier.
2>&1 > output.log -> stderr copie stdout qui pointe ENCORE vers le terminal, puis stdout est redirigé vers le fichier. Résultat, les erreurs restent dans votre terminal.
Et &> fait la même chose en plus court : commande &> output.log. C'est super pratique, mais spécifique à bash / zsh.
Le plugin Back to close ne fonctionne plus sous Firefox :-(
Pour y remédier, il faut aller dans about:config et forcer la valeur de browser.navigation.requireUserInteraction à false.
Un grand guide de sécurisation de Linux plutôt orientée Debian.
Résultat au quiz : 15/21
À vérifier, mais il me semble qu'il y a deux erreurs dans les réponses...
À lire.
Il est possible de faire pivoter une table.
You can use GROUPING SETS, ROLLUP, and CUBE clauses of the GROUP BY clause in subselect queries.
SQL offre la possibilité de faire des requêtes avec des regroupements et des sous-totaux intermédiares et un total !
Avec DB2, il ne faut pas inclure de jointure dans les requêtes récursives, mais poser une clause WHERE👎🙄