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 Java Discussion :

Conseils developpement application


Sujet :

Langage Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    FMC
    FMC est déconnecté
    Membre averti
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    25
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Mai 2005
    Messages : 25
    Par défaut Conseils developpement application
    Bonjour,


    je souhaite développer une application de gestion de commande client.
    Dans un premier temps je souhaiterais pouvoir gérer une client de client, avec coordonnées, et pouvoir associer à un client une commande qu'il a réalisé, avec suivi, acompte, etc...

    Le but étant de gérer tout ça d'une manière uniforme, parce que j'en ai marre de mes listes sur le comptoire.

    Mon idée était de fonctionner avec une base de données. Et par la suite éventuellement de gérer un accès Intranet ou Internet, mais c'est pas le plus important.

    J'ai commencé à apprendre le Java, mais je suis encore perdu dans la programmation Objet, et donc le but de mon topic est :

    1/ Est-ce que Java est adapté à ce genre de développement ? (Le multi-plateforme m'intéresse beaucoup)

    2/ Est-ce que Java peut communiquer avec une base de donnée style MySQL (que je maitrise relativement bien)

    3/ Que me conseilleriez-vous d'apprendre pour pouvoir réaliser mon application sans apprendre forcément Java de A à Z ?

    En vous remerciant !

  2. #2
    Membre émérite Avatar de remika
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    806
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 806
    Par défaut
    1/ Java est parfaitement adapté.
    2/ Java peut très facilement communiquer avec la plupart des SGBD, dont MySQL.
    3/ Commence par lire les tutoriels pour débutants, quelques FAQ Java du site. Pour la base de données, JDBC. Si tu veux faire un "intranet", regarde directement les frameworks java possibles pour créer des applis web : Struts, JSF,...

  3. #3
    in
    in est déconnecté
    Membre Expert Avatar de in
    Profil pro
    Inscrit en
    Avril 2003
    Messages
    1 612
    Détails du profil
    Informations personnelles :
    Localisation : France, Finistère (Bretagne)

    Informations forums :
    Inscription : Avril 2003
    Messages : 1 612
    Par défaut
    Citation Envoyé par FMC
    1/ Est-ce que Java est adapté à ce genre de développement ? (Le multi-plateforme m'intéresse beaucoup)
    Oui surtout si tu veux une appli portable, Java est la solution la plus plébiscitée

    Citation Envoyé par FMC
    2/ Est-ce que Java peut communiquer avec une base de donnée style MySQL (que je maitrise relativement bien)
    Ben sûr sinon ça sera super limité. Pour ce faire il faut regarder du côté de JDBC. Tu trouveras plein d'exemple, un bon point de départ est la FAQ

    Citation Envoyé par FMC
    3/ Que me conseilleriez-vous d'apprendre pour pouvoir réaliser mon application sans apprendre forcément Java de A à Z ?
    Bon alors ton appli est divisible au moins en 2 grosses parties. La partie "métier" qui contrôle ton appli, établit les règles de gestions à appliquer. Enfin tout le coeur quoi : qu'est ce qu'un client, comment j'ajoute un client, comment je le modifie, qu'est ce qu'une commande, quelles relations lient des clients et des commandes ... bref tout ce qui est fonctionnel.

    Ensuite la deuxième partie est la présentation des données. Il faut qu'elle soit indépendante de la première. Enfin je veux dire une fois que tu as la partie métier il faut que si tu veux faire du web ou alors un client lourd où même une appli pour téléphone mobile, tu n'ais pas à repenser le métier. Seulement la couche présentation.

    Tout cette partie découpage c'est un peu le modèle MVC (modèle - vue - controleur). Mais bon attends un peu avant de t'y plonger d'avoir déjà des bases.

    Pour ton apprentissage, commence simplement par faire la partie métier sans te soucier de l'affichage. Quand déjà tu relieras ça avec la base de données tu auras fait une grosse partie (en tout cas la plus importante pour ton appli). Tu pourras ensuite attaquer la partie présentation.

    Bien sûr plusieurs possibilités techniques sont offertes, mais je te conseille de faire simple dans un premier temps. Par la peine d'aller voir du côté J2EE auy début. Tu pourras toujours adapter ton prog par la suite (surtout avec les EJB3)

    Pour bien débuter, il faudra que tu passes par des tutoriels. Une chance, l'exemple "Application de gestion de clients" est un exemple bateu en programmation. Tu n'auras donc aucun mal à trouver des exemples qui colleront avec ce que tu veux faire, la plupart seront en plus liés à une base de données.


    Sur ce bon courage. Et n'hesites pas à poser des questions sur le modèle (partie métier) que tu vas utiliser. C'est le plus important. Si il est bien fait àa te simplifieras la vie, surtout quand tu voudras faire une version 2.0 !

  4. #4
    FMC
    FMC est déconnecté
    Membre averti
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    25
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Mai 2005
    Messages : 25
    Par défaut
    Waw !!

    Merci beaucoup pour vos réponses à tous les deux !

    C'est justement dans la partie "métier" que je suis un peu perdu. J'ai l'habitude de la programmation simple, en ligne par ligne. Je m'y connais bien en PHP, même si ça reste très simple par rapport au reste je suis assez content de le maitriser.

    Donc pour en revenir au métier, comment je dois faire pour programmer "objet" ?

    1/ La gestion de l'ajout des clients, je dois le faire comme si c'était une fonction ?

    2/ Le retour d'une liste de clients, comment prévoir un retour intéressant pour l'affichage ?

    3/ C'est sans doute pas une question importante pour maintenant, mais comment lié deux .class dans un même programme ? Puisque apparemment il devrait y avoir un .class métier, et un .class visuel.

    Désolée, je vous semble peut-être lourd, mais malgré mon book, j'ai du mal à saisir la programmation Java. Pendant des chapitres, on nous parle de dépendance, et autres, ensuite ils passent très vite à l'interface graphique, alors qu'apparemment c'est pas conseillé.

    Je vous remercie !!

  5. #5
    in
    in est déconnecté
    Membre Expert Avatar de in
    Profil pro
    Inscrit en
    Avril 2003
    Messages
    1 612
    Détails du profil
    Informations personnelles :
    Localisation : France, Finistère (Bretagne)

    Informations forums :
    Inscription : Avril 2003
    Messages : 1 612
    Par défaut
    Ben en fait le plus simple est de raisonner de manière la plus abstraite possible.

    En gros (vraiment simpliste):

    1. Qu'est ce qu'un client, qu'est ce qu'une commande
    -> avec ça tu définis tes classes. Par exemple ton objet client possède des attributs comme un nom, un prénom, une adresse ...

    2. Comment sont liés mes clients et mes commandes ? Est ce que c'est au client que j'ajoute une commande ? est ce qu'une commande peut être liée à plusieurs clients ? Est ce qu'un client peut exister sans avoir de commande ? ...

    3. qu'est ce que la gestion de mon magasin ?
    -> un système qui me permets de gérer une liste de clients (ajout, modif, supression ...), de créer des commandes ...

    En réfléchissant à ces 3 points tu devrais réussir à créer 3 classes, Client, Commande et Magasin. Déjà c'est un bon point de départ et tu pourras déjà faire des tests, relier tout ça à la base de données ...


    Pour répondre à tes questions :

    1 : A priori ton Magasin possède une liste de Clients.
    Dans la classe magasin tu auras surement qqchose comme
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    List listeClients = new ArrayList();
    Pour ajouter un client, il suffit de faire :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    listeClients.add(new Client( ...));
    Mais ce n'est qu'un exemple. Tu peux penser à d'autres manières de faire, il faut que ça représente vraiment le "métier"

    2 : ce n'est pas important.
    Ta vue doit être capable d'afficher une liste de Clients. C'est simplement l'affichage de plusieurs clients. a toi de définir au niveau du client ce qu'il faut afficher ou non. Après que tu fasse ça dans une liste déroulante, un tableau ... peut importe. Un client reste un client. Tu dois pouvoir l'afficher comme tu le souhaites. Il ne faut pas que tu crées ta classe client en pensant "mais comment ça va donner graphiquement ?"

    3 : Ces classes sont simplement liées par les références qu'elles ont entre elles. La classe "visuelle" aura tout simplement une référence sur la liste des clients de ton magasin. Elle elle fera juste un truc comme client.affiche()
    Cette méthode affiche peut simplement se contenter de faire par exemple
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    System.out.println("Client : "+client.getNom()+" "+ client.getPrenom());
    Bref, j'espère que je suis pas en train de t'embrouiller là ...

    Pour commencer contente toi simplement de faire ta classe Client, ta classe Commande et ta classe Magasin (sans la bdd au début). Une fois que tu auras ça, le reste viendra beaucoup plus facilement ...

    Bon courage

  6. #6
    FMC
    FMC est déconnecté
    Membre averti
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    25
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Mai 2005
    Messages : 25
    Par défaut
    Pour résumé un peu, je dois avoir un .class (ou 3) contenant les méthodes pour les clients, les commandes et magasin (même si je vois pas encore pourquoi).

    Et ma classe client devrait par exemple se présenter comme ça :
    (c'est une image, la synthaxe n'est pas sensée être bonne)

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    class Clients() {
     
      method AjoutClient(Nom, Prenom, Tel) {
      }
     
      method ModifClient(Id, Nom, Prenom, Tel) {
      }
     
      method ClientList() {
        return array("Nom|Prenom|ID", ...)
      }
     
    }
    Ensuite, je suppose que du côté GUI, je dois appeler par exemple la méthode ClientList dans la méthode d'affichage de la liste, et interprêté les données.

    Suis-je dans la bonne voie ?

    --

    Edit : Je commence à comprendre le système de programmation objet. Pas évident au début ! En tous cas, merci à Jean-Michel Doudoux pour son tuto sur le site.

    Et merci aux autres !

  7. #7
    in
    in est déconnecté
    Membre Expert Avatar de in
    Profil pro
    Inscrit en
    Avril 2003
    Messages
    1 612
    Détails du profil
    Informations personnelles :
    Localisation : France, Finistère (Bretagne)

    Informations forums :
    Inscription : Avril 2003
    Messages : 1 612
    Par défaut
    En fait ta classe Client (et réciproquement pour les autres) ne représente qu'un client. La liste des clients est gérée au niveau du magasin.

    En gros pour ta classe client (par exemple) :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    public class Client {
     
        /** Les attributs d'un objet client */
        private String nom = null;
        private String prenom = null;
     
         /** le constructeur. Il est appelé quand tu fais un new Client
               il te permet de créer (instancier) un objet client
               @param unNom Le nom à attribuer au client
               @param unPrenom Le prénom à attribuer au client
         */
         public Client(String unNom, String unPrenom) {
               nom = unNom;
               prenom = unPrenom;
         }
     
         /** méthode qui te permets de récupérer le nom d'un client
               le fait qu'elle soit public indique que tu peux appeler cette méthode
               de l'extérieur (depuis magasin par exemple) 
         */
         public getNom() { return nom;}
     
         /** méthode qui te permets de modifier le nom d'un client
               note le public qui te permets d'appeler cette méthode depuis     l'extérieur */
         public setNom(String nouveauNom) { nom = nouveauNom;}
     
         /** exemple d'une méthode appelée quand tu fais un affichage d'un client par System.out.println(unClient)*/
         public toString() { return "Je m'appelle "+prenom+" "+nom;}
    }//class
    et par exemple ta classe Magasin correspondant :


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    public class Magasin {
     
        /** pareil, définition des attributs */
        List<Client> listeClient = null;
     
        /** un constructeur pour initialiser */
        public Magasin() {
             listeClient = new ArrayList<Client>();
        }
     
     
        /** un exemple de méthode pour ajouter un client au magasin
              Elle utilise le constructeur de la classe Client
        */
        public addClient(String nom, String prenom) {
             listeClient.add(new Client(nom, prenom);
        }
     
     
        /** un exemple de méthode pour afficher la liste des clients du magasin*/
        public afficheClients() {
               System.out.println("Liste des clients : ");
               for(Client cli : listeClient){
                    Sysem.out.println(cli);
               }
        }
     
     
        /** méthode pour lancer ton appli et la tester */
        public static void main(String[] args){
            Magasin mag = new Magasin();   // créer un magasin en appelant le constructeur
            // ajoute 2 clients
            mag.addClient("Dupont","Marcel");
            mag.addClient("Dupond","Robert");
     
            // affiche la liste des clients
            mag.afficheClients();
        }
    }//class
    Comme tu peux le voir, tout passe par les objets. Car en java tout est Objet. Au départ tu crées tes briques de bases. Puis des classes qui utilisent ces briques pour faire des trucs plus complexes et ainsi de suite.

    essaie d'ajouter la classe Commande pour t'entrainer ...

Discussions similaires

  1. Conseil developpement application web (saas)
    Par lyner dans le forum Débuter
    Réponses: 1
    Dernier message: 22/09/2015, 21h32
  2. Conseil developpement options d 'une application
    Par skyangel dans le forum Général Java
    Réponses: 5
    Dernier message: 08/05/2008, 14h33
  3. [Conseils] Developper Un Irc Bot
    Par PoiSon dans le forum IRC / mIRC
    Réponses: 4
    Dernier message: 11/11/2006, 15h04
  4. Besoin conseil developpement web - messagerie
    Par xman_genius dans le forum Autres Logiciels
    Réponses: 5
    Dernier message: 24/04/2006, 21h33
  5. Conseils developpement sur base de données
    Par koolkris dans le forum Bases de données
    Réponses: 4
    Dernier message: 27/07/2005, 11h16

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