Source code of my website
1
fork

Configure Feed

Select the types of activity you want to include in your feed.

🚧 : init mise draft

+93
+93
content/posts/2025-12-19-mise-en-place/index.md
··· 1 + --- 2 + date: 2025-12-19 3 + language: fr 4 + title: Mise en place 5 + tags: 6 + - linux 7 + - tools 8 + draft: true 9 + --- 10 + 11 + [//]: # (TODO image de couverture) 12 + 13 + J'ai découvert Mise par deux canaux : 14 + 15 + * le support par Clever Cloud (plutôt en tant que package manager donc), avec en particulier leur type d'image "Linux" 16 + 17 + [//]: # (TODO remettre le lien) 18 + * le calendrier de l'avent de Siegfried Erhet, avec une approche de DevTool 19 + 20 + Étant utilisateur de `direnv` depuis plusieurs années, je suis habitué à travailler dans mon shell. 21 + Direnv souffre par contre de plusieurs défauts : il ne peut pas gérer d'alias et se configure uniquement avec du scripting shell. 22 + 23 + Aujourd'hui, je teste l'outil "Mise", pour voir dans quelle mesure cet outil peut venir enrichir mon workflow de dev. 24 + 25 + <!--more--> 26 + 27 + ## Mise en place 28 + 29 + Mise en place est un outil développé en Rust, ce qui promet de bonnes performances et de la stabilité. 30 + 31 + Il propose 3 types d'usage : 32 + 33 + * gestionnaire de packages (un peu comme `asdf`) 34 + * gestionnaire de variables d'environnement (exactement comme `direnv` donc) 35 + * exécution de tâches (comme on pourrait le faire avec `make`, `task` ou `just`) 36 + 37 + Il se veut aussi extensible avec la possibilité d'utiliser ou d'implémenter des plugins. 38 + 39 + ## L'installation 40 + 41 + L'installation est bien documentée sur le site web : https://mise.jdx.dev/installing-mise.html 42 + 43 + Sur mes postes Linux, j'ai suivi la procédure d'installation avec `apt` : 44 + 45 + ```shell 46 + curl -fSs https://mise.jdx.dev/gpg-key.pub | sudo tee /etc/apt/keyrings/mise-archive-keyring.pub 1> /dev/null 47 + echo "deb [signed-by=/etc/apt/keyrings/mise-archive-keyring.pub arch=amd64] https://mise.jdx.dev/deb stable main" | sudo tee /etc/apt/sources.list.d/mise.list 48 + sudo apt update -y 49 + sudo apt install -y mise 50 + ``` 51 + 52 + Une fois l'installation terminée, la commande `mise` est disponible dans mon shell : 53 + 54 + ```shell 55 + mise --version 56 + _ __ 57 + ____ ___ (_)_______ ___ ____ ____ / /___ _________ 58 + / __ `__ \/ / ___/ _ \______/ _ \/ __ \______/ __ \/ / __ `/ ___/ _ \ 59 + / / / / / / (__ ) __/_____/ __/ / / /_____/ /_/ / / /_/ / /__/ __/ 60 + /_/ /_/ /_/_/____/\___/ \___/_/ /_/ / .___/_/\__,_/\___/\___/ 61 + /_/ by @jdx 62 + 2025.12.10 linux-x64 (2025-12-16) 63 + ``` 64 + 65 + Une dernière étape dans la configuration est importante : la configuration du shell, afin que le shell appelle la commande `mise` lors du changement de répertoires. 66 + 67 + Cette opération se fait en éditant le fichier de configuration de votre shell : `~/.bashrc` ou `~/.zshrc` par exemple. 68 + 69 + Pour Zsh que j'utilise, il faut alors simplement ajouter la ligne suivante dans le fichier `~/.zshrc` : 70 + 71 + ```shell 72 + eval "$(mise activate zsh)" 73 + ``` 74 + 75 + Une fois ces opérations faites, il suffit donc de redémarrer votre shell pour que la configuration soit prise en compte. 76 + 77 + ## Les devtools 78 + 79 + Quand je switche entre mes projets, je switche aussi souvent de stack d'outillage, que ce soit la version de Java, de Node, ou d'outils divers (comme Hugo que j'utilise sur ce site). 80 + 81 + Pour les outils les plus courants, les langages de programmation principalement, mise dispose d'un plugin _core tools_ qui supporte leur configuration et activation automatique. 82 + Pour les autres outils ou packages, _mise_ utilise un ou plusieurs backends (_asdf_ en fait partie) qui permettent l'installation sans avoir rien à configurer en plus. Les outils disponibles peuvent être listés avec la commande `mise registry` : 83 + 84 + ```shell 85 + $ mise registry 86 + ``` 87 + 88 + 89 + --- 90 + 91 + La prochaine publication est prévue autour du 🗓️ 92 + 93 + Photo de couverture par sur