Ajout d'information à une page via l'URL
Je propose de réfléchir sur l'intérêt de pouvoir ajouter des informations à une page
autrement que par un clic sur "Éditer cette page". Je suggère notamment de pouvoir ajouter de l'information via l'URL, par exemple à l'aide d'un paramètre que l'on pourrait appeler "&append".
Explication par des exemples :
Cette fonctionnalité permet d'envisager des applications intéressantes comme :
- une favelet (ou bookmarlklet) permettant d'ajouter une page internet quelconque à une liste de liens d'une page ; un fonctionnement similaire est décrit dans cet article : A bookmarklet to add the current URL into the Wiki.
- de créer des liens internes au wiki permettant par exemple :
- d'ajouter son nom à une page d'inscription pour un séminaire
- de cocher une page comme faisant partie des page ACompleter
- d'inscrire son nom et un choix déterminé dans une page de vote
- d'ajouter des liens dans le menu de navigation ou le menu du haut permettant par exemple :
- d'ajouter automatiquement une page à une catégorie de pages : AFaire, PagePersonnelle?, ASupprimer, etc.
- de faire ajouter des informations via des robots (cf. http://websemantique.org/RobotIRCVersWiki)
Avantages :
- permet les fonctionnalités décrites et d'autres à imaginer
Inconvénients :
- utilisation peu courrante de cette fonction
- fragilise le wiki ? un wiki peut devenir la cible d'une attaque d'un utilisateur mal intentionné : l'utilisateur n'a qu'à paramétrer un lien et laisser tourner un robot pour chercher à engorger un wiki ; l'utilisateur peut créer facilement automatiquement des milliers de pages...
--
CharlesNepote
Pistes de solutions pour limiter les problèmes de sécurité :
- réserver la modification à un utilisateur enregistré
- réserver la modification à un utilisateur enregistré et validé par l'administrateur technique ou fonctionnel (par exemple sous la forme d'un paramètre de configuration du wiki)
- réserver la modification à un utilisateur enregistré et propriétaire de la page
- limiter la taille d'un ajout (par exemple 2000 octets)
- limiter le nombre d'ajouts par jour (par exemple 100 ajouts par jour)
- soumettre l'ajout à la validation de l'administrateur fonctionnel (ne me paraît pas bon)
--
CharlesNepote
Solutions
Solution via la méthode POST
On peut imaginer une requette HTTP ce type là :
http://www.wikini.net/wakka.php?wiki=AjoutDInformationViaLURL/append
POST /wakka.php?wiki=AjoutDInformationViaLURL/append HTTP/1.1
Host: www.wikini.net
User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.0; fr-FR; rv:1.5) Gecko/20031007
Accept: text/xml,application/xml,application/xhtml+xml,text/html;q=0.9,text/plain;q=0.8,image/png,image/jpeg,image/gif;q=0.2,*/*;q=0.1
Accept-Language: fr,en;q=0.7,en-us;q=0.3
Accept-Encoding: gzip,deflate
Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7
Keep-Alive: 300
Connection: keep-alive
Referer: http://www.wikini.net/wakka.php?wiki=AjoutDInformationViaLURL/append
Cookie: password=5787131a8fe30b0283e387257b690b97; remember=1; name=TestTest; PHPSESSID=2eefee5aae864edb93a344dedf655d57
Content-Type: application/x-www-form-urlencoded
Content-Length: 5421
wiki=AjoutDInformationViaLURL%2Fedit&previous=4483&body=Exemple+texte+ajout&submit=Ajouter
(note : le Content-Lenght est faux)
--
CharlesNepote
Discussions
[C'est ce qui me gêne le plus dans cette fonction, ça risque de devenir vraiment facile de saccager un wiki par cette méthode --
DavidDelon]
- On peut alors réserver cette possibilité au seul propriétaire de la page et/ou utilisateurs enregistrés ? -- CharlesNepote
Il me semble que ce que tu propose peut se faire facilement avec des actions. C'est exactement le genre de comportement de l'action
{{usersettings}}. Par exemple, pour faire une inscription à un séminaire, il est tout à fait envisageable d'avoir une action {{inscription}} qui proposerait un formulaire d'inscription et ajouterait les inscrits à la page elle même ou dans une table specifique de la base de données. L'utilisateur voulant s'inscrire n'aurait qu'a remplir le formulaire et donc pas à cliquer sur "Editer cette page".
Pour associer une page à une catégorie, une boite déroulante avec un bouton permet de faire l'association. La encore, une action peut facilement le faire en publiant un formulaire toujours en reprenant le principe de
{{usersettings}}. On peut étendre tout ca à la gestion des bugs, à la gestion d'un "favelet"...etc
Je pense que cette méthode est bien plus souple que ce que tu propose car un administrateur de site peut alors choisir les actions possibles sur le site et personnaliser plus facilement les formulaires/questions.
Il serait d'ailleur interressant de proposer une archive avec le minimum pour que
WikiNi fonctionne et des archives supplémentaires proposant des extensions plus ou moins spécifique. [D'accord pour l'archive et les plugins/contribs supplémentaires --
DavidDelon]
--
GarfieldFr
- Ce que je souhaite faire ne me paraît pas possible via des actions parce je souhaite qu'on puisse intégrer du contenu via un lien extérieur au wiki. [Un exemple intéressant nous est fournit par les WikiMarklet -- CharlesNepote