Comment dompter la hauteur de ligne en CSS - Grafikart

Comprendre les polices de caractère, le line-height et pourquoi ça fait chier en CSS...

solutions :

  1. text-box-trim 👍 résout le pb - 👎 pas supporté
  2. réduire les marges 👍 fonctionne - 👎 pas propre et très empirique
  3. marges négatives 👍 résout aussi le pb sans être sale - 👎 nécessite l'utilisation d'une app de calcul



Fix Ubuntu and other Linux slow/hanging file copying via USB. · GitHub

Copicollage:


If your running a x64 bit Ubuntu or other Linux and find USB transfers hang at the end apply this fix:

echo $((16*1024*1024)) > /proc/sys/vm/dirty_background_bytes
echo $((48*1024*1024)) > /proc/sys/vm/dirty_bytes

I suggest you edit your /etc/rc.local file to make this change persistant across reboots.

sudo nano /etc/rc.local

Go to the bottom of the file and leave a space then paste in those two lines.

Save the file with ctrl + x then press y.

To revert the changes enter this in console and remove the lines in /etc/rc.local

echo 0 > /proc/sys/vm/dirty_background_bytes
echo 0 > /proc/sys/vm/dirty_bytes

More info and references: https://unix.stackexchange.com/questions/107703/why-is-my-pc-freezing-while-im-copying-a-file-to-a-pendrive/107722#107722

Wine [Wiki de sebsauvage.net]

Tout ce qu'il faut pour Wine sous linux... Merci qui ?

Non... Merci Sebsauvage !

EDIT: autre astuce https://sebsauvage.net/links/?jXPkRw

Vous avez un jeu qui ne veut pas démarrer, ou alors il a des performances lamentables ? Truc tout bête : Essayez d'ajouter dans la ligne de commande -dx11 ou -dx12 pour forcer l'un ou l'autre. Explications : DirectX 12 a une architecture dramatiquement différente de DirectX 11. Selon votre carte graphique, ça peut passer plus ou moins bien. Il se trouve que les jeux développés avec Unreal Engine et Unity supportent ces options, même si cela n'est pas mentionné dans la documentation des jeux. Ça aide aussi sous Linux dans Wine ou Proton/Steam.

Developer Tools secrets that shouldn’t be secrets | Christian Heilmann [MAJ]

