La distribution éducative pour débutants et initiés.

Vous n'êtes pas identifié(e).

Annonce

Les différentes isos de PrimTux4 sont disponibles, cliquez ici pour choisir votre version.

  • Pour être automatiquement informé des réponses à vos messages sur le forum, n'oubliez pas de cliquer sur "Suivre cette discussion" en bas de page. Mieux, en vous abonnant au flux RSS du forum, vous pourrez suivre tout nouveau message sur l'ensemble du forum.
  • En allant dans votre Profil, ligne "Vie privée", vous pouvez également cocher "Suivre automatiquement les sujets auxquels on a répondu.", vous n'aurez plus à cliquer sur "Suivre cette discussion" lorsque vous postez un message.
  • Carte des membres pouvant aider et des écoles sous PrimTux, merci de nous envoyer un email si vous souhaitez y apparaître.
  • Abonnez-vous à la newsletter sur le site principal pour être informé des nouveaux paquets, nouvelles versions, bugs...

#1 03-10-2018 20:30:45

mothsart
Modérateur
Inscription : 31-10-2016
Messages : 597

script handymenu

J'ai vu que Philippe c'était proposé de travailler sur les scripts de migration.

Je ne sais pas ce que ça implique mais je sais qu'il y a un peu de taf pour les handymenu que je connais bien.
Je propose de réaliser un script python pour ça. (ça me semble délicat de faire une conversion .conf vers yaml en script shell).

Ca ne devrait pas être bien compliqué mais il faut juste un peu d'organisation pour bien testé que tout c'est déroulé sans accros.
Vous pensez que le mieux est de tester avec une VM ?

Hors ligne

#2 03-10-2018 21:03:01

Philippe Dpt35
Modérateur
Lieu : Ille-et-Vilaine
Inscription : 28-10-2015
Messages : 2 372
Site Web

Re : script handymenu

ça tombe bien, on comptait sur toi pour faire la conversion des anciens fichiers de configuration vers yaml ! wink
On pourra effectivement tester dans une VM.

Hors ligne

#3 04-10-2018 00:19:37

Philippe Dpt35
Modérateur
Lieu : Ille-et-Vilaine
Inscription : 28-10-2015
Messages : 2 372
Site Web

Re : script handymenu

Il est par ailleurs envisageable qu'un utilisateur de PrimTux ait créé d'autres comptes que les comptes par défaut.

Devons-nous prendre en compte cette éventualité dans le script de mise à jour , sachant que cela demandera plus de travail et de temps ?

Hors ligne

#4 04-10-2018 16:31:40

Steph
Administrateur
Inscription : 03-06-2015
Messages : 4 880

Re : script handymenu

On ne peut pas tout prendre en compte, sauf si le script pyhton peut être exécuté isolément. Dans cette situation, si un nouvel utilisateur a été créé, l'exécution de ce script convertira hors mise à jour.
Pour ce qui est des bureaux, je dirais qu'il faut que l'administrateur ait utilisé les bons squelettes lors de la création des nouveaux utilisateurs... Pas gagné. En ce sens, il y a trop de paramètres à prende en compte et je suggère de ne mettre à jour que nos 4 utilisateurs connus. Après, si ça a été fait proprement, cet administrateur peut envisager d'appliquer la mise à jour correspondant au niveau de l'utilisateur qu'il a créé...

Hors ligne

#5 04-10-2018 16:52:54

Philippe Dpt35
Modérateur
Lieu : Ille-et-Vilaine
Inscription : 28-10-2015
Messages : 2 372
Site Web

Re : script handymenu

Je peux éventuellement tenter de construire le script en utilisant un script secondaire indépendant effectuant les opérations pour un utilisateur donné en paramètre.

Cela permettrait ainsi d'utiliser ce script secondaire pur mettre à jour pour d'autres utilisateurs que les utilisateurs de base.

Mais pour cela il faut que cette possibilité soit également prise en compte par le script python de conversion des fichiers de configuration des handymenus.

Hors ligne

#6 04-10-2018 17:38:05

mothsart
Modérateur
Inscription : 31-10-2016
Messages : 597

Re : script handymenu

Je n'ai jamais créé d'autres comptes.
Ca se crée à la mano ou y'a un utilitaire ?
Ca fait quoi au juste (si le squelette est bon) : ça rajoute une entrée sur le menu de connexion ?
Bref, c'est possible de me faire un récap parce que j'ai du mal à vous suivre.
Le compte a un handymenu perso (/home/compteperso/.handymenu.conf) ?

Si oui, je crains que ce ne soit plus complexe que prévu : je n'ai pas du tout adapté les nouveaux handymenu à cette éventualité.
Avant, le handymenu se basait sur un fichier de conf dans l'espace utilisateur... maintenant, il cherche ce fichier sur /etc/handymenu/handymenu-{nom-session}.default.yaml

Si il faut que j'intervienne, ça devrai se faire aussi sur l'applicatif : par exemple, si l'on n'est pas en présence d'1 des 4 session, alors on cherche la config yaml dans l'espace utilisateur.

Hors ligne

#7 04-10-2018 17:44:42

Steph
Administrateur
Inscription : 03-06-2015
Messages : 4 880

Re : script handymenu

Un exemple:

useradd --password tralala -m -k /etc/skel-mini 01-mini

crée l'utilisateur 01-mini avec le squelette mini (donc un bureau maternelle) et le password tralala.

Si on passe par l'interface graphique, l'ajout d'un utilisateur utilisera /etc/skel et non /etc/skel-mini => l'utilisateur créé utilisera le même bureau que l'administrateur, pas une interface élève. Et il sera ajouté à l'ouverture de session.
Chaque compte avait effectivement son handymenu et son fichier de configuration dans son compte personnel: un par utilisateur.

Hors ligne

#8 04-10-2018 17:46:46

Steph
Administrateur
Inscription : 03-06-2015
Messages : 4 880

Re : script handymenu

Je pense que c'est un .conf qu'il devra chercher si il ne trouve pas de .yaml et s'il y a impossibilité de convertir les .conf.

Hors ligne

#9 04-10-2018 18:04:31

Philippe Dpt35
Modérateur
Lieu : Ille-et-Vilaine
Inscription : 28-10-2015
Messages : 2 372
Site Web

Re : script handymenu

A mon avis, il suffit d'inclure dans le script principal un autre script qui ne fera que la conversion du fichier .conf en yaml en prenant deux paramètres:
le fichier .conf à convertir et le nom du fichier yaml à créer

C"est dans le script principal qu'on pourra ou non inclure une routine qui recherche éventuellement d'autres utilisateurs et sur quel skel ils ont été créés.

Si on n'inclut pas une telle routine (ça peut être un peu compliqué et hasardeux compte-tenu du nombre d'éventualités), on pourra ainsi proposer un tutoriel qui permettra à un utilisateur de convertir manuellement ses fichiers de configuration pour les nouveaux handymenus à l'aide de nos scripts.

Hors ligne

#10 04-10-2018 18:09:59

Steph
Administrateur
Inscription : 03-06-2015
Messages : 4 880

Re : script handymenu

C'est beaucoup mieux oui, on traite les utlisateurs PrimTux et pour le reste ça sera manuel, sous condition qu'un .conf puisse être converti en .yaml...

Hors ligne

#11 05-10-2018 20:33:22

mothsart
Modérateur
Inscription : 31-10-2016
Messages : 597

Re : script handymenu

Steph a écrit :

sous condition qu'un .conf puisse être converti en .yaml...

Hansancf, c'est possible : https://www.dailymotion.com/video/x21tya

Je viens de créer un dépôt https://framagit.org/mothsart/scripts_migration avec le fameux script.
J'ai fait en sorte que ça soit compatible python 2 et 3 (on sait jamais).

Les messages d'erreurs les plus fréquents sont interceptés, affichés avec un message en français compréhensible et colorié en rouge + la stacktrace (Pour la maintenance, c'est toujours mieux)

Hors ligne

#12 05-10-2018 21:08:41

Philippe Dpt35
Modérateur
Lieu : Ille-et-Vilaine
Inscription : 28-10-2015
Messages : 2 372
Site Web

Re : script handymenu

J'ai bien avancé le script et je vais y intégrer ce script de conversion.

Il va me falloir une PrimTux2 en mesure de recevoir la mise à jour, donc qui n'a pas été modifiée en vue du passage à 4, pour effectuer des tests.

Stéphane, j'ai repéré celle-ci dans les archives de la page des téléchargements sur Sourceforge: PrimTux2-2017-07-02-i386.hybrid.iso

Est-ce qu'elle convient ?

Hors ligne

#13 05-10-2018 22:22:32

mothsart
Modérateur
Inscription : 31-10-2016
Messages : 597

Re : script handymenu

J'ai amélioré un peu le script en lui rajoutant de la gestion d'erreur sur l'absence de fichier ou de droits.

De plus, j'ai mis en place un script de migration des handymenus : toutes les explications sont dans le README : https://framagit.org/mothsart/scripts_migration.

Dernière modification par mothsart (05-10-2018 22:22:55)

Hors ligne

#14 06-10-2018 07:43:44

Steph
Administrateur
Inscription : 03-06-2015
Messages : 4 880

Re : script handymenu

PrimTux2-2017-07-26-i386

https://sourceforge.net/projects/primtu … o/download

Je suis remonté à la dernière iso disponible. Il faut reculer ou pas?

Hors ligne

#15 06-10-2018 07:58:53

mothsart
Modérateur
Inscription : 31-10-2016
Messages : 597

Re : script handymenu

Ca doit être bon : c'est antérieur à mes modifs donc fichier de conf binaire.

Hors ligne

#16 06-10-2018 09:03:56

Philippe Dpt35
Modérateur
Lieu : Ille-et-Vilaine
Inscription : 28-10-2015
Messages : 2 372
Site Web

Re : script handymenu

S'il y a des iso intermédiaires, on va peut-être avoir des problèmes avec le script de mise à jour.

Dans celui que je fais, je prévois de vérifier que:
-c'est bien une Debian 8 jessie
- c'est bien une 32 bits
-c'est bien une PrimTux, et pas une Dys

On pourra ensuite enlever certaines conditions si on le peut.

Donc, s'il y a une version intermédiaire des handymenus, est-ce que ça ne posera pas de problème avec le script python de conversion ? Cette éventualité est-elle prise en compte ?

Hors ligne

#17 06-10-2018 09:23:32

Steph
Administrateur
Inscription : 03-06-2015
Messages : 4 880

Re : script handymenu

On est très vite passé du .conf au .yaml.
Et pour la vérification du 32 bits pas sûr, ça peut marcher pour toutes les versions. Si j'ai fait une version 3 semaines après il y a de grandes chances qu'il y avait un bug et qu'il a été conseillé de ne pas télécharger cette version.

Hors ligne

#18 06-10-2018 09:33:56

Philippe Dpt35
Modérateur
Lieu : Ille-et-Vilaine
Inscription : 28-10-2015
Messages : 2 372
Site Web

Re : script handymenu

Steph a écrit :

Et pour la vérification du 32 bits pas sûr,

La mise à jour fonctionnerait donc pour la PrimTux2 amd64 ? Je fais sauter la condition ?

Hors ligne

#19 06-10-2018 09:35:19

Steph
Administrateur
Inscription : 03-06-2015
Messages : 4 880

Re : script handymenu

Je pense que c'est testable: les home sont les mêmes, les noms des paquets aussi. Si ça ne passe pas on fera autrement, mais essaie sans tester l'architecture.

Hors ligne

#20 06-10-2018 09:59:00

mothsart
Modérateur
Inscription : 31-10-2016
Messages : 597

Re : script handymenu

Dans celui que je fais, je prévois de vérifier que:
-c'est bien une Debian 8 jessie
- c'est bien une 32 bits
-c'est bien une PrimTux, et pas une Dys

