Interface graphique, langage

Salut à tous.
Le titre n’est pas très explicatif alors: j’ai pour objectif de faire une interface graphique fonctionnant en c++.
Le but serait d’avoir une interface graphique comme sous qt/gtk/etc, de ce côté pas de soucis, j’ai mon idée.

Maintenant, j’aimerais choisir une méthode pour coder l’application qui utilisera cet interface graphique: un langage simple.

Et là j’ai 2 choix:

  • soit j’invente un langage (simple et pratique).
  • soit j’utilises un langage: html (simple et pratique et populaire) ou autres.

Dans les deux cas j’ai une complication.
Pour mon langage, bah faut apprendre une nouvelle chose.
Pour html, je dois limiter les choses, impossible et inutile pour moi de supporter tous les balises/fonctions de html.

Dans les deux cas, le résultat sera même:
Possibilité d’avoir des tables/colonnes/etc, des inputs (text/textarea), des boutons, des urls, de la colorisation, des images, des fonts, etc.

D’un côté, je me dis html limité, serait parfait pour le publique.

D’un autre côté:
« Voici la philosophie d’Unix :
Écrivez des programmes qui effectuent une seule chose et qui le font bien.
Écrivez des programmes qui collaborent.
Écrivez des programmes pour gérer des flux de texte, car c’est une interface universelle.»
J’ai pas compris pour la 3ème ligne (Écrivez…), mais je veux suivre cet philosophie, et donc j’aimerais faire plusieurs projets qui font un ensemble, mais fonctionne séparément et peuvent fonctionné séparément. Si je pars de là, j’aimerais faire l’interface graphique, puis dans des applications différents utilisant cet interface: navigateur internet simple et pur, une autre application pour les urls favoris, une autre application qui permet de lire une vidéo, une autre pour la musique etc, puis j’aimerais les faire collaborer, par exemple, une vidéo sur le navigateur web devrait être lu sur l’application vidéo (le navigateur internet le permettra) etc.

Et donc si je pars du dernier paragraphe, je me demandes si faire mon propre langage pour cet interface serait pas un meilleur choix que le choix de html connu par le grand publique.

Alors, toi, t’es soit un grand fou, soit un grand malade.
Même si je “frontal”, ce n’est pas une attaque méchante :wink:

Ma réponse courte :

  • python / GTK / webkit !
    (de mémoire …)

Sincèrement quand tu auras fini de faire mumuse avec … tu nous reparleras de ta grande idée :smiley:

Ma réponse, un peu plus longue :

  • En python / GTK, tu peux faire un programme avec GUI, qui fait une seule et une seule chose - le fait-elle bien pour autant !? (sachant qu’il existe 36 manières de faire une seule et même chose !)
  • python / webkit : te permettra l’usage des langages html / js …
  • python / xml : gérer des flux texte et inter-applicatifs :wink:

Allez zou ! “C’est pas tout, mais … y’a de la maille à faire, heinnn !” :038

[code]#!/usr/bin/env python

-- coding: utf-8 --

import gtk
import webkit

def entry_activated_cb(entry, embed):
embed.load_uri(entry.get_text())

Widgets and signals

window = gtk.Window();
window.set_default_size(800, 600)
window.set_title(“WebkitGtk Python”)
embed = webkit.WebView();
entry = gtk.Entry()
entry.connect(‘activate’, entry_activated_cb, embed)
scroller = gtk.ScrolledWindow()
scroller.add(embed)

Pack everything up and show

vbox = gtk.VBox(False, 5)
vbox.pack_start(entry, False, False)
vbox.pack_start(scroller)
window.add(vbox)
window.show_all()

Load a default URI and run

embed.load_uri(“www.debian-fr.org”)
gtk.main()
[/code]

Le soucis:
Je vais faire du favoritisme, mais je préfères utiliser c++ pour diverse raison autre que la facilité de python, inutile d’en parler ici, tous le monde le sait.

Pour gtk, il utilise sa propre méthode, moi j’ai pour but de facilité la tâche, de faire des applications de manière aussi simple que faire une page web en html mais avec gtk ou autres on doit se casser le cul pour faire une chose simple.

Et finalement webkit, webkit me semble bien (à savoir que c’est pas un navigateur internet, mais un moteur de rendu).
Ce dont fait les navigateurs actuel: rassembler une copie de tous nos applications externe -> en moins abouti dans des extensions/plugins -> dans notre navigateur internet et ces derniers fonctionnant que sur ce navigateur internet et pas compatible sur les autres, etc.

