Taches simples et rapides à réaliser
Les tâches réalisées sont transférées sur cette page :
ArchivesAFaireMoinsDe10Minutes
À faire continuellement :
- Vérifier que les sites référencés utilisent toujours WikiNi.
- Veiller régulièrement à FiltrerLeSpamDesReferrers sur cette page en particulier
- Lutter contre les TentativesDeVandalismeSurWikiNiPointNet
Remarques :
Je propose pour cela de créer deux sections dans cette page : "Vérifié entre le [date du premier site vérifié] et le [date du dernier site vérifié]" et "Non vérifié depuis le [date du premier site vérifié]". Quand on a quelques minutes, on vérifie un site de la deuxième section et
- soit on le déplace dans la première en changeant la date dans le nom
- soit on le déplace dans la section "Liens cassés" (celle-ci devant être purgée de temps à autres)
Quand la deuxième section est vide, on recommence avec la première. Cette technique devrait permettre d'éviter d'avoir de nombreux liens cassés - ou "
pire": des liens pointant vers des sites ayant changé de
MoteurDeWiki...
NB.: il ne faut pas changer les dates entre parenthèses qui correspondent à la date d'insertion de chaque site dans la liste
--
LordFarquaad et
StephaneAulery?
Documentation de WikiNi
Ecrire de la documentation
Remarques :
Ce travail prend plus de dix minutes mais il peut se réaliser en plusieurs étapes. --
StephaneAulery?
Nous avions finalement choisi la solution 0 (Voir
OrganisationDeLaDocumentationDeWikiNi) --
CharlesNepote
Le travail de
LordFarquaad est une excellente initiative. Attention cependant, certains titres de page prètent à confusion :
SecuriteSurUnServeur,
GererLesCommentaires,
GererLesProprietairesEtLesDroits,
GererLesUtilisateurs laissent penser que ces pages peuvent intégrer des renseignements utiles à tous les utilisateurs. Or, leur contenu ne concernent que les administrateurs techniques, c'est-à-dire les personnes ayant les droits d'accès aux bases de données. Un utilisateur lambda qui va faire une recherche sur "commentaire" va tomber sur cette page lui présentant du code SQL auquel il ne va rien comprendre : "où est-ce que je rentre ça ?, etc.". Il faudrait réflechir à des
Solutions type :
- préfixer ou suffixer les noms des pages
- donner un nom plus explicite : par exemple : GererLesCommentairesViaLaBaseSQL?
- autre ?
En fait je me suis contenté de recoller les titres pour former des noms wiki... et je n'avais malheureusement pas lu la page de principes (qui ne me semblent pas encore tellement être appliqués en fait :-S) Sinon pour beaucoup de problèmes il n'y a pas encore de solution autre que
MySQL (par exemple
GererLesCommentaires,
GererLesProprietairesEtLesDroits etc.).
- J'ai enlevé les deux lignes AFaire et je me demande si on ne devrait pas supprimer les deux lignes marquées de "merci d'inventer" aussi...
--
LordFarquaad
Documenter le code
Comme discuté dans la page
ClasseWiki et
ModeleObjetDeWikiNi, il faudrait documenter le code source de
WikiNi en ajoutant des commentaires
PhpDoc?. --
DidierLoiseau
Liens interwiki
Dans wakka.php ligne 312 (environ)
Remplacer
return "<a href=\"$tag\" >$text (interwiki)</a>";
Par
return "<a href=\"$tag\" class=\"interwiki\" >$text</a>";
Dans wakka.css
Ajouter la ligne
a.interwiki:after { content: " (interwiki)"; }
Remarque :
Progi1984 (24/08/06) : Pourquoi ne pas faire un petit lien dans le genre genre cette petite image :
http://wiki.splitbrain.org/lib/tpl/default/images/link_icon.gif
Je n'ai pas dit cette image, mais une image de ce type au lieu de mettre (interwiki)...
Plus convivial, ca tape à l'oeil, ca n'oblige pas l'user à lire interwiki, possibilité de différencier interwiki (genre
[[Machin:), de lien externe (genre
http://...)
LordFarquaad : En fait je pense que le mieux serait de faire un truc qui puisse s'adapter facilement en fonction d'un thème.
Je suis assez pour l'idée du CSS sauf qu'elle ne fonctionne pas avec certains navigateurs comme IE...
Progi1984 : J'ai regardé sur le Net... aucune parade contre ca :( --
Pour l'affichage, je propose un truc plus fun que
UnWiki:UnePage (interwiki) comme par exemple
°UnWiki:UnePage° (il suffit de changer
wakka.php).
--
jexOm.
C'est ce qui avait plus ou moins à l'origine et le (interwiki) a été rajouté sans vraiment de discussion (ou alors je ne l'ai pas vu) lors d'une mise à jour d'optimisation de code. Après un temps d'adaptation j'avoue que maintenant je trouve cet affichage agréable : il permet d'identifier immédiatement ce type de lien bien particulier. --
DavidDelon
Moi j'aime bien la méthode avantages / inconvénients ;-) Pour la syntaxe UnWiki:UnePage (interwiki) :
Avantages :
- repérage facile des liens interwikis (pour tous les clients web).
- explicitation claire de la nature du lien.
Inconvénients :
- la mention "(interwiki)" partage la même forme que le lien rendant sa lecture enigmatique par le débutant.
- la mention "(interwiki)" est longue et prend de la place.
Question subsidiaires : pourquoi ne souligner que les liens interwiki ? Qu'ont-ils de si important ? Pourquoi ne pas souligner aussi les liens "(intrawiki)" et "(extrawiki)" (comme c'est d'ailleurs le cas sur certains moteur de wiki, à l'aide de symboles) ?
--
CharlesNepote
Les
WikiWikiWeb ont effectivement tous leur façon de traiter ce sujet. Voir par exemple les icones chez
SergeStinckwich.
Il y a effectivement trois types de liens :
- vers une page interne
- vers une page externe qui n'est pas un lien interwiki
- vers une page externe qui est un lien interwiki.
Je ne m'y connais pas trop en CSS, mais n'y aurait-il pas moyen de déléguer ça à la feuille de style ?
Pour revenir à "(interwiki)" : pour ma part, je trouve ça trop encombrant comme notation...
--
jexOm.
Oui il y a des solutions en CSS, en particulier :
La solution en CSS3 est particulièrement élégante puisqu'elle ne nécessite
aucune modification du code HTML ! (cf. exemples ci-dessous.)
On peut trouver des icônes :
--
CharlesNepote
Voici un exemple de code CSS3, à insérer dans wakka.css, permettant d'obtenir une icône après le lien,
sans modification du code HTML :
a[href^="http:"] {
background: transparent url('http://i.a.cnn.net/cnn/.element/img/1.0/misc/icon.external.links.gif') 100% 100% no-repeat;
padding-right: 25px;
}
a[href^="http://votre-adresse.domaine"],
a[href^="http://localhost"] {
background: none;
padding: 0px;
}
Fonctionne parfaitement sur
MoZilla mais pas sur
InternetExplorer.
--
CharlesNepote
Javascript
Je me permets de replacer cette section ici car je trouve que la solution mise en oeuvre par
StephaneAulery? ne solutionne que partiellement le problème (i.e.: solution du côté php uniquement)
But : Séparer le code javascript du contenu de la page, du côté présentation.
Avantages :
- allègement du code source de la page en elle-même (ce qui n'est pas le cas de la solution actuelle...)
- mise en cache du code JavaScript
- non-téléchargement du code JavaScript si ce dernier est désactivé
- simplicité de modification du code JavaScript (seul intérêt de la solution actuelle de Stéphane)
- séparer le contenu du comportement (cf lien vers Pompage ci-dessous)
Solution :
- Créer des fonctions dans un fichier /js/fonctions.js, par exemple
- Appeler le fichier js dans le head <script src="js/fonctions.js" type="text/javascript" />
- Problème: quelle URL permet de trouver ce fichier ? (tenir compte de la ReecritureDURL et de la syntaxe des handlers pouvant faire apparaître des répertoires virtuels aux yeux des navigateurs web...)
- Solution possible: et pourquoi pas placer le fichier JS dans le répertoire du thème ? Cela permettrait en outre de définir différents fichiers JS suivant les thèmes ! (à discuter)
- Dans la page, appeler des fonctions au nom explicite. Par exemple : doubleClickEdit() (solution mise en oeuvre dans le CVS)
Plus d'infos sur ce
- Cet article incite d'ailleurs à ne pas utiliser un seul appel JavaScript dans le contenu HTML (si ce n'est las balise <script> dans l'entête). Cela me paraît être la solution ultime à la question: on ne pourrait faire plus propre ! (la question que je me pose est comment faire pour gérer par exemple les préférences de l'utilisateur pour le doubleClickEdit ? Utiliser un id différent selon si l'utilisateur le veut ou non ?)
--
DidierLoiseau
index.php ?
Pourquoi ne pas renommer la première page wakka.php en index.php ?
Ça permettrait d'avoir des url comme :
http://www.wikini.net/?wiki=AFaireMoinsDe10Minutes c'est déjà plus lisible et facile à retenir.
Sauf que cela interdirait la coexistence directe collaborative avec d'autres systèmes ;-) --
JdX?
Effectivement. Le mieux dans ce cas serait donc que le fichier
index.php fourni inclue le fichier
wakka.php au lieu de faire une redirection. Dès lors il suffirait de configurer
base_url en y enlevant la partie "wakka.php". Pour éviter toute confusion pour les "débutants" (ou plutôt ceux qui découvrent
WikiNi), la valeur par défaut resterait celle utilisée actuellement.
--
LordFarquaad
Supprimer l'appel à la variable wiki
Le top, ce serait même de virer la variable wiki : http://www.wikini.net/?AFaireMoinsDe10Minutes
Remarques :
Il suffit de récupérer simplement l'adresse complète en PHP (système utilisé sur dotclear).
Il faut toutefois éviter les problèmes avec les éventuels autres paramètres
¶m1=valeur1.
Ce type d'URL est-il respectueux des normes (RFC...) ? (A vérifier)
L'idée n'est pas mauvaise, si quelqu'un propose une solution pour cela elle pourrait être inclue dans la version 0.5.
--
LordFarquaad
Installation
Dans /wakka.php :
Ajouter
error_reporting( E_ALL & ~E_NOTICE );
Remarques :
Permet d'éviter l'affichage des notices (en général des variables utilisées sans être instanciées, donc de possibles failles de sécurité...).
NB.: c'est la valeur par défaut de
PhP en fait...
Ou mieux, modifier le code pour qu'il fonctionne même avec l'option E_ALL ...
Alternative :
Ajouter
error_reporting(E_ALL ^ E_NOTICE); au debut et corriger tous les messages NOTICE
- Cette solution est plus propre à mon avis. --LkpPo?
Pré-renseigner les champs de formulaires
Un peu de
JavaScript peut donner un petit effet intéressant :
<input id="zzz" name="xxx" value="Mot-clé" onfocus="if (this.value == 'Mot-clé') {this.value=''}" />
Remarques :
Vise les navigateurs en mode texte qui interprétent mal les champs vides.
Pour la boite de recherche on aurait donc :
Boite actuelle :
Recherche : <input name="phrase" size="15" class="searchbox" />
Proposition 1 :
Recherche : <input name="phrase" value="mot-clé" size="15" class="searchbox" onfocus="if (this.value == 'mot-clé') {this.value=''}" />
Pproposition 2 (en ajoutant un raccourcis clavier) :
Recherche : <input name="phrase" value="mot-clé" size="15" class="searchbox" onfocus="if (this.value == 'mot-clé') {this.value=''}" accesskey="4" />
Supprimer l'attribut size des champs de formulaire
Fait !
Ou presque, il ne reste que
actions/textsearch.php et
setup/default.php. --
JmPhilippe
Références :
Remarques :
- En fait le size devrait être spécifié dans le css je pense (ou du moins dans l'attribut style)... -- LordFarquaad
Faire une page de doc pour WikiNi
Réaliser une doc de l'administrateur
WikiNi listant les erreurs qui se produisent lors d'une surchage du serveur.
Remarques :
Exemple : Query failed: select * from wikini_pages where tag = '
WakkaFr' and latest = 'Y' limit 1 (Lost connection to
MySQL server during query)
--
BenoitAudouard 20031121
Rétro-liens
Pages ayant un lien vers la page courante :
Progi1984
RapportsDeBogues
Partant du constat qu'il n'est pas toujours possible de consacrer 2 heures de temps d'affilée pour le projet
WikiNi, cette page recense les développements, actions, etc., qui peuvent être réalisés en un temps très court (souvent moins de 10 minutes).
Accessibilité
Liens interwiki
Fichier /wakka.php ligne 312
Remplacer
return "<a href=\"$tag\" >$text (interwiki)</a>";
Par
return "<a href=\"$tag\" class=\"interwiki\" >$text</a>";
Et dans wakka.css
Ajouter la ligne
a.interwiki:after { content: " (interwiki)"; }
Javascript
Séparer le code javascript du contenu de la page.
Créer des fonctions dans un fichier /js/fonctions.js, par exemple
Appeler le fichier js dans le head
<script src="js/fonctions.js" type="text/javascript" />
Et, dans la page, appeler des fonctions au nom explicite.
exemple "editionDoubleClic()"
Plus d'infos sur ce
index.php ?
Pourquoi ne pas renommer la première pasge wakka.php en index.php ?
Ça permettrait d'avoir des url comme :
http://www.wikini.net/?wiki=AFaireMoinsDe10Minutes
c'est déjà plus lisible et facile à retenir.
Le top, ce serait même de virer la variable wiki :
http://www.wikini.net/?AFaireMoinsDe10Minutes
En récupérant simplement l'adresse complète en PHP (système utilisé sur dotclear)
Navigation
Ajouter les rétro-liens dans le menu du bas :
HandlerBackLinks
Installation
Ajouter dans /wakka.php
error_reporting( E_ALL & ~E_NOTICE );
Pour éviter l'affichage des notices (en général des variables utilisées sans être instanciées, donc de possibles failles de sécurité...).
NB.: c'est la valeur par défaut de
PhP en fait...
Ou mieux, modifier le code pour qu'il fonctionne même avec l'option E_ALL ...
Pré-renseigner les champs de formulaires
Il est conseillé de ne pas laisser "
les zones de saisie de vos formulaires vides car ceux-ci risquent d'être mal interprétés par les navigateurs en mode texte." Un peu de
JavaScript peut donner un petit effet intéressant :
<input id="zzz" name="xxx" value="Mot-clé" onfocus="if (this.value == 'Mot-clé') {this.value=''}" />
Pour la boite de recherche on aurrait donc :
- boite actuelle : Recherche : <input name="phrase" size="15" class="searchbox" />
- proposition 1 : Recherche : <input name="phrase" value="mot-clé" size="15" class="searchbox" onfocus="if (this.value == 'mot-clé') {this.value=''}" />
- proposition 2 (en ajoutant un raccourcis clavier) :
- Recherche : <input name="phrase" value="mot-clé" size="15" class="searchbox" onfocus="if (this.value == 'mot-clé') {this.value=''}" accesskey="4" />
(Il faudrait également tester la possibilité de supprimer l'attribut "size".)
Références :
(copié-collé de WikiNiAccessible)
- En fait le size devrait être spécifié dans le css je pense (ou du moins dans l'attribut style)... -- LordFarquaad
Rétro-liens
Pages ayant un lien vers la page courante :
Progi1984
RapportsDeBogues