DDD spécification

De Le modèle M3M
Aller à la navigation Aller à la recherche

Introduction

Le modèle démocratique DDD se matérialise pour les acteurs de la démocratie par un logiciel DDD.

Cette page contient les spécifications de développement du logiciel DDD. Ces spécifications sont rédigées et entretenues par Philippe Gonze, créateur et rédacteur du modèle M3M et de DDD.

Cette page de spécification prolonge le document général de la la DDD, et le contenu de celle-ci peut être considéré comme à la fois base et complément des spécifications. 

Deux implémentations du logiciel DDD sont considérées:

  • La maquette, accessible en ligne dès 2014, réalisée bénévolement par Nathan Tossens. Elle montre les principes de fonctionnement d'une démocratie DDD, mais de manière simple et légère.
  • La version réelle, qui devrait suivre exhaustivement les présentes spécifications, mais qui ne sera développée que le jour où le modèle démocratique DDD sera effectivement adopté et mis en place.

Dernière mise à jour de cette page: 6 décembre 2014.

Généralités - contexte d'utilisation et prérequis

Le logiciel DDD est une application web. Cela signifie qu'elle fonctionne au sein d'un navigateur Internet.

Il doit être opérationnel sur les operating system suivants: Windows, Linux, MacOs.

Il doit être opérationnel avec au moins 3 navigateurs populaires (par exemple Chrome, Firefox, IE).

Il doit aussi être opérationnel sur les plates-formes portables populaires (tablettes, GSM android, GSM iPhone).

Les prérequis en terme de mémoire, de puissance de calcul et de bande passante doivent être très tolérants. Le logiciel DDD ne peut être vorace ni en mémoire ni en transfert de données.

Pour ce qui concerne les paramètres graphiques, le logiciel DDD doit être utilisable avec toute configuration graphique supérieure ou égale à 1280x1024 pixels.

Maquette: Seulement WIndows & Linux nécessaires. Seulement Chrome et IE nécessaires. Les autres environnements peuvent, mais ne doivent pas être testés et vérifiés.

Concepts

Les concepts suivants sont manipulés au sein du logiciel DDD.

Champ de compétence

Un champ de compétence est un des segments où s'exerce le mécanisme de délégation digitale

Le nombre de champs de compétence et la liste des champs de compétence sont figés. Exceptionellement des CCs peuvent été ajoutée, fusionnés, ou retirés.

Les attributs d'un champs de compétence sont:

  • un intitulé par langue
  • une couleur
  • un logo (dont la couleur dominante est la couleur attribut)

A un champ de compétence est lié un collège de gestion.

Votant

Un votant est un émetteur de vote.

Tout utilisateur est un votant autorisé à voter, et ce parallèlement dans tous les champs de compétence.

Toute délégante est un votant autorisé à voter seulement dans le(s) champs(s) de compétence ou elle est active.

Il n'y a aucun attribut pour les votants.

Votable

Un votable est un objet qui peut être choisi par vote.

Le concept de votable regroupe les candidats et les délégantes.

Les votables possèdent les attributs suivants:

  • une séquence de couleurs (deux pour un représentant, trois pour un candidat, quatre pour une délégante). Cette séquence de couleur sera traduite en un gradient muticolore circulaire, la première couleur étant centrale et la dernière étant périphérique.
  • une image-logo (50x50 pixels)
  • un nom. Pour un candidat, ce nom est hérité: c'est celui de l'électeur candidat. Pour une délégante, ce nom est choisi au moment de la création de la délégante.
  • une URL de communication. Il s'agit d'un lien vers un site ou le votable expose tout ce qui le concerne. Pour simplifier la vie des représentants et des candidats, le logiciel DDD met une page dédiée à disposition de chaque votable. Cette page est donc accessible comme URL par défaut du votable. Le nom de la page est composée de trois parties : (1) une racine commune DDD (2) le nom du système et (3) le nom du votable. Elle n'est modifiable que par le votable, mais elle est publique en lecture.

Exemple d'URL par défaut http://EUD.DDDemocracy.com/GilbertDupont (EUD identifie le système DDD, GilbertDupont identifie le votable)

Utilisateur

L'utilisateur est de manière générale le citoyen humain ayant des droits démocratiques.

C'est aussi l'utilisateur de l'application (disposant d'un login).

L'utilisateur est un votant (dans chaque champs de compétence).

Il peut être votable au titre de représentant (dans chaque champs de compétence).

Il peut être votable au titre de candidat (dans chaque champs de compétence).

Il ne peut être à la fois représentant et candidat.

Il peut être administrateur au sein d'une ou plusieurs délégantes.

Il peut être gestionnaire d'une délégante (une au plus).

Ses attributs sont:

  • nom (nom d'accès, utilisable comme clé d'identifiaction unique et comme login).

Syntaxe admise: 3 à 32 caractères. Caractères admis : alpha numériques et caractères liens: "@:.-_". Le premier caractère doit être alphabétique.

  • un id (clé d'identification unique, telle que celle figurant sur la carte d'identité)
  • nom légal, prénom légal, lieu et date de naissance
  • un indicateur logique indiquant si l'utilisateur est déchu de ses droits civiques
  • un indicateur logique indiquant si l'utilisateur dispose de droit d'administration technique DDD
  • une couleur (par défaut elle est générée pseudo-aléatoirement à partir de son id)
  • une photo (genre identité)

Statut

