Contenu | Rechercher | Menus

Annonce

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#1 Le 20/01/2009, à 22:40

arnomedia

Faire fonctionner mon application Win32 sur une distrib Linux ?

Bonjour à tous,

Après un an 1/2 d'abscence, je viens d'installer Intrepid en hard dans le but de faire fonctionner un petit prog que j'ai fais en VB.NET avec VB 2008 Express sous WinXP. ça marche nickel mais en fait, apres réfléxion, j'aimerais le faire fonctionner sur une distrib Linux (la plus adaptée si Ubuntu ne convient pas).

J'ai fais pas mal de recherches sur Google qui m'ont aiguillées mais ça n'est pas suffisant. Au départ je pensais utiliser Wine mais l'exitation faisant wink  j'ai oublié le NET Framework de MS...
Ensuite, j'ai découverts l'existance de Mono avec les liens ci-dessous entre autre.
http://doc.ubuntu-fr.org/mono
http://msdn.microsoft.com/fr-fr/architecture/cc512698.aspx

Je n'ai pas trouvé comment installer VMware. En plus, je n'ai jamais eu l'occasion d'utiliser de logiciel virtualisation, même sous WinXP, ce qui n'arrange pas les choses. Du coup, j'ai installé VirtualBox OSE (très convivial) mais j'ai un problème de driver au démarrage (vboxdrv) que je n'arrive pas non plus à résoudre. Enfin, j'ai l'impression que je dois installer Windows XP sur une machine virtuelle. J'espère me tromper... En gros... heu... j'suis largué wink

Merci de bien vouloir m'éclairer...
a+

Hors ligne

#2 Le 20/01/2009, à 22:48

Grunt

Re : Faire fonctionner mon application Win32 sur une distrib Linux ?

Mono ne nécessite pas l'installation d'une machine virtuelle, normalement.
Tu as essayé de l'installer "bêtement" et de lui donner ton appli à manger?

Bon à savoir: code dans un langage multiplateforme la prochaine fois ^^ (genre Qt ou GTK).

#3 Le 20/01/2009, à 23:05

arnomedia

Re : Faire fonctionner mon application Win32 sur une distrib Linux ?

Slt,

Comment dire... smile je ne sais pas commment executer Mono. J'ai lu qu'il était installé d'office avec Intrepid mais je n'ai pas trouvé de raccourci. Faut dire que j'ai eu la bonne idée d'installer Ubuntu en lignes de commandes. Apres, j'ai juste fais un apt-get install gnome-desktop-environment Du coup j'ai cherché le package avec Synaptic mais je ne l'ai pas trouvé. Enfin j'ai trouvé l'IDE mais c tout. Je vois que je suis pas assez calé sur ce coup, c frustrant wink

Si jamais tu avais 2 min pour m'expliquer 2 ou 3 trucs ça serait cool wink
Merci
A+

Hors ligne

#4 Le 20/01/2009, à 23:11

Grunt

Re : Faire fonctionner mon application Win32 sur une distrib Linux ?

Je n'y connais quasiment rien en Mono, hein!
Tu ne peux pas lancer un binaire depuis l'IDE?

#5 Le 20/01/2009, à 23:43

arnomedia

Re : Faire fonctionner mon application Win32 sur une distrib Linux ?

Désolé, mais c'est quoi un binaire stp ? Un executable ?
Je ne sais pas comment faire...

j'aimerais vraiment mettre une distrib Linux sur le PC qui sera dedié uniquement à cette application (voir une deuxième également, encore en projet). C pas uniquement par économie, c'est aussi/surtout pour le fun wink

Malheuresement, je suis pas du tout calé dans le monde libre wink Je suis pommé avec tous les Paquets. Mon cerveau de Windowsien n'arrive pas à admettre que ça ne soit pas plus simple ! mad

J'ai essayé d'installer un petit prog. pour tester Wine. Là ça va pas de problème, mais mon prog a besoin de NET Framework et du coup ça devient tout de suis plus compliqué on dirait.

