BlogoGeek

Mon blog fourre-tout de geekeries, tuto, script, culture, ...

Aucun commentaire

Je viens de me demander à l'instant, pendant l'update de mes 2 seuls applications installées via Snap sur mon Ubuntu, pourquoi je déteste snap et tente à tout prix d'éviter d'installer quoi que ce soit via cette méthode.
J'ai donc googlé ma question pour savoir si d'autres se la posaient et la 1ère réponse, sur reddit, a confirmé tout le bien que je pensais de ce packager :

The snap back end (snap store) is still proprietary and only controlled by Canonical/Ubuntu.
Canonical has also been forcing snaps instead of regular apt packages on Ubuntu, which is incredibly annoying as snaps have a larger footprint and run slower.

EDIT: Developers keep packaging their apps as snaps because Ubuntu is by far the most popular distro out there.
Their life gets easier if they follow the Ubuntu standards.
Flatpak isn't as popular merely because the distros that enforce it aren't as popular as Ubuntu.

Désinstaller les packages snap
Commencez par listez les packages installé avec

snap list

Supprimez ceux que vous voulez

snap remove --purge PACKAGE

Et si ils font des snapshots :

snap saved
snap forget PACKAGE

Conclusion
Snap : ça pue !


Sources
https://www.reddit.com/r/linux/comments/j3ajnf/whats_wrong_with_snaps_why_so_many_people_hate_it/
https://askubuntu.com/questions/1283423/is-it-safe-to-delete-var-lib-snapd-snapshots

Aucun commentaire

Saloperie de Windows 10 de caque !!!
Qu'est-ce que tu m'installe ça de ton plein gré, déjà ? Alors que j'ai désactivé toutes les MAJ ??
Et pourquoi je ne peux pas le supprimer/désactiver facilement, en pressant Delete ou Uninstall ??

Bref, trêve de ronchonages et supprimons cette merde.

Copiez ce bout de code dans un fichier texte que vous renommerez en QQCH.reg

Windows Registry Editor Version 5.00

[HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\HideDesktopIcons\NewStartPanel]
"{2cc5ca98-6485-489a-920e-b3e88a6ccce3}"=dword:00000001

ou téléchargez directement le fichier ici et executez-le : remove_learn-about-this-picture_win10.reg
Puis redémarrez votre ordinateur.

Attention, chez moi ça a réinitialisé tous les icônes sur le bureau.

Tâchez de sauvegarder leur position si cela vous importe.
Je vous recommande l'exellent logiciel Display Fusion qui propose tout un tas de fonctionnalités super cool, comme justement sauvegarder vos icones dans différents profils (si vous connectez/déconnectez régulièrement un écran par ex), gère les fonds d'écrans multiple, garde un historique de votre presse-papier et propose de redéfinir tout un tas de raccourcis Windows.


Sources
https://www.elevenforum.com/t/add-or-remove-learn-more-about-this-picture-desktop-icon-in-windows-11.7137/

Aucun commentaire

Encore une petite fonction à ajouter au .bashrc

backup()
{
    file="$1"

    if [ ! -f "$file" ]; then
        echo "Erreur: Le fichier $file n'existe pas"
    else
        if [[ "$2" == "-d" || "$2" == "--date" ]]; then
            backup="$file.bkp-$(date +"%Y.%m.%d-%H-%M-%S")"
        else
            backup="$file.bkp"
        fi
        
        echo -e "Backing up $file to $backup"
        cp --archive "$file" "$backup"
    fi
}

Utilisation :

backup fichier # Duplique le fichier avec l'extension ".bkp"
backup fichier -d # Ajoute la date dans le nom du backup
backup fichier --date # idem

Aucun commentaire

Une nouvelle petite fonction pratique à ajouter à votre trousseau virtuel (dans votre .bashrc par exemple)

Regardons la tailles du dossier

ls -alh
total 10.7M
-rwxr-xr-x  1 user user 4.0M May 31 17:10 IMG1.jpg
-rwxr-xr-x  1 user user 2.7M May 31 17:10 IMG2.jpg
-rwxr-xr-x  1 user user 4.0M May 31 17:10 IMG3.jpg

Copiez ce bout de code dans le bashrc