Donc, pour résumer:

  • pour avoir le nom des variables avec leur valeur, utiliser { }: console.log({var})
  • console.warn(), console.error() et console.info() pour différencier l'aspect du message.
  • console.assert(condition,retour) pour éviter un if (condition){console.log(retour)
  • console.trace() pour remonter la pile d'appels
  • console.time('etiquette') et console.timeEnd('etiquette') pour mesurer un temps d'exécution entre deux points
  • console.group('nom'), console.groupCollapsed('nom') et console.groupEnd('nom') pour regrouper des console log()
  • console.table(array) pour présenter les données sous forme de tableau
  • console.dir(array) pour présenter hiérarchiquement un tableau
  • $(selecteur) est équivalent à document.querySelector(selecteur)
  • $$(selecteur) est équivalent à document.querySelectorAll(selecteur)

Liste complétée avec https://dev.to/alishgiri/say-no-to-consolelog-556n

Via https://lehollandaisvolant.net/?mode=links

Astuce: Fusionner les fichiers vidéos d'un dossier avec ffmpeg en une ligne

Si jamais vous avez besoin de fusionner toutes les vidéos d'un dossier comme par exemple, je sais pas mais des épisodes de Kaamelott qui ont été distribués par épisode, voilà de quoi le faire en deux commandes sous linux:

Bouton droit dans le dossier et Ouvrir dans un terminal puis:

find -type f \( -name "*.mp4" -o -name "*.avi" -o -name "*.mkv" \) | sort | awk '{print "file " $0}' > liste.txt

puis

ffmpeg -f concat -safe 0 -i liste.txt -c copy sortie.mp4

La première commande crée un fichier contenant tous les fichiers vidéos du dossier ordonnés par ordre alphabétique et précédés de «file »

La seconde fournit cette liste à ffmpeg qui se charge de générer un fichier vidéo avec...

Bien entendu, on peut enchaîner les deux commandes en une seule ligne:

find -type f \( -name "*.mp4" -o -name "*.avi" -o -name "*.mkv" \) | sort | awk '{print "file " $0}' > liste.txt && ffmpeg -f concat -safe 0 -i liste.txt -c copy sortie.mp4

Cela va de soi, je présuppose que ffmpeg est installé sur votre ordi, sinon sudo apt-get install ffmpeg

EDIT (wink JerryWham )

Histoire d'automatiser un peu le tout, on peut en faire un script pour Nemo ou Caja sous linux :

1. créer un fichier txt contenant le script:


#!/bin/bash

find -type f ( -name ".mp4" -o -name ".avi" -o -name "*.mkv" ) | sort | awk '{print "file " $0}' > liste.txt && ffmpeg -f concat -safe 0 -i liste.txt -c copy sortie.mp4

2. Coller le fichier dans le dossier script:

  • Pour Nemo : ~/.local/share/nemo/scripts
  • Pour Caja : ~/.config/caja/scripts

3. Rendre exécutable

En ouvrant un terminal dans ce dossier et en faisant un piti :


~/.config/caja/scripts$ chmod +x *

4. Utiliser le nouveau script !

Capture du 2024-06-14 09-50-58.webp

Pense-bête installation de Linux Mint 21.3

Ma version à jour de la page de Timo et de Sebsauvage

Update de la distro

sudo apt update && sudo aptitude safe-upgrade

Install des derniers kernels

Capture du 2023-08-07 14-45-17.png

Capture du 2023-08-07 14-45-44.png

Installer les pilotes

Install des logiciels & environnements

sudo apt-get install apache2 php libapache2-mod-php php-json php-zip php-gd php-sqlite3 php-curl php-mbstring php-xml php-imagick sqlitebrowser gparted filezilla python3 sublime-text vlc kdeconnect syncthing gimp default-jre

Désinstaller logiciels inutiles

sudo apt purge hexchat hexchat-common libespeak1 libsonic0 libspeechd2 python3-speechd speech-dispatcher speech-dispatcher-audio-plugins gnome-orca mate-screensaver mate-screensaver-common brltty mono-runtime-common avahi-daemon xscreensaver-data-extra xscreensaver-data xscreensaver-gl-extra xscreensaver-gl java-common icedtea-netx-common pix pix-data onboard timeshift 

configurer PHP

éditer php.ini

Le fichier se trouve dans /etc/php/NUMERO DE VERSION PHP/apache2/php.ini. Soit on l'ouvre via le terminal, soit on utilise l'éditeur de son choix.

On édite les lignes suivantes:

post_max_size = 20M
upload_max_filesize = 1000M
error_reporting = -1
display_errors = On
zend.multibyte = On

Pour limiter le nombre de processus de php, on ajoute à la fin

<IfModule mpm_prefork_module>
    StartServers          2
    MinSpareServers       1
    MaxSpareServers       3
    MaxClients           12
    MaxRequestsPerChild   3
</IfModule>

Déplacer www de var vers Home

mkdir ~/www && mkdir ~/www/html && sudo chmod 777 ~/www && sudo mv /var/www /var/www_old && sudo ln -s ~/www /var/www

fin

Puis, on relance le serveur: sudo service apache2 restart

Réglages divers

  • Activer les canaux Européens pour le wifi : sudo iw reg set FR
  • Résoudre le problème de décalage de l'heure en dual boot: timedatectl set-local-rtc 1 # mettez 0 pour la remettre sur UTC
  • Raccourcis claviers:
    • windows+E pour lancer caja: dans raccourcis clavier, chercher «dossier personnel» et redéfinir le raccourci
    • redéfinir la capture d'écran pour avoir le menu sa ns faire de capture direct: dans raccourcis clavier, créer un nouveau raccourci, dans la commande tapermate-screenshot --interactive (pour mate ou gnome-screenshot --interactive pour cinnamon) puis ré assigner le raccourci prtScr.
  • en cas de souci avec la touche verr maj:
    • sudo apt install numlockx
    • Centre de contrôle > Fenêtre de connexion > Options, cocher Activer NumLock.
  • sur portable, pour allonger l'autonomie: sudo apt install tlp

Peugeot 1007 et portes sésame qui refusent de se fermer...

Il y a deux ans on avait acheté une petite Peugeot 1007 comme première voiture pour mes enfants qui passaient le permis... Une petite citadine facile à garer et à conduire.

Ces voitures ont des portières sésame : elles s'ouvrent latéralement en glissant sur le côté du véhicule...

Hier soir, appel paniqué de mes gamins parce que la portière passager refusait de se fermer: elle arrivait en bout de course de fermeture puis repartait dans l'autre sens directement. Même la fermeture à la main, en forçant comme un babouin, ne fonctionnait pas car la portière refusait de se verrouiller. Ils rentrent donc en tenant la portière et accompagné par le bip persistant d'une voiture scandalisée par le fait qu'ils roulaient la portière ouverte.

Après une recherche sur le net, j'ai pu constater que c'est un problème assez répandu sur ces voitures et qu'il y a plusieurs origines possibles au souci, à commencer par une baisse de tension de la batterie qui entraîne un genre de bug: il faut alors réinitialiser le système en débranchant la batterie et en refermant la porte à la main... Donc, un bug peut t'empêcher de fermer la portière de ta bagnole. J-O-I-E

Une fois la batterie rechargée et rebranchée, le souci persiste et la portière refuse même carrément de bouger quand on appuie sur le bouton de fermeture...

Origine réelle et solution

Comme je suis du genre têtu, je passe en mode y-connaît-pa-raoul et je vérifie tout ce qui me vient à l'esprit: fusibles, propreté des glissières, machins divers qui obstrueraient le passage... Rien.

Je me rends alors compte que les poignées côté passager sont toutes molles alors que du côté conducteur - où la porte fonctionne - il y a une tension normale et ferme.

PXL 20240224 080907474.webp

Je démonte les caches de poignée des deux côtés en faisant levier avec un tournevis et je découvre que d'un côté il y a une sorte de piston qui est resté enfoncé vers l'arrière. Je prends une pince, je le débloque et il reprend tout seul sa position normale qui est celle-ci ⬇

PXL 20240224 080730785.webp

La poignée est bien redevenue dure. Je referme la porte à la main et appuie d'un coup d'épaule pour la pousser contre la voiture et provoquer la fermeture... un bruit de moteur électrique verrouillant la porte me récompense immédiatement.

Quand j'appuie sur le bouton d'ouverture, la portière s'ouvre et se ferme normalement.

ConclusionS

  1. les peugeot 1007 ont des portières de merde
  2. mettre de la technologie et de l'électronique là où elle n'est pas indispensable s'avère contre-productif et fragile
  3. si vous avez le problème, vérifiez la dureté des poignées avant d'aller plus loin, vous gagnerez du temps
  4. utilisez les boutons et pas les poignées pour ouvrir et fermer les portières
  5. essayez de ne pas vous retrouver enfermé dedans avec les portières qui merdent.

CSS - 5t3ph@front-end.social - I'm not sure enough folks realize that :is()/:where(), and :not() can check _ancestor_ and _previous sibling_ conditions.p:is(h2 + *) = paragraphs that are directly after an h2p:not(blockquote *) = paragraphs that are not within blockquotesI've used these techniques to simplify what would otherwise be rather unmaintainable selectors or may have previously required additional conditional classes.https://codepen.io/5t3ph/pen/KKEmMXR

Pas mal cette astuce ! On peut avoir des conditions qui prennent en compte un élément parent ou un élément frère pour cibler un élément...

  • p:is(h2 + *) : seulement les paragraphes directement après un H2
  • p:not(blockquote *) : les paragraphes ne se trouvant pas dans des blockquotes...

Ça peut carrément simplifier certains cas !

Astuces & liens pour HTML, JS et toussa

Petite liste tirée des RSS que je suis en ce moment.

How can I listen for a click outside of an element in JavaScript? - 30 seconds of code

Pour écouter un click hors d'un élément, on utilise l'event delegation: on vérifie si la target de l'event correspond ou pas à l'objet qu'on veut.

  document.addEventListener('click', e => {
    if (!element.contains(e.target)) callback();
  });
};
onClickOutside('#my-element', () => console.log('Hello'));
// Will log 'Hello' whenever the user clicks outside of #my-element

