# [Débutant] Créer une interface en C++



## cookie (7 Avril 2007)

Bonjour,

Je me suis mis il y a quelques temps à apprendre le C et maintenant le C++ via (entre autre) le site du Zer0.

Seulement, voilà, maintenant que je connais les bases du C++ (variables, fonctions, conditions, utilisation d'objets), j'aimerais pouvoir créer de petites interfaces (fenêtres) histoire de quitter ce terminal  

Il y a bien une partie des cours sur le site du Zer0 concernant la librairie SDL mais elle est principalement destinée au C et non au C++. De plus elle s'adresse surtout aux personnes désireuses de réaliser des jeux en 2D. Hors se que je cherche c'est à créer une interface basique pour un logiciel et non un jeux.

Est-ce que quelqu'un pourrait me conseiller, m'orienter ?
Je suis un peu perdu je vous avoue :rose: 

Merci beaucoup...


----------



## tatouille (7 Avril 2007)

depend de la platforme COCOA GTK WXWidget ...


----------



## g.lebourgeois (7 Avril 2007)

Pour du jeu Allegro est sympa et portable...
Pour du fen&#234;trage, Cocoa a le d&#233;savantage d'&#234;tre mac-only, alors que WxWidget est multi plateforme : c&#224;d que ton programme pourra &#234;tre recompil&#233; &#224; partir de tes sources sur linux, windows, ou mac sans probl&#232;me si tu fais attention &#224; programmer de mani&#232;re "portable".
GTK il me semble que &#231;a ne marche que sur UNIX, mais &#224; v&#233;rifier...


----------



## ntx (7 Avril 2007)

g.lebourgeois a dit:


> GTK il me semble que ça ne marche que sur UNIX, mais à vérifier...


Bien sur c'est ce qui fait tourner Gnome et Gimp  GTK = Gimp Tool Kit

Il y a aussi QT qui est à la base de KDE.

Cocoa est en Objective-C mais tu peux intégrer du code C++ et ça devient de l'Objective-C++.

SDL est en C, mais rien ne t'empêche d'y mettre du C++.


----------



## cookie (7 Avril 2007)

Merci à tous pour vos conseils.

Mon objectif est de développer de petites application pour Mac. 
D'après se que j'ai pu lire, L'objective-C est le language ideal pour ça puisqu'il va de paire avec Cocoa.

Je suis donc entrain de chercher un tutoriel pour Débutants en Objective-C (pas facile à trouver en français).

J'en ai trouvé sur Cocoa X mais il se base sur le logiciel "project builder" qui, je suppose, est l'ancêtre de Xcode ?
Du coup, je ne comprends rien ;-).

Je pense que je vais aller à la Fnac essayer de trouver un livre pour apprendre genre "Objective-C/Cocoa pour les Nuls !"


----------



## Anonyme (7 Avril 2007)

http://www.cocoalab.com/BecomeAnXcoder.pdf


----------



## ntx (8 Avril 2007)

cookie a dit:


> Je pense que je vais aller à la Fnac essayer de trouver un livre pour apprendre genre "Objective-C/Cocoa pour les Nuls !"


"Cocoa par la pratique", de Aaron Hillgass


----------



## cookie (8 Avril 2007)

ntx a dit:


> "Cocoa par la pratique", de Aaron Hillgass



Oui, je l'ai vu sur le site de la fnac.
Est-ce que tu l'as déjà lu ?

Je ne suis pas du tout un développeur expérimenté, j'ai juste quelques notions de C/C++. 
Je connais par contre le php, sql, html,...

Je vais aller lire les première pages à la FNAC la semaine prochaine je pense que c'est vraiment le meilleur moyen.

Encore merci pour vos conseils


----------



## ntx (8 Avril 2007)

cookie a dit:


> Oui, je l'ai vu sur le site de la fnac.
> Est-ce que tu l'as déjà lu ?


J'ai la première édition en Anglais. Très, très bien pour comprendre la "philosophie" d'un programme en Cocoa.


----------



## Céroce (10 Avril 2007)

cookie a dit:


> J'en ai trouvé sur Cocoa X mais il se base sur le logiciel "project builder" qui, je suppose, est l'ancêtre de Xcode ?
> Du coup, je ne comprends rien ;-).



Hé bien t'as de la chance, la personne qui a écrit ces articles sur Cocoa-x (euh... moi) est justement en train de te lire. Effectivement, ça date déjà de 5 ans, et tout ça a pas mal évolué. La démarche n'a pas énormément changé, mais si tu n'arrives pas à t'y retrouver, je crois qu'on trouve ce qu'il faut sur ProjectOmega.org.

Sinon, mon avis sur le livre d'Aaron Hillgas. Cet avis est toujours vrai, y compris pour la traduction française.


----------



## cookie (10 Avril 2007)

Bonjour Céroce,

Comme le web est petit ;-)

Merci beaucoup pour le lien vers ta critique du livre d'Aaron Hillgas. Si je comprends bien, ce livre n'est pas pour moi. Je ne suis pas un développer expérimenté ;-).


----------



## Céroce (11 Avril 2007)

cookie a dit:


> Merci beaucoup pour le lien vers ta critique du livre d'Aaron Hillgas. Si je comprends bien, ce livre n'est pas pour moi. Je ne suis pas un développer expérimenté ;-).



Quoi qu'en disent certains ici, Cocoa s'adresse aux développeurs expérimentés. La question est ici de savoir comment tu vas pouvoir franchir le pas entre "débutant" et "programmeur expérimenté".

Quel genre de programme as-tu envie de faire aujourd'hui? Par exemple, je trouve que faire de la 3D avec OpenGL est sympa et permet de gagner beaucoup d'expérience.


----------



## boulifb (11 Avril 2007)

Cocoa s'attaque  en Objective-C et en Objective-C++ (pour débuter: CocoaFundamentals.pdf, ObjC.pdf et ObjCTutorial.pdf).

Pour attaquer Aqua en C/C++ tu as l'environnment Carbon qui est aussi l'environnement de prédilection pour le portage d'applications Win32 vers Mac OS X (pour débuter: newtocarbon.pdf et HIView.pdf)

Tu peux aussi coder du C/C++ pour l'environnement X-Window.

vue générale du système:
OSX_Technology_Overview.pdf
OSXHIGuidelines.pdf (guide d'ergonomie)
CodingGuidelines.pdf

Tu peux faire des applications fenétrées en mode texte en C++ via TurboVision qui marche très bien sur Mac OS X via le terminal X. Avantage: tu peux t'en servir via un terminal distant (connexion ssh via PuTTY par exemple). Inconvéniant: de nos jours, il est très difficile de trouver encore un livre sur TurboVision.

Bonnes lectures.

Cordialement.

fred.


----------



## p4bl0 (11 Avril 2007)

boulifb a dit:


> Cocoa s'attaque  en Objective-C et en Objective-C++ (pour débuter: CocoaFundamentals.pdf, ObjC.pdf et ObjCTutorial.pdf).
> 
> Pour attaquer Aqua en C/C++ tu as l'environnment Carbon qui est aussi l'environnement de prédilection pour le portage d'applications Win32 vers Mac OS X (pour débuter: newtocarbon.pdf et HIView.pdf)
> 
> ...


t'as pas oubli&#233; les lien vers les fichiers PDF ?  

m'enfin vace le nom exact &#231;a peut se retrouver de toute fa&#231;on


----------



## boulifb (11 Avril 2007)

p4bl0 a dit:


> t'as pas oubli&#233; les lien vers les fichiers PDF ?
> 
> m'enfin vace le nom exact &#231;a peut se retrouver de toute fa&#231;on


 
Si cookie est malin, il aura vu que tous les PDFs sont t&#233;l&#233;chargeables sur le site de la Pomme.

Au pire, un coup de google avec le nom du pdf et comme par magie le lien vers le site de la Pomme appara&#238;tra en premi&#232;re position


----------



## cookie (11 Avril 2007)

boulifb a dit:


> Si cookie est malin, il aura vu que tous les PDFs sont téléchargeables sur le site de la Pomme.



Cookie est malin, il les a trouvé sur le site d'Apple  

Vous allez me dire que je change d'avis comme de chemise mais je pense que je vais encore continuer à bidouiller en C++ avant de passer à un autre langage.

Je vais essayer d'appendre à utiliser Qt. Ce sera déjà un bon début !
J'ai trouvé quelques tutoriels en français pour apprendre à l'utiliser. Bon, il parlent tous de l'utilisation de Qt sous Windows mais bon, au pire, je compte bientôt m'acheter un mac mini (quand le nouveau modèle sortira). Je pourrai toujours installer Boocamp dessus.


----------



## ntx (11 Avril 2007)

cookie a dit:


> Je vais essayer d'appendre à utiliser Qt. Ce sera déjà un bon début !
> J'ai trouvé quelques tutoriels en français pour apprendre à l'utiliser. Bon, il parlent tous de l'utilisation de Qt sous Windows mais bon, au pire, je compte bientôt m'acheter un mac mini (quand le nouveau modèle sortira). Je pourrai toujours installer Boocamp dessus.


La programmation de Qt sous Windows est la même que sous les autres OS, c'est le but. :rateau:


----------



## aegir (12 Avril 2007)

ntx a dit:


> La programmation de Qt sous Windows est la même que sous les autres OS, c'est le but. :rateau:



Oui, à part quelques trucs ésotériques que personne n'utilise...

Ca fonctionne indifféremment sous Windows, Mac et Linux.

Il suffit de définir le système cible dans le fichier projet transmis à QMake, et il se charge de faire les automake et autoconf qui vont bien.


----------

