![]() |
|
PrimtuxStore - Version imprimable +- PrimTux, la distribution éducative (https://forum.primtux.fr) +-- Forum : PrimTux: LA DISTRIBUTION: présentation, aide et développement (https://forum.primtux.fr/forumdisplay.php?fid=5) +--- Forum : Demandes d'évolution - Tests des iso - Développement (https://forum.primtux.fr/forumdisplay.php?fid=10) +--- Sujet : PrimtuxStore (/showthread.php?tid=1295) Pages :
1
2
|
PrimtuxStore - mothsart - 24-12-2019 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. PrimtuxStore - Steph - 24-12-2019 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. PrimtuxStore - mothsart - 24-12-2019 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. PrimtuxStore - Steph - 24-12-2019 Laisse tomber j'avais lu "va changer le fichier de conf" au lieu de "va charger". Oui pour les icones. PrimtuxStore - mothsart - 06-02-2020 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 PrimtuxStore - mothsart - 08-02-2020 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 : Code : git clone git@framagit.org:mothsart/primtuxstore.gitPuis : Code : ./importCe 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 : Code : ./primtuxstorePrimtuxStore - mothsart - 18-02-2020 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. PrimtuxStore - Steph - 18-02-2020 J'ai ça à l'import: Code : $ ./create_dbPrimtuxStore - mothsart - 18-02-2020 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) PrimtuxStore - mothsart - 18-02-2020 J'ai mis à jour le code pour avoir un mode verbeux. Peux-tu me donner le résultat de : Code : ./create_db --verbosePrimtuxStore - Steph - 18-02-2020 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. PrimtuxStore - mothsart - 18-02-2020 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. PrimtuxStore - mothsart - 19-02-2020 Sur une primtux4, il me manquait "python3-pil" et "python3-yaml". PrimtuxStore - mothsart - 25-02-2020 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 : Code : $ uname -aJe me suis basé sur la dernière iso sur sourceforge et j'ai eu aucun blocage. j'ai fait Code : $ cd /home/administrateurma base de donnée était bien créé : Code : $ ls | grep primtuxstore.dbet du coup, pas de soucis d'import : Code : ./importMême pas eu besoin d'installer "python3-yaml" ! c'est à n'y rien comprendre... PrimtuxStore - Steph - 28-02-2020 Alors avec le git clone ça fonctionne mais si je clone en téléchargeant en zip la base n'est pas créée, c'est ça qui est étrange. Une fois démarré, j'ai les boutons "installer" qui sont actifs pour les applis installées, c'est pas "tester" qui devrait être actif? PrimtuxStore - Steph - 28-02-2020 Avec la commande dpkg-buildpackage -us -uc on a une erreur de chemin, corrigeable dans /debian/primtuxstore.install en mettant pstore à la place de store. PrimtuxStore - Steph - 28-02-2020 Mais en fait il est passé où create_db ? On dirait qu'il n'y a que des .py dans le deb. PrimtuxStore - mothsart - 29-02-2020 Bon, je comprend le pourquoi du comment : Le soft ne marche pour l'instant qu'en mode "debug" et ce mode s'appuie sur la présence d'un dossier ".git"... or avec l'archive, ce dossier n'existe pas et patatra. Sur la partie packaging, j'ai pas mis la charrue avant les boeufs et c'est juste un squelette mais ça ne fonctionne pas encore. Pour l'instant, c'est en plein dev, c'est un peu hatif de se concentrer dessus : le but c'est que tu es un aperçu et qu'on puisse travailler ensemble sur l'aspect "contenu" et fonctionnalités. Une fois ces points en place, je me concentrerais sur stabiliser et packager. De plus, j'aimerais que le .deb intègre directement la base de donnée "alimentée". (le script de création et d'import, c'est juste pour nous simplifier la vie mais ça n'a pas vocation a être présent chez l'utilisateur final) Du coup, le create_db et l'import ne seront pas présent sur le .deb final. PrimtuxStore - Steph - 29-02-2020 Compris!
PrimtuxStore - mothsart - 12-03-2020 Je viens d'améliorer le script d'import. Il arrive désormais, à partir des entrées du handymenu à retrouver le nom du paquet correspond (grâce à ça, il est capable de savoir si l'applicatif est installé ou non), le fichier .desktop et de ce fait les mots clés rattachés. Alors, il fait : c'est bien grand mot car les handymenus ne disposent tout simplement pas de suffisamment d'info pour tout remonter facilement. Je suis obligé de récup la commande lancé, de faire un "which" dessus pour ne pas prendre en compte les éventuels alias, supprimer les arguments puis j'identifie via dpkg quel paquet contient cette commande de lancement. Une fois le nom de ce paquet récupéré, je fais ressortir les .desktop (certains en ont plusieurs) pour n'en sélectionner qu'un (celui qui a le bon lanceur) et j'enregistre les mots clés correspondants. Bref, c'était pas de la tarte et y'a sans doute des cas ou il ne s'en sort pas. Ce script alimente donc la base de donnée et peut se lancer plusieurs fois sans rajouter de doublons (enfin, ça c'est la théorie. Si ils y en a, il faut tout de suite me le préciser pour que j'identifie pourquoi) : il ne va rajouter que les nouvelles entrées présent dans les handymenus. Voilà, ça devrait néanmoins bien nous simplifier la tâche. Steph, est-ce que tu pourrais alimenter cet import avec des handymenus chargés à toque : toutes les sessions + app non libres + paquets en cours d'intégration dans la PTX6 ? Code : ./create_db // on re-crée la base de zéroEn parallèle, je vais mettre au point le petit moteur de recherche pour qu'il tienne partie de ces futures nouvelles données. PrimtuxStore - mothsart - 14-03-2020 Voilà, ça avance. L'auto-complete n'est pas encore parfait mais après l'import c'est utilisable. (et couplé avec la pagination) Pour tester, il suffit de récupérer les dernières sources (git pull) et de lancer le store : Code : ./primtuxstorePrimtuxStore - mothsart - 14-03-2020 J'ai fait un premier jet pour l'installation. Pour ça, il faut lancer le soft avec les droits root : Code : gksu ./primtuxstorePour l'instant, ça fige l'interface pendant que le soft est installé et on a pas vraiment de visibilité sur l'état d'avancement mais c'est toujours ça. Bref, une fois qu'on aura suffisamment de données, je pourrais sans doute tagger le soft en version 0.1 : c'est à mon sens, fonctionnel. PrimtuxStore - Steph - 08-05-2020 Bon alors voilà: Code : $ ./create_dbPrimtuxStore - mothsart - 08-05-2020 J'ai pas trop compris pourquoi tu recréais la base que je venais d'alimenter. Le mieux, repart sur un dépôt propre et fait seulement : Code : ./primtuxstoreet je pense qu'à tout les coup, tu pars de l'archives et pas de git, non ? PrimtuxStore - Steph - 08-05-2020 oui je n'aai pas installé git sur PrimTux, je vais le mettre. |