0% ont trouvé ce document utile (0 vote)
3 vues5 pages

Inscription

Le document décrit les spécifications d'inscription et de connexion pour une application, incluant des contraintes sur les données personnelles, les mots de passe, et les vérifications d'email. Il détaille également les fonctionnalités de sécurité, telles que la protection CSRF, la gestion des sessions, et les notifications par email. Enfin, il présente les différentes pages et fonctionnalités disponibles sur le tableau de bord de l'utilisateur.

Transféré par

2nf8bqh6zv
Copyright
© All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats DOCX, PDF, TXT ou lisez en ligne sur Scribd
0% ont trouvé ce document utile (0 vote)
3 vues5 pages

Inscription

Le document décrit les spécifications d'inscription et de connexion pour une application, incluant des contraintes sur les données personnelles, les mots de passe, et les vérifications d'email. Il détaille également les fonctionnalités de sécurité, telles que la protection CSRF, la gestion des sessions, et les notifications par email. Enfin, il présente les différentes pages et fonctionnalités disponibles sur le tableau de bord de l'utilisateur.

Transféré par

2nf8bqh6zv
Copyright
© All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats DOCX, PDF, TXT ou lisez en ligne sur Scribd

INSCRIPTION –

[nom(string,100) ; prenom(String,100); postnom(string,100); adresse(string,255), num_tel(string,


100); password(string(hash)100 ); mail(string,100 //exemple@[Link]), datenaissance (date),
genre(string 2, val (“M, F”))]

CONTRAINTES:

Textes (nom; etc…) : //aA-zZ, -, ‘ //) min : 3 / max : 50

Adresse : aA-zZ, -, _, *, ‘, 0-9)

Email : /^[^\s@]+@[^\s@]+\.[^\s@]+$/

Tel : /^\+?[1-9]\d{1,14}$/

Password : 1 Majuscule, 1 caractère spéciale, 1 chiffres, 8min, 12max // [nom, postnom, prénom*3 ;
MOTDEPASSE, 1234567890, AZERTYUIOP,POIUYTREZA, QWERTYUIOP, POIUYTREWQ, KINSHASA,
CONGO, datedenaissance, numerodetelephone, adresse, mots IMPOLIES) – hash (Blowfish,
Php_hash(BENCRYPT)] - /(?=.*[A-Z])(?=.*\W)(?=.*[0-9]).{8,12}/

Carte d’identité (Passeport, Carte d’électeur(), Permis de conduire) [recto-verso] (Png, jpeg, jpg, pdf ;
webb)

IMAGE_photo de profil (jpeg, jpg, png) (moins de 10mo);

Etat_du_profil(pending, confirmed, denied)

STATUT(proprietaire, pas proprietaire, heritier) ??

Contrainte Frontend :

Champs vides : surbrillance en rouge des champs avec message ‘compléter ce champ et compléter
les champ manquant »

CONTRAINTES SYST :

Latence : à partir de 15sec (modal pour ressayer pour un problème inconnu (vérifier votre connexion
internet, puis réessayer ultérieurement ) Si essaie = 3 : « réessayer ultérieurement » ET « stocker et
demander de signaler l’erreur ») Après 60min réinitialiser le compteur.

Erreur : (404, 500, 501, 400, 401 : modal avec le message pour signaler l’erreur au service de
maintenance et enregistrement des logs si erreur est supérieure à 5)

Fonctions :

genUsername(nom+3last num de tel + 2last postnom : si le username existe déjà après verification
des noms complets (hasard) on fait, nom+3middle_num_tel + 2last_postnom );

genDefaultProfilePicture(2premier du prenom)

genSlug(2premier nom – 3dernier du numero- 2 dernier du postnom + MathFloor*random(9-99))

Vérification de l'email (DNS) : Avant d'envoyer l'email asynchrone, vérifiez si le domaine (ex:
@[Link] possède des enregistrements MX valides pour
éviter les emails jetables.
Rate Limiting : Limitez le nombre de tentatives d'inscription par adresse IP par heure pour éviter que
des bots ne saturent votre base de données.

Structure :