Ps: je dis pas que je comptes faires tous les applications un à un, mais j’ai donnée quelque exemple. Le principale est mon interface graphique et le choix du langage pour l’utiliser, une fois déterminer ce langage, je vais débuté le projet.

Désolé pour le retard.

Qu’est-ce que tu as contre réutiliser Qt (et éventuellement QtWebkit si tu veux du HTML) ?
En quelques heures (le temps de lire la doc un minimum) t’as un navigateur complet HTML/CSS/Javascript et tu peux même rajouter des extensions “propriétaires” (nouvelles classes propres à ton appli, implémentées en C++ mais accessibles en JS)… :wink:

J’ai rien contre aux existants.
D’ailleurs, j’utilisais uzbl avant, qui utilise webkit comme moteur de rendu, mais c’était un peu bugé, niveau sécurité j’étais bloqué et j’avais du mal à organiser mes favoris (url) avec dmenu par défaut, du coup je suis repassé sous firefox dont je suis habituer avec mes favoris bien catégorisé. Et tiens en parlant, si on avait une application de favoris que pouvait utiliser les navigateurs, j’aurais très bien pu rester sous uzbl ou luakit, aujourd’hui c’est du chacun pour soit.

Sinon, moi c’est les contenus qui m’intéresse.
Afficher le rendu html -> ok.
Lire les pdf, les vidéos, les musiques, etc sa devient abusive et sa devient de plus en plus au fil du temps, bientôt on utilisera des navigateur Internet pour toutes utilisations.

Moi c’est décidé, normalement, je vais faire un langage simple du style html basique pour faire mes applications graphique.

J’ai rien compris. Vous voulais coder une appli web et la lancer comme une application locale ? Genre prism (remplacé depuis par Firefox avec un chouïa de configuration).

J’ai bien l’impression oui :think:

Je connais le contraire … Java Web Start !
Sinon il y a ça : gtk.php.net/
et ça : en.wikipedia.org/wiki/GtkHTML

Vous avez mal compris.

Je résumes un peu:
Moi je comptes faire une “interface graphique” et il sera fait en c++.
Mais pour son utilisation, je comptes utiliser un langage simple, et pour cela, j’avais le choix entre faire un langage propre à cet interface graphique ou utiliser un langage simple comme le html (dont mon code c++ interprètera le code html et fera le nécessaire en arrière plan).

Au final, le langage sera d’une facilité semblable à faire une page web html.

J’avais pour but de faire cet interface graphique pour mes propres utilisations, et ces utilisations était un petit ensemble de projet de la philosophie unix.
Si je vais de ce côté personnel d’utilisation, je comptes faire un nouveau langage pour l’utilisation de cet interface graphique.
Mais si je penses que le publique l’utiliserait, il sera préférable d’utiliser un langage connu et simple: le html, ce qui éviterait d’apprendre un nouveau langage et que le html est bien connu par le publique et est simple d’utilisation.

Mieux vaut un exemple qu’un discours:

..
..

Donc avec ce code html, mon interface graphique créera: une fenêtre, le titre de la fenêtre: ma belle fenêtre, avec un bouton qui est écrit dessus: quitter, ici avec les tables et td on pourra définir les limites/les tailles de notre fenêtre et ces zones dans la fenêtre.
Avec quelques lignes de plus, on pourra connecter par exemple un bouton à une action, et dans notre exemple c’est le bouton quitter: qui à pour action de fermer la fenêtre.
On va pouvoir définir des colorisations des fonds et des textes, la taille des textes les fonts, etc.

Ok ce que tu veux faire c’est gtkdialog.

Note : utiliser du html pour autre chose que du html n’est à mon avis pas une bonne idée. Oui c’est un langage connu, mais justement s’il ne se comporte pas comme tel alors c’est plus casse gueule qu’autre chose. Ce qui est bien pour ça c’est le xml, c’est simple et proche du html, tout en étant plus claire et plus facile à traiter (c’est le choix de gtkdialog, de glade et d’un tas d’autres), mais la mode c’est d’utiliser du json pour ça (comme QML de Qt).

Je comptais aussi utiliser ce style de balise (depuis mon avant-dernier post), c’est simple et efficace.
Comme tu dis, le html sa doit rester là où il est censé l’être.

Je me demandes si francisé (les mots des balises de) ce langage serait un bon choix pour les anglish :smiley:
Sa me permettra de chopper une bonne communauté francophone c’est certain :laughing: