Shaarli et ses drôles de liens
Porneia delights, 12 février 2012,
illovæ et al. — Lorsqu'un internaute butine sur la toile,
il lui arrive relativement souvent de vouloir conserver
certaines URLs, qui
d'une discussion animée sur un forum, qui d'un article
intéressant, qui d'un lien sur megaupload, qui encore d'une
image amusante. Les navigateurs intrègrent dans leurs grandes
majorités une fonction de marque-page qui nous permet de retrouver
aisément ces fameux liens. Certains ont poussé l'idée en développant
le concept de
Marque-page social (Social
bookmarking) qui consiste à enregistrer et organiser ses
marque-pages non plus au sein du navigateur mais en ligne via un service
gratuit — généralement. Bien que le terme de Social
bookmarking ne soit apparu qu'en 2003 sous l'impulsion de del.ico.us,
Scout Project nous présentait dans son
rapport numéro 18 volume 6 un des
premiers sites du genre sortie alors en 1996 :
itList. Déjà à cette époque itList
disposait de différentes fonctions dont la principale était de partager
publiquement certains de ses marque-pages — sinon tous — en
envoyant un simple email et de permettre aux autres internautes de les
commenter ou de les noter. Il était possible dès lors de faire des
recherches dans tous les marque-pages publics, de voir les mieux notés et
les plus commentés — de façon général ou par catégorie —
et d'autres choses encore
(non reddit n'a rien inventé).
Ces services d'antan, aujourd'hui disparus, ont fait des petits bien connus tel que delicious, pinboard ou même diigo ; la liste n'étant pas exhaustive. Si nous souhaitons partager et organiser nos liens nous avons donc le choix parmi un nombre conséquent de services en ligne centralisés, fermés et/ou privateurs... avec tous les problèmes que cela entraîne. Certains sont lourds et lents à charger. D'autres sont buggés. Vous ne savez pas nécessairement comment lesdits services utilisent ce qui est finalement un résumé de vos promenades httpèsque, ce qui n'est pas pour réjouir les plus paranoïaques d'entre nous — il paraîtrait même, Tamper Data à l'appui, que l'un d'entre eux par le truchement de son addon pour Firefox suit à la trace tous les liens que vous visitez (oui même ceux que vous n'ajoutez pas à votre compte de gestion de marque-pages en ligne... Le data mining n'a pas de limite). De plus que ferez-vous quand Disney, ayant remarqué que l'un des utilisateurs partage des liens de Mickey ayant des conduites sexuelles avec Minnie prohibées par l'État du Texas, fera fermer sans préavis le service en question, détruisant par la même les précieux liens récoltés au fur et à mesure de vos mois ou années de recherche et privant subséquemment vos amis de vos découvertes hebdomadaires ? Je veux dire à part pleurer à chaudes larmes et à grand bruit tout en appuyant frénétiquement sur le bouton rouge feu de HOIC ?
C'est là qu'intervient Shaarli.
« Eh ! Bonjour les filles ! » – « Bonjour Shaarliiiii ! »
Libre et sauvage
¦ Shaarli est une application en PHP (5.1
minimum) partagée sous la licence
zlib/libpng OSI et développée
par Bosley sebsauvage qui le décrit lui-même comme le clone
personnel, minimaliste, super-rapide, sans base de donnée de
delicious. Autrement dit c'est une alternative libre et ouverte aux
services suscités, simple d'utilisation, très légère, facilement
déployable et qui ne manquera pas de ravir les convaincus de
l'auto-hébergement. Le projet Shaarli a été ouvert
en septembre 2011 et est actuellement
en version beta — il est cependant parfaitement stable et robuste.
Une alternative sérieuse ¦ La principale fonction de Shaarli est bien sûr de sauvegarder des marque-pages tant public que privé. Vous avez la possibilité de les parcourir par pages ou de les filtrer par tags. Chaque marque-page à son lien permanent et son QR-Code qui renvoient vers son titre et sa description complète (sans limite de taille). Vous pouvez les diffuser par RSS et Atom ; le support du protocole PubSubHubbub est aussi présent. L'importation et l'exportation sont bien sûr prévues. Shaarli dispose d'un nuage de tags mais aussi d'un mur d'images (des miniatures étant automatiquement générées pour différents services tel que imgur, imageshack, flickr, youtube, etc). De plus, très récemment, sebsauvage a ajouté ce qu'il nomme un Shaarli daily, n'étant rien d'autre qu'une présentation des liens du jour reprenant l'architecture d'un journal papier. Vous pouvez voir le rendu de tout cela sur le shaarli personnel du développeur qui partage un peu moins de 10,000 liens — le tout restant parfaitement fluide.
Quelques détails techniques ¦ Shaarli se veut être une
application qui respecte le principe KISS. Aussi son architecture est des plus
simples. Principalement nous avons un index.php
contenant le
code, un répertoire data/
contenant les fichiers de
l'utilisateur, un répertoire inc/
contenant des extras
(CSS, javascript, etc.),
un répertoire images/
et un répertoire tpl/
qui
vous permet de customiser l'apparence de votre shaarli
. Ce dernier point est permis grâce à l'utilisation
de RainTPL, le fameux moteur de template. Tous les
marque-pages ainsi que leurs commentaires et tags sont stockés au sein
d'un fichier qui, selon les estimations du développeur, ne prend que 150Kb
de place pour 1315 liens ; le choix d'utiliser un fichier unique permet
ainsi de mettre en place un système de sauvegarde des plus basiques. Grâce
à ces éléments, Shaarli est extrêment léger.
Des mesures de sécurité ¦ En ce qui concerne la sécurité, il
se protége des attaques de type brute force en banissant au
quatrième échec de login l'adresse IP du présumé attaquant pour une durée
de 30 minutes grâce à trois fonctions : ban_loginFailed, ban_loginOk et
ban_canLogin ; mais notez qu'il peut toujours parcourir les
marque-pages. Remarquez d'ailleurs que le
fichier data/log.txt
contient toutes les activités liées aux
tentatives de connexions. Shaarli a aussi une protection contre le
XSRF
(le détournement d'un cookie de session). Un
fichier .htaccess
est présent pour protéger les données de
l'utilisateur (le dossier data/
). La base de donnée des liens
est un tableau sérialisé, compressé avec deflate, encodée en base64 et
sauvegarder à l'état de commentaire dans un fichier PHP ; cela offrant une
protection supplémentaire au cas où le serveur ne supporterait pas
les .htaccess
. Enfin par rapport au mot de passe, il
est hashé tout d'abord ;
sebsauvage de plus utilise un
salt. Il est stocké ensuite sous cette forme
dans un fichier PHP au sein du dossier data/
lui-même étant
protégé par son .htaccess
donc.
De la question de l'installation ¦ Elle se résoud en trois courtes minutes, c'est de celles que l'on écarte. Il vous suffit de récupérer l'archive — shaarli.zip (ce lien pointe toujours vers la dernière version à jour) (miroir de la version 0.0.38beta (zip, 348ko)) — et de la décompresser dans un dossier sur votre serveur web (attention tout va se décompresser dans le répertoire courant, veuillez à bien exécuter l'opération dans un dossier vierge) ; ou bien, selon, envoyer le dossier en question via FTP /SFTP sur votre espace distant. Dirigez-vous enfin vers l'adresse où vous avez installé votre shaarli :
Une fois les champs remplis à votre convenance, il vous demande de vous
connecter. Vous pourrez alors ajouter votre premier lien en cliquant
simplement sur "Add link". D'ailleurs, à propos de la langue,
Shaarli n'est pour le moment officiellement disponible qu'en anglais, même
si la gestion des traductions ne sauraient tarder. Cependant M-o-o-n-FR,
un enthousiaste de la communauté, a mis à notre disposition le
dossier tpl/
traduit par ses soins en
français. Pour en profiter il vous suffit simplement de remplacer le
contenu de votre dossier tpl/
par celui de l'archive. Enfin,
si c'est encore trop long pour vous et/ou que vous êtes un peu feignant,
VoidAndAny
nous a écrit un petit script en bash pour
automatiser tout cela (à adapter selon vos besoins).
Mettre à jour son shaarli ¦ La mise à jour de Shaarli
est relativement simple. Typiquement il suffit de récupérer l'archive
de la dernière version et d'écraser le contenu de votre shaarli avec
la nouvelle version. Cependant prenez garde à deux choses. Pensez à
préserver votre dossier data/
qui contient entre autres
choses importantes tous vos marques-pages. De plus pour ceux qui ont
changé leur thème, conservez absolument votre
dossier tpl/
ainsi que vos CSS du dossier inc/
au risque de perdre
vos arrangements. Le projet Shaarli ne dispose pas encore de dépôt
officiel git/svn/whatever (mais sebsauvage va bientôt craquer sous la
pression des utilisateurs, ne vous en faîtes pas). En attendant
Alda met à disposition les sources de Shaarli sur son propre
dépôt pour nous permettre de mettre à jour plus simplement.
MàJ du 13
février 2012 14:31 UTC : une version
un peu modifiée pour le Planet
Libre dispose de
son dépôt sur un github maintenu
par theClimber.
Du côté de la distribution ¦ Il sera aussi bientôt possible de faire l'installation et les mises à jour de Shaarli au travers des gestionnaires de paquets de vos différentes distributions. Probablement sous Ubuntu tout d'abord, Emilien Klein s'occupant de la page sur Launchpad. Celui-ci cherche d'ailleurs en ce moment même un sponsor debian (actuellement en discussion) afin de soumettre le paquet debian qu'il a construit. De son côté, Pascal Bellard a rédiger une recette pour le cooker de SliTaz. pkgsrc n'est pas en reste grâce aux efforts de Frédéric Fauberteau qui l'a intégré dans la branche CURRENT de pkgsrc-wip. Enfin, un projet de construction d'un paquet pour fedora a aussi vu le jour à l'initiative de Frédéric Thouin mais semble malheureusement stagner pour le moment. MàJ du 12 février 2012 20:11 UTC : Robin Hahling répare un oubli en commentaire en précisant qu'il a créé et maintient un paquet pour Archlinux ; merci à lui.
Ajoutez un lien, tout simplement ¦ Il existe une méthode plus simple que d'aller sur votre shaarli à chaque fois que vous souhaitez y ajouter des liens. Dans le menu, cliquez sur "Tools" puis faîtes glisser le bouton "Shaare link" dans votre barre de marque-pages (compatible avec Firefox, Opera, Chrome et Safari) :
Lorsque vous êtes sur une page qui vous intéresse et que vous souhaitez la diffuser avec votre shaarli, cliquez alors simplement sur le bouton "Shaare link" :
Il ne vous reste plus qu'à remplir les différents champs :
Les champs "URL" et "Title" se remplissent automatiquement afin de vous faciliter la tâche. De plus, le champ "Tags" supporte l'auto-complétion (requiert PHP 5.2).
Des cas d'exception pour free.fr et 1and1 ¦ En parlant
d'auto-complétion. Si vous êtes hebergé
chez free.fr vous ne pourrez pas en bénéficier car les
serveurs n'ont que PHP 5.1 à disposition. Toujours pour les pages persos,
pour faire fonctionner Shaarli il va vous falloir renommer le
fichier index.php
en index.php5
ou alors,
alternativement, créez à la main à la racine de votre dossier contenant
votre shaarli un fichier .htaccess
contenant :
php 1 SetEnv PHP_VER 5
De plus, toujours pour free.fr mais aussi en ce qui concerne le prestataire de service 1and1 et dans le cas où vous utiliseriez le "Add link" de la page principale, vous devrez remplir vous-même le champ pour "Title" étant donné qu'ils ont désactivés la possibilité de télécharger un fichier via HTTP (il n'y a par contre aucun problème si vous utilisez le bouton "Shaare link" depuis votre barre personnelle). À cause de cet état de fait, vous ne pourrez non plus bénéficier des miniatures de certains services (comme imgur par exemple) — Shaarli ne pouvant télécharger les images pour les réduire...
De l'utilité « des choses pour ce qu'elles sont et non pour ce qu'elles paraissent » ¦ Cette citation reprise à Benjamin Bayart me permet d'introduire quelques indices que nous fournit sebsauvage pour tirer le plus grand parti de son outils. Tout d'abord comme un pastebin (privé et/ou public) dans lequel vous pouvez coller du texte à volonté. Pour cela ajouter simplement un lien en laissant le champ "URL" vide ; ce qui aura pour effet de faire pointer l'entrée sur elle-même. Vous pouvez de la même manière envisager aussi d'utiliser Shaarli comme un twitter ou un identi.ca. En poussant le raisonnement plus loin, Shaarli peut même être appréhender comme un moteur de blog réduit à sa fonction la plus élémentaire. D'un autre côté, Shaarli peut être un remplaçant dynamique aux fameux billets "En vrac" ; ou permet plus simplement de garder des traces des veilles professionnelles quotidiennes. Ou, comme le fait sebsauvage lui-même, remplir toutes ces fonctions à la fois... Certains utilisateurs en commentaires du projet ont même expliqués qu'ils utilisaient Shaarli au sein d'un réseau local d'entreprise afin que les employés puissent partager entre eux des informations, des conseils et des liens utiles, mais aussi des mèmes ou des privates jokes ; épargnant ainsi les boîtes mails déjà bien remplies.
Aux petits oignons ¦ En ce qui concerne les possibilités de
configuration, elles sont multiples. Tout se déroule
dans data/options.php
(le fichier n'existe pas, vous devez le
créer) et s'organise de cette manière :
<?php $GLOBALS['config']['LINKS_PER_PAGE'] = 30; $GLOBALS['config']['HIDE_TIMESTAMPS'] = true; $GLOBALS['config']['ENABLE_THUMBNAILS'] = false; ?>
Les paramètres (que vous retrouverez sur la section idoine du projet) sont les suivants — paramètres (valeur par défaut) :
- DATADIR ('data') : le nom du dossier dans lequel Shaarli enregistre ses données. Vous pouvez le modifier pour une sécurité accrue.
- CONFIG_FILE ($GLOBALS['config']['DATADIR'].'/config.php') : le nom du fichier utilisé pour sauvegarder l'identifiant de connexion et le mot de passe.
- DATASTORE ($GLOBALS['config']['DATADIR'].'/datastore.php') : le nom du fichier qui contient la base de donnée des marque-pages.
- LINKS_PER_PAGE (20) : nombre par défaut de marque-pages affichés par page.
- IPBANS_FILENAME ($GLOBALS['config']['DATADIR'].'/ipbans.php') : le nom du fichier où sont stockées les tentatives de login, les connexions et les IP bannies.
- BAN_AFTER (4) : nombre de tentative de login avant que l'adresse IP ne soit bannie.
- BAN_DURATION (1800) : durée du bannissement (en secondes) (1800 secondes correspond à 30 minutes).
- OPEN_SHAARLI (false) : si vous passez cette option à true n'importe qui aura la possibilité d'ajouter, de modifier, d'effacer, d'importer ou d'exporter des marque-pages et cela sans être identifier.
- HIDE_TIMESTAMPS (false) : si vous passez cette option à true, la date et l'heure de chaque lien ne seront plus affiché (ceci incluant le flux RSS).
- ENABLE_THUMBNAILS (true) : activer ou désactiver les miniatures pour les images et les vidéos.
- CACHEDIR ('cache') : le dossier dans lequel les miniatures seront stockées.
- ENABLE_LOCALCACHE (true) : si vous avez un quota limité pour votre espace web, vous pouvez passer cette option à false : Shaarli ne générera alors plus de miniatures qui ont besoin d'être mise dans le cache local (vimeo, flick, etc.). Les miniatures seront toujours visibles pour les services qui n'utilisent pas ce cache (youtube, imgur, dailymotion, imageshack).
- UPDATECHECK_FILENAME ($GLOBALS['config']['DATADIR'].'/lastupdatecheck.txt') : le nom du fichier utilisé pour stocker le numéro de la dernière version à jour de Shaarli.
- UPDATECHECK_INTERVAL (86400) : le délai entre deux vérifications d'une nouvelle version de Shaarli (en secondes) (86400 secondes font 24 heures). Notez que si vous ne vous identifiez pas pendant une semaine, Shaarli ne vérifiera pas si une nouvelle version est disponible pendant tout ce temps.
Avoir son propre thème ¦ Comme déjà évoqué, Shaarli utilise
le moteur de gabarit pour PHP RainTPL. Il serait fastidieux de
rentrer dans les détails de la modification du
thème par défaut. Aucune connaissance en PHP n'est
requise ; il vous faudra par contre des notions, même simple, en
HTML+CSS. Vous n'aurez à
modifier que les fichiers présents dans tpl/
ainsi que
le CSS
dans inc/
(user.css
étant là pour
ça). Dans tpl/
les fichiers sont découpés selon
leur fonction dans les pages
(page.footer.html
, page.header.html
, tagcloud.html
,
etc.) Pour les plus néophytes d'entre nous, faîtes simplement
attention à ne pas toucher aux contenus entre accolades, ceux-ci
faisant explicitement appel au code contenu
dans index.php
. Pour finir voici d'ailleurs quelques
réalisations d'utilisateurs de Shaarli :
share.aldarone.fr,
lamecarlate.net/links,
marienfressinaud.fr/shaarli,
sensini42.free.fr/shaarli (ou même encore
le nôtre).
MàJ du 13
février 2012 17:39 UTC : il y a aussi celui-ci
: anadrark.com/links.
Quelques observations et autres remarques
« Commit early, commit often! » ¦ Vous l'aurez compris je l'espère au travers de cet article que Shaarli, en restant simple d'utilisation, permet de remplir une multitude de fonction. Sebsauvage a su construire autour de lui de par ses commits réguliers et son écoute attentive une communauté sympathique et enthousiaste. Vous pouvez retrouver par ailleurs les discussions et les demandes d'aide des différents utilisateurs et contributeurs ; et si vous souhaitez participer à la conversation pour demander ou de l'aide en cas de problème ou une fonction particulière veillez avant tout s'il vous plaît à ce que les premiers n'ont pas déjà été résolus en lisant attentivement la FAQ et que les secondes n'aient pas déjà été soumises en parcourant la liste des idées et corrections.
Un fichier pour les gouverner tous ¦ Un des premiers questionnements récurrents a porté sur la partie technique de Shaarli, notamment sur le fait qu'il n'utilise pas de base de donnée tel que SQLite, sur son orientation « un seul fichier » et sur les conséquences en terme de rapidité. Sur l'espace de discussion, sebsauvage y répond lui-même :
J'aurais pu utiliser SQLite (que j'aime beaucoup), c'est vrai. Je le passerai peut-être à SQLite. C'est juste que je me méfie : certains hébergeurs ne le supportent pas, ou n'ont que SQLite2. Et puis je voulais tester un peu les limites de cette approche sous forme de fichier. Mais bon même avec 7200 liens, ça tourne assez bien (le fichier fait 1,1 Mo, et vue sa taille il est déjà dans le cache disque de l'OS : autrement dit, ça ne doit même pas provoquer d'I/O disque à la consultation, juste du CPU).
De la question du multi-utilisateur ¦ Dans un autre ordre d'idée, une des requêtes que l'on retrouve assez souvent est la création d'un environnement multi-utilisateurs pour Shaarli. Le shaarli du Porneia delights est utilisé par plusieurs personnes. Nous utilisons tous le même compte pour ajouter nos liens ; ce qui convient parfaitement à notre fonctionnement et notre philosophie car nous ne ressentons pas le besoin de nous individualiser pour publier (sauf en ce qui concerne les articles). Mais c'est loin d'être la norme bien évidemment — je pense notamment à cette personne évoquée plus haut qui parlait de l'utilisation d'un shaarli au sein d'une entreprise ; dans ce contexte, le multi-utilisateur prend du sens. Sachez que cette question sera peut-être envisagée par sebsauvage mais nécessite évidemment un travail certain.
Des alternatives à l'alternative ¦ Il existe bien sûr d'autres outils pour partager les liens. De manière non-exhaustive on peut penser à linx, SemanticScuttle, Online-Bookmarks (abandonné ?) mais aussi à Links.
Retour vers le shaarli ¦ Comparé aux différents services centralisés présentés en introduction, Shaarli a comme nous l'avons vu des avantages non négligeables. Certains d'entre vous regretterons peut-être l'absence de fonctions commme la possibilité pour les visiteurs de commenter les liens ou de leur attribuer un "up" ou un "down" (à la manière de reddit). De plus, aucune structure n'est encore effectivement présente pour qu'un shaarli discute avec un autre shaarli ; l'idée de permettre aux différents utilisateurs d'un shaarli d'importer un lien depuis un autre shaarli, par l'intermédiaire de ce que l'on pourrait nommer un via, a été soumise et sebsauvage ne manqera certainement pas de l'intégrer. Mais ce à quoi je pense va plus loin que cela : en tant qu'utilisateurs de Shaarli nous nous sommes amusés, comme d'autres sûrement, à chercher les shaarli qui peuplent le web (Où est Shaarli ?). Il y en a un certain nombre déjà. Je suis donc presque quotidiennement plusieurs shaarli via mon agrégateur de flux ou en les visitant à la main. Ne serait-ce pas sympathique de pouvoir suivre les shaarlis que l'on aime (ou même tous par défaut ?) directement depuis notre shaarli personnel (qui reste toujours plus ou moins ouvert dans un onglet en coin) — en les interconnectant grâce à PubSubHubbub peut-être ? Nous aurions ainsi une sorte de Front page of teh Shaarli. Mieux encore, imaginons qu'il soit possible de faire une recherche de liens sur tous les shaarlis disponibles sur la toile, ou sur ceux qui souhaitent que l'on puisse faire des recherches sur leur shaarli tout du moins ? Pouvoir noter et commenter les liens des autres depuis notre shaarli personnel ? Oui je parle bien d'un reddit en plus simple et surtout décentralisé. Je vous avoue sans détour que je n'ai pas la moindre idée des possibilités effectives de réalisation de telles idées sans rendre Shaarli totalement obsèse, mais il est possible que d'autres que moi ont dû les avoir et envisage peut-être des solutions pour les ajouter. Peut-être proposer l'intégration d'un système de plugin ? Mais dans ce cas, le projet s'écarterait du « tout en un fichier ». Cela aurait cependant l'avantage de garder le Shaarli de base aussi fin que possible tout en laissant aux utilisateurs la possibilité de développer leurs propres modules qui ne viendrait pas interférer et alourdir le fichier central. Mais peut-être que d'une certaine manière ces idées vont à l'encontre de l'esprit du projet.
ShaarCLI Project ¦ Dans un tout autre ordre d'idée, une fonction qui m'intéresserait serait de pouvoir publier sur le shaarli du Porneia delights via mon terminal — mais je risque de voir cela réalisé relativement rapidement. En effet sebsauvage projette de permettre l'ajout de liens depuis d'autres applications web (MàJ du 13 février 2012 18:02 UTC : en passant VoidAndAny nous explique comment lier Google Reader et Shaarli). Je ne sais pas s'il va se tourner vers le développement d'une API qui dès lors me permettra de joindre un shaarli depuis la ligne de commande par l'intermédiaire d'un petit script bash, ou depuis Emacs par l'intermédiaire d'un shaarli-mode, mais permettra aussi de développer des applications pour téléphone intelligent par exemple. Mais bon confer la dernière ligne du point précédent...
Point de vue personnel ¦ J'aimerai enfin terminer cet article par mon expérience personnelle vis-à-vis de Shaarli. Il a tout d'abord répondu à un besoin et il est enfantin à appréhender, ce qui est tout à fait appréciable bien sûr. Mais je dois dire que ce projet « à l'échelle humaine » m'a surtout permis de me familiariser avec le PHP, language que je souhaitais aborder depuis déjà quelques temps. Je me suis plongé dans les entrailles de Shaarli alors que je voulais, en décembre et tandis que RainTPL n'avait pas encore été intégré, modifier le thème par défaut — hardcodé à l'époque donc — pour qu'ils correspondent à l'esthétique du Porneia delights. Le code est relativement simple à comprendre et bien documenté (en tout cas d'un point de vue de néophyte) et sa taille m'a permis d'avoir une vision d'ensemble sans un labeur excessif ; même si des personnes plus expertes ont des avis qui diffèrent (notez la réponse de l'intéressé en commentaire). J'ai ainsi pu me familiariser avec ce language presque même sans que je m'en rendisse compte, de façon tout à fait ludique et avec un résultat directement visible et pratique. Les auto-didactes savent comme il peut être difficile de trouver un projet qui nous convienne, nous motive et surtout qui respecte les bonnes pratiques de programmation dans un language donné (quoique j'ai l'impression qu'avec le PHP on trouve beaucoup plus de n'importe quoi sur Internet comparé aux autres languages, mais je me trompe peut-être). Bien sûr je n'ai pas les compétences encore pour réellement apporter ma contribution au code ou même pour le critiquer (au sens noble du terme) ; mais en local, il me permet déjà d'avoir du fun tout en essayant de mettre en forme des idées qui me traverse l'esprit. Plus encore que la possibilité de partager simplement et librement des liens avec le reste du monde, je suis reconnaissant envers sebsauvage pour m'avoir permis de cocher cette entrée dans ma TODO list tout en m'amusant. Ses compétences, sa gentillesse et sa proximité avec la communauté sont de plus des qualités enthousiasmantes.
tl;dr ¦ Shaarli est une alternative libre à delicious sans base de donnée et requiérant PHP 5.1. Vous pouvez le récupérer via ce lien. Décompressez-le dans un dossier vide. Pointez l'URL dans votre navigateur pour commencer à l'utiliser. Faîtes glisser le bouton "Shaare link" (menu "Tools") dans votre barre personnelle pour une meilleure expérience d'utilisation. Ayez du fun. Partagez-le.