Partage
  • Partager sur Facebook
  • Partager sur Twitter

[C++] Nex - gestionnaire de données universel

Navigateur et gestionnaire de ressources évolutif (compatible web)

    25 juillet 2014 à 20:03:53

    @ads00: ah, donc le protocole "nex" n'est qu'une partie du projet. 

    Quand tu dis système de gestion de l'information, tu veux dire quoi exactement? S'agit-il d'un réseau avec tous les protocoles nécessaires à son fonctionnement, permettant de partager l'information entre différentes machines? Y a-t-il un mécanisme pour rechercher et/ou traiter l'information?

    Je te pose ces questions car je suit vraiment novice en la matière (j'ai eu un cours light de 4 heures sur le fonctionnement du réseau internet (ou du web) que j'ai depuis totalement oublié), mais que je suis curieux de tout et que j'aime les projets originaux comme le tien.

    -
    Edité par colorguest 25 juillet 2014 à 20:04:15

    • Partager sur Facebook
    • Partager sur Twitter
    Projet: cours "Histoire des OS" (titre provisoire). Stade: annulé
      25 juillet 2014 à 21:29:44

      En fait, tu peux gérer des informations locales (biblio de livres, films, gestion de contacts), les gérer avec des modules (chat, mail) et les afficher avec des interfaces (web, 3D)

      Ces informations son gérées par le serveur nex. Pour partager les informations, tu peux utiliser différents outils du système (partage de connexion, synchronisation, transfert de fichier, partage de ressource). Les serveurs nex communiquent entre eux via le protocole nex donc et permettent ce partage de manière transparente pour l'utilisateur.

      Exemple : Tu as une ressource "contact" nommée "john", en cliquant sur john, tu pourras voir les ressources de son serveur (depuis le tiens). Si il a également des ressources distantes, tu y accèderas toujours depuis ton serveur;

      Pour les traitements de l'info, il y a donc les modules, pour les afficher, les interfaces.

      Pour rechercher une info, les connexions entre ressources seront utilisées ce qui permettra d'avoir des résultats plus logique qu'une recherche de mots dans une base.

      Il n'y a pas d'inclusions comme avec les fichiers ou dossiers, seulement des connexions de différents types uni ou bidirectionnelles.

      • Partager sur Facebook
      • Partager sur Twitter
        25 juillet 2014 à 22:44:35

        @ads00: donc, si on veut faire une comparaison avec ce qui existe déjà, Nex est à la fois un réseau avec son propre protocole (un peu comme le Web, sans comparaison technique poussée), une sorte de moteur de recherche (croisés avec un système de fichier dans un réseau local) (via des connexions entre plusieurs ressources (disons données, en POO, objets appartenant respectivement à  une certaine classe), un système permettant de communiquer (mail, chat, et pourquoi pas appel téléphonique et option de télé-conférence comme c'est le cas de skype :)), et un système de fichier en local.

        En gros, Nex fait un peu tout, quoi. Mais est-ce que j'ai juste?

        Après, j'ai quelques questions:

        • Du côté client (de l'utilisateur de base qui veut utiliser ton système), avez-vous (vous pour toute l'équipe) prévu de créer une application pour exploiter Nex (comme le fait un navigateur Web pour le protocole http et les fichiers HTML, ou encore un explorateur de fichier qui utilise le système de fichier (BFS est intéressant car on peut ajouter des "méta-données" aux données/fichiers (pour un morceau de musique, l'auteur, le groupe, l'album,etc...)))?
        • Pensez-vous ajouter de nouvelles possibilités à Nex, comme la possibilité de créer des applications (comme c'est le cas pour les Web App pour les navigateurs Web ou pour Firefox OS) par exemple?
        • Serait-il possible d'ajouter plusieurs systèmes de sécurité (bloquer l'accès à certaines données, les cryptées, voire rendre le traçage des utilisateurs impossible (comme pour Thor) (mais là, il y a un débat éthique à résoudre, entre ne pas donner une zone de repli aux hacker black hat et empêcher la surveillance des utilisateurs par des sociétés dans le but de gagner de l'argent))?

        -
        Edité par colorguest 25 juillet 2014 à 22:52:05

        • Partager sur Facebook
        • Partager sur Twitter
        Projet: cours "Histoire des OS" (titre provisoire). Stade: annulé
          26 juillet 2014 à 1:03:45

          C'est ça, pour faire une analogie, nex est un OS et les modules des programmes.

           - Actuellement côté client j'utilise un navigateur web, le serveur reçoit des requêtes http puis les convertit en requête nex, l'interface de nex (nxi) aura un explorateur de fichiers. Pas besoin de meta donnée, il suffit de convertir un fichier en ressource.

           - On peut déjà créer des applications avec nex en créant un module. Ils sont codés en C++ actuellement, le python est prévu. On peut d'ailleurs exécuter un module côté serveur ou client

           - Il y a déjà la gestion des autorisations pour les ressources et les commandes système via user et groupes, pas de gestion de crypto pour l'instant

          Sinon pour la question de surveillance, en fait comme les serveurs communiquent entre eux, on peut créer un réseau privé en partageant ses données.

          Par exemple, avec facebook un groupe d'ami devra passer par leur serveurs pour échanger des données.

          Avec nex un groupe d'ami peut se créer un réseau privé avec ou sans serveur central pour échanger leur données.

          • Partager sur Facebook
          • Partager sur Twitter
            26 juillet 2014 à 8:44:59

            @ads00: merci de ta réponse.

            D'après ce que tu dis ça a l'air super cool et révolutionnaire: on pourrait créer entièrement un os et un réseau reprenant toutes les fonctions du web actuellement connues.

            En ce concerne le python, c'était juste pour savoir s'il y avait un projet de créer une application pour n'importe quel OS pour utiliser Nex (distributions GNU/Linux, les 4 BSD, MorphOS,...). Ca permettrait de fédérer autour de ce réseau plusieurs familles d'OS (voire permettre de les découvrir à travers Nex).

            Sinon, vous pourriez aussi utiliser d'autres langages, comme le scala par exemple, qui permet de programmer soit de façon impérative, soit de façon fonctionnelle.

            Tu parles de Facebook, est-ce juste un exemple ou bien est-ce que Nex pourra également fonctionner comme un réseau parallèle au web?

            En ce concerne la création d'un OS, on pourrait avec ton système autant l'installer en local ou l'utiliser comme un webOS. En fait, la seule chose à savoir, c'est si on peut utiliser Nex avec un micro-noyau comme GNU/Hurd par exemple, qui utilise semble-t-il des serveurs (services) (peut-on comparer les serveurs du Hurd et les serveurs Nex ?).

            D'ailleurs, en ce concerne la licence, si tu veux rendre Nex libre, tu pourrais opter pour l'AGPL v3 qui étend la GPL au cas du réseau. Pour plus de précision, je te laisse aller jeter un coup d'oeil sur wikipédia et sur ce site. Et pour les critiques et les limites de l'AGPL, voir ce site.

            En tout cas, c'est vraiment un projet super intéressant, bon courage pour la suite. Je reviendrai de temps en temps jeter un coup d'oeil en ce concerne l'avancée du projet.

            Bonne journée et bon week-end.

            • Partager sur Facebook
            • Partager sur Twitter
            Projet: cours "Histoire des OS" (titre provisoire). Stade: annulé
              26 juillet 2014 à 15:26:43

              Oui ça sera portable mais pour l'instant je teste sous windows.

              J'ai pris facebook comme exemple car les users se rendent comptent que leur données ne sont pas privées. On donc créer des réseaux privés mais qui pourront toujours partager avec des réseaux publiques, ça peut donc fonctionner en parallèle au web, vu que le serveur accepte le http et le client est un nav web.

              On peut l'utiliser en local pour gérer ses données, l'ouvrir au réseau si on veut partager ses données, utiliser son serveur avec un serveur distant pour synchro et partager ou utiliser directement un serveur distant comme un webOS.

              Enfin bon, ça avancera pas très vite si je trouve personne pour m'aider, surtout pour l'interface, c'est pas très dur mais c'est assez long à dev, j'en profite pour faire un up de ce que je cherche :

              - dev c++/python pour modules/interfaces/system

              - dev web ou webmaster pour la documentation / présentation / interface

              - graphiste

               - beta testeurs

              • Partager sur Facebook
              • Partager sur Twitter
                27 juillet 2014 à 16:49:38

                Avancement :

                Gestion des fichiers dans la classe requête pour les requêtes sortantes

                Ajout de la commande res_share_connect

                • Partager sur Facebook
                • Partager sur Twitter
                  31 juillet 2014 à 20:23:51

                  Mise à jour de l'exe dans le premier post.

                  Liste des commandes disponibles :

                  user_login
                  user_logout
                  user_add
                  user_del
                  user_axx_list
                  user_axx_add
                  user_axx_del
                  group_list
                  group_add
                  group_del
                  group_axx_list
                  group_axx_add
                  group_axx_del
                  group_user_list
                  group_user_add
                  group_user_del
                  res_get
                  res_info
                  res_list
                  res_add
                  res_del
                  res_share_connect
                  res_axx_list
                  res_axx_update
                  res_type_list
                  res_type_add
                  res_type_del
                  res_property_list
                  res_property_add
                  res_property_del
                  res_interface_list
                  res_interface_add
                  res_interface_del
                  res_connexion_list
                  res_connexion_add
                  res_connexion_del
                  res_data
                  res_data_set
                  type_list
                  type_add
                  type_del
                  type_property_list
                  type_property_add
                  type_property_del
                  type_interface_list
                  type_interface_add
                  type_interface_del
                  property_get
                  property_list
                  property_add
                  property_del
                  interface_get
                  interface_list
                  interface_add
                  interface_del
                  connexion_list
                  connexion_add
                  connexion_del
                  file_upload
                  file_share

                  • Partager sur Facebook
                  • Partager sur Twitter
                    5 août 2014 à 5:23:20

                    Test d'ajout d'une interface générique à une ressource

                    Fonctionnement :

                    Movie est une ressource sans type connecté à 2 ressources de type 'movie' ayant des propriétés génériques

                    On ajoute une interface à la ressource Movie qui récupère les connexions cibles

                    L'interface peut donc également être ajoutée à une ressource connectée à des contacts, l'affichage sera similaire

                    • Partager sur Facebook
                    • Partager sur Twitter
                      24 août 2014 à 2:31:30

                      Transfert de ressources terminé, fonctionnement : 

                      Le serveur A envoi la ressource R1 au serveur B

                      si le serveur B n'a pas le type du serveur A, il utilise le type générique

                      puis le serveur B ajoute les données des propriétés des types du serveur A si ils existent,

                      sinon il utilise la propriété générique

                      • Partager sur Facebook
                      • Partager sur Twitter
                        24 août 2014 à 16:15:14

                        je suis ok pour tester sous linux

                        c'est quoi l'adresse de ton site ?

                        • Partager sur Facebook
                        • Partager sur Twitter
                        Anonyme
                          26 août 2014 à 10:18:28

                          La version windows n'est plus disponible ?
                          • Partager sur Facebook
                          • Partager sur Twitter
                          Anonyme
                            27 août 2014 à 5:53:08

                            Ajout du transfert des propriétés de type fichier lors du transfert des ressources
                            • Partager sur Facebook
                            • Partager sur Twitter
                              28 août 2014 à 11:08:53

                              Salut, je cherche toujours des bêtatesteurs pour tester principalement les commandes avec plusieurs configurations du système.
                              • Partager sur Facebook
                              • Partager sur Twitter
                              Anonyme
                                28 août 2014 à 13:20:36

                                je veux bien beta tester (si c'est dicible)
                                • Partager sur Facebook
                                • Partager sur Twitter
                                  28 août 2014 à 17:37:38

                                  Salut, tu as les liens vers les bin dans le 1er post, la liste des commandes un peu plus haut.

                                  Tu peux lancer deux serveurs sur deux ports différents pour les tests de transfert (configurable dans nxs.cfg)

                                  Voici un exemple de commande : nxs::res_list;id:0;

                                  PS : Les commandes depuis l'interface ne fonctionnent pas sous chrome

                                  • Partager sur Facebook
                                  • Partager sur Twitter
                                    28 août 2014 à 17:57:58

                                    Lorsqu'on lance "nex.exe", un erreur apparait dans le script:

                                    [NXS] NXS_SYSTEM_ERROR : bind: Une tentative d’accès à un socket de manière interdite par ses autorisation d’accès a été tentée

                                    • Partager sur Facebook
                                    • Partager sur Twitter
                                    Le monde est ce que l'âme voit à travers le corps. La vie est ce que le corps voit a travers l'âme
                                    Anonyme
                                      28 août 2014 à 17:58:18

                                      big bug : une tentative d?acc?s ? un socket de mani?re interdite par ses autorisations d?acc?s a ?t? tent?e juste apres le load de .interface/view.ni.dll

                                      outspeed, zut ! (par shauni 64)

                                      -
                                      Edité par Anonyme 28 août 2014 à 18:07:58

                                      • Partager sur Facebook
                                      • Partager sur Twitter
                                        28 août 2014 à 18:23:53

                                        Par défaut, le serveur écoute sur le port 80 donc vous avez cette erreur si vous l'utilisez.

                                        Il faut soit changer le port, soit fermer l'application qui utilise le port. Si vous n'avez pas de serveur http, vous avez surement skype lancé.

                                        Pour enlever l'utilisation du port sur skype : Outils > Options > Avancé > Connexion puis décochez "utiliser le port 80"

                                        • Partager sur Facebook
                                        • Partager sur Twitter
                                        Anonyme
                                          28 août 2014 à 18:27:15

                                          ok ca marche maintenant mais apres j'ai juste la console !
                                          • Partager sur Facebook
                                          • Partager sur Twitter
                                          Anonyme
                                            28 août 2014 à 18:27:54

                                            et porpose dans l'appli en cas d'erreur un changement de port ou une attaque par BFA pour trouver un port libre (bfa = brute force attaque)
                                            • Partager sur Facebook
                                            • Partager sur Twitter
                                              28 août 2014 à 18:42:48

                                              Tu peux le changer dans nxs.cfg le port

                                              Pour te connecter à ton serveur, va sur http://127.1

                                              • Partager sur Facebook
                                              • Partager sur Twitter

                                              [C++] Nex - gestionnaire de données universel

                                              × 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