How can I listen for an event only once in JavaScript? - 30 seconds of code

Tiens, je ne savais pas qu'addEventListener acceptait des paramètres en option, en particulier un { once : true} qui permet de n'exécuter la fonction attachée à l'évènement qu'une seule fois...


const listenOnce = (el, evt, fn) =>
  el.addEventListener(evt, fn, { once: true });

listenOnce(
  document.getElementById('my-btn'),
  'click',
  () => console.log('Hello!')
); // 'Hello!' will only be logged on the first click

Windows 11 sans aucun logiciel préinstallé, c'est possible ! - Les Numériques

Bonne astuce pour éviter tout le crapware windaubien lors de l'installation: sélectionner une localisation farfelue et win ne peut plus déterminer quelle suite logicielle installer.

C'est quand-même très très con...

capture

Via https://www.la-pub-dans-les-films.fr/shaarli/?IeFaMQ

Lire vos ebooks comme si c’était des vieux livres

Wow, sympa ça ! Je teste de suite ! Je me demande ce que ça donnerait avec la fonte Old Newspaper Types (https://www.dafont.com/fr/oldnewspapertypes.font?fpp=200&a=on)

[EDIT] Pas moyen de faire appliquer les fontes proposées par le site toutefois, la old newspaper fonctionne bien :

IMG 20230824 155716.webp

En tout cas, merci copain !

Fil RSS des articles
Caching time 0.005500 s