Des informations en vrac concernant mon site.
!seb
avant un mot le cherchera sur mon Shaarli<!--[if lt IE 7]> <script language="JavaScript" type="text/javascript" src="badbrowser.js"></script> <![endif]-->
.htaccess
:# mettre en cache les images et fichiers flash pour un mois <FilesMatch ".(flv|gif|jpg|jpeg|png|ico|swf)$"> Header set Cache-Control "max-age=2592000" </FilesMatch> # mettre en cache les fichiers javascript, texte,css et pdf pour une semaine <FilesMatch ".(js|css|pdf|txt)$"> Header set Cache-Control "max-age=604800" </FilesMatch> #mettre en cache les fichiers html et htm pour 30 minutes <FilesMatch ".(html|htm|php)$"> Header set Cache-Control "max-age=1800" </FilesMatch> Header unset ETag FileETag None
A cause de cette politique de cache, si vous avez un doute, pressez F5 pour forcer le rafraîchissement d'une page.
/etc/rc.local
, par exemple:mount -t vboxsf -o uid=1000,gid=1000 C_DRIVE /mnt/c
(En ayant pris soin de créer les points de montage au préalable dans votre machine virtuelle)
VBoxManage internalcommands sethduuid disque.vdi
sdelete -z c:
(sdelete est dispo chez Microsoft).VBoxManage modifyhd –compact mondisque.vdi
sudo apt-get install zerofree
sudo zerofree -v /dev/sda1
(ou toute autre partition). (zerofree supporte ext2/ext3/ext4)VBoxManage modifyhd –compact mondisque.vdi
wuauclt /detectnow
. Penser à décocher la mise à jour « Notification Windows Genuine Advantage ».net stop wuauserv
, puis vider le répertoire c:\Windows\SoftwareDistribution
puis net start wuauserv
.sudo apt-get install open-vm-tools open-vm-dkms
sans quoi ça ne marchera pas. Après vous pourrez monter un share même en tant que simple utilisateur avec:
vmware-hgfsmounter .host:/shared /home/toto/shared
sudo apt install pngnq optipng
pngnq -vf -s1 *.png optipng -o7 *-nq8.png
optipng -o7 *.png
Explications:
sudo apt install libjpeg-turbo-progs
#!/bin/bash for i in *.jpg; do echo $i tempname=`mktemp --suffix=.jpg` jpegtran -copy none -progressive -optimize -outfile "$tempname" "$i" cp "$tempname" "$i" rm "$tempname" done
Cette opération fait 3 choses:
Notez que jpegtran est très sensible au fait que le fichier jpg soit valide. Si vous tombez sur un fichier invalide, re-enregistrez-le avec votre logiciel habituel et redonnez-le à manger à jpegtran.
/etc/apt/apt.conf.d/proxy
contenant: Acquire::http::Proxy "http://login:motdepasse@adresseproxy:port"; Acquire::ftp::Proxy "http://login:motdepasse@adresseproxy:port";
/etc/wgetrc
mettre:http_proxy = http://adresseproxy:port/ https_proxy = http://adresseproxy:port/ ftp_proxy = http://adresseproxy:port/ proxy_user = login proxy_password = motdepasse use_proxy = on wait = 15
/etc/environ
, ajouter: HTTP_PROXY="http://login:motdepasse@adresseproxy:port/" HTTPS_PROXY="http://login:motdepasse@adresseproxy:port/" FTP_PROXY="http://login:motdepasse@adresseproxy:port/"
Sous Linux, j'utilise Caja comme gestionnaire de fichier. Voici quelques script pour faire des actions quand on fait un clic-droit sur un fichier ou un répertoire. (PS: On peut faire la même chose avec la plupart des gestionnaires de fichiers (Nautilus, etc.))
Ces scripts sont à placer dans ~/.config/caja/scripts
Compression ultra-rapide en .tar.gz (Vous devez préalablement avoir installé pigz (sudo apt install pigs
).
#!/bin/bash # Créer rapidement une archive .tar.gz IFS=$'\n' for FILENAME in $CAJA_SCRIPT_SELECTED_FILE_PATHS; do if [ -d "$FILENAME" ]; then cmd="tar -c \"`basename \"$FILENAME\"`\" | nice pigz -c > \"$FILENAME.tar.gz\"" xterm -T "Compression de `basename $FILENAME`" -e /bin/bash -l -c "$cmd" notify-send -i info -t 20000 "Compression terminée." "`basename $FILENAME`.tar.gz" fi if [ -f "$FILENAME" ]; then cmd="pv \"$FILENAME\" | nice pigz -c > \"$FILENAME.gz\"" xterm -T "Compression de `basename $FILENAME`" -e /bin/bash -l -c "$cmd" notify-send -i info -t 20000 "Compression terminée." "`basename $FILENAME`.gz" fi done
Convertir une vidéo ou un fichier audio en MP3
#!/bin/bash # Convertir une vidéo en mp3 IFS=$'\n' for FILENAME in $CAJA_SCRIPT_SELECTED_FILE_PATHS; do if [ -f "$FILENAME" ]; then cmd="ffmpeg -i \"$FILENAME\" -f mp3 -acodec mp3 -b:a 196k \"$FILENAME-converted\".mp3" xterm -T "Conversion de `basename $FILENAME`" -e /bin/bash -l -c "$cmd" notify-send -i info -t 20000 "Conversion terminée." "`basename $FILENAME`-converted.mp3" fi done
Convertir (ou recompresser) une vidéo en mp4 (h264/aac) pour publication sur le web:
#!/bin/bash # Convertir une vidéo en mp4 pour publication sur le web IFS=$'\n' for FILENAME in $CAJA_SCRIPT_SELECTED_FILE_PATHS; do if [ -f "$FILENAME" ]; then cmd="ffmpeg -i \"$FILENAME\" -acodec aac -strict -2 -vcodec libx264 -pix_fmt yuv420p -profile:v baseline -level 3 \"$FILENAME-converted\".mp4" xterm -T "Conversion de `basename $FILENAME`" -e /bin/bash -l -c "$cmd" notify-send -i info -t 20000 "Conversion terminée." "`basename $FILENAME`-converted.mp4" fi done
Convertir (ou recompresser) une vidéo en mp4 (h264/aac) pour publication sur le web, mais sans le son:
#!/bin/bash # Convertir une vidéo en mp4 pour publication sur le web (sans le son) IFS=$'\n' for FILENAME in $CAJA_SCRIPT_SELECTED_FILE_PATHS; do if [ -f "$FILENAME" ]; then cmd="ffmpeg -an -i \"$FILENAME\" -vf \"scale=trunc(iw/2)*2:trunc(ih/2)*2\" -vcodec libx264 -pix_fmt yuv420p -profile:v baseline -level 3 \"$FILENAME-converted\".mp4" xterm -T "Conversion de `basename $FILENAME`" -e /bin/bash -l -c "$cmd ; read" notify-send -i info -t 20000 "Conversion terminée." "`basename $FILENAME`-converted.mp4" fi done
Convertir une vidéo en mp4 sans ré-encoder les flux audio/vidéo (pratique quand vous avez déjà un h264/aac, mais dans un conteneur mkv ou avi):
#!/bin/bash # Convertir une vidéo en mp4 sans ré-encder IFS=$'\n' for FILENAME in $CAJA_SCRIPT_SELECTED_FILE_PATHS; do if [ -f "$FILENAME" ]; then cmd="ffmpeg -i \"$FILENAME\" -acodec copy -vcodec copy \"$FILENAME-converted\".mp4" xterm -T "Conversion de `basename $FILENAME`" -e /bin/bash -l -c "$cmd" notify-send -i info -t 20000 "Conversion terminée." "`basename $FILENAME`-converted.mp4" fi done
Pour faire une page de maintenace rapide pour votre site, sans se prendre la tête: (complété par Bredt)
maintenance.off
à la racine de votre site.<!doctype html> <title>sebsauvage.net</title> <style> body { text-align: center; padding: 100px; } h1 { font-size: 50px; } body { font: 20px Helvetica, sans-serif; color: #333; } article { display: block; text-align: left; width: 650px; margin: 0 auto; padding-bottom:50px; } a { color: #dc8100; text-decoration: none; } a:hover { color: #333; text-decoration: none; } </style> <article> <h1>Site en maintenance</h1> <div> <p>sebsauvage.net est actuellement en maintenance. Le site sera de nouveau en ligne dans quelques heures. Désolé du dérangement !</p> <p>— sebsauvage</p> </div> </article> <article> <h1>Maintenance in progress</h1> <div> <p>sebsauvage.net is currently under maintenance. It will be back online in a few hours. Sorry for the inconvenience.</p> <p>— sebsauvage</p> </div> </article>
(Visuellement, ça donne ceci.)
.htaccess
à la racine de votre site (ou dans un sous-répertoire si vous ne voulez mettre qu'une partie de votre site en maintenance):RewriteEngine On RewriteBase / RewriteCond %{DOCUMENT_ROOT}/maintenance.on -f RewriteCond %{REMOTE_ADDR} !^127\.0\.0\.1 RewriteCond %{REQUEST_URI} !/en-maintenance\.html$ RewriteRule .* http://sebsauvage.net/en-maintenance.html [R=302,L]
Notes:
.html
dans l'avant-dernière ligne).RewriteCond %{REQUEST_URI} !\.(jpe?g?|png|gif) [NC]
Vous pouvez maintenant facilement activer/désactiver la page de maintenance simplement en renommant le fichier maintenance.on
/maintenance.off