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

WinDev Discussion :

De la conception d'un projet multi-client


Sujet :

WinDev

  1. #1
    Membre actif
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    315
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2007
    Messages : 315
    Points : 202
    Points
    202
    Par défaut De la conception d'un projet multi-client
    Bonjour,

    Nous devons développer une application qui sera scindée en 2 entités :
    - 1 application serveur (Windev 17+ HF C/S) qui va tourner en permanence et alimenter une base de données à partir de fichiers remontés sur un FTP
    - 1 application Web (Webdev 17 + HF C/S) qui va permettre à des utilisateurs d'interroger cette même base, d'écrire dans certaines tables etc...

    Mon problème est le suivant :
    Puisque plusieurs clients vont être concernés par ce projet et que chaque client aura ses spécificités (même si le protocole des fichiers remontés sur le FTP reste le même), comment, selon vous, construire au mieux ma base :

    - au niveau des projets Webdev, chaque client voudra surement des fonctionnalités et des reportings différents : est-ce mieux de faire un projet spécifique par client (chacun avec ses spécificités) OU garder un même projet pour tout le monde, au risque d'avoir des fonctionnalités supplémentaires pour certains clients qui n'en ont pas besoin et au risque d'avoir des demandes "contradictoires" difficiles à faire cohabiter dans un même projet ?

    - Est-ce plus simple de faire une base par client OU tout stocker dans la même base?

    - Est-ce que l'utilisation des branches résoudrait le problème ? (1 version principale, et 1 branche pour chaque client avec ses spécificités)

    - Comment se comporte le GDS pour la gestion des branches : est-ce facile de reporter certains bouts de code ? Peut-on avoir plusieurs analyses différentes : 1 par branche sans risque de confusion et de synchronisation "accidentelle" ?

    - Est-ce mieux de décrire l'analyse au niveau de l'application serveur (Windev) et d'y connecter le/les projets Web (Webdev) ?

    Je souhaite utiliser la méthode la plus pratique pour maintenir les projets.
    Tous vos avis et vos retours d'expérience me seraient précieux.

    Merci d'avance!

  2. #2
    Membre émérite
    Homme Profil pro
    Développeur et responsable micros/réseaux
    Inscrit en
    Octobre 2010
    Messages
    1 286
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Maine et Loire (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur et responsable micros/réseaux
    Secteur : Bâtiment

    Informations forums :
    Inscription : Octobre 2010
    Messages : 1 286
    Points : 2 562
    Points
    2 562
    Par défaut
    Bonjour,

    Les données sont-elles communes aux clients ? Si oui, base commune, si non, base par client.

    Concernant l'analyse, ce sera en fonction de ta réponse sur une base commune ou pas. Si tu as une base spécifique, alors analyse spécifique si et uniquement si cela se justifie, c'est à dire si tu as des schémas de base différents avec des évolutions de base propres à chaque client.

    Dès lors que tu as une base par client, tu peux envisager des projets différents mais alimentés par des composants qui te permettront de construire un tronc commun et des modules spécifiques. Mais attention à la génération des applications car cela veut dire qu'en cas de mise à jour du tronc commun, il faut regénérer pour tous les projets. Ca risque d'être vite pénible si ton panel de client est conséquent.

    Concernant le reporting, cela ne concerne que le contenu et donc les demandes seront forcément différentes.

    à bientôt,

    Nicolas

  3. #3
    Membre actif
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    315
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2007
    Messages : 315
    Points : 202
    Points
    202
    Par défaut
    Bonjour,

    a priori la structure de l'analyse sera la même pour les clients. Sauf que chaque client va probablement avoir des demandes spécifiques à terme qui vont nécessiter l'ajout de certaines tables et interfaces qui leur seront spécifiques.

    En gros je pense qu'on peut raisonnablement dire que les données remontées par l'application serveur peuvent être assimilées à un tronc commun pour tous les clients. Je pense également pouvoir dire que la structure de la base sera générique en majorité, mais que les demandes des clients la rendront forcément spécifique en partie.

    - Faut-il scinder l'analyse qui va stocker les données remontées (génériques) et l'analyse des projets de reporting web ?

    - Dans ce cas quelle est la méthode la plus viable selon vous ?

    J'ai peur d'avoir des soucis si je ne prends pas en compte cette possibilité d'entrée de jeu : l'évolution des schémas spécifiquement aux clients.

  4. #4
    Membre chevronné
    Avatar de mogwai162
    Homme Profil pro
    Inscrit en
    Janvier 2006
    Messages
    1 376
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Vosges (Lorraine)

    Informations forums :
    Inscription : Janvier 2006
    Messages : 1 376
    Points : 1 860
    Points
    1 860
    Par défaut Bonjour.
    Mon conseil :

    Une et une seule analyse sinon gros problèmes la maintenance va vite se compliquer en fonction du nombre de tes clients.

    Si possible un et un seul projet. raison idem, cependant tu peux toujours y faire des choses différentes dépendant de ton client : par exemple plusieurs fois la même fenêtre et un test spécifiant que tel client utilise telle fenêtre.

    Le schéma n'est qu'un moyen de stockage des données et tu peux très bien prévoir plusieurs moyens dépendant de tes clients. Par exemple tu peux très bien avoir deux tables pour tes commandes a condition que tu saches laquelle utiliser à quel moment.

    Tu peux également paramétrer les menus de ton application en fonction du client.
    Patrick Catella

    Je ne réponds pas aux messages privés si ceux ci suivent un sujet. Il est préférable pour tous de poursuivre la discussion dans le sujet d'origine.

    Je suis Concepteur développeur Windev (10 ans) et Windev mobile (4 ans) en recherche d'emploi. J'etudie toute proposition

  5. #5
    Membre actif
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    315
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2007
    Messages : 315
    Points : 202
    Points
    202
    Par défaut
    @mogwai162 : 1 seule analyse mais des bases différentes (1 par client) c'est bien ça ?

    Le schéma n'est qu'un moyen de stockage des données et tu peux très bien prévoir plusieurs moyens dépendant de tes clients. Par exemple tu peux très bien avoir deux tables pour tes commandes a condition que tu saches laquelle utiliser à quel moment.
    Avec 2 clients ça va, mais ça va vite devenir fastidieux avec leur augmentation non ?

    QUID du GDS et des branches : personne ne l'utilise ? sur le papier ça répond à ma problématique (création d'une branche pour un client lorsque sa demande est trop spécifique pour être applicable à tout le monde), mais est-ce fiable ?

  6. #6
    Membre actif
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    315
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2007
    Messages : 315
    Points : 202
    Points
    202
    Par défaut
    A votre avis est-ce réalisable :

    - 1 projet Windev (application serveur) qui nourrit une base de données et un Groupware par client. Cette application nourrit aussi une base "commune" qui permet par exemple de stocker les identifiant FTP, répertoires etc... pour chaque client au sein de la même base.

    - 1 projet Webdev principal dont l'analyse dépend du projet Windev décrit ci-dessus. Création d'une branche Webdev par client, chaque branche "hérite" du tronc commun du projet Webdev maître.

    Quand une modification est demandée par un client :
    - si elle est jugée non spécifique : modification du projet Webdev maître et impact des modifications sur toutes les branches

    - si elle est jugée trop spécifique : modification de la branche client seulement

    Chaque branche se connecte à la base spécifique de son client. Côté client, seules les branches sont compilées pour la prod. Le projet principal sert "juste" à impacter les modifications à tous les projets esclaves (les branches).

    Est-ce que le GDS et les branches permettent de faire ça ?

    Autre question : est-ce que l'analyse décrite dans le projet Windev (côté serveur) et importée dans le projet Webdev principal restent synchronisées indépendamment des ajouts de tables dans les branches ?

    Merci !

Discussions similaires

  1. [WB18] Projet multi-Clients
    Par khaery900 dans le forum WebDev
    Réponses: 0
    Dernier message: 17/06/2014, 16h30
  2. Server multi client conception
    Par mercyril dans le forum Réseau
    Réponses: 8
    Dernier message: 29/08/2012, 09h52
  3. Réponses: 7
    Dernier message: 18/05/2009, 18h11
  4. Serveur Multi-clients
    Par darsky dans le forum C++Builder
    Réponses: 5
    Dernier message: 16/04/2004, 10h53
  5. Création d'un Serveur Multi Client
    Par N*E*R*D dans le forum Autres éditeurs
    Réponses: 5
    Dernier message: 16/03/2004, 18h13

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