J'aimerais donc créer un plugin "Lieux" permettant de créer des lieux abstrait, puis brancher agenda dessus.
Pour gérer les lieux, il faudrait utiliser une nouvelle version du plugin "géographie" suite aux discussions sur les problèmes d'identification / de nomenclature.
Mes questions sont donc les suivantes
1) est-ce que cela existe deja ?
2) comment envisager le branchement sur agenda ? facultatif j'imagine ? un outils de migration
3) qu'en pensez vous
4) où en-est-on de la refonte de geographie. Eric avait commencé quelque chose avec des serveurs qui références d'après les normes ISO. Est-ce que c'est fonctionnel/testable ?
J’aimerais donc créer un plugin « Lieux » permettant de créer des lieux
abstrait, puis brancher agenda dessus.
Pour gérer les lieux, il faudrait utiliser une nouvelle version du
plugin « géographie » suite aux discussions sur les problèmes
d’identification / de nomenclature.
Donc un lieu est pas si abstrait que ça.
Dans Géographie et Nomenclatures les lieux sont des zones administratives ou géographiques normalisés.
C’est uniquement ce type de lieux que tu veux gérer ou tu veux aussi des lieux moins standard comme « ma maison au canada » ou autre ?
Le plugin Rainette utilise aussi des lieux, qui sont identifiés soit par un nom (paris, france) soit par une adresse IP, soit par des coordonnées géographiques ou un code spécifique de l’API ou de la station émettrice.
Mes questions sont donc les suivantes
est-ce que cela existe deja ?
Un peu, ça dépend ton besoin.
comment envisager le branchement sur agenda ? facultatif j’imagine ?
un outils de migration
qu’en pensez vous
où en-est-on de la refonte de geographie. Eric avait commencé quelque
chose avec des serveurs qui références d’après les normes ISO. Est-ce
que c’est fonctionnel/testable ?
Le plugin Nomenclatures est sur git depuis hier.
Je le développe et le mets à jour régulièrement.
Mais c’est très simple de le faire évoluer tant coté chargement de la base de données (principalement de la config) que API REST.
Je m’étais un peu arrêté sur Géographie car il fallait décider des changements en utilisant Nomenclatures.
Donc si il y a un besoin d’évolution du plugin pas de souci, y a juste à dire quoi.
Aujourd’hui on a un champ lieu libre pour gérer les cas les plus simples, et dès que ça suffit pas la solution est d’utiliser Gis pour mettre un point geolocalisé sur chaque évènement, ce qui te permet de faire ce que tu veux
(aussi bien une adresse précise qu’un « lieu » qui serait juste un nom d’endroit mais que tu géolocalise quand même)
Qu’est-ce que donnerait de plus un plugin Lieux ? A quel cas d’usage pense-tu ?
(Et encore une fois attention, « plus » n’est pas forcément « mieux », 80% des utilisateurs ont des besoins simples et il faut garder à l’esprit ce cas d’usage qui reste la majorité et la référence et ne doit pas se dégrader)
J'ai pensé exactement à la même chose : le plugin GIS est à priori déjà tout bon pour ça, ya le nom, l'emplacement, l'adresse si on veut, et en plus on peut l'afficher direct sur une carte sans rien coder de plus. Nous c'est ce qu'on utilise tout le temps.
Par contre ce qui serait peut-être cool, ça serait une option de config (ou automatique dès qu'on active GIS sur l'objet Événement ?) qui remplace les champs Lieu et Adresse dans le formulaire d'événement directement, par le choix d'un point GIS directement dans le même formulaire tout-en-un. Ce qui évite d'avoir à faire comprendre qu'il faut éditer ça PUIS ça (et ça permet aussi de faire proposer des événements en un coup ailleurs dans le site, sans réinventer une interface d'admin). Et en continuant de dupliquer l'info de nom et d'adresse par derrière dans spip_evenements, ce qui fait que si jamais on désactive GIS un jour, ya toujours l'info de base.
Ah et sinon ya aussi l'alternative du plugin Coordonnées en activant les Adresses sur l'objet Événements, exactement le même principe que pour GIS.
(Et c'est toujours dans un coin de ma tête qu'un jour faudrait rendre compatible/unifier aussi bien en stockage qu'en ergonomie tous les plugins qui tournent autour de la localisation : GIS, Coordonnées, les 2 champs d'Événements, Géographie, Pays… trop plein, chacun avec ses trucs).
Aujourd’hui on a un champ lieu libre pour gérer les cas les plus simples, et dès que ça suffit pas la solution est d’utiliser Gis pour mettre un point geolocalisé sur chaque évènement, ce qui te permet de faire ce que tu veux
(aussi bien une adresse précise qu’un « lieu » qui serait juste un nom d’endroit mais que tu géolocalise quand même)
a oki ! J'avoue que je n'avais pas pensé à GIS. Pour moi un lieu se définit par un nom (exemple : Centre d'Astronomie Jean-Marc Salomon) et une adresse (qui comporte elle-même plusieurs champs).
La différence aussi est que les lieux sont des elements à part, qui sont lié par une table de liaison aux évènements, et non pas directement des champs de l'évènement.
Typiquement sur openagenda, ils demandent
Mais je regarde la documentation de GIS + les réponses des autres copains, et il semble y avoir ce dont j'ai besoin.
Qu’est-ce que donnerait de plus un plugin Lieux ? A quel cas d’usage pense-tu ?
(Et encore une fois attention, « plus » n’est pas forcément « mieux », 80% des utilisateurs ont des besoins simples et il faut garder à l’esprit ce cas d’usage qui reste la majorité et la référence et ne doit pas se dégrader)
--
sur ce point je suis d'accord, c'est d'ailleurs le sens d'une de mes questions : comment on opére une bascule d'un système "champ libre" à un système "lieu", en terme ergonomique.
A mon avis l'usage actuel est effectivement bon pour 90 % des gens.
Oui il y a ce truc très confus pour moi entre tous les plugins de localisation.
Mais en gros pour faire comment je vois les choses
1) En base on a une liste de "Lieux" ou de "points localisés". Exemple "Centre d'Astronomie JM Salomon, 73 rue des Roches, 77760 Buthiers"
2) lorsque crée / modifie un évènement
a) il nous est proposé de choisir parmi le lieux existant (mais quel ergonomie si beaucoup de lieu)
b) à défaut on peut créer un lieu "à la volée" (comme un crée un mot clé "à la volée")
Du coup je vois le choix entre Gis et Coordonnée. Mais GIS à l'avantage d'avoir en plus les outiles de cartographie.
Du coup je partirais bien sur ton idée de brancher Gis sur évènement. La question étant de savoir si c'est une option ou un automatisme lorsqu'on active les points sur un évènement. A mon avis la seconde option est plus simple / logique.
J'aimerais donc créer un plugin "Lieux" permettant de créer des lieux
abstrait, puis brancher agenda dessus.
Pour gérer les lieux, il faudrait utiliser une nouvelle version du
plugin "géographie" suite aux discussions sur les problèmes
d'identification / de nomenclature.
Donc un lieu est pas si abstrait que ça.
Dans Géographie et Nomenclatures les lieux sont des zones administratives ou géographiques normalisés.
C'est uniquement ce type de lieux que tu veux gérer ou tu veux aussi des lieux moins standard comme "ma maison au canada" ou autre ?
non effectivement c'est "ma maison au canada". Je pensais au plugin geographie pour avoir une interface pour déclarer ce type de lieux. Mais visiblement, d'après les réponses ailleurs, GIS est sans doute plus adapté.
Le plugin Rainette utilise aussi des lieux, qui sont identifiés soit par un nom (paris, france) soit par une adresse IP, soit par des coordonnées géographiques ou un code spécifique de l'API ou de la station émettrice.
Mes questions sont donc les suivantes
1) est-ce que cela existe deja ?
Un peu, ça dépend ton besoin.
2) comment envisager le branchement sur agenda ? facultatif j'imagine ?
un outils de migration
3) qu'en pensez vous
4) où en-est-on de la refonte de geographie. Eric avait commencé
quelque
chose avec des serveurs qui références d'après les normes ISO. Est-ce
que c'est fonctionnel/testable ?
Le plugin Nomenclatures est sur git depuis hier.
Je le développe et le mets à jour régulièrement.
Mais c'est très simple de le faire évoluer tant coté chargement de la base de données (principalement de la config) que API REST.
Je m'étais un peu arrêté sur Géographie car il fallait décider des changements en utilisant Nomenclatures.
Donc si il y a un besoin d'évolution du plugin pas de souci, y a juste à dire quoi.
oui, effectivement je ne me rapelle le point de blocage.
Bon, en ce qui me concerne, et vue les réponses apportées conseillant gis, j'aurais tendance à dire : pas d'urgence pour la refonte de géographie de mon côté
Plus logique oui et non, ça dépend des sites, et je me posais la question surtout car : les points GIS c'est multiple, alors que le couple de champs Lieu/Adresse dans spip_evenements c'est un lieu unique. Du coup si t'actives les points GIS (ou les adresses) sur les événements, tu peux techniquement créer et lier autant de points que tu veux à l'événement. Dans dans le formulaire tout-en-un pour l'ergonomie, si yen a qu'un, comment on fait ? Si jamais à côté dans le vrai formulaire GIS d'origine tu lies plusieurs points au final à un événement, ensuite dans le formulaire d'événement comment tu sais lequel tu dois afficher, lequel est considéré comme le principal ? Ça pose pas mal de questions quand même quoi…
Dans tous les cas, à minima, tu peux activer GIS sur les événements, et ajouter un vrai point GIS dédié à chaque événement. Ensuite le fait de l'intégrer dans le formulaire tout-en-un d'événement, c'est de l'amélioration, mais faut réussir à répondre aux questions.
Du coup je partirais bien sur ton idée de brancher Gis sur évènement. La question étant de savoir si c'est une option ou un automatisme lorsqu'on active les points sur un évènement. A mon avis la seconde option est plus simple / logique.
Plus logique oui et non, ça dépend des sites, et je me posais la question surtout car : les points GIS c'est multiple, alors que le couple de champs Lieu/Adresse dans spip_evenements c'est un lieu unique. Du coup si t'actives les points GIS (ou les adresses) sur les événements, tu peux techniquement créer et lier autant de points que tu veux à l'événement. Dans dans le formulaire tout-en-un pour l'ergonomie, si yen a qu'un, comment on fait ? Si jamais à côté dans le vrai formulaire GIS d'origine tu lies plusieurs points au final à un événement, ensuite dans le formulaire d'événement comment tu sais lequel tu dois afficher, lequel est considéré comme le principal ? Ça pose pas mal de questions quand même quoi…
oui, effectivement. En théorie d'ailleurs on pourrait avoir plusieurs lieux pour un évènement. Imagine une manip de sciences participative, "tel jour, on se retouve dans x lieux différents".
Cela étant, c'est un cas un peu à part, et on peut supposer que les évènements sont la plupart du temos dans un rapport 1,1
Pour le lien, faudrait un système de role non ? "principal" etc. Je sais plus où on en est niveau typage des table de liaison
Je ne suis pas sûr d'avoir compris : un plugin à part pour le fait d'intégrer l'interface dans le formulaire directement, ou un plugin à part pour ajouter encore un nouvel objet ?
Si c'est le deuxième, je ne saisis pas cette réflexion : ce plugin à part dont tu parles qu'on installe en toute conscience, existe déjà, c'est GIS ! Il est intégralement dédié à créer des points, correspondant à des lieux, avec un nom, une adresse, une position. Je ne vois pas trop l'intérêt d'avoir un énième plugin pour ça (sachant comme déjà dit qu'il y en a déjà un deuxième avec spip_adresses de Coordonnées, alors trois plugins qui ferait la même chose…).
Par contre le fait d'intégrer GIS ou spip_adresses dans le formulaire editer_evenement directement, ça ça pourrait être dans un plugin à part oui…
Cela étant je n'ai pas beaucoup avancé, car j'ai préféré me consacrer à des merge request pour le plugin agenda, concernant les liaisons et les répetitions.
Pour l'heure, j'achoppe pas mal en fait :
- je ne peux pas mettre directement dans le formulaire d'évènement le sous formulaire d'ajout de liaison vers un point gis, car dès lors qu'on l'execute on perd les données du formulaire d'évènement
- j'imagine qu'à coup de js et autres cela devrait être possible, mais j'avoue qu'à 21 ce n'était pas vraiment mon dada
- dans tous les cas il faudrait ne pas faire la liaison directement, mais plutot stocké dans un champ caché l'objet gis, pour le cas où l'on créé un évènement
- de tout façon, il me semble qu'il faudrait aussi donner des roles au liaison (est-ce natif spip 3.3 ? si oui je limiterai bien le plugin à cette version)
- par ailleurs, mais ce n'est pas le plus compliqué, il faudra utiliser un pipeline pour répercuter les conséquences des modifications sur les autres évènements
- je n'ai pas encore codé la partie "retranscrire dans la table2
reessaie, je ne vois pas par quel bout prendre ce problème, qui est multiple
1. Problème de formulaire de recherche (de point gis) dans un formulaire de modification (d'evenement)
2. Pis encore problème de formulaire de recherche (de point gis) dans un formulaire de création (d'evenement)
3. Pis encore : problème de formulaire de créatipn (de point gis) dans un formulaire de création (d'évènement)
Comment on gère tout cela en terme de "ne pas perdre les données de chaque formulaire" ?
Un truc purement AJAX ? ou bien faire comme saisies qui pour gérer les formulaires imbriqués utilise des sessions ?
En fait je comprend mieux pourquoi on lie jamais les objets entre eux dans le même formulaire. C'est juste l'horreur.
Ça ne va pas t'avancer beaucoup mais je me suis penché là dessus aussi pour rendre la création d'un objet éditorial plus fluide (des oeuvres, liées à des artistes), et j'ai vite déchanté.
J'ai soulevé les même interrogations, et je me suis dit "courage, fuyons !"
Trop de temps de développement et de maintenance de bugs, au vu de ce que ça apporterait réellement.
Surtout que si l'ajax peut être une aide, il faut aussi que ça fonctionne sans js...
Concernant les lieux, j'avais aussi commencé à travailler là dessus pour un site participatif où les gens peuvent déposer des annonces d'événements culturels.
Un des objectifs était de leur proposer d'indiquer le lieu (une salle de spectacle, souvent) en le créant ou en réutilisant un lieu déjà existant (plusieurs milliers de lieux).
L'idée, derrière ça, était de pouvoir sortir la liste des événements d'un lieu.
On avait pas mal réfléchi à l'ergonomie, testé pas mal de choses, mais même avec de l'autocompletion et suggestion intelligente (ou au moins pas trop conne) au final on avait quand même beaucoup trop de lieux en doublons ou plus, donc à moins de dédoublonner manuellement, ça ne tenait pas la route.
Là non plus, je n'avais pas trouvé la bonne façon de faire.