Forum de la communauté SFML

Général => Discussions générales => Discussion démarrée par: gaudon le Juillet 11, 2012, 02:41:51 pm

Titre: Recherche d'une GUI mais pas seulement...
Posté par: gaudon le Juillet 11, 2012, 02:41:51 pm
Bonjour  :),

J'ai lu pas mal de choses sur SFML avec intérêt. bravo à Laurent et à vous tous pour ce beau travail.
Je bosse dans une petite société qui fait de la machine spéciale et je développe notre propre système d'automatisation. Le maillon faible de notre solution est l'IHM locale, il faut dire que je l'avais réalisé il y a maintenant (très) longtemps en partant du pixel et l'affichage se faisait sur un LCD 128x128. Maintenant je passe sur un écran VGA ou plus et mon challenge est le suivant:

L'OS utilisé est VxWorks 5.4 avec l'environnement tornado, il s'agit d'une ancienne version mais on n'a pas les sous pour passer à la dernière version. (ça c'est la tête du boss quand il voit le coût :  :o)
Je n'ai pas les drivers graphiques de la base PC que j'utilise, j'ai donc momentanément utilisé les interruptions Bios pour passer en 800x600 16 couleurs, cela m'a permis de reprendre facilement l'ancienne interface et de la mettre à la sauce 16couleurs mais c'est insuffisant, j'ai besoin de faire des scrollings d'écran et d'afficher des photos.

Mes questions:

Est-ce que SFML se suffit à elle-même et plus précisément:
Comment SFML initialise-t-elle le contrôleur graphique ? (La base PC est une MSM800 basée sur le Geode LX800)
En bref, peux-t-on utiliser SFML sous VxWorks ? (je maîtrise assez bien VxWorks)

Merci pour votre aide
Titre: Re : Recherche d'une GUI mais pas seulement...
Posté par: Laurent le Juillet 11, 2012, 02:46:58 pm
SFML est conçue pour fonctionner sur les environnements communs : Windows, Linux et Mac OS X.

Je ne sais pas sur quoi est basé VxWorks 5.4, donc je ne peux pas te répondre. Ceci-dit si c'est une base Unix, pour que ça fonctionne il faudra certainement les choses suivantes :
- OpenGL
- X11
- pthreads
- FreeType
- libpng
- GLEW
- sûrement des modifs dans SFML

En lisant ton message je pense qu'on doit être assez loin du compte, non ? ;D
Titre: Re : Recherche d'une GUI mais pas seulement...
Posté par: gaudon le Juillet 11, 2012, 04:14:40 pm
Citer
>>En lisant ton message je pense qu'on doit être assez loin du compte, non ?

Oui, j'en ai bien peur  :D mais j'ai encore des options  ;)

Vu la baisse des coût de hardware, j'ai aussi la solution de déporter l'IHM dans un petit panelPC tactile.
Ce serait alors une IHM autonome télécommandée par la (ou les) commande(s) numérique(s) via des messages TCP. Le terminal présenterait des pages standards codées en dur, par exemple la page des alarmes station, données de production, et je prévoirais quelques pages pour les besoins spécifiques de l'utilisateur. Celui-ci pourrait envoyer via la CN des commandes du genre :
Cette solution aurait l'avantage de pouvoir s'implémenter également sur le PC central, qui est sous Windows, elle aurait aussi l'avantage d'être accessibles depuis plusieurs CN simultanément. En fait, ça pourrait s'appeler un serveur d'IHM. Et pour le petit terminal, il me faudrait un OS minimaliste, juste ce qu'il faut pour tirer partie de la SFML que je sens bien.
Que pensez-vous de la solution ?
Quel hardware et quel OS minimaliste vous verriez ?

Merci  :)
Titre: Re : Recherche d'une GUI mais pas seulement...
Posté par: Laurent le Juillet 11, 2012, 04:32:05 pm
C'est dur à dire, là comme ça. Tu es le mieux placé pour juger de ce genre de choix et de technologie.

