LabelsTower issueshttps://gitlab.in2p3.fr/MaitresNageurs/README/LabelsTower/-/issues2018-11-09T11:51:41+01:00https://gitlab.in2p3.fr/MaitresNageurs/README/LabelsTower/-/issues/35Demandes & Auteurs2018-11-09T11:51:41+01:00CHAMONT DavidDemandes & Auteurs@Cyril, @Perus
Quand #34 sera OK. Je pense qu'un tutoriel pourrait maintenant avoir l'un des 4 statuts suivants :
* recommandé par...
* réalisé par... (si en réalité le "prescriber" est l'auteur du tuto)
(l'objectif est de valoriser l...@Cyril, @Perus
Quand #34 sera OK. Je pense qu'un tutoriel pourrait maintenant avoir l'un des 4 statuts suivants :
* recommandé par...
* réalisé par... (si en réalité le "prescriber" est l'auteur du tuto)
(l'objectif est de valoriser les auteurs)
* en cours de réalisation par... (pour signaler un travail en cours)
=> il y a une éventuellement une URL, mais on ne la montre pas
=> on affiche normalement, mais sans le lien HTML
* demandé par...
=> il n'y a pas d'URL attachée
=> on affiche en italique
Votre avis ?Coding Pool v0.3Deleted UserDeleted Userhttps://gitlab.in2p3.fr/MaitresNageurs/README/LabelsTower/-/issues/34Recommandé par2018-11-09T11:51:42+01:00CHAMONT DavidRecommandé parQuand #33 sera OK, j'aimerais que dans le panneau "tutoriel", à droite de chaque tutoriel, et aligné à droite, il y ait un "Recommandé par <Prénom> <Nom>", ou "Prescribed by..." en anglais.Quand #33 sera OK, j'aimerais que dans le panneau "tutoriel", à droite de chaque tutoriel, et aligné à droite, il y ait un "Recommandé par <Prénom> <Nom>", ou "Prescribed by..." en anglais.Coding Pool v0.3Deleted UserDeleted Userhttps://gitlab.in2p3.fr/MaitresNageurs/README/LabelsTower/-/issues/33Ajout d'une table des "personnes"2018-10-30T12:26:49+01:00CHAMONT DavidAjout d'une table des "personnes"En vue de développements ulterieurs, j'aimerai qu'il y ait une table des "personnes", qui comprenne pour chaque personne (pour l'instant) : nom, prenom, email. L'alimenter avec la liste actuelle des "prescribers".En vue de développements ulterieurs, j'aimerai qu'il y ait une table des "personnes", qui comprenne pour chaque personne (pour l'instant) : nom, prenom, email. L'alimenter avec la liste actuelle des "prescribers".Coding Pool v0.3Deleted UserDeleted Userhttps://gitlab.in2p3.fr/MaitresNageurs/README/LabelsTower/-/issues/16Cookies2018-11-09T11:31:15+01:00CHAMONT DavidCookiesL'utilisation de cookies pourrait permettre à un utilisateur, lorsqu'il revient sur le site, de retrouver ses sélections telles qu'il les avait laissé la dernière fois ?L'utilisation de cookies pourrait permettre à un utilisateur, lorsqu'il revient sur le site, de retrouver ses sélections telles qu'il les avait laissé la dernière fois ?Coding Pool v0.3https://gitlab.in2p3.fr/MaitresNageurs/README/LabelsTower/-/issues/19Verifier les cours/supports de l'IDRIS2018-10-18T22:02:08+02:00CHAMONT DavidVerifier les cours/supports de l'IDRISPar Hadrien :
L'IDRIS met en ligne les supports de toutes ses formations, c'est pas pensé "en ligne" à la base mais suffisamment bien fait pour s'en servir de façon autonome :
Titre: <A voir au cas par cas?>
URL: http://www.idr...Par Hadrien :
L'IDRIS met en ligne les supports de toutes ses formations, c'est pas pensé "en ligne" à la base mais suffisamment bien fait pour s'en servir de façon autonome :
Titre: <A voir au cas par cas?>
URL: http://www.idris.fr/formations/supports_de_cours.html
Mots-clés: <A voir au cas par cas?> (En vrac: Fortran 95, MPI, OpenMP)Version FinaleCHAMONT DavidCHAMONT Davidhttps://gitlab.in2p3.fr/MaitresNageurs/README/LabelsTower/-/issues/1Test de temps de reactivité2018-10-09T11:40:02+02:00CHAMONT DavidTest de temps de reactivitéIl faudrait imaginer un test permettant de mesurer le temps de reaction des scripts. Cela pourrait commencer par un programme qui genere une fausse base de donnee de façon aleatoire, avec quelques milliers d'elements et quelques centaine...Il faudrait imaginer un test permettant de mesurer le temps de reaction des scripts. Cela pourrait commencer par un programme qui genere une fausse base de donnee de façon aleatoire, avec quelques milliers d'elements et quelques centaines d'etiquettes. Ensuite, pour chaque etiquette racine (celles qui apparaissent lors de la page initiale), dans l'hypothèse ou l'utilisateur la sélectionne, on mesurerait le temps necessaire pour generer la liste des etiquettes discriminantes.Version FinaleDeleted UserDeleted Userhttps://gitlab.in2p3.fr/MaitresNageurs/README/LabelsTower/-/issues/45cookie management regration2020-08-03T14:13:45+02:00Elliot Richardcookie management regrationProblème :
Lorsque je rafraichis la page de démo et que des labels ont été sélectionnés,
le panneau des labels discriminants est vide alors qu'il ne le devrait pas.
Origine :
La méthode str_to_labels_tab crée un nom de c...Problème :
Lorsque je rafraichis la page de démo et que des labels ont été sélectionnés,
le panneau des labels discriminants est vide alors qu'il ne le devrait pas.
Origine :
La méthode str_to_labels_tab crée un nom de clé qui ne correspondant pas aux noms de clés utilisées
dans templates/browser.html.
La méthode labels_tab_to_str lit un nom de clé inexistant ("name").
Solution :
Mettre à jour le nom de clé name ("name" -> "label_name").Elliot RichardElliot Richardhttps://gitlab.in2p3.fr/MaitresNageurs/README/LabelsTower/-/issues/44Refactor search route2020-08-03T11:36:53+02:00Elliot RichardRefactor search routeProblème :
Lorsque nous remplaçons les attributs du SELECT du SQL statement de la fonction get_selected_elements par * le système
de tri par étiquette cesse de fonctionner correctement (/test/script/run_doctest.sh ***Test Faile...Problème :
Lorsque nous remplaçons les attributs du SELECT du SQL statement de la fonction get_selected_elements par * le système
de tri par étiquette cesse de fonctionner correctement (/test/script/run_doctest.sh ***Test Failed*** 6 failures.).
Origine :
Elles sont multiple.
Si number_of_mandatory_labels > 0
Le FROM utilise les tables LABEL et ELEMENT qui possèdent chacun un attribut id. La table qui apparaît en
premier dans le
FROM voit son id disparaître (comportement avec le SGBD sqlite3).
De plus get_selected_elements renvoie les attributs de la table ELEMENT et les attributs des tables jointes
(LABEL et
ELEMENT_LABEL)
Si number_of_mandatory_labels <= 0
La jointure entre ELEMENT et ELEMENT_LABEL crée des doublons chez les éléments qui portent plus d'un label.
Solution :
Elles sont multiple.
Si number_of_mandatory_labels > 0
1. Supprimer la jointure avec LABEL car les id des labels sont déjà disponibles avec la table ELEMENT_LABEL
(id_element,
id_label).
2. Selectionner uniquement les attributs de la table ELEMENT (SELECT ELEMENT.*).
Si number_of_mandatory_labels <= 0
1. Garder le DISCTINCT dans le SELECT (SELECT DISTINCT ELEMENT.id, ELEMENT.*
2. Ajouter une CLAUSE GROUP BY (GROUP BY ELEMENT.id)Elliot RichardElliot Richardhttps://gitlab.in2p3.fr/MaitresNageurs/README/LabelsTower/-/issues/43fix bug : KeyError: 'LABELSTOWER_ENV'2020-07-28T16:34:27+02:00Elliot Richardfix bug : KeyError: 'LABELSTOWER_ENV'root@90baf65dd181:/work# flask run --host 0.0.0.0
* Serving Flask app "demo"
* Environment: production
WARNING: This is a development server. Do not use it in a production deployment.
Use a production WSGI server instead.
* Debu...root@90baf65dd181:/work# flask run --host 0.0.0.0
* Serving Flask app "demo"
* Environment: production
WARNING: This is a development server. Do not use it in a production deployment.
Use a production WSGI server instead.
* Debug mode: off
Traceback (most recent call last):
File "/usr/local/bin/flask", line 8, in <module>
sys.exit(main())
File "/usr/local/lib/python3.6/site-packages/flask/cli.py", line 966, in main
cli.main(prog_name="python -m flask" if as_module else None)
File "/usr/local/lib/python3.6/site-packages/flask/cli.py", line 586, in main
return super(FlaskGroup, self).main(*args, **kwargs)
File "/usr/local/lib/python3.6/site-packages/click/core.py", line 717, in main
rv = self.invoke(ctx)
File "/usr/local/lib/python3.6/site-packages/click/core.py", line 1137, in invoke
return _process_result(sub_ctx.command.invoke(sub_ctx))
File "/usr/local/lib/python3.6/site-packages/click/core.py", line 956, in invoke
return ctx.invoke(self.callback, **ctx.params)
File "/usr/local/lib/python3.6/site-packages/click/core.py", line 555, in invoke
return callback(*args, **kwargs)
File "/usr/local/lib/python3.6/site-packages/click/decorators.py", line 64, in new_func
return ctx.invoke(f, obj, *args, **kwargs)
File "/usr/local/lib/python3.6/site-packages/click/core.py", line 555, in invoke
return callback(*args, **kwargs)
File "/usr/local/lib/python3.6/site-packages/flask/cli.py", line 848, in run_command
app = DispatchingApp(info.load_app, use_eager_loading=eager_loading)
File "/usr/local/lib/python3.6/site-packages/flask/cli.py", line 305, in __init__
self._load_unlocked()
File "/usr/local/lib/python3.6/site-packages/flask/cli.py", line 330, in _load_unlocked
self._app = rv = self.loader()
File "/usr/local/lib/python3.6/site-packages/flask/cli.py", line 388, in load_app
app = locate_app(self, import_name, name)
File "/usr/local/lib/python3.6/site-packages/flask/cli.py", line 257, in locate_app
return find_best_app(script_info, module)
File "/usr/local/lib/python3.6/site-packages/flask/cli.py", line 83, in find_best_app
app = call_factory(script_info, app_factory)
File "/usr/local/lib/python3.6/site-packages/flask/cli.py", line 119, in call_factory
return app_factory()
File "/work/demo/__init__.py", line 23, in create_app
app.config.from_object(os.environ['LABELSTOWER_ENV'])
File "/usr/local/lib/python3.6/os.py", line 669, in __getitem__
raise KeyError(key) from None
KeyError: 'LABELSTOWER_ENV'Elliot RichardElliot Richardhttps://gitlab.in2p3.fr/MaitresNageurs/README/LabelsTower/-/issues/42fix bug : ImportError: module 'demo.config' has no attribute 'Config'2020-07-28T16:34:46+02:00Elliot Richardfix bug : ImportError: module 'demo.config' has no attribute 'Config'erichard@nb-erichard:~/Developpement/LabelsTower.git$ docker/run_latest.sh instance/init_db.sh
LABELSTOWER_ENV demo.config.Config
Traceback (most recent call last):
File "/usr/local/lib/python3.6/site-packages/werkzeug/utils.py", lin...erichard@nb-erichard:~/Developpement/LabelsTower.git$ docker/run_latest.sh instance/init_db.sh
LABELSTOWER_ENV demo.config.Config
Traceback (most recent call last):
File "/usr/local/lib/python3.6/site-packages/werkzeug/utils.py", line 556, in import_string
return getattr(module, obj_name)
AttributeError: module 'demo.config' has no attribute 'Config'
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "/usr/local/lib/python3.6/site-packages/werkzeug/utils.py", line 558, in import_string
raise ImportError(e)
ImportError: module 'demo.config' has no attribute 'Config'
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "<string>", line 1, in <module>
File "/work/demo/__init__.py", line 23, in create_app
app.config.from_object(os.environ['LABELSTOWER_ENV'])
File "/usr/local/lib/python3.6/site-packages/flask/config.py", line 174, in from_object
obj = import_string(obj)
File "/usr/local/lib/python3.6/site-packages/werkzeug/utils.py", line 563, in import_string
ImportStringError, ImportStringError(import_name, e), sys.exc_info()[2]
File "/usr/local/lib/python3.6/site-packages/werkzeug/_compat.py", line 147, in reraise
raise value.with_traceback(tb)
File "/usr/local/lib/python3.6/site-packages/werkzeug/utils.py", line 558, in import_string
raise ImportError(e)
werkzeug.utils.ImportStringError: import_string() failed for 'demo.config.Config'. Possible reasons are:
- missing __init__.py in a package;
- package or module path not included in sys.path;
- duplicated package or module name taking precedence in sys.path;
- missing module, class, function or variable;
Debugged import:
- 'demo' found in '/work/demo/__init__.py'.
- 'demo.config' found in '/work/demo/config.py'.
- 'demo.config.Config' not found.
Original exception:
ImportError: module 'demo.config' has no attribute 'Config'
Error: cannot open "Data.sql"Elliot RichardElliot Richardhttps://gitlab.in2p3.fr/MaitresNageurs/README/LabelsTower/-/issues/41Modifier l'image DOCKER2020-07-28T10:16:15+02:00Elliot RichardModifier l'image DOCKERrequirements.txt à évolué.
Il faut donc mettre à jour l'image distante de labelsTower afin de télécharger les bonnes dépendances (requirements.txt)requirements.txt à évolué.
Il faut donc mettre à jour l'image distante de labelsTower afin de télécharger les bonnes dépendances (requirements.txt)Elliot RichardElliot Richardhttps://gitlab.in2p3.fr/MaitresNageurs/README/LabelsTower/-/issues/40instruction de création de la base de données test2020-07-28T10:15:13+02:00Elliot Richardinstruction de création de la base de données test
```shell
mkdir instance
python3 -m venv venv
source venv/bin/activate
pip install -r requirements.txt
python3 -c 'from models import db;db.create_all()'
mv test.db voiture.db ou codingpool.db
sqlite3 voiture.db '.read data_voiture.sql'...
```shell
mkdir instance
python3 -m venv venv
source venv/bin/activate
pip install -r requirements.txt
python3 -c 'from models import db;db.create_all()'
mv test.db voiture.db ou codingpool.db
sqlite3 voiture.db '.read data_voiture.sql'
mv voiture.db instance/
```Elliot RichardElliot Richardhttps://gitlab.in2p3.fr/MaitresNageurs/README/LabelsTower/-/issues/39Architecture alternative : Blueprint = pyfiles+statics+templates2020-07-28T10:16:32+02:00Elliot RichardArchitecture alternative : Blueprint = pyfiles+statics+templatesIntégrer les vues au blueprints
https://realpython.com/flask-blueprint/Intégrer les vues au blueprints
https://realpython.com/flask-blueprint/Elliot RichardElliot Richardhttps://gitlab.in2p3.fr/MaitresNageurs/README/LabelsTower/-/issues/38Créer le models SQLAlchemy2020-07-28T10:15:20+02:00Elliot RichardCréer le models SQLAlchemy#37 Le modèle ne sera pas utile dans un premier temps car aucune instance des classes du modèles n'a besoin d'être créées pour faire fonctionner les requêtes SQL préexistantes (cf."getter.py").#37 Le modèle ne sera pas utile dans un premier temps car aucune instance des classes du modèles n'a besoin d'être créées pour faire fonctionner les requêtes SQL préexistantes (cf."getter.py").Elliot RichardElliot Richardhttps://gitlab.in2p3.fr/MaitresNageurs/README/LabelsTower/-/issues/37Implémenter SQLAlchemy2020-07-28T10:15:45+02:00Elliot RichardImplémenter SQLAlchemyPour homogénéiser le système d'interaction base de données-application avec codeguards (projet parallèle d'authentification) je vais implémenter l'ORM SQLAlchemy.Pour homogénéiser le système d'interaction base de données-application avec codeguards (projet parallèle d'authentification) je vais implémenter l'ORM SQLAlchemy.Elliot RichardElliot Richardhttps://gitlab.in2p3.fr/MaitresNageurs/README/LabelsTower/-/issues/36Refactoring de l'architecture2020-07-28T10:15:28+02:00Elliot RichardRefactoring de l'architecturefuture architecture
```
app/
labels_system/
__init__.py
routes.py
getter.py
request_db.py
static/
templates/
__init__.py
config.py
instance/
test.db
```future architecture
```
app/
labels_system/
__init__.py
routes.py
getter.py
request_db.py
static/
templates/
__init__.py
config.py
instance/
test.db
```Elliot RichardElliot Richardhttps://gitlab.in2p3.fr/MaitresNageurs/README/LabelsTower/-/issues/32Adaptation de la base de donnée propre à CodingPool2018-10-30T12:28:42+01:00Deleted UserAdaptation de la base de donnée propre à CodingPoolLe fonctionnement du site ayant changer la base de donnée CodingPool doit être modifiée.Le fonctionnement du site ayant changer la base de donnée CodingPool doit être modifiée.https://gitlab.in2p3.fr/MaitresNageurs/README/LabelsTower/-/issues/31Fichier de paramètres2020-07-28T10:17:00+02:00CHAMONT DavidFichier de paramètresLa taille des caractère dans le panneau de droite a bien été réduite, mais pas celle du panneau de gauche. En fait, il serait bien que ces paramètres soient bien isolés quelque part et faciles à changer. Est-ce qu'il y a, ou est-ce qu'il...La taille des caractère dans le panneau de droite a bien été réduite, mais pas celle du panneau de gauche. En fait, il serait bien que ces paramètres soient bien isolés quelque part et faciles à changer. Est-ce qu'il y a, ou est-ce qu'il pourrait y avoir quelque part un fichier de paramètres ?https://gitlab.in2p3.fr/MaitresNageurs/README/LabelsTower/-/issues/30Amélioration de la vitesse de recherche2018-10-08T15:14:43+02:00Deleted UserAmélioration de la vitesse de rechercheUne recherche qui doit traiter beaucoup de tutoriels peut durer jusqu'à 3 secondes quand l'ordi est vraiment lent.
L'objectif est de réduire ce temps pour arriver en dessous de 1 seconde.Une recherche qui doit traiter beaucoup de tutoriels peut durer jusqu'à 3 secondes quand l'ordi est vraiment lent.
L'objectif est de réduire ce temps pour arriver en dessous de 1 seconde.https://gitlab.in2p3.fr/MaitresNageurs/README/LabelsTower/-/issues/29Bulles sur les étiquettes sélectionnées2018-10-04T11:47:22+02:00CHAMONT DavidBulles sur les étiquettes sélectionnéesUne fois qu'une étiquette a été sélectionnée, il faudrait une bulle lorsqu'on survole l'icône de gauche ("Desélectionne les éléments portant cette étiquette") ou l'icône de droite ("Autorise les éléments portant cette étiquette").
Selon ...Une fois qu'une étiquette a été sélectionnée, il faudrait une bulle lorsqu'on survole l'icône de gauche ("Desélectionne les éléments portant cette étiquette") ou l'icône de droite ("Autorise les éléments portant cette étiquette").
Selon le principe : tout ce qui est cliquable possède sa bulle explicative.Deleted UserDeleted User