Fonctionnalités de la plateforme

Fonctionnalités de la plateforme

Google places API

Afin de permettre aux utilisateurs de saisir leur adresse de manière correcte, j’ai décidé d’intégrer l’API Google places.
Lorsque le client saisit son adresse sur la page de son profil, des suggestions d’adresses apparaissent en dessous du champ texte. Lorsque le client clique sur l’adresse correspondant à la sienne, la plateforme complète le code postal ainsi que la commune de l’utilisateur. Ceci dans le but d’avoir les informations les plus précises pour que l’administrateur puisse effectuer la validation du profil.

Material UI

Material UI est un Framework de composants React.Js, qui permet d’intégrer des composants, tels que des boutons ou des calendriers, adaptés pour un affichage responsive.
L’utilisation de ce Framework m’a permis de coder le site afin que celui-ci s’affiche correctement tant sur poste fixe que sur appareil mobile.

Fonctionnalités de la plateforme

Je vais maintenant décrire plus en détail les fonctionnalités principales de la plateforme et comment celles-ci sont traduites dans le code afin que le processus métier soit parfaitement reproduit.
Je vais également illustrer le fonctionnement de ces fonctionnalités au moyen de captures d’écran dans un souci de clarté.

La proposition d’idées

Fonctionnement

Mon but pour cette fonctionnalité était de rendre le processus de proposition d’idées le plus simple possible, afin que tout le monde puisse facilement mettre en avant ses idées.
J’ai également souhaité rendre la visualisation de propositions simple et épurée. Concrètement, n’importe quelle personne inscrite sur le site peut créer de nouvelles propositions d’idées. Celles-ci sont immédiatement affichées dans la plateforme et tout utilisateur inscrit peut les visualiser. Chaque utilisateur a la possibilité d’« aimer » ou de « ne pas aimer » une proposition d’idées. Ces votes s’incrémenteront dans la base de données pour constituer le score de la proposition d’idée.

Fonctionnement du code

Front-End

Dans l’interface graphique, je me suis focalisé sur la simplicité du formulaire de création de proposition d’idée. Il y a donc uniquement les champs suivants :
• Le sujet de la proposition
• Le nom de la proposition
• Les détails de la proposition (ce que l’utilisateur souhaiterait voir mis en place dans la ville)
• Le bouton pour enregistrer sa proposition
Le Front-End ne s’occupe donc que d’afficher le formulaire, et de renvoyer les données de ce formulaire au Back-End qui va s’occuper de les enregistrer dans la base de données.
L’utilisateur a ensuite la possibilité de consulter toutes les propositions faites sur la plateforme. Le Front-End demande la liste de toutes les propositions et récupère les données transmises en réponse par le Back-End pour les afficher sous forme de cartes.
Ces cartes contiennent le nom, le sujet et le nombre de votes de la proposition. En cliquant sur la carte de la proposition, l’utilisateur obtient le détail de la proposition. Il peut ensuite cliquer sur un pouce vers le haut vert ou un pouce vers le bas rouge en fonction de son opinion sur la proposition. S’il a déjà voté pour la proposition, il peut décider de retirer son vote en cliquant sur une croix.
De plus, l’utilisateur n’a pas la possibilité de revoter pour une proposition déjà votée et il ne peut pas voter pour une proposition qu’il aurait créée.

Back-End

Le Back-End reçoit les requêtes du Front-End et, en fonction du type de requête reçue, va soit enregistrer les données de la proposition, soit retourner les données demandées via des routes REST. Ici, le Back-End n’effectue pas de traitement particulier mis à part vérifier si l’utilisateur a créé la proposition ou s’il a déjà voté pour.

Base de données

La structure de la base de données pour cette fonctionnalité est composée ainsi :
• Une table Propositions qui va contenir les données de la proposition et l’identifiant de l’utilisateur qui a créé la proposition
• Une table Users qui contient les données en lien avec l’utilisateur
• Une table Supports qui contient les votes des utilisateurs

Validation du profil

Fonctionnement

Avant de pouvoir lancer ou signer des initiatives, un utilisateur doit faire valider son profil par l’État de Genève. En effet, ceci est fait afin de s’assurer que la personne qui lance ou signe une initiatives en a bien le droit.