Chaque électeur possède, dans chaque champ de compétence l'un des trois statuts suivants:

  • électeur (simple électeur). C'est la situation de la majorité des utilisateurs et le statut par défaut
  • représentant (électeur porteur du cote par délégation d'autres électeurs)
  • candidat (électeur votable)

Représentant

Un utilisateur peut ou non être représentant dans un ou plusieurs champs de compétence.

Le représentant possède les attributs de l'utilisateur et ceux du votable (2 couleurs).

Candidat

Un utilisateur peut ou non être candidat dans un et un seul champ de compétence.

Le candidat possède les attributs de l'utilisateur et ceux du votable (3 couleurs).

Note technique: Les représentants et les candidats constituent, en terme OO, de cas de double héritage: le candidat et le représentant héritent des attributs de l'utilisateur, masi aussi de ceux du votable. A traiter éventuellement par la notion OO d'interface.

Vote

Il existe un vote pour chaque combinaison votant - champ de compétence.

Donc pour N votants et M champs de compétence, il existe une matrice de NxM données de vote.

Les possibilités de vote sont reprises dans le tableau suivant (la colonne de gauche spécifie le votant, les titres des autres colonnes spécifie les votables):


Electeur Abstention
Représentant Candidat Délégante Self? Vote négatif?
Electeur simple
* * * *
possible
Electeur-représentant


* *
non
Electeur-candidat




forcé non
Délégante


* * possible non

Les attributs d'un vote sont (outre l'identification du votant et le champ de compétence):

  • l'indicateur logique d'abstention
  • la date de dernière modification non-abstention (une référence temps)
  • le signe (positif ou négatif) du vote
  • la référence du votable choisi (le représentant choisi ou le candidat choisi ou la délégante choisie)

Le vote d'un représentant peut se diriger vers une délégante ou vers un candidat.

Le vote d'un candidat est toujours réflexif: un candidat vote automatiquement pour lui-même en tant que votable.

Le vote d'une délégante peut être réflexif ou non. Si le vote est réflexif, la délégante est dite directe et vise le pouvoir. Si le vote est non réflexif, la délégante est dire indirecte, et son action, semblable à celle d'un représentant, vise à grouper et à diriger des votes, à la manière d'un lobby.

De plus le vote d'un utilisateur peut-être réparti. Dans ce cas, le votant désigne non pas un mais plusieurs (max 4) votables. Chacun des votables choisis reçoit une fraction égale du vote (1/2, 1/3 ou 1/4).

Une délégante ne peut produire un vote réparti.

Par défaut, tous les votes sont des abstentions, et ne doivent pas être enrégistrés en tant que tels dans le mémoire du logiciel DDD.

Par contre, si un utilisateur revient à l'abstention après une période de vote explicite, la date de la dernière modification non-abstention doit être conservée.

Maquette: Le vote réparti peut, mais ne doit pas être traité dans la maquette. Et cette option (qui rend les écrans un peu plus complexes) ne doit apparaître que si l'utilisateur exprime (en cochant un checkbox) le désir explicite de passer au vote réparti.

Maquette: Le vote négatif peut, mais ne doit pas être traité dans la maquette.

Délégante

Une délégante est une entité non humaine jouant un rôle dans le mécanisme de propagation des votes.

Un utilisateur représentant (donc délégué) n'est PAS une délégante, même si son rôle est essentiellement identique.

Une délégante est toujours à la fois votant et votable.

Une délégante visant l'exercice effectif de responsabilités vote pour elle-même et est appelée délégante effective (directe).

Une délégante visant la pression démocratique par le groupement de votes vote pour une autre délégante et est appelée délégante indirecte.

Chaque délégante est caractérisée par:

  1. des attributs de votables. Ceux-ci incluent 4 couleurs. La page pointée par l'URL d'une délégante devrait être assez riche en contenu. Elle devrait notamment mentionner son administrateur général, ses administrateurs et ses représentants actifs ou susceptibles de le devenir.
  2. des attributs spécifiques:
  • un ou plusieurs champs de compétence (celui ou ceux dans lesquels la délégante est active)
  • un nom, utilisable comme clé d'identification unique
    Syntaxe admise: 3 à 32 caractères. Caractères admis : alpha numériques et caractères liens: "@:.-_". Le premier caractère doit être alphabétique.
  • un administrateur général (un utilisateur exercant une fonction centrale dans la délégante)

