Communication serveur/client

Fermé
Kilkenny95 Messages postés 157 Date d'inscription lundi 24 septembre 2018 Statut Membre Dernière intervention 31 août 2020 - Modifié le 6 nov. 2018 à 13:49
Kilkenny95 Messages postés 157 Date d'inscription lundi 24 septembre 2018 Statut Membre Dernière intervention 31 août 2020 - 7 nov. 2018 à 15:27
Bonjour, je dois développer une base de données (MySQL) avec une interface utilisateur qui pourra modifier ou rechercher une donnée dans la BDD;

Je dois développer une appli desktop et une appli mobile (j'ai pensé au java).

J'ai un nas qui me servirai de serveur pour ma base.

l'appli desktop doit pouvoir communiquer avec ma BDD depuis n'impporte quel pc et et l'appli mobile doit communiquer depuis n’importe quel telephone.

De ce que j'ai compris, je dois faire communiquer ma BDD et mes interfaces client via un serveur web.

Question:

1) Pour "transformer" mon nas en serveur, je dois simplement installer MySQL ? wamp ?

2) C'est quoi concrètement un serveur web ? un logiciel ? un truc que je dois programmer ? si oui, où ? en quoi ?

3) Combien de temps temps me prendrai (environ) de faire une appli desktop ? et mon appli mobile ?

merci d'avance

4 réponses

jee pee Messages postés 39578 Date d'inscription mercredi 2 mai 2007 Statut Modérateur Dernière intervention 16 avril 2024 9 221
Modifié le 6 nov. 2018 à 15:26
Bonjour,

1/ Pour gérer la base de donnée, tu dois installer mysql. Wamp pas question puisque le w signifie Windows, Synology étant un noyau linux.

Ce qu'il faut retenir de l'acronyme amp :
  • C'est un serveur web (a=apache), un serveur web c'est un logiciel qui tourne sur une machine, qui classiquement reçoit des demandes sur le port http (80) et renvoie les pages html vers le navigateur de l'utilisateur.
  • c'est une serveur de gestion de bdd (m=mysql)
  • c'est un noyau gestion de pages dynamiques (p=php)


2/ Donc si sur ton serveur (la machine) tu as installé un trio "amp", il te reste à écrire ton site web, dont tu placeras les sources sur le serveur.
Pour un site statique, tu utiliserais le html, mais ce n'est pas adapté pour un site dynamique, dont les pages sont constituées avec des informations contenues dans la bdd, par exemple. Ce type de site dynamique sera écrit avec un langage comme php, qui va constituer la page envoyée au navigateur de l'utilisateur.

Cdlt
0
jee pee Messages postés 39578 Date d'inscription mercredi 2 mai 2007 Statut Modérateur Dernière intervention 16 avril 2024 9 221
Modifié le 6 nov. 2018 à 14:04
Une application desktop ou une application mobile qui accèderaient directement à la base de données ne nécessiterait pas le serveur web et le serveur php. Ces 2 derniers sont utiles pour une application développée pour un navigateur internet.

Par contre, comme cela te l'a été conseillé, c'est utile pour des webservices gérant les accès à la base.

C'est quoi un webservice : c'est une interface standardisée, qui sera utilisée pour la communication entre ton appli et la bdd. Ainsi tu ne codes pas les accès, les controles et les mises à jour de la bdd dans l'application. L'application envoie un message (action + données) au serveur web (récupérer les infos client, créer un client, mettre un jour un client). Sur le serveur web une appli (php par exemple, mais je ne suis pas certain que ce soit le meilleur langage pour cela) reçoit la demande, effectue l'action souhaitée et renvoie la réponse à l'application demanderesse.
0
Kilkenny95 Messages postés 157 Date d'inscription lundi 24 septembre 2018 Statut Membre Dernière intervention 31 août 2020
6 nov. 2018 à 14:23
Salut !!

Merci pour tes explications, mais je suis encore un peu perdue...

Quand tu parles d'ecrire mon appli web, tu parles d'un webserveur ? Et ce webserveur je le code et je le fou dans mon nas directement ? pcq j'ai du mal a voir ce qu'est une appli web, j'ai lu tout un tas de trucs : d'un côté c'est une sorte de site web, et de l'autre c'est un truc pour moi un peu obscure qui permet ma bdd de communiquer avec mon interface client.