Plz help! wink

Dernière modification par arnomedia (Le 20/01/2009, à 23:45)

Hors ligne

#6 Le 21/01/2009, à 23:12

CedX

Re : Faire fonctionner mon application Win32 sur une distrib Linux ?

Je confirme : PAS besoin de virtualisation pour faire tourner ton application.
Mono permet d'exécuter DIRECTEMENT une application .NET sur Linux (avec quelques petits bugs toutefois : le taux de compatibilité est variable, mais on peut annoncer sans trop se tromper un taux de 95%).
Pour plus de renseignements sur Mono voir : http://www.mono-project.com

A noter qu'il existe un outil (MoMA : Mono Migration Analyzer) qui permet de tester la compatibilité d'une application .NET sur Mono. L'outil fonctionne aussi bien sur Windows/.NET que Linux/Mono.

Mono est installé par défaut sur Ubuntu/GNOME. Je sais pas ce qu'il en est sur Kubuntu/KDE, mais l'installation de MonoDevelop (un IDE Open Source, à la Visual Studio, créé par les développeurs du projet Mono) installe automatiquement Mono.

Sur Windows, les applications .NET sont exécutées comme n'importe quelle autre application (un clic sur l'EXE). Ce n'est pas le cas sur Linux où il faut préfixer le chemin de l'application .NET par l'exécutable Mono.
En ligne de commande, ça donne tout simplement : mono MonApplication.exe

J'utilise Mono dans certains de mes projets (aussi bien applications de type client lourd que sites ASP.NET), et j'en suis pleinement satisfait (ça marche VRAIMENT bien).
Pour pas trop de mauvaises surprises, il faut mieux avoir une version récente de Mono : strict minimum v1.2.6 (fournie avec Hardy Heron), mais la v1.9.1 (fournie avec Intrepid Ibex) est bien entendu préférable.

Hors ligne

#7 Le 22/01/2009, à 01:47

arnomedia

Re : Faire fonctionner mon application Win32 sur une distrib Linux ?

cedX : Merci pour toutes tes infos, complet, precis, top quoi wink

