Typing SVG

AstroDashboard

Coucou les gens ! Je viens de sortir un petit dashboard en PHP à coller dans un répertoire sous Apache pour avoir les astronaute en orbite dans l’ISS et Tiangong. Et suivre le tout en temps réel avec aussi Hubble parce que je l'aime bien :)

9 ans plus tard …


image

Raspberry Pi3 de 9 ans d'âge en mode stratum 1, avec 1-PPS qui envoie du -381ns, offset à la nanoseconde près et un jitter ridicule de 259ns

Le chardonnay sauve de la détresse, mais pas du capitalisme …

Tags: qotd

Perte de connectivité sous WSL2

Par exemple APT merde à se mettre à jour, mais un ping vers un DNS publique passe :

root@Windows:~/proxmark3# apt update Ign:1 http://deb.debian.org/debian bookworm InRelease Ign:2 http://security.debian.org/debian-security bookworm-security InRelease Ign:3 http://ftp.debian.org/debian bookworm-backports InRelease … W: Failed to fetch http://ftp.debian.org/debian/dists/bookworm-backports/InRelease
Temporary failure resolving ‘ftp.debian.org’ W: Some index files failed to download.
They have been ignored, or old ones used instead.
root@Windows:~/proxmark3#

root@Windows:~/proxmark3# ping 1.1.1.1
PING 1.1.1.1 (1.1.1.1) 56(84) bytes of data. 64 bytes from 1.1.1.1: icmp_seq=1 ttl=56 time=10.2 ms ^C
— 1.1.1.1 ping statistics — 1 packets transmitted, 1 received, 0% packet loss, time 0ms rtt min/avg/max/mdev = 10.196/10.196/10.196/0.000 ms
root@Windows:~/proxmark3#

Comprendre l’erreur dans WSL2 :

Le ping vers 1.1.1.1 passe = réseau OK -> Le souci vient du DNS.

Sous WSL2 Windows s'amuse à rajouter une couche DNS avec un résolveur local foireux sur 127.0.0.53 !!!

root@Windows:~/proxmark3# cat /etc/resolv.conf
Dynamic resolv.conf(5) file for glibc resolver(3) generated by resolvconf(8) DO NOT EDIT THIS FILE BY HAND – YOUR CHANGES WILL BE OVERWRITTEN 127.0.0.53 is the systemd-resolved stub resolver. run “resolvectl status” to see details about the actual nameservers.
root@Windows:~/proxmark3#

C’est le cas typique où WSL fout un systemd-resolved moisi avec un DNS local foireux (127.0.0.53). Résultat : résolution cassée inside WSL. On corrige ça à la bourrin mais propre.

Fix permanent :

Supprimer le lien /etc/resolv.conf actuel (c’est pas un vrai fichier) :

rm -f /etc/resolv.conf

Créer un nouveau fichier statique :

echo “nameserver 1.1.1.1” > /etc/resolv.conf

Locker le fichier pour empêcher WSL de le réécrire :

chattr +i /etc/resolv.conf

Tester :

ping -c 1 deb.debian.org

WMT : WSL2 Management Tool

Coucou !

Un petit outil en PowerShell pour pouvoir à la base renommer une distributions sous WSL2 (Windows Subsystem for LINUX)


En plus si 7zip est installé il va le préférer au .zip natif de Windows qui est moins bon :)

image

In Memoriam René COUGNENC

Linux, Usenet et quelques autres lui doivent beaucoup.

René avait traduit les livres sur Linux de Welch et Kirch et gérait le BBS renux longtemps avant qu'Internet devienne un sujet à la mode.

