Partage
  • Partager sur Facebook
  • Partager sur Twitter

[WebOS] CosmOS (v2)

Le retour !

    15 septembre 2017 à 11:40:40

    Bonjour à tous ! :)

    Je suis Romain Claveau (alias Ne0blast sur le web) et je viens aujourd'hui vous présenter un projet que je reprend après une année d'arrêt, il s'agit de CosmOS dont l'ancien sujet se trouve ici https://openclassrooms.com/forum/sujet/webos-cosmos.

    Un nouveau sujet

    Pourquoi un nouveau sujet ? Car je reprend le projet (encore une fois) à 0 en misant cette fois-ci sur la sécurité et le chiffrement des fichiers à l'aide d'OpenPGP.js. En misant sur la sécurité, j'ai dû revoir toute l'infrastructure de CosmOS et je n'ai par conséquent presque aucun code fonctionnel dans la nouvelle infrastructure.

    Dans le détail

    Parlons, si vous voulez bien, un peu plus de CosmOS en détail (pour ceux qui ne connaisse pas encore le projet). CosmOS est un projet essayant de reproduire le fonctionnement et les fonctionnalités d'un OS (comme Windows par exemple) mais disponible en ligne. Ainsi, le projet porte sur la création d'un WebOS permettant à la fois de stocker vos fichiers (en ligne comme un cloud) mais aussi d'accéder à une multitude d'applications vous permettant à la fois de gérer vos fichiers, dossiers, etc... mais aussi de les éditer, modifier, d'écouter de la musique, visionner vos images, vos films, développer vos codes, visualiser vos PDF, etc... etc...

    But concret

    Le but de CosmOS est de proposer un service vous permettant de faire un maximum de choses possibles, comme sur un OS, mais accessible en ligne, depuis n'importe quelle ordinateur, n'importe quel navigateur. A terme, j'aimerai lancer une petite campagne de financement participatif afin de prendre à la fois un nom de domaine mais aussi louer des serveurs pour un hébergement web et un cloud (pour stocker vos fichiers).

    Une orientation vers la sécurité et le respect de la vie privée

    Contrairement à l'ancienne version de CosmOS, cette nouvelle version a pour objectif d'être beaucoup plus sécurisée. Dans cette optique, le chiffrement de bout-en-bout sera mis en place à l'aide d'openpgp.js qui permet de chiffrement des fichiers en local avant de les uploader. En plus de cela, vous devez pour vous connecter fournir deux mots de passe : un pour vous authentifier et un pour déchiffrer vos fichiers. Ce dernier mot de passe n'est pas stocker sur les serveurs et n'est donc connu que de vous. Sachant ceci, personne à part vous ne peut déchiffrer vos fichiers et donc accéder à votre contenu privé. Une autre notion importante que CosmOS met en avant est le respect de la vie privée. Lors de l'inscription, nous ne demandons qu'un minimum d'information et pour l'achat d'un compte premium, seul le paiement via paypal est disponible (le paiement via bitcoin sera sûrement envisagé dans le futur). Aucune donnée n'est collectée lors de l'utilisation de CosmOS et en plus de cela, pour plus de transparence et parce que je crois en l'open-source et en les logiciels libres, le code complet (à part quelques scripts permettant le paiement et quelques fonctionnalités orientées sécurité afin de ne pas compromettre une partie de la sécurité de CosmOS) est disponible.

    Une certaine vision du web

    Ce projet reflète en partie ma vision des choses pour le futur des OS et du web. Comme mentionné lors de la présentation de l'ancien projet, je pense que les WebOS seront de plus en plus présents dans un futur moyen (voire lointain) mais remplaceront à terme les OS "classiques". Ceci est ma vision des choses, je ne vous oblige en aucun cas à y adhérer :)

    Quelques captures d'écran

    Comme un bon schéma vaut plus que tous les mots du monde, voici quelques screenshots vous permettant de visualiser le travail accompli pour le moment :

    Voilà pour ce qui est de la présentation de principales idées du projet :)

    Quelques liens

    Je remet quelques liens qui vous permettront de suivre le projet au plus près :

    Merci d'avoir lu cette longue introduction et à bientôt sur CosmOS. J'essayerai de poster des news au moins une fois par semaine sur ce sujet. N'hésitez pas si vous avez des questions, suggestions, critiques (mais essayez d'être constructifs). ;)

    Bonne fin de journée et à bientôt pour de nouvelles aventures :magicien:

    Ne0blast

    -
    Edité par Romain Claveau (Ne0blast) 15 septembre 2017 à 11:58:04

    • Partager sur Facebook
    • Partager sur Twitter
    Créateur du projet CosmOS
      15 septembre 2017 à 16:19:06

      Je n'ai pas tout lu, mais je te donnerais un conseil :

      Vas vite acheter le nom de domaine que tu as balancé comme ça sur le net. Si vraiment je voulais te faire chier, j'aurais pu débourser quelques euros et te ruiner ton projet. La règle est simple, on dépose et APRES on en parle ...

      Sinon, bon courage dans le développement de projet :)

      • Partager sur Facebook
      • Partager sur Twitter
      Kwo:re / topic OC | Aidez les autres, indiquez un sujet résolu ! | Vous êtes bloqué ? Suivez le guide ! | N'aide pas par MP
      Anonyme
        15 septembre 2017 à 17:40:49

        C'est une bonne chose de voir ton ancien WebOS revenir sous une nouvelle forme :)

        Par contre je vois une mention "Prix" dans ton premier screenshot, cela veux-t-il dire qu'il y aura des offres payantes ? Si oui, y aura-t-il encore des comptes gratuits ? J'ai cru comprendre que oui dans ta présentation mais je ne suis pas sûr...

        Et aussi, penses-tu avoir un niveau de sécurité suffisant pour créer une offre payante ? Il faut être sûr d'avoir une sécurité solide pour tenir face aux ténors du genre, qui proposent bien souvent des solutions efficaces et certaines mêmes anonymes à des tarifs assez bas...

        D'autre part, je n'ai pas trop compris l'intérêt d'avoir deux mots de passe : ne serait-il pas plus simple d'avoir un seul mot de passe non stocké sur le serveur ? À l'inscription tu pourrais par exemple créer un fichier dans le stockage de l'utilisateur contenant un texte comme "OK" crypté comme les autres fichiers avec la clé de cryptage dérivée du mot de passe. Lorsque l'utilisateur tente de se connecter, on dérive la clé à partir du mot de passe saisi et on décrypte le fichier. Si le décryptage échoue ou si le contenu est différent de "OK", alors le mot de passe est invalide ; sinon il est correct et on a la clé de déchiffrement, sans qu'elle soit stockée nulle part.

        C'est d'ailleurs comme ça que fonctionne VeraCrypt, dans mes souvenirs.

        Je pointe du doigt certains aspects qui me paraissent curieux mais pour le reste j'ai hâte de voir comment va évoluer ton projet, ton précédent WebOS étant déjà plutôt abouti. Bonne continuation ;) !

        • Partager sur Facebook
        • Partager sur Twitter
          16 septembre 2017 à 23:36:52

          Content que le projet soit de retour, ça faisait un moment que je le suivait silencieusement donc j'en profite pour faire une petite intervention.

          Comme l'a dit ClementNerma, l'utilisation d'un seul mot de passe est suffisant. Mais le plus simple à mon avis serait l'utilisation d'une fonction de hashage comme bcrypt qui est facile à mettre en place et la plus sûre (avec salt intégré).

          Ce serait aussi intéressant de connaître les différents niveaux tarifaires. De nos jour les disques de 1to sont rapidement remplis, si à terme l'objectif est de remplacer son OS, le prix risque d'être élevé. Et tu as l'air d'être assez limité niveau budget, il serait peut être judicieux de prendre un domaine .com à 1,20€ chez 1and1 parce que je vois mal des personnes investir sans avoir de démo disponible.

          "le code complet (à part quelques scripts permettant le paiement et quelques fonctionnalités orientées sécurité afin de ne pas compromettre une partie de la sécurité de CosmOS) est disponible." Je dois admettre que cette partie n'est pas vraiment rassurante. Il n'est pas normal que révéler son code compromette sa sécurité: justement, il doit permettre à la communauté de le vérifier et donc le rendre plus sûr.

          Je me permet de critiquer ces quelques aspects mais je vois que beaucoup de travail a été fait et je suivrai l'évolution du projet avec attention :)

          Au passage, je vais bientôt louer quelques serveurs pour mon projet et il me restera sûrement de la RAM ainsi que de l'espace disque. Si l'hébergement est vraiment un problème, je peux peut-être aider ^^

          -
          Edité par TheAslera 16 septembre 2017 à 23:39:10

          • Partager sur Facebook
          • Partager sur Twitter
            17 septembre 2017 à 1:16:03

            TheAslera a écrit:

            prendre un domaine .com à 1,20€ chez 1and1

            1&1 c'est le mal absolu, ils sont longs et très peu réactifs (sauf au service résiliation :lol:). De mon expérience sur des projets pros et persos et ayant testé 1&1, je te conseille PlanetHoster.

            Deuxièmement, ils existent des offres à bas prix du style 7.99€/mois (voire moins cher encore en fonction de la RAM et du nombre de Core CPU que tu veux, d'autant plus que je peux vous avoir un -10%) qui propose un stockage et des BDD illimités de qualités. Je peux aussi héberger le projet sur mon serveur gratuitement et te fournir un projet Git et un FTP perso.

            -
            Edité par Pascal Prugna 17 septembre 2017 à 1:18:15

            • Partager sur Facebook
            • Partager sur Twitter

            Pascal Prugna | Développeur Web

              17 septembre 2017 à 13:19:39

              Yop la compagnie ;)

              @Ealon : Effectivement tu as raison mais débourser plus de 50€ juste pour pourrir un petit projet, ça fait un peu cher payé :p

              @ClementNerma : En effet, il y aura des offres payantes (respectivement 2€ et 5€ par mois pour 15 Go et 50 Go). Un plan gratuit est aussi proposé pour un espace de stockage de 5 Go (à voir s'il n'y aura pas de modification, et peut être une ré-hausse au niveau de l'espace de stockage, s'il n'y a pas beaucoup d'utilisateurs). Pour ce qui est de la sécurité, en théorie, avec le chiffrement de bout-en-bout et le fait de ne pas stocker la passphrase permettant de déchiffrer la clé privée, je pense que c'est un bon début. J'ai préféré faire un système d'authentification puis tester ensuite le déchiffrement de la clé à partir de la passphrase afin d'éviter de transmettre une clé si jamais l'authentification échoue (inspiré de ProtonMail pour les deux mots de passe). Merci de continuer à me suivre, ça fait plaisir :)

              @TheAslera : Le mot de passe pour l'authentification est hashé avec la fonction sha512 mais la passphrase n'est stocké dans la base de données. Si l'authentification est effectuée avec succès, on transmet la clé associée et l'on tente de déchiffrer une sorte de "checksum" associé à l'utilisateur qui a été chiffré avec la clé publique. Si l'on arrive à déchiffrer correctement avec la clé privée et la passphrase, tout est bon et on redirige vers l'application. Le seul et unique script que je n'ai pas encore diffusé sur Github est celui qui permet de valider le paiement via Paypal et qui contient mes identifiants marchand (c'est pour cela que je n'ai pas encore diffusé le script ^^), script qui permet de tester si le paiement est valide et a été effectué avec succès :) Les critiques sont toujours les bienvenues, je te remercie du fait qu'elles soient constructives ;) Pour l'hébergement, il me faudrait un espace de stockage illimité donc je vais voir ce que je peux faire au niveau des hébergeurs :D mais merci quand même.

              @PulsarFox : J'avoue que je ne connaissais pas cet hébergeur, s'il propose un hébergement web illimité et qu'en plus tu peux avoir -10% c'est une affaire en or :) C'est gentil mais je ne vais pas te pourrir ton serveur avec la masse de fichiers ;) mais merci quand même pour la proposition :)

              Sinon quelques nouvelles : J'ai fini de travailler sur l'application "Gestion du stockage" qui vous permettra de visualiser votre quota, les types de fichiers qui prennent le plus de place, etc...

              Je suis en train de continuer l'application "Gestion de mon compte". Une fois cette dernière terminée, l'interface de base sera complétement terminée et je pourrais m'attaquer à la première "vraie" application : l'explorateur de fichiers ;)

              Je vous rappelle le lien vers github : https://github.com/Ne0blast/CosmOS_v2 :)

              A bientôt ;)

              Ne0

              -
              Edité par Romain Claveau (Ne0blast) 17 septembre 2017 à 13:20:40

              • Partager sur Facebook
              • Partager sur Twitter
              Créateur du projet CosmOS
                17 septembre 2017 à 13:26:44

                @Ne0blast, j'ai un site qui traite du web et de l'espace, je reviens dans 50€ bien depensés.

                Je veux dire par là qu'il faut aussi prendre en compte le fait que d'autres dans le monde peuvent avoir un projet de site, complètement different du tiens, mais dont le NDD peut correspondre. Et ils ne se priveront pas de le prendre.

                • Partager sur Facebook
                • Partager sur Twitter
                Kwo:re / topic OC | Aidez les autres, indiquez un sujet résolu ! | Vous êtes bloqué ? Suivez le guide ! | N'aide pas par MP
                  17 septembre 2017 à 13:39:00

                  @Ealon : Effectivement, présenté comme cela c'est bien plus légitime :) Je vais voir j'hésite encore au niveau de l'extension car le .io coûte assez cher (malheureusement) ^^. Merci pour tes mises en garde :)
                  • Partager sur Facebook
                  • Partager sur Twitter
                  Créateur du projet CosmOS
                    17 septembre 2017 à 13:45:27

                    C'est vrai que le .io est pas donné, on sent la mode dans le domaine :)

                    Une fois déposé, tu pourras aussi commencer à communiquer sur le sujet, Et te monter un mail @webos-cosmos.tld. Ça te motivera dans le sens où tu as investi dans le projet :)

                    • Partager sur Facebook
                    • Partager sur Twitter
                    Kwo:re / topic OC | Aidez les autres, indiquez un sujet résolu ! | Vous êtes bloqué ? Suivez le guide ! | N'aide pas par MP
                      28 septembre 2017 à 14:11:33

                      Bonjour à tous ! ;)

                      Un peu de nouvelles de ces derniers jours :

                      - Achat du nom de domaine http://webos-cosmos.fr

                      - Application "Gestion de votre compte" terminée

                      - Début de l'application "Explorateur de fichiers" :

                      Voilà pour les principales applications ;) Pour ce qui est concrètement de l'application "Explorateur de fichiers", voici ce qui a été fait :

                      - Listing des fichiers et dossiers

                      - Affichage de l'arborescence du dossier courant

                      - Possibilité de naviguer dans les dossiers

                      - Possibilité de créer un fichier

                      - Possibilité de créer un dossier

                      - Possibilité d'uploader un répertoire complet

                      Et voilà :)

                      Bonne fin de journée et  à bientôt ;)

                      Neo

                      • Partager sur Facebook
                      • Partager sur Twitter
                      Créateur du projet CosmOS
                      Anonyme
                        30 septembre 2017 à 11:28:34

                        Super, j'y vais de ce pas :) !

                        Quelques instants plus tard...

                        C'est pas mal du tout, mais ! Quelques points me dérangent, donc je vais faire une liste brute de tous les trucs qui, selon moi, ne vont pas :

                        • La police est immonde : trop petite, trop étroite, fatigante à lire ;
                        • Lorsque l'on clique sur "Découvrir" ou "Voir les fonctionnalités", il faut absolument mettre un scroll progressif, sinon ça fait trop brutal ;
                        • Quand on crée un nouveau fichier/dossier, il serait bien de mettre le focus sur le champ de saisie du nom ;
                        • Appuyer sur Entrée doit permettre de valider directement ;
                        • La boîte de dialogue de création doit se fermer une fois le fichier/dossier créé, c'est très lassant de devoir la fermer manuellement ;
                        • Le design de la boîte de dialogue ne se distingue pas assez de celui des fenêtres "classiques" ;
                        • L'icône d'upload de fichier devrait changer d'icône : là j'ai cru qu'il s'agissait d'un bouton d'échange de fichiers ou quelque chose du genre, l'utilisateur lambda appréciera grandement d'avoir une bouton sous forme de flèche vers le haut, particulièrement s'il se détache bien du fond (ex: background-color rouge pour le bouton) ;
                        • Les icônes de création de fichier/dossier et coller sont trop éloignés ; il faudrait faire une petite barre d'outils sous la barre de titre, au-dessus de la barre indiquant le chemin actuel, qui contiendrait ces items-là ;
                        • Les icônes des applications (explorateur, éditeur de texte...) se ressemblent beaucoup trop, et de par leur style elles sont peu lisibles ;
                        • Cliquer sur l'icône d'une app non disponible (ex: éditeur de texte) ouvrira l'explorateur de fichiers, il faudrait que ça affiche un message "Application non disponible" ou quelque chose du genre ;
                        • Ouvrir la boutique déclenche une erreur 404, même chose ici il faudrait un message d'erreur style "La boutique n'est pas encore disponible. Stay tuned!" ou quelque chose du genre

                        Sinon, du côté des features manquantes (mais j'imagine que c'est parce que le projet est en développement) :

                        • Il est impossible de voir les applications ouvertes ;
                        • Il est impossible de déplacer les fenêtres, ce qui, lié au point juste au-dessus, empêche de savoir quelles apps sont ouvertes ;
                        • Il est impossible de switcher entre les applications ;
                        • Mini-bogue : Pourquoi ai-je 1 octet utilisé dans mon espace de stockage lorsque je démarre la plateforme pour la première fois ?

                        Voilà, je crois avoir fait le tour. Sinon, je ne vois pas l'intérêt de faire mot de passe + passphrase ? Pourquoi ne pas faire seulement une passphrase, qui servirait aussi de mot de passe au compte, et qui permettrait d'obtenir une clé de cryptage dérivée de celle-ci ? Ensuite, pourquoi le choix du RSA ? Dans ton cas particulier, puisque tu n'auras pas à disponibilité un serveur très puissant, l'E.C.C. avec la courbe elliptique 521 me semble tout indiqué (enfin, ce n'est pas une obligation).

                        Même s'il reste encore pas mal de choses à corriger (c'est normal, le projet n'est pas terminé) j'apprécie beaucoup de voir Cosmos revenir, et te souhaite bon courage pour la suite :) !

                        • Partager sur Facebook
                        • Partager sur Twitter

                        [WebOS] CosmOS (v2)

                        × 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