Publié le 26 février 2020 - par

Installer OctoPrint avec l’écran HyperPixel sur Raspberry Pi

OctoPrint sort régulièrement des mises à jour de sa distribution. A l’occasion d’une refonte de mon installation je vous propose de suivre les étapes d’une installation complète. Comme je dispose d’un écran HyperPixel 4 pouces tactile de Pimoroni, c’est celui que j’utiliserai avec OctoPrint.

Installer OctoPrint avec l’écran HyperPixel sur Raspberry Pi

Cliquez pour lire les définitions des niveaux

Matériel utilisé

  • Raspberry Pi 3B
  • Ecran Pimoroni Hyperpixel tactile
  • Carte microSD 8Go
  • Distribution OctoPi 0.17.0 :
pi@octopi:~ $ lsb_release -a
No LSB modules are available.
Distributor ID: Raspbian
Description: Raspbian GNU/Linux 10 (buster)
Release: 10
Codename: buster

Déroulement de l’installation

L’installation se fera en deux temps, tout d’abord en transférant la distribution OctoPi téléchargée sur le site de OctoPrint.org. Suivra la configuration d’OctoPrint. (Par la suite j’utiliserai indifféremment OctoPrint ou OctoPi, même si je parle de la distribution OctoPi).

Quand OctoPrint sera fonctionnel ce sera la moment d’installer l’écran HyperPixel. Comme la distribution OctoPrint est basée sur une version lite de Raspbian, l’utilisation de l’écran graphique impose l’installation de l’interface graphique.

J’ai opté pour cette solution pour ne pas installer OctoPrint sur une distribution graphique “encombrante” et pour supprimer les paquets inutiles ensuite. Ici la distribution 2019-09-26-octopi-buster-lite-0.17.0.img fait 2.8Go à l’origine.

Installation de la distribution OctoPrint

Copier la dernière version de la distribution OctoPrint depuis la page de téléchargement du site.

Copiez la distribution sur une carte microSD (j’ai utilisé une 8Go).

Configuration du WiFi

Accédez à la carte SD que vous venez de créer. Ouvrez le fichier octopi-wpa-supplicant.txt. (attention, sous Windows utilisez Notepad++ car le bloc-notes introduit des caractères parasites !)

## WPA/WPA2 secured
network={
    ssid="Livebox-5xx9"
    psk="258xxxxxxxxxxxxxxxxxx09279"
}
.../...
# Uncomment the country your Pi is in to activate Wifi in RaspberryPi 3 B+ and above
# For full list see: https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2
#country=GB # United Kingdom
#country=CA # Canada
#country=DE # Germany
country=FR # France

Renseignez les infos sur votre accès WiFi et pensez à supprimer le # devant le nom du pays, sinon le WiFi ne sera pas activé.

Démarrage d’OctoPrint

Mettez la carte dans le lecteur de carte microSD du Raspberry Pi, connectez le câble HDMI pour relier le RasPi à votre écran et connectez en dernier l’alimentation. Le Raspberry Pi démarre sur la distribution OctoPrint.

login as: pi
pi@192.168.1.110's password:
Linux octopi 4.19.75-v7+ #1270 SMP Tue Sep 24 18:45:11 BST 2019 armv7l
The programs included with the Debian GNU/Linux system are free software;
the exact distribution terms for each program are described in the
individual files in /usr/share/doc/*/copyright. Debian GNU/Linux comes with ABSOLUTELY NO WARRANTY, to the extent
permitted by applicable law.
Last login: Tue Feb 25 15:10:40 2020
SSH is enabled and the default password for the 'pi' user has not been changed.
This is a security risk - please login as the 'pi' user and type 'passwd' to set a new password.
------------------------------------------------------------------------------
Access OctoPrint from a web browser on your network by navigating to any of: http://octopi.local
http://192.168.1.110
http://[2a01:cb10:874b:ae00:6e87:b3f5:259e:bf6c]
https is also available, with a self-signed certificate.
------------------------------------------------------------------------------
This image comes without a desktop environment installed because it's not
required for running OctoPrint. If you want a desktop environment you can
install it via sudo /home/pi/scripts/install-desktop 
------------------------------------------------------------------------------
OctoPrint version : 1.3.12 OctoPi version : 0.17.0 
------------------------------------------------------------------------------

Connectez vous en ssh (avec Putty par exemple). Le RasPi est joignable à l’adresse octopi.local si votre PC supporte le protocole bonjour, sinon, trouvez son adresse IP (sur le routeur ou la box, ou en tapant ifconfig sur Raspbian en ligne de commande. Pour ma part je lui ai attribué une adresse fixe sur la box, je le retrouverai toujours en 192.168.1.110.

Lancez sudo raspi-config et changez le mot de passe (c’est préférable comme on va utiliser le Pi en WiFi). Modifiez les Locales pour que le Pi parle français et que le clavier soit AZERTY. Ne vous préoccupez pas d’étendre la partition ou de valider la PiCamera, c’est déjà fait.

Accéder à OctoPrint en page web

Ouvrez un navigateur et tapez l’adresse de votre Raspberry Pi OctoPrint.La page OctoPrint s’ouvre et vous accédez au Setup Wizard (utilitaire de configuration). Cliquez sur Next pour commencer la configuration.

Dans Access Control saisissez un identifiant et un mot de passe pour accéder à OctoPrint. Cliquez ensuite sur Keep Access Control Enabled. Si comme moi vous ne prévoyez pas de connecter le Pi à Internet et qu’il ne sera accessible que sur le réseau local, vous pouvez vous permettre de cliquer sur Disable Access Control. Cliquez ensuite sur Next.

Vous choisissez maintenant si vous souhaitez faire remonter des informations aux développeurs de OctoPrint pour les aider à améliorer le produit. Les informations sont transmises anonymement. A votre choix, cliquez sur Disable (ne pas autoriser) ou Enable (autoriser). Cliquez ensuite sur Next.

Cette étape permet de configurer la périodicité de vérification de la bonne connexion à Internet par OctoPrint (en pingant le DNS 8.8.8.8). Si vous n’autorisez pas cette vérification, OctoPrint considèrera qu’il est toujours connecté à Internet. Cliquez sur Enable pour autoriser. Eventuellement changez l’intervalle de test (15 minutes par défaut). Cliquez ensuite sur Next.OctoPrint maintient une liste noire des plugins qui posent problème. Si vous choisissez d’utiliser cette liste (Enable) les plugins à problème connus seront automatiquement bloqués. Cliquez ensuite sur Next.

On en arrive à la configuration de l’imprimante. Le premier onglet permet de renseigner le nom de l’imprimante. Les suivants

  • Print Bed & build Volume : taille du plateau et volume d’impression
  • Axes : Vitesse sur les 3 axes et l’extrudeur
  • Hotend & extruder : Taille de buse (0,4mm par défaut) et nombre d’extrudeurs.

Quand la configuration est terminée Octoprint vous demande de se recharger pour prendre vos paramètres en compte. Après un court instant vous avez accès à la page web d’OctoPrint.

La première partie de ce tutoriel est terminée. Vous avez maintenant une version d’OctoPrint opérationnelle et accessible via une page web.

Pour rendre autonome le Raspberry Pi supportant OctoPrint, il faut lui adjoindre un écran LCD. J’ai choisi l’écran HyperPixel de Pimoroni dont je vous avais parlé dans un précédent article. Bien entendu vous êtes libre du choix de votre écran LCD, si vous en choisissez un autre il vous appartiendra alors de l’installer 😉 

L’écran HyperPixel

C’est un écran tactile (capacitif multi-touch) TFT 4.0″ à haute résolution (800×400px) et à grande vitesse (60fps) conçu pour le Raspberry Pi.

 

L’écran utilise l’interface DPI, disponible sur les broches GPIO du Raspberry Pi

C’est une interface RVB parallèle 24 bits disponible sur toutes les cartes Raspberry Pi disposant du connecteur 40 broches (A+, B+, Pi2, Pi3, Zero…) ainsi que sur le Compute Module (CM). Cette interface permet de relier des écrans RGB parallèles au GPIO du Raspberry Pi, soit en RGB24 (8 bits pour le rouge, le vert et le bleu), en RGB666 (6 bits par couleur) ou en RGB565 (5 bits pour le rouge, 6 pour le vert et 5 pour le bleu).

C’est cette interface qui est utilisée avec le module VGA666 que je vous avais présenté dans un article de 2014, et qui permet de connecter un terminal VGA directement sur le GPIO du Raspberry Pi.

Cette interface est contrôlée par le firmware du GPU et peut être programmée par un utilisateur via des paramètres spéciaux de config.txt et en activant l’overlay correspondant du device tree Linux.

 

Cela se traduit par une absence totale de câbles, l’écran est simplement connecté sur le connecteur GPIO et… c’est tout. Il a une belle définition et fonctionne bien en mode tactile (il existe une version sans écran tactile, moins onéreuse).

Installation de l’écran HyperPixel

Sortez l’écran de son emballage de protection.

Mettez le rehausseur en place

Montez l’écran sur le Raspberry Pi.

Habillage de la solution

J’ai opté pour un boîtier en impression 3D pour le Pi3B+ et l’écran HyperPixel. C’est Chris Woodle qui en est l’auteur. Il l’a mis à disposition sur Thingiverse (merci Chris 🙂 ). Une version est en cours de développement pour le Pi4 et le même écran. L’avantage de ce boîtier, c’est qu’il est prévu pour réaliser le montage en utilisant les entretoises et la visserie fournies par Pimoroni. Il n’y a donc rien à modifier ou à adapter !

Le boitier en cours d’impression. Les ouvertures en nid d’abeille permettent d’assurer la ventilation.

Le boîtier terminé, posé sur une tablette affichant la page de l’écran HyperPixel sur… framboise314.

Le Raspberry Pi équipé de l’écran 4 pouces tactile HyperPixel avant montage dans le boîtier.

L’adaptation de l’électronique au boîtier est parfaite. Je vous propose de continuer l’installation pour pouvoir afficher des images sur notre écran.

Installation de l’écran sur OctoPrint

Si vous suivez depuis le début, vous avez vu que OctoPi est livré en mode texte. Pas de mode graphique embarqué, on peut juste se connecter en SSH en mode texte ou via une page web.

On va donc dans un premier temps installer l’écran HyperPixel, on ajoutera le mode graphique à la distribution OctoPi ensuite, ce qui permettra de lancer un navigateur web et d’afficher la page d’OctoPrint en local… Il faudra aussi installer ce navigateur web 🙂 

Pimoroni a facilité l’installation en mettant en ligne un script qui va s’en charger pour nous (elle est pas belle, la vie ?) : il suffit de taper

curl https://get.pimoroni.com/hyperpixel4 | bash

Choisissez votre type d’installation. Pour moi ce sera 0 : Pi3 avec un écran rectangulaire.

Ici je vais choisir de ne pas rebooter de suite [N] pour pouvoir choisir le sens du montage de mon écran. La prise d’alimentation sera en haut.

pi@octopi:~ $ hyperpixel4-rotate right
Rotating display
Setting matrix: 0 1 0 -1 0 1
/usr/bin/hyperpixel4-rotate: ligne 10: xinput : commande introuvable
Saving touch settings to /etc/udev/rules.d/98-hyperpixel4-calibration.rules
Please reboot for changes to take effect!

Maintenant on peut rebooter.

sudo reboot

Tout s’est bien passé, le Raspberry Pi a cette fois démarré sur l’écran HyperPixel. L’écran HDMI reste noir, vous pourrez même le débrancher et l’éteindre. On ne s’en rend pas trop compte sur cette photo (j’ai dû trembler un chouia en la prenant) mais la qualité de l’image est vraiment excellente et le contraste impressionnant.

La connexion SSH est toujours opérationnelle et vous pouvez vous en servir pour la suite des opérations.

Installer le mode graphique sur OctoPi

Là encore les développeurs ont pensé à nous. Comme OctoPrint est souvent utilisé en local sur un écran LCD connecté au Raspberry Pi, ils ont tout simplement prévu un script d’installation install-desktop pour faciliter la mise en place du mode graphique :

sudo /home/pi/scripts/install-desktop

On vous demande de taper une touche pour confirmer (CTRL-C si vous avez un remord) puis de choisir si le bureau est lancé au démarrage (j’ai répondu yes). La mise à jour de Buster et l’installation démarrent. Après quelques minutes, en fonction du modèle de Raspberry Pi et de la bande passante de votre connexion Internet, l’installation est terminée.

Traitement des actions différées (« triggers ») pour initramfs-tools (0.133+deb10u1) ...
--- Setting up Pi to boot to desktop
Created symlink /etc/systemd/system/default.target → /lib/systemd/system/graphical.target.
--- Done!
You might want to reboot now: sudo reboot
pi@octopi:~ $

Y’a plus qu’à rebooter.

et ouala

Installer le navigateur chromium

Allez encore un effort, on va installer le navigateur chromium pour pouvoir afficher la page web d’OctoPrint en local sur l’écran du Raspberry Pi.

On va en profiter pour installer Unclutter, une petite application qui masque automatiquement le curseur de la souris au bout d’un temps déterminé. On n’en aura pas besoin avec l’écran tactile.

sudo apt-get install chromium-browser unclutter

Une fois que c’est installé, lancez à nouveau sudo raspi-config

Dans les options de boot choisissez B4 (démarrer en Desktop connecté en Pi) pour que le bureau démarre automatiquement au lancement. Rebootez ensuite.

Le navigateur est apparu dans la barre des tâches, en haut de l’écran. Il suffit de cliquer dessus pour aller sur le web. Notez que quand vous cliquez sur l’écran le curseur de souris apparait puis disparait en quelques secondes (merci unclutter).

Supprimer l’affichage de la fenêtre proposant de traduire la page web

Ouvrir Chromium manuellement. Aller dans Paramètre (3 petits points en haut à droite)

-> aller dans paramètres avancés
-> langue
-> cliquer sur la langue
-> désactiver la mention “Me proposer de traduire les pages qui sont écrites dans une langue que je ne connais pas”

Désactiver l’économiseur d’écran de Raspbian

Par défaut sur cette version de Desktop, l’économiseur d’écran de Raspbian est activé (celui qui affiche des animations aléatoires sur l’écran après qques minutes). Pour l’enlever ouvrez le menu de Raspbian et désactivez l’économiseur d’écran.

Les derniers réglages

Vous pensiez que c’était fini ? Que nenni ! Il va falloir lancer automatiquement le navigateur avec la page web d’OctoPrint lors du démarrage. Si vous le faites manuellement, vous verrez l’écran s’éteindre après quelques minutes. Économiseur d’écran (pas le même que ci-dessus)… pas cool quand on surveille une impression… On va donc s’occuper de tout ça.

Indiquer au serveur X qu’il ne doit pas s’éteindre

Modifier le fichier /etc/lightdm/lightdm.conf comme suit

[Seat:*]
#type=local
#pam-service=lightdm
#pam-autologin-service=lightdm-autologin
#pam-greeter-service=lightdm-greeter
#xserver-backend=
xserver-command=X -s 0 dpms
#xmir-command=Xmir
#xserver-config=
#xserver-layout=
#xserver-allow-tcp=false

Enlever l’économiseur d’écran, démarrer chromium sur OctoPrint en mode Kiosk

Faites une sauvegarde du fichier autostart avant de le modifier puis

sudo nano /etc/xdg/lxsession/LXDE-pi/autostart

Le fichier d’origine contient

@lxpanel --profile LXDE-pi
@pcmanfm --desktop --profile LXDE-pi
@xscreensaver -no-splash

Notez bien le double tiret devant profile et desktop. Ce double tiret va aussi être utilisé ci-dessous. Ajoutez les lignes suivante à la fin du fichier autostart.

@point-rpi
@xset s off
@xset -dpms
@xset s noblank
@sed -i ‘s/ »exited_cleanly »: false/ »exited_cleanly »: true/’ ~/.config/chromium/Default/Preferences
@/usr/bin/chromium-browser http://127.0.0.1 --noerrdialogs --incognito --start-maximized --kiosk --ash-host-window-bounds 800x480
  • point-rpi fait pointer la souris sur la framboise du menu, en haut à gauche
  • Les lignes xset suppriment l’économiseur d’écran.
  • Le ligne sed élimine certains messages
  • la dernière ligne lance le navigateur avec les options nécessaires (lisez ceci pour en savoir plus). En mode Kiosk vous ne pouvez pas fermer le navigateur et il reste au dessus du bureau.

Si vous êtes connecté sur l’adresse d’OctoPrint depuis un PC vous obtenez la page ci-dessus.

Test d’OctoPrint sur un Raspberry Pi 3 avec écran HyperPixel de Pimoroni.

C’est la même page sur l’écran HyperPixel… sauf que… la page est plus grande que l’écran et qu’il faut se déplacer pour la voir en entier. On va donc installer un plugin. Il en existe plusieurs comme OctoScreen ou TouchUI. J’ai choisi ce dernier : TouchUI qui semble plus stable d’après les forums… mais ça peut évoluer en fonction de la prise en compte des bugs et de l’évolution du logiciel.

Installer TouchUI

La procédure d’installation provient de la page du plugin TouchUI du site OctoPrint.

saisissez en ligne de commande :

oprint/bin/pip install "https://github.com/BillyBlaze/OctoPrint-TouchUI/archive/master.zip"

Ne tenez pas compte des erreurs concernant Python 2.7 ou pip, l’installation se passe bien malgré ces alertes. Redémarrez Raspbian et…

L’interface démarrera automatiquement lorsque votre navigateur aura une largeur inférieure à 980 pixels ou si vous naviguez avec un appareil à écran tactile. Vous pouvez l’activer et la désactiver manuellement dans le paramétrage de l’interface tactile. Vous pouvez également forcer le chargement de l’interface tactile en ajoutant #touch à la fin de votre URL.
Pour en savoir plus sur les options de configuration, consultez la page du Wiki.

Sur la copie d’écran ci-dessus l’imprimante est connectée. Au premier démarrage il faudra indiquer à OctoPrint où se trouve l’imprimante.

Cliquez sur l’icône du menu en haut à droite, puis sur connexion (quand l’imprimante n’est pas connecté le symbole du WiFi est grisé).

Sélectionnez le port auquel l’imprimante est reliée (pour moi elle est reliée à un port USB du Raspbery Pi). 

Le premier onglet (cadran) permet de régler la température. Ici j’ai programmé 150°C et on a la courbe de la température de la tête en cours de chauffe.

L’observation de la courbe permet aussi de vérifier le réglage du PID et de le reprendre si on constate trop de dépassement ou une oscillation importante de la température.

Dans l’onglet représenté par une manette de jeu, les flèches permettent les déplacements de la tête d’impression ainsi que le retour à la position “home”. On peut mettre en route ou arrêter le ventilateur de la tête d’impression, et extruder du filament (il faut que la tête soit à la température !). Je vous laisse découvrir tout ça, ce n’est pas un article sur l’utilisation d’OctoPrint ou de TouchUI mais juste un tutoriel d’installation 🙂 

Sur la Gaia3DMAX que j’utilise, le tout fonctionne parfaitement du premier coup.

C’est bon pour l’installation de TouchUI. Il y a encore quelques soucis de taille de fenêtres que je n’ai pas résolus mais ça ne semble pas trop contraignant pour une utilisation normale. Parfois la fenêtre est plus grande que l’écran et je ne peux pas valider car le bouton est hors de l’écran et la fenêtre ne se déplace pas… Dans ce cas je repasse sur une page web sur un PC… Affaire à suivre

Connexion d’une caméra USB

Je n’ai pas souhaité immobiliser une de mes CameraPi sur l’imprimante 3D. J’avais une caméra Logitech C270 720p inutilisée depuis le passage à la HD 1080p, c’est elle qui sera chargée des prises de vue. C’est un modèle géré par Raspbian. Si vous installez un autre modèle (compatible), il faudra chercher un peu pour l’installer si la prcédure ci-dessous ne fonctionne pas.

La caméra a subi une petite modification, elle a reçu une nouvelle face avant ainsi qu’une molette permettant de régler la mise au point pour obtenir une image nette à faible distance. Les fichiers proviennent de Thingiverse.

Quand on clique sur l’onglet comportant un appareil photo on obtient ce message qui indique que la caméra n’est pas connectée. Connectez la caméra sur un port USB.

Ouvrez un terminal pour vérifier que la caméra est bien détectée :

pi@octopi:~ $ lsusb
Bus 001 Device 005: ID 046d:0825 Logitech, Inc. Webcam C270

Vous devriez avoir une ligne de ce genre avec la référence de votre caméra. Pour qu’elle soit activée, il faut modifier le fichier /boot/octopi.txt

sudo nano /boot/octopi.txt

et ajoutez à la fin du fichier

# Ajout de la caméra USB Logitech C720
# En 1280x720 pixels à 30 fps
camera="usb"
camera_usb_options="-r 1280x720 -f 30"

Redémarrez le Raspberry Pi et ….

Vous avez l’affichage de ce que voit la caméra. Ici la tête d’impression et le capteur capacitif. Comme c’est une page web servie par le Raspberry Pi, vous pourrez vous y connecter depuis un smartphone ou une tablette pour surveiller vos impressions à distance. Ça peut éviter de se retrouver avec un plat de spaghettis sur le plateau si votre pièce se décolle…

Réglage de la taille de la fenêtre chromium

–ash-host-window-bounds Sets a window size, optional position, and optional scale factor. “1024×768” creates a window of size 1024×768. “100+200-1024×768” positions the window at 100,200. “1024×768*2” sets the scale factor to 2 for a high DPI display. “800,0+800-800×800” for two displays at 800×800 resolution. “800,0+800-800×800,0+1600-800×800” for three displays at 800×800 resolution.

Une vidéo d’Heliox Lab

Et pour revoir tout ça, une vidéo d’Axelle grâce (à cause ?) à qui je suis venu à l’impression 3D. Vous y apprendrez également comment utiliser une prise connectée pour éteindre automatiquement votre imprimante depuis CURA.

Conclusion

Cette réinstallation complète de mon OctoPrint a été l’occasion de réaliser ce tutoriel. J’espère qu’il intéressera un certain nombre de lecteurs du blog. Bien entendu n’hésitez pas à mettre un commentaire si vous utilisez ce tutoriel, ou si vous avez trouvé une coquille ou un bug dans le texte, je corrigerai avec plaisir.

Vous pouvez aussi joindre des copies d’écran ou des photos et me les envoyer en mail, je les ajouterai en fin d’article

Sources

 

 

Share Button

À propos François MOCQ

Électronicien d'origine, devenu informaticien, et passionné de nouvelles technologies, formateur en maintenance informatique puis en Réseau et Télécommunications. Dès son arrivée sur le marché, le potentiel offert par Raspberry Pi m’a enthousiasmé j'ai rapidement créé un blog dédié à ce nano-ordinateur (www.framboise314.fr) pour partager cette passion. Auteur de plusieurs livres sur le Raspberry Pi publiés aux Editions ENI.

10 réflexions au sujet de « Installer OctoPrint avec l’écran HyperPixel sur Raspberry Pi »

  1. Christophe

    Hello !
    Article génial comme d’habitude 😉 Merci !

    (Psst : pour la perfection du texte : je crois que j’ai relevé 2 coquillettes (ben oui des toutes petites coquilles quoi :-p )
    -> Ici j’ai programmé 150°C et ON a la courbe de la température de la tête en cours de chauffe.
    -> ON peut mettre en route ou arrêter le ventilateur de la tête d’impression
    J’espère ne pas polluer la page des commentaires pour si peu ! )
    😉

    Répondre
  2. Satchmo

    Merci beaucoup pour ce tuto qui est le sixième que j’ai essayé et fonctionnel!!
    Un retour d’expérience depuis? Je n’ai pas fais de mise a jour de peur de perdre un système fonctionnel.
    Que donne l’utilisation de la webcam? Pas de plantage?

    Répondre
    1. François MOCQ Auteur de l’article

      bonjour merci 🙂
      non pour le moment je n’ai pas constaté de plantage…
      une fois ou deux je n’ai pas eu l’image de la caméra au démarrage (juste de la neige)
      mais en redémarrant c’est reparti.

      Répondre
      1. Satchmo

        Parfai!
        Suite à votre article je recherche une caméra identique à la votre, qui, il me semble, sera plus facile à installer avec les explications détaillés, mais j’avais peur que cela cause des problèmes.

        Répondre
  3. willem valin

    Très bon tutoriel comme toujours, mes débuts sur la framboise ont commencé par tes tutos.

    Pour l’installation du touchUI, par le pip, ça n’a jamais voulu fonctionner de mon côté, je suis passé par l’installation des plugins par URL, le HIC, c’est suite à l’installation de ce plugin, je n’ai plus accès au plugin-manager et à la configuration de mes autres plugins, comme filament manager, …

    Je vais chercher comment faire, mais actuellement je test ma nouvelle hotend sur mon A20M, l’ancienne se bouchant tout le temps, j’en ai eu marre de la démonter entièrement pour la nettoyer.

    Bonne continuation et ravis de lire d’autres de tes tutos.

    Répondre

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Complétez ce captcha SVP * Time limit is exhausted. Please reload CAPTCHA.

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur comment les données de vos commentaires sont utilisées.