Le test sur l'archi 32 bits ne sert à rien à mon sens : les fichiers .conf sont dans un format binaire (pickle) mais sans jeu d'instruction lié à la plate-forme. (c'est juste un format de stockage de données propre à python)

Pour ce qui est des tests de Debian Jessie ou Dys : pourquoi pas mais ça évite simplement la création de fichiers.
Mon script ne supprime rien : il rajoute simplement les fichiers de conf dédié aux nouveaux handymenus.
Donc, après son passage : on peut très bien lancé un handymenu ancienne version et nouvelle sans soucis.

Du coup, si on est encore en présence d'une ancienne version des handymenus, il ne tiendras pas compte des nouveaux fichiers yaml et à par créer des fichiers potentiellement inutiles, le script n'aura aucun impact négatif.

Même constat pour la Dys qui ne passe pas par les handymenus : les fichiers de conf yaml seront présent sans servir.

Pour ce qui est des versions intermédiaires des handymenus : j'ai refais l'historique git et les changements .conf => .yaml ont été opérés tout au début avec quelques jours d’intervalles (et je prend toujours soin de réaliser des commits unitaires càd sans fonctionnalité partiellement réalisé).
Le reste, je l'ai consacré sur des fonctionnalités (tel que le drag and drop) qui n'avaient aucun impact sur l'archivage des données.

Hors ligne

#21 06-10-2018 10:13:17

Philippe Dpt35
Modérateur
Lieu : Ille-et-Vilaine
Inscription : 28-10-2015
Messages : 2 372
Site Web

Re : script handymenu

mothsart a écrit :

Le test sur l'archi 32 bits ne sert à rien à mon sens : les fichiers .conf sont dans un format binaire (pickle) mais sans jeu d'instruction lié à la plate-forme. (c'est juste un format de stockage de données propre à python)

Pour la mise à jour, il n'y a pas que les handymenus, il y a aussi la configuration de l'environnement.
Pour la PrimTux2, il y a deux versions de PrimTux: une 32 bits, et une 64 bits. N'étant pas sûr que la configuration était la même pour ces deux versions, j'ai préféré le vérifier.

Je mets la vérification d'architecture en commentaire, on pourra toujours y revenir si on s'aperçoit quo'n a des problèmes avec la 64 bits.

Hors ligne

#22 06-10-2018 10:17:52

Philippe Dpt35
Modérateur
Lieu : Ille-et-Vilaine
Inscription : 28-10-2015
Messages : 2 372
Site Web

Re : script handymenu

Nous avons également à nous mettre d'accord sur un autre point: le fichier de version de PrimTux et son contenu.

Pour la mise à jour je prévois d'introduire un fichier
/etc/primtux_version
à l'image du fichier
/etc/debian_version
et non pas un fichier .conf qui sont plutôt réservés à des configurations.

Pour le contenu, ce format vous convient-il :
PrimTux4 Debian8

Hors ligne

#23 06-10-2018 10:28:19

mothsart
Modérateur
Inscription : 31-10-2016
Messages : 597

Re : script handymenu

Pour le contenu, ce format vous convient-il :
PrimTux4 Debian8

Oui, très bien.

Petite suggestion : on crée un fichier pour préciser qu'il y a eu une migration ? (avec le nom de la version avant et après ou simplement un nom pour la migration) Ca mange pas de pain et ça pourrait être utile à l'avenir...

Hors ligne

#24 06-10-2018 10:31:40

Steph
Administrateur
Inscription : 03-06-2015
Messages : 4 880

Re : script handymenu

ok

Hors ligne

#25 06-10-2018 10:56:42

Philippe Dpt35
Modérateur
Lieu : Ille-et-Vilaine
Inscription : 28-10-2015
Messages : 2 372
Site Web

Re : script handymenu

mothsart a écrit :

Petite suggestion : on crée un fichier pour préciser qu'il y a eu une migration ? (avec le nom de la version avant et après ou simplement un nom pour la migration) Ca mange pas de pain et ça pourrait être utile à l'avenir...

Je peux indiquer le contenu suivant:
Migration PrimTux2 vers PrimTux4 Debian8

ça vous convient ?

Hors ligne

Pied de page des forums