Par contre si ce n'est que de l'IHM, pourquoi faire le choix de SFML ? Pourquoi pas Qt, par exemple, qui tourne sur bien plus de plateformes (y compris embarquées), et surtout est fait pour l'IHM ?
Titre: Re : Recherche d'une GUI mais pas seulement...
Posté par: gaudon le Juillet 11, 2012, 07:06:12 pm
Citer
Par contre si ce n'est que de l'IHM, pourquoi faire le choix de SFML ? Pourquoi pas Qt, par exemple, qui tourne sur bien plus de plateformes (y compris embarquées), et surtout est fait pour l'IHM ?

Bonne question...
Je me trompe peut être mais je me dis que :

Si j'essaye de résumer:

Mes questions, parce que il me manque des notions concernant SFML  :)

J'ai été un peu long, merci pour votre aide
Titre: Re : Recherche d'une GUI mais pas seulement...
Posté par: Laurent le Juillet 11, 2012, 09:11:01 pm
Citer
Je développe dans l'industrie et ça ne fait pas bon ménage avec les nouvelles technos, on recherche surtout une fonctionnalité dans la fiabilité et une maintenance du produit sur plusieurs années
Ce qui serait complètement en faveur d'une bibliothèque telle que Qt plutôt que SFML.

Citer
Qt est beaucoup plus que ce dont j'ai besoin
Qt est modulaire, tu peux ne prendre que ce que tu veux.

Citer
en plus on est en droit de penser que Qt est en perte de vitesse pour finalement bientôt s'arrêter
Tu rigoles ? Ils vont sortir la 5.0 dans quelques mois. Il y a toujours plusieurs dizaines de salariés derrière, et plusieurs milliers de développeurs dans la communauté. De plus ils s'orientent vers une gestion ouverte (ils l'ont même déjà mise en place), donc même si les trolls de chez Nokia arrêtent de bosser dessus (très improbable) le produit n'en mourra pas pour autant.
Il n'y a aucune techno similaire/concurrente, donc ça ne risque pas non plus de tomber en désuétude.

Citer
En ce qui concerne les IHM, nous sommes inondés par les nouvelles techno qui vont du RIA au natif. les 9/10ieme n'existeront plus dans 3 ans, le Rich Internet Application est en pleine évolution et tout ça est contraire aux contraintes précités
Qt n'est pas une nouvelle techno, c'est un framework C++ natif, rien d'exotique là-dedans. Ils essayent de nouvelles approches pour le côté front-end (QML), mais je n'appellerait pas ça une "nouvelle techno".

Citer
Je pourrais faire la comparaison avec le matériel utilisé à l'armée : fiables, robustes, simples et maintenable
Alors n'utilise pas SFML. Sérieusement.
La 2.0 va sortir donc ne sera ni fiable ni robuste (la 2.9 le sera peut-être, dans quelques années).

Citer
Et plus généralement, je suis persuadé que nous allons trop loin et trop vite dans tous les domaines, et que notre salut passera par la redécouverte des choses simples
Je ne pense pas que SFML soit plus "simple" que Qt. Du moins c'est argumentable.
Et puis avec SFML il te faudra redévelopper tout le côté IHM, à moins d'utiliser un add-on genre SFGUI mais là tu perds encore un niveau de fiabilité/maintenance/robustesse.

Citer
Plutôt que faire le choix de la portabilité je préfère faire le choix d'un produit pérenne
SFML n'est pas pérenne. Je suis seul à bosser dessus. Si je n'ai pas le temps, si j'ai autre chose à faire, ou si je ne suis pas motivé, SFML n'avance pas. Si j'arrête carrément, SFML est morte.

Citer
J'ai besoin d'un système d'exploitation minimum pour héberger mon application
SFML cible uniquement les OS "communs" de bureau. Pour le moment du moins.

Citer
Quel est le degré de dépendance de la SFML avec les OS
Pour chaque OS il faut développer nativement :
- une couche système (threading, time)
- une couche de fenêtrage
- une couche d'interfaçage entre OpenGL et le fenêtrage
- une couche réseau
Il faut aussi un backend qui soit géré par OpenAL, pour la partie audio.

Citer
Quel est le degré de dépendance de la SFML avec les Hardware
Niveau graphique il faut pouvoir faire tourner OpenGL 1.4.

Citer
Si je choisis une carte PC pérenne avec une version de Linux figée que je n'utilise que pour mon appli IHM sous SFML 2.0, y-a-t-il une raison de ne plus pouvoir assurer la vente et la maintenance ?
Le risque le plus important pour toi c'est que je ne m'occupe plus de SFML. Ou qu'il y ait des bugs très gênants (il y en a) que je ne puisse pas corriger.

Voilà, comme tu le vois j'essaye d'être le plus objectif pour que tu te rendes compte que SFML est encore un produit "amateur" et dont l'avenir dépend entièrement d'une seule personne, alors que Qt est un produit professionnel robuste et pérenne.

Personnellement, si les contraintes hardware et softwares le permettent, j'utiliserais Qt sans hésiter. D'ailleurs je le fais au boulot, et nous faisons aussi de l'embarqué sur des systèmes parfois assez limités.
Titre: Re : Recherche d'une GUI mais pas seulement...
Posté par: gaudon le Juillet 12, 2012, 12:07:53 am
Bonsoir Laurent, merci pour tes réponses.

Evidemment, si je poste sur ce forum, c'est pour me défricher  ::)
Ce qui me vient, dans le désordre:
Citer
si les contraintes hardware et softwares le permettent, j'utiliserais Qt sans hésiter
Une dernière question parce que ça devient du Qt, quelles sont les contraintes auxquelles tu penses ? puissance CPU ? taille mémoire ?

En attendant, un grand merci pour tes conseils.
Titre: Re : Recherche d'une GUI mais pas seulement...
Posté par: Cpl.Bator le Juillet 12, 2012, 12:23:26 am
Citer
La 2.0 va sortir donc ne sera ni fiable ni robuste (la 2.9 le sera peut-être, dans quelques années).

 ???

Heu... , c'est une blague ? qu'entend tu par là ? tu doutes de ton propre code ? je ne te suis pas du tout là.  :o
Titre: Re : Recherche d'une GUI mais pas seulement...
Posté par: gaudon le Juillet 12, 2012, 12:34:53 am
Douter de soi est souvent le lot des grands talents  :)
Titre: Re : Re : Recherche d'une GUI mais pas seulement...
Posté par: minirop le Juillet 12, 2012, 06:31:24 am
Heu... , c'est une blague ? qu'entend tu par là ? tu doutes de ton propre code ? je ne te suis pas du tout là.  :o
je dirais juste qu'il est conscient/réaliste.

y'a une diff entre un truc testé et éprouvé depuis de longue années (genre Qt) et une lib dév par un seul homme sur son temps libre (et utilisé à bcp moins grande échelle).
suffit de voir les bugs (notamment ceux de la 1.6).
Titre: Re : Recherche d'une GUI mais pas seulement...
Posté par: Laurent le Juillet 12, 2012, 08:18:04 am
Citer
Premièrement, si je venais à choisir SFML et que tu arrêtais son développement, personne ne pourrait t'en vouloir, c'est déjà énorme d'avoir mis à disposition cette librairie et tu ne vas pas passer ta vie gracieusement à notre service. Et ce jour là, je vivrai avec l'existant comme je le fais aujourd'hui avec d'autres applis
Le problème, c'est qu'à ce moment l'existant sera dans un état indéterminé de maintenance. Il y aura peut-être des bugs, des trucs en chantier, etc.

Concernant ton point de vue sur l'énormité de Qt et tes besoins relativement bas-niveau et bien ciblés, je comprends tout à fait. Le mieux sera sans doute que tu te fasses ta propre opinion sur Qt, si toutefois tu peux te le permettre.

Citer
Une dernière question parce que ça devient du Qt, quelles sont les contraintes auxquelles tu penses ? puissance CPU ? taille mémoire ?
Ca, et puis surtout il faut voir si Qt est supporté sur la plateforme que tu envisages d'utiliser.

Citer
Heu... , c'est une blague ? qu'entend tu par là ? tu doutes de ton propre code ? je ne te suis pas du tout là.
Il faut bien se rendre compte qu'une version 2.0 c'est le tout début d'un nouveau cycle. Les versions suivantes, jusqu'à la 3.0, ne serviront qu'à corriger et améliorer. Du coup 2.0 sera la moins robuste et fiable de la série, forcément. Faut pas voir ça comme une version ultime, mais comme un premier jet d'une nouvelle API.
Titre: Re : Recherche d'une GUI mais pas seulement...
Posté par: gaudon le Juillet 12, 2012, 09:09:26 am
Bonjour,

Laurent:
Citer
Concernant ton point de vue sur l'énormité de Qt et tes besoins relativement bas-niveau et bien ciblés, je comprends tout à fait. Le mieux sera sans doute que tu te fasses ta propre opinion sur Qt, si toutefois tu peux te le permettre.

Bien dit, et pour ça il y a le forum de Qt  :)

minirop:
Citer
y'a une diff entre un truc testé et éprouvé depuis de longue années (genre Qt) et une lib dév par un seul homme sur son temps libre (et utilisé à bcp moins grande échelle).
suffit de voir les bugs (notamment ceux de la 1.6).

Je précise quand même qu'il s'agit d'IHM, et que ça n'engage pas la sécurité de la machine.
J'ai fais un parallèle brut (voir osé) avec les besoins de l'armée pour expliquer la maintenabilité, mais pour le reste je n'en ai pas les contraintes, et les moyens ne seraient pas les mêmes :-)

Question: Et la SDL, la considérez-vous comme (plus) fiable ?  ;)
En bref, entre l'usine Qt et l'outil d'un seul homme, vous verriez quoi comme milieu ?

Merci
Titre: Re : Recherche d'une GUI mais pas seulement...
Posté par: Laurent le Juillet 12, 2012, 09:56:15 am
Citer
Et la SDL, la considérez-vous comme (plus) fiable ?
De par son âge et son utilisation largement éprouvée, forcément oui. Maintenant on parle de SDL 1.2. SDL 1.3/2.0 ce sera un peu le même délire que SFML 2.0.
Titre: Re : Recherche d'une GUI mais pas seulement...
Posté par: Cpl.Bator le Juillet 12, 2012, 11:47:31 pm
Désolé du HS. c'est ma dernière "dérive" du sujet.

Citer
je dirais juste qu'il est conscient/réaliste.

y'a une diff entre un truc testé et éprouvé depuis de longue années (genre Qt) et une lib dév par un seul homme sur son temps libre (et utilisé à bcp moins grande échelle).
suffit de voir les bugs (notamment ceux de la 1.6).

Peut être, mais le dev n'est pas non plus un lapin de six semaines , sinon on ne serais pas là.
entre pas robuste / pas fiable et quelques bugs , y a une différence, les mots ont un sens.

Citer
Il faut bien se rendre compte qu'une version 2.0 c'est le tout début d'un nouveau cycle. Les versions suivantes, jusqu'à la 3.0, ne serviront qu'à corriger et améliorer. Du coup 2.0 sera la moins robuste et fiable de la série, forcément. Faut pas voir ça comme une version ultime, mais comme un premier jet d'une nouvelle API

Je préfère lire cela ;) Encore désolé du hs, j'allais pas faire un topic pour ça. ;)
 
Titre: Re : Recherche d'une GUI mais pas seulement...
Posté par: Laurent le Juillet 13, 2012, 08:12:17 am
C'était même pas forcément du HS, la fiabilité et la robustesse font partie des arguments clés de cette discussion ;)
Titre: Re : Recherche d'une GUI mais pas seulement...
Posté par: danman le Juillet 13, 2012, 11:00:20 am
Et par rapport a des solutions qui passent par un navigateur web, il existe pleins d'outils, ca répond plutot bien à ta demande et c'est vraiment dirigé vers l’extensibilité avec les nouvelles technologies web (si on peut les appeler comme ca) et les trucs existants comme JQuery, les websockets ...

Je ne sais pas comment le logiciel est fait, mais dans tous les cas les websockets, voire un serveur web intégré peuvent permettre de reprendre les commandes derrières.
Titre: Re : Recherche d'une GUI mais pas seulement...
Posté par: gaudon le Juillet 13, 2012, 11:33:40 am
Citer
Cpl. Bator : Peut être, mais le dev n'est pas non plus un lapin de six semaines , sinon on ne serais pas là. entre pas robuste / pas fiable et quelques bugs , y a une différence, les mots ont un sens.

Je suis d'accord avec toi. Un produit n'est pas tout bon ou tout mauvais.
Malgré ce qu'en dit Dr SFML  ;) , quand je vois le nombre de références sur le Web autours de SFML, je me dis qu'il doit y avoir moyen.
Titre: Re : Recherche d'une GUI mais pas seulement...
Posté par: gaudon le Juillet 13, 2012, 11:45:41 am
Citer
danman: Et par rapport a des solutions qui passent par un navigateur web, il existe pleins d'outils, ca répond plutot bien à ta demande et c'est vraiment dirigé vers l’extensibilité avec les nouvelles technologies web (si on peut les appeler comme ca) et les trucs existants comme JQuery, les websockets ...

Merci, je vais creuser un peu ce que tu dis. Par contre ma limite c'est que le serveur web serait dans la Commande Numérique ? c'est faisable par contre comme je suis avec une ancienne version non maintenue, je ne pourrai pas installer les extensions sans doutes nécessaires pour utiliser ces technologies.

Deuxièmement, je sais que la solution que je présenterai permettra de faire des scrolling de page au doigt, à la mode du moment pour que ça en jette (ça c'est pour les acheteurs   8)) et il y aura aussi un menu principal permettant de pointer directement sur la page pour plus d'efficacité (ça c'est pour les opérateurs qui produisent , eux ;))

J'ai tenté un sujet sur forum QT Fr, mais je crois que je ne les ai pas trop emballé... :-[
En même temps je connais tellement peu les produits que j'ai un peu de mal à poser les bonnes questions.
Titre: Re : Recherche d'une GUI mais pas seulement...
Posté par: kamui le Juillet 13, 2012, 11:48:59 am
Je comprends tout à fait ton amour et ton envie d'utiliser SFML^^. En effet, avec SFGUI par exemple en complément je penses que tu pourrais réussir à avoir quelque chose, et surtout ça te permettra de le faire avec une API que tu affectionne. Mais honnêtement, tu vas pas mal t'embêter pour pas grand chose, car comme déjà dit, Qt est faite exprès pour cela. Elle est très facile d'utilisation, très bien automatisée sur pas mal de points, très biens organisée, trèèèèès bien documentée (tu trouveras même les pages principales de la documentation entièrement traduites en français sur le site developpez.com), et il existe de bon tutos pour t'aider à rapidement la prendre en main.

Maintenant, c'est toujours difficile de se lancer dans quelque chose où tout le monde attend de toi des résultats et de partir sur une lib qu'on connait pas. Mais je penses que tu sera beaucoup plus efficace et que ça aura vraiment "plus de gueule" qu'avec SFML complété par une SFGUI (qui n'a pas encore fait ses preuves comme Qt (de toute façon c'est même pas comparable je penses)).

Enfin, si tu souhaites créer une IHM sans SFGUI ou autre, tu vas devoir tout faire toi même et là niveau productivité tu perdras beaucoup de temps ;)

En tout cas bon courage ! ;)
Titre: Re : Recherche d'une GUI mais pas seulement...
Posté par: gaudon le Juillet 16, 2012, 09:11:35 am
Merci Kamui,
Citer
Mais honnêtement, tu vas pas mal t'embêter pour pas grand chose, car comme déjà dit, Qt est faite exprès pour cela.

Je suis un peu comme le facteur cheval : avec une truelle et des jolis cailloux je n'ai pas de limite  :D  par contre avec le préfabriqué...
Citer
Enfin, si tu souhaites créer une IHM sans SFGUI ou autre
Et pourquoi pas avec SFGUI ? l'intérêt n'est pas de tout refaire mais bien de tout maîtriser.
Citer
tu vas devoir tout faire toi même et là niveau productivité tu perdras beaucoup de temps
Quand on maîtrise tout, qu'on aime ça et que ce n'est "plus que" du temps, alors je m'en débrouille  ;)

Titre: Re : Re : Recherche d'une GUI mais pas seulement...
Posté par: kamui le Juillet 20, 2012, 09:41:36 am
Je suis un peu comme le facteur cheval

T'as répondu avec ton iPhone ou quoi ?  ;D Sinon faut que tu me dise où tu habites que je vois cela de mes propres yeux !   :D

Sinon, tu as l'air plutôt convaincu depuis le départ de ton choix (pour quelqu'un qui est venu demander "quel choix faire"...). Personnellement j'utilise SFML dès que j'en ai l'occasion, et si un jour à mon taf je pouvais le glisser (ce qui n'arrivera jamais) je le ferais. Mais si on me demande de faire une IHM, je crois qu'utiliser SFML ne va même pas me traverser l'esprit.

Donc pour résumer (mon avis personnel) : utiliser SFML serait contre-productif, si tu as du temps alors tu peux très bien te mettre à Qt, et le résultat n'en sera que meilleur puisque Qt a tellement de bouteille que ses dev ont du penser à des trucs (cas particulier, concepts, etc) dont on ne se doute même pas (comme pour Laurent et la couche bas-niveau de SFML que nous utilisateurs nous ne voyons jamais). apprendre à te servir d'un GUI style SFGUI sera surement moins évident que d'apprendre Qt, et restreindra tes possibilités (en plus le support n'est pas le même, la doc non plus je penses, etc).

J'aimerais bien avoir l'avis du créateur de SFGUI justement, je penses que bien qu'ayant fait une super GUI, il te dirait la même chose (à quelques nuances près).

Mais bon je me doute qu'il sera difficile ("qui a dit impossible ?") de te faire changer d'avis donc : feu vert !!


Titre: Re : Re : Re : Recherche d'une GUI mais pas seulement...
Posté par: minirop le Juillet 20, 2012, 11:40:56 am
Je suis un peu comme le facteur cheval

T'as répondu avec ton iPhone ou quoi ?  ;D
http://fr.wikipedia.org/wiki/Facteur_Cheval
Titre: Re : Re : Re : Re : Recherche d'une GUI mais pas seulement...
Posté par: kamui le Juillet 20, 2012, 01:37:02 pm
Je suis un peu comme le facteur cheval

T'as répondu avec ton iPhone ou quoi ?  ;D
http://fr.wikipedia.org/wiki/Facteur_Cheval

C'était une blague...
Titre: Re : Recherche d'une GUI mais pas seulement...
Posté par: gaudon le Juillet 27, 2012, 10:32:55 am
Désolé, j'ai manqué vos réponses !
Non Kamui, je ne suis pas encore en vacances  :D mais c'est très bientôt puisque c'est ce soir. :)
Depuis nos dernières discussions, j'ai installé Qt, mais aussi SDL sous Visual, j'ai exécuté des démos, j'ai fais des petites modifs... ça m'a fait du bien...

C'est vrai que Qt est particulièrement intéressant du fait de ses fonctionnalités, portabilité, documentation, par contre j'ai toujours le même problème : comment faire un budget sans avoir pratiqué le bestiau.
Donc, je vais faire un tuto, et avancer en temps masqué (j'ai d'autres activités dans la boite, le développement ce n'est qu'une partie de mon job).
Il n'en reste pas moins que j'adore trifouiller les octets (voir plus petit mais après ça risque d'être mal interprété   ;)) , du coup il n'est pas exclu que je ne fasse pas une vue SFML dans Qt  :)

A bientôt  :)
Titre: Re : Recherche d'une GUI mais pas seulement...
Posté par: Phanoo le Août 05, 2012, 03:50:08 pm
Je trouve que vous diabolisez un peu SFML quand à son utilisation possible pour faire une GUI, surtout pour faire des choses basiques genre bouton cliquable, champ de saisie, liste déroulante...
Moi aussi j'aime bien tout créer de A à Z (bon pas aussi poussé que gaudon je n'ai pas essayé l'affichage pixel par pixel), j'aime pas les usines à gaz, et en une journée j'ai codé un affichage de texte à base de font bitmap (une simple planche de sprites en PNG), des boutons, une saisie texte basique gérant les caractères standards+accents et backspace pour effacer...  Le tout fait moins de 200 lignes en SFML et pèse quasiment rien dans l'exécutable final.
Pour comparaison j'ai essayé de faire une simple fenêtre avec WxWidgets, avec juste un menu dedans, et de suite mon exe faisait 3 Mo et était plus lent à s'afficher. Mon exe SFML compilé en statique fait 400Ko...

Bref vu ce que je réussis à faire avec SFML et vu tes connaissances ça devrait pas te poser de problème, après c'est une histoire de choix. Si tu prends SFML teste d'abord son bon fonctionnement sur ton matos et après ça sera jamais pire que de maintenir des programmes sous DOS... surtout qu'en cas de changement tu pourra recompiler sous windows/linux/mac