13 liens privés
Le renforcement des contrôles pendant la crise sanitaire contre les « fêtes clandestines », annoncé par le gouvernement, se fait en dehors de tout cadre légal spécifique. « On ne peut pas sanctionner le fait d’être à 30 dans un appartement », rappellent les juristes, sauf pour tapage nocturne ou non-respect du couvre-feu, s’il est bien constaté. La mise en danger de la vie d’autrui « ne tient pas » non plus sur le plan du droit.
[...]
« On peut refuser l’entrée aux policiers. Et s’ils rentrent quand même, c’est une violation de domicile et c’est une infraction pénale, aggravée par leur statut de force de l’ordre », explique Evan Raschel.Les forces de l’ordre arrivent pourtant parfois à rentrer. Comment ? « Il y a du bluff en quelque sorte, car les personnes ne savent pas. Quand les policiers tambourinent pour rentrer, c’est impressionnant. Ils profitent de la méconnaissance de la réglementation pour venir ». A partir du moment où on les laisse rentrer, le cadre légal est respecté. Même « bluff » sur les verbalisations pour non-respect du couvre-feu, alors que la personne est déjà à l’intérieur d’un domicile. « Ils verbalisent à tout va en sachant très bien que les verbalisés n’auront pas le courage de contester ou ne savent pas », ajoute le professeur de l’université de Clermont-Auvergne.
[...]
Reste que « ça ne tient pas », soutient l’avocat Avner Doukhan. « Il faut un élément matériel et moral pour la mise en danger de la vie d’autrui, être persuadé que vous êtes atteint du coronavirus. La personne n’est pas forcément au courant, a fortiori si elle est asymptomatique », ajoute-t-il. « Vous ne pouvez pas montrer la causalité, il n’y a pas de preuve que les gens vont se contaminer dans ces lieux-là », confirme Audrey Darsonville, professeur de droit pénal à Nanterre. Sans parler du fait que le taux de mortalité du covid-19 est très faible chez les jeunes.« Ça se plaide comme on dit en droit. Car on est face à l’article 223-1 du Code pénal, qui n’a pas été pensé pour ça. La façon dont il est rédigé est assez floue, ce qui fait que certains procureurs, parquetiers, ont tenté de recourir à la mise en danger de la vie d’autrui. Mais pour l’instant, sans succès », souligne Evan Raschel. Les procédures sont donc très faibles pour ne pas dire vouées à l’échec. En résumé, comme rien « ne permet aux forces de l’ordre d’empêcher une fête clandestine, hormis pour tapage nocturne ou non-respect du couvre-feu s’il est constaté, pas mal de procédures ont fait l’objet d’un classement sans suite », explique Avner Doukhan.
De la même manière que sur la fermeture des frontières, le gouvernement a pris des mesures dont il sait parfaitement que certaines sont contraires aux droits fondamentaux et ne tiennent pas face au juge.
L’élément le plus important de la confiance en soi est sans doute la possibilité d’agir, si possible contre la menace, à défaut d’agir tout court. Dans le film d’Alain Resnais, Mon oncle d’Amérique, le professeur Henri Laborit décrit une expérience de laboratoire. Un rat, seul dans une cage, subit des décharges électriques. À la fin de l’expérience, le rat présente tous les symptômes de stress aggravé. Lorsqu’on place deux rats ensemble dans la même cage et sous les mêmes décharges électriques, on s’aperçoit à la fin de l’expérience qu’ils ne présentent pas de signes de stress. La différence avec le premier cas est qu’ils se sont battus entre eux. Cela n’a diminué en rien la quantité d’électricité reçue mais, au contraire du premier rat qui n’a fait que subir, ils ont agi. La comparaison avec les rats peut choquer, pourtant la réalité est la même, un combattant qui agit diminue sa tension nerveuse, encore faut-il qu’il puisse agir.
On a évoqué la difficulté de la période d’attente avant le combat. De la même façon, une étude sur les troubles psychologiques dans la Royal Air Force de 1941 à 1945 montre que ceux-ci frappèrent surtout les équipages de bombardiers, pour la plupart soumis à une menace diffuse, mais permanente lors de leur missions. De nombreux pilotes de chasse avouent aussi avoir préféré affronter la chasse adverse plutôt que l’artillerie antiaérienne contre laquelle ils ne pouvaient rien. Cette action sécurisante consiste souvent à ouvrir le feu, pour rien sinon satisfaire son besoin de faire quelque chose. Certains sont trop stressés pour prendre même cette décision, il faut alors les obliger à faire quelque chose de positif comme creuser un poste de combat ou apporter les premiers soins à un camarade par exemple. L’expérience montre qu’ils s’empresseront de le faire, même si c’est dangereux, car cela les soulage aussi.
Une autre expérience psychosociale a consisté à faire travailler deux groupes d’individus dans des pièces séparées, mais avec, pour tous, un fond sonore permanent très déplaisant. Les membres d’un de ces groupes disposaient d’un bouton permettant d’arrêter le bruit, les autres en étaient dépourvus. Les résultats des travaux de ceux qui disposaient d’un bouton furent meilleurs mais, ce qui est plus étonnant, sans que ce bouton ne soit utilisé. Le simple fait d’avoir la possibilité d’agir sur leur environnement avait suffi. À Sarajevo de 1992 à 1995, les règles d’ouverture du feu, dans le cadre des règlements des Nations Unies, pouvaient varier considérablement d’un bataillon à l’autre. Dans certains cas, le chef de corps se réservait seul le droit de faire ouvrir le feu ; dans d’autres unités, au contraire, l’initiative du tir était laissée au jugement de chacun, quel que soit son grade. La complexité des situations fit que les bataillons « décentralisés » n’ont pas beaucoup plus ouvert le feu que les unités « centralisées » mais il est certain que la frustration, et donc les troubles psychologiques, y fut bien moindre.
En résumé, dans ce premier cercle, l’homme doit se sentir fort, capable d’agir et avec le sentiment intime d’avoir de bonnes chances de s’en sortir. Pourtant cela ne suffit pas. En 1944, en Normandie et dans les Ardennes, de nombreuses unités américaines furent disloquées, entraînant la dispersion de milliers de soldats. Ces milliers d’hommes isolés furent d’une efficacité très faible. Les groupes formés à la hâte avec ces isolés ne s’avérèrent guère plus efficaces, limitant leurs actions à leur survie. En revanche les équipes de pièces, groupes de combat ou sections qui avaient été arrachés à leur position et à leurs unités d’origine, mais étaient restés ensemble pendant le repli, furent au contraire beaucoup plus solides. Aligner des hommes compétents ne suffit donc pas, il faut les « coudre ensemble » pour reprendre le mot de MacDonald à la bataille Wagram. Cette « couture morale » constitue le deuxième cercle de confiance. La force, c’est les autres.
Comme à chaque changement majeur, on s'aperçoit que les mille faiblesses de l'ancienne organisation sont soudain révélées et exacerbées. Si le télétravail pose problème, c'est que le travail était un problème, que le présentéisme était favorisé sur l'efficacité. Le chapitre sur la productivité vient ainsi rappeler des évidences comme la nécessité d'avoir des indicateurs de la productivité attendue. En ce temps de crise, il s'agit bien là d'une lecture salutaire, d'autant que le texte est clair, écrit de façon agréable et qu'il donne sans jargon les clés de la productivité du monde actuel et de demain.
Après avoir discuté avec plusieurs recruteurs spécialisés dans le recrutement des devs, j’ai pu établir une liste pour optimiser son CV en tant que développeur.
Problème d'espace disque sur le serveur
Description
Je reçois quotidiennement des mels depuis mon serveur pour me signaler la diminution de l'espace disponible sur le répertoire / de /dev/rootdu serveur.
Analyse
Connexion au serveur en root
Résultat d'exécution des commandes ...
❯ grep "root" /proc/cmdline
BOOT_IMAGE=/boot/bzImage-4.9.58-xxxx-std-ipv6-64 root=/dev/md1 ro rootdelay=10
❯ mount | grep "/dev/md1"
/dev/md1 on / type ext4 (rw,relatime,errors=remount-ro,data=ordered)
❯ cd /
❯ df -h
Sys. de fichiers Taille Utilisé Dispo Uti% Monté sur
/dev/root 20G 17G 1,4G 93% /
devtmpfs 2,0G 0 2,0G 0% /dev
tmpfs 2,0G 68K 2,0G 1% /dev/shm
tmpfs 2,0G 213M 1,8G 11% /run
tmpfs 5,0M 0 5,0M 0% /run/lock
tmpfs 2,0G 0 2,0G 0% /sys/fs/cgroup
/dev/md3 439G 239G 178G 58% /home
tmpfs 393M 0 393M 0% /run/user/1000
❯ du -h -d 1 /
24K /nonexistent
4,0K /mnt
239G /home
23M /boot
185M /root
4,0K /srv
68K /dev
du: impossible d'accéder à '/sys/kernel/slab/L2TP/IPv6': Aucun fichier ou dossier de ce type
du: impossible d'accéder à '/sys/kernel/slab/L2TP/IP': Aucun fichier ou dossier de ce type
0 /sys
4,0K /lib64
759M /tmp
15M /bin
8,0K /media
2,0G /opt
213M /run
du: impossible d'accéder à '/proc/4287/task/4287/fd/3': Aucun fichier ou dossier de ce type
du: impossible d'accéder à '/proc/4287/task/4287/fdinfo/3': Aucun fichier ou dossier de ce type
du: impossible d'accéder à '/proc/4287/fd/4': Aucun fichier ou dossier de ce type
du: impossible d'accéder à '/proc/4287/fdinfo/4': Aucun fichier ou dossier de ce type
du: impossible d'accéder à '/proc/4370': Aucun fichier ou dossier de ce type
0 /proc
23M /sbin
16K /lost+found
2,0G /usr
925M /etc
51M /lib
7,8G /var
256G /
Pour synthétiser :
/dev/root"correspond à"/dev/mda1et équivaut à//dev/mda3héberge/home
Pour affiner le problème, j'installe rust puis dutree sur le serveur (voir [https://blog.shevarezo.fr/post/2018/06/13/dutree-outil-analyser-espace-disque]).
❯ dutree --exclude home -d1 / ─╯
Couldn't read IPv6 (NotFound)
Couldn't read IP (NotFound)
Couldn't read 13868 (NotFound)
[ / 24.07 GiB ]
├─ var │ ███████████████████████████████████████████████████████████████████████████│ 30% 7.44 GiB
├─ sys │ ███████████████████████████████████████████████████████████████████│ 27% 6.66 GiB
├─ swap_gitlab │ ███████████████████████████████│ 13% 3.17 GiB
├─ usr │ ███████████████████│ 8% 1.98 GiB
├─ opt │ ████████████████│ 7% 1.76 GiB
├─ root │ ██████████│ 4% 1.15 GiB
├─ etc │ ███████│ 3% 887.25 MiB
├─ tmp │ ██████│ 3% 755.80 MiB
├─ run │ █│ 0% 211.56 MiB
├─ lib │ │ 0% 49.30 MiB
├─ sbin │ │ 0% 22.00 MiB
├─ boot │ │ 0% 21.90 MiB
├─ bin │ │ 0% 14.07 MiB
├─ proc │ │ 0% 4.79 MiB
├─ dev │ │ 0% 87.80 KiB
├─ nonexistent │ │ 0% 16.31 KiB
├─ lost+found │ │ 0% 16.00 KiB
├─ media │ │ 0% 8.01 KiB
├─ lib64 │ │ 0% 4.03 KiB
├─ mnt │ │ 0% 4.00 KiB
├─ srv │ │ 0% 4.00 KiB
└─ .rnd │ │ 0% 1.00 KiB
Je vais dégager quelques applications du serveur. Ce sont celles dont je ne me sers pas. On va voir ce que ça donne.
- rss-bridge --> ok
- kanboard --> ok
- alltube --> ok
- blog ???
- diagramsnet --> ok
- phpmyadmin --> ok
- my-mind --> ok
Purge du dossier /tmp
❯ dutree -s /tmp ─╯
[ tmp 755.87 MiB ]
├─ tmp.c6YZAg7Z2H │ ███████████████████████████████████████████████████████████████████████████│ 98% 745.29 MiB
├─ tmp.rYLfDnmtWN │ │ 1% 10.39 MiB
└─ <aggregated> │ │ 0% 185.79 KiB
/home/admin_guillaume ······························································ root@principal 18:42:07 ─╮
❯ rm -rf /tmp/tmp* ─╯
/home/admin_guillaume ······························································ root@principal 18:42:57 ─╮
❯ dutree -s /tmp ─╯
[ tmp 166.58 KiB ]
└─ <aggregated> │ ███████████████████████████████████████████████████████████████████████████│ 97% 162.58 KiB
==> Gain de 750 Mo d'espace disque
Je gagne un peu de sursis ...
Retex : J'ai gagné < 12h ! Un noveau mel m'informe que :
[ERROR] L'espace de stockage / (sur lâappareil /dev/root) ne dispose que de 468 MiB (2%) espace restant (sur 18 GiB). Vous devriez vraiment envisager de nettoyer de lâespace !
❯ dutree --exclude home -s / ─╯
Couldn't read IPv6 (NotFound)
Couldn't read IP (NotFound)
Couldn't read 23525 (NotFound)
Couldn't read entry (InvalidInput)
Couldn't read entry (InvalidInput)
[ / 23.87 GiB ]
├─ var │ ███████████████████████████████████████████████████████████████████████████│ 35% 8.44 GiB
├─ sys │ ████████████████████████████████████████████████████████│ 26% 6.40 GiB
├─ swap_gitlab │ ███████████████████████████│ 13% 3.17 GiB
├─ usr │ ████████████████│ 7% 1.91 GiB
├─ opt │ ██████████████│ 7% 1.71 GiB
├─ root │ █████████│ 4% 1.15 GiB
├─ etc │ ██████│ 3% 817.93 MiB
├─ run │ │ 0% 209.15 MiB
├─ lib │ │ 0% 49.30 MiB
├─ sbin │ │ 0% 22.00 MiB
├─ boot │ │ 0% 21.90 MiB
├─ bin │ │ 0% 14.07 MiB
├─ proc │ │ 0% 4.04 MiB
└─ <aggregated> │ │ 0% 248.55 KiB
Constat : En une nuit, le répertoire /var que j'avais un peu délesté hier pèse 1 Go de plus qu'avant mon intervention ...
Je décide de déqinstaller gitlab du serveur.
L’espace de stockage / (sur le périphérique /dev/root) a encore 9.8 GiB (54%) espace restant (sur 18 GiB) !
❯ dutree --exclude home -s / ─╯
Couldn't read IPv6 (NotFound)
Couldn't read IP (NotFound)
[ / 14.69 GiB ]
├─ sys │ ███████████████████████████████████████████████████████████████████████████│ 43% 6.40 GiB
├─ var │ ███████████████████████████████████████████████│ 27% 4.07 GiB
├─ usr │ █████████████████████│ 12% 1.91 GiB
├─ root │ ████████████│ 7% 1.15 GiB
├─ etc │ ████████│ 5% 817.60 MiB
├─ run │ █│ 1% 217.15 MiB
├─ opt │ │ 0% 51.93 MiB
├─ lib │ │ 0% 49.30 MiB
├─ sbin │ │ 0% 22.00 MiB
├─ boot │ │ 0% 21.90 MiB
├─ bin │ │ 0% 14.07 MiB
├─ proc │ │ 0% 3.13 MiB
└─ <aggregated> │ │ 0% 242.85 KiB
Merde ! Gitlab est un gouffre ! Je viens de gagner presque 10 Go dont 4 Go dans /var ...
Affaire réglée.
Le bon nommage des variables !
Problème de touches du clavier sous zsh ?
Aujourd'hui, je me démaquille devant mon fils de 4 ans, qui me demande ce que je fais. Je lui explique que j’enlève le maquillage de mon visage. Il hurle : "Ah non, surtout pas maman, tu va être moche après." VDM
4 erreurs parmi les plus courantes que l’on peut commettre en programmation C :
1 - Ne pas libérer la mémoire malloc allouée dynamiquement (ou la libérer plus d'une fois)
2 - Lire un tableau en dehors des limites
3 – Ne pas vérifier les résultats de malloc
4 – Utiliser void* pour les pointeurs génériques vers la mémoire
5 conseils pour éviter ces erreurs :
1 - Structurer les programmes de manière à ce que la propriété de mémoire reste claire
2 - Utiliser les options du compilateur C pour se prémunir des problèmes de mémoire
3 - Utiliser Cppcheck ou Valgrind pour analyser le code C afin de détecter les fuites de mémoire
4 - Automatiser la gestion de la mémoire C avec un ramasse-miettes
5 – Ne pas utiliser le C si un autre langage fait l'affaire