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

WinDev Discussion :

Où placer ses fichiers de données ? [Généralités]


Sujet :

WinDev

  1. #1
    Membre chevronné
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mars 2009
    Messages
    1 278
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Mars 2009
    Messages : 1 278
    Points : 2 151
    Points
    2 151
    Par défaut Où placer ses fichiers de données ?
    Bonjour à tous,

    Je travaille actuellement sur le développement d'un produit et je souhaiterais que son exécution ne nécessite pas les droits d'administration.

    Lors de l'installation les fichiers de données et autre fichier de config sont déployés sur le <RepDonneesCommun>.

    Dans mon code, à l'initialisation je fais un fRepEnCours(fRepDonnéesCommun)
    J'ai également fait un HChangeRep("*",RepDonneesCommun())

    Donc jusque là tout va bien... par contre ce qui me dérange, et c'est pas uniquement lié à Windev, c'est que cela fonctionne uniquement si l'administrateur n'exécute pas le programme en premier...

    En gros le premier utilisateur qui exécute l'application s'attribue les droits sur les fichiers... Je peux le comprendre... c'est lui qui fait le HCréationSiInexistant() et les éventuels fOuvre('toto.txt',foCréationSiInexistant)

    Du coup j'aurais tendance à dire : "Ok chacun ses fichiers donc je migre tout dans le <RepDonneesUser> MAIS lors de l'installation l'user est un admin, c'est donc dans SON répertoire que les fichiers sont déployés...

    Donc je finis par me dire : "J'installe tout dans <RepDonnéesCommun> et lors de l’exécution je teste l'existence des fichiers dans le répertoire <RepDonnéesUser> et s'il n'existe pas je copie ce dont j'ai besoin depuis le <RepDonnéesCommun>...." mais j'ai l'impression d'alambiquer un problème simple...

    Bref la question est la suivante : "Comment faire pour que soit le plus simple possible ?"
    SQL : le véritable Esperanto

    "Les patates à ta tata épatent ton tonton mais les pates aux thons à ton tonton épatent pas ta tata." (Michel Souris)

    MERCI DE NE PAS M'ENVOYER DE MESSAGE PRIVE POUR DES QUESTIONS TECHNIQUES SANS MON ACCORD !

  2. #2
    Membre expert
    Avatar de mail.spam
    Homme Profil pro
    Développeur Windev et technicien maintenance
    Inscrit en
    Janvier 2008
    Messages
    1 914
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France, Sarthe (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur Windev et technicien maintenance
    Secteur : Industrie

    Informations forums :
    Inscription : Janvier 2008
    Messages : 1 914
    Points : 3 803
    Points
    3 803
    Par défaut
    Bonjour,

    La première question est quelle version de windev utilise tu?
    Pour l'utilisation sous windows 7 et vista il y a une option lors de la génération de l'exécutable qui s'appelle "manifeste windows vista"
    Regarde dans l'aide.
    Ainsi l'utilisateur prend les droits que tu lui donne par le manifeste.
    Je pense que ça peux résoudre ton problème.
    la touche est ton amie. l'aide ne mord pas quand on la consulte...
    PS : n'oubliez jamais que nous ne sommes pas avec vous sur le projet. Donc plus vous donnez d'informations et d'exemples de codes et plus nous pourrons vous aider. (Un exemple vaut mieux que de longs discours...)

    Pensez à utiliser les votes et à cliquer sur , merci

  3. #3
    Membre chevronné
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mars 2009
    Messages
    1 278
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Mars 2009
    Messages : 1 278
    Points : 2 151
    Points
    2 151
    Par défaut
    Citation Envoyé par mail.spam Voir le message
    Bonjour,

    La première question est quelle version de windev utilise tu?
    Pour l'utilisation sous windows 7 et vista il y a une option lors de la génération de l'exécutable qui s'appelle "manifeste windows vista"
    Regarde dans l'aide.
    Ainsi l'utilisateur prend les droits que tu lui donne par le manifeste.
    Je pense que ça peux résoudre ton problème.
    C'est une bonne piste ! mais je ne trouve rien dans l'aide concernant les manifestes personnalisés....

    [EDIT]
    Ah si j'ai trouvé à cette page : http://doc.pcsoft.fr/fr-FR/?2025013
    [/EDIT]

    [EDIT2]
    Bon ben en fait ça m'aide pas beaucoup... et le fichier d'exemple de PCSOFT... ben je préfère rien dire...

    J'ai pas précisé mais je bosse sur Windev 18 (depuis hier) mais le pb était déjà le même en WD17....
    [/EDIT2]
    SQL : le véritable Esperanto

    "Les patates à ta tata épatent ton tonton mais les pates aux thons à ton tonton épatent pas ta tata." (Michel Souris)

    MERCI DE NE PAS M'ENVOYER DE MESSAGE PRIVE POUR DES QUESTIONS TECHNIQUES SANS MON ACCORD !

  4. #4
    Membre expert
    Avatar de Emmanuel Lecoester
    Profil pro
    Inscrit en
    Février 2003
    Messages
    1 493
    Détails du profil
    Informations personnelles :
    Âge : 48
    Localisation : France, Nord (Nord Pas de Calais)

    Informations forums :
    Inscription : Février 2003
    Messages : 1 493
    Points : 3 266
    Points
    3 266
    Par défaut
    Pourquoi ne pas utiliser une version HF Serveur ?
    Emmanuel Lecoester
    => joomla addict.

  5. #5
    Membre chevronné
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mars 2009
    Messages
    1 278
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Mars 2009
    Messages : 1 278
    Points : 2 151
    Points
    2 151
    Par défaut
    Citation Envoyé par Emmanuel Lecoester Voir le message
    Pourquoi ne pas utiliser une version HF Serveur ?
    Pour plusieurs raisons dont voici les 2 principales :

    - j'aimerais comprendre comment faire pour créer un programme installé par un administrateur et utilisé par un utilisateur lambda
    - il s'agit d'une version monoposte/mono-utilisateur et cela ne justifie pas (pour moi) la mise en place d'un serveur (HF ou autre)


    Enfin, pour information, nous distribuons 2 versions de l'application : une monoposte et une C/S.
    SQL : le véritable Esperanto

    "Les patates à ta tata épatent ton tonton mais les pates aux thons à ton tonton épatent pas ta tata." (Michel Souris)

    MERCI DE NE PAS M'ENVOYER DE MESSAGE PRIVE POUR DES QUESTIONS TECHNIQUES SANS MON ACCORD !

  6. #6
    Membre averti
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mars 2009
    Messages
    178
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

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

    Informations forums :
    Inscription : Mars 2009
    Messages : 178
    Points : 416
    Points
    416
    Par défaut
    Bonjour,

    Vous pouvez utiliser SysRep avec le paramètre "srAppDataCommun", plus de problème de compte d'utilisateur.

    EDIT:
    Voir même "srAppDataLocal", si la définition "Commun" pose tout de même des problèmes avec les comptes.

  7. #7
    Membre chevronné
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mars 2009
    Messages
    1 278
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Mars 2009
    Messages : 1 278
    Points : 2 151
    Points
    2 151
    Par défaut
    Citation Envoyé par themayu Voir le message
    Bonjour,

    Vous pouvez utiliser SysRep avec le paramètre "srAppDataCommun", plus de problème de compte d'utilisateur.

    EDIT:
    Voir même "srAppDataLocal", si la définition "Commun" pose tout de même des problèmes avec les comptes.
    Bonjour,

    Merci pour votre réponse.

    Cela ne changera rien à mon problème. :
    - SysRep(srAppDataCommun) et RepDonneesCommun renvoit la même chose.
    - SysRep(srAppDataLocal) est lié à l'utilisateur (données stockées dans un sous-dossier "Local" du répertoire des données utilisateur)

    Je pense que je n'avais pas tant alambiquer le problème que ça...je vais donc faire comme je le pensais initialement : un déploiement des données le RepDonnéesCommun (ou SysRep(srAppDataCommun)) lors de l'installation puis une copie des données dans le répertoire RepDonnéesUtilisateur lors de la première exécution... je ne vois rien de plus simple finalement !!!
    SQL : le véritable Esperanto

    "Les patates à ta tata épatent ton tonton mais les pates aux thons à ton tonton épatent pas ta tata." (Michel Souris)

    MERCI DE NE PAS M'ENVOYER DE MESSAGE PRIVE POUR DES QUESTIONS TECHNIQUES SANS MON ACCORD !

  8. #8
    R&B
    R&B est déconnecté
    Membre éprouvé
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mars 2005
    Messages
    571
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : France, Drôme (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Distribution

    Informations forums :
    Inscription : Mars 2005
    Messages : 571
    Points : 1 263
    Points
    1 263
    Par défaut
    hmmm

    Nous n'utilisons pas forcément les répertoires 'Windows' et pour cause : on dépends de l'utilisateur en cours etc.

    une solutions certe ancienne mais qui fonctionne encore :
    un répertoire pour votre projet au sens large
    un sous répertoire avec les exécutables et autres fichier nécessaires à l'exécution de votre projet
    un sous répertoire pour les données

    Besoins d'une sauvegarde ? hop ! on prends le répertoire du projet !
    Autre avantage : simplification de la recherche des données etc. il suffit d'ouvrir le répertoire du raccourcis sur le bureau et on est dans la place à très peu de chose près !

    Idem on C/S, un sous répertoire pour le serveur et un autre pour les données C/S. penser à un sous répertoire pour les autres fichiers partagées qui est le même qu'en mode classic.

    Au final 4 sous répertoires avec les deux derniers optionnels : exe, données, serveur CS et données CS.

    On peut ensuite dériver plein de possibilité dans votre espace projet...

    En résumé : faire simple !

  9. #9
    Membre averti
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mars 2009
    Messages
    178
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

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

    Informations forums :
    Inscription : Mars 2009
    Messages : 178
    Points : 416
    Points
    416
    Par défaut
    Je n'avais pas testé mais effectivement srAppDataLocal est spécifique à l'utilisateur, du coup la définition dans l'aide ne correspond pas à grand chose ...

    srAppDataLocal = Répertoire à utiliser par les applications pour stocker leurs données (spécifique à la machine plutôt qu'à un utilisateur)

  10. #10
    Membre chevronné
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mars 2009
    Messages
    1 278
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Mars 2009
    Messages : 1 278
    Points : 2 151
    Points
    2 151
    Par défaut
    Citation Envoyé par themayu Voir le message
    Je n'avais pas testé mais effectivement srAppDataLocal est spécifique à l'utilisateur, du coup la définition dans l'aide ne correspond pas à grand chose ...
    Si c'est valable dans le cas des profils itinérants... je crois....

    Lorsque vous travaillez dans sur un domaine vous pouvez vous loguez depuis n'importe quel poste du domaine (si vous y êtes autorisé), dans ce cas les données répliquées d'un poste à un autre sont les données du dossier utilisateur (RepDonneesCommun) SAUF le répertoire "Local"... si je ne dis pas de bêtise !
    SQL : le véritable Esperanto

    "Les patates à ta tata épatent ton tonton mais les pates aux thons à ton tonton épatent pas ta tata." (Michel Souris)

    MERCI DE NE PAS M'ENVOYER DE MESSAGE PRIVE POUR DES QUESTIONS TECHNIQUES SANS MON ACCORD !

  11. #11
    Membre confirmé
    Homme Profil pro
    Inscrit en
    Juin 2010
    Messages
    1 357
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Juin 2010
    Messages : 1 357
    Points : 509
    Points
    509
    Par défaut Bonjour,
    Pour ma part, après avoir longtemps galérer à essayer de comprendre et de respecter les règles de programmations logiquement imposées par windows, j'ai fini par appliquer ma propre méthode.

    Pas de manifeste piur 7 ou vista
    Les fichier de données sont installé dans un répertoire caché à la racine du disque qui contient l'application.
    Dans le code d'initialisation du projet, je fais un HChangeRep pour localiser l'endroit et voilà.
    Depuis, plus de soucis.
    Les solutions les plus simples sont les plus efficaces

  12. #12
    Membre chevronné
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mars 2009
    Messages
    1 278
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Mars 2009
    Messages : 1 278
    Points : 2 151
    Points
    2 151
    Par défaut
    Bonjour,

    Merci pour vos réponses.

    Je mets le thread en "résolu"... même si j'avoue que dans mon cas la solution la plus pertinente, enfin il me semble, est celle que je me proposais tout seul au début !

    Donc pour une application compatible avec l'organisation des droit Windows :

    - Installation du programme par l'administrateur avec déploiement de données sur fRepDonnéesCommun()
    - Copie des données dans fRepDonnéesUtilisateur() lors de la première éxécution par chaque utilisateur avec ou sans pouvoir
    SQL : le véritable Esperanto

    "Les patates à ta tata épatent ton tonton mais les pates aux thons à ton tonton épatent pas ta tata." (Michel Souris)

    MERCI DE NE PAS M'ENVOYER DE MESSAGE PRIVE POUR DES QUESTIONS TECHNIQUES SANS MON ACCORD !

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

Discussions similaires

  1. Réponses: 4
    Dernier message: 06/03/2013, 10h04
  2. retrouver une BD d'après (un de) ses fichiers de données
    Par Peanut dans le forum MS SQL Server
    Réponses: 1
    Dernier message: 21/07/2009, 14h42
  3. Réponses: 0
    Dernier message: 26/02/2009, 19h08
  4. Réponses: 6
    Dernier message: 25/09/2006, 15h00
  5. Comparer des fichiers de données : Quel Langage ?
    Par Anonymous dans le forum Langages de programmation
    Réponses: 6
    Dernier message: 24/04/2002, 22h37

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