Enfin, la délégante est caractérisée par les éléments suivants, choisis et maintenus par elle

  • un ensemble d'administrateurs, qui sont simplement des utilisateurs jouant ce rôle dans cette délégante (ils ont reçu ce pouvoir de l'administrateur principal).
  • (pour une délégante effective) un ensemble de délégués, choisis parmi les administrateurs, qui représentent la délégante au sein du ou des collèges de gestion où cette délégante participe effectivement au collège de gestion. Chaque délégué se voit attribuer par la délégante un poids électoral fictif, et ce poids électoral permettra de définir le poids de gestion des délégués dans le collège de gestion. L'administrateur général ne peut être délégué. Si la délégante est active dans plusieurs CC, aucun administrateur ne peut être délégué dans plus d'un collède de gestion de CC. [ maquette : pour une délégante participant au pouvoir de gestion, le nombre d'administrateur (hors administrateur général) est égal à 3 x le nombre de CC où la délégante est active. Pour chaque CC, 2 délégués sont choisis au hasard parmi les administrateurs, et reçoivent chacun 1/2 du poids électoral de la délégante. ]

Le logiciel DDD ne définit ni n'impose aucune autre règle sur le fonctionnement interne d'une délégante. Les mécanismes de choix des administrateurs et des délégués est une règle interne à la délégante, ainsi les règles de fractionnements des poids électoraux entre les différents délégués.

Le logiciel DDD ne définit ni n'impose un concept d'adhérent. Il y a les administrateurs et les utilisateurs qui votent pour une délégante, et il y a les délégués qui la représentent dans un collège de gestion, plus éventuellement des rôles quelconques définis au sein de la délégante, mais qui ne concernent pas le logiciel DDD.

Eligible

Dans chaque champ de compétence, le pouvoir est confié à une partie des éligibles. Ceux-ci regroupent

  • les candidats
  • les délégantes directes, représentées par leurs délégués

Règles de cumul

Les règles de cumul sont énoncées dans le document général DDD ici. et doivent être transposées correctement dans l'application.

Collège de gestion

Un collège de gestion est un ensemble d'éligibles (les gestionnaires du collège).

Un collège de gestion est défini dans chaque champs de compétence.

Dans chaque champ de compétence, et donc dans chaque collège de gestion, il existe un ou (généralement) plusieurs gestionnaires.

Gestionnaire

Les membres du collège de gestion sont les gestionnaires.

Les gestionnaire peuvent être soit des candidats (directs) soit les délégués de délégantes directes.

Décompte électoral

Ce concept existe au sein de chaque champs de compétence. C'est une donnée calculée (en permanence, ou au moins lorsque les votes changent).

Cette donnée existe pour chaque éligible.

C'est le nombre de voix obtenu par l'éligible (le candidat ou la délégante directe).

Le mécanisme de décompte des voix obéit aux règles suivantes:

  • pour tout votable, le décompte de voix obtenues et égal au nombre de voix directes (émises par un utilisateur) et indirectes (émises par des représentants et par des délégantes indirectes).
  • en cas de vote réparti, le décompte intègre 1/2 voix si le votant a émis 2 votes, 1/3 voix si le votant a émis 3 votes, 1/4 voix si le votant a émis 4 votes.
  • les votes en boucle sont écartés du décomptes

Les boucles de vote de délégantes constituent un point technique relativement complexe en terme d'algorithmique. Soient Va, Vb,... des délégantes (votants votables). Si Va vote pour Vb et Vb pour Va, le débouclage remplace ces votes par Va vote pour Va et Vb pour Vb (votes réflexifs). Idem pour des boucles à 3 ou davantage de votants. 

En fin de compte, le décompte électoral est donc un chiffre qui est entier si tous les votants donnent des votes entiers ou des votes simples, mais qui est fractionnaire si certains votes sont répartis.

Poids électoral

Ce concept existe au sein de chaque champs de compétence. C'est une donnée calculée (en permanence, ou au moins lorsque les votes changent).

Cette donnée existe pour chaque éligible.

Pour chacun d'eux c'est le rapport entre leur propre décompte électoral et la somme des décomptes électoraux (non négatifs) de tous les éligibles du champ de compétence.

Poids de gestion

Ce concept existe, dans chaque champ de compétence pour chaque gestionnaire. C'est une donnée calculée (en permanence, ou au moins lorsque les votes changent).

Cette donnée existe pour chaque gestionnaire.

Pour un candidat c'est le rapport entre son propre décompte électoral et la somme des décomptes électoraux de tous les éligibles du collège de gestion. C'est donc aussi, par calcul, le rapport entre son propre poids électoral et la somme des poids électoraux de tous les gestionnaires du collège de gestion.

Pour le délégué d'un délégante, c'est semblable, mais son poids électoral est fictif: il est déterminé comme une fraction du poids électoral de la délégante, par les dirigeants de celle-ci.

Poids de gestion majoritaire minimal (PGMN)

Il s'agit d'un paramètre démocratique global. C'est la valeur minimale de la somme des poids de gestion cumulés des gestionnaires d'un collège de gestion actif.

Ce chiffre est donc la représentation formelle de l'idée de 'majorité apte à la gestion'.

Lorsque les changements de vote mettent un collège de gestion en-dessous du poids de gestion majoritaire minimal, le collège de gestion est déclaré invalide (il doit être agrandi ou modifié pour atteindre et franchir à nouveau le PGMN).

Le logiciel DDD ne fournit pas de règle de construction des collèges de gestion. Il suppose que des mécanismes de négociation amènent des combinaisons de votables à s'associer pour former un collège de gestion disposant de facto d'une stabilité liée à un poids global (cumulé) excédant le PGMN.

Maquette: le poids de gestion majoritaire est de 0.5. La négociation est remplacée par une mécanisme d'association basique qui réunit un nombre minimum des plus gros votables de manière à franchir le PGMN. 

Délai de changement de vote (DCVd et DCVu)

Il s'agit d'un paramètre démocratique global. C'est le délai minimum pour changer d'avis, c'est à dire pour introduire un nouveau vote.

Normalement (par défaut), ce délai est de 70 jours pour une délégante (DCVd), et de 7 jours pour un utilisateur (DCVu).

Maquette: le délai est de 1 jour (DCVd et DCVu).

Système

Plusieurs occurences du logiciel DDD peuvent tourner simultanément.

Ces occurences sont appelées 'systèmes DDD'.

A chaque système est associée une base de données propre et complète.

Un système DDD est caractérisé par les attributs suivants:

  • un code général (utilisé pour identifier la base de donnée notamment)
  • un nom explicite, a afficher dans des titres, et mentionnant l'espace démocratique (par exemple: "Etats Unis d'Europe").
  • un paramètre MNBD (une valeur qui est par défaut 0.5)
  • un paramètre DCVd (une valeur (en jour) qui est par défaut 70 
  • un paramètre DCVu (une valeur (en jour) qui est par défaut 7

Les systèmes DDD sont cloisonnés. Aucune donnée n'est partagée par deux systèmes.

Maquette: Un seul système DDD. Code général: EUD. Nom: Etats-Unis d'Europe. MNBD: 0.5. DCVu: 1 . DVDd:1.

Transparence

De manière générale, toutes les informations de la base de donnée sont de préférence transparents et visibles par tous.

Dans DDD, le vote secret n'est pas la norme!

Un utilisateur peut demander au sein de logiciel que tout ou partie de ses votes ne soient pas public, mais s'il fait cela, il ne peut exercer aucune fonction démocratique (il ne peut être ni représentant, ni candidat, ni administrateur de délégante).   

Par contre les informations constitutives de la base de données DDD ne sont modifiables, et notamment les votes, que suivant des régles strictes. 

Maquette: aucun vote secret, sans exception.

Langues

Le logiciel DDD est multilingue. L'utilisateur peut à tout moment choisir la langue de l'interface. Les langues à déployer sont ajoutées dans des tables linguistiques, qui sont maintenues indépendamment du logiciel.

Maquette: Pour la maquette, les langues disponibles seront dans l'ordre: français, anglais, néerlandais. Les premières versions de la maquette sont unilingues français.

Voici une table de traduction des termes principaux du logiciel DDD:

Français English
DDD DDD
Utilisateur User
Vote Vote
Votant Voting
Votable Votable
Représentant Intermediary
Candidat Candidate
Délégante Delegating
Champ de compétence Competence field
Collège de gestion Competence board
Gestionnaire Board member
DCVu (délai de changement de vote utilisateur)
VSDu (vote switch delay for user)
DCVd (délai de changement de vote délégante)
VDDd (vote swith delay for delegating)

Couleurs et logos

Les champs de compétence, les délégantes et les candidats sont caractérisés notamment pas des couleurs et des logos.

Pour les champs de compétence, les couleurs et les logos sont prédéfinis dans une table ad hoc, sous forme de composantes RGB.

Pour un représentant, les couleurs et le logo sont choisis par lui. Le choix des couleurs est nécessaire. Celui du logo est optionnel. Par défaut, le logo est un gradient bicolore circulaire. Par défaut la séquence de couleur est: blanc-noir.
Pour un candidat, les couleurs et le logo sont choisis par lui. Le choix des couleurs est nécessaire. Celui du logo est optionnel. Par défaut, le logo est un gradient tricolore circulaire.  Par défaut la séquence de couleur est: blanc-noir-blanc.

Pour une délégante et pour un candidat, les couleurs et le logo sont choisis par les administrateurs de la délégante. Le choix de la couleur est nécessaire. Celui du logo est optionnel. Par défaut, le logo est un gradient quadricolore circulaire. Par défaut la séquence de couleur est: gris-noir-blanc-gris.

Maquette: les logos sont absents, remplacés par les gradients multicolores.

Découpage de l'écran

L'écran affiché contient toujours quatre zones:

  • La zone supérieure (bandeau).
  • La zone intermédiaire (menu) contient des menus.
  • La zone principale (travail) contient des informations consultables et des zones éditables. C'est la zone de travail.
  • La zone de communication inférieure contient des messages d'erreurs, des avertissements ou des instructions.

La zone supérieure, dont la hauteur ne peut excéder 8% de la hauteur d'affichage disponible reprend les informations suivantes:

  • Le logo DDD.
  • Une référence au contexte démocratique traité, en grand et bold: par exemple le nom d'un pays. (maquette: 'Etats Unis d'Europe')
  • L'intitulé complet "Démocratie par Délégation Digitale" en petit et italique.
  • Le nom-id, le prénom, le nom de l'utilisateur connecté, ou bien un vide si aucun utilisateur n'est connecté.
  • Optionnellement et en petit, la date, l'heure et/ou le lieu.
  • L'indicateur de langue active - qui est aussi un bouton permettant de changer de langue.
  • Des boutons de navigation <- (back) et -> (forward). Voir plus bas, paragraphe navigation. Ces boutons ne sont pas toujours actifs, cela dépend du contexte.

Pas de scrolling dans la zone supérieure.

La zone intermédiaire, dont la hauteur ne peut excéder 5% de la hauteur d'affichage disponible, contient des choix directs et/ou des choix via menus. Pas de scrolling, mais des menus qui peuvent déborder et couvrir une partie de la zone de travail.

Le contenu de la zone de travail est extrêment variable. Possibilité de scrolling lorsque le contenu à afficher excède la hauteur d'affichage disponible.

La zone de communication inférieure affiche une et une seule ligne de texte (qui peut être vide), qui doit être visible avec évidence et attirer l'attention. Sa hauteur ne peut excéder 3% de la hauteur d'affichage disponible. Pas de scrolling.

Dans les paragraphes qui suivent, les textes de la forme [-> blabla] indiquent des contenus informatifs à afficher dans la zone de communication, et des textes de la forme [-! Héla] indiquent des messages d'erreur à afficher dans la zone de communication.

Menus

La partie droite du menu est fixe et comprend 3 choix:

"Connexion" (lorsqu'aucun utilisateur n'est connecté) ou "Déconnexion" (lorsqu'un utilisateur est connecté). 

"Documentation". Ce choix déclenche l'ouverture, dans un tab nouveau du navigateur, de la page wiki "DDD". Cette page elle-même permet diverses autres options de navigation, mais cela est traité au sein du wiki.

"A propos". Ce choix déclenche l'affichage d'un contenu fixe. Ce contenu comprend des informations sur le logiciel, sur ses auteurs, et sur le contexte de fonctionnement de l'application.

La partie gauche du menu n'apparaît que lorsqu'un utilisateur est connecté. Elle est dynamique, au sens ou certains choix peuvent n'apparaître que pour certains utilisateurs.

Le choix "Mes Votes" est toujours présent. Le sous-menu contient "vue globale" et un item pour chaque champ de compétence.

Le choix "Résultats" est toujours présent. Le sous-menu contient un item pour chaque champ de compétence.Ce choic permet à tout utilisateur de consulter les résultats électoraux globaux et les compositions des collèges de gestion.

Le choix "Délégantes" est toujours présent. Le sous-menu contient "Toutes" et un item pour chaque champ de compétence.

Le choix "Responsabilités" est toujours présent. Le sous-menu contient toujours d'abord le choix "Représentant / Candidat". Ensuite il peut contenir le choix "Administrateur (général) de délégante X (CC)" (si l'utilisateur connecté est administrateur général ou administrateur de cette délégante X dans le champ de compétence CC) "Gestionnaire Collégial (CC)" (si l'utilisateur concerné est membre d'un collège de gestion du champ de compétence CC). Enfin le sous-menu contient le choix "Création de Délégante". Ces choix donnent accès à toutes les fonctions qu'impliquent ces responsabilités, à l'exception des votes. Les choix "Administrateur général de délégante" content un niveau de sous-menu supplémentaures. Dans ce niveau se trouvent les choix "Arrivée d'un administrateur", "Départ d'un administrateur", "Changement d'administrateur délégué", "Poids des délégués".

Le choix "Vote de délégante" n'est présent que pour les utilisateurs ayant effectivement une fonction d'administration d'une délégante (ou plusieurs). Il y a un sous-choix pour chaque combinaison délégante/champs de compétence, les délégantes étant celles au sein desquelles l'utilisateur exerce des fonctions d'administration, et les champs de compétence étant, pour chaque délégante, celle ou est active la délégante 

Le choix "Administration Technique" n'est présent que pour les utilisateurs ayant un droit d'administration technique. Les sous-choix sont: "Tables DDD (mysql)", "Gestion des utilisateurs", "Gestion des CC", "Gestion des délégantes","Gestion des droits", "Utilisation & Traces".

Navigation générale

Partout ou apparaissent des votants, un signal de navigation permet de naviguer vers une page affichant le vote de ce votant dans un ou dans tous les champs de consultation, suivant le contexte de la zone source (propre à un seul champ de compétence ou non). Ce signal est un petit logo représentant un crayon de vote.

Partout ou apparaissent des votables, un signal de navigation permet de naviguer vers une page affichant le résultat électoral de ce votable dans un ou dans tous les champs de consultation, suivant le contexte de la zone source (propre à un seul champ de compétence ou non). Ce signal est un petit logo représentant une petite jauge graduée.

Autant que possible, l'application devrait supporter des fonctions back (revenir à l'écran précédent) et forward (aller à l'écran suivant après avoir été vers l'écran précédent. Cela suppose, comme dans les navigateurs, la gestion d'une pile d'écrans successifs dans lesquels l'utilisateur peut naviguer. Si la fonction peut être gérée de manière saine par le navigateur qui héberge l'application, c'est bien aussi. Mais souvent la gestion corecte des contextes de la pile ne peut être assurée par le navigateur, elle doit être gérée par l'application.

Actions individuelles et action jointes

La grande majorité des actions DDD sont individuelles. Il suffit de l'intervention d'un utilisateur pour les déclencher.

Mais certaines actions sont jointes. Il faut deux utilisateurs ou plus pour les déclencher.

Les actions jointes incluent:

  • modification de l'administrateur général d'une délégante (requiert l'ancien et le nouveau)
  • adjonction d'un administrateur à une délégante (requiert l'administrateur général et le nouveau)
  • redéfinition complète d'un collège de gestion (requiert l'ensemble des nouveaux gestionnaires)

De manière générale, les actions jointes sont traitées par deux utilisateurs (ou plus) qui se connectent simultanément.

Chacun introduit les données de l'action à effectuer.

Chacun voit en temps réel le témoin d'approbation de lui-même (qu'il peut cocher) et de l'autre (des autres) utilisateur(s) impliqué(s).Le témoin d'approbation est automatqieuemnt décoché chaque fois que les données à approuver sont modifiées.

