v0.7.6 : ne plus creer le dossier SKILLS

Les skills ont ete fondus dans la memoire, mais les trois chemins
d'installation (Windows, Linux, macOS) creaient toujours un dossier SKILLS
vide.

On cesse de le CREER sans cesser de le LIRE : migrateSkillsToMemory reprend
encore une fois les anciens skills d'une installation existante, et il faut
donc que skillsDir() continue de pointer quelque part. La fonction ne fait
rien quand le dossier est absent.

Rien n'est supprime : un dossier SKILLS existant reste en place, son contenu
ayant deja ete repris dans la memoire.

Verifie sur une installation neuve en bac a sable : plus aucun SKILLS cree.
This commit is contained in:
nathaninline committed 2026-08-04 17:38:08 +02:00
1 parent d72578ea55
commit e730c1ef49
8 files changed
+20 -15

No files matched your search

+4 -8
View File
@@ -1,12 +1,8 @@
## Le bouton « mettre à jour » redémarre AJEAN tout seul
## Plus de dossier SKILLS
Sous Windows, il fallait jusqu'ici quitter puis relancer l'application à la main pour que la mise à jour prenne effet. C'est fait automatiquement : la page se reconnecte d'elle-même au bout de quelques secondes.
Les skills ont été fondus dans la mémoire de l'IA il y a plusieurs versions, mais un dossier `SKILLS` vide continuait d'être créé à chaque installation. Il ne l'est plus.
Ce redémarrage règle aussi, au passage, le renommage du dossier de données. Tant qu'AJEAN tourne, il tient son propre dossier, et `C:\ProgramData\jean` ne peut pas devenir `C:\ProgramData\ajean` — c'est ce qui laissait certains postes indéfiniment sur l'ancien nom malgré les versions précédentes. Le redémarrage ouvre le court instant où plus rien ne le tient, et la migration s'y termine.
Le raccourci du menu Démarrer et la commande `ajean` suivent le déplacement, puisque le programme installé vit à l'intérieur de ce dossier.
Si quelque chose empêche le renommage, il ne se passe rien : AJEAN redémarre sur son dossier actuel et réessaiera plus tard. Rien n'est jamais copié ni supprimé.
Si vous en avez encore un, il n'est pas supprimé : son contenu est repris dans la mémoire au premier lancement, comme c'était déjà le cas. Vous pouvez ensuite l'effacer vous-même si vous le souhaitez.
## Mise à jour
@@ -14,6 +10,6 @@ Si quelque chose empêche le renommage, il ne se passe rien : AJEAN redémarre s
ajean update
```
Ou le bouton de l'interface, qui se charge désormais de tout.
Ou le bouton de l'interface, qui redémarre AJEAN tout seul depuis la 0.7.5.
Les binaires restent publiés sous leurs deux noms, `ajean-*` et `jean-*`, le temps que le parc bascule.
Binary file not shown.
Binary file not shown.
+3 -3
View File
@@ -3,13 +3,13 @@
"FileVersion": {
"Major": 0,
"Minor": 7,
"Patch": 5,
"Patch": 6,
"Build": 0
},
"ProductVersion": {
"Major": 0,
"Minor": 7,
"Patch": 5,
"Patch": 6,
"Build": 0
},
"FileFlagsMask": "3f",
@@ -25,7 +25,7 @@
"LegalCopyright": "Copyright (c) 2026 AJEAN contributors. MIT License.",
"OriginalFilename": "ajean.exe",
"ProductName": "AJEAN",
"ProductVersion": "0.7.5",
"ProductVersion": "0.7.6",
"Comments": "https://github.com/nathaninline/ajean — projet open source (MIT)"
},
"VarFileInfo": {
+1 -1
View File
@@ -10,7 +10,7 @@ import (
"strings"
)
const Version = "0.7.5"
const Version = "0.7.6"
// Main est le vrai main() du binaire (cmd/ajean ne fait que l'appeler).
func Main() {
+4 -1
View File
@@ -400,7 +400,10 @@ type vsFixedFileInfo struct {
// embarquer l'installation du binaire ni les messages de console.
func provisionDataDir() error {
jeanHome := AjeanHome()
for _, d := range []string{jeanHome, filepath.Join(jeanHome, "configs"), filepath.Join(jeanHome, "SKILLS")} {
// Plus de dossier SKILLS : les skills ont ete fondus dans la memoire.
// On ne le CREE plus, mais on continue de le LIRE une fois au demarrage
// pour reprendre ceux d'une ancienne installation (migrateSkillsToMemory).
for _, d := range []string{jeanHome, filepath.Join(jeanHome, "configs")} {
if err := os.MkdirAll(d, 0o755); err != nil {
return err
}
+4 -1
View File
@@ -106,7 +106,10 @@ func cmdInstall(args []string) error {
fmt.Printf(" service = %s (launchd)\n", svc)
// 1. Répertoires
for _, d := range []string{ajeanHome, filepath.Join(ajeanHome, "configs"), filepath.Join(ajeanHome, "SKILLS")} {
// Plus de dossier SKILLS : les skills ont ete fondus dans la memoire.
// On ne le CREE plus, mais on continue de le LIRE une fois au demarrage
// pour reprendre ceux d'une ancienne installation (migrateSkillsToMemory).
for _, d := range []string{ajeanHome, filepath.Join(ajeanHome, "configs")} {
if err := os.MkdirAll(d, 0o755); err != nil {
return err
}
+4 -1
View File
@@ -95,7 +95,10 @@ func cmdInstall(args []string) error {
fmt.Printf(" service = %s\n", svc)
// 1. Create directories
for _, d := range []string{ajeanHome, filepath.Join(ajeanHome, "configs"), filepath.Join(ajeanHome, "SKILLS")} {
// Plus de dossier SKILLS : les skills ont ete fondus dans la memoire.
// On ne le CREE plus, mais on continue de le LIRE une fois au demarrage
// pour reprendre ceux d'une ancienne installation (migrateSkillsToMemory).
for _, d := range []string{ajeanHome, filepath.Join(ajeanHome, "configs")} {
if err := os.MkdirAll(d, 0o755); err != nil {
return err
}