Ensuite tu parles d'appli dynamique ? pourquoi ? pcq il est vrai j'avais pensé à un site dynamique avant d'opter pour un appli desktop et appli mobile,mais j'ai laissé tomber cette option.

"Une application desktop ou une application mobile qui accèderaient directement à la base de données ne nécessiterait pas le serveur web et le serveur php"
J'ai pourtant lu partout que si. Sinon comment faire communiquer ma base avec mes applications desktop et mobile ?
0
jee pee Messages postés 39578 Date d'inscription mercredi 2 mai 2007 Statut Modérateur Dernière intervention 16 avril 2024 9 221
Modifié le 7 nov. 2018 à 00:32
C'est vrai que ce n'est pas simple d'appréhender toutes ces notions. On (moi compris) n'utilise pas toujours les bons termes.

Serveur = machine
Serveur web = machine + logiciel serveur web (apache, tomcat, iis, ias, weblogic, ...)
Logiciel serveur de constitution de pages dynamiques : php, asp. Le moteur php s'installe en plus du logiciel serveur web.

Site web VS Application web : CCM est un site web, pas une application web. Une application web ce serait une gestion de commande développée en Java EE utilisable depuis un simple navigateur.
http://codegenome.com/blog/posts/la-difference-entre-un-site-web-et-une-application-web
https://www.supinfo.com/articles/single/1156-difference-serveur-web
https://openclassrooms.com/fr/courses/626954-creez-votre-application-web-avec-java-ee

Et une application web est différente d'une application client/serveur s’exécutant sur un pc.

On peut se connecter depuis une application java desktop à une base de donnée directement : JDBC
0
Kilkenny95 Messages postés 157 Date d'inscription lundi 24 septembre 2018 Statut Membre Dernière intervention 31 août 2020
Modifié le 7 nov. 2018 à 09:21
Donc pour mon application desktop j'utilise simplement JDBC pour communiquer mon appli depuis ma base ?

Pas besoin d'un webserveur ?
0
jee pee Messages postés 39578 Date d'inscription mercredi 2 mai 2007 Statut Modérateur Dernière intervention 16 avril 2024 9 221
Modifié le 7 nov. 2018 à 15:25
Oui mais les webservices qui t'avaient été proposés me semblaient une bonne idée, surtout quand 2 appli (pc et mobile). D’ailleurs mobile = android, ios ou les 2 ? Dans ce dernier cas 3 applications.

Après se posent des questions de sécurité et réseau. On évite d'ouvrir le port bdd sur internet. Tes applications seront utilisées en réseau local ou en internet ?

Tu n'as pas des personnes pour te guider dans ton entreprise. D'abord sur le choix des technologies. Car généralement il y a des choix d'effectués, on ne multiplie les types de solutions, ne serait-ce que pour assurer la maintenance des applications.
0
Kilkenny95 Messages postés 157 Date d'inscription lundi 24 septembre 2018 Statut Membre Dernière intervention 31 août 2020
7 nov. 2018 à 15:27
J'avais plus pensé à une appli Android en effet.

Je travaille pour une grosse boite, qui possède 2 réseaux : 1 réseau "principal" trèèèèèèèèès fermé où aucun logiciel ne peut être installé (sauf demande avec procédure trèèèèèèès longue) et un deuxième réseau "industriel" plus souple.
J'ai donc un pc sous aucun des 2 réseaux (mais donc sans internet mais mon maitre d'apprentissage vas bidouiller pour que j'ai un accès internet) avec un switch et mon nas. Donc je sais pas qi je passe par le local ou par internet. Je suppose que si je passe par internet c'est un peu plus "compliqué" à mettre en place ?

Pour l'appli desktop je peux passer par le réseau local, mais pour l'appli je dois forcément passer par internet non ?

Non pas vraiment haha, je suis un peu seule à ce niveau là. Le choix c'est à moi de les choisir et de justifier leur utilisation, ,c'est tout.
0