Salut, voici le projet de client du système que je développe actuellement.
J'utilise Qt pour la création du client et la librairie nxs pour la gestion des données, que ce soit les données utilisateurs ou les données de l'interface.
Le but de ce client est de fournir une interface pour la gestion de différents serveurs. Il y a différents types de session en fonction du mode de navigation. J'ai prévu dans un premier temps de faire les sessions suivantes :
Session
- nxs : gestion des données locales avec le protocole nex
- nex : gestion d'un serveur nex
- web : navigation web classique
- fichier : explorateur de fichier
Interface graphique
L'interface devra être flexible et personnalisable en utilisant le système nex. Par exemple, pour afficher du texte dans le moteur de rendu, on aura quelque chose du genre : nxi::engine_display;data=test;
Structure
interfaces : utilisé par les sessions nex pour afficher les interfaces des ressources
arborescence : permet d'afficher des items de différents types (item nex, hdd). Pour les item de type nex, on pourra ajouter des commandes à l'interface en ajoutant la propriété 'nxi_command' à la ressource
Par exemple, pour créer un système de favoris, il suffit d'ajouter la propriété 'nxi_command' avec pour valeur nxi::address_load;
moteur de rendu : on peut ajouter plusieurs moteurs de rendu selon les données que l'on veut afficher.
Par exemple, le protocole nex permet de dire au client si il doit utiliser un moteur web ou un moteur 3D pour afficher les données envoyées par le serveur
Recrutement
Je recherche donc :
- Développeur Qt/C++ (1 ou 2)
- Graphiste (pour les images, icônes ...)
Si vous êtes intéressé ou si vous voulez plus d'informations, n'hésitez pas à me contacter.
J'avais commencé à coder un client web qui permettait de se connecter sur un serveur nex en utilisant les websocket. J'avais également codé un jeu avec pour tester.
Mais j'ai trouvé ça plus simple de faire un client à part pour certaines choses comme :
la gestion des données locales : ajout d'un fichier à nex ou envoi direct d'un fichier à un serveur
les interfaces client : on peut utiliser des interfaces locales à la places des interfaces fournies par le serveur auquel on se connecte
Je trouvais ça intéressant pour les utilisateurs lambda de regrouper la gestion de leur données locales (explorateur) et la gestion des données réseau (navigateur) en une seule application
Ca me permet également l'intégration de ma librairie dans une application.
On peut soit développer une application en tant que module d'un serveur nex (déjà testé avec le jeu), soit développer une application qui utilise la librairie nex et utiliser le système de ressource (ce que je fais pour la personnalisation de l'UI)
pour un module : module::command ;param=a;param2=b;
pour une interface : interface:command ;param=a;param2=b; nxs c'est le module qui gère tout le système, nxi c'est une interface pour ce système (donc nxi: et pas nxi::)
Quelles commandes sont obsolètes ? Tu peux avoir la liste en tapant nxs::help;
Ajout de ressources pour le menu contextuel qui permettent d'ajouter / supprimer les types, interfaces, propriétés sans passer par les lignes de commande
On peut utiliser des interfaces html / js côté client. Il reste juste une chose à finaliser mais je n'ai pas de bonnes connaissances en JS, on peut exécuter des requêtes sur nxs depuis JS (en async) mais je ne sais pas comment envoyer un type custom C++ à JS, je n'envoie qu'un QString pour l'instant.
Je cherche donc quelqu'un pour m'aider à finir cette partie.
essaye de mettre peut etre plus de screen shots et d'ajouter un mini langage de script pour realiser des plugin (à la flash pour les sites web, car tu as deja ce qu'il faut pour modifier le navigateur), ca va attirer des gens je pense !
et pis médiatise ton projet avec twitter ads & | facebook !
Ben le but était de pouvoir ajouter des modules / interfaces en js / html mais je bloque sur un truc en JS. C'est vrai que c'est pas très pratique pour le user de devoir compiler ses modules quand il n'y a que quelques lignes de code.
Après pour le côté médiatisation, c'est pas trop mon truc. Je n'utilise pas facebook ou twitter.
C'est d'ailleurs une des raisons pour laquelle j'ai développé ce projet, pouvoir communiquer et échanger des données sans être forcé de passer par des serveurs privés et dépendre d'une entreprise ou organisation.
Mais je vais essayé de mettre plus de screens voir faire une vidéo pour montrer l'utilisation.
une petite idée que j'adorerai avoir dans Firefox :
la possibilité de diviser son ecran, et donc ses onglets.
tu sais, tous tes onglets sont rangés en haut ?
et ben là, tu aurais par exemple 2 "Workspaces" : un à gauche, un à droite.
à gauche : tu mets tes onglets de videos youtube, à droite tu mets tes onglets de documentation sur unity3d.
tu peux aussi mettre un workspace en haut et un en bas, un peu comme notepad++ en fait.
et ca serait super pratique je trouve, exemple :
je regarde une video youtube, je vais la téléchargée (juste le son hein) avec youtube.mp3 (le petit bouton sous la video), et ca ouvre un nouvel onglet, mais je peux plus voir ma video ! donc je met ce nouvel onglet dans un 2 eme workspace pour continuer à regarder ma video, tout en la telechargeant
Ce genre de fonctionnalités je ne les ajouterai pas mais il est possible de faire ce que tu veux grâce au interfaces et donc d'avoir un navigateur perso avec ce dont tu as besoin.
Tu pourrais donc te faire soit une interface pour avoir des onglets splittés, soit créer une interface spécifique qui te charge tes 2 pages pour voir la vidéo et la télécharger.
Le but est que chaque utilisateur puisse avoir ses interfaces et modules en fonction de ses besoins.
× Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
× Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.