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

 .NET Discussion :

question architecture : besoin de conseils débutant


Sujet :

.NET

  1. #1
    Membre à l'essai
    Homme Profil pro
    Développeur COBOL
    Inscrit en
    Mai 2022
    Messages
    13
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Développeur COBOL

    Informations forums :
    Inscription : Mai 2022
    Messages : 13
    Points : 15
    Points
    15
    Par défaut question architecture : besoin de conseils débutant
    Bonjour tout le monde,

    Je profite de ce super forum, pour approfondir mes connaissances, qui sont actuellement très superficielles ^^

    Je vous explique ma demande :

    Pour ma première application perso, je voudrais créer une sorte de répertoire de contacts professionnels et je souhaiterais faire ca de façon propre.
    Je m'impose une sorte de mini cahier des charges

    Cette application permettrait de faire les opérations CRUD standard sur mes contacts.
    Je souhaite créer une version mobile (xamarin), desktop
    je souhaite que ce soit quand même sécurisé, que n'importe qui ne puisse pas y accéder
    Je souhaite pouvoir consulter mes contacts même sans connexion internet (mode hors connexion)
    Je souhaite pouvoir ajouter différentes fonctionnalités pour faire évoluer mon application (import et export sous forme de tableau excel, filtre à autocomplétion, traduction, api externes )

    Du coup, je me pose pleins de questions, dont celle de l'architecture de l'application.

    Sans trop m'y connaitre, j'hésite entre deux types d'architecture :

    1)L'architecture en couches avec
    _ Une api web
    _ Une couche BLL pour les fonctionnalités métier
    _ Une couche DAL pour les données
    _ Ma BO et mes DTO

    J'utiliserais des interfaces et l'injection de dépendance pou faire évoluer cette appli au fur et à mesure.
    J'utiliserais un module de connexion avec un Token entre autres


    Et 2) l'architecture client serveur classique ou autre

    Pouvez vous m'aider et me conseiller sur la bonne architecture de façon à faire ça au mieux...

    Merci

  2. #2
    Expert confirmé Avatar de yildiz-online
    Homme Profil pro
    Architecte de domaine
    Inscrit en
    Octobre 2011
    Messages
    1 444
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Architecte de domaine

    Informations forums :
    Inscription : Octobre 2011
    Messages : 1 444
    Points : 4 563
    Points
    4 563
    Par défaut
    Salut, quelques remarques:

    Ton mini cahier des charges n'est pas tres utile pour qui n'est pas dans ta tete:

    Cette application permettrait de faire les opérations CRUD standard sur mes contacts.
    Que veux dire standard ici?

    Je souhaite créer une version mobile (xamarin), desktop
    une version compatible sur les deux plateformes ou deux differentes, si differente, sous quelle forme en desktop (web, fat?)

    je souhaite que ce soit quand même sécurisé, que n'importe qui ne puisse pas y accéder
    C'est trop vague pour être utilisable

    Je souhaite pouvoir consulter mes contacts même sans connexion internet (mode hors connexion)
    Il faut connaitre le master data(client (cloud sync) ou serveur (appli distribuee)) pour en tirer quelque chose.

    Je souhaite pouvoir ajouter différentes fonctionnalités pour faire évoluer mon application (import et export sous forme de tableau excel, filtre à autocomplétion, traduction, api externes )
    C'est un truisme, donc sans valeur ajoutee.

    Au niveau des architectures proposee, tu melanges une architecture qui defini structure de ton application (layer) et une architecture qui defini son deploiement/interaction, les deux couvrent deux scopes independants et donc ne sont absolument pas mutuellement exclusives.
    Des alternatives valables auraient plutot ressemble a :

    layer vs hexa
    distributed (micro service/monolith) vs standalone
    event driven vs data driven
    ...

    Ton initiative est bonne pour definir une solution optimale mais pas encore assez aboutie, il ne faut pas hesiter a poser clairement les problemes et les formaliser, ne pas oublier par exemple que tu peux etre interrompu et reprendre cet exercice dans plusieurs mois, ou plus tard vouloir revenir sur un choix dont tu ne te rappelle plus la motivation, avoir une preparation precise te permet d'eviter ces ecueils
    PXL le retro-gaming facile: Essayez-le

    Yildiz-Engine an open-source modular game engine: Website
    Yildiz-Online a 3D MMORTS in alpha: Facebook page / Youtube page

  3. #3
    Expert confirmé
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Novembre 2009
    Messages
    2 025
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 34
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Novembre 2009
    Messages : 2 025
    Points : 5 462
    Points
    5 462
    Par défaut
    Citation Envoyé par kisame34 Voir le message
    Sans trop m'y connaitre, j'hésite entre deux types d'architecture :

    1)L'architecture en couches avec

    2) l'architecture client serveur classique ou autre
    Comme le dit yildiz-online ce n'est pas du tout incompatible bien au contraire.

    Dans ton cas (appli mobile + destkop) sera la partie cliente du 2), et sur la partie serveur tu appliqueras l'architecture 1).

    Ta partie cliente va avoir sa propre organisation de code (MVVM de manière classique pour du xamarin). Au passage, si tu n'y connais rien dans cette techno autant commencer directement sur MAUI et son pattern conseillé MVU.


    Après en théorie rien n'empêche d'avoir toute tes couche 1) coté client, avec un webservice en 2) qui sera simplement un proxy directe sur ta BDD, voire une BDD directement ouverte sur le net. Ca me parait couillu, mais techniquement aucun soucis.

Discussions similaires

  1. [Python 3.X] Besoin de conseil débutant en python
    Par Tobalt dans le forum Général Python
    Réponses: 4
    Dernier message: 21/08/2017, 00h15
  2. besoin de conseil création programme (débutante)
    Par kwakly dans le forum WinDev
    Réponses: 1
    Dernier message: 16/05/2007, 13h19
  3. [Débutant] Besoin de conseils pour débuter
    Par Sami Xite dans le forum MS SQL Server
    Réponses: 2
    Dernier message: 15/02/2007, 01h16
  4. [DOM] Débutant en XML ayant besoin de conseils
    Par vallica dans le forum Bibliothèques et frameworks
    Réponses: 3
    Dernier message: 16/08/2006, 20h15
  5. Réponses: 1
    Dernier message: 06/01/2003, 07h55

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