Déploiement d'une application WPF pour navigateur

Déploiement d'une application WPF pour navigateur - C#/.NET managed - Programmation

Marsh Posté le 02-09-2010 à 11:00:36    

Bonjour à tous,
 
Je cherche actuellement une solution pour développer une application de bureau qui soit facilement transformable en application utilisable au travers d'un navigateur internet. J'ai pu recenser 3 possibilités :
- Flash
- Java (applet)
- WPF (pour Windows Presentation Fondation)
 
Cette dernière technologie sort du chapeau magique .NET de Microsoft. Elle permet, à priori, de créer des applications pour navigateurs ayant la même structure générale que des applications de bureau. Le problème réside dans le mot "Microsoft"... Pour déployer de telles applications, il semble obligatoire de passer par un serveur IIS, mais est-ce vraiment le cas, ou existe-t-il d'autres solutions ? (avec Apache par exemple...)
 
Le problème des autres solutions est que je n'ai pas de très bonnes compétences en Flash et que le temps de développer une applet Java pourrait être un peu long (contrairement à un développement .NET, puisque je dispose déjà de certains composants en C#).
 
Bonne journée à tous !
Mini.


Message édité par Minigeek le 02-09-2010 à 11:21:15
Reply

Marsh Posté le 02-09-2010 à 11:00:36   

Reply

Marsh Posté le 07-09-2010 à 21:30:30    

- Effectivement WPF ça tourne sur la machine hôte, ça n'est pas du client léger. Tu peux le distribuer par internet via un système type serveur d'application mais ça n'est pas ton but je pense.
Pour l'hébergement si tu es allergique à MS tu peux envisager une solution Mono/Moonlight sous unix.

 

- A l'inverse, Flash c'est du web et ça s'ouvre dans un navigateur, ça n'est pas une appli client lourd à la base. Et techniquement c'est très limité pour certaines choses.

 

- La solution Java n'est pas non plus optimale, c'est pas parce que tu écris ton truc sous forme d'applet que tu peux distribuer une version client lourd à côté en un clin d'oeil, y a plein de contraintes.

 

Tu compares trois trucs très différents donc à mon avis ce que tu souhaites est confus, tu devrais détailler ton besoin et repartir d'un peu plus haut dans ta réflexion...


Message édité par TotalRecall le 07-09-2010 à 21:47:32

---------------
Réalisation amplis classe D / T      Topic .Net - C# @ Prog
Reply

Marsh Posté le 13-09-2010 à 16:43:01    

Bonjour,
 
merci de m'avoir répondu.
 
Mes besoins se sont précisés, je dois à présent créer une application de bureau en C# avec WPF qui se connectera avec une base de données, rien de bien compliqué globalement.
 
Par contre cette application doit ensuite en appeler une autre via un navigateur et lui passer des paramètres (entre autre une chaine de connexion à un serveur). Je me suis pour l'instant tourné vers une application WPF pour navigateur (si si, ça existe). Mais cette seconde application pourra être sur la machine locale ou sur un serveur distant. Et je dois trouver une méthode qui me permette de lui transmettre des paramètres quelque soit sa localisation.
 
- passer des paramètres par l'URL du style "monsite.fr/monAppli.xbap?param1=v1&param2=v2"
- passer des paramètres par un cookie
 
1ère solution : si l'appli xbap est en local sur la machine et que j'y accède donc par "C:\...\monAppli.xbap?param1=v1&param2=v2", je ne peux pas accéder à l'URL.
 
2ème solution : si l'appli est sur un serveur, je dois la publier en tant qu'application de confiance partielle pour pouvoir l'éxécuter, ce qui m'empêche d'utiliser les cookies. J'ai trouvé une manipulation pour faire autoriser l'application grace à un certificat, mais cette manip est complexe et je ne voudrais pas l'imposer à mes clients. (la manip en question : http://blogs.microsoft.co.il/blogs [...] tion.aspx)
 
 
Passer en Silverlight pourrait m'aider ? Silverlight peut aussi s'exécuter en application de bureau ?

Reply

Marsh Posté le 14-09-2010 à 10:20:04    

Désolé, c'est vrai que c'est un poil compliqué ^^ Mais merci de t'intéresser à mon cas ;)
 
En fait je me suis dit que je n'allais pas expliquer trop en détail pour pas écrire un message de 6 pieds de long et faire fuir les quelques personnes qui pourraient me répondre. Mais soit...
 
 
Ce que je veux avoir avec mon appli de navigateur c'est la possibilité de récupérer des données dans une base et de les afficher sous forme graphique. C'est l'application accessible aux utilisateurs. Ces utilisateurs choisissent juste un modèle et les données s'affichent.
 
J'ai donc une 1ère appli, pour l'administrateur, qui servira à éditer ces modèles. Cet éditeur sera à priori fait en C# avec WPF. Lorsque l'admin crée son modèle, il est utile de pouvoir faire un aperçu et donc de lancer l'application utilisateur. Je veux donc lui passer la chaine de connexion à la base de données (je ne sais pas non plus encore comment je vais lui passer le modèle en lui-même, a priori un fichier xml...).
 
 
Pour le choix de C#/WPF c'est que mon entreprise écrivait jusqu'à présent ses applications en VB6 et niveau graphique, c'était un peu galère. Et puis cette nouvelle appli sera destinée à être réutilisable donc éventuellement évolutive, d'où l'utilité d'une techno "nouvelle génération".
 
Je vais voir du coté de Silverlight mais d'abord du point de vue passage de paramètres, il serait bon de ne pas imposer un serveur IIS à nos clients... J'ai cru voir par ci, par là des connexions avec php...
 
 
Je n'avais pas trouvé ça (sans doute parce que ce n'est pas vraiment ce que je cherche) mais c'est toujours intéressant à savoir ;)
 
 
Donc je vais regarder du coté de Silverlight et on va voir cet après midi si la 2ème application doit obligatoirement se lancer au travers d'un navigateur... Une bête application de bureau me serait quand même nettement plus simple  :D  

Reply

Marsh Posté le 14-09-2010 à 11:47:46    

A première vue, on peut passer des paramètres à une application silverlight à l'intérieur d'une simple page page html par l'url.

Citation :

http:// @ip/.../TestPage.html?param1=boby&param2=hop


 
Et ça semble fonctionner aussi en local :D

Citation :

file:///C:.../TestPage.html?param1=ca&param2=marche


 
Il ne me resterait donc plus que le passage du modèle à voir...

Reply

Marsh Posté le 14-09-2010 à 14:58:24    


 
Quand je dis que ça semble fonctionner, c'est que j'ai testé et que j'ai réussi à le faire marcher en fait ^^ J'ai suivi cette astuce. Mon seul problème est que lorsque je génère mon application sous VS2010, il m'enlève une ligne de ma page html mais c'est un détail.
 
 
Pour l'architecture complexe, je pense que c'est du au fait qu'on ait voulu partir sur des technologies qui nous étaient plutôt inconnues et qui semblaient très prometteuses. C'est sans doute vrai mais pas forcément pour ce qu'on recherche... (et puis mon inexpérience personnelle n'a pas forcément arrangé les choses, c'est mon premier "vrai" projet en dehors de l'école pour premier "vrai" stage ^^).
 
La distinctions entre les 2 applis me semble par contre logique :  
- la première sera installée uniquement sur les postes administrateurs qui créeront les modèles
- la seconde sera aussi installée sur les postes utilisateurs qui visionneront les données
 
 
Mais bon, plus j'avance dans ma réflexion et plus je me penche vers l'idée de tout faire en C#/WPF en application de bureau. Malheureusement la décision ne m'appartient pas complètement et, à la base, non voulions une application de visualisation (la 2ème) accessible sans installation. Au travers d'un navigateur semblait donc être la solution.
 
D'ailleurs cela faciliterait l'implémentation de la connexion à la base de données (on a déjà des dll en C# pour ça...), directement grâce au réseau local comme tu le dis.
 
 
En tous cas je garde le "Silverlight toolkit" sous le bras au cas où on déciderait finalement de développer ça en Silverlight ^^
 
Merci pour tous tes conseils ;)
Au moins le fait de t'expliquer tout ça m'aura fait mettre les choses à plat et m'aidera sans doute par la suite :)

Reply

Marsh Posté le 15-09-2010 à 09:24:12    

Et bien, suite à une petite réunion, je crois que j'en ai moi même compris plus. Nous avons donc un client qui demande (et qui a payé ^^) une appli pour éditer des modèles de schémas et une autre pour visionner des données selon ces modèles. Ce client a demandé ces 2 applis en applis de bureau. Mais le challenge serait de leur proposer l'appli de visionnement en appli web, plus attractive car on peut la lancer depuis un navigateur sans trop de pré-requis, on n'a pas d'installation à faire, etc...

  

Et bien donc à priori pour l'instant nous allons partir sur 2 applis de bureau en séparant bien pour l'instant la partie "dessin" à l'intérieur de la seconde application, de façon à pouvoir éventuellement la réutiliser dans le cadre d'une appli web... (mais nous n'en sommes pas encore là ^^)

 

Je te tiens au courant ;)


Message édité par Minigeek le 15-09-2010 à 09:24:44
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed