Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1635 connectés 

  FORUM HardWare.fr
  Programmation
  C#/.NET managed

  Creation d'une appli Web a partir du code C# Winforms

 



 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Creation d'une appli Web a partir du code C# Winforms

n°2071570
And Garfun​kel
voili voilou
Posté le 22-04-2011 à 11:10:50  profilanswer
 

Bonjour,  :)  
 
Nous avons commence a développer une application en C# basee sur des WinForms et nous voulons faire une application web qui accede a la meme base de donnee et qui y ressemble comme deux gouttes d'eau a la premiere application, au cas ou nos futurs clients n'ont pas installe l'application peuvent quand meme acceder aux informations de la base de donnee, etc.
 
Quel est le meilleur moyen d'y arriver en evitant de tout recreer l'application? Est ce possible de creer la nouvelle appli Web a partir du code C#?
 
Merci   :jap:  :hello:  
LB

mood
Publicité
Posté le 22-04-2011 à 11:10:50  profilanswer
 

n°2071720
TotalRecal​l
Posté le 22-04-2011 à 22:29:45  profilanswer
 

Sans rien voir de l'appli, ça va être dur de répondre :sarcastic:.
Pour rester dans les généralités, un portage en ASP.Net (webform, MVC) ou éventuellement Silverlight selon les besoins est peut être envisageable, et sera plus ou moins complexe en fonction du service rendu par l'application (une appli temps réelle avec une GUI ultra riche et en 3D ne se portera pas exactement comme un machin avec des zones de saisie et des boutons de validation qui suivent un process séquentiel) et de la façon dont elle a été développée (conception objet/modulaire avec séparation claire des couches dans des assemblies ou gros tas de code vomi dans la form)


Message édité par TotalRecall le 22-04-2011 à 22:30:10

---------------
Réalisation amplis classe D / T      Topic .Net - C# @ Prog
n°2075413
And Garfun​kel
voili voilou
Posté le 12-05-2011 à 06:25:05  profilanswer
 

Bonjour TotalRecall,
 
Je suis surpris de ne pas avoir vu ton message auparavant. ASP.Net ou Silverlight sont deux propositions auxquelles j'avais pense avec mon équipe. L'application C# est a la fin du développement, surement fini avant la fin du mois.
 
Pour répondre a ta question, l'appli n'est pas en 3D et il s'agit plutôt de formulaires a remplir pour l'utilisateur. A partir des données collectées, on génère des calculs qui estime la profitabilité d'un projet d'investissement immobilier, ainsi que le budget et la comptabilité de ce projet. Certains graphiques (type en barre, camembert, etc) vont être présents. Est ce assez clair?  Je n'ai pas encore regarder le code de ce projet, 3 développeurs s'en chargent pour le moment mais je pense que la conception est plutôt bonne...
 
Merci,
LB

n°2075607
moi23372
Posté le 12-05-2011 à 19:58:54  profilanswer
 

il existe bien des choses, mais va vite atteindre ces limites
http://www.codeproject.com/KB/cs/w [...] forms.aspx


---------------
quand un homme raisonne mal c'est qu'il n'a pas les données pour raisonner mieux (diderot)
n°2075608
moi23372
Posté le 12-05-2011 à 20:00:52  profilanswer
 

il aurait beaucoup plus simple de convertir une application WPF 4 en application Silverlight 4.Mais bon, c'est trop tard ;-)


---------------
quand un homme raisonne mal c'est qu'il n'a pas les données pour raisonner mieux (diderot)
n°2075654
And Garfun​kel
voili voilou
Posté le 13-05-2011 à 06:59:03  profilanswer
 

Bonjour Moi23372,  
Apres quelques recherches supplementaires, j'ai trouve plusieurs solutions pour le probleme actuel - donner la possibilite a l'utilisateur d'utiliser le logiciel meme s'il ne l'a pas installe:
- Convertir nos Winforms en ASP.Net Web forms en utilisant le code de CodeProject (gratuit mais rudimentaire) -> http://www.codeproject.com/KB/cs/w [...] forms.aspx  
- Utiliser le fichier DLL et developer le front end (pas vraiment sur de comment faire)
- Convertir nos WinForms en ASP.NET Web Forms avec Form Suite 4 (payant et cher) -> http://www.suite4.net/products/default.aspx
- Donner la possibilite a l'utilisateur d'acceder au serveur avec "remote control" ou une version du logiciel sera installe (pas tres satisfaisant mais rapide a faire)
- utiliser Visual WebGUI -> http://www.visualwebgui.com/tabid/677/Default.aspx (solution envisageable)
- recreer toute l'application en ASP.NET (long)
- mettre le tout dans un control et le charger dans un projet web -> http://www.beansoftware.com/ASP.NE [...] -Form.aspx (bofbof)
- recreer toute l'application en WPF et convertir le tout en Silverlight (trop long et pas evident de convertir entre WPF et Silverlight, d'apres ce que j'ai lu)
- utiliser VisualJS http://visualjs.net/ (solution envisageable)
Quelle est ton opinion sur la solution a adopter?
Merci,  :jap:  
LB


Message édité par And Garfunkel le 13-05-2011 à 07:02:15
n°2076087
And Garfun​kel
voili voilou
Posté le 16-05-2011 à 09:31:09  profilanswer
 

Quelqu'un a une opinion pour obtenir une solution correcte et de facon rapide ou des commentaires sur VisualWebGUI? VisualJS?
Merci,
LB

n°2079446
And Garfun​kel
voili voilou
Posté le 31-05-2011 à 11:27:38  profilanswer
 

J'ai trouve d'autres alternatives qui sont:
- Morfik -> http://en.wikipedia.org/wiki/Morfik
- Script# -> http://projects.nikhilk.net/ScriptSharp
- Sharpkit -> http://sharpkit.net/
Quelqu'un a deja teste certaines de ces solutions? ou Visual WebGui?
Merci,
LB

n°2081401
ixemul
Nan mais sans blague ! ⚡
Posté le 08-06-2011 à 18:03:59  profilanswer
 

Bonjour,
 
Ton problème n'est pas anodin, c'est même un problème récurent depuis que les applications "Web" existe. Pour faire simple, il n'y a pas de solutions rapides lorsque ton application est trop avancée et que tu n'a pas respecté certaines règles de découpage applicatif.  
 
Mon conseil (il ne va pas te plaire, mais si tu fais un effort, tu me remercieras), c'est de revoir tout le découpage de ton application en minimum 3 couches.  
 
1: couche accès base de donnée  
 
Dans une ou plusieurs assemblies, tu regroupes tout les accès BDD (appel proc stock, etc) qui vont alimenter des objets "entité" (des objets métiers)
 
2: couche "métier" (business)  
 
Idem, à regrouper dans une ou plusieurs assemblies, là, tu regroupes tous tes traitements "Métier" (calculs, validations fonctionnelles, etc...)
 
3: La couche présentation
 
Cette couche sera finalement l'IHM de ton application, elle ne prendra en compte que les transitions entre les écrans et les contrôles de surfaces. Cette couche ne communiquera QUE avec la couche Business. le nombre de lignes dans chaque méthode devra être minimaliste (toute la partie applicative se trouvant déportée dans la couche business)
 
 
L'intérêt donc de ce découpage, est qu'il suffit de simplement décliner la couche présentation dans différente techno et si le découpage en couche est bien respecté l'impact est minime.
 
Sinon, n'éspère pas pouvoir porter une version Winforms en Webforms rapidement et simplement, car le système évenementiel est très différent entre les 2  technologie, je ne parle même pas de la persistance utilisateur.
 
Mon petit conseil supplémentaire serait de baser la couche de présentation sur MVC (utilisable en Winforms/WPF/Webforms/Silverlight) histoire de découpLer encore un peu plus la partie présentation de la logique de présentation.
 
Concernant les framework Visual WebGUI et consorts... Ils sont plutôt sympas, mais il ne convertissent pas le Winforms en Webforms, ils permettent au mieux de simuler un comportement évenementiel similaire a winforms en Web.

n°2082038
TotalRecal​l
Posté le 12-06-2011 à 10:19:21  profilanswer
 

Les convertisseurs que tu cites ne sont certainement pas viables pour générer un code maintenable et sûr sur une appli un tant soi peu riche.
 
Les problématique (gestion événementielle, spécificités des contrôles, problème de persistance, problème de concurrence liés aux contexte multi utilisateur) sont trop nombreuses et trop complexes pour qu'un outil miraculeux les résolve pour toi en quelques clics de convertisseur magique.
Par exemple pour l'aspect persistance, si toutes les écritures en base se font par des actions atomiques sans transactions ni utilisation d'un objet persistant (requêtes unitaires), l'adaptation est plus facile, mais si vous êtes passé par un ORM avec un context commun utilisé tout au long d'un cycle d'action, ce qui fonctionne en mono utilisateur (winform) donnerait des résultats délirants en webform, car tous les utilisateurs partageraient le même contexte (quand l'un fait une action, toutes celles en attente de validation dans la pile du contexte pour les autres sont exécutées en même temps  :pt1cable: ).
Pareil pour les subtilités introduites par le côté stateless du web : en winform on peut mettre dans les classes de ses forms tout un tas de variables privées locales au formulaire actuel, fais un peu la même chose en webform, tu risques de te demander ce qui arrive à tes valeurs. Du coup on utilise la session, le viewstate en appel direct ou au travers des contrôles, etc. Comment un outil pourrait gérer tout ça intelligemment ?

 

Tu parles de toi et ton équipe, mais vu vos interrogations assez inquiétantes, sans connaître l'importance du projet, je crois qu'il va vous falloir une source d'info plus solide qu'un forum et tes recherches personnelles si tu veux aller quelque part :/.


Message édité par TotalRecall le 12-06-2011 à 10:24:32

---------------
Réalisation amplis classe D / T      Topic .Net - C# @ Prog
mood
Publicité
Posté le 12-06-2011 à 10:19:21  profilanswer
 

n°2106158
jollivie
Posté le 13-10-2011 à 12:23:54  profilanswer
 

Bonjour,
J'ai un bout de code qui marche assez bien pour générer mes aspx à partir de mes winforms. Si ça vous intéresse, contactez moi et je vous l'envoie... (mais je travaille en VB, pas en C...)


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  C#/.NET managed

  Creation d'une appli Web a partir du code C# Winforms

 

Sujets relatifs
Debugage jeu en C#en C : comment retourner plusieurs variables ?
Cherche programmeur Applications/Web pour associationajouter un contact sur son smartphone à partir d'un site web mobil
Transformer ma fonction Recherche en codeLister un répertoire d'un site à partir d'un autre site ?
Modification/amélioration menu contextuel gtk (C++?)NamedTemporaryFile: creation de fic de config
Creer .exe a partir d'une solution 
Plus de sujets relatifs à : Creation d'une appli Web a partir du code C# Winforms


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR