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

ASP.NET MVC Discussion :

Architecture : Développer une appli versionnée avec personnalisation


Sujet :

ASP.NET MVC

  1. #1
    Membre confirmé Avatar de Gunny
    Homme Profil pro
    Développeur Web
    Inscrit en
    Avril 2007
    Messages
    188
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : Danemark

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Avril 2007
    Messages : 188
    Points : 624
    Points
    624
    Par défaut Architecture : Développer une appli versionnée avec personnalisation
    Bonjour,

    Premièrement je m'excuse si ce n'est pas le bon forum, j'ai un peu hésité où poster, mais comme au final c'est lié à la techno, j'ai décidé de poster ici. Modos, si vous pensez que ce sujet est mieux ailleurs, vous pouvez le déplacer.

    Je développe pour ma boîte une appli web stand-alone (pas de base de données) en ASP.NET MVC 5 (+ Knockoutjs en front). Cette appli a vocation à devenir un produit que l'on versionne et que l'on vend à nos clients, qui l'installent sur leur serveur et peuvent la personnaliser ainsi:
    • CSS
    • Images
    • App Settings
    • Libellés et textes


    Je n'ai pas de problème à coder l'appli en elle-même mais je touche clairement mes limites en conception dans ce contexte... Voici ma question : comment arranger mon projet de telle manière qu'il soit facile de passer à une nouvelle version, sans perdre sa personnalisation ? La mise à jour sera normalement faite par me boîte, mais c'est un plus si c'est assez simple pour donner un manuel au client.

    Voici ce à quoi j'ai pensé :
    • CSS : Le CSS custom du client se trouve dans un fichier à part, qui est référencé dans les pages mais n'est pas inclus dans la release. Il ne sera donc pas écrasé. Si la nouvelle version n'est pas 100% rétrocompatible, quelques ajustements seront nécessaires, cela n'est pas un problème.
    • Images : Pour l'instant ma solution est que le client écrasera le nouveau dossier contenant les images par le sien. Comme cela les anciennes images seront inclues et le client aura quand même les nouvelles. Une meilleure solution peut être de mettre le chemin vers les images dans les appsettings.
    • App Settings : Un simple script peut créer les paramètres qui ne sont pas déjà présents. Ils sont ensuite éditables dans une interface d'administration.
    • Libellés et textes: Gros point d'interrogation. Pour l'instant ils sont dans des resx. Je ne suis pas super satisfait car c'est compliqué pour le client d'aller les changer directement dans les fichiers, et merger manuellement les resx... merci bien. Y a-t-il une solution intéressante ? Ou bien dois-je mettre mes libellés ailleurs ? (une petite db sql lite par example)


    Peut-être est-ce que je prends je problème par le mauvais bout et que je devrais penser à une solution plus unifiée ? Bref, j'aimerais un peu de lumière sur ce processus. C'est un vaste sujet donc si vous me redirigez vers un bouquin ou de la documentation je n'y vois pas de problème.

    Je vous remercie bien.

  2. #2
    Modérateur
    Avatar de DotNetMatt
    Homme Profil pro
    CTO
    Inscrit en
    Février 2010
    Messages
    3 611
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : Etats-Unis

    Informations professionnelles :
    Activité : CTO
    Secteur : Finance

    Informations forums :
    Inscription : Février 2010
    Messages : 3 611
    Points : 9 743
    Points
    9 743
    Billets dans le blog
    3
    Par défaut
    Pour CSS / Images / App Settings tu as l'air d'etre sur la bonne voie, il n'y a de toute facon pas 36 solutions de gerer les fichiers statiques.

    Pour l'internationalisation de ton application, tu peux soit utiliser les fichiers de ressources (resx), soit un fichier XML (ou encore une base de donnees) comme explique ici : ASP.NET MVC 5 Internationalization · How to Store Strings in a Database or Xml.

    [EDIT] A noter, pour les fichiers statiques, tu peux t'interesser a la nouvelle version d'ASP.NET Core (1.1), qui permet de gerer des packages pour ce type de ressources un peu comme NuGet le fait pour les assemblies.
    Less Is More
    Pensez à utiliser les boutons , et les balises code
    Desole pour l'absence d'accents, clavier US oblige
    Celui qui pense qu'un professionnel coute cher n'a aucune idee de ce que peut lui couter un incompetent.

Discussions similaires

  1. [Débutant] Développer et Déployer une Appli Android avec VS2013
    Par Dan972 dans le forum Visual Studio
    Réponses: 0
    Dernier message: 11/05/2014, 17h01
  2. [2.x] Architecture d'une appli avec SF2
    Par Hyldan dans le forum Symfony
    Réponses: 2
    Dernier message: 15/07/2013, 14h30
  3. Comment développer une appli JSF avec Eclipse
    Par updou dans le forum Eclipse Java
    Réponses: 2
    Dernier message: 02/11/2010, 18h34
  4. Développer une appli 64 bits avec PB
    Par Nicolas59 dans le forum Powerbuilder
    Réponses: 2
    Dernier message: 24/02/2009, 10h27
  5. Définir une appli JEE avec JB7 Entreprise
    Par polo54 dans le forum JBuilder
    Réponses: 4
    Dernier message: 10/06/2003, 11h48

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