Il a toujours fermement défendu Usenet lors des incursions des cyber-blaireaux et il le faisait avec humour et vigueur (c'est un euphémisme).

Stephane Bortzmeyer

—————————————————-

René et Internet (24 Jul 1995)

Ceux qui ont été appâtés par le terme “multimédia” qu'on lit à propos de tout et n'importe quoi, considèrent en voyant la lenteur de réception de quelques images de mauvaise qualité ou de son qui ferait honte aux premiers 78 tours, que cette débauche technologique hors de prix est ridiculement moins performante que le premier téléviseur noir et blanc.

Le problème est de savoir quoi leur communiquer : nous savons tous que l'accès à un réseau mondial d'ordinateurs va être une révolution, mais comment le faire toucher du doigt à des personnes qui n'en ressentent pas encore le besoin, puisque nous ne disposons pas des applications nécessaires, pour la simple et bonne raison que tant que le réseau ne sera pas distribué partout, nous n'avons pas encore idée de ce qui se fera vraiment avec.

Comment leur expliquer que ce qui est fantastique c'est de pouvoir connecter des ordinateurs distants ensemble, mais que c'est une opération qui n'est pas spectaculaire. Comment leur expliquer qu'un ordinateur, ce n'est pas forcement une grosse boite compliquée avec un clavier déroutant, mais qu'il y en a partout, des microprocesseurs qui animent des appareils de toutes sortes, et qui pourraient communiquer ensemble.

Et si le message passe, comment ensuite faire comprendre que lorsque le jeune cadre dynamique interrogera, en prenant son petit déjeûner, tour à tour le réseau de sa boite puis la chaudière de sa maison de campagne, il ne sera pas forcément espionné dans un “fichier informatique” par Big Brother. Ca, ca va être encore plus dur :)

Ils s'imaginent qu'Internet ce sont les services que nous utilisons tous en ce moment, ils ne comprennent pas qu'il s'agit du réseau de communication, uniquement. Et ma concierge devant les News, j'imagine assez sa tronche; surtout avec les readers actuels que nous adorons, nous :-)

Sans doute, tout cela est jeune; les gens n'ont pas assimilé et exploité le téléphone, puis le fax, en 24 heures. Donnons leur la possibilité du Net et laissons l'imagination des développeurs et utilisateurs faire le reste. Les services actuellement disponibles sur les machines reliées au Net sont performants, efficaces et indispensable à beaucoup, mais ils ont été créés pour les utilisateurs qui ont fait ce réseau, et se cantonnent donc essentiellement aux domaines scientifiques. Si le Net s'ouvre, la créativité jouera dans bien d'autres domaines.

L'idéal c'est que le réseau soit transparent, naturel, invisible pour le blaireau moyen. Tout comme il ne pense pas au gigantesque maillage d'EDF lorsqu'il allume la lumière : pourtant l'électrification s'est, en son temps, heurtée à bien des réticences également.

Tout le problème sera alors de contenter tout le monde, avec des liaisons suffisamment performantes pour que le gars qui a ouvert un xterm pour travailler sur une machine d'un site distant, ne pique pas une crise de nerfs en le voyant se geler dès que Marcel Dugenou passera ses vacances tournées au camescope à sa grand-tante de Romorantin. Mais pour l'instant, les sites connectés sont encore peinards pour un moment; et il y aura peut-être d'autres réseaux dédiés, pas un seul gros Internet. Mais ce serait quand même bien qu'ils puissent communiquer, et qu'il utilisent une technologie éprouvée, bien définie et largement implémentée, plutôt qu'une norme propriétaire à la con… et là… je suis assez pessimiste :-)

René et le câble (13 Jul 1995)

Chez moi à Antony, depuis pas mal de temps le câble passe à ma porte, et régulièrement je jette les représentants qui veulent me vendre un abonnement à cette merveille télévisuelle.

Hier, en sortant de chez moi, je me trouve nez-à-nez avec ce représentant du câble, qui allait sonner chez moi. Difficile de lui dire que je suis absent. Je lui explique donc que je suis pressé, mais que je veux bien le recevoir demain, à une condition : qu'il me dise si oui ou non, ils ont prévu une connectivité IP au réseau Internet avec leur machin. C'est cela dont j'ai besoin, pas de la télévision.

– Mais bien sûr, Monsieur, téléchargement, jeux, tout ça !

Bon, j'essaie de ne pas rire car je suis pressé, et nous convenons d'un rendez-vous aujourd'hui donc, Jeudi, où il m'expliquera tout ça et combien ça coûte.

Le gars arrive, avec une heure de retard. Moi, naïf, je me dis que c'est sans doute parce que ma demande est encore inhabituelle et qu'il a du rassembler documentation et dossiers, autres que les trucs en quadrichromie vantant la télé par câble.

La suite de l'entretien me montra qu'il ne savait pratiquement rien de ce domaine, et n'avait rien préparé. Il était sympathique, mais visiblement n'a aucune formation sur le sujet.

Mais il m'a promis monts et merveilles, en étant honnête, c'est-à-dire aucun délai, aucun tarif : “tout est prévu Monsieur, ça se fera mais rien n'est encore planifié ni estimé”. Mais, il m'a dit que ça marchait déjà comme expérience à Paris, et que les gens en étaient très contents et que ça ne serait pas très cher : le raccordement sera gratuit et il y aura un modem en location si on veut le louer.

Il m'a promis Internet, je lui ai fait préciser que c'était bien l'Internet direct full IP aucun filtrage le vrai, et que oui, ils auraient un serveur de News local, routeront des reseaux de classe C pour qui en voudra, etc etc : Il répondait, en fait, “oui” à tout ce que je disais. Visiblement, il ne comprenait pas tout, et on lui a bourré le mou.

Car si lui, n'avait rien préparé pour cette entrevue, moi, pendant que je poireautais à l'attendre, j'avais préparé mon dossier :-)) Et je lui montrai alors, quelques copies papier de quelques articles de News Usenet sur le sujet, qui contredisaient tout ce qu'il venait de m'affirmer. Il a fallu que je lui précise que ca provenait bien “du réseau Internet” et que “c'est lisible dans le monde entier”, car il voyait bien que ca ne ressemblait pas tout à fait à un fax, ce papier là :-))

Il aurait fallu voir sa tête, et le long silence qui a suivi, pendant qu'il lisait ces quelques articles. Très, très, très embêté le gars. Disant “ce n'est pas le discours que l'on nous tient à la boîte”. “c'est bizarre”. (Et, moi, de me dire en moi-même que c'est effectivement très bizarre. Il avait l'air vraiment sincère).

A suivi une courte discussion sur un ton moins commercial. J'avais frappé un coup :-)

Puis, une fois m'avoir assuré que lorsque ce serait prêt, “ce ne serait pas ça” parce qu'il a bien compris que je ne prendrai pas son pseudo-réseau si c'était comme ça, le commercial est revenu au galop, et là, ce fut géant :

L'installation est actuellement gratuite à titre de promotion. Il me fait un grand argumentaire que l'Internet, aucun délai n'est prévu mais c'est bien le diable si dans un an ils ne sont pas en mesure de me connecter, et qu'en attendant je peux déja profiter de la promo : j'économise pres de 1800 balles de frais d'installation, je n'ai que l'abonnement au câble TV à payer, très modique, en attendant je reçois la télévision par câble et dès que l'Internet est dispo chez eux, paf, je suis connecté le jour même, puisque j'ai déjà tout.

Et là, moi : - La télévision ? avec quel téléviseur ?

Le mec, d'un coup, scrute l'appartement et réalise que je n'ai pas la télévision, et que je n'en veux pas, pas plus que de redevance TV. Moi, c'est l'Internet que je veux sur son câble, comme promis.

J'avais frappé un second coup, plus rude :-)

Il a donc décidé de prendre congé, et a promis de me tenir au courant. Il a pris mon adresse, sur le papier que je lui ai tendu (je prépare toujours un truc imprimé, à cause de mon nom imbittable pour certains).

Dessus, il y avait mon nom, et mon adresse électronique. Je lui ai expliqué ce que c'était, il n'avait pas l'air de savoir, car il est parti en me disant “je vous enverrai donc un Fax”.

Vite, vite, il faut pondre une extension Fax a Sendmail, j'attends des nouvelles de l'Internet par le câble :-))

René et le Web (2 Jun 1995)

Le problème, d'après le peu que j'en ai vu, c'est qu'au départ, HTML était un truc génial, super simple et efficace pouvant être employé par tout un chacun pour la diffusion de documents structurés.

Des millions de gens s'en servent (servaient) pour diffuser des documents structurés, que ce soit mondialement ou en local. (J'ai plein de docs locales a ma machine, SGML transcodées en HTML et c'est souvent bien plus pratique que la commande “man). Ces documentations sont visualisables, donc utilisables, sur toutes sortes de supports.

Ce n'est pas très compliqué de comprendre qu'un même document structuré peut apparaître différemment selon qu'il est affiché sous X Window, en Vidéotex ou dans le style d'une revue imprimée périodique, tout de même, non ???

C'est un outil très adapté et il y a peu de chances qu'il disparaisse, et louons le CERN pour cette réalisation.

Or on dirait que le fameux NetScape et l'évolution du truc font qu'ils voudraient en faire une usine à gaz imbittable pour faire un croisement de minitel, PostScript et télévision couleurs.

C'est quand même dommage qu'en informatique, dès que quelque chose est simple, et fonctionne de manière satisfaisante, il faille absolument le compliquer à outrance et créer des incompatibilités :-(

Parfois je me félicite que que le fil à couper le beurre n'ait jamais été repris par des informaticiens. Si ça se trouve il ne serait même plus compatible avec tous les beurres.

C'est-à-dire que ça n'aura plus rien à voir, et que dans ce cas ils feraient mieux de pondre une DTD ou je ne sais quoi à part, plutôt que de casser un outil pratique….

Un jour, des gens qui n'ont rien compris ont entrepris de réinventer le PostScript couleurs avec ça, ce qui n'a rien, mais rien à voir, l'argent, la mode “Internet” et la frime sont rentrés dans le jeu, et voilà, tout est cassé.

René et Usenet (29 Aug 1995)

Maintenant, puisqu'il y a eu débat, tout ce que je peux dire c'est que j'ai déjà vu mourir beaucoup de belles choses dans ma vie parceque la “société” a voulu s'en emparer, les légaliser, réglementer, “pour leur bien”. C'est tout. Ca va arriver a Usenet et Internet, je trouve ça dommage. Malheureusement, c'est inévitable; disserter sur l'humanité, son génie et sa connerie nous entraînerait bien trop loin, et je n'ai largement pas les capacités intellectuelles nécessaires :-)

Lorsque ça se passera, comme beaucoup d'autres je repartirai en nomade, encore une fois défricher encore un autre domaine passionnant dont je n'ai pas encore idée, avant que là aussi, la société bien pensante débarque pour vouloir faire notre bonheur malgré nous, en refusant de comprendre qu'on le vivait, et que tout va bien merci, on n'a besoin de rien.

A moins que d'ici là, un cancer, une cirrhose ou un mauvais passage clouté ne m'emporte, pour conclure la vie trop remplie que je me suis bien marré à mener. D'autres l'ont vécu avant moi, et je peux donc prédire comment ça se passera : pendant qu'une bande d'amis fera un bon banquet à ma santé en se fendant la poire et en se rappelant les bons moments, bon nombre d'autres se lamenteront et me trouveront d'un coup quantité de qualités que je n'ai jamais eues, et me plaindront beaucoup. Inutile de dire de quel côté va ma préférence :-)

4 Sep 1995

Merci de ne pas relancer une polémique débile qui s'est terminée il y a un bon moment dans un seul groupe, en cross-postant volontairement dans deux autres et en changeant le sujet pour un modèle bien accrocheur.

Merci de ne pas m'abreuver de courrier, sauf si, tous rentrés de vacances, vous avez du temps à perdre : ma machine sera arrêtée à partir du 10 septembre, définitivement inaccessible.

Bref: lâchez moi, si vous en êtes capables ! Continuez à vous engueuler entre vous, si ça vous amuse : je suis trop con pour jouer à ce jeu, sans aucun doute :-)

Laissez vivre les cons. Ne tentez pas de les coloniser. Merci pour eux.

—————————————————-

Ecrit par Jean-Yves Bernier aka Pescadoo
Photo Freenix


Bibliographie

Ses livres ont été publiés (sauf exception) par O'Reilly

  • Traduction (avec Manuel Makarévitch) du livre Le Système Linux de Matt Welsh et Lars Kaufman (1995)
  • Traduction du livre Administration Système et Réseau sous Linux, d'Olaf Kirch (1995)
  • Traduction du livre Bien débuter sous Linux de Matt Welsh (1995)
  • Traduction du livre Le Shell Bash de Cameron Newham (1996)
  • Traduction de nombreux HOWTOs et MiniHowtos : ELF, Installation, PPP, UUCP, Man-Page


