Développeur web Full-stack chez WebService'Est - Metz - Saint-Avold.
Je partage ici en brut mes découvertes issu de ma veille IT.
---
Pourquoi pas Facebook ou Twitter? Je suis pour l'open-Source !
Article très intéressant d'un PoC pour lancer un LLM sous SteamDeck, notamment le tweak bios sur la mémoire unifiée : https://
Petit test de Swirl-AI (https://
Sa mise en place n'est pas aussi "simple" que fait paraitre la doc ( page utile: https://
Du coup petit memento, tout d'abord l'installation :
```
# Setup
mkdir -p swirlai && cd swirlai && \
curl https://
# Change IP if use VPS
sed -i "s/SQL_HOST=localhost/127.0.0.1/g" .env && sed -i "s/localhost/$(curl ifconfig.me)/g" .env && echo http://
# Set your GPT API KEY
sed -i 's/GPT_KEY_HERE/REPLACEME/g' .env
```
Puis on le lance:
```
# Run
docker compose -p swirlai up -d && docker compose logs -f app | grep -w --line-buffered -m 1 "Listening on TCP address 0.0.0.0:8000" && echo "OK, Swirl is Up ! on :8000"
```
Et là, c'est le drame, impossible de se connecter et moteur vide... voici comment faire
```
# Création du compte admin ( admin/password n'existe plus dans les dernière version par défaut )
docker compose exec -it app bash .... puis...
python manage.py createsuperuser --email admin@admin.com --username admin
# On rajoute les PSE de base
python swirl_load.py SearchProviders/google_pse.json -u admin -p admin
```
Et enfin, on peut se connecter http://
Puis rien d'autre que ça?
En fait, il suffit de voir dans le dossier https://
```
python swirl_load.py SearchProviders/internet_archive.json -u admin -p admin
```
Puis, on va l'activer, pour cela, on va sur la liste des search_provider de la page d'admin: http://
Bon nombre d'autres PSE, sont à customiser dans la partie admin, comme celui de ChatGPT qui nécessite de re-saisir son API_KEY, et surtout on peut créer ses propres PSE.
En connecteur, il y a de quoi faire même s'il manque mySQL et postgreSQL !! Ce qui est un vrai no-go de mon côté, surtout que c'est quand même un peu trop difficile d'accès pour un profane niveau UX, dommage :
- ChatGPT Query String
- HTTP/GET returning JSON
- HTTP/POST returning JSON
- Elasticsearch Query String
- OpenSearch Query String
- Google BigQuery
- Sqlite3
- M365 Outlook Messages
- M365 One Drive
- M365 Outlook Calendar
- M365 SharePoint Sites
- Microsoft Teams
- MongoDB
- Oracle
- Snowflake
- PineconeDB
- SnowflakeAI
Voilà il ne reste plus qu'à clean… le test est fini.
```
# Clean
docker-compose -p swirlai down --volumes
```
J'ai récemment eu une erreur de migration en testant tianji/unami...
Petit memento dans mon docker-compose il suffit juste d'ajouter dans le service de l'app:
"command: npx prisma migrate resolve --rolled-back NOMDELAMIGRATIONBLOQUANTE --schema=./src/server/prisma/schema.prisma"
Puis en séquence d'execution ça donnerais ça: down (la stack), edit_on (ajouter la ligne), up, down, edit_off, up.
Ca devrait être régler... en tout cas, ce fut mon cas.
Edit: Sil le debug est tricky, une idée serait de faire un command: sleep infinity dans votre compose
Puis de s'attacher au container: "docker compose exec -it tianji sh"
J'ai dû récemment faire l'inverse un applied:
"cd src/server && npx prisma migrate resolve --applied "XXX" && npx prisma migrate deploy"
Comment mettre à jour Mautic à la version 5 ( version "beta" actuellement la seule compatible PHP 8.1 ) ?
**Update**: Après test, la v5 ne supporte pas l'envoi d'email en mode production... autant dire inutilisable.. rollback avec un bon vieux .htaccess pour appliquer php8 que pour le dossier de mautic 4.4 :
```
# Force use php 7.4
#PHP 7.4 :
<FilesMatch \.php$>
SetHandler application/x-httpd-php74
</FilesMatch>
AddHandler application/x-httpd-php74 .php
suPHP_ConfigPath /my/path/mautic/php.ini
```
**Disclaimer**: Prévoyez bien les backup, il s'agit d'une version "béta" ! ( donc à vos risques )
- Se rendre dans "Configuration" -> "Paramètres système" -> "Update Settings"
- Mettre le niveau de stabilité à "Beta"
- Se rendre en terminal dans le dossier de mautic:
```
php bin/console mautic:update:find
php bin/console mautic:update:apply
php bin/console mautic:update:apply --finish
```
Vous devriez voir ce message: "Bravo ! Vous utilisez maintenant la version 5.0.0-rc2 de Mautic."
Si comme moi, vous êtes bloqué :
- Pour résoudre "An exception occurred while establishing a connection to figure out your platform version.You can circumvent this by setting a 'server_version'" :
- Modifer le `./app/config/local.php` : il faut passer le "db_driver" de "mysqli" à 'pdo_mysql' ( puisqu'il y a un breaking change sous php8.1: https://
- Pour résoudre "Failed opening required '.../var/cache/prod/doctrine/orm/Proxies/__CG__MauticPluginBundleEntityPlugin.php'"
- Clean le cache: `rm -rf var/cache/prod/* && php bin/console cache:clear --env=prod` puis on applique la màj de finalisation en incluant les modules aussi: `php bin/console mautic:update:apply --finish -p`
Alternative à l'ultime "ncdu", un port super rapide en go "gdu": https://
Le github fait référence aussi vers d'autres projets similaire ( ncdu, dust, ... ) 👍
Ainsi que les bench, le plus rapide en "warm cache" ( destination régulière ) est par contre celui en rust: https://
Je regrette juste le dark theme par défaut de ncdu :P
Gitea vient de publier sa version 1.19 (https://
Le process est encore un peu brouillon car super récent ( 3 jours ), mais voici comment tester rapide...
1- Mettre en place une stack gitea ( template portainer pour aller vite ou autre )
2-Ajouter à la fin du config/app.ini:
```
[actions]
ENABLED = true
```
3-Restart stack
4-Se connecter en Admin > "Administration du site" > "Runners" (entre "Applications" et "Configuration") - /admin/runners
5-Ajouter un runner > Copier le TOKEN.
6-Lancer une nouvelle stack pour le runner:
```
version: "3.8"
# Package src repo : https://
services:
gitea_act_runner:
image: martabal/act_runner:latest
environment:
- INSTANCE=https://NDD/ # http://
- TOKEN=TOKEN_A_COLLER_ICI
- NAME=test_runner #optional
#- LABELS=RUNNER_TAGS #optional
volumes:
- BIND_FOLDER_OR_MOUNT_NAME_HERE:/config
- /var/run/docker.sock:/var/run/docker.sock
```
7-Aller sur le repo souhaité, Paramètres > Dépot > Paramètres avancés > en dessous de Paquets, cocher la case "Enable Repository Actions".
8-Commit un .gitea/workflows/workflow.yaml
9-Push pour déclencher le runner, visible dans l'onglet "Actions" du repo
# Lien super utile ( notamment l'exemple de workflow.yaml et tout le process ) :
https://
NOTE: Depuis la 1.17 Gitea se dote d'un package registry qui peut host des images OCI ( docker, etc.. ) et bien d'autres ( NPM, .. ) autant dire que Gitea rattrape tout doucement le monstre Gitlab ( en feature tout comme sa consommation en ressource :D ) : https://
Ça fait un bon moment que je n'ai plus partagé d'info, je vais rajouter en public certaines mais d'ici là, voilà ma problématique de la journée ;
Je me suis demandé pourquoi "depends_on" n'est pas supporté par swarm... en fait c'est assez simple, swarm utilise encore que les specs 3.9 (https://
Bref il va falloir attendre que docker stack soit mis à jour... un ticket est en cours ici: https://
Très bonne vidéo qui explique cela et qui présente les nouveautés de compose : https://
Memento rapide : Comment gérer des QR depuis le terminal ?
- Création : echo "https://www.webservice-est.fr" | qrencode -t UTF8 # -o qrcode.png
- Lecture : ./qrscan --qr test.png
> Quelques exemples de qrencode: https://
> Repo de qrscan: https://
Petit memento qu'il est possible d'automatiser et d'utiliser Gitlab en mode CLI : https://
> Pour la petite histoire, il s'agit du projet glab (https://
L'extension Redirector (https://
En tout cas, libredirect est une source d'instance super intéréssante: https://
Vidéo hyperqualitative de LTT sur Windows: https://
Alternative de Portainer spécifique à Swarm: https://
Léger, Gratuit, Full-Api access, AutoUpdate Image 💯
Gros Memento qui va vous simplifier la vie pour installer docker sur Linux (apt) 😎 avec des one-liner prêt à copier/coller 😉 :
Edit 2023: Un one-liner en vraiment beaucoup plus court :P: `wget -nv -O - https://
Install docker one-line: `apt-get install apt-transport-https ca-certificates curl screen ncdu gnupg lsb-release; curl -fsSL https://
Install docker-compose v2 (v2.23.1 dans cet exemple) one-liner: `mkdir -p ~/.docker/cli-plugins; curl -sSL https://
Exemple avec fetch version: `DOCKER_COMPOSE_VERSION=$(curl --silent https://
> Cette méthode d'installation permet d'être compliant: `docker-compose` (directement le cli) ou bien `docker compose` ( via le module de docker). Cela permet aussi de controler exactement la version souhaitée.
> Il y a aussi maintenant un nouveau paquet disponible pour faire la même chose mais en latest_only et dépendant donc de votre gestionnaire de paquet : "docker-compose-plugin".
Bonus sur LXC (Memento) : Monter un dossier host dans un container lxc (nonprivileged) : `pct set 300 -mp0 /Volumes/tmp,mp=/docker/mnt/tmp`
Utiliser un compte smtp de test sur gmail en non sécurisé (user/pass) est vraiment devenu horrible ( en plus il sera désactivé courant mai 2022)... bref ce post m'a bien aidé en attendant : https://
Process pour utiliser le SMTP de gmail en 2023: https://
Pour travailler à plusieurs sur du code, le Live Share de VS Code est vraiment super, comment? Suivre la procédure ici:
- https://
- https://
Si vous utiliser VS Codium (https://
- https://
Bonne année 2022! Pour bien commencer l'année, une astuce super pratique pour disposer d'un vs code light (navigateur) gratuitement et rapidement sans rien installer!
En effet github a mis en place l'outil via l'url: https://
Ça marche pour ouvrir n'importe quel repo github, par exemple: https://
Besoin de faire une présentation, un cour ou autre? Plus besoin d'être forcémment facecam, vous pouvez très bien utiliser des IA pour ça : https://
Tabby ( anciennement Terminus ) est un terminal cross plateforme ( mac, linux, windows ) codé en Electron, il est vraiment très sympa, découvert pour son quake mode, il peut gérer plusieurs type de shell et intègre même un client ssh (génial pour les utilisateurs windows) : https://
Il y aussi ueli qui est aussi codé en Electron, c'est un clone de spotlight/alfred mais en cross plateform : https://
Vous utilisez votre git sur des grosses plateformes détenues par des tiers, des alternatives quand même online? :
- Pour remplacer gitlab.com? Pensez à : https://
- Pour remplacer github.com / jira ou gitea? Pensez à https://
- un outil sympa pour analyser couche par couche une image docker: https://
- un autre outil sympa afin de compresser plus efficacement ses images docker: https://
O2S gère Nextcloud enfin... il est temps de rafraichir mes logiciels de connexion cloud, petit memento:
- Forklift 3 gère le webdav et via "Forklift Mini" dans le tray on peux "mount as disk" ( par contre c'est dommage j'ai mis à jour à la dernière version et ça ne marche plus... ): https://
- Mountain Duck, le projet axé "mount" de Cyberduck: https://
- CloudMounter qui gère pas mal de protocole: https://
- StrongSync le projet axé mount spéciale Mac APFS, https://
Sinon il y a le soft de nextcloud qui fait une synchro de base ( filtre possible ).
Edit: Il y a toujours rclone, dommage qu'il n'y a pas de gui de qualité : https://
Edit2: Pour forklift, il suffisait de réinstaller fuse for mac: https://
Je bosse actuellement dans un projet avec IA et c'est vrai que les modèles sont principalement en anglais... Du coup, petite découverte de ce que ça peut donner (testable online) avec un modèle génératif Open AI GPT-2 francophone : https://
Approfondir sur Bert? GPT-2? GPT-3?:
- https://
- https://
- https://
- https://
- https://
Edit: en passant sur les projets du jour, sympa ce projet (en anglais) couplant un newsreader + un générateur ML pour synthétiser les articles : https://
Outil crossplateform pour améliorer des photos (ai/deeplearning) avec son/ses gpu: https://
Très prometteur, ll est actuellement optimisé pour les images d'animés / photos mais il est prévu d'être optimisé dans un futur proche pour les visages / textes.
Si vous avez un vieux gpu/cpu, vous pouvez utiliser la version online ici: https://
En réfléchissant de nouveau sur les nas, je me suis posé la question s'il serait possible de me monter un nic teaming ( bonding sous linux bref... de l'aggrégation de plusieurs de mes cartes réseau :D ), la réponse est oui, ça peut se faire via linux (en bonding) mais il faut aussi un routeur/switch compatible ( c'est souvent un basique "Static Link Aggregation Groups (LAGs)" alors qu'il faut un full "Link Aggregation Control Protocol (LACP)" qui est sur du matos plus cher ; au minimum 50€ avec un Netgear Smart GS308T ) ainsi qu'une carte réseau 10gb en mono utilisateur.
Sinon il y aussi le protocole MPTCP qui est super intéréssant pour agréger plusieurs connexion internet, genre le wifi + le lan + le 4g ... :D https://
Edit: petit exemple à quoi peux ressembler la mise en place d'un bonding avec l'interface Synology : https://
Edit 2: Le Nic teaming sous windows est toujours réservé au SKU des éditions "Serveurs" de Windows. Une doc pour Windows 10 Serveur est dispo: https://
Edit 3: En multi plateforme, (donc windows aussi) il y a le projet dispro (en go) qui est un proxy load balancer NIC sous SOCKS5, qui semblent prometteur... : https://
Note: Vérifier aussi pour du matos Ubquity: https://
Mon nas s'est décider à me demander beaucoup d'attention ce week-end... il est devenu instable avec des input/output error très chelou sur le disque système... pourtant le raid est clean ( "sudo mdadm -D /dev/md0" ) ... bref, une commande fort utile si vous utilisez mdadm:
"sudo mdadm --assemble --scan ; # installation? sudo apt-get install mdadm ; il ne veux toujours pas le détecter? en mode manuel: sudo mdadm --assemble /dev/md0 /dev/sda1 /dev/sda2 ... ".
Cela permet de détecter automatiquement tout vos disques et de monter ainsi votre raid facilement, pratique depuis un live cd par exemple, afin de pouvoir faire backup ou autre.
Sans surprise, encore un gadget qui terni l'image du quantique... hallucinant le prix en fin de vidéo ( 500 à 5000€ pour un basique signal carré : honteux ! ... en même temps, facile, vu la taille de l'appareil il fallait pas s'étonner non plus... ) : https://
Dans les trucs assez cool de vim que j'apprécie, c'est de pouvoir executer des commandes on the fly.
Imaginons que l'on souhaite insérer à la ligne 1 la date, il suffit de taper ":0read !date". Note: Pour formater une date en plus, il faut rajouter "+\%Y-\%m-\%d", notez bien l'escape du caractère "%" qui est nécessaire.
Bon saisir des lignes c'est pas super pratique autant sélectionner la ligne actuel, pour cela il faut taper "V".
Puis on peut saisir notre commande par exemple ":read !curl --silent ifconfig.me" pour remplir avec notre IP public. Ce n'est pas cool ça?
On peut imaginer executer aussi un code python :read !python -c 'print("Hello World!")' qui va nous écrire dans notre fichier "Hello World" depuis Python.
Inversement, on peut aussi executer du code python depuis du texte, imaginons qu'on se place sur une ligne qui contient print("ABC"), on fait "V" pour la sélectionner puis ":write !python".
Voilà un petit memento sans prétention pour présenter ces petites fonctionnalités plutôt puissante.
Petite astuce vim pour visualiser les lignes d'un bash qui ne sont pas commenté: ":v/^\(\(#.*\)\@!.\)*$/d"
Edit: En fait, ça supprime les lignes (/d)...
Si l'on souhaite filtrer sous vim on peut soit masquer le contenu des lignes: ":syn match Ignore /#.*/ containedin=ALL set conceallevel=2". Ca fait beaucoup de vide mais ça passe.
Soit mettre le code dans un panel quickfix ( que je trouve pas pratique): ":vimgrep /#.*/ %" . Mais là il faut jongler comme pas possible dans les raccourcis claviers.
Ou bien utiliser le folding, c'est cette méthode que je trouve la plus élégante, même si ligne devient longue, pour cela on peut faire une fonction par exemple:
'''
# dans son bashrc (j'ai chain le pattern "#" et "//")
function vif() { vim -c ":set fde=getline(v:lnum)=~'^\\s#'?1:getline(prevnonblank(v:lnum))=~'^\\s#'?1:getline(nextnonblank(v:lnum))=~'^\\s*#'?1:getline(v:lnum)=~'^\\s//'?1:getline(prevnonblank(v:lnum))=~'^\\s//'?1:getline(nextnonblank(v:lnum))=~'^\\s*//'?1:0 fdm=expr" $@; };
# pour utiliser:
vif ansible.cfg # si besoin de fold/unfold sur le curseur: "zo" ou bien "zc"
'''
Je suis un peu surpris que ça n'existe pas nativement dans un éditeur de texte terminal comme dans vim ou même dans "neovim" (le fork amélioré)...
Petit memento d'un scrip en bash (attention, non testé) pour découper un tgz :
'''
# Split TGZ
splitsize="10G"; fn="home.tar.gz"; pathtocompress="/home" # edit here
split -b ${splitsize} ${fn} "${fn}.part" # split an existing tgz file
tar -cvzf - ${pathtocompress} | split -b ${splitsize} - "${fn}.part" # or split while making tgz file..
cat "${fn}.part*" > "joined.${fn}" # join back the file
tar -xvzf "joined.${fn}" # decompress the file
'''
Petit bench sur le respect de la vie privé de votre navigateur : https://
Mais où est Vivaldi ? 😁
Utiliser git comme système de stockage?: https://
Incroyable cette faille 0 day pour Mac quand même... en espérant un fixe rapide : https://
Source pour migrer gogs vers gitea: https://
Conclusion rapide: c'est fastidieux mais c'est faisable! :) Il faut vraiment commencer à partir de 1.1.4... puis 1 un par 1...
Si j'ai un peu de temps, je ferais une image automatisant le process.
Une altenative à uptime robot en self hosted? Uptime Kuma: https://
Je viens de voir passer une notification pour la sortie de Parallels Desktop 17... je me suis demandé si enfin le support x86 était de la partie.. et en fait... eh bien non... il s'agit vraiment d'une virtualisation simple, pas d'émulation x86 pour booter ses anciennes vm.. ouch.
D'ailleurs je n'ai même pas trouver l'info sur leurs site de façon clair?!... Bref je confirme que cela nécessite donc bien une version Windows 10 ARM64 (note: qui est une version développeur) et non pas la classique !
Bon chose à savoir, Microsoft à mis en place dans Windows 10 ARM, un émulateur x32 et x86 mais ça reste de l'expérimental... aucune idée si ça marche bien... et ce n'est donc que pour Windows, exit les OS x86 Linux ou autre un peu spécial..
Du coup, en cherchant un peu mieux, il n'y a pour l'instant que le projet UTM qui permet une émulation x86 sur Apple Silicon. Je vous recommande ce super article en anglais qui résume bien les outils pour l'instant dispo: https://
Note:
- VirtualBox n'émule pas de CPU mais que les périphériques, donc out à jamais pour VirtualBox.
- VMWare est en train d'étudier comme Parallels une version ARM, cela doit être la même chose que Parallels... à voir.
- Il ne reste plus donc plus que la solution open-source incontournable: QEMU (d'ailleurs UTM est un wrapper de ce dernier ) qui permet d'émuler de nombreux type de processeur mais bon les performances ne doivent pas être terrible et out l'accélération graphique, à review.
Quelques pistes:
-> Exactement ça ! Windows 10 x86... bon mais en gros c'est trop lent... donc l'émulation serait contre productive :
https://
-> Windows Xp via QEMU ARM:
https://
-> Mac x86 via QEMU:
https://
-> UTM bien dispo sur M1 et pas que iOS ( via le repo github):
https://
Grafikart test Github CoPilot, la révolution est en marche !
L'IA décide déjà à notre place du choix techno 😱😂 :
https://
J'adore coder en python mais le bash c'est très bien aussi ( sans dépendance ), autant alors le faire bien avec ma petite recommandation en français:
- Pro Tips de Wescale: https://
- Best Practice Bash rapide : https://
- Best Pratice global : https://
- Best Practice plus complet: https://
- Bonus: Une cheatsheet pour réviser vos bases: https://
Je suis passé entre autre de memcached à redis ( Pourquoi? multithread maintenant supporté et surtout plus de possibilité ) et franchement c'est vraiment top ! Mais comment monitoré "rapidement" Redis? : A cela vous pouvez utiliser le basique et gourmand "redis-client monitor" ou bien utiliser: "Redistop" ( pas un "Stop" Redis... mais à comprendre plutôt Redis + Top et là c'est bien plus classe !! ) : https://
( ... et grafana? grafana!... chuuuutttt...! j'ai bien précisé "rapidement" :D )
Mémento regex hyper sympa ( Pourquoi? il y a toute les syntaxes de compatibilités ! PCRE, BRE, ... ) : https://
Un résumé de plusieurs infographies plutôt sympa sur le monde du dev: https://
C'est con, mais si vous n'arrivez toujours pas à vous connecter avec votre pubkey en tant que simple utilisateur, ssh est hyper sensible à ses permissions, voici une proposition de code à appliquer sur le distant :
'
sshp=/home/USER_HERE/.ssh ; sshauthfile=authorized_keys;
chmod 700 $sshp; chmod 644 $sshp/$sshauthfile; # chmod 400 $sshp/id_rsa;
# bonus pour selinux: restorecon -R -v $sshp
# vous pouvez aussi mettre un chmod 600 ou 400 sur la clée privée si vous en avez une dans votre dossier.
'
Rappel de la commande pour se connecter par clé:
'ssh-copy-id -i ~/.ssh/id_rsa user@host'
Découverte du projet Mackup, permettant de synchroniser osx ses paramètres sur le cloud : https://
VSCodium c'est sympa pour les puristes du libre avec une version vraiment de base. Mais il ya quand même des extensions sympa exclusives sur VS Code Classique en code non libre. Du coup, c'est pas compliqué, il suffit juste de le désactiver et c'est tout: https://
Il y a des cas particuliers où sshpass est fort utile (si si ça existe mais c'est rare oui :D ), pour installer la dernière version d'Avril 2021 (1.09), j'ai trouvé un gist à jour pour l'installer manuellement avec brew, voici le code: 'dlfile=https://gist.githubusercontent.com/ethan-k/e9d7ca8f34e981407fa512c1e69db3a0/raw/524ce55b0b1b3bbdda5a2d83bc77fcee86fa0812/sshpass.rb ; wget $dlfile ; brew install sshpass.rb ; rm sshpass.rb '
Intéréssant cette technique nginx pour utiliser du webp à 100% sur son site : https://
Intéréssante étude pour comparer les performances entre différents reverse proxy: https://
Découverte du projet code server, qui permet d'utiliser vscode depuis un navigateur ! #atester : https://
Un gros Wow pour cet article de François Goffinet ! Aussi complet voir même un peu plus sur certains sujet que ma doc en interne, C'est rare, une telle qualitée ! Bravo à l'auteur ! Je partage, si vous voulez vous mettre à KVM: https://
Résumé de la journée des choses à ne pas faire :
0- Ne pas PRUNE votre docker sans sauvegarde au préalable à MINIMA. Sinon bonjour la BACKUP à récupérer.
1- Ne pas essayer de booter directement un OS sous QCOW2 sans minimum un SSD natif.
2- Ne pas essayer non plus de le mettre en disque dur secondaire pour accéder aux données, cela va planter votre VM et les latences sont à se trucider.
3 - Ne pas s'embêter à faire de la place pour faire le 1/ ou le 2/ même sur un SSD/NVME en externe via USB3. Paradoxe des paradoxes, les latences sont encore pire qu'un HDD en SATA interne classique.
4- Ne pas essayer de convertir votre image QCOW2 en RAW, ça prend 20 plombes et en plus à terme ça fait planter votre host sur un HDD classique.
5- Ne pas essayer de copier les données avec un GUI comme Nautilus, toujours utiliser la ligne de commande afin de diagnostiquer d'éventuel bug dans la copie.
Les choses à faires:
0- Avoir assez de place sur un autre SSD/NVME natif pour accueillir le fichier. Sinon...
1- Monter votre QCOW2 via NBD et monter le. POINT FINAL.
Qui dans mon cas bien super simple était de monter un QCOW2 de sauvegarde bien volumineux qui est stocké sur HDD classique (tu les sent les 100mb/sec...) et dont la partition est bien évidemment dans le format spécial APFS... afin de récupérer des fichiers effacés. Voici le code:
'''
# Install APFS Fuse via Yay - Arch
yay install apfs-fuse-git # ou linux-apfs-dkms-git plus à jour mais plus compliqué car besoin du DKMS kernel
# Mount
qcowfpath='/path/file.qcow2' ; sudo modprobe nbd max_part=8 ; sudo qemu-nbd --connect=/dev/nbd0 $qcowfpath ;
# Check partition
sudo fdisk /dev/nbd0 -l ;
# Mount partition 2 in my case
sudo apfs-fuse /dev/nbd0p2 /mnt
cd /mnt/root/ ; ls
sudo rsync -auv --partial --sparse --ignore-errors --progress "somestuffpath" "toherepath"
# Umount
sudo umount /mnt
'''
Je crois que j'ai trouvé mon prochain projet DIY 😎 : https://
Un top sympa de korben pour avoir une vision d'ensemble de quelques distributions Linux a découvrir en tant que néophyte : https://
J'ai été confronté à un cas un peu particulier, pour setup un proxy dans Docker sous Debian 10, il faut recourir à un override Systemd, voici le code:
```
mkdir -p /etc/systemd/system/docker.service.d
printf '[Service]\nEnvironment="HTTP_PROXY=http://HOST_HERE:PORT_HERE"' > /etc/systemd/system/docker.service.d/http-proxy.conf
systemctl daemon-reload ; systemctl restart docker ; systemctl status docker
docker run hello-world
```
Article super intéréssant afin de sécuriser un peu plus vos conteneur docker: https://
Utilisateur de Visual Studio Code? Envie d'une version 100% open? Il existe une version alternative sans la télémétrie de Microsoft, cela s'appelle VSCodium : https://
Besoin d'un clone de Photoshop pratiquement gratuit directement dans votre navigateur?: https://
Intel bosse sur un filtre photoréaliste par IA, futur des textures de jeu ? : https://
Parallels est enfin natif sur les puces M1 ( depuis Mi Avril 2021 ) - 30% de perf en plus. Par contre, déception ce n'est que pour virtualiser du ARM donc pas de x86 x64 :( ... Allez parallels ! J'attend ça avec un impatience. https://
Bon à savoir, il existe un windows defender portable (pour scanner rapidement) : https://
Incroyable mais vrai le logiciel open source d'édition audio Audacity vient d'être racheté. Pas de version payante obligatoire normalement mais bon ça sent sinon le fork LibreAudacity pour bientôt 😂 : https://
Pour clore et faire suite à mon dernier message sur LiteSpeed, Nginx, ... je vous recommande la lecture de cet article super bien fait pour avoir une vision globale des avantages & inconvénients de chacun: https://
Il parle d'ailleurs aussi de mon petit chouchou codé en go que je veux bientôt tester: caddy.
Note: L'article n'est pas exhaustif, il manque par exemple h2o: https://
A propos de LiteSpeed, je crois qu'il faut nuancer tout les benchmark sur le net et que c'est surtout un gros coup de com' ! ( puisque tout sont issu de LiteSpeed... sacré arnaque! )
Et que bien sûr Nginx reste le top ! avec son FastCGI natif ... même si il faut savoir comment l'optimiser finement ...
Mais LiteSpeed n'en reste pas moins une solution sympa si votre hébergeur le propose gratuitement. Il faut voir LiteSpeed comme une version améliorée ( event-driven comme Nginx) de Apache ( compatible mod_rewrite ) et spécialisé pour un boost de performance en PHP ( grace au native PHP SAPI ). Petit point en plus le plugin Wordress tout en un ( minification, cdn, image, ... ) est vraiment très facile à utiliser pour n'importe quel utilisateur lambda, d'où son succès croissant.
Intéréssant ce benchmark (fiable?), resmush.it, serait vraiment plus performant que tinypng: https://
Edit: Niveau algo, le traitement du PNG est un peu obscur: lossy+lossless et le JPG est lossless, sur un test perso fait sur un PNG avec transparent en ligne de commande, le fichier est un peu plus gros de quelques centaines d'octet, ce qui est très correct !! même si tinypng (avec son smart lossy) à fait à peine un peu mieux. Plus de détail ici: https://
Petite découverte du jour: LiteSpeed Cache : https://
Petite découverte du jour: ReSmush.it : https://
( Sinon j'aime toujours utilisé en manuel tinypng: https://
Quand il s'agit de prototyper en vectoriel chacun à ses outils modernes, j'ai abandonné Adobe Illustrator ( trop lourd, hors exception ), je suis plutôt un fidèle de Sketch ( le pionnier avec son UX clean ) : https://
Découverte python du jour FastAPI, le projet est jeune ( 1 an ) mais ça simple envoyer du lourd niveau performance & simplicité : https://
A ben voilà comment ils comptent renflouer les caisses de l'état ( sur le dos du consommateur ) : https://
Bon plan du jour : Besoin d'enlever un fond sur une image pixelisée ?! ... Avant de perdre son temps sur photoshop pour tenter de détourer... essayer en ligne remove.bg : https://
De rien 😉
Après l'ouverture progressive au projets open source, le rapprochement vers Linux continue 👍 WSL va disposer bientôt d'un serveur X capable de lancer des applications Linux même graphique ! Hâte de tester ce build : https://
Petit rappel qu'un gros projet commence toujours par un premier commit: celui de Gitlab en 2011: https://
Le bon plan du jour: Formation Gitlab gratuite ici : https://
Si vous utiliser beaucoup de carte (Google Map) pour vos projets, je ne peux que recommander Leaflet en alternative : https://
Je viens de découvrir une alternative possible pour Audacity : Ocenaudio ( https://
#atester https://
On parle d'OBS, de webcamoid, même de Splitcam ... c'est bien sympa mais comment faire quand on n'a pas de fond vert ( zoom tu sort... :D ) pour une incrustation? Snapchat? Pas loin pas loin.... Scapcamera de Snapchat, c'est gratuit et ça permet d'utiliser les filtres snapchat "change background" (ou autre) sur PC & Mac ;) : https://
Petit test de Splitcam (gratuit), c'est comme un OBS ( avec gestion des scènes) mais en plus light... excepté qu'il n'est pas Open Source, franchement très sympa: https://
Je parle de camtwist mais l y a aussi le logiciel webcamoid qui est crossplatform & open-source : https://
Bon à savoir ! Depuis Janvier 2021, la version 26.1 sur Mac intègre nativement VirtualCam ! ( oui parce que l'antique camtwist ... ) Youhou ! Plus de raison de ne plus utiliser son fond vert et OBS ! :) Pour l'activer, il suffit de cliquer "Démarrer le caméra virtuelle" dans OBS ( à côté des boutons pour enregistrer / commencer le stream ) et choisir le périphérique "OBS Virtual Camera" dans votre logiciel favori. ( Ne pas oublier de restart vos logiciels après l'activation )
Quand les créa de chez Amazon ont oublié un petit détail 😂 : https://
Décidément OVH.. incendie sur le cluster de Strasbourg à 0h47,maitrisé à 6h45:
- SBG2 est complètement détruit
- SBG1 partiellement
- SBG3/4/5/6 normalement ok ( même si toute l'électricité & les communications ont étés coupés par le plan d'urgence )
---
https://
Pour se tenir au courant de la situation:
https://