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

Windows Forms Discussion :

Déploiement d'application winform


Sujet :

Windows Forms

  1. #1
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2013
    Messages
    16
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Maroc

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

    Informations forums :
    Inscription : Mai 2013
    Messages : 16
    Points : 14
    Points
    14
    Par défaut Déploiement d'application winform
    bonjours tout le monde
    j'ai terminer de developper une application winforme sous Vs 2008 (en C#) avec une base de données SQL Server 2005.
    bon en ce moment cette application doit etre integrer dans un reseau local d'une entreprise, et je ne sais pas comment procéder, je pense que mon app doit etre installer sur tout les postes client et la base de données sur le serveur et qu'il faut trouver un moyen d'etablir une synchronisation entre l'application instaler sur les postes client et la BD sur le serveur mais je ne sais pas comment le faire et si il y a un autre moyen plus professionnel si celui la ne l'est pas.
    merci pour vous si vous pouvez me fournir des tutos ou qlq chose qui pourra m'aider a ce propos

  2. #2
    Modérateur
    Avatar de sevyc64
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Janvier 2007
    Messages
    10 192
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Janvier 2007
    Messages : 10 192
    Points : 28 075
    Points
    28 075
    Par défaut
    A partir du moment ou l'application est partagée entre plusieurs utilisateurs, oui, la base de données se doit d'être sur un serveur.
    Pour ce qui est de la connexion entre l'application cliente et la base de données, elle se fait à travers la chaine de connexion à la base que tu as indiqué dans ton logiciel (j'espère que celle-ci n'est pas codé en dur mais est au moins dans un fichier de configuration)

    Pour ce qui est de l'application cliente, tu as le choix. Tu peux effectivement l'installer sur chaque poste utilisateur. Tu peux aussi, par exemple, l'installé sur un serveur en montant le dossier installation comme disque réseau sur chaque poste, elle sera vu par les clients comme installée en local (cela signifie que, si elle a besoin de composants spécifiques à installer aussi, ils devront malgré tout, eux, être installés sur chaque poste)
    --- Sevyc64 ---

    Parce que le partage est notre force, la connaissance sera notre victoire

  3. #3
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2013
    Messages
    16
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Maroc

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

    Informations forums :
    Inscription : Mai 2013
    Messages : 16
    Points : 14
    Points
    14
    Par défaut
    merci de ton aide,
    l'application serra bien installer sur le poste client et la base de données sur le serveur c bien claire mais pour ce que tu a dis ( j'espère que celle-ci n'est pas codé en dur mais est au moins dans un fichier de configuration ) j'ai pas bien saisie ce point là, j'ai une chaine ordinaire de connexion
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    Data Source=XXX;Initial Catalog=XXX;Integrated Security=True
    j'ai rien changer dans le fichier configuration ( je ne sais meme pas où il ce trouve ) mais je pense que lors ce que je vais detacher ma base de donnée en locale et l'atacher ( sur l'application ou dans un dossier sur le serveur je ne sais pas encore) je doit peu etre changer qlq chose dans cette chaine de cnx, le chemin du dossier sur le serveur où ce trouve le fichier de base do données par exemple ou qlq chose de ce genre
    et merci encore de ton aide

  4. #4
    Membre éprouvé
    Avatar de dkmix
    Profil pro
    Inscrit en
    Septembre 2007
    Messages
    619
    Détails du profil
    Informations personnelles :
    Localisation : Jamaïque

    Informations forums :
    Inscription : Septembre 2007
    Messages : 619
    Points : 924
    Points
    924
    Par défaut
    Bonjour,
    Pour le déploiement, il est également possible d'utiliser ClickOnce, dans un réseau local, sans considérations de sécurité, c'est assez simple.

  5. #5
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2013
    Messages
    16
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Maroc

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

    Informations forums :
    Inscription : Mai 2013
    Messages : 16
    Points : 14
    Points
    14
    Par défaut
    bonjour tout le monde
    merci a toi dkmix , je me suis renseigné sur le clickonce et vraiment ca a l'air simple mais le probleme c'est que je veux savoir si cette outil permet de centraliser la base de données sur le serveur ou non parce que c'est le point le plus important, faut que chaque chengement effectuer par un utilisateur sois visible par les autres utilisateur ( une synchronisation tu vois ), mon probleme c que je ne sais pas comment y proceder par quoi commencer. dans mon cas l'application et prete je la teste sur mon ordi ca marche ( sans deploiement j'ai pas encore deployer l'app, je voulais avoir des idées sur la procédure avant de commencer le travail, savoir les avantages et inconvenants de chaque outils et procedure, et merci une autre fois

  6. #6
    Membre éprouvé
    Avatar de dkmix
    Profil pro
    Inscrit en
    Septembre 2007
    Messages
    619
    Détails du profil
    Informations personnelles :
    Localisation : Jamaïque

    Informations forums :
    Inscription : Septembre 2007
    Messages : 619
    Points : 924
    Points
    924
    Par défaut
    ClickOnce permet simplement de déployer.
    Il n'y a pas de lien avec la base de donnée (sauf pour la config de connexion éventuellement)
    Il est donc tout a fait possible de déployer avec clickonce une appli qui utilise une base centralisée

  7. #7
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2013
    Messages
    16
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Maroc

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

    Informations forums :
    Inscription : Mai 2013
    Messages : 16
    Points : 14
    Points
    14
    Par défaut
    et pour la base de donnée comment je peu faire pour l'attacher et la rendre accesible depuis le serveur, j'ai fait des recherche j'ai trouver comme solution l'outil odbc de windows ou encore plus attacher la base de donnée directement au serveur et changer ma chaine de connexion dans l'application en lui donnant le chemin du serveur et un identifiant et mdp pour acceder a la base de donner dans le cas où on veux y changer qlq chose, et toujours pas une solution pour la manière de traiter ces solution merci de m'aidé je suis vraiment bloqué

  8. #8
    Membre éprouvé
    Avatar de dkmix
    Profil pro
    Inscrit en
    Septembre 2007
    Messages
    619
    Détails du profil
    Informations personnelles :
    Localisation : Jamaïque

    Informations forums :
    Inscription : Septembre 2007
    Messages : 619
    Points : 924
    Points
    924
    Par défaut
    ADO.NET
    Aucun souci pour faire du client/serveur en DotNet. Heureusement !!!
    Il suffit de mettre la chaine de connection dans le fichier de config de l'application (par exemple). Il faut bien-sur choisir le scenario de sécurité d'acces à la base de donnée

  9. #9
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2013
    Messages
    16
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Maroc

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

    Informations forums :
    Inscription : Mai 2013
    Messages : 16
    Points : 14
    Points
    14
    Par défaut
    merci beaucoup dkmix
    une autre question qui me soucie , par exemple on suppose que deux clients qui utilise mon application au meme temps , et par coincidence ils appliquent une modification sur la meme table sur le meme champs au meme temps, je pense cela peu provoqué des erreurs ou je me trompe, sinon comment je peu géré une erreur comme celle'si, mon code et en mode connecté

  10. #10
    Membre éprouvé
    Avatar de dkmix
    Profil pro
    Inscrit en
    Septembre 2007
    Messages
    619
    Détails du profil
    Informations personnelles :
    Localisation : Jamaïque

    Informations forums :
    Inscription : Septembre 2007
    Messages : 619
    Points : 924
    Points
    924
    Par défaut
    Acces concurrentiel ADO.NET. (Par défaut optimiste, je pense que c'est suffisant)

  11. #11
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2013
    Messages
    16
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Maroc

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

    Informations forums :
    Inscription : Mai 2013
    Messages : 16
    Points : 14
    Points
    14
    Par défaut
    les questions n'arretent pas de me tomber sur la tete mais je pense que c'est suffisant pour le moment, merci à toi dkmix je vais lire le document que tu ma donné

  12. #12
    Membre à l'essai
    Femme Profil pro
    Étudiant
    Inscrit en
    Juin 2019
    Messages
    25
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Haut Rhin (Alsace)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2019
    Messages : 25
    Points : 18
    Points
    18
    Par défaut
    Bonjour !

    7ans après votre petite discussion, je me permet de m'incruster vu que je dois faire exactement la même chose, j'aimerai savoir comment tu as pu gérer le problème que t'avais si tu te rappelles !!

    j'aimerai déployer mon appli winforms également sur plusieurs PC en local (en mode déconnecté) du coup je vais devoir mettre la base de données dans chacun des postes !
    L'idée de la base de donnée centralisée dans un serveur me semble très logique mais pas fonctionnelle en mode déconnecté, il y a-t-il un moyen de déployer l'appli avec sa base de données ?


    Merci d'avance pour votre réponse !

  13. #13
    Membre chevronné
    Profil pro
    Développeur Web
    Inscrit en
    Février 2008
    Messages
    2 121
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Février 2008
    Messages : 2 121
    Points : 2 234
    Points
    2 234
    Par défaut
    Bonjour,

    Le but d'une discussion qui reste en ligne sur un forum, c'est qu'on puisse la lire, pas qu'on demande à chacun de répéter ce qu'il a dit sept ans plus tard.

    La première réponse, celle de sevyc, commence par :
    "A partir du moment ou l'application est partagée entre plusieurs utilisateurs, oui, la base de données se doit d'être sur un serveur. "

    Si tu commençais par ça ? Même si le serveur est sur localhost, c'est-à-dire qu'il est sur ta machine.

    Après, il faut mettre à disposition sur chaque poste utilisateur (donc dans le fichier de déploiement) la chaîne de connexion qui permet d'accéder à la base. Puis il faut que le programme la lise puis l'utilise pour accéder à la base.

    Pour faire ça tu auras l'occasion de t'intéresser aux droits d'accès à la base, de façon que les gens qui doivent en avoir le droit puissent lire la base, peut-être aussi écrire, et les autres non.

    Je te propose d'écrire un programme qui accède à la base, puis qui affiche tous les enregistrements d'une table.
    L'accès à la base est la première difficulté, et l'affichage est ce qui te permet de t'assurer que tu t'en es bien sorti.
    Avec ça tu as contrôlé l'accès séquentiel, puis tu peux mettre un champ de saisie pour contrôler une recherche dans la base, afin de contrôler l'accès direct.

    Pour le stockage de la chaîne de connexion tu risques d'avoir besoin de lancer une recherche sur "C# paramètres d'application". Bien sûr si tu oublies le .Save(), tu ne mettras pas à jour le paramètre.

    Et une fois que l'accès à la base est rôdé, que tu affiches la table dans différents ordres, que tu peux modifier un enregistrement, plus qu'à introduire le reste de l'application.

    Une fois que tu as lu ce qui est écrit dans le fil, si vraiment il reste une difficulté de mise en œuvre tu peux préciser ce qui te gêne. D'ailleurs si c'est quelque chose qui dépasse les points traités, tu peux créer un nouveau fil dans le forum, car les intervenants sont peut-être passés à autre chose, maintenant.
    Si c'est pour rebondir sur le fil rien n'empêche d'en citer l'URL dans le nouveau fil, comme ça les gens qui vont te répondre pourront le lire avant de répondre.

  14. #14
    Modérateur
    Avatar de sevyc64
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Janvier 2007
    Messages
    10 192
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Janvier 2007
    Messages : 10 192
    Points : 28 075
    Points
    28 075
    Par défaut
    Citation Envoyé par enigmma Voir le message
    L'idée de la base de donnée centralisée dans un serveur me semble très logique mais pas fonctionnelle en mode déconnecté, il y a-t-il un moyen de déployer l'appli avec sa base de données ?
    SI les données sont communes à plusieurs utilisateurs sur plusieurs poste, la base centralisée est un passage obligatoire, et le mode déconnecté incompatible.

    Si le mode déconnecté est malgré tout inévitable, cela va nécessiter d'avoir 2 bases de données, la centralisée et une locale, mais surtout aussi tout un système complexe de double synchronisation des bases avec gestion des conflits qui en découleront obligatoirement.
    Sachant que dans une telle situation :
    - L'utilisateur local n'a accès qu'aux données centrales de la dernière synchronisation. Ceux ne sont donc pas forcément des données à jour.
    - Les autres utilisateurs n'ont pas accès aux données de cet utilisateur local tant qu'il n'a pas effectué de synchronisation. Ils n'ont donc potentiellement pas non plus des données à jour.
    - Lorsqu'un même élément a été mis à jour en local, mais aussi sur la base centrale par un autre utilisateur depuis la dernière synchronisation, il va falloir arbitrer le conflit de mise à jour pour savoir qu'elle est la bonne données et donc avec potentiellement une perte de la "mauvaise" donnée.
    - liste non exhaustive....

    Mais dans ce cas, ce n'est pas simplement un problème de déploiement d'application. Un tel système doit se concevoir dès le départ, dès la construction de la base, avant même l'écriture de tout bout de code. Celui-ci devant évidemment être adapté en conséquence.


    Pou info, un petit exemple, parmi énormément d'autres, de base centralisée/locale avec la gestion des conflits : Les dépôts de sources, git hub, tfs, subversion, etc... dans une équipe de plusieurs développeurs qui travaillent tous sur le même projet.
    --- Sevyc64 ---

    Parce que le partage est notre force, la connaissance sera notre victoire

  15. #15
    Membre chevronné
    Profil pro
    Développeur Web
    Inscrit en
    Février 2008
    Messages
    2 121
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Février 2008
    Messages : 2 121
    Points : 2 234
    Points
    2 234
    Par défaut
    Je me rappelle avoir eu l'occasion de faire ça il y a une vingtaine d'années, quand l'Internet mobile était beaucoup moins développé.
    Chaque commercial était responsable de son secteur, donc ça limitait les risques de conflit. Les données circulaient seulement du bas vers le haut. Du commercial vers le pays, puis du pays vers l'Europe.
    Le logiciel local préparait un fichier d'échange qui contenait les différences par rapport à ce que le pays avait déjà, et pareil au niveau au-dessus. Le fichier d'échange contenait, en plus des colonnes de départ des tables, un champ de type d'opération : ajout (majoritaire), modification, suppression. Ça évitait d'avoir à envoyer tout le contenu de la base à chaque fois.

Discussions similaires

  1. Réponses: 2
    Dernier message: 10/09/2012, 15h07
  2. JBOSS : déploiement d'applications.
    Par FMP dans le forum Wildfly/JBoss
    Réponses: 15
    Dernier message: 23/12/2005, 16h42
  3. Déploiement d'applications.
    Par danuz dans le forum XMLRAD
    Réponses: 3
    Dernier message: 02/10/2003, 16h41
  4. [XMLRAD]Déploiement d'application
    Par rgarnier dans le forum XMLRAD
    Réponses: 3
    Dernier message: 15/01/2003, 10h22

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