L'acharnement est au bout du chemin,
ou Ma soekris sous slackware: passeport pour l'enfer
On m'a donné une carte soekris, http://www.soekris.com/net4801.htm ,
avec un splendide boîtier chromé, deux cartes flash et un disque dur de 20Go.
Je me suis dit que ça jouerait parfaitement le rôle de mon firewall en remplaçant un PC vieillissant et vrombissant de ses ventilos grinçants.
Et par un bel après-midi d'hiver j'ai pris mon câble série, un autre PC sous slackware et en avant, je pensais vite en finir.
Que nenni! L'enfer pavé des pires intentions n'est que doux plaisirs face à ce que j'ai du endurer pour installer linux sur cette carte, et seule mon expérience blanchie sous le harnais m'a permis de ne pas aborder les rivages de la folie que j'ai pourtant touché du doigt. Eloignez les enfants de l'écran, je m'en voudrais de leur donner de quoi produire des cauchemards pour le restant de leur vie qu'ils voudront abréger avant terme. Mais assez de paroles et place à l'horreur, l'horreur.
0- L'acces serie.
Sous linux, tout le monde utilise minicom pour se connecter sur le port serie, mais avec mon minicom, je ne vois absolument rien. J'essaie avec gtkterm, je vois le boot de la soekris, je me dis que ça va être simple, hahaha j'en ris d'aise et c'est parti..
I- le boot.
Le but pour installer une distro, c'est déjà de lancer un noyau et l'initrd associé. Les cartes soekris peuvent booter par le réseau, mais je préfère encore utiliser la carte flash. J'ai une 3e carte flash, je m'essaie a installer lilo dessus: zéro.
La carte passe de hdc sur mon portable en hda sur la soekris.
--> Echec.
Après tout, pourquoi ne pas essayer un autre bootloader. Je n'ai pas grub, j'ai syslinux. J'installe syslinux. Sauf que... rien, le néant intégral, ca ne boote tout simplement pas.
--> Echec.
Apres quelques googlages et beaucoup de reboot, je me souviens que j'avais eu le même souci pour rendre bootable une clé USB. Le bootloader syslinux s'installe très bien depuis windows mais pas depuis linux. Pas de bol.
--> Echec.
Avant de sombrer dans la folie furieuse et de jeter la soekris par la fenêtre, je regarde une carte flash qui m'était donnée avec, et coup de bol incoryable qu'on se croirait dans des mauvais films américains pour imaginer des coïncidences pareilles, grub est installé. Il y a 4 partitions, seule la 4e est montable, je mets le noyau dessus et l'initrd. Pas de menu.lst. Pour toute la suite de l'install, je suis obligé de retaper sous le shell grub l'ensemble des lignes me permettant de booter mon noyau. Premier essai, je change le noyal par
kernel (hd0,3)/bzImage et ... RIEN!
--> Echec.
Une fois de plus le néant total. Après quelques coups de pieds sur le hardware qui defoule un peu, je me donne un temps de réflexion et je me rends compte que les messages ne sont pas renvoyés vers le port série (eh oui, une soekris n'a ni clavier ni écran). Lecture du fichier Documentation/serial-console.txt. J'ajoute à la ligne de
commande grub après pas mal de tatonnements:
console=ttyS0,38400n8. Ah, je vois mon noyau booter, c'est cool, et ... kernel panic
--> Echec.
De retour vers la lecture de doc. Et c'est ma faute dans les paramètres de grub. La ligne initrd ne doit pas être sur la même ligne que la ligne kernel. Je mets les bonnes lignes, et enfin j'arrive au prompt root de l'installeur slack.
II-L'installeur.
Je fdisk le disque dur de la soekris, je lance fièrement 'setup', le programme chargé de l'installation, je choisis le menu ADDSWAP, et... boum, je retombe sur le menu initial.
--> Echec.
Comme la sortie dialog est abominable sous gtkterm, je relis des docs sur minicom pour utiliser minicom. Il y a du mieux, mais ca ne fonctionne toujours pas. Retour au menu initial. Et pour tous les autres choix, c'est identique. Tiens? Y aurait il un bug? Le programme setup est un script shell basé sur dialog. Je le n'hack tranquillement pour me rendre compte qu'il y a bien un bug.
--> Echec.
Apres étude, il se trouve que dialog envoie les choix sur la sortie 2, et que la sortie 2 est polluée par le message d'erreur
libgpm: zero screen dimension, assuming 80x25
ce qui fait que la comparaison qui est faite sur la sortie 2 n'est pas bonne... Hélas et trois fois hélas. Je n'ai pas trop moyen de débugger l'integralité du script, donc je laisse tomber.
--> Echec
III-La solution alternative.
Puisque je ne peux pas l'installer, je dégaine la solution réseau. Je zappe l'installeur, je vais me décapsuler une bière, et j'installe une slack dans un qemu, je monte le disque:
mount -t ext2 -o loop,offset=32256 slack12.img /mnt/hd
cd /mnt/hd
tar cvf - . | nc 192.168.1.12 12000
Et sur la soekris, depuis l'initrd d'install qui a la bonne idée d'avoir netcat également, je lance un
nc -l -p 12000 | tar xvf -
Mais, lorsque je tape:
ifconfig eth0 192.168.1.12, la soekris me lance d'une voix diabolique:
eth0 device not found.
--> Echec
Je commence a me dire que je peux recapsuler ma bière. Aucun module supplementaire n'est fourni dans l'initrd. Le chipset réseau s'appelle DP83816SVC. Je google, rien. (d'ailleurs, msieur google, le pic de charge de vos serveurs d'hier, c'etait moi, hein, pas d'inquietude). Je greppe dans les sources du noyau, rien. Le desespoir me taraude, tel le ver dans le vieux meuble. Heureusement, la voix de Linus T. traverse les nuages, et me parle en ces termes: "Les familles de chipset, petit, n'oublie pas les familles de chipset". Et effectivement, un grep sur DP8381 me montre que c'est la famille DP8381x et le module natsemi. Je recopie le module sur la carte flash, je reboute pour au moins la 3000e fois depuis le debut de l'après-midi, je copie l'ensemble de la slack12 sur le disque de la soekris, et zou.
IV-Le boot post install
Premier boot. kernel-panic.
--> Echec
Je corrige le root=/dev/hdb1 qui va bien. Puis ca boote, et paf. /dev/hda1 ne peux pas etre lu (vous vous souvenez, il y a 4 partitions et seule la 4e est lisible...). Donc mot de passe root, check de la partoche (elle est HS) et reboot... donc re-check, etc... Rhaaah!
--> Echec.
Je formatte les 3 premières partitions de la carte flash sur le portable, et reboot de la soekris. Le message est limpide, alors que je me liquéfie litteralement: GRUB stage2 not found, et donc pas de boot.
--> Echec.
Coup de bol incroyable, la seconde carte flash qu'on m'a donné avec la soekris a aussi grub d'installé, et les partitions sont lisibles. Reboot. Je pense a corriger la fstab et la bonne ligne root=.
Et... udev braille avec des messages qui ressemblent à du kernel oops.
--> Echec.
Je reboote encore une fois dans l'initrd, je désactive udev, et je reboote. Le boot progresse, progresse, puis tout reste figé sur starting sshd. Le ping ne passe pas. Rien.
--> Echec.
Je désactive sshd. Je reboote. Le boîtier reste fige sur la ligne precedente: starting syslogd klogd. Toujours pas de ping.
--> Echec
V-J'y vais a la bourrin.
Je démonte tout le boitier, je récupère un pont USB-IDE, et je boote un qemu de cette manière:
qemu -m 64 -kernel huge.s -append "root=/dev/hdb1 console
=ttyS0,38400n8" -hda /dev/hdc -hdb /dev/sda
vous voyez l'astuce, qemu va simuler les bons periphs (le hdc c'est ma carte flash, et le sda le disque dur).
Et... Ca boote!
En fait, j'avais oublie de relancer la console serie pour se loguer dans l'/etc/inittab.
Et donc le boot ne bloquait pas, il etait fini. Et pour les pings, c'est que sans udev, il faut charger les modules réseaux a la main. Je corrige ce qu'il faut dans les scripts de démarrage. Je remonte tout dans le boitier. Ma bière est éventée.
--> Réussite
En conclusion, j'aurais rarement autant galéré pour installer une machine (parceque je vous ai epargne en plus pas mal de bugs tiers, d'erreurs et les recherches annexes qui n'ont pas abouti sinon j'ecrivais douze pages).
J'aurais appris pas mal de choses sur la gestion des ports séries.
Tout n'est pas encore reglé, entre autre le lilo que j'ai installé et qui a un affichage très curieux.
A part ca, la soekris ronronne aujourd'hui, et ca a l'air vraiment bien comme petit firewall silencieux.
Encore une slack d'installée qui roulaize.
# on est pas vendredi mais je ne peux m'en empêcher
Posté par Mr Kapouik (site web personnel) . Évalué à 0.
[^] # Re: on est pas vendredi mais je ne peux m'en empêcher
Posté par Toto . Évalué à 1.
Au bout de quelques heures, je me suis décidé à changer de distrib et me suis dit pourquoi ne pas tester un BSD, c'est l'occasion.
L'installation (par le réseau) s'effectue en 2 temps 3 mouvements, aucun problèmes alors que je n'avais jamais utilisé de BSD et suis plutot familier avec les Debian, que du bonheur.
Mais sinon y a pas a dire les Soekris, comme routeur / fw c'est un régal, ca fait pas de bruit, ca consomme pas, et ca a suffisement d'interface réseau pour faire mumuse avec des architectures un peu capilotractée :)
[^] # Commentaire supprimé
Posté par Anonyme . Évalué à 2.
Ce commentaire a été supprimé par l’équipe de modération.
[^] # Re: on est pas vendredi mais je ne peux m'en empêcher
Posté par Toto . Évalué à 1.
Pour ma soekris, je n'ai pas d'autre possibilité que de faire une net-install (pas de lecteur de flash, et pas envie de dépenser des sous pour ca ;))
Or il y a une obscure incompatibilité Debian / Soekris au niveau du BOOTP, je ne sais plus à quel niveau, mais l'incompatibilité est connue et documenté sur internet (mais avant de la trouver, faut penser à tapper les bon mot dans notre ami google), pour ca que je parle de galère ;)
Et quittes à prendre une autre distrib, je me suis dit pourquoi pas une BSD, pour tester leur packet filter. Et voila, je suis content de mon choix, mais j'aime tout autant ma debian sur mes ordinateurs :)
[^] # Commentaire supprimé
Posté par Anonyme . Évalué à 2.
Ce commentaire a été supprimé par l’équipe de modération.
# ...
Posté par M . Évalué à 2.
Pourquoi faire simple quand on peut se taper des heures de galères.
# pourquoi blamer le matériel quand l'erreur est entre la chaise et le...
Posté par twisla (site web personnel) . Évalué à 1.
Y a un but à ce journal autre que de montrer ton incompétence profonde en matière de recherche documentaire ainsi que d'administration Linux ?
Y a whatmille Howto's qui expliquent comment se servir d'un port série et régler la vitesse, et encore plus qui expliquent comment netbooter un soekris.
De plus, comme dit plus, on installe OpenBSD sur ces babasses, et ça prend 20 minutes tout au plus (allez, 3 minutes de plus pour setup le dhcpd/tftpd).
La prochaine fois, lis la doc et garde tes aigreurs pour un post dans un forum quelquonque.
Cordialement,
twisla.
[^] # Re: pourquoi blamer le matériel quand l'erreur est entre la chaise et l
Posté par octane . Évalué à 1.
-> Ah, pardon, j'ai reussi a installer linux malgré: un syslinux foireux, un demi grub, un script udev zarb, un manque cruel de module reseau, un bug dans l'installeur, vraisamblablement un bug dans gtkterm et une succession de manque de bol incroyable. Donc administrer linux, ca va je me débrouille, petit gars, mais bon on va pas faire un concours de bite non plus, hein.
Y a whatmille Howto's qui expliquent comment se servir d'un port série et régler la vitesse
-> Aucun probleme n'est venu du réglage de la vitesse du port série, et si tu connaissais un peu soekris, tu saurais qu'ils travaillent par défaut en 9600bps. Donc un minimum de culture t'aurait fait comprendre en lisant des 38400 partout que oh surprise, la configuration de vitesse ne m'a pas posé de problème...
netbooter un soekris
-> je sais netbooter des machines, mais comme j'avais des flash sous la main, j'ai preferé les utiliser. De plus, ma derniere installation en netboot avait été impossible: problème de taille du fichier initrd.img du à une limitation interne du programme yaboot, eh ouais, p'tit gars ça arrive. L'expérience sert a ne pas répéter les mêmes erreurs; donc là, j'ai vachement privilégié la solution boot depuis carte flash.
De plus, comme dit plus, on installe OpenBSD sur ces babasses
-> merci, et tu vas bientot me dire quelle couleur de calecon je dois mettre? Si je veux mettre un linux, je colle un linux. Si en plus je veux une slack, je colle une slack, et ce n'est pas parceque trois blaireaux dans ton genre me dise "gnagnagna openBSD" que je vais changer de système. La slack est installée, et elle roulaize.
La prochaine fois, lis la doc et garde tes aigreurs pour un post dans un forum quelquonque.
-> Je n'ai fait que lire de la doc mon grand. Masi bon, il faut croire que l'humour passe mal en fin d'année. Encore un peu de dinde au foie gras pour faire digérer?
Cordialement
-> Cordialement aussi, bonne année, et que toute la joie des petits lutins innonde ton petit coeur.
[^] # Re: pourquoi blamer le matériel quand l'erreur est entre la chaise et l
Posté par twisla (site web personnel) . Évalué à 1.
Je m'étonne qu'un admin tel que toi n'aie pas simplement tappé un
screen /dev/ttyS0
-> Aucun probleme n'est venu du réglage de la vitesse du port série, et si tu connaissais un peu soekris, tu saurais qu'ils travaillent par défaut en 9600bps. Donc un minimum de culture t'aurait fait comprendre en lisant des 38400 partout que oh surprise, la configuration de vitesse ne m'a pas posé de problème...
oh, bien sur,
screen -s 9600 /dev/ttyS0
mais bien sur, il n'y a que le bios du soekris qui est à coup sur en 9600, je n'ai jamais tenté d'install de slack sur un port série, ni en netboot, je ne sais donc la vitesse par défaut (qui, je suppose peut se configurer à l'init du kernel, comme dans un etc/boot.conf à la racine du serveur tftp pour OpenBSD).
Après, le soekris, une fois dans son bios, tu y colles ce que tu veux comme vitesse, perso je passe ceux que j'installe en 115200.
-> ...
Bref, rien qui ne vaille autant de *plaign*, je suis fatigué de cette mode de s'épancher sur la place publique.
[^] # Re: pourquoi blamer le matériel quand l'erreur est entre la chaise et l
Posté par octane . Évalué à 1.
Je m'étonne qu'un admin tel que toi n'aie pas simplement tappé un
screen /dev/ttyS0
Il est de notoriété publique que screen m'ajoute les modules réseaux manquants, me corrige syslinux, me corrige le programme dialog fourni, et fasse le café. En fait, je vais te dire, je n'ai pas utilisé screen parceque j'avais peur qu'en plus il me fasse gagner au loto.
Une autre raison beaucoup plus pragmatique est que j'ignorais que screen servait de terminal série. Mais bon, on en apprend tous les jours, hein? BTW, mon man me signale que le -s signifie:
-s sets the default shell to the program specified, instead of the value in the environment variable $SHELL (or "/bin/sh" if not defined). This can also be defined through the "shell" .screenrc command.
Bref, rien qui ne vaille autant de *plaign*, je suis fatigué de cette mode de s'épancher sur la place publique.
T'en a pas marre de t'épancher sur la place publique que les gens qui se plaignent te fatiguent?
# bon
Posté par Anonyme . Évalué à 2.
dès la premiere ligne il y a un truc
La carte passe de hdc sur mon portable en hda sur la soekris.
oui et alors, c'est un peu normal non ? un man lilo.conf t'aurais aider a l'installer sur autre choses que /dev/hda d'ailleurs pour ce genre d'activitées je prefere lilo que grub, un /dev/hdc est plus parlant que 2,0 mais bon.
prendre syslinux, hum ! mauvais choix si vous ne connaissez pas l'utilisation de lilo. c'est une philosophie differente utilisé uniquement pour les disquettes, les cdrom et d'autre truc un poil exotique, beaucoup de lecture en perspective car peu utilisé mais c'est possible
pour installé grub sur un endroit particulier c'est dans le meme genre que lilo. un peu de lecture et c'est parti.
enfin bon je te dis cela gentiment :), du moment que cela marche, hi ! hi ! utiliser qemu plutot qu'un bon lilo.conf c'est un peu comme utiliser un script perl pour chercher un mots dans un fichier texte ^_^, ou lancer emacs pour modifier un ficher de configuration (resolv.conf au hasard)
bonne fete
[^] # Re: bon
Posté par octane . Évalué à 1.
La carte passe de hdc sur mon portable en hda sur la soekris.
oui et alors, c'est un peu normal non ?
Tout à fait. Et partant de là, comment écrire un lilo.conf qui va s'installer dans le disque hdc, et qui va prendre en compte le fait que le disque sera ensuite booté en tant que hda? Je ramasse les copies dans 10mn.
Or donc, si on écarte lilo, que reste t'il? Un bootloader indépendant du device sur lequel il est. Vous en connaissez beaucoup? Bah sur ma slack, il n'y a pas de grub, mais il y a syslinux. Il sait booter un noyau et un initrd situé sur un device en FAT. Il s'agit du candidat parfait. J'ai pas mal joué dans le temps avec pour me faire des clés USB linux bootables (à l'aide de zipslack aujourd'hui disparu).
Maintenant si quelqu'un peut me dire pourquoi malgré la présence d'un flag bootable et du ldlinux.sys, la carte ne boote absolument pas, je suis preneur.
[^] # Re: bon
Posté par Anonyme . Évalué à 2.
les chemins vers le noyau et initrd sont sous la forme /boot/bzimage /boot/initrd donc peu importe la partition sur laquelle cela se trouve. puis il suffit de lui dire de s'installer sur /dev/hdc c'est boot=/dev/hdc (de memoire)
image = /boot/bzimage
label = linux
root = /dev/hda1 (et non pas hdc1 boulet)
ta carte se transforme en hda lors du boot, ce n'est pas grave puisque /boot/bzimage seras toujours /boot/bzimage quelque soit le /dev/hdx. de plus tu as anticiper le deplacement de la carte en mettant root = hda1 et non pas hdc1
mais je reconnais que ce n'est pas evident a savoir, en fait tu complique trop, l'utilisation de qemu le prouve. mais c'est juste un reproche sympatiques pour que la prochaine fois tu trouve la voie la plus simple et la plus rapide.
l'important est que cela marche :), de toute facon linux ne s'installe qu'une fois
[^] # Re: bon
Posté par octane . Évalué à 1.
tu m'en diras tant.
les chemins vers le noyau et initrd sont sous la forme /boot/bzimage /boot/initrd donc peu importe la partition sur laquelle cela se trouve. puis il suffit de lui dire de s'installer sur /dev/hdc c'est boot=/dev/hdc (de memoire)
certes, certes..
image = /boot/bzimage
label = linux
root = /dev/hda1 (et non pas hdc1 boulet)
Sauf que même écrit /dev/hdc1 ou même, soyons fou /dev/hdd42, le but consise à lancer un noyau. Au pire, tu te choppes un méchant kernel panic car la racine n'est pas la bonne, mais ça se corrige sur la ligne de commande lilo.
Mais bah, mon problème c'est que le noyau n'est pas lancé. Si tu commences a réfléchir à mettre la charrue avant les baufs, on est pas rendu.
ta carte se transforme en hda lors du boot, ce n'est pas grave puisque /boot/bzimage seras toujours /boot/bzimage quelque soit le /dev/hdx. de plus tu as anticiper le deplacement de la carte en mettant root = hda1 et non pas hdc1
Félicitation, si tant est que ta méthode eu marché, tu viens de vautrer le boot. Le système n'est _pas_ sur /dev/hda1 (la carte flash qui n'a qu'un noyau et un initrd copié dessus), mais sur /dev/hdb1. La carte flash n'est là que pour booter un noyau. Le système est sur le disque dur.
De plus lilo n'utilise le filesystem que lors de son installation dans le MBR pour trouver le noyau. Apres, /boot n'a plus aucune signification pour lui lors du boot. Enfin, ca reste du detail.
L'essentiel reste que j'ai testé différents trucs comme ça, et c'est niet, ca ne boute pas.
Pas de bol, hein. Il doit y avoir une subtilité qui m'échappe.
en fait tu complique trop, l'utilisation de qemu le prouve.
Donnes moi une autre méthode pour valider mon installation à cette instant.
Il aurait au contraire été largement plus simple de faire toute l'installation de cette manière, mais l'enchainement des étapes en a décidé autrement.
[^] # Re: bon
Posté par Anonyme . Évalué à 3.
perdu.
je ne te dis pas cela mechament hein ! je crois que tu cherche a trop compliqué. mais bon tu as l'air d'avoir toujours raison. pour moi j'arrete là. je ne troll plus en 2008
[^] # Re: bon
Posté par octane . Évalué à 1.
eh non..
Amusons nous aux dépends des utilisateurs de lilo. Tu utilises lilo? Alors avant de taper ces commandes, assures toi de bien les comprendre:
su -
cd /boot
mv bzImage a (holy crap! plus de noyal)
cp a bzImage (ah, le voila de nouveau)
shred a (bah oui, a quoi sert ce vieux fichier a pourri?)
reboot
et boum! a pu reboot. OMG! La question est: et pourquoi donc? Le noyau est toujours situé dans /boot pourtant? Mais que s'est il passé? (hint: la meme manip avec grub se passe comme un charme).
mais bon tu as l'air d'avoir toujours raison.
he non. Et a ce niveau la, linux c'est une tres bonne ecole de l'humilite. Quand je vois ce qu'il me reste a apprendre face au peu que je sais, ca donne le vertige.
Donc je suis toujours preneur de lecons a ecouter. Et si quelqu'un a la solution pour lilo, et le deplacement de disque, je prends.
[^] # Re: bon
Posté par lezardbreton . Évalué à 1.
cd /boot
mv bzImage a (holy crap! plus de noyal)
cp a bzImage (ah, le voila de nouveau)
shred a (bah oui, a quoi sert ce vieux fichier a pourri?)
reboot
A moins de ne rien avoir compris à ce que tu m'as mis ci-dessus, il te manquerait pas un lilo avant le reboot ? Tu peux détailler un petit peu ?
[^] # Re: bon
Posté par octane . Évalué à 0.
Si, tout a fait. Mais le message complet est:
"amusons nous aux depends des utilisateurs de lilo" puis "pas de reboot".
[^] # Re: bon
Posté par Nicolas Boulay (site web personnel) . Évalué à 2.
http://f-cpu.seul.org/~nico/astromech/astrolinux/astrolinux.(...)
"La première sécurité est la liberté"
[^] # Re: bon
Posté par octane . Évalué à 1.
boot=/dev/sdb
disk=/dev/sdb
bios=0x80
root=/dev/hda1
delay=20
vga=normal
Je vais retourner voir avec mon autre carte flash ce que ca donne.
Il faut peut-etre que je retourne creuser du cote du parametre bios=. Le root= doit etre inutile à ce point du lilo.conf (à vérifier), le delay=20 me surprend. Puisque le noyau boote par defaut et que tu n'as pas active l'affichage de lilo via le port série, ca fait juste attendre 2s..
# minicom
Posté par Batchyx . Évalué à 1.
je fais parti du ''tout le monde qui utilise minicom'' et chez qui ça marche :)
C'est vrai que j'ai pas réussi à faire marcher minicom jusqu'à que je trouve ou que c'est qu'on règle le contrôle de flux. (dans Configurer Minicom -> Configuration du port série). Vu que par défaut il prend un contrôle de flux matériel, et que j'en avais pas sur mon câble alors ça risquait pas de marcher :).
j'imagine qu'il à du t'arriver la même chose : ton noyau utilisait pas un contrôle de flux matériel alors que minicom si...
# contournement
Posté par Guillaume Knispel . Évalué à 1.
--> Echec.
jcrois qu'on peut contourner ce pb là (bien que pas sûr à 100%)
# Ca va pas d'avancer beaucoup...
Posté par Volnai . Évalué à 1.
sinon j'avais installé un openbsd sur un autre aussi, pareil pas de problème, surtout que la methode est très bien documenté un peu partout.
# Le meilleur ET le pire ...
Posté par Olivier Guerrier . Évalué à 1.
Le pire, c'est que ce n'est pas parce que tu n'arrives pas à faire quelques chose que c'est impossible.
Les problèmes que tu as rencontré ont plusieurs solutions. tu as trouvé les compliquées. Quand on te dit qu'il en existe des plus simples, même si la forme n'est pas la plus aimable, écoute ;)
Les cheveux blancs, ce n'est pas que des soucis, c'est aussi de l'expérience... parfois.
Suivre le flux des commentaires
Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.