Partage
  • Partager sur Facebook
  • Partager sur Twitter

[C++] Navigateur multiprotocole(nex, web, fichier)

    28 mars 2015 à 19:51:10

    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.

    Téléchargement :

    nxi_0.1_windows_x32

    nxi_0.1_linux_x64

    Concept

    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.

    -
    Edité par ads00 1 juillet 2015 à 6:02:55

    • Partager sur Facebook
    • Partager sur Twitter
      29 mars 2015 à 20:44:59

      Salut,

      J'ai terminé le système de personnalisation des items du treeview  :

      On ajoute des ressources dans tree_item_nex_option

      L'action est stockée dans la propriété nxi_command de la ressource.

      On peut également mettre une requête pour lister automatiquement des actions.

      Par exemple, pour afficher les contacts dans le menu "send to" :

      on crée la ressource contact_list

      on ajoute la propriété nxi_request avec pour valeur la requête à éxecuter (ici nxs::res_list;id=2;) (pour lister Contact)

      on ajoute la propriété nxi_command (qui sera transmise aux items du résultat de la requête)

      On peut donc créer ses propres menus depuis l'interface.

      • Partager sur Facebook
      • Partager sur Twitter
        31 mars 2015 à 2:46:38

        Bonjour je suis interesse pour le c++
        • Partager sur Facebook
        • Partager sur Twitter
          1 avril 2015 à 23:48:36

          News :

          Ajout de la navigation de serveur nex (distant)

          Affichage des interfaces (client ou serveur)

          Début de l'explorateur de fichier

          • Partager sur Facebook
          • Partager sur Twitter
            2 avril 2015 à 0:42:58

            Pourquoi ne pas essayer de faire marcher nex sur un navigateur déjà existant?
            • Partager sur Facebook
            • Partager sur Twitter
              2 avril 2015 à 1:39:57

              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)

              • Partager sur Facebook
              • Partager sur Twitter
                2 avril 2015 à 2:16:36

                Et quelles sont les spécificités de nex? Concrètement, ça change quoi par rapport à http? ou à gopher :p ?
                • Partager sur Facebook
                • Partager sur Twitter
                  2 avril 2015 à 2:39:29

                  Tu peux voir la base du fonctionnement ici : http://openclassrooms.com/forum/sujet/c-nex-alternative-au-web
                  • Partager sur Facebook
                  • Partager sur Twitter
                    2 avril 2015 à 4:31:08

                    Tu pourrais très bien partir d'une base midori ou firefox (voir même un plugin) plutôt que de repartir de zéro.

                    Tu as une liste de tes commande nxs (ou nxi, je suis pas sûr) ?

                    • Partager sur Facebook
                    • Partager sur Twitter
                      2 avril 2015 à 5:28:05

                      Ah, j'ai trouvé une liste de commande mais qui semble obsolète mais la plupart me semble obsolètes.

                      Quelle est la différence entre nxi:: et nxs:: ? nxs s'occupe des connections?

                      Autre chose, j'ai vu que tu parlais de commercialisation. Il s'agit de quoi exactement?

                      • Partager sur Facebook
                      • Partager sur Twitter
                        2 avril 2015 à 14:00:59

                        Voila le format d'une commande :

                        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;

                        Pour la commercialisation, j'en suis encore loin.

                        • Partager sur Facebook
                        • Partager sur Twitter
                          16 avril 2015 à 9:22:00

                          Update

                          Amélioration de la gestion des sessions

                          Amélioration des sessions nxs et nex

                          Ajout de la commande "nxi::sesion_list;" pour voir les sessions en cours

                          • Partager sur Facebook
                          • Partager sur Twitter
                            18 avril 2015 à 13:22:27

                            Salut,

                            J'ai ajouté l'interface View qui permet d'afficher de manière générique des ressources qui possèdent certaines propriétés;

                            En pratique :

                            on crée une ressource "Films"

                            on ajoute l'interface View à la ressource "Films"

                            on y connecte d'autres ressources de type "movie"

                            Ce qui donne :

                            J'ai également ajouté sur nxs une commande pour ajouter le contenu d'un dossier à une ressource.

                            Ex : nxs::file_import;path=d:/Dossier;type_id=1;res_id=0;

                            • Partager sur Facebook
                            • Partager sur Twitter
                              21 avril 2015 à 13:37:57

                              Salut, je cherche toujours des dev

                              Ajout de la commande res_get sur le serveur

                              Ajout de la commande download sur le client

                              • Partager sur Facebook
                              • Partager sur Twitter
                                12 mai 2015 à 0:19:12

                                Salut,

                                En voyant un projet sur le site, j'ai voulu faire la même chose avec nex.

                                Le but était donc de pouvoir suivre l'avancement de séries qu'on regarde.

                                En pratique :

                                J'ai crée les types "série" et "épisode"

                                J'ai ajouté les propriétés  "description" "vu" "source" pour les épisodes et "description" "image" pour série

                                J'ai crée une interface pour le type série puis j'ai associé cette interface à ce type

                                Ce qui donne :

                                • Partager sur Facebook
                                • Partager sur Twitter
                                  22 mai 2015 à 14:53:20

                                  Salut, je cherche un dev JS pour faciliter la création des interfaces.

                                  Update :

                                  Amélioration du système de sessions

                                  Ajout de plusieurs commandes (download, upload, execute)

                                  On peut désormais exécuter une ressource (de sang froid) en ajoutant la propriété nxi_command avec la commande voulue

                                  • Partager sur Facebook
                                  • Partager sur Twitter
                                    27 mai 2015 à 8:03:57

                                    Salut, up pour les dev JS

                                    Update :

                                    Amélioration du système de commandes

                                    Quelques bugs lors de la connexion à un serveur distant corrigés

                                    Amélioration de l'aide (nxs::help;)

                                    • Partager sur Facebook
                                    • Partager sur Twitter
                                      2 juin 2015 à 19:35:13

                                      Up

                                      Quelques changement dans le système de commandes

                                      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

                                      • Partager sur Facebook
                                      • Partager sur Twitter
                                        7 juin 2015 à 0:00:07

                                        Salut,

                                        Je viens d'ajouter un lien de téléchargement dans le 1er post.

                                        News :

                                        Ajout de plusieurs commandes dans le menu contextuel du treeview.

                                        Gestion de l'affichage de différentes connexions

                                        Quelques modifications sur la vérification des commandes sur nxs (pour ajouter des commandes même si un module n'existe pas)

                                        • Partager sur Facebook
                                        • Partager sur Twitter
                                          11 juin 2015 à 17:32:11

                                          Salut,

                                          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.

                                          • Partager sur Facebook
                                          • Partager sur Twitter
                                          Anonyme
                                            23 juin 2015 à 11:56:49

                                            mais il ne faut pas !

                                            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 !

                                            • Partager sur Facebook
                                            • Partager sur Twitter
                                              23 juin 2015 à 12:41:04

                                              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.

                                              Merci de ton soutien en tout cas.

                                              -
                                              Edité par ads00 23 juin 2015 à 12:42:27

                                              • Partager sur Facebook
                                              • Partager sur Twitter
                                                23 juin 2015 à 12:41:17

                                                garde ton courage, t'as déjà fait un très gros boulot, ce serait bête de t'arrêter en si bon chemin!

                                                Surtout après avoir eu un aperçu en direct, il y a quelques mois!

                                                • Partager sur Facebook
                                                • Partager sur Twitter
                                                car le zeste n'est pas amère avec Zeste De Savoir, visitez clèm sur Zds.Mes Logiciels : C'est par ici
                                                Anonyme
                                                  23 juin 2015 à 15:18:25

                                                  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 :)

                                                  • Partager sur Facebook
                                                  • Partager sur Twitter
                                                    24 juin 2015 à 19:24:26

                                                    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.

                                                    • Partager sur Facebook
                                                    • Partager sur Twitter
                                                      27 juin 2015 à 19:44:39

                                                      Les anciennes propriétés relatives à nxi seront supprimées pour n'avoir que nxi_data

                                                      Ajout des items custom dans le treeview.

                                                      Voici un test avec une commande qui liste le contenu d'un dossier ce qui permet de créer un explorer custom.

                                                      • Partager sur Facebook
                                                      • Partager sur Twitter

                                                      [C++] Navigateur multiprotocole(nex, web, fichier)

                                                      × 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.
                                                      • Editeur
                                                      • Markdown