Extension:Memento
Cette extension n'est en ce moment pas activement maintenue ! Même si elle reste opérationnelle, les rapports de bogue ou les demandes de nouvelles fonctionnalités risquent de ne plus être pris en compte. |
Memento État de la version : non-maintenu |
|
---|---|
Implémentation | Extraction de données, Interface utilisateur |
Description | Permet à MediaWiki de prendre en charge le protocole Memento (RFC 7089) permettant de voir les versions antérieures des pages wiki en utilisant le même protocole que celui des archives web et des autres systèmes de contrôle des versions. |
Auteur(s) | |
Dernière version | 2.2.0 (2019-05-24) |
Politique de compatibilité | Versions ponctuelles alignées avec MediaWiki. Le master n'est pas compatible arrière. |
MediaWiki | 1.31+ |
PHP | 7.2+ |
Modifie la base de données |
Non |
Licence | Licence publique générale GNU v2.0 ou supérieur |
Téléchargement | GitHub: Note : |
Aide | Help:Extension:Memento/fr |
Exemple | W3C Wiki |
Voir la section Configuration |
|
Téléchargements trimestriels | 0 |
L'extension Memento vous permet d'afficher un site MediaWiki complet tel qu'il était à un moment particulier du passé; pour faire cela elle ajoute la prise en charge de la négociation de l'horodatage comme indiqué par le Protocole Memento à un système MediaWiki. Elle fournit le support côté serveur pour qu'un client Memento puisse naviguer dans le système MediaWiki, tel qu'il était à une date du passé choisie par l'utilisateur. Pour acquérir la connaissance de la fonctionnalité fournie par le voyage temporel de Memento, voir ce bref apreçu qui comprend les navigations dans le temps pour Wikipedia et les autres sites web.
L'effort porté sur le Déplacement dans le temps dans le web de Memento a commencé en 2009 avec l'objectif global de rendre aussi facile la navigation dans le passé du web que la navigation sur le web actuel. L'idée de base sous-jacente du protocole Memento est qu'une ancienne version d'une page web, telle que celle d'un article Wikipédia - http://en.wikipedia.org/w/index.php?title=Web_archiving&oldid=526371727 - peut être récupérée en accédant à son URI original - http://en.wikipedia.org/wiki/Web_archiving - et en lui appliquant la négociation de l'horodatage. La négociation de l'horodatage est similaire à la négociation du contenu, qui est fréquemment utilisée par les navigateurs, par exemple, pour demander à un serveur une version d'une page dans un format spécifique, par exemple HTML ou PDF. La négociation de l'horodatage demande au serveur une version avec une date spécifique et utilise pour cela l'entête HTTP Accept-Datetime.
Le protocole Memento est en attendant nativement pris en charge par plusieurs archives web. En outre, toutes les versions de DBpedia sont accessibles en natif via le protocole Memento, et le support proxy pour toutes les versions linguistiques de Wikipedia a été mis en œuvre.
Le voyage dans le temps de Memento n'est pas encore pris en charge en natif dans les navigateurs et nécessite donc l'installation d'une extension. Une extension Memento pour Chrome, entièrement conforme aux spécifications de protocole les plus récentes, a été publiée fin septembre 2013. Un enregistrement vidéo illustre l'extraordinaire fonctionnalité du voyage dans le temps qu'elle fournit.
Pour plus d'informations sur l'utilisation de l'extension une fois installée, visitez Aide:Extension:Memento .
Fonctionnement
Cette extension permet l'accès aux versions des pages MediaWiki en mettant en œuvre le support pour l'entête de requête HTTP Accept-Datetime
pour effectuer la négociation de l'horodatage, une variation de la négociation du contenu spécifiée dans RFC 2295 [1].
L'horodatage de la négociation est la valeur de l'entête HTTP Accept-Datetime
.
L'extension Memento pour Chrome ou la ligne de commande mcurl peuvent être utilisées pour définir cette valeur d'horodatage.
La négociation de l'horodatage se fait en deux temps :
- Lorsqu'un client demande une page, cette extension fournit l'URI d'une TimeGate pour la page dans l'entête HTTP Link. Le TimeGate est capable de négocier l'horodatage pour accéder aux versions de la page.
- Lorsqu'un client accède au TimeGate et effectue une négociation de l'horodatage avec lui, le TimeGate fournit au client la version de la page qui était opérationnelle à la date utilisée pour la négociation. La date de création de cette version est fournie dans l'entête de réponse HTTP
Memento-Datetime
, ainsi que des liens dans l' entête HTTP Link, y compris un lien vers la version actuelle de la page et vers une TimeMap pour la page.
Cette extension permet également l'accès à une TimeMap pour une page MediaWiki, qui est un document énumérant toutes les versions de la page ainsi qu'une TimeGate pour la page. Lorsqu'un client demande une page, cette extension fournir l'URI d'une TimeMap pour la page dans l'entête HTTP Link.
Cette extension MediaWiki utilise les mêmes gestionnaires que le logiciel MediaWiki pour se connecter à la base de données.
Ainsi, toutes les droits existants sur la base de données et les autorisations d'accès à la page sont respectés.
Il utilise une connexion de base de données 'DB_SLAVE'
, ce qui signifie que la connexion de la base de données ne peut que lire les tables.
Par conséquent, ce greffon ne modifie pas les données du wiki.
Installation
- Téléchargement et placez le(s) fichier(s) dans un répertoire appelé
Memento
dans votre dossierextensions/
. - Ajoutez le code suivant à la fin de votre fichier LocalSettings.php :
wfLoadExtension( 'Memento' );
- Configurez si nécessaire.
- Fait – Accédez à Special:Version sur votre wiki pour vérifier que l'extension a bien été installée.
Configuration
Cette extension a des défauts raisonnables, mais permet également d'ajouter les paramètres suivants à LocalSettings.php afin de modifier son comportement :
$wgMementoTimemapNumberOfMementos
— (la valeur par défaut est 500) permet à l'utilisateur de modifier le nombre de Mementos inclus dans une TimeMap servie par cette extension.
$wgMementoIncludeNamespaces
— est un tableau d'IDs d'espaces de noms Mediawiki (par exemple, les valeurs entières pour Talk, Template, etc.) à inclure pour Mementofication; par défaut c'est un tableau contenant seulement 0 (Main); la liste des IDs des espaces de noms se trouve dans Manuel:Espace de noms
$wgMementoTimeNegotiationForThumbnails
— EXPERIMENTAL : MediaWiki, par défaut ne préserve pas la cohérence temporelle des anciens ID des pages. En d'autres termes, une page ancienne (URI-M) ne contiendra pas la version de l'image qui existait lorsque cette page a été créée. Voir http://arxiv.org/pdf/1402.0928.pdf pour plus d'informations sur ce problème dans les archives Web. Ce paramètre a deux valeurs :- false — (par défaut) ne pas tenter de faire correspondre l'ancienne version de l'image à l'ancienne page demandée
- true — tentative pour récupérer l'ancienne version de l'image correspondant à la page de l'ancien identifiant demandée
Configuration du serveur
En plus de l'installation par défaut de MediaWiki, ce plugin fonctionnera également dans une configuration ou l'URL est réécrite. Ce greffon fonctionne également avec les wikis dans une configuration de proxy.
TimeGates, TimeMaps et leur fonctionnement
Cette extension présente deux nouvelles ressources dans votre installation MediaWiki :
- TimeGate — Une ressource associée à une page qui prend en charge la négociation de l'horodatage pour accéder aux versions de la page. Dans l'installation par défaut de cette extension, l'URL TimeGate coïncide avec l'URL de la page.
- TimeMap — Une TimeMap pour une page est une ressource à partir de laquelle une liste d'URI des versions de la page est disponible. La liste des URI est sérialisée au format application/lien. La TimeMap est paginé : pour les articles avec de nombreuses révisions, le TimeMap ne renvoie que le nombre de Mementos spécifié par le paramètre de configuration
$wgMementoTimemapNumberOfMementos
. Les URL de TimeMap pour récupérer des mementos supplémentaires sont fournies dans la TimeMap avec l'attribut timemap derel
. Voir la RFC Memento Pattern 6 pour les détails supplémentaires. Comme la TimeGate, l'URL de la TimeMap est également disponible dans l'entête de Link et le format d'URL est : http://your.wikiserver.here/index.php/Special:TimeMap/Title
Utilisation
La meilleure façon d'expérimenter cette extension est d'installer Memento Time Travel pour le navigateur Chrome. Après avoir installé Memento Time Travel, entrez l'URL d'une page de votre wiki et initialisez l'horodatage souhaité. Memento Time Travel utilisera le TimeGate installé dans le wiki pour charger la version de l'article qui était active à l'horodatage demandé.
Après avoir déclaré l'horodatage dans Memento Time Travel, un utilisateur peut cliquer sur les liens internes et les liens externes de la page et naviguer sur le web dans le passé.
Cette extension peut également être utilisée et testée de deux autres manières :
- Utilisation d'un navigateur Firefox : installez l'extension Firefox Modify Headers. Ensuite, initialisez l'entête
Accept-Datetime
dans l'option du menu Tools/Modify Headers. La syntaxe à utiliser estAccept-Datetime: Sat, 03 Oct 2009 10:00:00 GMT
. Initialisez l'horodatage à une valeur où les pages d'historique sont générées. Ensuite, entrez l'URL d'une page de votre wiki qui possède des pages d'historique au voisinage de l'horodatage que vous avez choisi. En utilisant l'extension Firefox Live HTTP Header, les entêtes des requêtes et des réponses impliquées dans cette transaction peuvent être vues. L'URL de la TimeGate peut être obtenue à partir de l'entête<Link>
en utilisant cette extension. Cette URL peut être utilisée pour naviguer vers le TimeGate. - En utilisant l'outil en ligne de commande UNIX
curl
:
curl -o null.html -D headers.txt -H "Accept-Datetime: Sat, 03 Oct 2009 10:00:00 GMT" http://your.wikiserver.here/your-title-here
Pour les informations complètes sur l'environnement Memento et les entêtes des requêtes et des réponses, veuillez vous référer à l'ébauche internet Memento de IETF.
Pages spéciales
Les pages spéciales sous l'URL http://your.wikiserver.here/index.php/Special:SpecialPages n'ont pas d'historique, c'est-à-dire qu'il n'existe pas de révision pour ces pages. L'extension Memento ne peut donc pas réaliser les négociations d'horodatage sur ces ressources.
Contributions supprimées
Ce greffon ne rend pas accessible les révisions supprimées.
Horodatages
Cette extension recherche et récupère les Memento en se référant à l'horodatage de la modification de l'article. L'horodatage n'est pas un identifiant unique et il est possible qu'un article ait plus d'une révision à une heure donnée. Cette extension traite cette situation en redirigeant vers la révision qui a le plus grand identifiant de révision.
MediaWiki ne résout pas les révisions supprimées d'après les identifiants de révision, mais il utilise à la place l'horodatage dans leurs URIs. Et donc il n'y a pas de solution dans le cas où plusieurs révisions sont supprimées avec un même horodatage.
Wikis ayant l'extension Memento installée
Voir aussi
- https://www.mementoweb.org/
- strategy:Proposal:Digital Archaeology
- Extension:MementoHeaders
- Extension:TimeMachine
- phab:T36778 « Déployer l'extension Memento sur les sites Wikipedia » (2012/2013, en fonction d'une version plus ancienne, cf. mise à jour de 2016)
- RfC sur la Wikipédia en anglais (2012)