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

C# Discussion :

Programmer une application sous C# pour LAN


Sujet :

C#

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Étudiant
    Inscrit en
    Avril 2007
    Messages
    29
    Détails du profil
    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2007
    Messages : 29
    Par défaut Programmer une application sous C# pour LAN
    Salut tous,
    je me suis habitué à coder des petites applications en C# sous mon PC et les exécuter seulement localement (juste sur mon ordinateur)..
    mais, dans un projet, je dois développer une application pour qu'elle soit utilisable de n'importe quelle machine en réseau local...
    le problème est que je n'ai aucune idée comment ça marche ..
    si vous avez une idée/ liens pour des tutoriels/ e-books / ...ça sera le bienvenu
    et merci en avance

  2. #2
    Membre émérite Avatar de ctxnop
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juillet 2007
    Messages
    858
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Morbihan (Bretagne)

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

    Informations forums :
    Inscription : Juillet 2007
    Messages : 858
    Par défaut
    Je ne suis pas sur de comprendre ce que tu veux faire.
    Tu veux :
    1) Que n'importe qui sur ton réseau local puisse copier ton programme pour l'exécuter sur sa machine ?
    2) Que n'importe qui sur ton réseau local puisse exécuter ton programme sans avoir à le copier, mais le programme s'exécutera comme si il avait été copié localement ?
    3) Que n'importe qui sur ton réseau local puisse exécuter ton programme mais que celui-ci s'exécute (et donc agit) sur la machine sur laquelle il est présent ?

    Dans les deux premier cas il ne s'agit que d'un partage réseau, ca n'a donc absolument rien à voir avec C# ou même .Net.
    Dans le troisième cas il faut implémenter un client/serveur et un protocole (ou en utiliser un existant).

    Il y a surement d'autres cas auxquels je n'ai pas pensé et qui demanderont une solution encore différente.
    Bref, avec ton énoncé, on a pas assez d'infos pour savoir ce que tu veux faire.

  3. #3
    Expert éminent Avatar de Pol63
    Homme Profil pro
    .NET / SQL SERVER
    Inscrit en
    Avril 2007
    Messages
    14 197
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : .NET / SQL SERVER

    Informations forums :
    Inscription : Avril 2007
    Messages : 14 197
    Par défaut
    si tu veux faire un programme multi instance/multi utilisateur à savoir plusieurs exe peuvent etre exécuté sur plusieurs pc en meme temps et que tu n'es pas lié à des données rien de plus à faire

    par contre si tu as des données c'est en effet différent
    le mieux est alors d'avoir les données dans une base de données multi utilisateur (sql server par exemple)
    pour accéder à une base de données il faut spécifier où elle se trouve donc mettre l'ip du pc et ca pourra fonctionner de partout sur le réseau

    il faut au passage se poser la question du rafraichissement des données et des modifications simultannées, là plusieurs possibilités :
    - le dernier qui modifie a raison
    - en cas de modification et que la valeur dans la base n'est pas celle qui était affiché précédemment (= un autre user a modifié entre temps) demander quoi faire
    ou sinon rafraichir les données toutes les secondes par exemples qui peut aller avec les 2 modes que j'ai cité
    ou le mieux c'est qu'en cas de modification d'une données, tous les clients connectés soit informés et l'interface mise à jour, et là plusieurs possibilités qui diffèrent sur les performances et la complexité d'écriture (sql server notifications, ou un exe serveur de synchro (wcf ou .net remoting))
    m'enfin pour choisir il faut voir les impératif de l'appli, des fois on s'en fout et on applique le dernier qui modifie a raison, avec un peu de rafraichissement total des fenetres ouvertes de temps en temps
    Cours complets, tutos et autres FAQ ici : C# - VB.NET

  4. #4
    Membre averti
    Étudiant
    Inscrit en
    Avril 2007
    Messages
    29
    Détails du profil
    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2007
    Messages : 29
    Par défaut
    je vais essayer mon max pour vous expliquer ce que je veux vraiment..
    mon application sert à gérer les visites des clients...
    ces clients sont reçus par un ou plusieurs employé(s) dans le service de réception..
    Lors de la réception, on remplie un formulaire de visite qui contient leurs infos personnelles ( Nom, Date Naissance, ...) et quelques détailles de la visite ( date de visite, commentaire, ..)
    alors pour l'architecture, je me suis penser à utiliser une seule base de données SQL Server ,et pour l'application, elle sera installer sur plusieurs postes, mais elles utilises tous la même base de donnée...
    ===
    ce que je veux savoir, est comment je puisse faire communiquer mon application qui est installée sur une machine supposant a comme IP 192.168.1.5 avec ma base de données qui est implémenté dans 192.168.1.2 ..
    je me suis habitué à travailler avec des applications qui existe sur la même machine avec leurs bases de données
    et Merciiii

  5. #5
    Membre émérite Avatar de ctxnop
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juillet 2007
    Messages
    858
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Morbihan (Bretagne)

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

    Informations forums :
    Inscription : Juillet 2007
    Messages : 858
    Par défaut
    Sans vouloir être méchant, ton français est a peine compréhensible, ce n'est pas ta langue naturelle ?
    Bref, un serveur SQL est déjà multi-utilisateurs et disponible à travers le réseau (à condition d'être configuré pour).
    Donc tu n'as pas grand chose à faire. Regardes du coté des ConnectionString pour Sql Server histoire de comprendre comment attaquer un serveur SQL qui n'est pas sur ta machine.

    Généralement dans un cas comme ca on écrit quand même un petit serveur. Histoire de centraliser un peu tout ca et bien être maitre de la concurrence d'accès. Mais bon, pour une tout petit truc, je ne sais pas si le jeu en vaut la chandelle.

  6. #6
    Expert éminent Avatar de Pol63
    Homme Profil pro
    .NET / SQL SERVER
    Inscrit en
    Avril 2007
    Messages
    14 197
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : .NET / SQL SERVER

    Informations forums :
    Inscription : Avril 2007
    Messages : 14 197
    Par défaut
    il faut paramétrer sql server pour qu'il accepte les connexions distantes (= qui viennent du réseau)
    ensuite quand tu te connectes à une base de données depuis .net il y a une chaine de connexion
    pour access c'est du type "DATABASE=x:\dossier\db.mdb"
    pour sql server ca ressemble plus à "SERVER=192.168.x.y\InstanceSqlServer;DATABASE=nom_de_la_base;USER ID=login;password=mot_de_passe"
    ensuite pour les requetes c'est pareil
    pour sql server tout se trouve dans system.data.sqlclient

    il vaut mieux installer sql server en mode d'authentifaction mixte
    sql server express est gratuit, mais je crois qu'il est limité au niveau de la license à 5 utilisateurs (plus ca marche, mais c'est peut etre pas légal)
    tu peux essayer avec sql server express au début, et migrer ensuite sur sql server standard, ca ne change rien au code (ni à la chaine de connexion)
    et la chaine de connexion qui contient l'ip ne sera peut etre pas la même sur ton réseau et sur le réseau du client, donc soit la mettre dans un fichier ini, soit dans les params du projet ou sinon recompiler (moins cool)

    sql server est multithreadé, donc si x postes font un select sur la meme table ca ne pose pas de soucis
    après sur un gros projet, il faut apprendre comment sql server fonctionne en interne pour bien faire, sinon on a une base de données pas réactive
    (genre mettre des clé entière avec auto incrément, mettre quelques indexes mais pas au hasard ...)
    Cours complets, tutos et autres FAQ ici : C# - VB.NET

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

Discussions similaires

  1. Problème pour lancer une application sous AIX
    Par Bouga74 dans le forum AIX
    Réponses: 2
    Dernier message: 23/08/2010, 13h46
  2. Problème d'accès à distance pour une application sous JBoss
    Par El Saigneur dans le forum Wildfly/JBoss
    Réponses: 4
    Dernier message: 05/06/2010, 17h22
  3. programmer une application pour blackberry
    Par ramanov dans le forum Langage
    Réponses: 1
    Dernier message: 17/07/2008, 14h20
  4. Quelle solution pour programmer une application de gestion élève ?
    Par LouReed dans le forum Langages de programmation
    Réponses: 10
    Dernier message: 19/05/2008, 14h50

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