Principles

Principes


Endings Principles for Digital Longevity
Version 2.2.1, 2023-03-03

Principes du projet Endings pour la longévité numérique
Version 2.2.1, 2023-03-03

We divide digital projects into five primary components:

Nous divisons les projets numériques en cinq composantes principales :

  1. Data
  2. Données
  3. Documentation
  4. Documentation
  5. Processing
  6. Traitement
  7. Products
  8. Produits
  9. Release management
  10. Gestion des versions

1 Data

1 Données

Data is the expression of the source information, knowledge, and expertise of our researchers. The following principles apply to data:

Les données sont l'expression de l'information source, de la connaissance et de l'expertise de nos chercheurs. Les principes suivants s'appliquent aux données :

1.1 Data is stored only in formats that conform to open standards and that are amenable to processing (TEI XML, GML, ODF, TXT).

1.1 Les données sont stockées uniquement dans des formats conformes aux normes des données ouvertes et pouvant être traitées (TEI XML, GML, ODF, TXT).

1.2 Data is subject to version control (Subversion, Git).

1.2 Les données sont soumises à un contrôle de version (Subversion, Git).

1.3 Data is continually subject to validation and diagnostic analysis.

1.3 Les données font continuellement l'objet d'une validation et d'une analyse diagnostique.

2 Documentation

2 Documentation

2.1 Data models, including field names, descriptions, and controlled values, should be clearly documented in a static document that is maintained with the data and forms part of the products.

2.1 Les modèles de données, y compris les noms de champs, les descriptions et les valeurs contrôlées, doivent être clairement documentés dans un document statique qui est conservé avec les données et fait partie des produits.

2.2 All rights and intellectual property issues should be clearly documented. Where possible the Data and Products should be released under open licenses (Creative Commons, GNU, BSD, MPL).

2.2 Toutes les questions relatives aux droits et à la propriété intellectuelle doivent être clairement documentées. Dans la mesure du possible, les données et les produits doivent être diffusés sous licence libre (Creative Commons, GNU, BSD, MPL).

3 Processing

3 Traitement

Processing code is written and maintained by the project technical staff, and is also subject to version control. Processing code provides all the following functions:

Le code de traitement est écrit et maintenu par le personnel technique du projet et est également soumis à un contrôle de version. Le code de traitement assure toutes les fonctions suivantes :

3.1 Relentless validation: all processing includes validation/linting of all inputs and outputs and all validation errors should exit the process and prevent further execution until the errors are resolved.

3.1 Validation incessante : tout traitement comprend la validation/linting de toutes les entrées et sorties. Toutes les erreurs de validation doivent arrêter le processus et empêcher la poursuite de l'exécution jusqu'à ce que les erreurs soient résolues.

3.2 Continuous integration: any change to the source data requires an entire rebuild of the site (triggered automatically where possible).

3.2 Intégration continue : toute modification des données sources nécessite une reconstruction complète du site (déclenchée automatiquement dans la mesure du possible).

3.3 Code is contingent: while code is not expected to have significant longevity, wherever possible, all code should follow Endings principles for data and products.

3.3 Le code est contingent : bien que le code ne soit pas censé avoir une longévité importante, il doit, dans la mesure du possible, respecter les principes « Endings » pour les données et les produits.

4 Products

4 Produits

Products are the project outputs intended for end-users, typically in the form of websites or print documents. The following principles apply to products intended for the web:

Les produits sont les résultats du projet destinés aux utilisateurs finaux, généralement sous la forme de sites web ou de documents imprimés. Les principes suivants s'appliquent aux produits destinés au web :

4.1 No dependence on server-side software: build a static website with no databases, no PHP, no Python.

4.1 Pas de dépendance à l'égard des logiciels côté serveur : créer un site web statique sans bases de données, ni PHP, ni Python.

4.2 No boutique or fashionable technologies: use only standards with support across all platforms, whose long-term viability is assured. Our choices are HTML5, JavaScript, and CSS.

4.2 Pas de technologies sur mesure ou à la mode : n'utiliser que des standards avec soutien à travers toutes les plateformes et dont la viabilité à long terme est assurée. Nos choix sont HTML5, JavaScript et CSS.

4.3 No dependence on external libraries or services: no JQuery, no AngularJS, no Bootstrap, no Google Search.

4.3 Pas de dépendance de bibliothèques ou de services externes : pas de JQuery, pas d'AngularJS, pas de Bootstrap, pas de Google Search.

4.4 No query strings: every entity in the site has a unique page with a simple URL that will function on any domain or IP address.

4.4 Pas de chaînes de requête : chaque entité du site a une page unique avec une URL simple qui fonctionnera sur n'importe quel domaine ou adresse IP.

4.5 Inclusion of data: every site should include a documented copy of the source data, so that users of the site can repurpose the work easily.

4.5 Inclusion de données : chaque site devrait inclure une copie documentée des données sources, afin que les utilisateurs du site puissent facilement réutiliser le travail.

4.6 Massive redundancy: every page contains all the components it needs, so that it will function without the rest of the site if necessary, even though doing so means duplicating information across the site.

4.6 Redondance massive : chaque page contient tous les composants dont elle a besoin, de sorte qu'elle puisse fonctionner sans le reste du site si nécessaire, même si cela implique de reproduire l'information sur l'ensemble du site.

4.7 Graceful failure: every page should still function effectively even in the absence of JavaScript or CSS support.

4.7 Défaillance en douceur : chaque page doit continuer à fonctionner efficacement même en l'absence de support JavaScript ou CSS.

These principles are tempered by the following concessions:

Ces principes sont tempérés par les concessions suivantes :

4.8 Once a fully-working static site is achieved, it may be enhanced by the use of other services such as a server-side indexing tool (Solr, eXist) to support searching and similar functionality.

4.8 Lorsqu'un site statique fonctionne parfaitement, il peut être amélioré par l'utilisation d'autres services tels qu'un outil d'indexation côté serveur (Solr, eXist) pour faciliter la recherche et d'autres fonctionnalités similaires.

4.9 The use of an external library may be necessary to support a specific function that is too complex to be coded locally (such as mapping or cryptography). Any such libraries must be open-source and widely-used, and must not themselves have dependencies.

4.9 L'utilisation d'une bibliothèque externe peut s'avérer nécessaire pour prendre en charge une fonction spécifique trop complexe pour être codée localement (comme la cartographie ou la cryptographie). Ces bibliothèques doivent être en accès libre et largement utilisées, et ne doivent pas avoir elles-mêmes de dépendances.

5 Release Management

5 Gestion des versions

Release management handles the public release of products. These principles apply to release management:

La gestion des versions sert à gérer la diffusion publique des produits. Les principes suivants s'appliquent à la gestion des versions :

5.1 Releases should be periodical and carefully planned. The “rolling release” model should be avoided.

5.1 Les versions doivent être périodiques et soigneusement planifiées. Le modèle rolling release ou publication continue doit être évité.

5.2 A release should only be made when the entire product set is coherent, consistent, and complete (passing all validation and diagnostic tests).

5.2 Une version ne doit être diffusée que lorsque l'ensemble du produit est cohérent, homogène et complet (c'est-à-dire qu'il a passé avec succès tous les tests de validation et de diagnostic).

5.3 Like editions of print works, each release of a web resource should be clearly identified on every page by its build date and some kind of version number.

5.3 À l'instar des éditions d'ouvrages imprimés, chaque version d'une ressource web doit être clairement identifiée sur chaque page par sa date de création et un numéro de version.

5.4 Web resources should include detailed instructions for citation, so that end-users can unambiguously cite a specific page from a specific edition.

5.4 Les ressources web doivent inclure des instructions détaillées pour la citation, afin que les utilisateurs finaux puissent citer sans ambiguïté une page spécifique d'une édition spécifique.

5.5 URLs for individual resources within a digital publication should persist across editions. Any moved, retired, or deleted resources no longer available at a previously accessible URL should be redirected appropriately.

5.5 Les URL des ressources individuelles d'une publication numérique doivent persister d'une version à l'autre. Toute ressource déplacée, retirée ou supprimée qui n'est plus disponible à une URL précédemment accessible doit être redirigée de manière appropriée.