signUp (nom, etc. & infos personnelles importantes) – Vérifie l’existence du (mail ou du nom,prenom,
postnom ou numero) dans la bdd ; if true : « l’email existe déjà » ,false : continue- Envoie le mail de
vérification(asynchrone) -carte d’identité & photo de profil (validation d’environ 72h ouvrables max) –
vérification de l’email (asynchrone) directement

Chiffrement :

Password, carte_identité

Case à cocher :

Politique de cofidentialité & conditions d’utilisation

Captcha & Recaptcha

FRONT :

Indicateur de force du mot de passe

Prévisualisation (Preview) : Permettre à l'utilisateur de voir l'image qu'il a téléchargée avant de


soumettre le formulaire.

LOGIN

A{Email/numtel/username/} + B{password}

If ( A exist()){

If (B correct(){

Log( redictToDashoard())}

else{

Send(Mdp is not correct avec surbrillance en rouge du champ)

Counter ++

limtTriesPerHour( if counter 5 in 1hours block for this IP address, after 1hour reset the counter to 0,
but if it happens three time in a row in 24h block this IP)
}else {

Send(“Identifiant ou mot de passe incorrect” proposition de créer un compte avec message complet
« vérifier l’orthographe, et la typo)

Check boxes :

Captcha

Se souvenir de moi (stocker les coockies d’authentifixationp)

Sécurité :

Si l'utilisateur se connecte depuis une nouvelle IP ou un nouvel appareil (User-Agent différent),


envoyez un email automatique : "Nouvelle connexion détectée sur votre compte". C'est une sécurité
très appréciée des utilisateurs.

Mot de passe oublié ? Envoyer un token de récupération (15min) par mail/par numéro

Interface mdp oublié – il ecrit l’email ou numéro (if exist() dans la bdd, là qu’on génère le token de
connexion)

Si il ecrit on vérifie avec l’ancier

 CSRF Protection : Pour chaque formulaire (Login, Reset), génère un token CSRF masqué pour
empêcher les attaques par falsification de requête.

 Session Timeout : Si l'utilisateur est inactif pendant 2 heures, déconnecte-le automatiquement


(sauf s'il a coché "Rester connecté").

 Log de sécurité : Enregistrer dans les logs chaque demande de réinitialisation avec l'adresse IP pour
détecter les abus.

Counter de cas d’oublie de mot de passe, pour répertorier les cas de personnes qui oublient bcp de
masse / vérifie l’âge de la personne pour voir si elle est supérieure à 59ans.

FRONT :

Cacher le mot de passe & le voir (password à texte)

DASHBOARD

1 ; infos : mail / username / photo profil / adresse / nume tel /

Statut

Les propriétés / (co-propriétés)


FONCTIONALITES :

Rechercher un titre (5$)

Démarrer une demande ()

Être notifié (par mail / par message(1$/notification) / par WhatsApp / via l’application (push))

Vendre (démarrer un processus de vente)

Céder(autoriser la cession)

Payer(les différents frais via Millenium Pay)

Contacter le service client du ministère

Voir les avancées de sa demande

Voir les étapes relatives aux demandes (selon les cas) (Payant ? ou Gratuit ? )

Vidéo d’accueil pour expliquer (dans toutes les langues Nationales (tsh, kikongo, swahili, lingala,
français, anglais)

IA (guider, recevoir des questions simples)

Pages{

Accueil : vue générale des actions ;

Demande : créer une nouvelle demande ou voir mes demandes, détails de mes demandes

VENTE/CEDER : démarrer un processus de vente ou de sécession, voir les ventes ou sécessions en


cours

Payements : payer, voir les payements en cours, en attente

Contact : contacter le service client du ministère (parler avec un conseiller (10$))

INFOS : voir le fonctionnement de l’application/le système /étapes à suivre pour faire une demande,
achat, sécession, etc.

MON PROFIL : voir les informations (etat, email, nom complet, username, num de tel, propriété,
adresse) : modifier(), desactiver(), logout(), modfificationdelalangue()

Paramètre – Mon profil – nous contacter – faire un don (à millenium) – Politique de confidentialité –
CGU-langue)

Liens externes : Min. des Aff. Foncières / Cadastre Foncier / gouvernement de la rdc/Millenium)
[Langue : Fr, Ang, Ling, Swahili]

Vous aimerez peut-être aussi