MAJ : Liste de liens de téléchargement [Juin 2024]

Certaines adresses peuvent être bloquées par les DNS, deux solutions simples s'offrent à vous: changer les DNS ou alors installer opera et utilser le VPN intégré.

🤩 Méthodes alternatives

Merci à :

aqua pour sa vigilance et ses ajouts !

Ouahouah et à sa liste perso : https://www.ouahouah.eu/links/shaare/1JdD5Q

Liste non exhaustive: N'hésitez pas à poster des alternatives (réelles) dans les commentaires.

Via https://fulldeals.fr/tirexo-quelle-adresse-officielle-site-streaming-gratuit/


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

Etienne Ledoré ⏚:

Je pose une copie ici, c'est beaucoup trop drôle... (en particulier le moment où il prend conscience de ce qu'il dit et ne discerne aucun moyen de s'en sortir...)

Du coup, j'en ai fait un meme, servez-vous: le dupont moretti format !

meme-quand tu viens de dire une connerie devant toute la classe.webp

Hé, Dupont&dupond moretti, si t'as besoin de réviser les bases, soit tu viens en groupe de niveau faible avec nous soit tu regardes une petite «capsule» video: https://www.youtube.com/watch?v=Ekli0Hf6Ad4

Baltringue...

Des patients en psychiatrie privés de sortie pendant le passage de la flamme olympique à Nantes - Choses vues, sur le web et ailleurs

  1. Culte obsessionnel d'un symbole vantant la compétition et la supériorité d'un individu
  2. Obsession pour des jeux basés sur cette supériorité avec tout le symbolisme nauséabond sous-jacent
  3. Volonté de cacher, invisibiliser ou chasser tous ceux qui ne correspondent pas à ce modèle donc inférieurs
  4. Usage de termes allant dans ce sens, comme "premier de cordée" ou "ceux qui ne sont rien" par exemple
  5. Amalgames, généralisation de cas particuliers, victimisation et utilisation de la peur pour écarter ce qui est perçu comme le non soi
  6. Désignation officielle d'un ennemi commun
  7. Utilisation, que dis-je, instrumentalisation de la violence policière pour empêcher la contestation
  8. Refus systématique d'écouter la voix du peuple, même quand on lui a demandé son avis.
  9. Infantilisation du peuple et paternalisme.
  10. instauration d'une surveillance permanente de tout le monde en légitimant cette «nécessité» grâce à la peur instaurée au point 5
  11. recours à l'état d'urgence pour institutionnaliser ces mesures de surveillance
  12. grande sévérité avec les opposants politiques - même pacifiques - et grande tolérance vis-à-vis des «militants» proche de son camp - même violents ou menaçants (néonazis marchant en ordre serré dans la rue ou groupes policiers menaçant d'un coup d'état par exemple)
  13. détournement des institutions afin de contourner les outils de la démocratie et faire passer des lois dont personne ne veut (49.3 par exemple)
  14. chef d'état à l'ego démesuré qui empiète sur toutes les décisions à tous les niveaux

(Liste non exhaustive...)

Ça me rappelle quelque chose... Mais quoi?!

ASTUCE Html & JS : détecter quand on sélectionne un élément d'une datalist

En bossant sur l'appli que j'utilise pour mes cours, j'ai voulu ajouter un accès rapide à un document en tapant le début du nom de dossier dans un input alimenté par une datalist.

Bien entendu, je veux éviter de devoir passer du clavier à la souris plusieurs fois : tape un bout du nom, clique pour sélectionner, appuie sur entrée pour valider...

Donc, il faudrait que la sélection et l'ouverture du document se fasse:

  • quand je tape un bout de nom et que j'appuie sur entrée (il ira chercher le premier de la liste)
  • quand je tape le début, que j'utilise les flèches pour aller chercher celui que je veux et que j'appuie sur entrée,
  • quand je tape le début et que je clique sur le nom du document qui m'intéresse.

Et là, c'est le drame

En effet, autant on peut capturer un évènement sur un input, autant ce n'est pas possible sur les option ou le datalist

Donc, il faut gruger et agissant sur les events de l'input.

