Bookmarklets SPIP v1.9 & SPIP 2

Gérer plusieurs sites avec les mêmes signets

Maintenant adaptés à SPIP 1.9, ces signets utilisent Javascript pour donner accès à certaines pages administratives et fonctionnalités de votre site Spip, peu importe sur quel site SPIP vous vous trouvez, peu importe où vous êtes sur ce site. Ces signets sont indispensables pour quiconque devant gérer plusieurs sites basés sur Spip.

Version adaptée pour SPIP 1.9 & SPIP 2

Ces bookmarklets sont adaptés à la version Spip 1.9. Si votre site utilise une version antérieure, vous devez utiliser les bookmarklets adaptés à la version 1.8 ou moins.

On consultera avec profit la présentation des var_mode

Installation

Vous pouvez installer les bookmarklets SPIP en suivant les instructions suivantes :

(Ces instructions fonctionnent sur Internet Explorer pour PC. Il est possible que vous ayez à les adapter pour votre propre navigateur.)

1) Sauvegardez le fichier « bookmarklets SPIP 1.9.html » suivant sur votre disque.

Bookmarklets Spip 1.9 v1.2

ou

Bookmarklets Spip 2.0.x v1.0

2) Importez-le dans votre navigateur (sur Internet Explorer : Fichier > Importer et exporter. Autres navigateurs : voir dans l’aide de votre navigateur pour plus de détail.)

3) Les bookmarklets devraient maintenant être disponibles à partir de votre menu de signets ou de la barre de liens, selon où vous les avez importés.

Et voilà ! Allez sur un de vos sites Spip et cliquez sur les bookmarklets pour les essayer. :)

Note : il est possible qu’il y ait des problèmes de compatibilité avec certains navigateurs, notamment Opera. Plus d’information (en anglais) sur comment importer des bookmarklets sur cette page.

Installer les bookmarklets individuellement

À suivre (Login)

Modifier cette page
Permet de modifier la page actuelle (fonctionne avec les articles, les rubriques et les brèves.)

Recalculer cette page

Debug

Forum interne

Nouveau site

Nouvel article

Nouvelle brève

Nouvelle rubrique

Statistiques du site

Suivi des forums

Suivi du forum
_Gestion du forum de la page actuelle.

Vider le cache

Pour installer un bookmarklet, vous pouvez :

  • Faire un clic-droit (PC) ou pomme-clic (MAC) sur un hyperlien comportant un bookmarklet et de choisir « Ajouter aux favoris » à partir du menu contextuel qui vous sera offert.
  • Cliquer sur l’hyperlien et le déplacer dans un dossier de signets ou sur la barre de liens de votre navigateur.
  • Copier l’adresse de l’hyperlien du bookmarklet et le coller dans l’adresse d’un signet existant.

Une fois le bookmarklet créé, vous pouvez y accéder par votre liste de signets (menu Signets ou Favoris.)

Pour un accès encore plus rapide aux bookmarklets, il est pratique de placer les plus utiles dans la barre de liens de votre navigateur.

Applisignets dans la barre de liens

Sur la plupart des navigateurs, il est même possible de créer un dossier à l’intérieur de la barre de liens et d’y placer des signets, groupant ainsi vos bookmarklets et libérant de l’espace pour d’autres boutons.

Si vous n’êtes pas certain de comment procéder sur votre propre navigateur, je vous invite à consulter l’aide de votre navigateur sur la création de signets (ou favoris).

Note : Il est normal que votre navigateur vous affiche des messages d’erreur ou d’avertissement lorsque vous créez un bookmarklet car l’utilisation de bookmarklets peut être un risque de sécurité s’ils ne proviennent pas d’une source sûre. Dans ce cas-ci, vous n’avez qu’à ignorer ces messages.

Principe de base

Lorsque vous utilisez un de ces bookmarklets (appelés aussi applisignets ou favelets), un script Javascript identifie le nom de domaine du site courrant et il y ajoute un lien vers la page désirée.

Par exemple, disons que vous gérez quatre sites différents et que vous devez souvent vider le cache de ces sites. Vous pourriez faire un favori différent vers la page "Videz le cache" pour chacun des sites. Mais en utilisant le bookmarklet Vider le cache, un seul favori suffit. :)

Ces « signets magiques » sont aussi pratiques si vous voulez modifier une page ou la rafraîchir mais que les boutons d’administrations ne sont pas affichés.

Pour plus d’informations sur les bookmarklets, je vous suggère de visiter les sites bookmarklets.com et Jesse’s Bookmarklet Site (en anglais).

Prenez note qu’il existe une limite au nombre de caractères qu’un bookmarklet peut contenir, notamment une limite de 508 caractères pour IE6. Voir : cette page pour plus de détail.

Compatibilité

En théorie, ces bookmarklets devraient fonctionner sur tous les navigateurs permettant l’usage du javascript. Je les ai personnellement testé avec succès sur Internet Explorer 6, Firefox 1.5, Mozilla 1.5, Netscape 6.2 (PC). Par contre, Netscape 4.7 semblait ignorer les appels javascript. :P

Si vous les testez sur un autre navigateur ou un autre système, n’hésitez pas à le mentionner dans le forum en bas de la page !

Veuillez aussi noter que le bookmarklet « Modifier cette page » ne fonctionne pas avec les URL « propres » de Spip.

Créer ses propres bookmarklets Spip

Pour créer ses propres bookmarklets, il est utile d’avoir une certaine maîtrise du Javascript. Malgré cela, il est possible pour un débutant de modifier ces scripts avec un peu d’aide.

Aller directement à une page précise.

Comme exemple de bookmarklet Spip qui mènerait à une page précise, je vais expliquer ici comment fonctionne le bookmarklet « Vider le cache » :

javascript:var url=location.href.substring(0, location.href.lastIndexOf('/'));var expression=/(ecrire)/;var ecrire=''; if (expression.test(url)==false) { ecrire='/ecrire';};location=url + ecrire + '/?exec=admin_vider';

Son rôle est de nous diriger automatiquement vers la page « /ecrire/ ?exec=admin_vider ».

Ses composantes peuvent être décomposées ainsi :

javascript:var fin=location.href.substring(0, location.href.lastIndexOf('/'));

Ici, on cherche dans le URL (l’adresse) de la page où se trouve la dernière instance du caractère « / ». On cherche donc à se placer à l’intérieur du dossier dans lequel la page courrante se trouve. Typiquement, pour un site Spip, ce serait la racine du site (http://www.spip.net/) ou dans le dossier dans lequel le site a été placé. (ex. www.uzine.net/spip_contrib/). L’adresse du site et le(s) dossier(s) dans lequel se trouve la page est ensuite inséré dans la variable « fin ».

var expression=/(ecrire)/;var ecrire=''; if (expression.test(url)==false) { ecrire='/ecrire';};

Ici, on test si on se trouve déjà dans le dossier /ecrire/. Si ce n’est pas le cas, on crée la variable « ecrire=’/ecrire’ ; ». Si nous étions dans le dossier /ecrire/, cette variable serait reste vide, ce qui empêchera de créer une adresse contenant "/ecrire/ecrire/".

Si vous voulez créer un bookmarklet qui ne mène pas dans le dossier /ecrire/, vous n’avez qu’à retirer ce bout de code.

location=url + ecrire + '/?exec=admin_vider';

Et pour finir, on indique que la nouvelle adresse de la page sur laquelle nous nous trouvons (« location ») devrait maintenant être le contenu de la variable « url » suivie du dossier « /ecrire/ » (si nécessaire) et du paramètre « / ?exec=admin_vider’ » qui indiquera à la page par défaut du dossier (index.php) d’afficher le formulaire « Vider le cache ».

Pour aller vers une autre page, donc, vous n’avez qu’à changer /?exec=admin_vider et y mettre le paramêtre ou le nom de la page que vous désirez. Si vous voulez créer un bookmarklet qui ne mène pas dans le dossier /ecrire/, vous n’avez qu’à retirer + ecrire.

Aller à une page selon le contexte de la page courante.

Le bookmarklet « Modifier cette page » est beaucoup plus flexible - et complexe !

Le voici en entier :

javascript:var fin=location.href.substring(0, location.href.lastIndexOf('/'));fin=fin.replace(/\/ecrire/,'');var url=location.href;var re=/(article)(=*)(\d+)/;if (re.test(url)==true) { id=RegExp.$3;type='article';} else {re=/(breve)(=*)(\d+)/; if (re.test(url)==true) { id=RegExp.$3;type='breve';}else { re=/(rubrique|coll)(=*)(\d+)/; if (re.test(url)==true) { id=RegExp.$3;type='rubrique';}}} location=fin+'/ecrire/?exec='+type+'s_edit&id_'+type+'='+id;

Si on l’analyse ce script, on y retrouve une première partie similaire à celui de « Vider le cache » :

javascript:var fin=location.href.substring(0, location.href.lastIndexOf('/'));fin=fin.replace(/\/ecrire/,'');

On isole du URL le nom du site jusqu’au dernier dossier et on enlève le dossier « /ecrire/ », si on s’y trouve.

var url=location.href;

Cette ligne transfert le nom du site et les noms de dossiers (sans « /ecrire/ ») extraits du URL, dans variable appelée, curieusement, « url ».

var re=/(article)(=*)(\d+)/;if (re.test(url)==true) { id=RegExp.$3;type='article';}

Ici ça se corse. On définit une variable « re » dans laquelle on insert une expression régulière (regular expression) où l’on définit ce que l’on cherche dans le url. Dans ce cas, nous cherchons le mot « article » suivi d’un caractère « = » ou non et ensuite d’un ou plusieurs chiffres (indiqué par le code « d+ »). Si l’adresse de la page contient « id_article=23 » ou « article23.html », dans les deux cas, le mot « article » et le chiffre « 23 » seront correctement identifiés.

SI l’expression contenue dans la variable « re » se trouve dans « url » (if (re.test(url)==true)), nous attribuons les chiffres trouvés dans la variable « id » et nous attribuons le mot « article » à la variable « type ».

Si jamais vous utilisez dans vos adresses un autre mot que « article » pour identifier vos articles (par exemple, page23.html), vous pouvez ajouter ce mot de cette façon :

var re=/(article|page)

else {re=/(breve)(=*)(\d+)/; if (re.test(url)==true) { id=RegExp.$3;type='breve';}

... et ainsi de suite pour les brèves et les rubriques.

location=fin+'/ecrire/?exec='+type+'s_edit&id_'+type+'='+id;

Nous terminons en demandant de changer l’adresse (location) de la page en utilisant l’adresse du site tel que spécifiée dans la variable « fin ». Nous y ajoutons ensuite « /ecrire/ » puis on y construit ?exec=types_edit&id_type=id.

On passerait donc, par exemple, de "http://votresite.com/article97.html« à »http://votresite.com/ecrire/?exec=articles_edit&id_article=97 ".

J’espère que ces scripts et ces instructions vous seront utiles. :)

Thierry Gagnon
Studio Eau Moirée

Discussion

Aucune discussion

Ajouter un commentaire

Avant de faire part d’un problème sur un plugin X, merci de lire ce qui suit :

  • Désactiver tous les plugins que vous ne voulez pas tester afin de vous assurer que le bug vient bien du plugin X. Cela vous évitera d’écrire sur le forum d’une contribution qui n’est finalement pas en cause.
  • Cherchez et notez les numéros de version de tout ce qui est en place au moment du test :
    • version de SPIP, en bas de la partie privée
    • version du plugin testé et des éventuels plugins nécessités
    • version de PHP (exec=info en partie privée)
    • version de MySQL / SQLite
  • Si votre problème concerne la partie publique de votre site, donnez une URL où le bug est visible, pour que les gens puissent voir par eux-mêmes.
  • En cas de page blanche, merci d’activer l’affichage des erreurs, et d’indiquer ensuite l’erreur qui apparaît.

Merci d’avance pour les personnes qui vous aideront !

Par ailleurs, n’oubliez pas que les contributeurs et contributrices ont une vie en dehors de SPIP.

Qui êtes-vous ?
[Se connecter]

Pour afficher votre trombine avec votre message, enregistrez-la d’abord sur gravatar.com (gratuit et indolore) et n’oubliez pas d’indiquer votre adresse e-mail ici.

Ajoutez votre commentaire ici

Ce champ accepte les raccourcis SPIP {{gras}} {italique} -*liste [texte->url] <quote> <code> et le code HTML <q> <del> <ins>. Pour créer des paragraphes, laissez simplement des lignes vides.

Ajouter un document

Suivre les commentaires : RSS 2.0 | Atom