Partage
  • Partager sur Facebook
  • Partager sur Twitter

Enregistrer les préférences/comptes utilisateurs

Quelles sont les bonnse pratiques ?

    22 mai 2021 à 21:39:39

    Bonjour mesdames, messieurs,

    J'ai initialement posté ce sujet sur Developpez.net, sans réponse. Je tente ma chance ici :-)

    je travaille sur un petit projet C, sans prétention, un Tetris en mode console.
    Mon but n'est pas uniquement de faire du fonctionnel, mais du "propre", dans le sens bonnes méthodes de travail.

    Je ne suis encore qu'à l'ébauche du projet. Durant ma phase d'étude, je me suis demandé comment enregistrer le score de mon joueur. Dans l'idée de pouvoir l'afficher au prochain démarrage du Tetris.

    La solution la plus simple, serait d'enregistrer ce score dans un fichier. Mais rien n'empêcherait un joueur malhonnête de bidouiller ce fichier.
    Un ami, m'a proposé de passer par le registre de Windows. La solution n'est pas portable. j'ai l'impression d'utiliser le bazooka pour tuer une mouche, et puis un utilisateur avancé pourra aussi y mettre a main. Enfin si je ne me sers plus de mon jeu, cet espace ne sera pas libéré , tant que je n'aurais pas nettoyé manuellement le registre.
    J'ai aussi pensé à joindre une petite base de donnée à l'exécutable. La solution est portable (enfin, je crois), plus compliqué à bidouiller à la main. Mais ça me semble encore être une solution lourde! Je pense que ça aurait du sens pour un programme "gros" en revanche. Et puis, j'imagine qu'il faudra mettre le login/mdp de la bdd dans le code de l'exécutable qui lance des requêtes. pour un code compilé, à la rigueur ( et encore ...), mais pour un code interprété, niet.

    Alors bien sûr, si on s'arrête sur l'idée que c'est pour enregistrer un score, je me prends beaucoup la tête. Mais ce n'est pas la question en fait.
    Non, l'idée est d'acquérir de bonnes / meilleures pratiques. Je sors d'un cursus informatique (il y a un an), et je n'ai pas vu ces choses, pourtant très concrètes.

    J'aimerais donc connaître les méthodes employées dans le cadre d'un développement pro, pour répondre à ce problème. (d'autres viendrons bien assez tôt :-))

    Prenons une application destinée à être utilisée par différents utilisateurs, avec des droits différents. Il faut un mot de passe, avec login. Ces info ne doivent pas êtres en clair sur le PC (mot de passe dans un fichier au format texte par exemple). On ne doit ni pouvoir les lires, ni les modifier / supprimer. De plus, les utilisateurs ont des préférences, comme telle barre d'outils ici, tel widget là, un mode dark pour l'un, une vue standard pour l'autre, etc.

    Quels outils mettons nous en place pour conserver toutes ces infos ?

    Merci d'avance pour vos réponses.

    • Partager sur Facebook
    • Partager sur Twitter

    Rester une nuit éveillé, c'est ajouter un jour à sa vie.

    Stilgar, naib du dietch Tabr

      25 mai 2021 à 16:20:32

      Pour le login/mot de passe, c'est par l'authentification système, comme ça tu n'as rien à gérer, c'est l'OS qui s'en charge. (sinon le mot de passe doit toujours être chiffré avant d'être enregistré, dans une base ou dans un fichier en binaire).

      Pour les données de préférences utilisateurs, elles peuvent être dans un fichier type .ini/.conf et donc en textuel pour être facilement modifiable et le fichier s'enregistre dans un répertoire utilisateur (sous windows, dans c:\users\[nom]\appdata\Roaming\[nomapplication] ). Sinon, dans une clé HKCU (HKEY_CURRENT_USER)\SOFTWARE\[editeur\Application] par exemple

      Pour les scores, les écrire en binaire dans un fichier, ça le rend déjà moins "lisible". L'emplacement "standard" dans windows, ça serait c:\ProgramData\[application] ou c:\program Files [(x86)]\Common Files \[application]

      • Partager sur Facebook
      • Partager sur Twitter

      Enregistrer les préférences/comptes utilisateurs

      × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
      × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
      • Editeur
      • Markdown