D'autres artcicles évoquant René :

Le livre “Bien débuter sous Linux” :
https://fr.shopping.rakuten.com/offer/buy/9158773/Welsh-Matt-Bien-Debuter-Sous-Linux-Livre.html

“Faire du numérique” de La Quadrature Du Net :

https://shs.cairn.info/article/MOUV_079_0122/pdf?lang=fr


Installer et utiliser un Proxmark3 Easy 512M sous Windows 11 avec WSL2 (Debian)


Cette version Italienne du Proxmark 3 Easy étend la mémoire à 512M et peut être flashée avec le firmware officielle, par contre le Proxmark 3 est devenu deprecated au moment où j'écris ça (10/05/25) et une version 4 est dispo (mais chère, donc … à voir plus tard !)


Pré-requis : Windows 11 Pro + WSL2 + Debian

Pour que ça soit plus simple, utilisez 2 fenêtres, ou onglets, PowerShell (en admin) : une pour les manips Windows, l'autre pour Debian.


Installation du pilote WinUSB :

Utilisez Zadig : https://zadig.akeo.ie/

  • WinUSB est nécessaire pour que usbipd ou WSL2 accèdent au PM3.
  • Le driver usbver est désactivé mais pas supprimé.
  • Windows verra alors le Proxmark3 comme un périphérique générique.

Dans Zadig : choisissez proxmark3, remplacez usbver par WinUSB via le bouton Replace Driver.


Installer usbipd-win :

Téléchargez-le ici :

https://github.com/dorssel/usbipd-win/releases

ou avec :

winget install usbipd

Puis, dans PowerShell :

usbipd list

Identifiez la ligne de votre PM3, exemple :

3-2 9ac4:4b8f proxmark3

Le numéro du bus USB à attacher dans WSL2 sera donc : 3-2


Installer Debian via WSL2 :

wsl –install Debian
sudo bash
apt update && apt full-upgrade -y

Puis installez les dépendances nécessaires :

apt install -y build-essential automake autoconf libtool pkg-config git libreadline-dev libusb-1.0-0-dev cmake gcc-arm-none-eabi liblz4-dev libbz2-dev libjansson-dev liblua5.3-dev libgd-dev python3-dev libqt5serialport5-dev qtbase5-dev libbluetooth-dev libwhereami-dev libssl-dev


Attacher le port USB dans WSL2 :

Dans la fenêtre Windows :

usbipd bind –force –busid 3-2 usbipd attach –busid 3-2


Vérifier dans Debian que le Proxmark est bien vu :

lsusb

Vous devriez voir quelque chose du genre :

Bus 001 Device 002: ID 9ac4:4b8f J. Westhues ProxMark-3 RFID Instrument


Compiler le client Proxmark3 :

cd ~ git clone https://github.com/RfidResearchGroup/proxmark3.git
cd proxmark3
make clean

Lors du make clean je n'ai pas réussi à installer les libs pour Lua mais la lib embarquée fonctionne très bien.

Comme il s'agit d'un PM3 Esay le make doit être :

make PLATFORM=PM3GENERIC


Vérification du binaire :

./client/proxmark3 –version

Et test rapide :

./client/proxmark3 /dev/ttyACM0


Script bash avec whiptail :

à placer dans le répertoire proxmark3/ :

#!/bin/bash
PM3_DEV=“/dev/ttyACM0”
LOG=“/tmp/pm3_output.txt”

check_dev() {
if [ ! -e “$PM3_DEV” ]; then
whiptail –title “Erreur” –msgbox “Proxmark3 non détecté sur $PM3_DEV” 10 50
exit 1
fi
}

run_cmd() {
CMD=“$1”
echo “[=] Exécution : $CMD” > “$LOG” ./client/proxmark3 “$PM3_DEV” <<< “$CMD” >> “$LOG” 2>&1 whiptail –title “Résultat” –scrolltext –textbox “$LOG” 25 90
}

main_menu() {
while true; do
CHOICE=$(whiptail –title “Proxmark3 - Menu” –menu “Choisis une commande” 20 70 10 \ “1” “hw version” \ “2” “hw tune” \ “3” “lf search” \ “4” “hf search” \ “5” “Quitter” 3>&1 1>&2 2>&3)
case
“$CHOICE” in 1)
run_cmd “hw version” ;; 2)
run_cmd “hw tune” ;; 3)
run_cmd “lf search” ;; 4)
run_cmd “hf search” ;; 5) break ;; *) exit 1 ;;
esac
done
}

check_dev
main_menu


Sources :

Installation de ComfyUI et ComfyUI-Manager sur Apple Silicon (M1/M2/M3)

Ca fait longtemps hein ? Vous aussi, beaucoup ;)

Bon allez, on commence !

ComfyUI, un puissant workflow node-based pour la génération d’images IA, entièrement personnalisable avec ComfyUI-Manager qui permet d'ajouter des tas de fonctionnalités en 1 clic !

Voici ma première réalisation :)

image

Installation

1. Installer PyTorch

On installe PyTorch pour optimiser les perfs sur Mac avec MPS.

pip3 install torch torchvision torchaudio –extra-index-url https://download.pytorch.org/whl/nightly/cpu

2. Cloner ComfyUI

cd
git clone https://github.com/comfyanonymous/ComfyUI.git
cd ~/ComfyUI/

(Nous partons du principe que nous installons ComfyUI dans le répertoire personnel de l'utilisateur qui exécute les commandes pour le resste du document.)

3. Créer et activer un environnement virtuel (venv)

Créer le venv : python3 -m venv venv
Activer le venv : source venv/bin/activate
Désactiver le venv : deactivate

A partir de maintenant l'ensemble des commandes concernant Python et ses dépendances doivent se faire dans le venv !!! Vous pouvez même taper l'ensemble des commandes sans sortir du venv jusqu'au premier lancement !

4. Mettre à jour pip et installer les dépendances

pip install –upgrade pip
pip install -r requirements.txt –no-cache-dir

5. Installer ComfyUI-Manager

Le manager permet de configurer ComfyUI et d'installer des modèles et extensions en 1 clic ;)

cd ~/ComfyUI/
cd custom_nodes
git clone https://github.com/ltdrdata/ComfyUI-Manager.git
cd ComfyUI-Manager
pip install -r requirements.txt –no-cache-dir

6. Ajouter un modèle

On va installer le modèle DreamShaper 8 :

Allez sur la page du modèle et chercher le bouton “Download” (juste à droite du bouton “Create”) pour récupérer le fichier dreamshaper_8.safetensors.

Soit vous le téléchargez avec votre navigateur directement dans le bon répertoire ou sinon vous faites un clic-droit sur le bouton et cherchez “Copier l'adresse du lien”, déplacez vous dans le répertoire de destination pour le télécharger avec wget :

cd ~/ComfyUI/models/checkpoints
wget “COLLER LE LIEN” -O dreamshaper_8.safetensors

Voilà c'est fait :)

Alternative : ComfyUI-Manager propose directement des modèles prêts à l'emploi en un clic !

7. Installation de ComfyUI-Impact-Pack

C'est parti !

source ~/ComfyUI/venv/bin/activate
cd ~/ComfyUI/custom_nodes
git clone https://github.com/ltdrdata/ComfyUI-Impact-Pack.git
cd ComfyUI-Impact-Pack
pip install -r requirements.txt –no-cache-dir
deactivate

8. Lancer ComfyUI

Lancement simple pour vérifier que le programme se lance correctement et que vous pouvez accéder à l'interface graphique via votre navigateur.

!!! L'option –listen vous permet d'utiliser ComfyUI à partir d'une autre machine que celle sur lequel il est lancé ! Si vous ne souhaitez pas ce comportement supprimer cette option !!!

foo@bar ~ % cd ~/ComfyUI
foo@bar ComfyUI % source venv/bin/activate
(venv) foo@bar ComfyUI % python main.py –force-upcast-attention –listen

Ouvrez un navigateur sur l'adresse : http://127.0.0.1:8188

Si tout fontionne correctement : Félicitations !!! :)

Retournez sur votre terminal, faites un Ctrl-C pour quitter ComfyUI puis désactivez le venv Python :

(venv) foo@bar ComfyUI % deactivate
foo@bar ComfyUI %

Voici un petit script pour un démarrage plus rapide dans le répertoire ~/ComfyUI je l'ai nommé start.sh :

#! /bin/bash
set -e
source venv/bin/activate || { echo “Erreur : activation du venv a échoué.” >&2; exit 1; }
LOGFILE=“startup.log”
PIDFILE=“$0.pid”
LISTEN_OPTS=“–force-upcast-attention –listen”
CMD=“python main.py $LISTEN_OPTS”
[ -f “$LOGFILE” ] && mv “$LOGFILE” “$LOGFILE.bak”
echo $$ > “$PIDFILE”
if [ “$1” = “bg” ]; then
nohup $CMD 2>&1 | tee “$LOGFILE” &
disown
echo “ComfyUI lancé en arrière-plan (PID: $!)”
else
echo “ComfyUI lancé en mode interactif (Ctrl-Z possible)”
exec $CMD 2>&1 | tee “$LOGFILE”
fi

Puis donnez lui les bonnes permissions pour l'executer :

chmod +x start.sh

Sans option ComfyUI se lancera en affichant les messages dans le terminal, ce qui permet de voir les erreurs, l'avancement des travaux en cours et également en cas de “freeze” de l'applicaton de relacher l'application avec un Ctrl-Z puis ensuite la commande bg pour reprendre la main (ça n'est pas un comportement attendu, mais je le signale ici car cela me permets d'êviter de relancer systèmatiquement ComfyUI …)

./start.sh

Si vous souhaitez lancer ComfyUI en background (vous pourrez fermer le terminal si les messages ne vous intéressent pas) utilisez l'option bg :

./start.sh bg

Voici un log d'un démarrage qui se passe correctement :

foo@bar ComfyUI % ./start.sh
ComfyUI lancé en mode interactif (Ctrl-Z possible)
[START] Security scan
[DONE] Security scan
ComfyUI-Manager: installing dependencies done.
** ComfyUI startup time: 2025-04-22 06:03:56.064
** Platform: Darwin
** Python version: 3.9.6 (default, Nov 11 2024, 03:15:38)
[Clang 16.0.0 (clang-1600.0.26.6)]
** Python executable: /Users/foo/ComfyUI/venv/bin/python
** ComfyUI Path: /Users/foo/ComfyUI
** ComfyUI Base Folder Path: /Users/foo/ComfyUI
** User directory: /Users/foo/ComfyUI/user
** ComfyUI-Manager config path: /Users/foo/ComfyUI/user/default/ComfyUI-Manager/config.ini
** Log path: /Users/foo/ComfyUI/user/comfyui.log
Prestartup times for custom nodes:
1.2 seconds: /Users/foo/ComfyUI/custom_nodes/ComfyUI-Manager
Checkpoint files will always be loaded safely.
Total VRAM 16384 MB, total RAM 16384 MB
pytorch version: 2.6.0
Mac Version (15, 3, 1)
Set vram state to: SHARED
Device: mps
Using sub quadratic optimization for attention, if you have memory or speed issues try using: –use-split-cross-attention
Python version: 3.9.6 (default, Nov 11 2024, 03:15:38)
[Clang 16.0.0 (clang-1600.0.26.6)]
ComfyUI version: 0.3.29
ComfyUI frontend version: 1.16.9
[Prompt Server] web root: /Users/foo/ComfyUI/venv/lib/python3.9/site-packages/comfyui_frontend_package/static
Loading: ComfyUI-Manager (V3.31.12)
[ComfyUI-Manager] network_mode: public
ComfyUI Version: v0.3.29-22-g3ab231f0 | Released on ‘2025-04-21’
Loading: ComfyUI-Impact-Pack (V8.12)
Import times for custom nodes:
0.0 seconds: /Users/foo/ComfyUI/custom_nodes/websocket_image_save.py
[Impact Pack] Wildcards loading done. 0.1 seconds: /Users/foo/ComfyUI/custom_nodes/ComfyUI-Impact-Pack
0.1 seconds: /Users/foo/ComfyUI/custom_nodes/ComfyUI-Manager
Starting server
To see the GUI go to: http://0.0.0.0:8188
To see the GUI go to: http://[::]:8188
[ComfyUI-Manager] default cache updated: https://raw.githubusercontent.com/ltdrdata/ComfyUI-Manager/main/model-list.json
[ComfyUI-Manager] default cache updated: https://raw.githubusercontent.com/ltdrdata/ComfyUI-Manager/main/alter-list.json
[ComfyUI-Manager] default cache updated: https://raw.githubusercontent.com/ltdrdata/ComfyUI-Manager/main/github-stats.json
[ComfyUI-Manager] default cache updated: https://raw.githubusercontent.com/ltdrdata/ComfyUI-Manager/main/extension-node-map.json
[ComfyUI-Manager] default cache updated: https://raw.githubusercontent.com/ltdrdata/ComfyUI-Manager/main/custom-node-list.json
FETCH ComfyRegistry Data: 5/82
FETCH ComfyRegistry Data: 10/82
FETCH ComfyRegistry Data: 15/82
FETCH ComfyRegistry Data: 20/82
FETCH ComfyRegistry Data: 25/82
FETCH ComfyRegistry Data: 30/82
FETCH ComfyRegistry Data: 35/82
FETCH ComfyRegistry Data: 40/82
FETCH ComfyRegistry Data: 45/82
FETCH ComfyRegistry Data: 50/82
FETCH ComfyRegistry Data: 55/82
FETCH ComfyRegistry Data: 60/82
FETCH ComfyRegistry Data: 65/82
FETCH ComfyRegistry Data: 70/82
FETCH ComfyRegistry Data: 75/82
FETCH ComfyRegistry Data: 80/82
FETCH ComfyRegistry Data [DONE]
[ComfyUI-Manager] default cache updated: https://api.comfy.org/nodes
FETCH DATA from: https://raw.githubusercontent.com/ltdrdata/ComfyUI-Manager/main/custom-node-list.json [DONE]
[ComfyUI-Manager] All startup tasks have been completed.

Voilà … vous n'avez plus qu'à faire pointer votre navigateur sur http://127.0.0.1:8188 ou sur l'adresse IP externe si vous êtes à distance …

Pour récupérer vos réalisations, visitez le répertoire :

~/ComfyUI/output/

Amusez vous bien et n'hésitez pas à m'envoyer vos plus belles réussites ;)

Résolution des erreurs courantes

Parce que oui, ça peut arriver …

ModuleNotFoundError (yaml, git, rich, toml, aiohttp, etc.)

Installer les dépendances demandées :

pip install kornia spandrel av aiohttp gitpython rich toml typing-extensions –no-cache-dir –break-system-packages

No module named 'torch’

Vérifiez que vous êtes bien dans le venv :

source ~/ComfyUI/venv/bin/activate

Puis réinstaller torch :

pip install torch torchvision torchaudio –extra-index-url https://download.pytorch.org/whl/nightly/cpu

Puis quitter le venv :

deactivate

Problèmes de dépendances pip (externally-managed-environment)

Utiliser –break-system-packages pour forcer l'installation.

Erreur lors de l'import des comfy_extras (kornia, spandrel, av)

Installer les modules manquants :

pip install kornia spandrel av –no-cache-dir –break-system-packages

Sources :

montmartrebear:
“The traditional spring sunset alignment over Champs-Elysées known as “ParisHenge”.
I had a camera again this year but I still don’t have a long focal… While this usually requires a 300mm, I had to use a 70mm and crop the center. But...

montmartrebear:

The traditional spring sunset alignment over Champs-Elysées known as “ParisHenge”.
I had a camera again this year but I still don’t have a long focal… While this usually requires a 300mm, I had to use a 70mm and crop the center. But after all… not too bad for an handheld attempt I wasn’t expecting anything from.
Shot on 2019-05-12 with moral support from @romainfructi :-)
.
#champsElysees #sunset #alignment #sun #solarAlignment #paris #france #europe #spring #avenue #avenueDesChampsElysees #ParisHenge #ParisSunset #ArcDeTriomphe (at Avenue des Champs-Élysées)
https://www.instagram.com/p/BxeedVXIEMe/?utm_source=ig_tumblr_share&igshid=18r2busxfvcku

On promène tout le monde d’un coup :)

On promène tout le monde d’un coup :)