vi ~/.bashrc
resizePictures()
{
    path=${1:-.}
    size=${2:-800x600}
    
    echo -e "Images found in \"$path\" : " $(ls -1 $path/*.jpg $path/*.png $path/*.jpeg 2>/dev/null | wc -l)
    for img in $path/*.{jpg,jpeg,png}; do convert "$img" -resize $size "$img"; done
    
    nautilus $path &
}

N'oubliez pas de le sourcer puis testez la fonction

source ~/.bashrc
resizePictures . 50x50
ls -alh
total 750k
-rwxr-xr-x  1 user user 262K May 31 17:12 IMG1.jpg
-rwxr-xr-x  1 user user 262K May 31 17:12 IMG2.jpg
-rwxr-xr-x  1 user user 262K May 31 17:12 IMG3.jpg

ImageMagick
Pour installer convert, qui fait partie du package ImageMagick, vous pouvez utiliser la commande suivante avec apt :

sudo apt update
sudo apt install imagemagick

Si vous préférez utiliser GraphicsMagick (qui fournit aussi la commande gm convert), utilisez la commande suivante :

sudo apt install graphicsmagick

Aucun commentaire

La commande SSH permet de se connecter à un serveur distant via internet.
SSHRC s'installe comme un wrapper et va copier des fichiers de config à la volée de votre machine locale (où vous exécutez la commande ssh ou sshrc) et le serveur.

Plus précisément, elle va copier le contenu du dossier ~/.sshrc.d de votre machine locale vers le serveur dans /tmp/.VOTRE_NOM_QQCH
Créez donc sur votre machine locale des liens symboliques vers votre .bashrc et autres fichier à synchroniser dans ce dossier, moi j'ai ajouté une config pour docker.
.sshrc.d/

  • .bashrc
  • .docker-config.json

ln -s ~/.bashrc ~/.sshrc.d/.bashrc
ln -s ~/.docker/config.json ~/.sshrc.d/docker-config.json

Une fois connecté à votre serveur le fichier .sshrc sera executé.
On va donc sourcer les fichiers de config et effectuer quelque manip' de sécurité

.sshrc

# Your local .bashrc file has been sent to the server in "/tmp/.$USER.$SOMETHING"
# So we source it from there.
source /tmp/.$USER.sshrc.*/.sshrc.d/.bashrc && \
echo -e "Your custom .bashrc file has been sourced from \"$(echo /tmp/.$USER.sshrc.*/.sshrc.d/.bashrc)\""

# Create a standard home docker config folder
# and copy the config file in it
mkdir -p /home/$USER/.docker/ && \
    cp /tmp/.$USER.sshrc.*/.sshrc.d/docker-config.json /home/$USER/.docker/config.json && \
    echo -e "Your custom docker config file has been copied into \"/home/$USER/.docker/config.json\""

# Show some security reports
echo -e "\n${SUPERRED}***********************************${NC}"
echo -e "${SUPERRED}*${NC} ${RED}    /!\ SECURITY REPORT /!\    ${NC} ${SUPERRED}*${NC}"
echo -e "${SUPERRED}***********************************${NC}\n"

echo -e "\n * LASTLOG : lastlog -b 1 | grep -iv never"
lastlog -b 1 | grep -iv never

echo -e "\n\n * LAST : last -aiF | grep -v $USER"
echo -e "if strange user, run : sudo lastb -adF SUSPICIOUS_USER"
last -aiF | grep -v $USER

echo -e "\n\n * JOURNALCTL : sudo journalctl _SYSTEMD_UNIT=sshd.service | grep error"

i

Bonus : Enjoliver les réponses de Docker

vi /home/$USER/.docker/config.json
{
  "psFormat": "table {{.Names}}\\t{{.Status}}\\t{{.Image}}\t{{.Size}}"
}

i

Aucun commentaire

Voici quelques astuces pour bloquer la majorités des pubs affichables sur smartphone Android sans sacrifier trop de fonctionnalités.

Désactiver le Wi-Fi
Pour les applications où jeux hors-ligne, désactiver le Wi-Fi et la 3G suffit à vous affranchir de toute publicité.
Il est par exemple possible d'utiliser l'excellent RecetteTek en mode offline et profiter de 95% de l'application comme ça. Vous ne devrez ré-activer le Wi-Fi que si vous souhaitez importer une recette depuis le net.

DNS bloqueur de pub
Il est possible de faire sauter cette dernière restriction en utilisant un DNS bloqueur de pub.
Pour cela allez dans les paramètres de votre téléphone, rechercher DNS et sélectionnez DNS privé ou Private DNS dans la catégorie Connection.
Sélectionnez Designated private DNS et entrez

dns.adguard.com

.
Cela vous permettra de lancer les jeux et les applications avec le Wi-Fi activé et de tout de même filtrer les pubs.
Attention, certaines appli mal codées peuvent planter si elle n'arrivent pas à charger la pub.
Et pour les même raison, si vous demander à un jeu d'afficher une pub (pour gagner de l'or par exemple) cela ne va pas fonctionner.



Adblock ou Broswer anti-pub
Utilisez un navigateur bloqueur de pub comme Brave ou installer les plugins "Adblock Plus" et "uBlock Origin" sur votre navigateur, pour autant qu'il soit compatible.

2 commentaires

Installer le serveur Valheim (headless)

Installez SteamCMD

Ouvrez une invite de commande et lancez steamcmd.exe
puis exécutez les commandes suivantes (adaptez le chemin du dossier d'installation) :

force_install_dir C:\valheim_server
login anonymous
app_update 896660 validate
exit

Modifiez C:\valheim_server\start_headless_server.bat

valheim_server -nographics -batchmode -port 2456 -name "Nom de votre Monde" -world "nom-du-fichier-de-sauvegarde" -password "UN BON PASSWORD" -public 0 -preset normal

Lancez le bat :

exec C:\valheim_server\start_headless_server.bat

Source
https://blog.maxds.fr/creer-et-automatiser-un-serveur-steam-cmd/
https://www.rockpapershotgun.com/valheim-how-to-set-up-a-dedicated-server#:~:text=To%20join%20a%20Valheim%20dedicated,Port%2C%20separated%20by%20a%20colon.
Fichier PDF dans C:\valheim_server\Valheim Dedicated Server Manual.pdf

Installer des mods

Commencer par installer BepInEx à la racine du serveur, c'est le gestionnaire de mods.
Puis dézipper les mods dans BepInEx ou BepInEx\plugins (dépend du mod)

Liens
https://github.com/BepInEx/BepInEx.ConfigurationManager/releases/tag/v16.1
https://www.nexusmods.com/valheim/mods/2323?tab=files
https://www.nexusmods.com/valheim/mods/104?tab=files
https://valheim.thunderstore.io/package/QoLTeam/QualityOfLife/

Aucun commentaire

Une promo Migros propose le robot tondeuse Sileno city 600 m² à 600.- au lieu de 1'000.-

Recherches de reviews rapides (environ 8) : notes allant de 3.5 à 4.5 / 5

Un seul résultat sur TopPreise. Un vendeur mal noté le vend à 874.-

Google propose quelques site suisse qui le vendent de 600.- à 1'000.-

Le test avec la moins bonne note donne déjà envie.

At $800, it’s the most affordable model we’ve tested and it did a great job of keeping my lawn looking well manicured in testing.

PROS

  • Reasonably priced
  • Good cutting performance
  • Quiet operation

CONS

  • Lacks GPS and Wi-Fi
  • No remote steering

Un 2ème test positif.

If you always want to keep your garden tidy and well-maintained and are looking for a smart as well as reliable robotic mower, the Gardena Sileno City 600 is the right choice. The robotic mower reliably trims the grass short and offers numerous practical features to program different schedules or areas. In addition, the robot mows impressed me as it worked in a very quiet manner, and was practically inaudible from a distance of 20 meters.

However, when it comes to challenging terrain and obstacles, the robotic mower then has a tendency of getting stuck. It is also too possible to run over small stones or damage other items that are left lying around. It would have been nice if the Gardena Sileno City had an optical obstacle detection system in addition to a more accurate GPS and compass.

EDIT
On l'a acheté Yapluka l'installer.

Aucun commentaire

Voici un petit script (enfin, un cron) qui permet de sauvegarder automatiquement vos bases de données (légères !) dans leur repository github associé.
Le scénario est le suivant : vous avez 3 sites différents dans /var/www/html : site-1, site-2 et site-3
Ils ont chacun leur repo git associé.
Nous allons créer un dossier backup dans chaque repo et créer une tâche récurente (crontab) qui va sauvegarder les bases de données dans le repo, de la manière suivante .

  • Créer un dump de la base du site-1 dans le dossier backup correspondant.
  • Appliquer les droits www-data au dump
  • Commiter le dump

Créez les dossiers de backup

mkdir -p /var/www/html/site-1/backups/
mkdir -p /var/www/html/site-2/backups/
mkdir -p /var/www/html/site-3/backups/
mkdir -p /var/www/html/backups/

Passez en root pour modifier le crontab

sudo su -
crontab -e

Ajoutez chaque site à sauvegarder, modifier l'heure (les 2 premiers paramètre, ici minuit) et le jour (le dernier paramètre, dimanche était le jour 0)

# Site 1 is backuped every Monday
0 0 * * 1       cd /var/www/html/site-1 && git pull && mysqldump --user=site-1-user --password="xxx" site-1-db > /var/www/html/site-1/backups/site-1-db_backup.sql && chown -R www-data:www-data /var/www/html/site-1/backups/ && git add ./backups/site-1-db_backup.sql && git commit -m "automatic backup of site-1" && git push

# Site 2 is backuped every Wednesday
0 0 * * 3       cd /var/www/html/site-2/ && git pull && mysqldump --user=site-2-user --password="yyy" site-2-db > /var/www/html/site-2/backups/site-2-db_backup.sql && chown -R www-data:www-data /var/www/html/site-2/backups/ && git add backups/site-2-db_backup.sql && git commit -m "automatic backup of site-2-db" && git push

# Site 3 is backuped every Tuesday
0 0 * * 2       cd /var/www/html/site-3/ && git pull && mysqldump --user=site-3-user --password="zzz" site-3-db > /var/www/html/site-3/backups/site-3-db_backup.sql && chown -R www-data:www-data /var/www/html/site-3/backups/ && git add backups/site-3-db_backup.sql && git commit -m "automatic backup of site-3-db" && git push

# All sites are backuped every Sunday
0 0 * * 0       cd /var/www/html && git pull && mysqldump --user=root --password="xyz" --all-databases > /var/www/html/backups/root-db_backup.sql && chown -R www-data:www-data /var/www/html/backups && git add /var/www/html/backups/root-db_backup.sql && git commit -m "automatic backup of root-db" && git push

C'est tout. Le crontab n'a pas besoin d'être redémarré, il est immédiatement actif.

Aucun commentaire

Voici une marche à suivre simple pour configurer Apache avec deux noms de domaine et générer deux certificats SSL distincts :

Assurez-vous que la configuration de base d'apache contient le minimum :

vi /etc/apache2/apache.conf
    Include ports.conf # Numéros des ports sur lesquels il écoute (voir commande suivante)
    AccessFileName .htaccess # Active la configuration dossier par dossier avec les fichiers .htaccess
    IncludeOptional conf-enabled/*.conf # Configuration supplémentaire, rien à faire de notre côté
    IncludeOptional sites-enabled/*.conf # Liens symbolique sur les configurations des sites (voir plus bas)

Ecoutez sur le port 80 (HTTP) et 443 (HTTPS)

cat /etc/apache2/ports.conf
    Listen 80
    <IfModule ssl_module>
        	Listen 443
    </IfModule>

Configuration des Certificats SSL :
Utilisez l'outil de génération de certificats SSL, tel que Let's Encrypt, pour créer deux certificats distincts, un pour chaque nom de domaine.
Assurez-vous de spécifier les noms de domaine appropriés lors de la génération des certificats.

sudo certbot certonly -d site-1.ch
sudo certbot certonly -d site-2.ch

Cela va créer les 2 fichiers ssl (fullchain.pem et privkey.pem) dans /etc/letsencrypt/live/site-1.ch/ et site-2.ch.
Ils seront référencés dans les fichiers de configurations plus bas.

Configuration des Fichiers de Sites Virtuels :
Créez 1 fichier de configuration de sites virtuels dans le répertoire `/etc/apache2/sites-available/` (ou votre équivalent) pour chaque nom de domaine que vous souhaitez héberger, ainsi qu'un fichier de configuration de redirection http.
Assurez-vous de spécifier les paramètres appropriés pour chaque site, y compris le chemin vers les fichiers racine, les options de sécurité, etc.

# Redirige tous le traffic HTTP vers HTTPS
sudo vi /etc/apache2/sites-available/000-http-to-https.conf

<VirtualHost *:80>
	ServerAdmin webmaster@site-1.ch

	DocumentRoot /var/www/html

	RewriteEngine on
	RewriteCond %{SERVER_NAME} =site-1.ch
	RewriteRule ^ https://%{SERVER_NAME}%{REQUEST_URI} [END,NE,R=permanent]

	RewriteCond %{SERVER_NAME} =site-2.ch
	RewriteRule ^ https://%{SERVER_NAME}%{REQUEST_URI} [END,NE,R=permanent]
</VirtualHost>
# Configuration du site principal site-1.ch
sudo vi /etc/apache2/sites-available/000-site-1-ssl.conf

<IfModule mod_ssl.c>
<VirtualHost *:443>

	ServerName site-1.ch
	ServerAlias www.site-1.ch
	ServerAdmin webmaster@site-1.ch
	DocumentRoot /var/www/html

	Include /etc/letsencrypt/options-ssl-apache.conf

	SSLCertificateFile /etc/letsencrypt/live/site-1.ch/fullchain.pem
	SSLCertificateKeyFile /etc/letsencrypt/live/site-1.ch/privkey.pem

	# Any additional directives specific to site-1.ch can go here
</VirtualHost>
</IfModule>
# Configuration du domaine secondaire site-2.ch
sudo vi /etc/apache2/sites-available/000-site-2-ssl.conf

<IfModule mod_ssl.c>
<VirtualHost *:443>
        ServerName site-2.ch
        ServerAlias www.site-2.ch
        DocumentRoot /var/www/html

        Include /etc/letsencrypt/options-ssl-apache.conf
        SSLCertificateFile /etc/letsencrypt/live/site-2.ch/fullchain.pem
        SSLCertificateKeyFile /etc/letsencrypt/live/site-2.ch/privkey.pem
		
        # Any additional directives specific to site-2.ch can go here
</VirtualHost>
</IfModule>

Activation des Sites Virtuels :
Activez les sites virtuels en créant des liens symboliques vers les fichiers de configuration dans le répertoire `/etc/apache2/sites-enabled/` (ou votre équivalent).

cd /etc/apache2/sites-enabled
sudo ln -s ../sites-available/000-http-to-https.conf
sudo ln -s ../sites-available/000-site-1.conf
sudo ln -s ../sites-available/000-site-2.conf

A la place vous pouvez aussi utiliser la commande `a2ensite` suivie du nom de fichier pour chaque site.

Redémarrage d'Apache :
Une fois que vous avez terminé la configuration, redémarrez le service Apache pour appliquer les modifications.

sudo systemctl restart apache2

Aucun commentaire

Chers adeptes de la série télévisée française Kaamelott,

Si comme moi et mes amis, vous êtes de grands fans de la série Kaamelott et que vous ne pouvez vous empêcher de citer des blagues cultes de la série à tout bout de champ, alors j'ai quelque chose de spécial à vous présenter : KaamelottBot !

KaamelottBot est le compagnon parfait pour votre serveur Discord. Développé avec passion, ce bot vous permet de revivre les moments les plus hilarants de la série en un simple clic. Un grand merci à 2ec0b pour son dévouement à créer une soundbox bien organisée qui a rendu cela possible.

Que fait exactement KaamelottBot ?

Citations Audio de Kaamelott
Avec la commande

/kaamelott-audio [Texte:]

vous pouvez invoquer KaamelottBot pour qu'il cite une réplique culte de votre choix (ou au hasard) dans votre salon audio, où tous vos amis en profiterons.

Par exemple, tapez

/kaamelott-audio [Texte:] révolte

et laissez-vous emporter par le célèbre

Bon ben révolte ! TUUUUUUUUT !!

Gifs Animés de Kaamelott
En plus des citations audio, KaamelottBot peut également ajouter une touche visuelle à vos conversations avec la commande

/kaamelott-gifs

Si vous voulez jouer avec et amuser vos amis, rendez-vous sur mon GitHub où vous trouverez toutes les instructions pour installer le bot sur votre serveur.

Vous pouvez même forker le repo et faire tourner le serveur vous-même pour ne pas dépendre de pumbaa.ch

Vive Kaamelott et vive KaamelottBot !

Pumbaa, gracieusement aidé par ChatGPT.

Aucun commentaire

PUMBAA'S YOUTUBE PLAYLIST

Une liste de mes chaines de vulgarisation / information préférée.

PHYSIQUE

MATHÉMATIQUES / STATISTIQUES

HISTOIRE

PHILOSOPHIE

ASTRONOMIE

SCIENCES GÉNÉRALES

INFORMATIQUE

JEUX VIDÉO

JAPON

CULTURE

LANGUES

Aucun commentaire

Un bloggeur appelé Le Hollandais Volant* à fait une série de post de blog exposant les avantages des hybrides rechargeables (PHEV) et son expérience récente à l'achat d'un de ces véhicule.
Je dois dire que ses arguments sont assez convainquants, je ne m'étais jamais vraiment penché sur l'hybride mais je dois dire que maintenant je serais bien tenté d'essayer.

Quelques idées reçues à propos de la conduite électrique
https://lehollandaisvolant.net/?d=2020/11/27/19/27/03-quelques-idees-recues-a-propos-de-la-conduite-electrique

Est-il écologique de changer de voiture pour une voiture électrique ?
https://lehollandaisvolant.net/?d=2021/10/27/19/55/56-est-il-ecologique-de-changer-de-voiture-pour-une-voiture-electrique

Achat d’une voiture hybride rechargeable : c’est quoi et pourquoi ?
https://lehollandaisvolant.net/?d=2020/05/17/12/47/27-achat-dune-voiture-hybride-rechargeable-1-cest-quoi-et-pourquoi
https://lehollandaisvolant.net/?d=2020/05/24/12/38/26-achat-dune-voiture-hybride-rechargeable-2-la-hyundai-ioniq
https://lehollandaisvolant.net/?d=2020/05/24/12/39/39-achat-dune-voiture-hybride-rechargeable-3-sav-hyundai-clermont-ferrand-coup-de-gueule

* il a plein d'outils en ligne super pratiques (enfin, certains plus que d'autres)

Aucun commentaire

Même si votre shell doit s'afficher en couleurs il reste désespérément gris-moche en y accédant via Putty.
ALT_TEXT

Lancez Putty, allez dans les paramètres et cochez Allow terminal to use xterm 256 color
ALT_TEXT
Sauvez votre profile avec le nom de votre choix (ici Pumbaa)

Puis allez dans les paramètres de SuperPutty, sélectionnez le-dit profile
ALT_TEXT

Vérifiez que SuperPutty pointe vers les bon exécutables de Putty et Pscp
ALT_TEXT

TADAAAA !
ALT_TEXT


Source : https://superuser.com/questions/436910/emulate-256-colors-in-putty-terminal

Aucun commentaire

Regardons le début du fichier sshd_config :

head /etc/ssh/sshd_config

Port 9876
Port 1234

# Supported HostKey algorithms by order of preference.
HostKey /etc/ssh/ssh_host_ecdsa_key

On cherche les doublons :
awk 'NF && $1!~/^(#|HostKey)/{print $1}' /etc/ssh/sshd_config | sort | uniq -c | grep -v ' 1 '
2 Port

Il y a bien 2x la variable Port !
i

Source : https://github.com/pumbaa666/How-To-Secure-A-Linux-Server#secure-etcsshsshd_config

Aucun commentaire

Comment faire écrire un livre entier à ChatGPT par Underscore_

1:00

Ignore all instructions before this one.
You're [JOB].
You have been [DOING THING] for 20 years.
Your task is now [...]

2:20

You must ALWAYS ask questions BEFORE you answer so you can better zon in on what the questioner is seeking.
Is that understood ?

Engage une discussion avec un expert.

7:30

Let's think about [SUBJECT]

L'algo produira des résultats denses, longs et détaillés.

Ce qui se cache derrière le fonctionnement de ChatGPT par ScienceEtonnante

14:55 Prédire un mot à la fois et voir sa proba.
Temperature : 0
Max length : 1
Show probabilities : Full spectrum

Aucun commentaire

If you get this kind of error when running a terminal or login with ssh on a machine : "perl: warning: Setting locale failed."

locale # to show the current locale
sudo vi /etc/locale.gen
    # comment everything that's uncommented or you don't want
    # uncomment the desired language (here : en_US.UTF-8)
sudo locale-gen en_US.UTF-8
sudo update-locale LC_ALL=en_US.UTF-8
# kill the terminal / disconnect your ssh session
# log again
locale

Aucun commentaire

# Stable Diffusion-UI : l’IA auto-hébergée pour créer des images
# https://www.matronix.fr/stable-diffusion-ui-lia-auto-hebergee-pour-creer-des-images/#comment-83134
# https://upandclear.org/2023/01/25/stable-diffusion-lai-auto-hebergee-pour-creer-des-images/

git clone https://github.com/AbdBarho/stable-diffusion-webui-docker.git # Entrer dans le dosseir et lancer la création du Docker d'installation
cd stable-diffusion-webui-docker/
docker compose --profile download up --build # Ce qui demandera du temps...# Une fois terminé on peut lancer le projet
UI=auto-cpu #UI=auto #UI=invoke #UI=sygil
docker compose --profile $UI up --build

Edit : ça tourne hyper bien sous Windows aussi !
Un zip à DL, un script à executer et ça lance une webapp local.
https://stable-diffusion-ui.github.io/docs/installation/

Démarrer :
https://stackdiary.com/stable-diffusion-resources/ : p'tit tuto.
https://lexica.art/ : examples et full prompts à copier/coller.

Aucun commentaire

10+ hours
My little universe
Merchant
PAKO Caravan
Pushover
Reventure
Cell expansion
Idle Mafia
Idle Apocalypse
Trainyard Express
Hill Climb Racing 2

And played for more than 100 hours !
Archero
Legend of Solgard
Dragon Ball Legends
My little pony
Kingdom Rush (+ Frontiers)
Towers n' trolls
Infinitode 2
Idle Slayer

Aucun commentaire

9gag se détériore salement avec le temps, remplis de bots, de propagande et de vidéos TikTok à la con.
Histoire de nettoyer tout ça on va simplement filtrer les contenus avec l'excellent addon (que dis-je : l'indispensable addon) uBlock Origins

Installer l'addon uBlock Origin (Chrome, Firefox) et copier/coller les filtres suivants :

9gag.com##article:has(div > a:has-text(/Latest News/i))
9gag.com##article:has(div > a:has-text(/Ukraine/i))
9gag.com##article:has(div > a:has-text(/Russia/i))

! remove posts with specific titles
9gag.com##article:has-text(Ukraine)
9gag.com##article:has-text(Russia)
9gag.com##article:has-text(war)
9gag.com##article:has-text(Twitter)

! remove the top bar (memeland, potatoz, shuffle, get app)
9gag.com##.secondary

! remove video posts
9gag.com##article:has(.video-post.post-view)

! remove anonymous posts which are most likely by bots
9gag.com##article:has(header > .post-header > .ui-post-creator > a:has-text(9GAGGER))

! remove share button at bottom of post
9gag.com##.share-bar

Edit : Tester la vieille version de l'app android : https://www.apkmirror.com/uploads/?appcategory=9gag

Aucun commentaire

Télécharger last headless : https://www.factorio.com/download

cd /opt<br/>
sudo tar -xzf ~/factorio_headless.tar.gz<br/>
cd factorio<br/>
sudo mkdir /opt/factorio/saves<br/>
sudo mkdir /opt/factorio/mods <br/>
sudo adduser --disabled-login --no-create-home --gecos factorio factorio<br/>
sudo chown -R factorio:factorio /opt/factorio<br/>
cd /opt/factorio/data<br/>
sudo cp server-settings.example.json server-settings.json<br/>
sudo vi server-settings.json<br/>
sudo su factorio<br/>
/opt/factorio/bin/x64/factorio --start-server-load-latest --server-settings /opt/factorio/data/server-settings.json

TODO
- The UDP port used for Factorio, default 34197, forwarded through your router. I won't go into how to do this here as it's a seperate tutorial in of itself, but you can easily Google "{routers model/manufacturer} port forward" and find the desired results.
- sudo chown -R factorio:factorio /opt/factorio
- sudo vi server-settings.json
public : false
require_user_verification : false