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

Java Discussion :

Reprise de la prog après des années d'arrets


Sujet :

Java

  1. #1
    Nouveau Candidat au Club
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Novembre 2020
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France, Pas de Calais (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Novembre 2020
    Messages : 2
    Points : 1
    Points
    1
    Par défaut Reprise de la prog après des années d'arrets
    Bonjour à tous;

    Je bosse pour une petite boite(on est deux ) et pour nous faciliter la tâche j'aimerai nous créer un petit programme. je me suis donc replongé dans la prog il y à peu(JAVA et HTML).

    Le programme doit pouvoir être accessible sur un site web et pouvoir être consulter et modifier un fichier client. Du coup je me pose pas mal de question quand au choix des technologies pour la réalisation de ceci.

    Est ce que je dois passer par des requêtes sql ainsi qu'une base de donnée de type oracle, ou bien est ce que je peux tout faire en html et java avec des scripts qui modifieraient un tableau excel par exemple ou une variable tableau qui serait sauvegardé sur le site.

    Si vous pourriez me conseiller, me donner des pistes parce parce que là je rame un peu.

    Merci d'avance pour votre lecture et vos réponses !!

  2. #2
    Membre régulier
    Profil pro
    Inscrit en
    Octobre 2008
    Messages
    124
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2008
    Messages : 124
    Points : 86
    Points
    86
    Par défaut
    Bonjour ODesc,

    Ça pourrait être bien que tu donnes un peu plus de détails sur ce que tu veux faire comme opérations sur les données clients, sur ton bagage en développement et le temps que tu peux y allouer. Il y a aussi des notions de sécurité à ne pas oublier car tu envisages d'envoyer des informations sur des clients sur internet.

    Concernant la gestion des fichiers clients, j'imagine que ce sont des fichiers Excel, ..., Word, que leurs formats et leurs contenus sont variable.
    Ceci étant, je t'encourage très fortement à généraliser l'organisation et le format des données clients en les stockant dans une base. Cela te fera très rapidement gagner du temps, même si cela t'en demandera plus au début.
    Dès que tu auras à exploiter les données tu gagneras beaucoup de temps si elles sont organisées dans une base. Si tu t'orientes vers des fichiers, ce sera vite laborieux à utiliser et une fois que ce sera mis en place la bascule deviendra très couteuse, voir impossible.

    Pour la mise en place d'une base tu devras :
    1. trouver un modèle commun à tous les clients,
    2. créer la base avec les tables correspondant à ce modèle,
    3. reporter les données dans la base en corrigeant, adaptant leur format, en les réorganisant dans différentes tables,
    4. si tu as vraiment trop de clients à traiter tu pourras automatiser une partie de ces traitements avec un programme java ou autre.


    Pour ce qui est des bases, tu peux partir vers une solution simple comme une base H2.
    Voir une base MySQL qui est facile à installer.
    Voir même une base PostgreSQL qui est avancée mais pas forcément très compliqué à mettre en place.
    Ou si tu as déjà des bases Oracle dans ton entreprise, tu peux les utiliser.
    Si tu optes pour une solution basique, il ne sera pas insurmontable de basculer vers une solution plus aboutit, tant que c'est du SQL.

    Je ne sais pas si tes choix de langages sont arrêtés, mais il y a des framework qui sont vraiment très rapide a mettre en place, du front à la base de données.
    En cas tu peux jeter un œil à quelques tuto qui en quelques heures peuvent te permettre d'arriver à une démo complète.

    Par exemple AngularJs et ReactJs pour le front que tu peux associer à un framework Spring pour les couches inférieures (c'est du Java) et une base de données.

    Voici un tuto en ReactJs : https://spring.io/guides/tutorials/r...ing-data-rest/
    Ce tuto est très bien pour une application qui se limite à des accès aux données de type CRUD (opérations de bases : création, consultation, ajout, suppression.).
    Cela à l'air de répondre à ton besoin à court terme.

    Ou encore ce tuto : https://medium.com/@mukundmadhav/bui...l-6f888eb0c600
    Pour une application qui ne se limite pas à des opérations CRUD mais qui va gérer des traitements métier (ex: un client peut faire une commande ce qui va déclencher l'envoi d'un email).
    Une couche supplémentaire est ajoutée qui sera en charge des traitements métiers.
    A priori ce n'est pas ton besoin premier, mais il faut garder à l'esprit qu'une application comme la tienne sort très rapidement des opérations de base de type CRUD.
    J'aurai tendance à te conseiller de partir vers ce type d'architecture quitte à limiter les couches Services à faire passe plat (comme c'est le cas dans le tuto).

    Je ne cite ces tutos qu'à titre d'exemple, tu peux peut-être trouver mieux.

    Sache que ce ne sera jamais vraiment, pour te citer, "un petit programme" mais ce n'est largement pas insurmontable. Pour que ça reste faisable une bonne démarche est de commencer sur un petit périmètre.
    Si tu suis le tuto qui va bien, tu peux arriver à une bonne base pour la réalisation de ton application en quelques heures et faire la démonstration de ce que ça pourrait donner avec tes fiches clients.

  3. #3
    Nouveau Candidat au Club
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Novembre 2020
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France, Pas de Calais (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Novembre 2020
    Messages : 2
    Points : 1
    Points
    1
    Par défaut
    Merci pour ta réponse David.

    Au niveau de mon bagage j'ai un DUT informatique mais je n'ai pas écrit une ligne de code depuis 12ans autant dire que je dois réapprendre. Et vu la période nous avons une baisse d'activité, j'ai en moyenne une semaine sur deux ou je suis au bureau et à part quelques coups de fils et de mailing j'ai tout mon temps à consacrer à la programmation.

    J'ai discuté avec mon chef et nous avons décidé qu'il n'était plus nécessaire de faire fonctionner tout ceci via un navigateur et ce sera donc un programme local, la question de la sécurité des données ne se pose donc plus.

    Ma boite ne possède pas de base de données pour l'instant, mes fichiers clients sont actuellement tous papiers et donc tout est à faire. Les serveurs de base de données sont payants me semble-t-il?? et donc j'aurai préféré passer par autres choses. Nous n'avons pas des milliers de clients à gérer, à vue de nez je dirais une vingtaine par mois soit environ 240, c'est donc aussi pour cela qu'il me semble que passer par une base de données me semble exagéré..

    Les actions à effectuer sont effectivement de type CRUD, je dois pouvoir créer, consulter, ajouter, supprimer mais aussi modifier(j'imagine que cela fait aussi partie du genre d'opération possible). Par exemple si la visite annuelle d'un client n'a pas pu être faite le programme doit être capable de modifier la date de relance de la visite à M+1 et au contraire si elle à était faite de la modifier à N+1.

    Mes choix de langages ne sont pas arrêté, au contraire c'est pour cela que je me suis permis de poster ici, afin de ne pas me lancer a corps dans un programme avant de me rendre compte que j'aurai du faire autrement et tout recommencer.

    Sur ceux je me plonge dans le tuto ReactJS, je pense qu'il répondra déjà pas mal à mes interrogations!

  4. #4
    Membre régulier
    Profil pro
    Inscrit en
    Octobre 2008
    Messages
    124
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2008
    Messages : 124
    Points : 86
    Points
    86
    Par défaut
    Bonjour,

    Excuse moi ! j'ai du te faire peur avec le 1er lien . Ce n'est pas celui que je voulais t'envoyer. C'était celui-ci : https://github.com/spring-guides/tut...e/master/basic .
    En fait ce lien correspond au tout début du 1er. Il est dans "Part 1 — Basic Features" > "Step 0 — Setting up Your Environment" > "grab the code".

    Dans https://github.com/spring-guides/tut...e/master/basic, tu as un dépôt git avec avec un exemple de projet déjà fonctionnel et les explications dessous.
    Tu le télécharges en utilisant git, ou manuellement en remontant d'un niveau dans le dépôt, ici: https://github.com/spring-guides/tut...ring-data-rest (le petit projet est dans basic).
    Pour lancer la démo, depuis le dossier "basic", lance la commande indiquée dans "Launching the Backend".
    Tu auras ainsi un exemple déjà fonctionnel. Pour l'appeler, voir tout à la fin "With all this in place, re-run the application".

    Pour développer, tu peux utiliser Microsoft Visual Studio qui est un IDE très pratique et gratuit et qui intègre très bien ce genre de projet.

    Par contre le 1er lien est très complet et ça pourra t'aider une fois que tu auras compris comment fonctionne le projet basic.

  5. #5
    Membre régulier
    Profil pro
    Inscrit en
    Octobre 2008
    Messages
    124
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2008
    Messages : 124
    Points : 86
    Points
    86
    Par défaut
    Pour te répondre :

    Citation Envoyé par ODesc Voir le message
    J'ai discuté avec mon chef et nous avons décidé qu'il n'était plus nécessaire de faire fonctionner tout ceci via un navigateur et ce sera donc un programme local, la question de la sécurité des données ne se pose donc plus.
    Que tu utilises ReactJS ou AngularJS (deux Framework pour le Front-end/affichage), tu feras ton affichage dans un navigateur. Mais c'est très bien, il suffira que ton appli soit accessible sur le réseau local pour que tes collègues puissent s'en servir depuis leur navigateur.
    Et si plus tard tu souhaites rendre ton appli accessible sur internet, tu seras sur la bonne voie.
    Juste pour info, AngularJS est plus utilisé que ReactJS. Mais les deux répondront à ton besoin.

    Citation Envoyé par ODesc Voir le message
    Ma boite ne possède pas de base de données pour l'instant, mes fichiers clients sont actuellement tous papiers et donc tout est à faire. Les serveurs de base de données sont payants me semble-t-il??
    Tout est gratuit et libre de droit, mis à part oracle. Pas besoin de machine particulière. Tu peux facilement installer MySQL ou PostgreSQL sur ton pc. D'ailleurs dans le 2e lien que je t'ai envoyé il t'explique comment configurer MySQL et l'intégrer à ton application ReactJS.
    Tu as l'impression qu'une base de données est quelque chose de forcément énorme et complexe, mais ça peut rester très basique et simple d'utilisation.

    Si tu pars d'un tuto où il y a déjà un exemple de base, tu verras qu'au final c'est très simple. Et en adaptant les projets d'exemples, tu arriveras à la solution dont tu as besoin.
    Pour les fichiers, la seule chose qui sera plus simple c'est la lecture. Mais dès que tu voudras les modifier, ça deviendra très compliqué et vraiment pas pratique.
    Mais de toute manière dès que tu auras suivi un tuto avec une base de données, tu comprendras ce que je voulais te dire.

    Citation Envoyé par ODesc Voir le message
    Les actions à effectuer sont effectivement de type CRUD, je dois pouvoir créer, consulter, ajouter, supprimer mais aussi modifier(j'imagine que cela fait aussi partie du genre d'opération possible). Par exemple si la visite annuelle d'un client n'a pas pu être faite le programme doit être capable de modifier la date de relance de la visite à M+1 et au contraire si elle à était faite de la modifier à N+1.
    Oui c'est du CRUD.

    Mais de toute manière, si tu découpes bien ton application, même si tu veux ajouter une couche métier, changer de source de données, ou encore passer à du AngularJS, ça sera sans trop de problème.
    Respecte bien les couches et ça t'aidera à comprendre ce que tu fais, à corriger les erreurs et à faire des changements dans ton application (et ça risque de se produire car tu tâtonnes encore).
    Très simplement :
    Les classes Repository et ce qui est dessous : ta couche d'accès aux données.
    Les classes Services (voir 2e tuto) : ton code métier.
    Les React.Component (en ReactJS) : ta couche de présentation (l'affichage des données).

    N'hésite pas à revenir quand tu as des résultats .

Discussions similaires

  1. Réponses: 8
    Dernier message: 16/03/2020, 16h24
  2. Réponses: 8
    Dernier message: 06/02/2019, 15h21
  3. Reprise étude après une année sabbatique.
    Par HonorableCnote dans le forum Etudes
    Réponses: 4
    Dernier message: 04/02/2016, 14h17
  4. Réponses: 12
    Dernier message: 20/05/2010, 10h27
  5. Réponses: 97
    Dernier message: 23/01/2010, 01h41

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