PrimTux

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

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

Annonce

CONSULTER LES MENTIONS LÉGALES RGPD.

CARTE DES MEMBRES POUVANT AIDER ET DES ÉCOLES SOUS PRIMTUX
Merci de vous y inscrire en nous envoyant un email si vous souhaitez y apparaître.

  • 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.
  • Abonnez-vous à la newsletter sur le site principal pour être informé des nouveaux paquets, nouvelles versions, bugs...

#1 24-12-2019 11:20:42

mothsart
Modérateur
Inscription : 31-10-2016
Messages : 1 135

PrimtuxStore

Pour avoir un dev suivi sur ce projet, je crée cette nouvelle discussion.

Pour testé le primtuxStore (une ébauche pour l'instant) : https://framagit.org/mothsart/primtuxstore

Il faut au préalable installer "python-apt". (donc apt-get install python-apt)
Il y a aussi python-yaml (comme les handymenus)

Pour le lancer, on fait :

python store.py (ou ./store.py)

Celui-ci va charger le fichier conf.yaml, créer une ligne pour chaque app détecté, regarder si le soft est installé (apt-get cache au lancement et apt-cache search à chaque ligne grosso modo).
Si est installé, on peut le tester.

L'édition du fichier conf.yaml permet de compléter la liste.

Hors ligne

#2 24-12-2019 12:40:08

Steph
Administrateur
Inscription : 03-06-2015
Messages : 5 910

Re : PrimtuxStore

Je n'ai pas de création de ligne et il ne détecte que gcompris (mais il ne voit pas l'exécutable) et firefox (là tout est bon), sinon dans l'idée c'est ça! Les images ne sont pas redimensionnées.

Hors ligne

#3 24-12-2019 16:12:52

mothsart
Modérateur
Inscription : 31-10-2016
Messages : 1 135

Re : PrimtuxStore

Steph a écrit :

Je n'ai pas de création de ligne et il ne détecte que gcompris (mais il ne voit pas l'exécutable) et firefox (là tout est bon)

Euh, oui. C'est un peu le principe : il ne va afficher que les entrées dans le fichier conf.yaml
A la rigueur, je peux essayé d'en créer le max avec un script de conversion provenant des handymenus.
Mais faudra quand même faire le tri, rajouter des images etc.

Pas de création de ligne : ah, tu voulais un store "éditable" ?
Pour l'instant, le faire à la main dans le fichier conf.yaml, c'est suffisant, non ?
L'utilisateur final veut un truc à consulter, non ?


Qu'entends-tu par redimensionnement ? Que les image soient responsives ?
Le mieux seraient de toute façon de donner une taille standart pour pas avoir de surprises.

Hors ligne

#4 24-12-2019 16:20:47

Steph
Administrateur
Inscription : 03-06-2015
Messages : 5 910

Re : PrimtuxStore

Laisse tomber j'avais lu "va changer le fichier de conf" au lieu de "va charger". Oui pour les icones.

Hors ligne

#5 06-02-2020 23:49:23

mothsart
Modérateur
Inscription : 31-10-2016
Messages : 1 135

Re : PrimtuxStore

Quelques news : j'ai finalement migré l'applicatif pour utiliser une base de donnée sqlite : ça sera plus facile de faire de la recherche, de la pagination etc.
J'ai également créé un script d'import qui va alimenter la base en se basant sur les diff fichiers yaml des session.
Y'a encore quelques petits retouches (notamment sur les images) mais ça devrait être prêt ce week-end.

