1. #1
    Membre du Club
    Inscrit en
    février 2003
    Messages
    181
    Détails du profil
    Informations forums :
    Inscription : février 2003
    Messages : 181
    Points : 60
    Points
    60

    Par défaut Convertir un projet WindowsForm en projet Web sans tout recoder

    Bonjour à tous,
    J'ai développé une petite application VisualBasic en Windows Forms (.NET Framework) sous Visual Studio Community 2015.
    Mon appli fonctionne très bien sous Windows, mais plusieurs personne me sollicitent pour l'utiliser sous Mac ou sur smartphone.
    J'envisage donc de convertir mon projet en projet Web.
    Cependant, je ne sais absolument pas comment m'y prendre et surtout j'aimerai éviter de devoir refaire tout mon code et/ou apprendre un autre langage.
    Malgré mes recherches sur le net, je ne trouve aucune piste.
    Quelqu'un pourrait m'aiguiller ?

    Question subsidiaire : une application Web devra-t-elle nécessairement être hébergée sur un serveur ou pourra-t-elle est distribuée comme une application "classique" ?

    Merci d'avance pour vos réponses.

  2. #2
    Expert éminent sénior Avatar de Pol63
    Homme Profil pro
    .NET / SQL SERVER
    Inscrit en
    avril 2007
    Messages
    12 606
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : .NET / SQL SERVER

    Informations forums :
    Inscription : avril 2007
    Messages : 12 606
    Points : 22 606
    Points
    22 606

    Par défaut

    il n'est pas vraiment possible de transposer directement une appli windows forms vers du web
    au mieux tu as mis une grosse partie du code dans une dll et tu peux la réutiliser en recodant juste l'interface (ca reste du boulot)

    en vb.net il y a asp.net (webforms ou mvc)
    et idéalement il faut maitriser html css et javascript (ou typescript) donc ca ne se fait pas en un claquement de doigt

    une appli web doit être hébergée sur un logiciel d'hébergement de site
    pour héberger de l'asp.net de base il faut IIS qui n'existe que sur windows, donc ca ne pourra pas être hébergeable sur le mac

    après il y a asp.net core qui lui doit pouvoir s'héberger sur un mac, mais bon faire une appli web pour du monoposte ca reste étrange


    il doit rester la solution de regarder vers MONO qui à était un portage de .net sur linux ou unix, enfin ca marchait sur linux et mac os à priori, à voir si ca gère le vb.net, et si ca gère bien les windows forms (je pense que oui pour les 2)
    par contre ca nécessitera surement quelques adaptations dans le code, certaines choses n'existant pas sous mono

    il y a aussi la solution du tse (bureau à distance) si ton appli est sur un serveur alors les gens peuvent se connecter dessus en remote et lancer l'appli sur un windows, mais bon ca fait cher (surtout avec un windows server pour du multi utilisateur)


    concernant les smartphones là ça se complique encore plus
    il me semble qu'il n'y a rien qui permette de développer en vb.net sur ios/android, xamarin c'est du c# seulement à priori, et ca te fera recoder tout là aussi
    (il y a des traducteurs online de vb.net vers c# mais ca risque d'être long quand même ^^)
    Cours complets, tutos et autres FAQ ici : C# - VB.NET

  3. #3
    Membre du Club
    Inscrit en
    février 2003
    Messages
    181
    Détails du profil
    Informations forums :
    Inscription : février 2003
    Messages : 181
    Points : 60
    Points
    60

    Par défaut

    Bonjour Pol63 et merci de te pencher sur ma question.
    D'après tes explications, convertir mon appli sur MONO serait intéressant et ne nécessiterait le moins d'adaptations. Cela semblerait être le meilleur compromis.
    J'ai donc téléchargé et installé MONO, mais je ne trouve que "des applications console" (fichiers BAT).
    Saurais tu m'indiquer comment basculer mon code dans mono et créer une appli compatible MAC ?

    Merci d'avance

  4. #4
    Expert éminent

    Homme Profil pro
    Développeur .NET
    Inscrit en
    janvier 2012
    Messages
    3 624
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : Canada

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Finance

    Informations forums :
    Inscription : janvier 2012
    Messages : 3 624
    Points : 7 346
    Points
    7 346
    Billets dans le blog
    17

    Par défaut

    Bonjour,

    Cela semble relativement nouveau et je n'ai pas lu la page, parce que je n'ai pas de MAC. Mais tu as peut-être une solution pour MAC dans ce coin-là.
    À ma connaissance, le seul personnage qui a été diagnostiqué comme étant allergique au mot effort. c'est Gaston Lagaffe.

    À force de vouloir considérer les utilisateurs comme des imbéciles patentés, on risque de se mettre dans le trouble.

    Excel n'a jamais été, n'est pas et ne sera jamais un SGBD, c'est pour cela que Excel s'appelle Excel et ne s'appelle pas Access junior.

  5. #5
    Expert éminent sénior Avatar de Pol63
    Homme Profil pro
    .NET / SQL SERVER
    Inscrit en
    avril 2007
    Messages
    12 606
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : .NET / SQL SERVER

    Informations forums :
    Inscription : avril 2007
    Messages : 12 606
    Points : 22 606
    Points
    22 606

    Par défaut

    vs pour mac n'est en rien une solution ici

    http://www.mono-project.com/docs/gui/winforms/
    Cours complets, tutos et autres FAQ ici : C# - VB.NET

  6. #6
    Membre émérite Avatar de dysorthographie
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    septembre 2016
    Messages
    1 318
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Charente Maritime (Poitou Charente)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Industrie

    Informations forums :
    Inscription : septembre 2016
    Messages : 1 318
    Points : 2 269
    Points
    2 269

    Par défaut

    bonjour,
    je confirme que ton application web ne pourra s’exécuter que sur un serveur web (ISS ou Apache par exemple), cela implique que ton application respect au moins deux niveau de responsabilités et trois si tu te connectes à un base de données!


    1. couche client(Formulaire Windows,Web,Dos) la couche client est lié à l'interface utilisateur!
    2. couche métier c'est là que sont défini le règle de nommage, en d'autre terme ce que fait l'application (Code)
    3. couche base de données! c'est là que nous définirons la communication avec la base de données!



    si tu respecte c'est couche tu n'auras qu'a refaire l'interface utilisateur sens intervenir sur le métier ou sur le Sql!

    notes que sur Apache tu pourras installer Mono mais qu'il ne prendra pas en charge un framworks supérieur à 3.5 car au delà c'est pour vista exclusivement!
    Il dit non avec la tête
    mais il dit oui avec le coeur
    il dit oui à ce qu’il aime
    il dit non au professeur {Jacques PRÉVERT}

  7. #7
    Membre du Club
    Inscrit en
    février 2003
    Messages
    181
    Détails du profil
    Informations forums :
    Inscription : février 2003
    Messages : 181
    Points : 60
    Points
    60

    Par défaut

    Bonjour à tous,
    Désolé pour cette réponse tardive.
    En ce qui concerne mon appli, 90% des objets de l'interface sont créés de façon dynamique dans le code, comme dans l'exemple ci-dessous :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     ReDim Preserve ChpAjtAnnTrvx(ContTrvx)
            ChpAjtAnnTrvx(ContTrvx) = New TextBox
            With ChpAjtAnnTrvx(ContTrvx)
                .Top = 50 + 70 * (ContTrvx - 1)
                .Left = 65
                .Width = 30
                .Visible = True
            End With
            Me.Controls.Add(ChpAjtAnnTrvx(ContTrvx))
            AddHandler ChpAjtAnnTrvx(ContTrvx).LostFocus, AddressOf VerifNbTrvx
    Il me suffirait de modifier un peu mon code pour créer tous mes objets dynamiquement et je pourrais m'affranchir du premier point évoqué par Dysorthographie (la couche client)

    Je n'utilise pas de base de données, mais simplement la lecture de fichiers XML, je pourrais donc là aussi m'affranchir du 3ème point évoque par Dysorthographie (couche base de données)

    Ainsi il ne me resterais qu'a transposer mon code (couche métier) pour le rendre compatible avec les autres systèmes en vérifiant que je ne fais pas appel à un framworks supérieur à 3.5.

    Est-ce que j'ai bien tout compris ?

Discussions similaires

  1. Réponses: 8
    Dernier message: 05/05/2010, 17h46
  2. Projet Silverlight - ASP.Net & Web Service
    Par CARNIBAL dans le forum Silverlight
    Réponses: 8
    Dernier message: 10/04/2009, 13h33
  3. Mise à jour projet web sans compiler
    Par PNL dans le forum Développement Web en Java
    Réponses: 4
    Dernier message: 16/01/2009, 17h36
  4. Publier un projet C# pour le web
    Par deejay2221 dans le forum C#
    Réponses: 1
    Dernier message: 01/06/2008, 03h49
  5. tranformer projet java en projet web
    Par vain_mich dans le forum Eclipse Java
    Réponses: 2
    Dernier message: 23/07/2007, 11h10

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