Le bouton mémo

Le bouton mémo est la petite photocopieuse du web, qui vous permet de glisser dans votre site SPIP des copies de pages vues sur le net.

Mise à jour le 21 décembre 2007

-  Installation : déposez le fichier memo.php à la racine de votre site. (Remarque : le bouton mémo ne fonctionne qu’à partir de SPIP 1.7.

-   Configuration : il faut préciser dans quelle rubrique doivent tomber les articles créés, quel statut est nécessaire pour pouvoir utiliser le bouton mémo, etc. Puis mettre « oui » dans la case « activer ».

-  Utilisation : glissez le lien dans la barre des signets (bookmarks) de votre navigateur. Vous allez ensuite sur n’importe quelle page du web : si vous cliquez alors sur le signet, une fenêtre s’ouvre vous demandant de préciser le titre de la page. Si vous validez, la page est « photocopiée » dans ce site.

Si vous complétez le titre en ajoutant, entre parenthèses, le nom de la source, ce dernier ira directement dans le champ « nom_site » de la page photocopiée [1]...

En images, cela donne :

1. - Nous sommes sur la page à photocopier

2. - Clic !

3. - Une boîte de dialogue s’affiche avec le titre de la fenêtre

4. - On ajuste un peu...

5. - Et hop !

Question : Est-ce bien légal tout ça ?
Réponse : Si vous copiez des pages web pour les republier sur votre site, sans vous soucier du droit d’auteur, vous commettez le même délit avec le « copier-coller » de votre ordinateur qu’avec ce bouton — ni plus, ni moins. Faites-en bon usage !

Notes

[1NB : sur la photo d’écran, c’est une ancienne version du bouton mémo, qui mettait le nom de la source dans le soustitre.

Discussion

30 discussions

  • 2

    Est-il possible d’avoir l’équivalent en SPIP 3,2 ?

    Répondre à ce message

  • 1

    Voila quelques modifs (remplacer les Lignes 0 à 40 avec le code ci dessous) pour que ça fonctionne à peu près en SPIP3

    <?php
    
    // Pierre Lazuly & Ph Riviere 2003-2013
    // licence GNU/GPL
    // Documentation : http://www.spip-contrib.net/Le-bouton-memo
    
    $debug = false;
    
    //
    // Demarrage
    //
    
    unset ($methode);
    if (!defined('_DIR_RESTREINT_ABS')) define('_DIR_RESTREINT_ABS', 'ecrire/');
    include_once _DIR_RESTREINT_ABS.'inc_version.php';
    
    if (@file_exists('shim_auth.php')) {
    	// SHIM
    	require('shim_auth.php');
    	$methode = 'shim';
    } else if (@file_exists('inc_version.php')) {
    	// on est dans ecrire
    	include('inc.php');
    	$methode = 'ecrire';
    } else if (@file_exists(_DIR_RESTREINT_ABS.'inc_version.php')) {
    	// on est dans la racine de spip
    	include_spip('inc/session');
    	include_spip('inc/presentation');
    	include_spip('inc/minipres');
    	include_spip('base/abstract_sql');
    	include_spip('inc/vieilles_defs');
    	verifier_visiteur();
    	$methode = 'spip';
    } else {
    	echo "mal install&eacute;.";
    	exit;
    }
    
    # compat. SPIP 1.9
    if (!function_exists('recuperer_page')) include_spip('inc/distant');

    Répondre à ce message

  • Bonjour

    Est-il prévu une mise à jour de ce petit utilitaire pour spip 2. à 3. ?

    Répondre à ce message

  • 8

    Bonjour et bravo pour cette adaptation qui correspond à une direction importante de développement : faciliter la rapidité d’édition, dans un moment ou les outils de blogs nous donnent des habitudes de roi fénéants

    A ce propos, et à titre de suggestion, j’aurai pour ma part l’utilité d’une version qui ne photocopie que la sélection en cours et non toute la page, comme on peut trouver par exemple dans le blogger.com de google.

    Honnetement, je n’ai pas les compétences de développement nécessaire, j’en reste donc à un simple yaka focon ! merci d’avance !!

    • Bon, je me répond à moi meme : j’ai adapté un bookmarklet pour pouvoir créer rapidement des articles à partir uniquement de la sélection en cours et non de la page entière - ce qui est bien utile pour blogger avec spip, ou lorsque la page contient des menus et du texte non significatif

      désolé pour le copier coller technique, ça se passe en deux étapes

      A/ Modifier memo.php

      B/ Modifier le lien « photocopier » (bookmarklet)

      A/ Modification du code : supprimer dans memo.php les deux passages suivants


      Couper ici numéro I-----------

      # test version de SPIP : a partir de 1.8pr2 recuperer_page() gere le charset

      if (function_exists(’init_mb_string’))

      $lapage = recuperer_page($url,true) ;
      else

      $lapage = recuperer_page($url) ;

      if (preg_match(’,<[^>]*charset=[\’" ]*([a-z0-9_-]+),i’, $lapage, $regs))

      $charset = trim($regs[1]) ;

      else

      $charset = ’iso-8859-1’ ;

      $lapage = importer_charset($lapage, $charset) ;


      Fin de Couper ici nmuéro I -----------


      Couper ici numéro II -----------

      // TEST VALIDITE

      if (sizeof($lapage) < 10)

      install_debut_html(« Erreur de lecture... ») ;

      echo "

      burps ! Je n’ai pas réussi à lire la page

      demandée (ou le résultat fait moins de 10 lignes)

       :


      \n
      \n".nl2br(join("\n",$lapage))."

      \n" ;

      install_fin_html() ;

      exit ;


      Fin de Couper ici nmuéro II -----------

      B/ Modification du lien bookmarlet

      Dans votre lien (bookmarklet) ajouter la mention

      +’&lapage=’+escape(document.selection.createRange().text) +

      à l’emplacement indiqué ci dessous

      javascript:if(t=prompt(’Memoriser%20cette%20page%20sous%20le%20titre...’,document.title))%7Bvoid(location.href=’http://127.0.0.1/spip/SPIP-v1-7-2/memo.php?url=’+escape(location.href)+’&lapage=’+escape(document.selection.createRange().text) +’&rub=8&t=’+escape(t)) ;%7D

      Pour info vous pouvez conserver les deux programmes (un bouton photocopier la page entière, et un bouton créer un article à partir de la sélection)
      Bien sur, vous pouvez aussi avoir des boutons thématiques pour blogger directement dans la catégorie qui est pertinente
      A +
      Mrique / Girafe

    • Plutot que de supprimer tout le code de récupération de la page on peut mettre un test conditionnel :

      if ($lapage==’’)

      if (function_exists(’init_mb_string’))
      $lapage = recuperer_page($url,true) ;
      else
      $lapage = recuperer_page($url) ;
      if (preg_match(’,<[^>]*charset=[\’" ]*([a-z0-9_-]+),i’, $lapage, $regs))
      $charset = trim($regs[1]) ;
      else
      $charset = ’iso-8859-1’ ;
      $lapage = importer_charset($lapage, $charset) ;

      S’il n’y a pas de sélection toute la page est prise en compte. On n’a donc besoin que d’un seul bouton mémo pour la sélection et pour la page entière.

      Dans Firefox (netscape) le code de sélection ne marche pas

      document.selection.createRange().text

      il faut le remplacer par

      window.getSelection()

      Merci pour ce bouton bien pratique

    • ivandps

      Bonjour

      j’aime l’idée de jouer sur la séléction.

      Possibilité d’avoir un plugin avec cette version ?

      merci

    • Hello fil,

      tu n’envisages pas d’intégrer cette chouette fonctionnalité ?

    • J’ai essayé le code proposé (sous firefox) et ça marche effectivement, sauf qu’on perd toutes les fins de paragraphe !

      Par ailleurs, vu qu’on ne lit plus la page d’origine mais la sélection du navigateur, on perd l’info sur le charset, ... il faudrait la lire quand même pour traduire la sélection si nécessaire ...

    • SVP,

      Ou est-ce que on doit metre le code dans le memo.php, multicite ?

      (excusez mon mauvais français)

    • Hola Miguel, il faut mettre le fichier à la racine du site.

    • Oui, je sais ; ) ... excusez moi... je m’express un peu mal...

      Je parle du test conditionnel envié par multicite (cf. supra).

      Dans quelle ligne du memo.php ?

    Répondre à ce message

  • 1
    norbi90160

    Bonjour,

    Ce bouton memo a l’air très intéressant et je voudrais le tester.

    Mais malheureusement je ne comprends pas comment on le configure.
    Ou faut-il aller et comment faire pour le configurer ?
    Quand il est dit dans le paragraphe configuration « il faut préciser dans quelle rubrique.... » Comment fait-on pour le préciser ? Ou aller ? dans un plugin particulier, dans un menu quelconque, dans un fichier ?
    Si quelqu’un pouvait m’éclairer.

    Répondre à ce message

  • 2
    Bruno Poterie

    bonjour,
    Je viens de l’installer sous Spip 2.0.10. Contrairement à Fil, je n’arrive pas à le faire marcher. La config se passe sans problème, mais quand je clique le bouton, j’obtiens :

    Warning : uniqid() expects at least 1 parameter, 0 given in mon site spip sur Free/spip/ecrire/inc/distant.php on line 264

    • Ce problème lié à une incompatibilité de SPIP 2.0.10 avec php4 a été corrigé sur le SVN : il suffit d’ajouter mt_rand() à l’intérieur de uniqid() à la ligne citée dans le message d’erreur.

    • Une mise à jour du fichier ici serai bien

    Répondre à ce message

  • 2

    Est-ce compatible spip 2 ?
    Pourrais t’on imaginer un enrichissement de type « Tumblr », qui permettrait de sélectionner images, citations, vidéos..., pour intégration dans un site spip. Ce serait super cool

    • burps ! Je n’ai pas réussi à lire la page demandée (ou le résultat fait moins de 10 lignes)

      Donc pas compatible spip 2 visiblement

    • J’utilise le bouton mémo sous SPIP 2 sans souci.

    Répondre à ce message

  • 1

    Bonjour,

    Est-ce ce script importe aussi les images de l’article copié ?...

    Répondre à ce message

  • 11

    Hello,

    J’utilise beaucoup ce script, qui est formidable pour constituer une revue de presse en ligne. Il marche très bien partout,... sauf sur le site du Monde diplomatique où le script plante systématiquement (il ne met qu’un bout de titre dans la page, le champ texte reste vide).

    François

    • Ca c’est pas banal :-)

      Quand tu parles de « au milieu du titre », est-ce par hasard sur un accent ? Si oui il faut plutôt chercher du côté du charset, car le site du Diplo est en utf-8.

      Peux-tu :

      1. donner l’URL précise qui le fait "planter" ?
      2. faire un essai avec une page de spip.net ?
    • François

      Hello,

      J’ai testé avec une page de spip.net. Ca passe sans problème (et, si ça peut être utile, le site sur lequel j’envoie les données est en iso-latin).

      Pour ce qui est du titre, j’ai systématiquement un problème (apparition de caractères chinois ou autres joyeusetés à la place des accents) avec les accents dans les titres (mais seulement là), donc ce n’est pas très embêtant et je rectifie à la main.

      Quant aux pages du diplo qui ne passent pas, tous les articles sont, semble-t-il concerné. Le comportement du script mémo est soit de créer un champ texte vide (l’url est quand même sauvergardé), soit de reprendre dans le champ texte les quelques premières lignes de l’article.

      Par exemple, avec la page http://www.monde-diplomatique.fr/2003/11/LATOUCHE/10651

      on obtient ceci dans le champ texte :

      Pour une société de décroissance

      http://www.monde-diplomatique.fr/

      novembre 2003 Pages 18 et 19

      Absurdité du productivisme et des gaspillages

      Pour une société de décroissance

      (et les accents passent bien).

      J’ai pas encore vraiment cherché dans le code d’où ça pourrait venir, je posais juste la question pour savoir si quelqu’un avait une explication. Je vais un peu farfouiller dans le code.

      François

    • Je pense que c’est dû à un caractère non utf-8 dans un commentaire du squelette, qui fait planter la conversion utf-8 -> iso-latin.

    • Le bouton mémo utilisait le binaire iconv en ligne de commande ; mais maintenant SPIP sait gérer importer_charset()

    • Ca marche pour l’article de Serge Latouche que je citais (encodage de tout le texte, sauf le titre, qui est coupé au premier accent — mais ça c’est pas neuf).

      Mais un essai sur d’autres pages (par exemple : http://www.monde-diplomatique.fr/2004/10/HALIMI/11549 ) amène le même problème que décrit ci-dessus.

      François

    • Il faudrait confirmer ça avec la version CVS de SPIP.

    • C’est ce que j’ai fait. J’ai tout réinstallé, une version CVS d’il y a une heure + le script mémo tout frais téléchargé.

      François

    • Bon, dans ce cas il faut approfondir, mais ça demande à ce que tu me contactes par mail ou sur le #spip de irc.freenode.net

    • Nouvelle version qui pallie partiellement ce problème — sachant que la solution véritable est de désactiver l’appel à iconv() dans inc_charsets.

    • La nouvelle version devrait résoudre complètement le problème ; à condition d’avoir activé mb_string dans son php, et d’avoir installé la version CVS de SPIP datée d’hier : tu peux alors même photocopier la Pravda.

    • Hello fil,

      Pas de probleme d’accent dans le texte, mais dans le titre :
      pour « photocopier » cette page, par exemple, le titre se transforme en
      « Le bouton mmo - SPIP - Contrib »

      A part ça, ce serait bien de pouvoir sélectionner la zone à photocopier,
      soit par la sélection courante, soit par l’identifiant d’une zone (id d’un div par exemple).

    Répondre à ce message

  • 2
    Hada de la Luna

    Bonsoir, :o)

    juste pour dire que j’apprécie énormément de script qui m’a permit de migrer manuellement depuis la V1 de mon site perso, sans devoir tout retaper avec mes petits doigts... Et en plus, les boutons de liens restent valident qd on change de version (j’en ai fait un par rubrique à alimenter)

    Merci de votre travail, j’attend impatiemment une version compatible pour 1.9.2a pour l’installer sur le site d’une amie

    Cordialement :o)

    • Mais as-tu essayé ? Le script continue à fonctionner impeccablement sous SPIP 1.9.2 et SPIP SVN :)

    • Hada de la Luna

      J’ai fais confiance à la mention 1.9.1... :o)

      Mais c’est vrai que cela fonctionne en 1.9.2a, je viens d’installer et tester...

      Merci de l’info  ;o)

    Répondre à ce message

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