Aller au contenu
imprimante 3D bambu lab pas chĂšre

Messages recommandés

Posté(e)

Bonjour Ă  tous,

 

J'ai pu terminer mon firmware pour la Prusa I3 Original MK2s, je vous le partage en avant premiĂšre.

(Il n'y a pas de faute de frappe, je parle bien de la MK2s, cette imprimante est maintenant ancienne mais j'utilise toujours la mienne)

Voici ce que ce nouveau firmware apporte :

  • Prise en charge de la sonde SUPERPINDA
  • DĂ©tection de la coupure des cĂąbles des thermistances et mise en sĂ©curitĂ© de l'imprimante
  • (optionnel) Sortie pour watchdog externe (cela peut augmenter la sĂ©curitĂ© de l'imprimante)
  • (optionnel) Chauffage et rĂ©gulation de la tempĂ©rature de l'enceinte (manuellement, et aussi via GCODE)
  • (optionnel) Sortie pour alarme externe (alarme active en cas d'anomalie, de fin de filament, de changement de couleur dans le GCODE, et Ă  la fin de l'impression)
  • (optionnel) Sortie pour dispositif externe de mise hors tension à la fin de l'impression (si un code M81 est prĂ©sent dans le GCODE)
  • (optionnel) Capteur de filament

REMARQUES IMPORTANTES :

  • Ce firmware n'est pas compatible avec le MMU1
  • Ce firmware n'est pas compatible avec la PINDA V2
  • Je n'ai fait le test que sur mon imprimante, Ă©quipĂ©e de la carte RAMBo1.3a ; je ne sais pas s'il fonctionne avec une RAMBo1.0
  • Le firmware pourrait fonctionner avec la PINDA V1 mais il faudra ajuster le live Z en fonction de la tempĂ©rature (j'ai dĂ©sactivĂ© la compensation thermique, qui de toute façon fonctionnait mal)
  • Le GCODE M81 n'arrĂȘte pas une impression en cours ; il demande Ă  l'imprimante de mettre Ă  l'Ă©tat bas la sortie pour autoextinction une fois l'impression terminĂ©e et une fois la buse refroidie - attention donc si vous pilotez l'imprimante en USB, utilisez un autre GCODE pour stopper l'impression
  • L'inĂ©vitable DISCLAMINER : impossible de garantir l'absence de bug... Ă  utiliser Ă  vos risques et pĂ©rils ☠

Autres remarques :

  • J'ai modifiĂ© un peu les menus, pour que ce soit plus pratique (rĂ©glage des tempĂ©ratures plus rapide Ă  faire notamment)
  • Il n'y a plus qu'une seule langue : l'anglais (il fallait Ă©conomiser de la mĂ©moire)
  • Dans le code source, pour trouver facilement les parties modifiĂ©es, faires une recherche de "MK2s+" et "MK2sP" - je recommande l'utilisation de NotePad++
  • L'imprimante continuera d'accepter les GCODE faits pour une Prusa I3 Original MK2s non modifiĂ©e

 

Avant de le publier, je dois corriger quelques petits bugs d'affichage (ils ne sont pas gĂȘnants) et aussi sous-titrer la vidĂ©o en anglais.

 

Voici une vidéo de démonstration, qui explique les différentes fonctionnalités apportées par ce firmware :

 

Voici le cĂąblage correspondant

Quelques compĂ©tences en Ă©lectronique Ă  papa sont requises pour les fonctionnalitĂ©s optionnelles - il faudra aussi savoir un peu bricoler pour vous construire une enceinte chauffĂ©e ... et bien sĂ»r ... attention avec le 230V ☠

image.thumb.jpeg.8d5f3c7fb9b3f5fd4ffd0b537e85a9e5.jpeg

 

image.thumb.jpeg.001e6592130156d8a5977a91311c0173.jpeg

Ce cùblage n'est qu'un exemple, vous pouvez faire autrement bien sûr !

 

Voici un lien pour télécharger le firmware (fichier HEX et codes sources) :

https://drive.google.com/file/d/1PGWc6Igs-LtLAZPDZL3BDsNkjzgGb0Gd/view?usp=sharing

 

Pour tirer partit des nouvelles fonctionnalités de ce nouveau firmware (chauffage de l'enceinte et autoextinction), vous devez modifier le GCODE PERSONNALISE de votre MK2s dans Prusa Slicer  comme suit :

GCODE de début :

M862.3 P "[printer_model]" ; printer model check
M862.1 P[nozzle_diameter] ; nozzle diameter check
M115 U3.2.3 ; tell printer latest fw version
G90 ; use absolute coordinates
M83 ; extruder relative mode
M204 S[machine_max_acceleration_extruding] T[machine_max_acceleration_retracting] ; MK2 firmware only supports the old M204 format
M104 S[first_layer_temperature] ; set extruder temp
M140 S[first_layer_bed_temperature] ; set bed temp
M191 S{chamber_minimal_temperature[initial_tool]} ; wait for minimal chamber temp
M141 S{chamber_temperature[initial_tool]} ; set nominal chamber temp
M190 S[first_layer_bed_temperature] ; wait for bed temp
M109 S[first_layer_temperature] ; wait for extruder temp
G28 W ; home all without mesh bed level
G80 ; mesh bed leveling
G1 Z0.2 F720
G1 Y-2 F1000 ; go outside print area
G92 E0
G1 X60 E9 F1000 ; intro line
G1 X100 E12.5 F1000 ; intro line
G92 E0

GCODE de fin :

{if layer_z < max_print_height}G1 Z{z_offset+min(max_layer_z+1, max_print_height)} F720 ; Move print head up{endif}
G1 X125 Y200 F3600 ; park X125 au lieu de X0
{if layer_z < max_print_height}G1 Z{z_offset+min(max_layer_z+49, max_print_height)} F720 ; Move print head further up{endif}
G4 ; wait
M104 S0 ; turn off temperature
M140 S0 ; turn off heatbed
M141 S0 ; turn off chamber heating
M107 ; turn off fan
M900 K0 ; reset LA
M84 ; disable motors
M81 ; turn off printer after print and cooldown

 

A bientĂŽt !

  • Merci ! 1
Posté(e)
Il y a 1 heure, pjtlivjy a dit :

👍 j'ai toujours la mienne dans un coin 😉

Redonnes lui une seconde vie alorsÂ đŸ„°

Certes les imprimantes plus récentes sont plus rapides, mais une MK2s reste pertinente aujourd'hui pour imprimer du TPU par exemple

Si elle prend la poussiĂšre, pourquoi pas la donner Ă  un maker dĂ©sargentĂ© ou une association. Je suis passionnĂ© de sciences et techniques depuis mon entrĂ©e au collĂšge, mais j'aurais jamais eu les moyens de me payer une imprimante 3D mĂȘme quand j'Ă©tais Ă©tudiant. 

Posté(e)

elle est Ă  l'abri de la poussiĂšre et je la maintiens fonctionnelle, je fais les mises Ă  jour. Si tu savais @electroremy tout le matĂ©riel que j'ai pu donner 🙄

  • J'aime 1
Posté(e)

Si tu veux aller au bout, tu peux forker le dĂ©pĂŽt git original et publier tes modifications lĂ . 😉

Avantage : ça permet trÚs simplement de découper les modifications en commits, et simplifie énormément la revue de code pour ceux qui veulent s'assurer qu'un firmware non officiel ne va pas casser leur imprimante.

Posté(e)

Ce serait dommage d'euthanasier électroniquement ces vieilles dames.

Posté(e) (modifié)
Il y a 15 heures, Kachidoki a dit :

Si tu veux aller au bout, tu peux forker le dĂ©pĂŽt git original et publier tes modifications lĂ . 😉

Avantage : ça permet trÚs simplement de découper les modifications en commits, et simplifie énormément la revue de code pour ceux qui veulent s'assurer qu'un firmware non officiel ne va pas casser leur imprimante.

Faudra que je vois comment faire

Il faudra bien séparer chaque fonctionnalité pour permettre un choix "à la carte"

Le gros soucis c'est qu'avec l'IDE Arduino, mĂȘme le code du firmware original aboutissait Ă  un .HEX trop gros. Prusa l'a compilĂ© autrement pour ça rentre pile.

Du coup j'ai supprimé les langues autres que l'anglais pour ça passe, mais ça rend le fork plus compliqué à mettre en place.

Idéalement, il aurait fallu choisir une seul autre langue en plus de l'anglais avec des #include, ce qui permet à la fois à chaque personne d'avoir sa langue, de conserver l'anglais pour le dépannage, et d'avoir de nouvelles fonctionnalités.

Modifié (le) par electroremy
  • 5 weeks later...
Posté(e) (modifié)

Bonjour Ă  tous,

J'ai bien avancé sur ce projet

Voici une nouvelle version plus aboutie :

- gestion du chauffage actif et aussi du refroidissement actif de l'enceinte, avec deux niveaux de puissance

- possibilité d'activer une alarme à la fin du préchauffage (manuel, ou à l'impression avec une pause)

- possibilité d'activer une alarme et/ou l'exctintion automatique à la fin de l'impression

- deux niveaux d'alarmes (défaillance ou information)

- il n'y a plus aucun de GCODE spĂ©cifique Ă  mon firmware (hormis ceux pour la tempĂ©rature de la chambre, mais qui sont les mĂȘmes que pour la Core One et les autres imprimantes en caisson chauffĂ©es) - cela permet notamment de choisir d'activer ou pas les alarmes et l'extinction automatique depuis l'imprimante, avant ou pendant l'impression, sans devoir refaire le fichier CGODE

- plus de paramĂštres dans les menus, avec sauvegarde en EEPROM

- les paramÚtres permettent de s'adapter à la façon dont les options seront cùblées (broches actives à l'état haut ou bas, clignotement ou pas de la broche pour l'alarme externe ...)

- écran d'accueil comportant plus d'informations, avec des icÎnes

- petits bugs du firmware original corrigés : affichage, fonction M117

- lors du changement manuel de filament par GCODE M600, l'imprimante demande de presser le bouton avant de décharger le filament, ce qui évite de faire un noeud dans la bobine

- ...

Je vais finaliser la modification physique de l'imprimante et de l'enceinte avant de publier le firmware et de rendre la vidĂ©o publique (je dĂ©couvrirais peut ĂȘtre des petits bugs Ă  corriger d'ici lĂ )

A bientĂŽt

Modifié (le) par electroremy
  • J'aime 1
  • Merci ! 1
  • 2 weeks later...
Posté(e)
Le 02/08/2025 at 17:25, electroremy a dit :

Voici une nouvelle version plus aboutie :

- gestion du chauffage actif et aussi du refroidissement actif de l'enceinte, avec deux niveaux de puissance

- possibilité d'activer une alarme à la fin du préchauffage (manuel, ou à l'impression avec une pause)

- possibilité d'activer une alarme et/ou l'exctintion automatique à la fin de l'impression

lĂ  tu commences Ă  m'intĂ©resser trĂšs sĂ©rieusement 😉

mais pourquoi Prusa n'a t il pas fait une évolution dans ce sens, trÚs ouverte permettant tellement de chose

tu vas m'obliger à ressortir ma MK2S de son stockage 👍

  • Merci ! 1
Posté(e)
Il y a 4 heures, pjtlivjy a dit :

lĂ  tu commences Ă  m'intĂ©resser trĂšs sĂ©rieusement 😉

mais pourquoi Prusa n'a t il pas fait une évolution dans ce sens, trÚs ouverte permettant tellement de chose

tu vas m'obliger à ressortir ma MK2S de son stockage 👍

Je dois maintenant réaliser le cùblage définitif, et équiper mon caisson des ventilateurs de refroidissement, mais je suis un peu occupé ailleurs en ce moment...

A noter que pour faire cette mise à jour, j'ai du effacer les langues autres que l'anglais (de toutes façon il n'y a pas le français dans les langues qui étaient disponibles)

Prusa a arrĂȘtĂ© les mises Ă  jour de la MK2s, car ils sont passĂ©s ensuite Ă  une autre version de MARLIN pour les imprimantes suivantes. Il y a donc eu une "rupture" technologique juste aprĂšs la MK2s, pas de bol. Du coup c'est bien car mon travail aurait un petit intĂ©rĂȘt.

J'ai dĂ©jĂ  fait une version de ma vidĂ©o avec des sous-titres en anglais, mais j'attend avant de tout publier d'avoir terminĂ© l'imprimante et rĂ©alisĂ© quelques piĂšces avec, car je dĂ©couvrirait peut-ĂȘtre d'autres bugs. (La vidĂ©o que l'on peut voir sur le forum est "non rĂ©pertoriĂ©e" sur Youtube)

Au passage, j'ai Ă©tĂ© trĂšs touchĂ© que l'on parle de mon firmware dans "Une semaine d'impression 3D", qui plus est, la 500e Ă©ditionÂ đŸ„°

Ca me met un peut la pression pour tout terminer et tester au maximum 😁

  • 2 months later...
Posté(e)

Bonjour,

Les tests et les modifications de l'imprimante sont terminées

Le résultat est présentée en détail sur ce post :

 

A bientĂŽt

  • Merci ! 1
  • 1 month later...
  • 3 weeks later...
Posté(e) (modifié)

Bonjour,

 

Petite mise à jour du firmware : pour permettre un cold pull, la température de la buse est réglable sur les valeurs suivantes :

- 0°

- 75° à 175°C par pas de 5°C

- 180°C et plus par pas de 1°C

ConcrÚtement, lorsque la température est à 0°C, quand on tourne le bouton on passe directement à 75°C et ensuite la température augmente de 5°C à chaque cran, puis une fois 180°C atteint, elle augmente de 1°C par cran. Idem en sens inverse, la température baisse de 1°C par cran jusque 180°C puis ensuite de 5°C par cran jusque 75°C pour ensuite passer directement à 0°C.

 

La sécurité suivante est inchangée : si dans un fichier GCODE, la température de la buse pour une impression est définie à une valeur inférieure à 180°C, une erreur avec l'alarme se déclenche ; l'imprimante proposer de continuer avec une température de 180°C ou de faire un reset.

 

Le firmware peut ĂȘtre tĂ©lĂ©chargĂ© ici (il faudra tĂ©lĂ©verser le fichier \Prusa-Firmware-3.2.3_V21\Firmware\Firmware.ino.rambo.hex avec PrusaSlicer)

https://drive.google.com/file/d/145ZriQaOqmTB5HvawsoLqUVb58-flieK/view?usp=sharing

 

 

A bientĂŽt

Modifié (le) par electroremy
Posté(e) (modifié)

C'est dommage de ne pas pousser tes évolutions sur un dépÎt git.

Ca permettrait d'avoir l'historique, d'isoler les nouvelles fonctions par commit et ça facilite les reviews (un commit = une intention).

LĂ  par exemple j'Ă©tais curieux de voir comment tu avais implĂ©mentĂ© la machine d'Ă©tats pour les plages de tempĂ©rature, mais j'ai abandonnĂ© car c'est trop de boulot en 2026 d'aller tĂ©lĂ©charger un zip, le dĂ©compresser, puis fouiller le code pour retrouver l'endroit de la modif sans connaitre l'Ă©tat prĂ©cĂ©dent du code (je passe l'Ă©tape d'installer un IDE hors d'age).Â đŸ˜¶Â Normalement on ouvre un dĂ©pĂŽt git et on tombe sur le dernier commit qui montre le diff directement.

Ca permet aussi de travailler sur des branches pour bosser en mĂȘme temps sur plusieurs fonctions sans les casser entre elles. Bien entendu ça permet aussi de facilement de revenir en arriĂšre sur ton travail si t'as fait une bĂȘtise, que plus rien de fonctionne ou que tu ne sais plus quel ligne tu as commentĂ© pour le test de la nuit derniĂšre.

Bref, un vrai outil de versioning de code. 🙂

Fais toi quelques tutos sur git + VSCode ça t'aidera beaucoup dans tes projets (pas que pour le codage). En bonus je te suggÚre Git Extensions pour Windows, une maniÚre d'utiliser git tout en GUI. VSCode le fait trÚs bien pour un usage quotidien mais toutes les commandes avancées ne sont pas disponible.

EDIT: Ah bah en fait je t'avais dĂ©jĂ  suggĂ©rĂ© de forker le dĂ©pĂŽt original. Comme quoi c'est toujours d'actualitĂ©. 😁

Modifié (le) par Kachidoki
Posté(e) (modifié)
Il y a 1 heure, Kachidoki a dit :

C'est dommage de ne pas pousser tes évolutions sur un dépÎt git.

J'avais regardé...

...et j'ai laissĂ© tombĂ©Â đŸ˜

Voici le contexte :

Le manque de temps, et ce projet en a pris BEAUCOUP plus que prĂ©vu : à l'origine, c'Ă©tait seulement une petite modif pour pouvoir utiliser une sonde SUPERPINDA, mais a fur et Ă  mesure j'ai ajoutĂ© beaucoup de choses 😁

J'ai travaillé en utilisant 3 ordinateurs différents :

- un PC fixe sous Windows 7, qui n'est plus compatible avec les nouvelles versions de pas mal de logiciels

- un PC portable sous Windows 10

- un autre PC portable sous Windows 10 que j'utilise en déplacement mais dont je ne suis pas administrateur, je ne peux utiliser que des logiciels portables avec.

Ce projet m'a obligĂ© Ă  apprendre beaucoup de choses nouvelles en mĂȘme temps :

- des subtilitĂ©es du langage C/C++ que je ne connaissais pas, et le code en regorge (mĂȘme sur le forum developpez.com ils ont Ă©tĂ© surpris de voir la taille et l'imbrication des macros, c'est Ă  la limite de l'obfusaction)

- tout le code existant Marlin modifié à la sauce Prusa, la doc est trÚs minimaliste et pas à jour sur les derniÚres modifs, j'ai du faire beaucoup de reverse engineering

- idem pour la partie hardware électronique et mécanique de l'imprimante

- j'en ai bavĂ© aussi pour simplement recompiler le firmware et le flasher, souviens-toi Ă  un moment j'avais mĂȘme cru avoir Ă©crasĂ© le bootloader et en fait c'Ă©tait juste le programme qui Ă©tait Ă  la limite de la taille maxi, mais les messages d'erreur n'Ă©taient pas explicites, ça m'a pris du temps de dĂ©couvrir que c'Ă©tait la taille qui Ă©tait en cause ; Prusa a exploitĂ© la carte Rambo pas loin du maximum de ses limites, d'oĂč l'usage d'un IDE obsolĂšte, il faut dire que l'imprimante date de 2017 aussi

Souvent, je me suis retrouvĂ© bloquĂ© Ă  plusieurs niveaux en mĂȘme temps, c'est Ă  dire empĂȘchĂ© de faire un truc Ă  cause d'un aspect du C/C++ que je maĂźtrisais mal, mais avec en plus un bug dans le code d'origine que je ne comprennais pas, et une limite dans le hardware Ă  contourner...

Maitriser en plus Git, que je ne connais pas du tout, ça aurait fait dĂ©bordĂ© le vase 😅 J'ai une formation initiale de programmeur dans mon cursus qui date des annĂ©es 1998 Ă  2003, mais ce n'est pas mon mĂ©tier. Je n'ai jamais travaillĂ© en Ă©quipe pour dĂ©velloper un logiciel. Je ne connais pas les bonnes et mauvaises pratiques.

Ca n'a pas l'air comme ça mais c'est un gros projet, à plusieurs moments j'ai bien cru que je n'irais pas au bout. 

Du coup il faut poser des limites ou renoncer Ă  des choses pour que la ligne d'arrivĂ©e soit atteignable 😉 C'est quelque chose que j'ai du mal Ă  faire, j'ai Ă©normĂ©ment de choses inachevĂ©es chez moi, lĂ  je suis vraiement satisfait d'avoir TERMINE ce projetÂ đŸ€Ł

Révélation

En fait ce n'est pas terminé : Il me reste encore à faire :

- le fameux Arduino auxiliaire pour gérer les sondes de températures supplémentaires

- les capots supérieur et arriÚre du boßtier

- les reports d'alarme dans chaque piÚce (j'ai juste bricolé une espece de bùton sonore et lumineux au bout d'un long fil)

- a tout réinstaller dans l'atelier (l'imprimante est dans mon bureau, normalement elle n'a rien à faire là)

- à voir pour remplacer le support de bobine par un boitier étanche avec séchage ou pas

- la traduction de l'article en anglais

Bref, pas mal d'heures de travail en perspective alors que j'ai plein d'autres trucs et rĂ©parations plus ou moins urgentes Ă  faire ailleurs chez moi 😅

AprĂšs si quelqu'un d'autre veux reprendre mon code en le faisant avec le dĂ©pĂŽt Git il peut le faire 😉

Modifié (le) par electroremy
Posté(e)
il y a 22 minutes, electroremy a dit :

Voici le contexte :

Le manque de temps

Parlons en, je suis partisan de mettre en place tout moyen qui permet de se faciliter la vie. Je prĂ©fĂšre Ă©crire un script pour une tache bien prĂ©cise plutĂŽt que d'effectuer cette tache Ă  la main 3 fois (ou plus, qui sait ?). Alors certes parfois il arrive que la crĂ©ation de l'outil lui-mĂȘme (s'applique Ă  tous les domaines) prenne plus de temps que prĂ©vu pour peu d'utilisation derriĂšre, mais au global sur le nombre de fois oĂč l'utilisation de cette mĂ©thode nous fait gagner un temps monstre parce qu'utilisĂ©e des dizaines de fois, c'est bĂ©nĂ©fique. A force de fonctionner comme ça, la crĂ©ation de nouveaux outils devient de plus en plus simple et rapide car on sait oĂč se concentrer. C'est un peu comme en C, si un bout de code identique existe plusieurs fois, mĂȘme seulement deux fois, on va coder une fonction pour le factoriser.

Exemple simple : A l'Ă©poque du confinement et des impressions de visiĂšres, au dĂ©but j'imprimais les visiĂšres deux par deux et je me levais toutes les trois heures pour lancer la fournĂ©e suivante. TrĂšs vite j'ai cherchĂ© un moyen d'empiler les visiĂšres pour les imprimer par 10 et pouvoir faire de vraies nuits. 🙂 

 

il y a 22 minutes, electroremy a dit :

J'ai travaillé en utilisant 3 ordinateurs différents

C'est dĂ©jĂ  un peu comme si tu travaillais en Ă©quipe. 😁 C'est une des forces de git, tu peux passer d'une machine Ă  l'autre d'un simple "commit et push" d'un cĂŽtĂ© et "pull" de l'autre cĂŽtĂ©. Je pense que ça t'aurait dĂ©jĂ  fait Ă©conomiser pas mal de temps. Git et GitExtensions sont utilisables en mode application portable. 😉

 

il y a 36 minutes, electroremy a dit :

tout le code existant Marlin modifié à la sauce Prusa, la doc est trÚs minimaliste et pas à jour sur les derniÚres modifs, j'ai du faire beaucoup de reverse engineering

LĂ  aussi, tu trouves gĂ©nĂ©ralement les raisons des modifications dans les messages de commit. Les Ă©diteurs modernes peuvent faire un "blame" automatique, lorsque tu sĂ©lectionne une ligne de code tu peux tout de suite voir le commit associĂ© et son commentaire, et mĂȘme remonter dans l'historique de la ligne de code en question. Ca aide beaucoup Ă  trouver de l'info et ça va trĂšs vite.

Rien ne t'empĂȘche d'utiliser un IDE moderne pour naviguer / coder, et de lancer les compilations dans le vieil Ă©diteur Ă  cĂŽtĂ©. C'est une pratique trĂšs courante dans l'industrie oĂč les fabricants de microcontrĂŽleurs et de compilateurs y vont chacun de leurs propres IDE. J'en connais qui codent dans Notepad++ et qui compilent en lançant un .bat. Ca c'est juste bon Ă  faire un "Hello, World!". đŸ€Ș

 

il y a 22 minutes, electroremy a dit :

lĂ  je suis vraiement satisfait d'avoir TERMINE ce projetÂ đŸ€Ł

C'est le moment d'investir du temps dans la dĂ©couverte de git. 🙃 Pas besoin de grand chose pour une utilisation simple, tu peux mĂȘme fonctionner entiĂšrement en local. Et mĂȘme tu peux faire du git sans git, en uploadant directement tes fichiers modifiĂ©s sur github.

Tu serais surpris de voir comment ça peut ĂȘtre utilisĂ© pour autre chose que du codage. Snapshots, backup incrĂ©mental, documentation, versionner les fichiers de configs de ton infra, tes logiciels ou ta domotique. Tu peux mĂȘme t'en servir pour historiser des retouches d'une photo sur de gros projets chronophages. Ce n'est plus vraiment git, mais j'ai dĂ©jĂ  dĂ©tournĂ© un dĂ©pĂŽt pour utiliser les issues afin de pouvoir faire le suivi d'un micro-projet (quelques dizaines de tickets) qui n'avait absolument rien Ă  voir avec l'informatique.Â đŸ«Ł

 

En tout cas chapeau d'avoir rĂ©ussi Ă  faire toutes ces Ă©volutions "Ă  l'ancienne", je comprends que tu aies failli abandonner. Avec un peu de dĂ©termination tu devrais rĂ©ussir Ă  maitriser les outils modernes (git est sorti en 2005) sans trop de difficultĂ©. 😆

  • J'aime 1

Créer un compte ou se connecter pour commenter

Vous devez ĂȘtre membre afin de pouvoir dĂ©poser un commentaire

Créer un compte

CrĂ©ez un compte sur notre communautĂ©. C’est facile !

Créer un nouveau compte

Se connecter

Vous avez déjà un compte ? Connectez-vous ici.

Connectez-vous maintenant
×
×
  • CrĂ©er...