Convertir les sauts de ligne dans les vieux articles
http://zone.spip.org/trac/spip-zone/browser/_plugins_/checkautobr
Convertir les sauts de ligne dans les vieux articles
http://zone.spip.org/trac/spip-zone/browser/_plugins_/checkautobr
Je viens de faire une mise à jour de mon #plugin pour #SPIP : Office2SPIP :
http://zone.spip.org/trac/spip-zone/browser/_plugins_/office2spip
Documenté ici :
►http://www.paris-beyrouth.org/tutoriaux-spip/article/le-convertisseur-office2spip
Au menu :
– compatibilité minimal avec SPIP 3 (les redirections ne sont pas correctes, mais c’est pas super-grave) ;
– plus intéressant : quand on récupère une page distante, ça passe par la version PHP de Readability, on n’aspire donc que le contenu pertinent.
Au fait : quelqu’un peut me dire s’il y a quelque chose d’autre pour faire la même chose avec SPIP ? Parce que, bon, c’est tout de même des fonctionnalités carrément démentes (importer des documents Word directement via l’interface en ligne ; importer des articles du Web et se retrouver directement avec du balisage SPIP tout propre…), mais je n’ai pas l’impression qu’Office2SPIP suscite vraiment l’intérêt. Il y a une alternative plus pratique/puissante ?
En fait c’est peut-être soit que les gens ont été formés au spipcode, soit qu’ils copient-collent dans du WYSIWYG (dans spip ou ailleurs, d’ailleurs).
ou peut être l’endroit de la documentation ? les gens vont chercher plus facilement sur spip-contrib peut être (ne pas voir une critique mais je vois les mêmes problématiques avec certains de mes plugins qui sont documentés autre part)
sinon aussi l’absence de plugins.spip.net qui est assez simple à changer en créant le zip via archivelist.txt
sinon encore, l’absence de lien de documentation dans le plugin.xml ?
Et finalement, la nécessité du binaire openoffice si je ne fais pas d’erreur ? ou d’autres binaires sur le serveur ? beaucoup de spip users sont quand même sur des hébergements bien fermés non ?
Voilà quelques pistes peut être du pourquoi du comment dont deux sont particulièrement faciles à régler
Comme alternative il y a #DotSPIP, une petite app de bureau pour Mac sur laquelle tu drag/drop tes fichiers ; le texte spipé se retrouve dans le presse-papier, prêt à être collé. Ca n’a pas beaucoup de succès non plus, le marketing est pas au point :)
Peut-être parce qu’il n’y a pas tant de personne sous Mac que ça... :)
=> combiner le truc d’Arno et de Fil pour faire un #webservice avec une API utilisable depuis n’importe où : ainsi, pas de problème de système particulier, et pas non plus le problème de maîtrise du serveur pour le pékin moyen, qui n’aura pas besoin d’installer telle ou telle librairie. Ensuite faire un plugin SPIP qui utilise cette API, que chacun installe chez soi facilement. #idée_pour_SPIP. :)
je l’ai déjà faite cette API (http://office.rezo.net) mais jamais pris le temps de faire l’emballage
Si ce n’est pas sur spip contrib ça n’existe pas :-)
Publication par #email, par @erational - #SPIP-Contrib
http://contrib.spip.net/Publication-par-email
pas testé mais alléchant
Oui, très intéressant. Je réfléchis à une proposition pour le découper en un noyau générique (gérer de l’#IMAP) et des plugins utilisant cette gestion (publier un objet, répondre à un commentaire, modérer une proposition de publication, etc).
/plugins/mail2img/trunk/paquet.xml – SPIP-ZONE
http://zone.spip.org/trac/spip-zone/browser/_plugins_/mail2img/trunk/paquet.xml
Ce plugin est un « proof of concept » operationnel pour publier des images attachees a un article par PUSH.
Parametrage du compte mail et de l’article de publication en tete du script genie/mail2img.php.
La classe PHP embarquee dans receivemail.class.php n’est certainement pas la plus aboutie ni la plus elegante mais elle fonctionne (voir example_receivemail_class.php pour sa syntaxe).
Je cherche à décrire un ensemble d’événements (un #calendrier quoi) dans un flux #Atom. Je sais le faire pour un contenu classique, mais évidemment les événements ont des informations supplémentaires non prévues (en premier lieu la date de fin). Je cherche donc des extensions qui permettraient déjà cela.
Pour l’instant, je n’ai trouvé que #Google-Calendar qui fournit ses événements en Atom.
Ici la description complète de l’#API en Atom :
https://developers.google.com/google-apps/calendar/v2/reference
mais il n’y a aucun exemple du #XML (seulement les schémas) pour comprendre plus rapidement (et copier-coller aussi, du coup).
Ici un article qui décrit le format et qui donne vraiment le XML :
Display Google Calendar events on your PHP Web site with XPath
http://www.ibm.com/developerworks/library/os-php-xpath
faut rester proche, tant que faire se peut, de iCal... facile à dire, je sais, mais j’ai essayé quand j’étais un jeune codeur fou (avec RSS en fait) :p
Le truc, c’est qu’il n’y avait pas tellement le choix, fallait adopter une convention pour encapsuler les infos iCal dans les balises RSS... et avoir un décodeur en face... une sorte de standard dans le standard... Bref, il manque une RFC (ping @stephane) :)
Ce serait chouette que tu parviennes à quelque chose, bon courage ! ;)
Remarque, je dis ça, mais t’as peut-être pas le choix, le mieux serait que ton flux soit en iCal, ça serait plus simple...
Je ne sais pas... Je ne vois pas trop pourquoi rester absolument proche de ical, sinon autant utiliser un #flux #ical (ce que je vais faire de toute façon aussi).
Atom a déjà des éléments de base pour certaines informations (description, auteurs, date de mise à jour du contenu, date de publication, etc). Donc on utilise déjà ces infos. Pour ce qui manque, le principe d’Atom c’est d’ajouter des extensions : autrement dit des schémas supplémentaires déclarés au début dont on ajoute des éléments dans les entrées ou dans le flux.
Par exemple j’ai déjà utilisé opensearch pour décrire que ça renvoyait pas l’ensemble, qu’il y avait plusieurs pages, le total, etc.
Ou encore georss pour ajouter les coordonnées.
Mais à part le format de Google, je ne vois rien d’autres de standards pour « la date de fin » par exemple. Ainsi que le lieu (pas les coordonnées, mais le nom de l’endroit et son adresse).
Bon après j’ai d’autres trucs à mettre dedans mais c’est moins générique : le ou les tarifs, le ou les publics, la distribution (artistes, intervenants, etc).
Ah ben voilà @james nos messages se sont croisés. Oui il y aura aussi un flux ical. Mais c’est pour proposer plusieurs formats de flux différents.
ou bien coller un http://microformats.org/wiki/hcalendar dans le flux ?
Mais oui ! un #microformat ! :)
Sinon, parallèlement à ça : je crois que #SPIP ne sait pas lire iCal. Il me semble que c’était d’ailleurs pour ça que j’avais essayé d’échanger des évènements entre sites avec du RSS. C’est con, hein, je sais, mais au final, si les CMS savait lire iCal aussi simplement qu’ils lisent du XML, ça serait cool.
Dans « content » (avec type="html") tu veux dire @fil ?
Oui effectivement, cela permettrait d’avoir un flux lisible par tous les lecteurs classiques, et d’avoir en même temps les infos récupérables, une à une, par une machine.
Mais baliser le content HTML avec des microformats n’empêche pas d’ajouter les bonnes balises XML si des extensions possibles existent. Ou des balises « métiers » propres au site, pour ce qui n’existe pas. Bon ok ça augmente la taille du code, mais ça évite de scanner deux fois avec deux parseurs différents (un pour le XML du Atom, un pour trouver des microformats dedans ensuite) pour ceux qui connaîtraient à l’avance les balises utilisées.
La combinaisons des deux me semblent pas mal pour couvrir tous les cas.
@james ya des libs PHP qui existent en tout cas : fézendonc un plugin ! :)
Voici un document qui explique comment intégrer correctement les microformats dans une liste de contenus, et notamment dans un flux Atom :
http://www.opensearch.org/Documentation/Recommendations/OpenSearch_and_microformats
(J’utilise déjà en partie OpenSearch pour indiquer le nombre total de résultats, le pas de la pagination, etc.)
C’est un truc comme ça que tu veux faire ?
http://code.demosphere.eu/fr
Et ça ?
Adding event times and location to RSS and Atom feeds | Oxford University Computing Services, In a pickle
http://blogs.oucs.ox.ac.uk/inapickle/2009/12/16/adding-event-times-and-location-to-rss-and-atom-feeds
<ev:startdate>2010-01-18T16:00:00+00:00</ev:startdate>
<ev:enddate>2010-01-18T17:00:00+00:00</ev:enddate>
Ah super intéressant, merci @touti.
Cette page de l’université d’Oxford propose deux solutions :
– le module pour RSS « event » du W3C qui est en brouillon :
http://web.resource.org/rss/1.0/modules/event
– le format xCal qui est une mise en XML du format iCal, et qui est aussi en brouillon :
http://tools.ietf.org/html/draft-royer-calsch-xcal-03
Le deuxième étant beaucoup plus complet.
On y trouve des exemples (simples) d’utilisation. Et aussi une inclusion de #vCard dans un flux Atom.
Ah et pour @james : lire du iCal dans SPIP et mieux encore directement dans une boucle, c’est en fait déjà possible avec DATA et le plugin « icalendar » de @fil :
http://contrib.spip.net/Plugin-iCalendar
http://zone.spip.org/trac/spip-zone/browser/_plugins_/icalendar
Ça inclut une classe PHP qui a l’air assez complète (que je viens de mettre à jour).
Ah, c’est quand on essaie de refondre un site IWEB en un vrai site, que l’on se rend compte du chemin parcouru pour que les sources soient claires et se distinguent correctement pour tout le monde !
Bravo à tout ceux qui oeuvrent pour de bonnes pratiques web, parce que l’esclavage ça suffit !
N’est-ce pas @notabene @tetue @rastapopoulos ?
Quelle honte, ce machin infâme d’IWEB fait un énorme blougi boulga soit-disant si simple à utiliser pour un utilisateur lambda (en 98 peut-être). Il est purement impossible à exporter facilement, #Apple va planter ses utilisateurs en abandonnant ce truc crado (depuis cet été) surement parce que leurs devs chez eux n’arrivaient plus à s’y retrouver !
Par exemple, IWEB va s’amuser à créer un dossier pour chaque page, avec à l’intérieur ses css spécifiques, mais aussi du js, du xml, des images de mise en page, des fonds. Pour chaque page, oui, et avec une surcouche de widgets pour que les textes deviennent des images, plus drôles quand même. Ce qui au final donne 985 fichiers tous pareils pour le fond ! Le HTML est tellement lourd et sali qu’il faut espérer avoir le fichier domain.site généré en mode blog pour obtenir un rss qui n’accepte malheureusement de lister que 50 articles. Comment ? mystère ! Tout ça espérant qu’IWEB ne rende pas l’âme en criant des Warnings de partout !
À ce niveau-là, faut pas refondre, faut repartir à 0.
J’aurais bien aimé mais c’est impossible, il y a 300 articles importants à reprendre à la demande de l’association !
Pour pas mal de pages en fait je suis passée par la syndication avec importation des items en articles SPIP2 + un plugin que j’ai fabriqué qui se nomme Docker, qui est une interface pour importer les documents distants. J’ai installé SPIP3 par dessus.
http://zone.spip.org/trac/spip-zone/browser/_plugins_/docker
Mais pour les pages en dur d’habitude j’utilise memo.php d’un certain fil ;) http://contrib.spip.net/Le-bouton-memo Sinon j’ai parfois dû récupérer à la main le contenu des alt des images des textes… pourquoi faire simple hein #apple ?
Ah ! et évidemment merci pour ►http://zzz.rezo.net/DotSPIP.html qui est très bien et à conseiller vraiment, il faut être en mac ceci dit.
<mode geek>en train de rendre les #podcasts de divers sites #spip compatibles #html5 & tablettes, et après diverses tentatives pour ne pas perdre l’affichage flash qui reste quand même le plus sympa sur PC, trouvé cette solution qui semble en effet multi-plateformes et simple : http://forum.alsacreations.com/topic-5-57748-1-Dewplayer--balise-ltaudiogt.html#p398981
cela dit, ça va être une belle zone, en html5, si on doit mettre le même fichier son sous format propriétaire pour certains navigateurs, et sous format libre pour d’autres</mode geek>
Tu as le lecteur de #Mediaspip qui fait ça tout seul (quand on lui fournit les bons formats, bien sûr).
http://www.mediaspip.net/technical-documentation/plugins-used-by-mediaspip/html5-player-video-sound-media
et
http://zone.spip.org/trac/spip-zone/browser/_plugins_/mediaspip_player/trunk
Et il y a d’autres plugins dans le même projet qui permettent aussi d’encoder automatiquement un média dans plusieurs formats prédéfinis, ce qui permet de n’en balancer qu’un seul par le rédacteur, le reste se faisant automatiquement en arrière plan (mais là c’est un peu plus compliqué à installer).
http://www.mediaspip.net/technical-documentation/plugins-used-by-mediaspip/spipmotion
oui, c’est un beau projet, j’ai pas mal fouiné dedans - en fait, j’ai testé sur un site et j’ai eu des erreurs qui me paraissaient plus longues à résoudre que la solution flash + balise audio ; mais en effet, je vais tenter sur un autre site
même si ça semble parfois un peu plus long qu’un bricolage perso, il est toujours gagnant, à terme, de mettre en commun (#partager) les devs ; sur le coup, tu donnes certes un peu de ton temps, mais au total tu bénéficies de tout le temps que chaque membre de la communauté a donné à son tour, et donnera par la suite (par exemple, quand quelqu’un d’autre résoudra le bug 853987 de la compatibilité de mediaspip avec le kindle 2019 sur android, ce qui t’évitera de t’y casser les dents)
@fil : j’en suis bien convaincue, mais pas assez calée pour l’instant pour contribuer de cette façon-là - j’y travaille ;)
@intempestive Question sotte : tu développes en local, non ? Alors, tu fais un double de ton projet et là tu joues à essai-erreur
@speciale : ouips, mais là c’était visiblement lié au serveur mutualisé (si l’on en croit la note
http://player.mediaspip.net/documentation/article/utilisation-dans-spip#nb1)
en tous cas, commencé à tester ce matin sur mon site perso, hébergé ailleurs, ça a l’air de fonctionner nickel :D
Mise à jour de mon plugin « Afficher date relative » :
http://zone.spip.org/trac/spip-zone/browser/_plugins_/plugins_seenthis/date_relative_dynamique
Pour rappel, ce plugin permet d’afficher une date de la forme « Il y a x minutes » au lieu d’une date en dur (de la forme « 27 octobre 2012 »). Les deux modifs :
– ça fonctionne désormais avec la balise HTML5 <time> ;
– ça fonctionne désormais si le script est appelé en crossdomain. Il semble qu’en crossdomain, javascript n’a pas accès au header HTTP "Date", du coup je ne peux pas connaître l’heure du serveur. Dans ce cas, je me contente de décider que l’heure du serveur est l’heure du client ; c’est pas bon, mais c’est mieux que rien.
Note : le plugin a un processus assez rigolo qui fait qu’au chargement, il appelle un petit fichier statique ("vide_date.html"), qui ne sert rigoureusement à rien, sauf à permettre à javascript de lire la date du serveur. De cette façon, le script peut correctement calculer la date relative par rapport au serveur, et non par rapport au client :
– indispensable pour les serveurs comme Seenthis qui ne sont jamais à la bonne heure,
– ultra-indispensable, plus sérieusement, parce que le serveur et le visiteur ne sont pas forcément dans le même fuseau horaire.
Ultra indispensable, à partir du moment où l’on utilise ce genre d’affichage. Là, ces derniers jours, je me suis fais vanner parce que mon serveur avait un gros décalage horaire par rapport… à la réalité. C’est juste parce que la date s’est mise à apparaître en clair ; sinon, justement, avec cette astuce, le décalage n’était pas perceptible par les visiteurs (ça doit faire des mois que mon serveur n’était pas à l’heure). Si le serveur était à l’heure canadienne avec des visiteurs français, même topo.
Je vois qu’il y a encore un décalage horaire mais moindre. Par exemple, le mail de notification seenthis affiche 20:44 alors que je le reçois à 20:39
C’est vrai qu’il y en a beaucoup, pour info tu as aussi http://www.dynamicdrive.com/dynamicindex4/featuredzoomer.htm porté sur #SPIP par bibi avec le #plugin zoomer.
http://zone.spip.org/trac/spip-zone/browser/_plugins_/zoomer
@touti merci pour le lien, je l’avais aussi repéré mais il ne me convenait pas. Pour info il y a aussi le plugin #spip suivant : http://contrib.spip.net/Cloudzoom
J’ai porté mon #plugin « Sélection d’articles » pour #SPIP-3. J’en ai profité pour ajouter le classement des articles par glisser-déposer (vu qu’il y a #Jquery-UI) dans la nouvelle version de SPIP.
http://zone.spip.org/trac/spip-zone/browser/_plugins_/selection_d_articles
Si tu utilises mon plugin « Détails d’interface » qui modifie le graphisme de l’espace privé :
►http://zone.spip.org/trac/spip-zone/browser/_plugins_/details_interface_3
Ça donne ça (ici pendant le glisser-déposer, c’est pour ça qu’on a un peu l’impression que c’est en vrac) :
http://twitpic.com/amdut1/full
J’ai continué à travailler sur mon plugin « Détails d’interface », qui modifie le graphisme de l’interface privée de #SPIP-3 :
http://zone.spip.org/trac/spip-zone/browser/_plugins_
Ce que ça donne désormais :
http://twitpic.com/ajs8c0/full
L’interface de #SPIP-3 étant juste vilainissime et bourrée de détails torchés avec une grosse truelle, je me suis fait un #plugin (« Détails d’interface ») qui en corrige les aspects les plus insupportables :
►http://zone.spip.org/trac/spip-zone/browser/_plugins_/details_interface_3
L’interface non modifiée de SPIP 3 :
http://twitpic.com/afx6x9/full
et l’interface modifiée par le plugin :
http://twitpic.com/afx764/full
Pas totalement convaincu : pour la typo, ta version est globalement mieux (en tout cas en regardant les deux images), pour le reste, c’est moins évident.
Dans l’ordre de ma lecture du message :
Première réaction : tiens pourquoi il a pas commité directement dans le core ?
Seconde réaction, tiens le retour des mots nuancés « c’est quoi cette interface ... »
Troisième réaction : je ne suis vraiment pas un expert, une référence, une pointure en la matière : en mettant les 2 images l’une à coté de l’autre et en faisant le jeux des 7 différences, je n’arrive pas à dire « Oui il a raison ou tord c’est vraiment mieux ou moins bien »
#spip
Je suis circonspect.
Un des trucs les plus visibles que je vois, c’est la correction de l’effet « BLOCS dans des BLOCS dans des BLOCS » à cause de tous les cadres partout. Là avec le mélange d’arrondis + de bordures en dégradés parfois + d’aplats à la place des bordures, ça corrige un tout petit peu ce problème.
Mais évidemment viennent les remarques :
– les nouvelles icônes ont été longuement discutées publiquement pour déterminer leur pertinence d’abord (quelle métaphore utiliser), puis leur aspect (contraste, etc) : pourquoi ne pas avoir participer à cette discussion ?
– c’est super d’avoir mis tes modifications sur la zone pour permettre aux autres de tester, mais si au final ce n’est pas un chantier commun que d’autres pourraient modifier, ça ne servira pas à grand chose : est-ce que chaque personne qui voudra faire des remarques sur l’interface va commiter sa propre version sur la zone ? Du genre « interface_arno », « interface_ben », « interface_rastapopoulos » ? Pourquoi pas hein, c’est un peu comme le principe des branches ou des forks en Git, mais je suis dubitatif...
Mais sur les modifs elles-même, je n’ai pas envie de faire de commentaires car pour moi il est clair que ce n’est pas du tout 3 couleurs et 4 pixels de marge à changer en gardant la même interface, alors qu’à mon avis c’est une vraie refonte ergonomique qu’il faut engager pour vraiment prendre en compte ce qu’est SPIP aujourd’hui (càd plus uniquement pour faire un magazine), et notamment depuis qu’on peut y adjoindre moult plugins.
Bon puisque @tetue me gourmande :), je précise : ne te méprends pas @arno, je trouve ça super qu’on fasse des propositions (tant qu’elles sont publiques).
Et je suis aussi tout à fait d’accord avec toi sur plein de problèmes de lisibilité, voire même de laideur, quant à l’interface de SPIP 3 (entre autre le problème de cadres partout, mais pas que).
Seulement, je pense que le chantier est plus gros que juste changer quelques couleurs, fut-ce plus joli ensuite. Je ne fais donc volontairement aucune remarque esthétique : je ne suis pas forcément pertinent sur ce point. Mais sur l’ergonomie générale : layout (nombre de bandes, nombre de colonnes), navigation, placement des informations, etc.
Sinon il parait que @tetue est bloquée et qu’elle ne peut donc pas répondre alors qu’elle voulait te congratuler : dommage. :)
Je suis assez satisfait des nouvelles icônes très modernes (qui ressemblent à celles que Google+ a depuis mis en place par exemple) toutefois je suis d’accord pour confirmer une marge d’amélioration. Le projet de @tetue que @RastaPopoulos a mis en lien me semble assez convaincant.
Je trouve les remarques de de @tetue et @rastapopoulos plus convaincantes que la proposition d’Arno :
1./ Je ne vois pas en quoi le fait de revenir à l’ancien menu principal apporte.
2./ Je retiens néanmoins la sobriété des styles à l’intérieur du cadre principale et la sensibilité typographique d’Arno. (d’accord avec @rastapopoulos la dessus )
3./ Je retiens aussi l’agrandissement du logo de l’article. Au fait, y a t’il un chantier pour calquer le fonctionnement les logos d’articles sur celui les documents ? ( j’aimerai bien pouvoir choisir les logos parmi la médiathèque par exemple).
4./ Pourquoi avoir viré l’outil « déplacer » ? Je trouve qu’il est super intuitif à sa place dans Spip3
5./ D’accord avec Têtue pour gagner de la place sur les auteurs ou les mots clés :
– 99% des articles ne possède qu’un auteur. Pourquoi perdre autant de place ?
– Je trouve par ailleurs que les groupes de mots clés importants devraient être encore plus mis en exergue que les autres.
6./ Enfin, pour conclure, 100% d’accord avec Rastapopoulos lorsque qu’il dit « c’est une vraie refonte ergonomique qu’il faut engager pour vraiment prendre en compte ce qu’est SPIP aujourd’hui (càd plus uniquement pour faire un magazine) »
On commence par la home du site qui ne devrait pas forcement tourner autour de l’auteur connecté ?
sur les logos il y a un ticket sur le sujet http://core.spip.org/issues/920
Je viens d’uploader une mise à jour de mon #plugin pré-processeur de CSS pour #SPIP (« CSS imbriqués »). Compatible #SPIP-3 donc :
http://zone.spip.org/trac/spip-zone/browser/_plugins_/css_imbriques
#seenthis : À la demande générale de @stephane, j’ai fabriqué des trigrammes pour permettre à SPIP d’identifier les textes en breton. Par exemple :
http://www.langue-bretonne.com/Pajennou/Gwengamp.html
Et pour rappel, je diffuse mon algorithme de détection des langues sous forme de plugin SPIP là :
►http://zone.spip.org/trac/spip-zone/browser/_plugins_/plugins_seenthis/detecter_langue
Alors évidemment, maintenant, va falloir écrire et référencer des trucs en breton, sinon ça sert à rien que je me décarcasse.
Pour mémoire, mon petit script pour déterminer les 300 principaux trigrammes d’une langue :
http://pastebin.com/tHeGkzM0
– je vais sur Gutenberg récupérer le texte d’un roman (complet, long) dans cette langue,
– je passe le texte en minuscules, je vire toutes les ponctuations, je remplace tous les retours à la ligne, puis j’élimine tous les doubles espaces,
– je copie ce texte en ligne 5 (ici tronquée).
Micro notice d’utilisation du plugin #delicious2seenthis pour #spip
Le plugin est disponible sur la zone ici : http://zone.spip.org/trac/spip-zone/browser/_plugins_/delicious2seenthis
Pour fonctionner il nécessite : un SPIP 2.1.11 svn [18673] minimum et le plugin seenthis réalisé par @fil
Principe de fonctionnement :
– ajoutez le flux rss de votre compte delicious comme site syndiqué dans votre spip
– configurez le plugin pour sélectionner ce flux comme source des seens à poster et renseignez les infos de votre compte seenthis
Et voilà, chaque nouveau bookmark sur votre compte delicious sera syndiqué par spip et relayé sur votre compte seenthis :)
Mise à jour de mon petit serveur de fichier multimédia basé sur autoembed :
►http://zone.spip.org/trac/spip-zone/browser/_plugins_/plugins_seenthis/autoembed
Le code de détection de la musique sur GrooveShark a changé.
– TrailerSpy (bon sang que ce player est laid !) :
http://www.trailerspy.com/trailer/12060/Red-Dead-Redemption-Undead-Nightmare-trailer
Je viens d’installer le code source de mon serveur d’AutoEmbed sur la Zone :
►http://zone.spip.org/trac/spip-zone/browser/_plugins_/plugins_seenthis/autoembed
Important :
– c’est basé sur AutoEmbed :
►http://autoembed.com
– l’intérêt de cette version, c’est le fichier index.php, qui me permet de fabriquer un serveur de documents ultra-léger, avec un système de cache,
– ça n’est pas du SPIP ! Ce dossier se suffit à lui-même pour fonctionner ;
– vérifier que le sous-dossier /cache a des droits suffisamment larges pour que PHP puisse effectuer ses sauvegardes dedans,
– vérifiez la licence sur AutoEmbed : LGPL, licence (pas chère) pour usage commercial.
Par définition si c’est en LGPL, tu peux l’utiliser dans un cadre commercial...
Du coup, tu as un fonction php qui fait filtre SPIP pour lui dire de passer toutes les urls qu’il trouve dans /autoembed/ ?url=... ?
En fait, ce qui m’intéresse en particulier, c’est de pouvoir afficher les images d’url collées dans un formulaire. Je pensais que c’était autoembed, mais j’ai l’impression que c’est autre chose non ? @seenthis
Cher @seenthis,
Je trouve exemplaire la façon dont les attributs de langue en HTML sont insérés. Le code est-il libre et récupérable ?
Mon idée c’est de reprendre ça pour pouvoir fabriquer un truc simple à déployer (un filtre spip sur contrib, par exemple) pour tous les gens qui affichent des RSS sur leur site perso, avec génération automatique des langues.
Cas concret : c’est ce qui me bloque pour mettre un fil Twitter sur un #spip pour des questions d’accessibilité : une revue d’écran bien faite (JAWS) choisit son moteur phonologique sur la base des attributs lang des balises HTML.
J’ai installé le plugin « Détecter langue » sur la Zone :
►http://zone.spip.org/trac/spip-zone/browser/_plugins_/plugins_seenthis/detecter_langue
Après, il faudra que tu fasses passer le texte que tu veux dans ce plugin. Je n’ai pas de méthode générique pour ça (puisque la structure des messages sur Seenthis n’est pas du tout celle de SPIP).
Pour les hreflang, qui sont drôlement pratiques, ça devient déjà nettement plus coton, puisqu’il n’y a pas nativement de récupération du contenu distant dans SPIP. (S’il y a un plugin qui le fait, il suffit de brancher les deux ensemble.)
@seenthis merci pour le lien. Pour les hreflang dans le cas d’un flux rss je regarderai, mais si on déduit la langue et qu’on génère l’attribut lang, vu qu’on part du principe que c’est une citation du texte original, je me dis qu’on doit pouvoir gnéérer mêmement l’attribut hreflang
(note liminaire : ami lecteur, quand pour la dernière fois as-tu lu « mêmement » ?) :)
@seenthis j’ai regardé le code, c’est génial ton truc ! #sharethelove
Pour le hreflang, je vais tout de même chercher le contenu de la page distante.
– Pour récupérer le contenu, j’utilise le portage de Readability en PHP :
http://code.fivefilters.org/p/php-readability
Ce qui permet d’extraire la partie « intéressante » de la page linkée (sans les éléments de navigation notamment).
– Une fois que j’ai ce contenu, je le fais passer dans le détecteur de langue et... voilà, j’ai de quoi renseigner mon hreflang.
– Au passage : comme je récupère la page distante, je récupère aussi son title. C’est comme ça que je peux réintroduire un title dans le HTML des liens vers l’extérieur de Seenthis.
@notabene j’avoue n’avoir pas souvenir de lecture de « mêmement », mais mêmement — ah ! —, je n’ai pas souvenir de lecture de « gnéérer »... :-p
Mise à jour du #plugin #SPIP Créer-Sprites-CSS :
http://zone.spip.org/trac/spip-zone/browser/_plugins_/creer_sprites_css
doc : ►http://plugins.spip.net/Creer-Sprites-CSS
Le plugin passe désormais la date du fichier dans l’URL appelée, ce qui force bien l’affichage de la dernière version du fichier.
Pourquoi ça ne le faisait pas auparavant ? Parce que je pensais que ce plugin (destiné à automatiser la fabrication de « Sprites CSS ») ne s’appliquerait qu’à des images ne changeant jamais dans l’interface du site (éléments de navigation). Mais finalement, à l’usage, je l’utilise désormais pour des images qui changent régulièrement (parce que c’est drôlement efficace, même sur d’assez grosses images, pas seulement pour de toutes petites vignettes).
Je viens de libérer un nouveau #plugin pour #SPIP : recuperer_favicon
http://zone.spip.org/trac/spip-zone/browser/_plugins_/plugins_seenthis/recuperer_favicon
C’est un vieux truc, qui n’a jamais été diffusé, parce qu’il utilisait du code non libre (gratuit, mais non libre) pour aller chercher le favicon d’un site distant. Désormais, il existe une URL pour récupérer directement le favicon d’une URL :
http://www.google.com/s2/favicons?domain=www.flip-zone.com
Du coup, le plugin devient carrément léger : son seul travail, c’est de faire une copie locale du favicon (pour ne pas taper Google à chaque hit).
Si je ne m’abuse, j’avais fait des tests il y a quelque temps, et cela ne respecte pas le favicon d’origine, notamment les PNG transparents.
Oui, et il ne trouve pas tous les favicons. Mais la version précédente du plugin ne trouvait pas tout non plus, et le calcul était nettement plus lourd (et pas diffusable parce que pas libre).
S’il y a mieux, tant mieux. Mais faute de grives...
Je comprends bien ! ;-)
J’avais aussi abandonné cette solution parce qu’elle provoquait un nombre non négligeable de requêtes pour l’utilisateur, donc j’ai fait une liste réduite de sites pour lesquels j’ai le favicon, dans un sprite :
http://gasteroprod.com/themes/gp2010/images/sprite-favicons-20101005.png
Pourquoi préférer un SaaS propriétaire à du code gratuit, mais non libre ?
Mais est-ce cela qui recouvre tous les liens de petits dessins sur seenthis ?
@martin : la possibilité de diffuser le plugin.
– Le code propriétaire, je ne peux pas le redistribuer.
– Le code qui utilise le SaaS de Google, je peux le redistribuer.
@seenthis : Ah oui, je comprends mieux la motivation, en effet.
En revanche, je ne trouve point de CGU concernant Google S2, en particulier pour ce qui est de son utilisation depuis un site tiers.
Tout au plus, je tombe sur un message non officiel d’annonce de l’ouverture du service :
http://googlesystem.blogspot.com/2007/09/google-shared-stuff.html
ou encore de son arrêt :
http://googlesystem.blogspot.com/2009/02/google-shared-stuff-to-be-discontinued.html
Rien, en revanche, sinon le constat de leur fonctionnement en l’état, sur les favicons. La pérennité de la solution est donc sujette à caution... Mais ça marche ! :-)
C’est pas si compliqué de faire du code qui va récupérer un favicon, pour remplacer le code non libre, non ?
@bohwaz : curieusement, si, c’est assez coton, parce .ico est un format à la con et parce que la façon de déclarer où trouver le fichier de l’icone n’est pas identique partout.
On avait cherché à l’époque pour ►http://rezo.net et tout ce qu’on avait trouvé à l’époque c’était ce bout de code pas libre. Ça a peut-être progressé, mais j’ai pas trop le temps pour l’instant.
@nhoizey dans certaines situations, si ça se justifie, tu peux combiner avec « Sprites CSS », et ainsi faire fabriquer tes sprites CSS d’un seul coup pour l’ensemble d’une grosse liste.
La question : est-il vraiment utile de s’occuper du format de l’image ? On peut juste copier l’image non ? (Pourquoi se faire chier ?)
Bon sinon partie recherche : http://svn.kd2.org/svn/misc/libs/lib-image/favicon.php
Effectivement sinon GD ne semble pas gérer ICO (en fait BMP) comme format de fichier, c’est un peu con, mais Imagick le gère très bien, donc c’est aussi possible de faire de la conversion en quelques lignes de code.
@seenthis le danger de combiner avec les sprites, c’est que ton sprite va vite grossir, en tout cas sur seenthis... ;-)
L’astuce que j’ai déjà utilisé avec succès : CSS générée dynamiquement, qui inclus toutes les icônes utilisées dans la page, avec data URI. Au lieu de faire 15 requêtes pour 15 icônes, ça ne fait qu’une seule requête. Problème : si tu changes de page, tu recharges une nouvelle CSS avec de nouvelles icônes, alors qu’avec 15 icônes séparées, elles sont déjà cachées par le navigateur. Mais quand même par expérience c’est plus rapide, même si aucune solution n’est parfaite.
Alors, en ces temps de #googlepluseries, petit rappel. Dans les recoins du Net libre, il y a ►http://seenthis.net #libre #libre #libre
Seenthis permet de tenir à jour un blog personnel constitué de billets courts. Il est principalement destiné à la veille d’actualité. Pour cela, il propose de mettre en valeur le référencement de pages Web, la citation d’extraits et le commentaire, grâce à une mise en forme automatique et adaptée des textes.
Il est destiné, principalement, à faciliter la recommandation de liens entre pairs.
Il est associé à un système de forums publics permettant aux participants d’échanger des idées de manière constructive (conversation publique). Un système de thématisation avancé facilite la constitution de bases documentaires et thématiques.
Ah, non, non... ça n’a rien à voir... Et, oui, ici, c’ets franchement libre, vu les instigateurs ,-)
Hé bien sauf arrangement spécifique le code de #seenthis n’est pas disponible pour créer un autre site similaire (ne serait-ce que pour un usage perso).
Plus précisément :
– j’ai d’origine réalisé une partie des fonctionnalités du système sous forme de plugins SPIP, que j’ai installés sur spip-zone (sous GPL, donc) ;
►http://zone.spip.org/trac/spip-zone/browser/_plugins_/plugins_seenthis
– une autre partie des fonctionnalités ont été codées sous une forme de briques non-SPIP (c’est-à-dire pas sous forme de plugins SPIP), et elles sont progressivement passées sous forme de plugins SPIP, de façon à pouvoir être libérées progressivement ;
– en revanche, le code qui fait fonctionner les briques ensemble n’est pas diffusé, et je n’ai pas encore pris de décision à leur sujet.
Ce qui fait que, en pratique :
– tu as toute une partie du code sous forme de plugins SPIP que je diffuse déjà en libre,
– tu as une partie du code que je travaille à passer sous forme de plugins SPIP, avant de les diffuser en libre,
– mais tu n’as pas un package complet installable clé-en-main qui te permettrait d’installer ta propre instance de Seenthis.
Comme je n’ai pas vocation à devenir une méga startup « du libre » comme status.net et que je souhaite développer le truc de manière humaine, je crains d’être à la merci des comportements prédateurs et/ou opportunistes qui viennent à la fois du côté marchand et du libre. (J’ai suffisamment vu de tels comportements pour être très méfiant.)
Alors j’y vais mollo, je développe le truc en essayant de rester cohérent avec mon idée d’origine (parce que, aspect qui complique le truc par rapport à beaucoup de projets de réseaux sociaux libres, Seenthis n’est pas du tout le clone libre d’un succès non-libre existant), je vais essayer de libérer le maximum de choses au fur et à mesure. Mais pour l’ensemble, qui ferait un pack libre installable « clé en main », pas dans l’immédiat.