Mon premier projet de piscine php a été de coder un mini Shell Unix en php.
Qu'est-ce qu'un shell:
un shell est un interpréteur de commande autonome proposant une interface simplifiée à l'utilisateur.
Ne pouvant publier mon code source, je vais me contenter d'évoquer ici les étapes qui pourront vous mener à un mini Shell abouti lol.
J'ai eu 24h pour réaliser ce projet.
Mon niveau en php n'étant pas celui d'un expert en php. Je peux vous dire que ce projet serait réalisable par toute personne ayant des notions en programmation.
Avant de commencer à coder, il faut définir ce qui est attendue par votre shell, dans mon cas la moulinette attendait ses fonctions cat, ls, pwd, cd, setenv, unsetenv, définition des variables environnements, gestion des erreurs. Ensuite decouper votre projet en fonctions qui une fois assemblées donneront votre shell.
En gros il faut un prompt, un terminal, parser la ligne de commande rentrée par l'utilisateur(parser car il faudra différencier la commande du paramètre, fichier ...), faire une fonction par commande voir plus s'il le faut.
Un indice par fonction
prompt: un jeu d'enfant, juste affiché quelque chose en se basant sur le comportement d'un shell existant.
terminal: il faut lire et écrire dans un flux, ce qui suppose ouvrir et fermer un flux.
flux: tuyau bidirectionnel permettant la communication entre 2 entités.
parser la ligne: découper la ligne en utilisant un délimiteur (php.net/explode).
en ce qui concerne les commandes elles sont assez simple.
ps: vérifier sa ligne de commande des le début avant de la parser pour pouvoir prendre en compte la redirection et les cotes simples ou doubles.cela peut changer tout un code si la vérification de la ligne de commande n'a pas été prise en compte des le début.
Aucun commentaire:
Enregistrer un commentaire