Je viens de tester avec une appliaction toute bête que j'ai fais pour voir deja si j'arrivais à la lancer (une Form, 1 boutons pour modifier le texte d'un Label, 1 autre pour changer la couleur du Label et 1 bouton pour quitter) ça commence mal wink marche pas mais il se passe quelque chose qd m, puisque j'ai le message d'erreur suivant en ligne de commandes  (Mono v2.0.1):

** (/home/arnofly/Bureau/TestForLinux:5385): WARNING **: The following assembly referenced from /home/arnofly/Bureau/TestForLinux.exe could not be loaded:
     Assembly:   Microsoft.VisualBasic    (assemblyref_index=1)
     Version:    8.0.0.0
     Public Key: b03f5f7f11d50a3a
The assembly was not found in the Global Assembly Cache, a path listed in the MONO_PATH environment variable, or in the location of the executing assembly (/home/arnofly/Bureau).


** (/home/arnofly/Bureau/TestForLinux.exe:5385): WARNING **: Could not load file or assembly 'Microsoft.VisualBasic, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a' or one of its dependencies.

Unhandled Exception: System.TypeLoadException: A type load exception has occurred.

Pour info je n'ai utilisé que le .NET Framework 2.0 et j'ai désactivé pas mal d'options pour tanter d'être le plus compatible possible. Bien sur, ce petit prog fonctionne sur une plateforme Windows, on sait jamais une erreur est tellement vite arrivée wink De plus il est validé par MoMA.

Alors... what's up ???
Merci

NB : Souvent dans la doc que je trouve, SUSE est mentionnée. Cette distrib ne serait elle pas plus adaptée dans mon cas ? Je compte utiliser un ordinateur (modeste) qui fera tourner cette application uniquement ! (pas de LAN, Internet, WiFi et tout et tout...) Cette application est à usage professionnel, plantage de la machine interdit ! wink J'ai même pas besoin d'environement graphique à la limite (GNOME). Cependant, l'application est de type "Windows Forms" (une petite caisse enregistreuse "virtuelle" qui sera utilisée avec un ecran tactile)

Dernière modification par arnomedia (Le 22/01/2009, à 02:02)

Hors ligne

#8 Le 22/01/2009, à 02:06

Grunt

Re : Faire fonctionner mon application Win32 sur une distrib Linux ?

Tu as des problèmes de PATH (chemin d'accès).

Si tu ne vois pas ce que c'est: en gros, c'est le chemin par défaut où ton OS va chercher les commandes. Par exemple, C:/Windows/, C:/Windows/System32, et le dossier courant, sous Windows (si mes souvenirs sont bons).
Sous GNU/Linux, le PATH, pour les binaires en tout cas, c'est /usr/local/bin, /usr/bin, et /bin:/usr/games (chez moi).

Il faut que tu configures Mono pour qu'il trouve ce dont ton application a besoin (librairies, toussa). Je ne peux pas t'aider plus, je n'ai jamais fait de Mono.

#9 Le 22/01/2009, à 02:36

arnomedia

Re : Faire fonctionner mon application Win32 sur une distrib Linux ?

OK ! je comprends mieux. Je ne ne savais pas qu'il fallait faire ce genre de démarches.
Merci, je vais chercher un peu. Sans "les bases" Linux, je gallère là ou je ne devrais pas... enfin, je vais bien finir par y arriver wink

Encore merci.

Hors ligne

#10 Le 22/01/2009, à 03:45

arnomedia

Re : Faire fonctionner mon application Win32 sur une distrib Linux ?

... mais pas aujourd'hui on dirait wink

Hors ligne

#11 Le 22/01/2009, à 07:28

CedX

Re : Faire fonctionner mon application Win32 sur une distrib Linux ?

arnomedia a écrit :

Souvent dans la doc que je trouve, SUSE est mentionnée. Cette distrib ne serait elle pas plus adaptée dans mon cas ?

Aucune idée. Je tourne sur Kubuntu 8.10 et ça marche nickel donc la Suse n'apportera probablement rien de plus. Si elle est souvent citée, c'est normal : Miguel de Icaza, le gars à l'origine du projet Mono, travaille pour Novell... et la Suse est un produit Novell.

Dans le même ordre d'idée, si les bibliothèques GTK+/GNOME (via Gtk#) sont privilégiées sur Mono, au détriment des bibliothèques Qt/KDE, c'est parce que justement le même Miguel est à l'origine du projet GNOME.
Dommage, j'aurais bien aimé tester davantage Qt maintenant que je suis passé à KDE 4...

arnomedia a écrit :

Pour info je n'ai utilisé que le .NET Framework 2.0 et j'ai désactivé pas mal d'options pour tanter d'être le plus compatible possible.

A priori, c'est inutile : Mono 2.0, comme son numéro de version ne l'indique pas, implémente plein de fonctionnalités du .NET 3.5. La remarque est même valable pour les versions précédentes de Mono : LINQ to Objects, par exemple, fonctionne très bien sur la version 1.2.6.

Faut aller voir sur leur site à quoi correspondent les différentes versions de Mono parce que c'est un vrai bordel de s'y retrouver par rapport aux versions du .NET.

arnomedia a écrit :

Cependant, l'application est de type "Windows Forms"

Si ton appli est uniquement destinée à Linux, il vaut mieux utiliser Gtk# que les WinForms. D'une part, l'intégration est meilleure (les WinForms, c'est horrible sur Linux !) ; d'autre part, en ce qui me concerne en tout cas, GTK+ est bien plus fun à coder que les WinForms, et cela reste assez proche (mêmes mécanismes événementiels).

Avec l'utilisation de Glade 3 et MonoDevelop, c'est trop rapide de pondre des applis graphiques (comparé au couple WinForms/Visual Studio).

Plus d'infos sur les toolkits graphiques et Mono : http://mono-project.com/Gui_Toolkits

Grand_Grunt a écrit :

Tu as des problèmes de PATH (chemin d'accès).

Ya de l'idée, mais c'est pas ça. S'il y a problème de path, ça concerne plutôt le path .NET que le path système, c'est à dire : répertoire courant de l'appli (".", ou "./bin" en ASP.NET), path Mono (par défaut : "/usr/lib/mono/2.0:/usr/lib") et Global Assembly Cache (ou GAC, situé par défaut dans : "/usr/lib/mono/gac").

arnomedia a écrit :

Could not load file or assembly 'Microsoft.VisualBasic, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a' or one of its dependencies.

L'assembly Microsoft.VisualBasic est introuvable. Malheureusement, la cause peut être multiple.

Je te conseillerais plutôt de coder en C# si tu le peux : le support du Visual Basic est arrivé tardivement dans Mono, donc il n'est pas impossible que tout ne soit pas encore implémenté de ce côté-là.

Sur Ubuntu en tout cas, jusqu'à ce jour, le compilateur Visual Basic et ses dépendances ne sont pas livrées (tu ne le trouveras pas dans les dépôts Synaptic/Adept) !!! Il est donc possible qu'il faille te tourner vers la Suse pour pouvoir compiler du Visual Basic. A moins que tu n'arrives à compiler toi-même Mono... J'ai essayé, c'est mission impossible (enfin, pour un être humain normal : les développeurs Debian/Ubuntu ne sont pas des mecs normaux ! lol).

Ca veut pas dire pour autant que tu peux pas utiliser du Visual Basic. C'est juste que tu seras obligé de compiler ton appli sur Windows.
Sachant que si tu utilises Gtk# au lieu des WinForms, la compilation sur Windows a de grandes chances de foirer. J'ai jamais réussi à faire fonctionner Gtk# sur Windows, et bien que la compilation réussisse quand même, l'assembly produit ne fonctionne pas non plus sur Linux.

Hors ligne

#12 Le 22/01/2009, à 16:02

arnomedia

Re : Faire fonctionner mon application Win32 sur une distrib Linux ?

Tu en connais un rayon wink merci, c vraiment super d'expliquer aussi bien les choses !

Tu sais je ne suis pas super calé en prog. Disons que je me dépatouille (autodidact, m pas un bouquin wink). Habituellement je n'hesite pas à casser du sucre sur les logiciels Microsoft, mais VB 2008 Express m'a vraiment seduit. Il n'est pas parfait c certain (un peu lourd entre autre) mais avec cet IDE, j'ai qd m été capable de développer mon premier petit programme sans y conaitre grand chose. Ceci dit, l'aide de http://plasserre.developpez.com (une reférence) m'a grandement aidée !

Bref, passer au C# non merci wink quand à Gtk# je suis pas trop chaud non plus, désolé.

Si ton appli est uniquement destinée à Linux...

En fait je n'avais pas du tout prevu pendant que je codais, puis un matin, la révélation smile Pourquoi pas reinstaller la dernière distrib Ubuntu ou Debian pour voir si Linux n'est pas devenu plus... "friendly". Malheurement, tjrs ces histoires de paquets interminables à installer... Quel dommage ! En plus ce qui me gonfle le plus est aussi ce que j'aime tongue dans le sens ou j'adore ce côté "sur mesure". On installe uniquement ce dont on a besoin, si on le souhaire, et puis c libre !

S'il y a problème de path, ça concerne plutôt le path .NET que le path système, c'est à dire : répertoire courant de l'appli (".", ou "./bin" en ASP.NET), path Mono (par défaut : "/usr/lib/mono/2.0:/usr/lib") et Global Assembly Cache (ou GAC, situé par défaut dans : "/usr/lib/mono/gac").

Alors, je fais quoi au juste stp ? Je suis completement perdu dans une partition Linux ! Pour rappel, j'aimerais deja reussir à lancer une appli. toute bête (1 form, 1 Label et 3 boutons) qui ne devrait pas poser de problème, normalement...

A bientot CedX et encore merci pour tes explications complètes.

Hors ligne

#13 Le 22/01/2009, à 17:02

nico_co

Re : Faire fonctionner mon application Win32 sur une distrib Linux ?

si tu veux migrer proprement sous gnu/linux/ubuntu tu essayer Gambas qui resemble à Vb mais en natif

http://doc.ubuntu-fr.org/gambas


;) Nico
Linux User : 486012
Ubuntu User : 26381

Hors ligne

#14 Le 22/01/2009, à 18:56

arnomedia

Re : Faire fonctionner mon application Win32 sur une distrib Linux ?

Merci pour l'info, mais avant de penser à developper sous Linux, je voudrais au moins pouvoir executer mon application.

Vu mon niveau avec Linux, je suis sur qu'il ne me manque pas grand chose pour y arriver, mais j'ai besoin d'être guidé. Avec un peu de chance il sagit juste d'un truc élémentaire pour beaucoup mais que j'ignore.

NB : peu d'infos concernant Mono sur le web

Dernière modification par arnomedia (Le 22/01/2009, à 18:57)

Hors ligne

#15 Le 22/01/2009, à 19:19

Grunt

Re : Faire fonctionner mon application Win32 sur une distrib Linux ?

Disons que Mono c'est le portage sur une plateforme minoritaire d'un langage qui ne lui a pas été destiné.
Beaucoup de développeurs .NET restent sur Windows, car ils sont sûrs que ça fonctionne.
Et Mono a reçu un accueil assez mitigé chez les libristes, qui s'attendent (à tort ou à raison?) à un coup tordu de la part de Microsoft.

D'où le fait qu'il y ait peu de doc: les utilisateurs de Windows n'écrivent pas la doc pour un OS qu'ils ne connaissent pas, et très peu d'utilisateurs de GNU/Linux s'intéressent à Mono. Surtout que des languages multiplateformes existent depuis longtemps sur cet OS: GTK, Qt..

#16 Le 22/01/2009, à 23:44

arnomedia

Re : Faire fonctionner mon application Win32 sur une distrib Linux ?

Je ne veux pas entamer une polémique, d'autant que je ne suis pas tres calé en prog, mais .NET semble être promis à un bel avenir tout en étant (en ce qui me concerne) le language le plus facile à appréhender pour un débutant. ça popularité fait également que l'on peut trouver beaucoup de doc sur le net ce qui facilite d'autant son apprentissage.

Sinon... je cherche encore wink mais je commence à me lasser...

Hors ligne

#17 Le 22/01/2009, à 23:58

Grunt

Re : Faire fonctionner mon application Win32 sur une distrib Linux ?

Je ne connais pas .NET donc je me garderais de me prononcer sur la qualité du langage lui-même.
D'ailleurs, si tu pouvais expliquer en quoi ça roxxe (par rapport à Java où à Qt, par exemple), j'en serais ravi: ça a l'air d'être bien à la mode en effet.

Pour tes recherches, essaie d'entrer directement en contact avec les membres du projet Mono: je doute que tu trouves beaucoup de doc' en cherchant sur le net, pour les raisons que je t'ai expliquées.

#18 Le 23/01/2009, à 02:24

arnomedia

Re : Faire fonctionner mon application Win32 sur une distrib Linux ?

Slt Grand_Grunt

Je me suis inscris sur leur forum avant hier, j'ai laissé 2 post que je me suis fait chier à taper en anglais et aucune réponse pour l'instant. pas trop bavard... ca me gonfle car ça doit être hyper simple pour eux ! ça me fait "marrer" car les pro Linux se plaigne de Microsoft et son monopole que ça serait bien qu'il y ait plus de monde qui migre vers le libre, mais qd il sagit de répondre à une question toute conne y'a plus personne ! qd je vois le temps que je passe à dépanner mes potes ds le monde "pouris" de microsoft... ça donne vraiment envie d'y rester tien ! Au moins pour 80 EUR de Windows XP je ne ferais pas chier à installer 1 milliard de paquets à la con, chercher des heures pour monter un reseau Wifi (WPA) ça c du vecu.

Désolé pour le language mais franchement ma patience à des limites. Le monde Linux est loint d'être merveilleux. Installer une distrib c tout de même assez simple mais alors dès que tu sorts des sentiers battus...

Sinon pour Java, Qt (connais m pas) C++ et les autres qd j'ai vu le code, je suis parti en courant wink Chacun ses ambitions, je ne suis pas un pro. je ne fais pas que de la prog, loint de là, alors ma priorité est l'accessibilité. Que .NET soit pas aussi performant, plus lourd, que tel ou tel language, je m'en fou un peu. Tant que le language est assez puissant pour me permettre de réaliser un projet qui ressemble à 90% à ce que je voulais, je suis satisfais ! .NET est "lisible" est pour ça je le trouve génial ! La seule chose que je luis reproche, car un peu chiant, est de devoir installer .NET Framework sur la machine pour fait tourner ton appli. Dans le futur cela sera moins pénalisant car le package est deja inlcu ds la daube de Vista par exemple. j'ose imaginer que pour Windows 7 ça sera la m chose.

Et sinon comment je lance mon appli sous Linux ? tout le monde s'en fou...

Hors ligne

#19 Le 23/01/2009, à 02:34

Grunt

Re : Faire fonctionner mon application Win32 sur une distrib Linux ?

Perso je ne m'en fous pas, pour avoir tenté plusieurs fois de goûter aux joies du développement je sais comme ça peut être décourageant..
Et là il te faut, en plus, ré-apprendre et pas apprendre, ce qui est encore pire.

Idée toute bête: tape

echo $MONO_PATH

dans un terminal, et poste le résultat.
A mon avis, faudra "tout simplement" ajouter les bonnes choses à cette variable. Quelles bonnes choses? Mystère, hélas. Le chemin vers ceci, apparemment:
"Assembly:   Microsoft.VisualBasic"


Edit: ça te saoule de réparer les Windows de tes amis? Moi aussi, ça me saoulait..
http://ploum.frimouvy.org/?36-je-ne-suis-pas-un-numero-de-hotline-je-suis-un-geek-libre

Dernière modification par Grand_Grunt (Le 23/01/2009, à 02:35)

#20 Le 23/01/2009, à 03:00

arnomedia

Re : Faire fonctionner mon application Win32 sur une distrib Linux ?

Voila le résultat : wink

Hors ligne

#21 Le 23/01/2009, à 03:13

arnomedia

Re : Faire fonctionner mon application Win32 sur une distrib Linux ?

Vide de chez vide, nada

Pas mal ton lien sur le geek libre smile Effectivement y'a de ça. Pour dire vrai je ne dépanne plus trop, j'ai fini par en avoir assez mare pour "oser" dire que justement j'en avais (passez moi l'expression) "plein le cul !" Ce qui a déclaché cette "honteuse rébélion" de ma part est la fois ou on m'a refusé 1/2 heure (et encore) de plus (apres y avoir passé toute la soirée) pour faire une image Ghost "Oh non il est trop tard, faut que j'aille me coucher" Ah sans blague parce que je ne dort jamais moi sans doute... Le pauvre n'a m pas pu aller voir ses sites de cul pendant que je faisais tout le travail. On croit rever ! Trop bon trop con, les fois ou je dépanne encore, l'image Ghost est imposée et cachée (il y en a qui sont capable de supprimer le fichier pour faire de la place) Au moins je ne fais le travail qu'une fois. En cas de refut de l'image disque : pas de dépannage.

Hors ligne

#22 Le 26/01/2009, à 16:12

arnomedia

Re : Faire fonctionner mon application Win32 sur une distrib Linux ?

Pour revenir au sujet wink

J'ai fini par trouver un paquet indispensable au fonctionnement sur le site de Debian (http://debian.cs.binghamton.edu/debian/ … ono-basic/) Ce paquet est également dispo pour Ubnutu à une autre adresse (c le même).

J'ai essayé de le compiler plusieurs fois, mais ayant aucune connaissance dans ce domaine je n'y suis pas arrivé. J'ai vu à travers plusieurs messages que j'étais loin d'être le seul...

Donc, j'ai finalement trouvé une pseudo solution en installant la dernière distrib openSUSE/Gnome (v11.1). Cette distrib est orienté pour les débutants. Une rapide découverte de celle-ce me laisse une bonne impression. Cette distrib semble très agréable à utiliser.

YAST2 s'occupe de l'installation de la distrib. Le matériel est reconnu automatiquement, à noter que le mode d'installation est très jolie, même si cela à peu d'importance. Cependant j'ai détesté l'étape du partitionnement que je trouve très confuse (en mode manuel). Je n'ai pas réussi à installer openSUSE en conservant ma Ubuntu (Windows XP, oui)

Au finale, mono ne semble pas si compatible que cela. J'ai pu lancer une petite application "ridicule" faite pour tester mono. Elle a fonctionnée correctement. Suite à cela, j'ai lancé une autre application relativement simple (une sorte de calculatrice). La Form et ses objets s'affichent correctement (mais c moche). Par contre, l'application plante systématiquement lors du fontionnement.

Conclusion d'un débutant
Linux/mono est une alternative interressante à Windows/.NET Framework qui doit encore murrir du coté de sa compatibilité avec les applications qui ne sont pas développées avec Windows/.NET Framework dans l'optique d'être utilisées dans un environement Linux.

En espérant que ma maigre contribution aidera toutes personnes rencontrant les mêmes difficultées que moi, je m'en retourne sous Windows.

Hors ligne

#23 Le 19/02/2009, à 19:58

CedX

Re : Faire fonctionner mon application Win32 sur une distrib Linux ?

J'apporte ma contribution avec pas mal de retard (j'ai eu une grosse coupure de net... de quelques semaines ! dur) parce que le sujet me passionne (je code en C# sur Mono, et j'adore !).

Grand_Grunt a écrit :

code dans un langage multiplateforme la prochaine fois ^^ (genre Qt ou GTK)

Ni Qt, ni GTK, ne sont des langages. Ce sont des bibliothèques qu'on peut utiliser à partir de plusieurs langages : on peut tout aussi bien faire du Qt/GTK en C, C++, PHP, Python, et bien d'autres (dont le C# et le Visual Basic fournis avec Mono).
Tout est question de bindings (cf. Wikipédia : binding de langage)...

Grand_Grunt a écrit :

si tu pouvais expliquer en quoi ça roxxe (par rapport à Java où à Qt, par exemple)

De mon côté en tout cas, c'est vite vu : développe un site Web avec Java/J2EE, et fait la même chose avec C#/ASP.NET, tu verras vite la différence !!! Si au niveau syntaxe des langages, ya pas grande différence, au niveau des bibliothèques et de l'API, l'avantage est clairement en faveur du .NET.

A la base, je suis développeur PHP, et je voulais me mettre soit à Java, soit au C#. Avant de me décider définitivement, j'ai fais un test simple : coder un blog avec les 3 langages et des bibliothèques assez récentes. Le résultat est que c'est avec le C# que j'ai perdu le moins de temps ! Java, pour les sites Web, c'est l'enfer !!!

Après tout, ce qui compte, c'est pas si tel ou tel langage est mieux, mais bien celui qui rend le plus productif. Certaines personnes arrivent très bien à coder plus rapidement en C++ qu'en Java ou C#, du moment qu'ils ont à disposition de bonnes bibliothèques (n'oubliez pas : en programmation, il ne faut JAMAIS essayer de réinventer la roue, comme on dit).

Petit bémol : ya encore plus rapide que l'ASP.NET... je pense au framework Prado (cf. http://www.pradosoft.com), qui est une sorte d'adaptation de l'ASP.NET au monde PHP. Croyez-le ou pas, c'est encore mieux (car plus simple et plus puissant) et plus rapide que de coder en ASP.NET.

Cela dit, Java est sorti bien avant .NET. Ce qui explique sans doute pourquoi le .NET est plus souple/cohérent : Microsoft n'a encore une fois rien inventé, ils ont pris Java, et ont juste évité les erreurs/lourdeurs qu'avait commis Sun.

Niveau desktop/applis graphiques, je ne saurais pas dire si C#/WinForms est mieux que Java/Swing-AWT, car j'ai même pas essayé (encore une fois, les API Java m'ont semblé bien trop compliquées).

arnomedia a écrit :

.NET semble être promis à un bel avenir tout en étant (en ce qui me concerne) le language le plus facile à appréhender pour un débutant

Pas si évident... de l'avis de ceux qui ont testé, le Python ou le Ruby sont encore plus simples à apprendre (sans compter le PHP que je trouve enfantin, n'ayant ni testé Python, ni Ruby).

arnomedia a écrit :

on peut trouver beaucoup de doc sur le net

Là, je suis tout à fait d'accord. La plate-forme .NET est probablement la mieux documentée au monde (j'ai pas dit la plus, j'ai dit la mieux). Encore une fois, PHP s'en sort super bien : j'ai appris ce langage uniquement en lisant le manuel en ligne.

Grand_Grunt a écrit :

projet Mono: je doute que tu trouves beaucoup de doc' en cherchant sur le net

Normal : c'est pas du côté de Mono qu'il faut chercher, mais du côté .NET/MSDN puisque presque tout est identique.

arnomedia a écrit :

les pro Linux se plaigne de Microsoft et son monopole que ça serait bien qu'il y ait plus de monde qui migre vers le libre, mais qd il sagit de répondre à une question toute conne y'a plus personne

Encore une fois, c'est normal : sur Linux, TOUT le monde est bénévole. Tu peux pas attendre le même retour d'une personne qui te répond par plaisir/passion que par une personne qui est payée pour ça !
Le jour où on me payera pour répondre sur ce forum, j'y passerai mes journées entières. En attendant, c'est parfois gavant de répondre toujours aux mêmes questions, alors que Google permet déjà de trouver l'ensemble des réponses.

Arnomedia, tu t'énerves car tu n'es pas encore habitué à Linux. Ca fait combien de temps que tu es sur Linux ? Et combien de temps sur Windows ? Lorsque tu seras habitué, tu verras sûrement les choses autrement.
Personnellement, il m'a fallu à peine un an pour basculer dans le monde Linux, alors que j'avais 20 ans de Windows derrière moi (depuis Windows 3.0 : oui, je sais, je me fais vieux...) !

arnomedia a écrit :

je ne ferais pas chier à installer 1 milliard de paquets à la con

Tu trouves ça si différent de télécharger des tonnes d'applis à la con, de les cracker, et de les installer à la main, comme c'est le cas sur Windows ? Moi, je vois aucune différence, si ce n'est que grâce à Synaptic ou Adept, tout est centralisé et gratuit (rien que ça, c'est le top !!!).

arnomedia a écrit :

mono ne semble pas si compatible que cela

Fallait pas s'attendre à des miracles : Microsoft n'a jamais aidé le projet, les sources du .NET sont fermées. Et puis, si côté Win32, c'est pas top, côté ASP.NET, c'est presque parfait.

Hors ligne

#24 Le 25/02/2009, à 14:41

arnomedia

Re : Faire fonctionner mon application Win32 sur une distrib Linux ?

slt !

Je confirme que j'étais énervé wink Linux a un désavantage certain face à Windows... Il est arrivé apres ! Quand tu commences avec Linux, tu luttes des heures à faire quelque chose qu tu serais faire les yeux fermés sous Windows... Ceci dit, ça aurait tres bien pu être l'inverse wink

Je suis déçu que mes applis ne tournent pas correctement sous Linux mais je vais laisser passer plusieurs mois (années qui sait) et je retenterais ma chance.

Hors ligne