Lorsque tous les témoins d'approbation sont simultanément cochés, et à condition que les données introduites coïncident parfaitement, l'action souhaitée est déclenchée. Les protagonistes sont informés de la réussite de l'opération.

Zones de travail

La zone de travail peut avoir divers contenus, décrits ci-dessous.

Login

Cette zone n'apparaît que lorsqu'aucun utilisateur n'est connecté. Il contient:

  • un label "Nom"
  • un champs éditable pour le nom-id
  • un label "Mot-de-passe"
  • un champs éditable (caractères non lisibles) pour le mot-de-passe.
  • un bouton "Entrer"
  • un bouton "Créer un nouveau compte"
  • un bouton "Identifiant perdus ou oubliés"

[-> entrez nom et mot-de-passe, puis cliquez sur 'entrer'] lorsque la souris est proche de l'un des 5 premiers champs

[-> créez un nouveau compte pour participer au vote DDD] lorsque la souris est sur le bouton"Créer..."

[-> si vous avez perdu votre nom et/ou votre mot-de-passe, vous pouvez les récupérer] lorsque la souris est sur "Identifiant..."

[-! nom inconnu... recommencez]

[-! mot-de-passe invalide... recommencez]

[-! serveur indisponible]

Vote (8 variantes)

L'écran de vote est le plus important et le plus complexe. Il se décline en 8 combinaisons d'attributs (2x2x2):

  • le type de votant (délégante ou utilisateur en direct). Il peut s'agir de l'utilisateur connecté (capable de modification) ou d'un autre votant (incapable de modification: consultation seulement)
  • le mode: consultation ou modification
  • le champ de compétence : spécifié ou non (s'il est non spécifié, cela implique que tous les champs de compétence possibles sont pris en compte, donc listés).

Dans tous les cas, la zone de travail contient en évidence et en hauteur:

  • le champ de compétence: logo et nom (ou rien si champs de compétence non spécifié).
  • les coordonnées du votant (de l'utilisateur ou de la délégante) : logo, nom, URL. L'intitulé affiché est explicite: "Mes votes" (utilisateur avec possibilité de modification) ou "Vote du citoyen X" (pour un utilisateur dont le vote est consulté), ou "Vote de la délégante Z" (pour une délégante).
  • la date de la dernière précédente modification de vote (non-abstentionniste). Si à cause du délai, la modification n'est pas encore autorisée, la zone de travail indique: "pas de nouvelle modification autorisée avant ..."  

En mode consultation, il n'est possible que d'observer les chaînes de délégation.

En mode modification, il est possible non seulement d'observer, mais aussi de modifier. La possibilité de modification se manifeste par le présence d'un bouton de navigation (logo-crayon, hint "mettre à jour le vote") à coté de chaque référence à un champ de compétence. 

De manière générale, l'écran affiche sous forme d'un (ou plusieurs) graphes la chaîne de délégation, depuis le votant jusqu'au collège de gestion.

A l'extrémité droite du graphe droite figure toujours le nom du champ de compétence (NCC)
Examples (X, Y, Z sont à remplacer par les noms des votables)

  • >> abstention [NCC]
  • >> candidat:X (poids électoral x%) >> membre du collège de gestion (poids de gestion y%) [NCC]
  • >> candidat:X (poids électoral x%) -| ... non gestionnaire [NCC]
  • >> délégante:Y (poids électoral x%) -| ... non gestionnaire [NCC]
  • >> délégante:Y (poids électoral x%) >> membre du collège de gestion par représentant Z (poids de gestion y%) [NCC]
  • >> délégante:Y (poids électoral x%) >> candidat:X (poids électoral x%) >> membre du collège de gestion (poids de gestion y%) [NCC]
  • >> délégante:Y (poids électoral x%) >> délégante:Y2 (poids électoral x%) >> membre du collège de gestion (poids de gestion y%) [NCC]
  • etc...

Chaque graphe en chaîne se présente comme une suite d'objet disposés horizontalement, de gauche à droite, et liés entre eux par des flèches (représentant le vote).

S'il y a plusieurs graphes, ils sont disposés comme une succession de lignes horizontales.

En cas de vote réparti, un votant aura plusieurs lignes graphes par champ de compétence.

La philosophie générale de ces écrans est toujours globalement ceci: il s'agit d'un récapitulatif des choix de l'utilisateur connectés, et de ses mécanismes effectifs de représentation démocratique.

Résultats (pour un champ de compétence)

L'écran affiche le champ de compétence concerné (nom et logo) et deux ensemble pondérés.

Les ensemble pondérés sont (au choix de l'utilisateur) visible sous forme

  • soit de deux pie charts
  • soit d'un tableau

Le premier pie chart (à gauche) est intitulé "Poids électoraux", et met en présence tous les votables qui ont obtenu un poids électoral. Sous le chart figurant également le nombre totals de votes actifs et le nombre d'abstentions (et les pourcentages correspondant).
Le second pie chart (à droite) est intitulé "Poids de gestion", et met en présence tous les gestionnaires qui font partie du collège de gestion. Sous le chart figurent également le nombre total de votes représentés dans le collège de gestion et le pourcentage de votes. transmis au collège de gestion. Pour les votables candidats, seul figure le nom du candidat. Pour les votables délégantes figurent à la fois le nom de la délégante et le nom de son représentant. 

Pour rendre plus visible la correspondance entre les deux pie charts, les éléments communs figurent à droite du pie chart de gauche. Le pie chart de droite est organisé horlogiquement en poids décroissant. Dans le pie chart de gauche, les votables communs aux deux pie charts sont mis en évidence et sont triés dans le même ordre, et visiblement dissociés des autres (ceux qui n'ont pas atteint le collège de gestion).   

De même le votable choisi par l'utilisateur apparaît clairement dans le premier pie-chart, et éventuellement dans le second. Si l'utilisateur a choisi un vote réparti, ce sont plusieurs pies qui peuvent ainsi être mis en évidence.

Comme il peut y avoir un nombre considérable de pies dans un chart, l'ensemble des pies représentant chacun moins de 1% est omis du chart, et repris sous forme d'un pie unique (grisé ou flouté) intituté 'autres votables'. 

Pour l'affichage en mode tableau, par contre, les données sont exhaustives. Il y a une ligne par votable, et les colonnes sont:

  • nom du votable (les noms des candidats et ceux des délégantes doivent être bien dissociables: polices et/ou styles distincte)
  • logo
  • l'URL (hyperlien s'ouvrant dans un tab séparé)
  • vote (il s'agit d'un lien vers la page vote affichant, pour le champ de compétence concerné, les votes de ce votant en mode consultation s'il est votant dans ce champ de compétence). Ceci est donc vide pour un votable (candidat ou délégante) qui conserve le vote pour lui-même, donc qui n'est pas votant.
  • pour un votable de type délégante, le nom de son administrateur général
  • décompte électoral
  • poids électoral
  • poids de gestion (pour une délégante arrivée en gestion)
  • représentant (pour une délégante arrivée en gestion)

Des tris sont possibles sur toutes les colonnes (sauf le logo et l'URL). 

De manière générale 

Choix de votable (pour un votant et un champ de compétence)

Ceci doit permettre à un utilisateur de choisir entre les possibles votables pour le champ de compétence concerné, indépendemment des résultats obtenus par ces votables.

Il montre donc la liste des votables disponibles pour le champ de compétence donné.

L'écran mentionne le nom du votant (nom, prénom, id, logo).

Il contient ensuite trois tables.

La première partie "Vote en faveur de:" (supérieure et courte) contient les choix actuels positifs du votant, sous forme d'un tableau contenant de 0 à 4 lignes.

La seconde partie "Vote contre" (une ligne ou rien) contient le possible choix actuel négatif du votant, sous forme d'un tableau contenant 1 ligne ou rien.

La troisième partie "Votes disponibles" (inférieure et longue) contient les choix possibles du votant, sous forme d'un tableau contenant un nombre de ligne important. Les choix actuels en font partie, mais sont highlightés.

Toutes les lignes sont semblables à celles de l'écran 'résultats' en mode tableau mais sans aucun résultat chiffré (seulement les données informatives) sur, au choix (via choix multiple)

  • les délégantes
  • les candidats
  • les délégantes et les candidats

Les lignes des deux tables supérieures contiennent un boutons "supprimer", ce qui indique un vote (positif ou négatif) à désactiver.

Les lignes de la grande table inférieure contiennent deux boutons: "Voter pour" et Voter contre". Ces boutons sont absents pour les votables qui figurent déjà dans l'une des tables supérieures.

Quand ces divers boutons sont pressés, les contenus des trois tables sont mis à jour (pour la grande table inférieure, il y a des boutons qui apparaissent et disparaissent.

Les diverses actions modifient l'affichage, mais pas le vote effectif. Pour marquer un vote effectif, l'utilisateur doit sélectionner un bouton général "Appliquer les changements de vote".

S'il ne souhaite pas procéder au changement, l'utilisateur dispose d'une autre bouton général: "Annuller les changements de vote".

Cet écran ne peut être quitté que lorsque les changements en attente ont été soit appliqués oit annullés.

Il est interdit d'avoir sumultanément des votes positifs et un vote négatif. Une action du votant qui aboutirait à cela déclenche un message d'erreur tel que : "Vous devez éliminer les votes positifs avant d'introduire un vote négatif"  ou "Vous devez éliminer le vote négatif avant d'introduire un ou plusieurs votes positifs". De même il est interdit d'introduire plus de 4 votes positifs ("Vous ne pouvez pas introduire plus de 4 votes positifs") , ou plus d'un vote négatif ("Vous ne pouvez pas introduire plus d'un vote négatif").

Responsabilité représentant ou candidat, confidentialité

Cet écran permet à l'utilisateur de se déclarer représentant ou candidat dans chaque champ de compétence.

Pour N champs de compétence, l'écran affiche N lignes. Chaque ligne contient:

  • le logo et le nom du champ de compétence
  • le vote actuel émis par l'utilisateur (basique, sans chaîne propagation). Le contenu est 'A' (abstention) ou  'représentant X', ou 'candidat Y' ou 'délégante Z'.
  • 3 choix mutuellement exclusifs (radiobuttons) : électeur, représentant, candidat
  • un indicateur "vote secret" (flag)

Au dessus de ces lignes se trouve un multiligne de titre et de commentaire, qui contient quatre zones fixes:

  • "Champ de compétence"
  • "Vote actuel"
  • "Electeur normal, sans responsabilité particulière. Vos votes peuvent être secret."
  • "Représentant possible d'autres électeurs, qui peuvent choisir de s'aligner sur votre vote. Cette responsabilité vous oblige à formuler un vote explicite, mais ne peut vous mener à des responsabilité de gestion. Aucun de vos votes ne peut être secret. Si vous n'atteignez pas 3 votes pendant un mois, ce statut vous sera retiré.".
  • "Candidat au collège de gestion. Si vous avez un poids électoral suffisant, vous avez des chances de faire partie du collège de gestion. Vous ne devez pas voter explicitement. Implicitement, vous votez pour vous même. Aucun de vos votes ne peut être secret. Si vous n'atteignez pas 3 votes pendant un mois, ce statut vous sera retiré."
  • "Le vote peut être secret pour celui qui n'exerce aucune responsabilité à part le vote simple."

Si l'utilisateur coche l'un des choix 'représentant' ou 'candidat' dans un champ de compétence, alors automatiquement les indicateurs 'votes secrets' sont décochés pour tous les CC.

[ -> Spécifiez, dans chaque champ de compétence, votre niveau de responsabilité ]

[ -! Pour être représentant, vous devez avoir préalablement voté pour un candidat ou pour une délégante dans ce champ de compétence ]

[ -! Il est interdit d'être candidat dans plusieurs champs de compétence ]

[ -! Vous ne pouvez voter secrètement si vous exercez des responsabilités de représentant ou de candidat ]

Création de Délégante

Cette responsabilité est accessible à tout utilisateur, à l'exception

  • d'un utilisateur qui a émis un vote secret [-! La création d'une délégante n'est permise qu'à un électeur dont tous les votes sont publics]
  • d'un utilisateur qui est déjà administrateur général d'une autre délégante [-! Vous êtes déjà administrateur de la délégante ZZZ. Le cumul n'est pas autorisé.]

Le créateur de la délégante devient sont administrateur général.

L'écran de création de délégante contient les zones suivantes:

  • label "nom"
  • zone éditable nom de la délégante
  • label "administrateur général"
  • zone non-éditable affichant le nom de l'utilisateur connecté (qui devient administrateur général de la délégante)

A sa création, la délégante n'est encore active dans aucun champs de compétence. Un autre écran permet de modifier cela.

Constitution du collège de gestion

C'est une opération jointe et délicate. Elle concerne un champ de compétence, et implique la participation de tous les membres du collège de gestion mis à jour. Cette opération doit se produire à chaque entrée sortie ou remplacement d'un membre du collège de gestion.

Elle se passe en 3 temps.

  1. Les membres du nouveau collège de gestion se connectent, arrivent à ce menu et cliquent sur un 1er checkbox "Participer au collège de gestion".
  2. Les membres du nouveau collège voient apparaître à l'écran la liste des membres qui ont cliqué sur "Participer au collège de gestion". Outre les noms des membres, l'écran affiche les poids électoraux et les poids de gestion. Lorsque la liste est complète, les membres cochent un 2ème checkbox "Approuver la composition du collège de gestion". Ce checkbox est automatiquement décoché cahque fois q'un membre coche ou décoche "Participer au collège de gestion", donc chaque fois que la liste est modifiée.
  3. Lorsque tous les membres ont cliqué sur "Approuver la composition du collège de gestion", le logiciel vérifie que le poids global nécesssaire est atteint, la nouvelle composition est entérinée, et tous les membres en sont informés. Ce n'est qu'à ce moment que le nouveau collège est déclaré actif. 

Maquette : cette fonction ne doit pas être implémentée dans la maquette. La constitution du collège de gestion est algorithmique.

Arrivée d'un administrateur

Cette fonction est réservée à l'administrateur général de la délégante. Elle implique une action jointe.

Maquette : cette fonction ne doit pas être implémentée dans la maquette.

Départ d'un administrateur

Cette fonction est réservée à l'administrateur général de la délégante.

Maquette : cette fonction ne doit pas être implémentée dans la maquette.

Changement d'administrateur délégué

Cette fonction est réservée à l'administrateur général de la délégante. Elle implique une action jointe.

Maquette : cette fonction ne doit pas être implémentée dans la maquette.

Poids des délégués

Cette fonction est réservée à l'administrateur général de la délégante. Elle permet de définir les fractions du poids électoral de la délégante qui sont fictivement transmis au délégués.

Maquette : cette fonction ne doit pas être implémentée dans la maquette. Tous les administrateurs recoivent un poids électoral égal, à ée'excpetion de l'administrateur général qui a un poids nul.

Fonction de maintenance non interactives

Maquette: rien de ce qui figure dans ce paragraphe ne doit être implémenté. Ces fonctions sont réalisées manuellement. La création d'un compte utilisateur est réalisée spontanément à la demande de l'utilisateur.

Il s'agit de tâches réalisées par le logiciel sans interface utilisateur.

Création d'un utilisateur

Quand?

  • Création d'un nouveau citoyen avec droit de vote (arrivée à l'âge de vote d'un citoyen ou prise de nationalité)
  • Restauration du droit de vote d'un citoyen l'ayant perdu

Destruction d'un utilisateur

Quand?

  • Décès
  • Perte de nationalité
  • Perte du droit de vote

Perte du status de candidat

Quand?

  • Au cours d'une période donnée (un moi au moins), le candidat n'atteint à aucun moment un nombre donné (3) de votes

Perte du status de représentant

Quand?

  • Au cours d'une période donnée (un moi au moins), le représentant n'atteint à aucun moment un nombre donné (3) de votes

Disparition d'une délégante

Quand?

  • Le nombre d'administrateur tombe en dessous d'un nombre donné (3)
  • Le nombre de votes reçus tombe en dessous d'un nombre donné (10)



ANNEXES

Liste des champs de compétence

  • Supervisiom
  • Législation
  • Justice
  • Education
  • Santé
  • Budget & Finances
  • Fiscalité
  • Culture
  • Pension
  • Infrastructures
  • Défense
  • Intérieur & Administrations
  • Relations extérieures
  • Environnement & Energie
  • Agriculture
  • Consommation

Cette liste est d'application pour la maquette.

A propos de ...

Philippe Gonze. Texte: Philippe Gonze est ingénieur civil en mathématqiues appliquées et zoologiste. Il est spécialiste de modélisation et a mené une carrière hétéroclite. Aspirant à un monde meilleur, il a écrit "Le modèle M3M" et "Démocratie par Délégation Digitale". Il est également le rédacteur des spécifications de l'application DDD.