MDLPD/REQS.fr.md

46 lines
3.6 KiB
Markdown

# Exigences à satisfaire pour répondre à la norme MDLPD
## Définitions
* **logiciel** il est sous-entendu, dans une version donnée, dans un packaging pour une distribution donné.
* **Utilisateur informé et consentant** (afixe **`IW`**) : l'utilisateur est considéré informé et consentant si au premier lancement du logiciel par l'utilisateur l'ensemble des fuites sont présentées et un bouton doit être cliqué pour accepter et accéder aux fonctions du logiciel.
Sur un système multi-utilisateur, chaque nouvel utilisateur doit donc être considéré.
Dans le cas contraire, le logiciel porte l'afixe **`NW`**;
*Nota : pour couvrir certains usages spécifiques, le consentement pourra être recueilli automatiquement par lecture d'une variable d'environnement utilisateur (à définir).*
* **Absence de fuite** (afixe **`0L`**) :
Le logiciel n'effectue pas de connexions autres que celles explicitement requises par l'utilisateur final.
Cela n'implique pas qu'aucune connexion à internet n'est possible. Par exemple : la saisie d'une URL dans la barre d'adresse d'un navigateur et la validation est considéré comme un consentement aux risques liés au site visité et non au lié au logiciel employé. En revanche, si la saisie d'un texte dans la barre d'adresse entraine par défaut la recherche alors il s'agit d'une fuite systématique (afixe **`IS`**; généralement réglable/désactivable donc également avec l'afixe **`IC`**).
* **Possible** (afixe **`IP`**) : si les fuites n'interviennent que lors de l'appel à des fonctions secondaires du logiciel. Il est possible d'utiliser le logiciel sans générer fuite car les fonctions principales ne sont pas concernées.
* **Systématique** (afixe **`IS`**) : si les fuites interviennent de régulièrement (exemple : à chaque démarrage, toutes les heures) ou à l'appel d'une fonction principale du logiciel.
* **Configurable** (afixe **`IC`**) : le statut est acquis s'il est possible de modifier par configuration l'ensemble des fuites :
* pour les supprimer (donc atteindre par paramétrage l'afixe **`0L`**)
* pour la maitriser en redirigeant vers un service auto-hébergeable, le service devant être disponible (idéalement logiciel libre).
Une fuite est considéré configurable si la procédure :
* est documentée par le projet : manpage, documentation officielle, ...
* ne requiert pas de recompilation
* est "simple" (subjectif)
Dans le cas contraire, si au moins une des fuites n'est pas configurable, le logiciel porte le statut **`NC`**.
## Exigences
Toute couverture de la norme doit être précisé d'au moins un afixe tel que défini ci-après :
* Un logiciel est considéré comme respectant la norme `MDLPD 0L` si et seulement si l'**Absence de fuite** est démontré.
* Un logiciel est considéré comme respectant la norme `MDLPD IW-IP-IC` si et seulement si il est démontré que l'**utilisateur informé et consentant** et que des fuites sont **Possibles**.
* ...
* Si certaines les versions / variantes d'un logiciel ne respectent pas le même niveau de la norme, seul le niveau moins-disant de toutes les versions proposées sur le site peu apparaitre ou alors, les niveaux doivent apparaitre en face de la désignation explicite des versions / variantes concernées.
*Justification et clarification : cette règle vise à éviter d'induire en erreur l'utilisateur en affichant le niveau effectif d'une version du logiciel qui ne sera pas celle effectivement téléchargée. Exemple sur le site d'un projet : `IP-IC` (paquets Debian dépôts officiels, toutes versions), `IS-IC` (autres sources, versions >= 1.0.0) , `IS-NC` (autres sources, versions < 1.0.0).*