Vue lecture

Il y a de nouveaux articles disponibles, cliquez pour rafraîchir la page.

IDEmacs - Emacs qui se prend pour VSCode pour convertir les débutants

Si vous avez toujours voulu essayer Emacs mais que la courbe d'apprentissage vous fait peur, IDEmacs est fait pour vous ! Ce projet transforme Emacs en clone de VSCode avec les mêmes raccourcis clavier, la même interface graphique et les mêmes fonctionnalités out-of-the-box, comme ça vous n'avez plus besoin de vous taper une configuration durant trois jours avant de pouvoir écrire une ligne de code !

Cool, hein ?

L'idée c'est donc de permettre aux développeurs habitués à des IDE modernes de passer à Emacs sans devoir réapprendre tous leurs réflexes. Les raccourcis clavier reprennent ceux de VSCode comme Ctrl+C pour copier, Ctrl+V pour coller, Ctrl+F pour chercher. C'est basique mais indispensable quand vous venez d'un autre éditeur.

Côté interface, IDEmacs intègre Treemacs pour avoir un explorateur de fichiers dans la sidebar comme sur VSCode. Y'a aussi Centaur Tabs pour les onglets, un thème Dark Plus qui ressemble à celui de Microsoft, et le support des curseurs multiples. Bref, visuellement vous êtes en terrain connu.

Du coup, c'est pour qui exactement ?

Hé bien le projet cible trois types d'utilisateurs : les développeurs qui veulent migrer vers Emacs depuis un autre IDE, les débutants en Lisp ou Scheme qui ont besoin d'Emacs pour bosser, et les non-programmeurs qui cherchent juste un éditeur de texte puissant sans se prendre la tête avec la config.

D'ailleurs, contrairement à la plupart des starter kits Emacs, IDEmacs ne cache pas les éléments graphiques par défaut. Les menus, barres d'outils et scrollbars sont visibles donc vous pouvez configurer le tout via l'interface graphique plutôt qu'en écrivant du Elisp à la main.

La config proposée inclut une vingtaine de packages tels que Vertico, Consult et Marginalia pour l'autocomplétion, Magit pour le contrôle de version, Sly et Geiser pour le développement Lisp et Scheme, plus des outils comme expand-region, multiple-cursors et smartparens pour l'édition avancée.

Pour installer IDEmacs, il vous faudra donc Emacs 29 ou plus récent, git, et optionnellement grep et locate. Clonez le repo puis lancez Emacs avec

emacs --init-directory=/path/to/IDEmacs/vscode .

Et hop, c'est prêt !

IDEmacs reste une porte d'entrée vers Emacs, et pas un remplacement définitif de VSCode mais l'idée avec ce truc, c'est de vous permettre de commencer à utiliser Emacs sans friction, puis de personnaliser au fur et à mesure que vous comprenez comment ça marche. Je vous assure que vous allez probablement vouloir modifier des trucs une fois que vous serez à l'aise.

Voilà, si vous avez toujours été curieux d'Emacs mais que vous n'avez jamais osé franchir le pas, c'est l'occaz !

A découvrir ici !

GoBackup - Pour sauvegarder vos bases de données facilement

Vous savez, ce script bash de backup que vous avez écrit en 2018 et que vous n’osez plus toucher ? Celui avec les 150 lignes de mysqldump + tar + gzip + aws s3 cp qui marche à moitié et que vous relancez manuellement quand il plante ?

Hé bien vous allez pouvoir le foutre à la poubelle parce que maintenant y’a GoBackup !

GoBackup c’est un binaire codé en Go qui remplace tous vos scripts de backup maison d’un coup. MySQL, PostgreSQL, MongoDB, Redis, peu importe. Local, FTP, S3, Google Cloud, Azure, peu importe. Vous installez, vous configurez un fichier YAML, et c’est fini.

Ensuite, vous n’aurez plus jamais besoin de retoucher à tout ce bordel.

Avant GoBackup y’avait backup/backup, une gem Ruby qui faisait exactement ce job avec de la sauvegarde automatique, multi-bases, multi-destinations et c’était bien. Sauf que Ruby c’est lourd et les dépendances Ruby c’est l’enfer. Du coup le projet est mort tout doucement. Heureusement, huacnlee, un dev chinois, en a eu marre alors il a tout réécrit en Go. Zéro dépendance externe et un seul binaire compilé (installable aussi avec Brew pour ceux qui sont sous macOS).

Vous pouvez l’installer comme ceci (vérifiez le script) :

curl -sSL https://gobackup.github.io/install | sh

Ou via homebrew comme ceci :

brew install gobackup

Avec GoBackup, vous définissez vos bases de données, vos fichiers à archiver, vos destinations de stockage, votre planning, tout dans un fichier YAML propre et ensuite le binaire gère tout : Compression, chiffrement, upload, rotation des backups, notifications si ça échoue…etc. Bref, tout ce que vous faisiez à la main avec vos scripts pourris.

Et GoBackup est pas juste un CLI (Interface en ligne de commande). C’est un CLI + un daemon + une Web UI + un scheduler. Comme ça vous lancez “gobackup start” et ça tourne en background.

Le daemon surveille alors le planning défini dans votre config et lance les backups automatiquement. Et l’interface web vous permet de voir l’état des backups, les logs, les erreurs.

Avec GoBackup, vous remplacez littéralement 5 outils en un : votre script bash + cron + un monitoring pourri + un truc pour lire les logs + l’interface d’admin que vous avez jamais eu le temps de faire.

Votre config ressemble à ça :

models:
 mon_app:
 compress:
 type: tgz
 databases:
 mon_mysql:
 type: mysql
 host: localhost
 database: ma_base
 username: user
 password: $MYSQL_PASSWORD
 storages:
 mon_s3:
 type: s3
 bucket: mes-backups
 region: eu-west-1
 access_key_id: $AWS_KEY
 secret_access_key: $AWS_SECRET
 schedule:
 every: 1day
 at: "04:05"

Et c’est tout. Avec ce fichier, GoBackup dump votre base MySQL tous les jours à 4h05, compresse en .tar.gz, chiffre si vous voulez, et upload sur S3. Et si ça échoue vous recevez une notif. Et si ça marche vous avez les logs comme ça, pas besoin de surveiller, ni de débugger à 3h du matin parce que le backup a planté et que vous avez perdu 6 mois de données.

Notez quand même que GoBackup fait du backup classique, et pas du backup incrémental intelligent à la Restic ou à la Borg donc si vous avez 500 GB de données à backup tous les jours vous allez peut-être préférer un outil plus sophistiqué mais pour 90% des cas d’usage sysadmin standard, GoBackup suffira largement.

Votre script bash dégeu a eu une belle vie, il peut maintenant partir à la retraite.

❌