Partage
  • Partager sur Facebook
  • Partager sur Twitter

[Node-WebKit] NightOS, un OS HTML5

Un système d'exploitation en HTML5

    13 avril 2015 à 18:57:04

    Vous ne croyez pas que vous êtes complètement partis dan,s un débat hors sujet?

    Le débat ici, ce n'est pas l'importance du français, ni si le français sera toujours parlé dans 20 ans, mais uniquement pour parler du projet de Clément7, qui essaye de créer un OS (Desktop environnement), qu'il a nommé NightOS.

    Merci donc d'avance d’arrêter de pourrir ce sujet avec un débat inutile et qui n'as strictement rien à faire ici.

    • 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
      13 avril 2015 à 21:11:12

      Grand Smurf, tu pars dans des délires mon pauvre. Au motif que la programmation se fasse à coup de int, print et use, la documentation en français ne devrait pas exister? Complètement à l'ouest... Sans compter qu'un langage de programmation peut très bien utiliser des mots français (langage linotte) c'est pas incompatible.OC n'a qu'à supprimer les cours en langue, après tout ça sert à quoi?

      De toute manière manière, les géants du web  ont bien compris l'intérêt qu'il y a avait à traduire leurs services dans le plus de langues possibles, et c'est pas pour rien. Vous devriez y penser avant de lâcher des absurdités pareilles.

      • Partager sur Facebook
      • Partager sur Twitter
      Anonyme
        13 avril 2015 à 22:34:55

        Bref, ce débat n'a pas lieu d'être ici. Encore une fois, ouvre un autre sujet si tu veux parler de ça s'il te plaît.

        Concernant NightOS, je suis en train de m'attaquer au Store et j'ai prévu de créer le site en Single Page Application avec AngularJS, puisqu'il faudra de toute façon charger de multiples pages si l'utilisateur regarde plusieurs applications (même si AngularJS n'est pas indispensable pour une application web comme celle-ci, je trouve que c'est la solution la plus facile et la plus efficace pour gérer le store, ça évite en plus d'avoir à recharger la page à chaque fois que l'on veux voir une autre application, les commentaires, etc.)

        • Partager sur Facebook
        • Partager sur Twitter
        Anonyme
          14 avril 2015 à 12:06:25

          NightOS passe aujourd'hui, midi, en version 0.2 !

          Après avoir corrigé les bugs, ajouté des fonctionnalités, modifié quelques trucs pour combler des failles de sécurité de Node-WebKit, j'ai enfin réussi à terminer la version 0.2.

          Nouveautés depuis la version 0.1 (liste non exhaustive) :

          • Ajout du SDK (avec le système de templates)
          • Ajout du GUI
          • Refonte du design
          • Ajout de nombreuses fonctionnalités pour les applications
          • Corrections ciblant la sécurité et la stabilité du système
          • etc. etc.

          Je vais commencer à rédiger un tutoriel sur NightOS pendant que je continue à le développer pour expliquer comment fonctionne et comment s'organise NightOS, comment développer (en détails) une application, les fonctionnalités de l'API, etc. etc.

          • Partager sur Facebook
          • Partager sur Twitter
          Anonyme
            14 avril 2015 à 17:58:04

            Mais à quand un vrais os :)
            • Partager sur Facebook
            • Partager sur Twitter
            Anonyme
              14 avril 2015 à 18:04:03

              mais ca en sera un !

              il a meme dit qu'il allait créer un os from scratch

              • Partager sur Facebook
              • Partager sur Twitter
              Anonyme
                14 avril 2015 à 18:28:12

                Je compte créer l'OS avec soit Linux From Scratch (LFS), soit Ubuntu Customization Kit (UCK)

                • Partager sur Facebook
                • Partager sur Twitter
                Anonyme
                  14 avril 2015 à 19:01:11

                  Lubzorg a écrit:

                  mais ca en sera un !

                  il a meme dit qu'il allait créer un os from scratch


                  C'est mieux de commencer à le faire la pour éviter de devoir refaire la base
                  • Partager sur Facebook
                  • Partager sur Twitter
                  Anonyme
                    14 avril 2015 à 19:20:46

                    Je l'ai expliqué au début du sujet, je commence par créer le système NightOS en JavaScript, et ensuite seulement je crée l'ISO pour que ça me facilite le développement de NightOS. A partir de la version 1.0, il sera assez complet pour que je puisse le modifier à partir de lui-même, donc ça sera plus simple. Mais je vais commencer dès demain à créer l'ISO si je peux communiquer avec un ami qui s'y connait.
                    • Partager sur Facebook
                    • Partager sur Twitter
                      17 avril 2015 à 13:25:41

                      Clément, même si je sais que ton projet va pas aboutir à qqch de viable, je te présente quand même quelques méthodes et bases de dev qui te seront utiles :

                      • Méthode agile : http://fr.wikipedia.org/wiki/M%C3%A9thode_agile
                      • XP ou Extreme Programming : http://fr.wikipedia.org/wiki/Extreme_programming
                      • CI ou Intégration Continue : http://fr.wikipedia.org/wiki/Int%C3%A9gration_continue

                      Comme je te l'ai déjà dit dans mes posts précédents le dev c'est pas que de la technique. C'est aussi de la gestion (encore plus en équipe).

                      Les méthodes agiles sont une des bases en génie logiciel. Beaucoup se base sur celles-ci et les remanient un peu à leur sauce. C'est des méthodes qui permettent d'avoir une bonne visualisation de l'ensemble autant dans la passé (ce qui a été fait), dans le présent (ce qui est à faire) et dans le futur (ce qui devra être fait plus tard). Tu n'est pas obligé de lire des livres et des livres sur ça. Juste essaye de comprendre un peu le principe et essaye de l'appliquer à ton/tes projets.

                      L'XP est une méthode agile qui sera plutot adapté à ton cas. Elle simplifie les règles d'itérations et permet de se concentrer plus sur l'aspect technique que sur la gestion tout en gardant la base de la vision globale du projet. Peut être utilisé seule ou en petite équipe. Je te conseille vraiment d'appliquer ça (ou de t'en imprégner). Attention pour la conception d'un OS, j'aurais plutôt conseillé un cycle en V mais comme c'est très dur à faire (et que ce qui est fait réellement n'est pas vraiment du V même en très grande entreprise) je t'en parle pas trop. Essaye de voir un peu (juste des schémas pour comprend un peu le principe et comprendre pourquoi je t'aurais plutôt conseillé ça).

                      Le CI peut être très utile dans ton cas. Déjà elle te forcera à faire des tests (unitaire, fonctionnel, perf, ...). Chose qui est très sous estimé en génie logiciel. Aussi elle te permettra surtout d'éviter de régresser dans ton dev. A un moment donné du dev, en utilisant le cycle en V, l'XP ou rien du tout; tu vas finir par casser des choses dans ton codes. Sans forcément t'en rendre compte en plus. Et plus tard, hop plein de bug à cause d'un bout du système. Tu le modifie et hop encore un autre bug qui apparait, etc, etc. C'est pas possible de tout tester mais si tu fais les principaux au moins tu sécurise ton code contre toi même (ou un membre de ton équipe). Tu t'en rend peut être pas compte que c'est utile pour le moment car tu pars dans tous les sens (pas conseillé comme je te l'avais expliqué avant). Mais une fois que tu dois revenir et rendre tes blocs baclés en bon blocs il suffit que tu oublis une petit partie du projet pour mal l'utiliser et finir par faire un bug dans certains cas. Ensuite tu repasse au bloc un peu plus au dessus. Tjrs pas de bug visible. Puis tu fait la couche front et la paf gros bug et pas possible de savoir où.

                      Pour finir : ton ISO oublie un peu pour le moment. Ca sert à rien d'avoir qqch à distribuer puisque tu as rien derrière. La distribution c'est encore un autre projet qui peut vraiment être compliqué (tu gère tous les systèmes différents ?). Ca sera facilité comme tu fais du JS.

                      Et ton histoire de store -_-. Déjà qu'on te disais que faire ton "OS" c'était partir trop dans tous les sens. Voila maintenant que tu veux faire un autres projets totalement indépendant. Demain tu feras un logiciel d'analyse prédictive de données financières ?

                      • Partager sur Facebook
                      • Partager sur Twitter
                      Anonyme
                        17 avril 2015 à 14:34:36

                        Pour l'ISO, je le fais juste pour voir comment fonctionne exactement UCK (que je vais sans doute utiliser) afin de pouvoir visualiser l'OS installable en tant... qu'OS.

                        Ensuite, pour le Store, j'avais déjà prévu ça depuis le début, car ça permets de distribuer des applications bien plus facilement et de les centraliser en un seul point (un seul site).

                        Pour ce qui est de l'intégration continue, par exemple, j'ai l'impression que c'est une méthode de développement lorsque l'on programme à plusieurs. Or, je développe seul NightOS. Motez m'aide sur l'aspect sécurité, mais sur le papier, il ne touche pas au code.

                        • Partager sur Facebook
                        • Partager sur Twitter
                          20 avril 2015 à 10:12:43

                          Oui c'est vrai que quand j'ai une mission qui consiste à coder un système d'analyse prédictive afin d'augmenter le rendement d'une tâche je vais d'abord voir comment fonctionne le Blender Game Engine. On sait jamais ça me donnera surement des idée et ça risque surtout pas de me distraire à la tâche principale.

                          Non mais sérieux je commence vraiment à croire que t'es une peine perdu. A chaque fois tu essayes de contourner les remarques qu'on te fait en "je veux tester/c'est en cours de dev/c'est prevu à la base/...".

                          L'IC c'est pas utile uniquement quand on bosse en équipe. Toi même tu vas foutre la merde dans ton code à un  moment donnée. Quand tu auras des projets soit très gros (genre plus d'1Go de code) soit très complexes (genre algo gen, ANN, ... ou le paramétrage doit être précis pour fonctionner parfaitement dans un cas particulier) et bin tu seras bien content d'avoir sécurisé ton code. Mais c'est vrai que si ton "OS" entier fait au plus 100 lignes complètement baclées l'IC est inutile.

                          Aussi pour te montrer que la méthode agile c'est bien, regarde ton post qui indique ton changement de version (d'ailleur je me demande comment tu choisi le changement de version, si c'est 1 par mois, par nombre de taches finis, ou un peu quand tu veux). Dans ce post tu indique que les nouveautés c'est :

                          • Ajout du SDK (avec le système de templates) : ouah il y a un système de template en plus. Et sinon ? en plus détaillé ?
                          • Ajout du GUI : qu'est-ce qu'on peut faire avec la GUI ? Avant il y en avait pas ?
                          • Refonte du design : ouah trop cool. Dans un OS la première chose à développer c'est ça c'est vrai
                          • Ajout de nombreuses fonctionnalités pour les applications : lesquels ? on a pas le droit de savoir ? elles ont l'air cool quand même
                          • Corrections ciblant la sécurité et la stabilité du système : où étaient les failles ? de quoi doit-on se protéger si on peut pas installer la nouvelle version
                          • etc. etc. : oui ? mais encore ?

                          Tu sais tu as presque perdu ton temps en écrivant tous ça. Un simple "la v0.2 est mieux que la v0.1" aurait été suffisant vu le peu d'info que tu donnes là.

                          • Partager sur Facebook
                          • Partager sur Twitter
                          Anonyme
                            20 avril 2015 à 11:03:08

                            • Store : Je développe le site du store pour permettre d'héberger des applications sur un même serveur et éviter de devoir chercher par soi-même sur internet toutes les applications nécessaires. C'est le même principe que le Google Play Store
                            • Changement de version : J'avais prévu depuis le début de passer en 0.2 dès que j'aurais terminé le SDK, corrigé les bugs et failles de NightOS, terminé l'invite de commandes, etc. NON je ne change pas de version "au pif" de manière aléatoire ou autre, mais bien quand j'ai rempli un certain nombre de critères qui indiquent que des changements majeurs suffisants on eu lieu depuis la dernière version

                            • SDK : J'ai spécifié dans le tutoriel sur le SDK que le système de templates permettait de ne pas partir d'une application "totalement vide", mais avoir une mini-base de code selon le type d'application (Brut, HTMLFrame, GUI); puisque j'explique en détails le fonctionnement du SDK dans ce tutoriel
                            • GUI : Série de fonctions permettant de concevoir plus facilement la partie "graphique" d'une application et l'interaction avec l'utilisateur. C'est un peu le même principe que d'utiliser une bibliothèque telle que Qt
                            • Refonte du design : Excuses-moi c'est vrai que quand on teste un logiciel, même en Alpha, on adore qu'il soit moche et bien dégueulasse. Non sérieusement, j'ai retravaillé le design parce qu'au début c'était vraiment laid.
                            • Ajout de nombreuses fonctionnalités pour les applications : Tout ça je l'expliquerai dans le tutoriel sur NightOS (puisqu'il faut bien que j'en fasse un) lorsqu'il sera suffisamment avancé. Ici, j'ai ajouté des fonctionnalités telles que copier/déplacer un fichier en une seule ligne de code, gérer les erreurs de droits (savoir que l'application n'a pas pu écrire dans ce fichier parce qu'elle n'en avait pas le droit), etc.
                            • Correction ciblant la stabilité du système : J'ai corrigé de nombreux bugs concernant l'API (notamment), mais aussi l'explorateur de fichiers et l'éditeur de texte.
                            • Correction ciblant la sécurité du système : J'ai corrigé des bugs critiques de sécurité (tu peux voir sur les tickets du dépôt Github une partie de celles-ci) et généralement les failles de l'API Storage qui permettaient (avant correction) de modifier certains fichiers critiques du système sans avoir les droits adéquats.
                            • Etc. etc. : Plusieurs ajouts mineurs, je ne vais pas tout détailler ici non plus parce que ça va prendre pas mal de temps

                            J'espère que tout ça réponds à tes questions !

                            P.S. : Je vais relire les ébauches que j'ai vus sur les méthodes agiles/XP/CI pour mieux comprendre...

                            • Partager sur Facebook
                            • Partager sur Twitter
                            Anonyme
                              3 mai 2015 à 15:00:09

                              UPDATE !

                              1 - Installation d'applications depuis le dépôt officiel de NightOS

                              Maintenant que j'ai mis une partie du Store en ligne, il est possible d'installer des applications depuis le web en ligne de commande.

                              Exemple : pour installer l'application de démo 'simple-test' mise en ligne sur le store, il suffit de lancer le terminal en tant qu'administrateur (terminal -> clic droit -> run as admin...), puis de taper les commandes suivantes pour effectuer des actions pour cette application :

                              apkg install simple-test # Installe l'application depuis le dépôt officiel de NightOS (http://nightos.890m.com/store)
                              
                              apkg remove simple-test # Désinstalle l'application (ne supporte pas encore uninstall.js, mais je vais y travailler)
                              
                              apkg installed simple-test # Savoir si l'application est installée
                              
                              apkg --launch=simple-test # Lance l'application




                              2 - Ligne de commande

                              Je me suis inspiré d'Unix pour permetre de saisir plus facilement les commandes pour NightOS. Ainsi, "ls -dc" sera converti en "ls -d -c" (on retrouve le système d'arguments longs et courts)

                              Les commandes peuvent savoir si un argument est présent et récupérer sa valeur (j'en reparlerais dans un prochain article)

                              a - Quelques commandes utiles...

                              J'ai modifié les commandes de NightOS pour faciliter certaines tâches, maintenant, les seules commandes disponibles sont :


                              echo [text]

                              Affiche du texte. exemple : echo test réussi


                              set [var]=[valeur]

                              Affecte une variable. exemple : set nom=jean


                              clear

                              Efface l'écran


                              chdir [path]

                              Change de répertoire courant. exemple : chdir /users/admin/documents


                              alias

                              Crée un alias d'une commande

                              Exemple : alias "ls_with_color=ls -c"

                              macro

                              Permets de définir une macro

                              Exemple : macro afficher_bonjour "echo Bonjour, \$1 !"

                              exit

                              Quitte l'invite de commande
                              ls [-d] [-c] [path]
                              Affiche le contenu d'un répertoire
                              -d sert à afficher des détails
                              -c sert à mettre de la couleur (requiert -d)
                              Exemple : ls /users/admin/documents -dc
                              mkdir [path] [-r]
                              Crée un répertoire
                              -r sert à créer toute l'arborescence (ex: si vous créez a/b/c avec mkdir et l'argument -r mais que le dossier b n'existe pas, le dossier a/b sera créé puis a/b/c sera créé)
                              Exemple : mkdir test -r
                              runjs [command]
                              Exécute une commande javascript
                              Ex: runjs alert('salut');
                              touch [path]
                              Crée un fichier
                              Exemple: touch monfichier.txt
                              -------------------------------------------------
                              Notez que l'ordre des arguments n'est pas important !
                              Vous pouvez utiliser des variables dans vos commandes, par exemple :
                              set nom=jean
                              
                              echo salut %nom% !



                              affichera : salut jean !

                              Vous pouvez obtenir plus d'aide sur une commande avec la commande help !

                              Exemple :

                              help ls

                              Affichera de l'aide sur la commande ls

                              Pour les arguments comprenant des espaces, utilisez des guillemets !

                              mkdir mon repertoire


                              Créera un dossier nommé 'mon' car l'espace est le caractère qui permets de séparer les arguments. 'repertoire' est donc compté comme un argument à part !

                              Pour créer ce dossier, utilisez :

                              mkdir "mon repertoire"

                              De même,

                              set mavariable=regarde " un guillemet

                              ne fonctionnera pas. Il faut faire :

                              set "mavariable=regarde \" un guillemet"


                              3 - Gestion d'erreurs

                              Pour ceux qui codent une appli (même si je n'ai pas fini le tutoriel dessus donc je ne pense pas que quelqu'un en fasse ;-)), il est possible de récupérer le contenu de la dernière erreur de stockage (écriture dans un fichier, etc.) avec la fonction App.lastError();


                              Cela récupère un objet avec le code de l'erreur, sa description (ex: 'No such file or directory'), et d'autres informations.

                              A venir

                              Je suis actuellement en train de rédiger un tutoriel pour développer des applications, il viendra d'ici quelques temps !

                              Par ailleurs, le store est en cours de développement, mais il sera bientôt possible d'uploader ses propres applis !

                              -
                              Edité par Anonyme 3 mai 2015 à 15:01:35

                              • Partager sur Facebook
                              • Partager sur Twitter
                              Anonyme
                                3 mai 2015 à 16:48:51

                                Ca avance a ce que je vois
                                • Partager sur Facebook
                                • Partager sur Twitter
                                  4 mai 2015 à 9:10:23

                                  En quoi alias est différent de macro ?

                                  Pourquoi t'amuser a recoder un shell alors que de toute façon tu va être dans un environnement Linux ?

                                  Je prie (honnêtement) pour que toutes tes fonctions de shell ne soient pas des appels systèmes. Sinon c'est vraiment très très moche.

                                  • Partager sur Facebook
                                  • Partager sur Twitter
                                    4 mai 2015 à 10:10:58

                                    Nan c'est pas des simples appels systèmes. C'est pire encore.

                                    Tous ces commandes natives écrites en moins de 5 lignes chacune. Bravo pour tes "techniques" de prog pour dev un OS en quelques semaines.

                                    Sinon pour te montrer que en 5 lignes c'est compliqué et mieux vaut pas, je vais déjà présenter des bugs énormes dans ton code :

                                    set: function(args, con) {
                                    
                                                    if(!args[0] || args[0].indexOf('=') === -1)
                                                        con.error('Missing alias name and value');
                                                    else
                                                        Core.vars.set(args[0].split('=')[0].trim(), args[0].split('=')[1].trim());
                                    
                                                },

                                    Alors dans ta ligne dégueulasse avec des split et trim, il y a une énorme erreur. Déjà d'où tu te permet de tronquer les espaces dans le contenu de la variable ? a="   ligne indenté de 4 espaces" c'est pas valide pour toi ? Bref ça c'est ton choix. Mais surtout args[0].split('=')[1] ? Sérieux. Donc une variable peut pas contenir de signe égale ? a='2+2=4' donne a='2+2' avec ton code. Et aucune erreur/warning/commentaire/... Et tu vérifies seulement que tu as au moins 1 argument. Mais alors set "c=c" "argument à la con" c'est valide ? Ah bah oui.

                                    for(var i in vars)
                                        txt = txt.replace(new RegExp('\\$' + i + '\\$', 'gi'), vars[i]);

                                    Bien joué déjà la complexité linéaire sur le nombre de variables définies. Il suffit d'un echo "hello" et hop si t'as 1000 variables, il faut faire 1000 tours de boucles pour rien (et créer une nouvelle regex à chaque fois, la compiler et l'exécuter sur tout le texte). Ta regex signifie qu'elle replace les $machin$ par vars[machin]. Et si machin existe pas ? Grosse exception dans ta gueule. J'espère qu'elle est rattrapé au moins quelque part. Et ensuite je me demande ce que ferais la commande suivante : echo "J'ai un billet de 5$ et un de 100$". Mince je suis bête en générale c'est possible d'échapper les caractères spéciaux par des \. Donc il suffit de faire echo "J'ai un billet de 5\$ et un de 100\$" ? Non ça marche pas j'ai l'impression. Soit c'est très mal codé, soit c'est de la haine contre les $ et par extension les US (fait gaffe à la NSA ^^).

                                    Plus tu fais des choses sur ton projet plus je trouve ça désespérant

                                    • Partager sur Facebook
                                    • Partager sur Twitter
                                    Anonyme
                                      4 mai 2015 à 10:11:36

                                      Alias permets de définir un nouveau nom pour une fonction afin d'éviter de taper un nom trop long (sous linux, la commande alias permets par exemple de faire 'alias ll=ls -dArt' ou autre...)

                                      Une macro permets de créer une 'fonction' qui contiendra d'autres commandes et qui peut prendre des paramètres en arguments. Un alias ne pourra pas recevoir de paramètres, mais juste remplacer une commande par une autre (ici, taper 'll Documents' sera converti en 'ls -dArt Documents')

                                      Ensuite, les commandes su shell ne sont pas des appels systèmes, mais des commandes stockées dans des fichiers js (chaque commande correspond à un fichier stocké dans /system/cmd) et qui permets de gérer les erreurs, de faire des tâches supplémentaires (la commande ls de NightOS permets par exemple d'afficher plus de détails sur certains fichiers ou répertoires, etc.)

                                      Enfin, je crée un shell pour NightOS pour plusieurs raisons :

                                      • 1) ça me permets d'avoir des commandes plus adaptées qui interagissent avec NightOS et pas seulement avec Linux
                                      • 2) ça permets d'empêcher n'importe qui de modifier un dossier en utilisant une commande Linux, puisque les droits des fichiers sont définis par NightOS et non pas par Linux.
                                      • Partager sur Facebook
                                      • Partager sur Twitter
                                        4 mai 2015 à 11:01:13

                                        Un alias ne pourra pas recevoir des paramètres ? Et le -dArt dans ton exemple c'est quoi ? Ou le Documents dans ton autre exemple ?

                                        Ton "OS" c'est qqch qui se met sur un linux mais qui bride tout pour ne plus avoir grand chose c'est ça ? Pour faire plus simple, tu fait un linux avec un shrc par défaut non modifiable (et shell non modifiable) qui supprime tout le path

                                        • Partager sur Facebook
                                        • Partager sur Twitter
                                          4 mai 2015 à 11:13:25

                                          C'est génial. J'adore installer un OS bridé. D'ailleurs ce week-end j'ai installé Windows XP sur toutes mes machines parce que j'adore ça. J'ai aussi acheté un fouet.

                                          Bon allez, j'arrête la casse, j'arrête de suivre ce topic, ça fait un buzz, ça ne fait qu'encourager l'auteur du logiciel à continuer dans sa lancée. Je vais d'ailleurs créer un nouveau topic concernant un OS en Brainfuck. Ça sera basé sur un Linux et le shell ce sera sh.

                                          Cordialement,

                                          Fire4764 out.

                                          -
                                          Edité par Depado 4 mai 2015 à 11:15:10

                                          • Partager sur Facebook
                                          • Partager sur Twitter
                                            4 mai 2015 à 11:44:16

                                            Oui c'est un peu dommage de tout brider, il n'y aurait pas un moyen de rendre cela plus "ouvert" ?

                                            Le pire c'est que sa reste très intéressant mais pour moi cela n'a aucun intérêt tant que ce n'est pas une ISO car qui va installer nightos sur un linux ? Un débutant ? Un linuxien ? Les débutant risque de ce perdre dans linux et les linuxien refuseront d'avoir un OS bridé, si tu fait une ISO tu pourra au moins contenter les débutants qui pourrons mettre le CD et installer le truc facilement ! Après tu peut innover, en l'adaptant pour le boot USB, comme sa tu as une clé qui contient tes données et tes logiciels, tu la met sur le pc d'un autre et hop tu retrouve tout !

                                            Désolé pour ce petit pavé sûrement immangeable coté orthographe :euh: .

                                            -
                                            Edité par the_new_sky 4 mai 2015 à 11:54:18

                                            • Partager sur Facebook
                                            • Partager sur Twitter
                                            Anonyme
                                              5 mai 2015 à 17:04:14

                                              Eponix & Fire4764

                                              1) Pourquoi les alias ne prennent pas de paramètres ? Demande au créateur de Linux, je n'ai fait que reprendre son principe, et créé la commande macro pour permettre d'avoir des arguments !

                                              2) Le ls -dArt comme je l'ai dit c'est une commande linux que j'ai prise en exemple.

                                              3) Pour la boucle avec les variables certes je me suis trompé et je l'avais fait correctement dans une autre partie du code; mais après tout c'est vrai que personne ne fait d'erreur.

                                              4) POURQUOI un argument en trop devrait faire planter la commande ?

                                              5) Je n'ai pas terminé de coder le shell, bien sûr qu'il y aura bientôt possibilité de faire bien plus de choses. De plus, les administrateurs de la machine pourront accéder à un vrai terminal Linux pour modifier les fichiers systèmes (ou pour faire des opérations bas niveau sur le disque dur). Mais c'est vrai que j'ai clamé au et fort que j'avais entièrement terminé NightOS (:ironie:)

                                              6) J'ai bien écrit dans mon avant-dernier post qu'on devait mettre des guillemets AVANT et APRES l'argument, pas DANS l'argument ( set a="mon long texte" ne sera pas valide !) d'où le fait que les espaces de départ ne seront pas tronqués. Bien sûr il va falloir que je revoie cette commande car elle présente tout de même deux bugs, mais inutile

                                              7) OUI, NightOS sera disponible en ISO, mais pas tout de suite car il n'est pas encore assez avancé, et OUI il sera simple d'utilisation comme je l'ai dit dans mon premier post !

                                              J'espère que tout cela réponds à vos questions.
                                              En attendant, étant donné que mon projet à l'état actuel n'a pas l'air de convaincre certains (inutile de m'expliquer pourquoi, je le sais déjà), j'arrête de publier des informations sur NightOS sur Openclassrooms et je me contenterais de mettre à jour la branche GitHub et le Wiki. Je ne reviendrais parler de NightOS ici que lorsqu'il sera intégralement fini et stable.

                                              Cordialement.

                                              -
                                              Edité par Anonyme 5 mai 2015 à 17:05:07

                                              • Partager sur Facebook
                                              • Partager sur Twitter
                                                6 mai 2015 à 9:42:41

                                                1. Parce qu'un alias peut prendre des arguments peut-être ? $1, $2... Tu peux faire ce que tu veux dans un alias.Le créateur de Linux n'a pas forcément créé le Bash.

                                                2. "-dArt" est un argument, ta phrase n'a aucun sens.

                                                Cordialement.

                                                • Partager sur Facebook
                                                • Partager sur Twitter
                                                  6 mai 2015 à 9:42:50

                                                  1 ) Arrête de dire des énormités. Tu sais même pas ce qu'est un paramètre. Si pour toi un param c'est -t ou --truc alors si ça prend un paramètre. Si pour toi un param c'est qqch pas précédé par des - alors si alias prend aussi des params. Essaye de faire alias e="echo -n hello" puis e. Oh pas d'erreur et comme par surprise ça affiche hello sans saut de ligne à la fin.

                                                  2) ls -dArt n'est pas une commande linux. ls est le programme (en /usr/bin/ls en général) et -dArt c'est un paramètre.

                                                  3) c'était un  exemple d'erreur. Tout ton code est bourré d'erreur

                                                  4) Super la rigueur de tes scripts shell alors. On pourrais très bien voir ça dans un de tes scripts : ls -argumentquiexiste et un peu de merde par la pour la fantaisie du code

                                                  5) Tu as pas dit que c'était fini mais tu fais plein de bout de code dégueulasse à droite à gauche. On t'a déjà dit concentre toi sur un truc en particulier avant de passer à autre chose. La ce que tu fait c'est un tas de bouses.

                                                  6) Tu es désespérant à même pas savoir ce que ton code fait. Quand tu trim après le split(=) sur les 2 premières parties ça supprime bien les espaces

                                                  7) sans commentaire

                                                  Ca fera du bien à ce site.

                                                  • Partager sur Facebook
                                                  • Partager sur Twitter

                                                  [Node-WebKit] NightOS, un OS HTML5

                                                  × 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