Je mets ici ma solution actuelle (c'est le code que j'utilise avec mon framework js perso parce que j'ai la flemme de changer ):

<input type="text" placeholder="accès rapide à un document" list="docs_list" id="input_docs_list">
<datalist id="docs_list">
    \\ici les option qui vont bien
</datalist>

<script type="text/javascript">
    on('keydown','#input_docs_list',function(e){ // ça, c'est mon VanillaJS
        if(e.keyCode==13||!e.key){ 
            // si on a appuyé sur entrée ou que l'évènement n'est pas déclenché par une touche (donc, c'est la souris)
            window.location.replace("?"+e.target.value);
        }
    });

    on('input','#input_docs_list',function(e){
        // celui-ci est pour firefox
        if(e.inputType=='insertReplacementText'){
            window.location.replace("?"+e.data);
        }
    })
</script>

J'ai testé sous Firefox, Chromium et Edge...

https://api.warriordudimanche.net/avatrine/

Après avoir commis BadGit, j'ai récidivé cet aprème avec Avatrine... qui génère un avatar sous forme de lettrine à fond de couleur.

Mais pourquoi me direz-vous ?

Parce que :

  1. j'ai trouvé ça joli quand je l'ai vu je ne sais plus où
  2. j'aime bien faire joujou avec Imagick
  3. je fais ce que je veux

Les paramètres

  • str: la chaîne
  • [color]: la couleur de fond (calculée par défaut avec un hash de la chaîne)
  • [sz]: la taille, 128 par défaut

Pour faire simple

En gros, vous lui passez une chaîne de caractères, genre un pseudo par exemple, et il crée une image avec la première lettre du pseudo sur un fond dont la couleur dépend de la chaîne. Et il fait une rotation de 30° (valeur totalement empirique trouvée au doigt mouillé) sur la lettre pour que ce soit plus joli.

Des exemples

?str=Bronco
?str=Bronco&color=red
?str=Bronco&color=blue&sz=256
?str=Jerrywham&sz=256
?str=Sammyfisher&sz=256

Conclusion

Je sais que j'ai déjà fait des générateurs d'avatars... ( voir sur la page d'API https://api.warriordudimanche.net ROR et Avatomic )

avatar (Ror)
avatomic
et que celui-ci ne servira probablement pas plus que les autres mais bon... c'est cadeau quand même !

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 sqlite php-curl php-mbstring php-xml php-imagick sqlitebrowser gparted filezilla python3 sublime-text vlc kdeconnect syncthing gimp

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

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 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

#HELP ? Conseil pour un portable Linux

Salut les copaines !

Après mes déboires avec mon ordi portable, je sens que je vais devoir le changer...

Afin de m'éviter des maux de têtes à venir, je cherche un pc:

  • 🔴 compatible linux (mint/debian)
  • 🔴 Ram 16Go
  • 🔴 15p pour le pavé numérique
  • 🔴 plutôt léger (autour d'1,5 kg)
  • 🟠 si possible un clavier rétroéclairé

Je ne compte pas spécialement jouer avec donc pas besoin de carte graphique dédiée.

J'ai trouvé un lenovo sur https://linuxshop.fr/ordinateur-portable-linux/84-1188-lenovo-15p-r7-15-pouces-amd-ryzen-7-5700u-ram16go-ssd512go.html#/1-distribution_linux-ubuntu_2404_lts_recommande

Il est un peu cher mais bon, c'est mon anniversaire et j'ai l'autorisation de madame !

Seul bémol, pas de rétroéclairage du clavier (très utile pour coder)

Des conseils (sur ce modèle ou un autre) ?

Merci les copaines !

(...)

Apprendre le PHP : Grafikart - Notes diverses

Comme je ne suis pas chez moi, je profite du fait d'avoir plus de temps pour picorer les videos de Grafikart, toujours aussi pertinentes et compréhensibles. Je me note donc ici quelques astuces intéressantes...

Les fonctions anonymes : https://www.youtube.com/watch?v=xJLwegBM64k

Je connaissais sans tellement les utiliser en PHP à cause du point suivant

utiliser une variable hors scope à l'intérieur de la closure...

où comment Bronco a découvert «use»

$closure=function ($arg1,$arg2) use ($var_exterieure){
    #come on, do something
};

Le routeur : https://www.youtube.com/watch?v=tbYa0rJQyoM

La base : une seule variable $_GET

Comme l'URI ne sera pas complexe, on utilise $_SERVER['REQUEST_URI'] pour déterminer une page à charger à la place d'une variable $_GET un peu moche et sans passer par de l'URLrewriting...

On passerait de ça serveur.com/index.php.p=contact

if ($_GET['p']==='contact'){
    require('contact.php');
}

à server.com/contact

if ($_SERVER['REQUEST_URI']==='/contact'){
    require('contact.php');
}

A intégrer dans mon Helium pour la récup de la page demandée ?

Plus complexe : plusieurs variables $_GET

Il utilise une classe routeur ce qui me donne envie d'essayer d'en faire une simplifiée moi-même afin de pouvoir faire par exemple:

$routeur->toGet('page/user'); pour récupérer dans la variable $_GET les infos de l'URI serveur.com/contact/bronco

👍 glopglop : c'est élégant et propre, on peut injecter les données extraites de l'URI dans la variable $_GET afin d'éviter de modifier trop profondément la logique d'une appli existante.

👎 pasgloppasglop : avec ce système, les infos doivent absolument être dans l'ordre attendu ce que n'impose pas l'usage de $_GET



Fil RSS des articles