comment les échapper
un espace dans une variable gêne une commande avec sed dans un script ( qui insère une ligne en début de fichier)
l'espace entre année Y et heure H fait échouer la commande sed. De même, l'espace entre la date et var2 est un souci.
var1=$(date +"%d-%m-%Y %H:%M")" "$var2
sed -i 1i$var1 fichier.txt
solution : mettre $var1 entre guillemets . Les espaces dans la variable ne seront plus problématiques
sed -i 1i"$var1" fichier.txt
incrustation avec .srt
le sous-titre se range dans un fichier en .srt, qui contient le timing des textes de sous-titrage . Il existe d'autres formats.
Rien de très compliqué. On peut l'éditer à la main, ou à l'aide d'un logiciel qui permet de saisir les temps, tout en lisant la vidéo
1
00:00:00,000 --> 00:00:03,000
Voila les chevaliers qui arrivent
2
00:00:04,100 --> 00:00:07,100
ils sont beaux
3
00:00:07,200 --> 00:00:14,200
Où est zorro ?
Ce fichier .srt sera soit lu en même temps que la vidéo, avec VLC qui le permet, par exemple, soit on peut réencoder la vidéo en mixant les sous-titres. Mencoder le permet. VLC le fait peut-être , mais j'aime bien mencoder.
exemple avec mencoder
mencoder -sub montexte.srt -fontconfig -font Arial -utf8 -subfont-text-scale 4 -sub-bg-alpha 100 -ovc xvid -xvidencopts bitrate=2000 -oac copy 'mavideo.mpg' -o 'maviideotitree.mpg'
pour remballer les marchands de 4G box
IP fixe
page perso
ligne fixe: évite de ruiner le correspondant appelant d'une ligne fixe
1 ligne mobile gratuite
4 ports Ethernet
routage des ports
baux DHCP
apache
éditer
#nano /etc/apache2/conf-enabled/localized-error-pages.conf
décommenter la ligne de l'erreur correspondante (404, etc) et indiquer url ou message
redémarrer apache
par script
sélectionne des fichiers selon leur terminaison, et les déplace dans le dossier autredossier
#!/bin/bash
for f in *.txt
do
#cherche si le fichier a son terminaison "16.txt "
testf=${f:11:6}
if [ "$testf" = "16.txt" ];then #s'il termine en 16.txt à cette position
# extrait le nom seul du fichier
echo $f
mv $f autredossier/
fi
done
express
monter une image img
mount -o loop 'monfichier.img' /pointdemontage
exemple : mount -o loop '/chemin/image.img' /mnt/iso en ayant créé /mnt/iso au préalable
monter une image iso
mount -o loop -t iso9660 'monfichier.iso' /pointdemontage
exemple : mount -o loop -t iso9660 '/chemin/image.iso' /mnt/iso en ayant créé /mnt/iso au préalable
pour démonter
umount /mnt/iso
dans blogotext
il suffit de saisir <
pour afficher <
et >
pour obtenir >
c'est tout bête , mais je ne m'en souviens jamais
solutions que j'ai appliquées selon les recommandations
edit 15.04
probleme de no-referrer persistant
à priori retirer Header always set Referrer-Policy no-referrer du vhosts, car nextcloud met les siens dans son .htaccess . Le double usage génère l'erreur au controle de la config lu ici
edit mise à jour 14.0.4 car des avertissements sont revenus
l faut modifier le virtual host
cd /etc/apache2/sites-available/
ajouts des lignes
<IfModule mod_headers.c>
Header always set Strict-Transport-Security "max-age=15768000; preload"
Header always set Referrer-Policy no-referrer
Redirect 301 /.well-known/carddav /remote.php/dav
Redirect 301 /.well-known/caldav /remote.php/dav
< /IfModule>
mais l'erreur liée à no-referrer persite
après mise à jour 14.0.3
erreur liée à la taille memoire php valeur recommandée à 512
éditer php.ini
nano /etc/php/7.1/apache2/php.ini ( j'ai la version 7.1)
et corriger comme suit
; http://php.net/memory-limit
memory_limit = 512M
erreurs liées à la redirection caldav carddav
modifier la config d'apache
nano /etc/apache2/apache2.conf
ajouter
<Directory /var/www/nextcloud>
Options Indexes FollowSymLinks
AllowOverride All
Require all granted
</Directory>
éditer htaccess de nextcloud
nano /var/www/nextcloud/.htaccess
ajouter à la fin
Redirect 301 /.well-known/carddav /remote.php/dav
Redirect 301 /.well-known/caldav /remote.php/dav
#ErrorDocument 403 //
ErrorDocument 404 "Désolé, on cherche encore !!"
si ça coince , jeter un oeil dans /var/log/apache2/error.log. Ça m'a servi à voir une erreur suite à une mauvaise syntaxe
redémarrer apache2
erreurs liées aux entrées manquantes de bases de données
cd /var/www/nextcloud
su -s /bin/bash www-data ( équivalent de sudo -u www-data php occ db:add-missing-indices)
php occ db:add-missing-indices
warning entête no-referrer
il faut modifier le virtual host
cd /etc/apache2/sites-available/
nano monvhost.conf
sous <VirtualHost *:3443>
ajouter la ligne : Header always set Referrer-Policy "no-referrer"
esprit arduino
Cahier des charges:
Piloter à distance la porte, avec pour impératif un fonctionnement sur batterie ou piles.
La partie mécanique est une porte genre guillotine. Le moteur avec réducteur vient d'un barbecue basique, alimenté par 2 piles R20.
Projet initial:
La porte a été télécommandée, avec une télécommande radio issue d'un jouet(voiture).
La fonction d'inversion du sens de marche était très pratique pour ouvrir/fermer.
Les piles du moteur permettaient d'alimenter le récepteur de télécommande, pas trop gourmand en veille. Portée faible, mais fonctionnelle, le poulailler étant à vue directe.
Inconvénients:
- en cas d'absence, pas de gestion de la porte poulailler , pauvres bêtes.
- mal adapté l'été du fait du lever de soleil précoce.
- un peu la consommation quand même
Projet arduino:
L'idée a donc été de gérer la porte, en se basant sur la luminosité ambiante (les poules se calant remarquablement dessus), conférant une adaptation automatique aux saisons.
L'électronique analogique m'a vite confronté au problème de consommation.
J'ai alors envisagé la gestion à microcontrôleur, au demeurant gourmande, mais en parcourant le web sur arduino,
je suis tombé sur les modes de veille très intéressants ( quelques dizaines de µA en veille). Là, c'était ce qu'il me fallait.
Achat d'une carte arduino, et développement d'un bout de soft(autoformation au passage, bien que j'ai quand même des bases pas solides
, mais suffisantes pour cela). J'ai pondu quelque chose qui marchait sur l'établi, mais un arduino, ça consomme.
Picsou doit donc compter les électrons.
Pour éradiquer les mA, il faut enlever ce qui ne sert pas. Finalement, on jette la carte mais on garde l' Atmega328, le µcontrôleur.
Là, il est capable de consommer 20 µA en veille. En périphérie, on a besoin d'un capteur de lumière et de 2 fins de courses
pour localiser la position de la porte, et de quelques transistors pour piloter le moteur. Il suffit de s'arranger pour que tout ça ne consomme rien.
Le pont à transistors ne consomme rien à vide. Pour les capteurs, il suffit de les alimenter par le microcontroleur lorsque l'on a besoin d'informations.
Une petite carte maison accueille donc le µcontroleur et les quelques composants utiles.
Principe général: toutes les 15 minutes, le µcontrôleur sort de veille, alimente les capteurs, vérifie la luminosité et
s'occupe de la porte si nécessaire. L'opération dure 2 secondes environ, sauf si on actionne la porte pendant 20 secondes.
Le système consomme donc quotidiennement 25 µA la plupart du temps, 25 mA tous les 1/4 d'heure pendant 2 s,
et 2 x 20 s à 200 mA quand la porte fonctionne. Ceci nous donne une consommation moyenne de 100 µA environ.
Pour une batterie, ça représente moins de 2000 mAh, pour une année !!L'autodécharge consommera plus.
Objectif atteint.
Plus techniquement: le µcontrôleur Atmega 328 peut fonctionner jusqu'à peu près 3V. On peut donc heureusement se passer
de régulateur d'alimentation ( source de consommation parasite, c'est la guerre aux µA).
On peut même le faire fonctionner à 8 MHz sans quartz, dont acte.
Initialement sur 2 piles R20 donc 3V , je suis passé à la batterie lithium 18650 de 3,6 V(issue des batteries de recharge de smartphone)
L'expérience m'a montré que les piles alcalines supportent très mal les températures négatives (plus de pêche).
La batterie lithium se comporte bien jusqu'à -10°C. En plus, sous 3,6V , on se passe toujours de régulateur.
Donc, comme dit plus haut, réveil toutes les 15 minutes , avec mesure de la lumière, comparée à 2 seuils d'ouverture / fermeture
ure. Les positions hautes et basses ont chacune un capteur pour stopper la porte. Une temporisation de sécurité limite le temps
de fonctionnement, pour éviter de forcer si un capteur est en défaut.
Le moteur entraine une poulie qui enroule/déroule une ficelle qui entraine la porte à guillotine.
Evolutions:
réalisée:la possibilité de régler les seuils d'action de porte sans recours au PC pour les modifier.
en pause: auto réglage des ouvertures-fermetures. Un peu gadget.
abandonnée: gérer un panneau solaire. Séduisant, mais inutile, car 2 recharges par an d'une batterie lithium, ce n'est pas une contrainte.
En outre, la charge fractionnée à courant faible ne convient pas.
en cas de malheur
sortir du mode maintenance manuellement ( ou y rentrer)
nano /var/www/nextcloud/config/config.php et mettre 'Maintenance = false'
en ligne de commande
su -s /bin/bash www-data
cd /var/www/nextcloud
php occ maintenance:mode --off
vérifier les signatures
php occ integrity:check-core
php occ maintenance:repair