Steph : je te donnerais les détails pour utiliser l'import. Le mieux est d'avoir une Primtux avec le max de softs d'installé sur les handymenus.
Une fois en place, le soft d'import fera le reste.
Il sera possible de lancer l'import à plusieurs reprises : c'est "normalement" (d'expérience, c'est toujours un peu capricieux ce genre d'import) assez intelligent pour n'ajouter que les choses qu'il n'a pas encore dans sa base.

Une fois cet import de passé, il faudra se concentrer sur :
- les quelques softs qui n'ont pas passé l'import
- le mode "recherche"
- la pagination

Hors ligne

#6 08-02-2020 00:49:09

mothsart
Modérateur
Inscription : 31-10-2016
Messages : 1 135

Re : PrimtuxStore

Voilà, j'ai créé une première version du script d'import.
ça nécessite la lib yaml et pillow. (apt-get install python3-pil python3-yaml)

Le mieux, pour tester :

git clone git@framagit.org:mothsart/primtuxstore.git
cd primtuxstore
./create_db // crée la base de donnée à la racine : dans le fichier prmtuxstore.db

Puis :

./import

Ce dernier va, à partir des fichiers yaml, crée les entrées en base, rapatrier les images dans un dossier "assets" et effectuer un traitement pour qu'elles fassent toutes la même tailles et soit au format png (les jpeg sont convertis en png) ou svg.

Une fois, ces opérations effectués, on peut tester le résultat avec un :

./primtuxstore

Hors ligne

#7 18-02-2020 12:17:20

mothsart
Modérateur
Inscription : 31-10-2016
Messages : 1 135

Re : PrimtuxStore

La pagination est désormais en place.
Je vais me concentrer désormais sur le moteur de recherche.
Je pense que je vais également améliorer l'import pour qu'il se base sur les fichiers desktop et en récupère le max de données. (les mots clés notamment)

Y'a encore des petits soucis de mis en page mais je traiterais ça à la fin.

Hors ligne

#8 18-02-2020 15:48:04

Steph
Administrateur
Inscription : 03-06-2015
Messages : 5 910

Re : PrimtuxStore

J'ai ça à l'import:

$ ./create_db
DROP TABLES
CREATE TABLES
$ ./import
Traceback (most recent call last):
  File "./import", line 84, in <module>
    session
  File "./import", line 70, in import_session
    import_apps(sessions, db, s['apps'], session)
  File "./import", line 56, in import_apps
    'in_%s' % session
  File "./import", line 38, in import_app
    app_exist = db.app_exist(name, sessions, session)
  File "/home/administrateur/primtuxstore-master/pstore/lib/request.py", line 45, in app_exist
    name
  File "/home/administrateur/primtuxstore-master/pstore/lib/request.py", line 15, in _exec
    result = self.db.execute(request)
sqlite3.OperationalError: no such table: results

Hors ligne

#9 18-02-2020 21:35:44

mothsart
Modérateur
Inscription : 31-10-2016
Messages : 1 135

Re : PrimtuxStore

Hum, c'est étonnant.
Après le ./create_db, tu as bien un fichier primtuxstore.db de créé ?
Là, il n'accède pas à la table sql et je ne vois que 2 cas possibles : pas de fichier de base de donnée (ou pas les droits nécessaires) ou le create_db n'a pas fait son job. (ce qui me semble très improbable)

Hors ligne

#10 18-02-2020 21:48:18

mothsart
Modérateur
Inscription : 31-10-2016
Messages : 1 135

Re : PrimtuxStore

J'ai mis à jour le code pour avoir un mode verbeux.
Peux-tu me donner le résultat de :

./create_db --verbose

Hors ligne

#11 18-02-2020 22:00:22

Steph
Administrateur
Inscription : 03-06-2015
Messages : 5 910

Re : PrimtuxStore

On parle bien d'une exécution en user, pas en root? J'ai le même message et pas de primtuxstore.db dans le répertoire.

Hors ligne

#12 18-02-2020 23:46:38

mothsart
Modérateur
Inscription : 31-10-2016
Messages : 1 135

Re : PrimtuxStore

Ah oui, en espace utilisateur ça devrait passer très bien.
J'avais un soucis sur ma branche donc un pull pour récupérer le mode verbeux.

Je pense que c'est un soucis de dépendance : sqlite3 ou python-sqlite manquant... (mais si c'est ça, je trouve bizarre que l'erreur soit aussi silencieuse) si vraiment ça ne passe pas, il va falloir que je teste sur une primtux fraiche.

Hors ligne

#13 19-02-2020 01:18:08

mothsart
Modérateur
Inscription : 31-10-2016
Messages : 1 135

Re : PrimtuxStore

Sur une primtux4, il me manquait "python3-pil" et "python3-yaml".

Hors ligne

#14 25-02-2020 20:34:57

mothsart
Modérateur
Inscription : 31-10-2016
Messages : 1 135

Re : PrimtuxStore

Bon, je suis embêté.

Vu que je suis arrivé à l'installer sans soucis sur l'ordi de ma fille (et qu'il y avait sans doute pas mal de libs), je me suis installé une Primtux 5 toute fraîche dans une VM :

$ uname -a
Linux primtux 5.0.0-31-generic #33~18.0.4.1-Ubuntu SMP Tue Oct 1 10:20:39 UTC 2019 x86_64 x86_64 x86_64 GNU/Linux

Je me suis basé sur la dernière iso sur sourceforge et j'ai eu aucun blocage.

j'ai fait

$ cd /home/administrateur
$ git clone https://framagit.org/mothsart/primtuxstore.git
$ cd primtuxstore
$ ./create_db --verbose

ma base de donnée était bien créé :

$ ls  | grep primtuxstore.db
primtuxstore.db

et du coup, pas de soucis d'import :

./import

Même pas eu besoin d'installer "python3-yaml" ! c'est à n'y rien comprendre...

Hors ligne

Pied de page des forums