Le rapport de stage ou le pfe est un document d’analyse, de synthèse et d’évaluation de votre apprentissage, c’est pour cela chatpfe.com propose le téléchargement des modèles complet de projet de fin d’étude, rapport de stage, mémoire, pfe, thèse, pour connaître la méthodologie à avoir et savoir comment construire les parties d’un projet de fin d’étude.

Table des matières
Déclaration
Remerciements
Résumé
Table des matières
Liste des tableaux
Liste des figures
1. Introduction
2. Contexte et problématique
3. Solutions apportées par la plateforme 
4. Plateformes existantes
4.1 wecollect.ch
4.2 collectus.ch
4.3 inilab.ch
4.4 INCOP Suisse
5. Analyse des risques
5.1 Risques liés au développement du projet
5.1.1 Risque 1 : les technologies utilisées ne sont pas maîtrisées
5.1.2 Risque 2 : le domaine métier n’est pas maîtrisé
5.1.3 Risque 3 : le code comporte des vulnérabilités conséquentes
5.1.4 Grille des risques liés au développement
5.2 Risques liés au cadre légal dans lequel va évoluer le projet
5.2.1 Risque 1 : le cadre légal ne permet pas l’utilisation du projet tel quel
5.2.2 Risque 2 : le nombre de signatures minimum fixé dans la loi est trop faible si la plateforme rencontre un certain succès
5.2.3 Grille des risques liés au cadre légal
5.3 Risques liés à l’utilisation réelle du projet
5.3.1 Risque 1 : l’interface de la plateforme est trop complexe d’utilisation
5.3.2 Risque 2 : l’engouement de la population n’est pas au rendez-vous
5.3.3 Risque 3 : les objets de votation sont trop nombreux et provoquent un désintérêt au sein de la population
5.3.4 Grille des risques liés à l’utilisation réelle du projet
6. Choix des technologies utilisées 
6.1 Choix du Front-End
6.2 Choix du Back-End
6.3 Google places API
6.4 Material UI
7. Fonctionnalités de la plateforme
7.1 La proposition d’idées
7.1.1 Fonctionnement
7.1.2 Fonctionnement du code
7.1.3 Visualisation
7.2 Validation du profil
7.2.1 Fonctionnement
7.2.2 Fonctionnement du code
7.2.3 Visualisation
7.3 Le lancement d’initiatives
7.3.1 Fonctionnement
7.3.2 Fonctionnement du code
7.3.3 Visualisation
7.4 La récolte et vérification de signatures
7.4.1 Fonctionnement
7.4.2 Fonctionnement du code
7.4.3 Visualisation
7.5 L’intégration des partis politiques
7.5.1 Fonctionnement
7.5.2 Fonctionnement du code
7.5.3 Visualisation
8. Difficultés rencontrées
8.1 Pandémie de COVID-19
8.2 Apprentissage des langages de programmation
9. Discussions avec les partis politiques
9.1 Parti-Socialiste (PS)
9.1.1 Feedback général
9.1.2 Cadre légal
9.1.3 Pistes d’amélioration
9.1.4 Est-ce que ce projet permettrait d’améliorer ou préserver le processus démocratique ?
9.1.5 Le futur du projet
9.2 Parti démocrate-chrétien (PDC)
9.2.1 Feedback général
9.2.2 Cadre légal
9.2.3 Le futur du projet
9.3 Les Verts
9.3.1 Feedback général
9.3.2 Pistes d’amélioration
9.3.3 Le futur du projet
10. Discussion avec la Chancellerie d’État
10.1 Cadre légal
10.2 Feedback général de la plateforme
10.3 Comment pourrait-on envisager l’avenir proche d’une telle plateforme
11. Améliorations possibles
11.1 Le cadre légal est adapté
11.1.1 Intégration avec e-démarches
11.1.2 La question du nombre d’initiatives
11.2 Le cadre légal n’est pas adapté
12. Conclusion
Bibliographie 
Annexe 1 : structure complète de la base de données
Index

Rapport PFE, mémoire et thèse PDFTélécharger le rapport complet

Télécharger aussi :

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *