IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage Delphi Discussion :

Fichier ou registre


Sujet :

Langage Delphi

  1. #1
    Membre habitué
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    203
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : Canada

    Informations forums :
    Inscription : Juillet 2007
    Messages : 203
    Points : 146
    Points
    146
    Par défaut Fichier ou registre
    Bonsoir,

    J'aimerais avoir votre avis sur le sujet suivant :

    Pour enregistrer une configuration, dans mon cas, la configuration d'un StringGrid, sauvegarderiez vous l'information dans le registre ou dans un fichier?

    Peu importe votre choix, s'il vous plaît indiquer pourquoi et le maximum de détail sur votre philosophie

    Ne soyez pas timide, l'avis de tous m'est important!

    Merci de partager vos expériences avec moi

  2. #2
    Rédacteur/Modérateur

    Avatar de SergioMaster
    Homme Profil pro
    Développeur informatique retraité
    Inscrit en
    Janvier 2007
    Messages
    15 105
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 68
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur informatique retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Janvier 2007
    Messages : 15 105
    Points : 41 195
    Points
    41 195
    Billets dans le blog
    63
    Par défaut
    bonjour

    Pour moi ce serait dans un fichier INI ou XML (avec un préférence pour ce dernier)

    Auparavant j'utilisais beaucoup la base de registre , l'arrivée de VISTA m'a fait changer d'avis

    @+

  3. #3
    rsc
    rsc est déconnecté
    Membre éprouvé
    Avatar de rsc
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juin 2004
    Messages
    711
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 73
    Localisation : France, Côte d'Or (Bourgogne)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2004
    Messages : 711
    Points : 918
    Points
    918
    Par défaut
    J'utilise en principe un fichier ini (ou xml dans les cas compliqués, mais je maîtrise moins ). La raison ? En un mot la souplesse :
    - Tu veux reproduire ta configuration sur un autre poste ? Copier / coller.
    - Un mauvais paramètre fait planter ton appli ? Tu édites ou même tu effaces sans problème.
    etc...
    Pratique articulièrement quand tu dois intervenir à distance (hot line) !

  4. #4
    Membre expert
    Avatar de Charly910
    Homme Profil pro
    Ingénieur TP
    Inscrit en
    Décembre 2006
    Messages
    2 374
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur TP
    Secteur : Bâtiment Travaux Publics

    Informations forums :
    Inscription : Décembre 2006
    Messages : 2 374
    Points : 3 150
    Points
    3 150
    Par défaut
    Bonjour,

    j'ai toujours préféré des fichiers (le type ini est pratique) car je trouve que l'enregistrement en base de registre "encrasse" Windows.

    Le fichier ini est pratique car on peut le relire simplement avec notepad. on peut le mettre soit dans le répertoire de Windows, soit dans le répertoire d'installation de l'appli (je pense que c'est plus pratique).

    Par contre si tu souhaites que les utilisateurs ne "bidouillent" pas trop, il vaut mieux utiliser la base de registre qui est plus hermétique au commun des mortels.

    Cordialement

    Charly

  5. #5
    Rédacteur/Modérateur
    Avatar de Andnotor
    Inscrit en
    Septembre 2008
    Messages
    5 755
    Détails du profil
    Informations personnelles :
    Localisation : Autre

    Informations forums :
    Inscription : Septembre 2008
    Messages : 5 755
    Points : 13 349
    Points
    13 349
    Par défaut
    La base des registres est intéressante si la configuration est par utilisateur.
    Sinon je préfère aussi le fichier.

    Auparavant j'utilisais beaucoup la base de registre , l'arrivée de VISTA m'a fait changer d'avis
    Tu as le même soucis d'élévation de privilèges avec un fichier sous Program Files.

  6. #6
    Membre habitué
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    203
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : Canada

    Informations forums :
    Inscription : Juillet 2007
    Messages : 203
    Points : 146
    Points
    146
    Par défaut
    Le registre n'est pas très populaire

    Par contre si tu souhaites que les utilisateurs ne "bidouillent" pas trop, il vaut mieux utiliser la base de registre qui est plus hermétique au commun des mortels.
    Si je comprend bien vous dites qu'il est plus difficile d'altéré une valeur de registre qu'un fichier?

    Pour les privilèges, le même principe s'applique t'il autant au fichier qu'au registre?

    Merci pour tout ces arguments très pertinent, et surtout continuez!

  7. #7
    Membre confirmé
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    396
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2005
    Messages : 396
    Points : 640
    Points
    640
    Par défaut
    Pour moi aussi cela a toujours était un fichier, si vraiment tu ne veux pas qu'on le modifie tu peux toujours le crypter.

    Pour éviter les embrouilles des privilèges place ton fichier dans le répertoire prévu pour les données

    XP: Documents and Settings\$USER$\Application Data
    Vista: Users\$USER$\AppData\Roaming

    Pour déterminer le répertoire voir la faq et utilise CSIDL_APPDATA ou CSIDL_COMMON_APPDATA pour tous les utilisateurs

  8. #8
    Expert éminent
    Avatar de Lung
    Profil pro
    Analyste-programmeur
    Inscrit en
    Mai 2002
    Messages
    2 670
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Analyste-programmeur
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2002
    Messages : 2 670
    Points : 7 040
    Points
    7 040
    Par défaut
    Citation Envoyé par pepi22 Voir le message
    Si je comprend bien vous dites qu'il est plus difficile d'altéré une valeur de registre qu'un fichier?
    Faut s'y connaitre un poil plus. Un utilisateur de base ne saura pas le faire.

    Moi, j'utilise courament la base de registre pour stocker quelques paramètres propre à l'utilisateur.
    Sinon, s'il y a beaucoup de données, un fichier est plus adapté (*.ini ou autre).

  9. #9
    Expert confirmé

    Profil pro
    Leader Technique
    Inscrit en
    Juin 2005
    Messages
    1 756
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Leader Technique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2005
    Messages : 1 756
    Points : 4 173
    Points
    4 173
    Par défaut
    Je dirais que ça dépend de ce que tu veux faire, et du contexte dans lequel tu te trouves.

    Déjà, les fichiers ini sont dépréciés par Microsoft et tu n'es plus supposer les utiliser. Si tu veux que ton appli obtienne des certifications du genre "designed for WinXXXX" il faut faire attention à ce genre de chose.
    Les fichiers ini posent souvent des problèmes lorsque tu te trouves en TSE.
    Du genre, les c.... d'installateurs ont décidés qu'ils ne passeraient pas par ajout/suppression de programme pour lancer le setup de ton appli (grr.. windows me dis que je dois faire ajout/suppression parce que l'exe s'appelle Setup.exe, ben je vais le renommer autrement...), et Windows a isolé la config de ton fichier ini pour l'utilisateur qui fait l'install au lieu d'appliquer le paramétrage à tous les utilisateurs.... Tout fonctionne parfaitement lorsque l'installateur lance son appli. Et dès qu'un vrai utilisateur la lance.... bing y'a plus rien qui marche !

    Ensuite, les fichiers ini sont un aimant à bidouilleurs. Les clients adorent les ouvrir, regarder ce qu'il y a dedans, les bidouiller... et se plaindre que ton appli ne fonctionne pas. Il y en a même qui t'appellent pour te demander à quoi sert tel ou tel paramètre...

    Tu évites la plupart de ces problèmes en passant par la base de registres car la majorité des utilisateurs ont peur de toucher quelque chose qui plantera leur Windows (déjà la plupart ne connaissent pas regedit, ou les admins ont eut la bonne idée de leur interdire l'accès à regedit).

    Par contre, il faut faire attention à la façon dont tu utilises la base de registre. Il n'y a pas de problème avec HKEY_CURRENT_USER.
    Mais pour écrire dans HKEY_LOCAL_MACHINE, il faut avoir des droits suffisants, et par défaut Delphi ouvre les clés en mode lecture/ecriture, ce qui provoque des erreurs si tu n'es pas administrateur de la machine.

    Le deuxième gros problème avec la base de registre, c'est que si tu dois remplacer la machine, réinstaller ton appli ailleurs... ben il ne suffit pas de recopier le fichier de config...

    Si encore un, si tu écris des préférences utilisateurs dans HKEY_CURRENT_USER, les utilisateurs utilisent parfois des comptes génériques pour se connecter dans Windows (genre tout le monde utilise le même compte), puis tu as des comptes applicatifs différents dans ton appli.
    Et là, tout le monde partage les mêmes préférences utilisateurs...).

    Si tu mets les préférences dans un fichier ini, ces dernières ne se déplaceront pas avec l'utilisateur s'il travaille sur plusieurs postes...

    En un mot, tout dépend de ce que tu fais et des problèmes que tu risques de rencontrer.

  10. #10
    Rédacteur/Modérateur

    Avatar de SergioMaster
    Homme Profil pro
    Développeur informatique retraité
    Inscrit en
    Janvier 2007
    Messages
    15 105
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 68
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur informatique retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Janvier 2007
    Messages : 15 105
    Points : 41 195
    Points
    41 195
    Billets dans le blog
    63
    Par défaut
    Citation Envoyé par Andnotor Voir le message
    Tu as le même soucis d'élévation de privilèges avec un fichier sous Program Files.
    Exact , mais comme ExoSeven je le(s) mets dans
    XP: Documents and Settings\$USER$\Application Data
    Vista: Users\$USER$\AppData\Roaming
    Si c'est vraiment un question de sécurité, et que tu utilises un base de données , et bien pourquoi pas à l'intérieur de la base de données.

    les fichiers ini sont dépréciés par Microsoft
    exact , mais quelque soit le nom qu'on leur donne , CFG, PIP etc ... l'objectif est bien le même cryptés (dans le cas d'un PIP par exemple) ou non (pour les CFG) le but est le même. le ini est surtout déprécié , à mon avis , parce que cible de beaucoup d'attaques faciles .

    Bref , pour se faire une idée , il suffit de regarder un peu ce qui se passe dans les répertoires cités plus haut. Et n'oublions pas que la base de registre est elle aussi une cible facile

  11. #11
    Membre habitué
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    203
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : Canada

    Informations forums :
    Inscription : Juillet 2007
    Messages : 203
    Points : 146
    Points
    146
    Par défaut
    Merci à tous pour cette fabuleuse mine d'information!

    Je compile et j'étudie les arguments

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Registre Fichiers systemes et barre des tâches
    Par cartonis dans le forum Autres Logiciels
    Réponses: 16
    Dernier message: 21/08/2009, 03h45
  2. Editeur de "fichiers" de base de registre
    Par alejandro dans le forum Autres Logiciels
    Réponses: 6
    Dernier message: 13/03/2009, 09h08
  3. [Wise][Registre] Association de fichier pendant installation
    Par leminipouce dans le forum Windows
    Réponses: 3
    Dernier message: 30/10/2007, 21h49
  4. Fichiers du registre
    Par salrouge dans le forum Sécurité
    Réponses: 13
    Dernier message: 09/03/2007, 19h04
  5. Obtenir les droits d'ecriture dans fichiers et base de registre
    Par Sunchaser dans le forum Autres Logiciels
    Réponses: 2
    Dernier message: 17/07/2006, 11h33

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo