/srv/irclogs.ubuntu.com/2011/08/25/#ubuntu-tn-classroom.txt

sarhangood20:50
=== ChanServ changed the topic of #ubuntu-tn-classroom to: Salon classroom IRC de la LoCo Team approuvée ubuntu-tn : https://wiki.ubuntu.com/TunisianTeam | | Historique du Canal : http://irclogs.ubuntu.com/ | |*** Prochain cours le jeudi 25/08/2011 à 23h00 (GMT+1) ***|| merci de rejoindre #ubuntu-tn-classroom-chat pour poser vos questions et de telecharger la presentation http://bit.ly/rnNYqQ
=== houssem_ is now known as Houssem
=== Crash is now known as Guest90866
sarhantest test21:53
sarhanm-5 avant le classroom21:55
sarhanbonsoir tout le monde !22:00
sarhanavant de commencer le classroom je vous invite à venir sur #ubuntu-tn-classroom-chat pour discuter et poser vos questions22:00
sarhanping geekntuxuser 22:01
geekntuxuserSalut et bienvenue à vous tous =)22:03
geekntuxuserJe demande à sarhan d'expliquer comment ça va se passer le truc de l'organisation22:03
geekntuxusercomment poser des questions et tout22:03
geekntuxusergo sarhan 22:03
sarhanbon comme je l'ai22:04
sarhanpour discuter ou poser vos questions il faut aller sur #ubuntu-tn-classroom-chat22:04
sarhanje m'occupe de retransmettre les questions ici22:04
sarhangeekntuxuser, go !22:04
geekntuxuserD'accord =) 22:04
geekntuxuserMerci sarhan 22:04
geekntuxuserBon, avant de commencer, je veux dire que l'idée de proposer un classroom m'est venu après avoir assister aux 2derniers22:05
geekntuxuseret ils étaient un succés22:05
geekntuxuseret j'espère que si quelqu'un de vous se voit en position d'aider et de contribuer qu'il le fasse sans hésiter22:05
geekntuxuserJ'ai choisi de parler du terminal 22:06
geekntuxuseret des commandes Linu22:06
geekntuxuserx22:06
geekntuxuserparce que, comme la réputation en parle, ils sont l'ennemi des nouveaux sur Ubuntu (GNU/Linux en général)22:06
geekntuxuserDonc, avant de commencer22:06
geekntuxuserje demande22:06
geekntuxuserà tous ceux qui sont sur Windows22:06
geekntuxuserde télécharger le Logiciel Putty22:06
geekntuxuserhttp://www.geekntuxuser.com/ubuntu/classroom/putty.exe22:07
geekntuxuserde l'ouvrir, et de renseigner les informations suivantes :22:07
geekntuxuserIP : 41.225.22.3122:07
geekntuxuserNom du compte : ubuntu22:07
geekntuxuseret quand on vous demande votre mot de passe, c'est : ubuntu aussi =)22:07
geekntuxuserpour que tout le monde puisse suivre avec nous22:08
geekntuxuserC'est bon jusqu'à maintenant ?22:08
sarhantu peux y aller pas de questions (ils demandent si ton exe est infecté :P )22:08
geekntuxuserLool, sûrement pas :p (:ange:)22:08
geekntuxusernon sérieux, ne vous inquiétez pas =)22:09
geekntuxuseron passe au premier point de notre formation aujourd'hui,22:09
geekntuxuserenfaite, on entend souvent : ouvre la console / ouvre le terminal ...22:09
geekntuxuseravec le temps ça a crée un genre d'abus de langage 22:09
geekntuxuser!22:09
geekntuxuserLa console, c'est l'écran noir (le plus connu, mais on peut intervenir sur les couleurs) avec que du texte dedans22:10
geekntuxuser(comme indiqué sur la présentation)22:10
geekntuxuserLe terminal par contre, est un programme qui fait une émulation (ou simulation) d'un console22:10
geekntuxusersur l'environnement graphique22:11
geekntuxuserd'ailleurs, pour entrer en mode console (si vous voulez essayer :p )22:11
* sarhan rappelle que la présentation est téléchargable ici http://bit.ly/pYg6dY 22:11
geekntuxusertapez ctrl + alt + Fx(x allant de 1 à 6)22:11
geekntuxuseret pour revenir en mode graphique, vous tapez ctrl + alt + f722:11
geekntuxuserp.s : dans certain cas, on trouve jusqu'à 7 consoles noirs + 1 console graphique, donc pour revenir à notre environnement graphique on doit taper ctrl + alt + f822:12
geekntuxuserc'est bon jusqu'à maintenant ? =)22:13
sarhanoui tu peux continuer !22:13
geekntuxuserBien =)22:13
geekntuxuserDonc, nous on s'intéresse plus au terminal qu'à la console ! Pourquoi ?22:14
geekntuxuserTout simplement parce que c'est plus beau et plus user friendly (regarder mon terminal sur la présentation, il est tellement beau :p :p )22:14
geekntuxuserregardez*22:14
geekntuxuserC'est bon ? =)22:15
sarhan[QUESTION] pour les interfacs graphiques ce peut y aller jusk a F12 max, si on veut avoir plus on fait comment?22:15
geekntuxuserRésumons : La console => l'écran noir avec que du texte sans rien de graphique // Le terminal => c'est le programme qui simule une console mais en mode graphique22:15
sarhan[QUESTION]Est-ce que le terminal linux est semblable au cmd.exe sous windows?22:17
geekntuxuserJ'ai pas une réponse exacte pour cette question, mais il faut configurer le fichier qui s'occupe de la gestion des ttyS 22:17
geekntuxuserpour régler le nombre de consoles qu'on peut avoir, toutefois, parler de limites n'est pas approprié, car il se peut que plus de 100 personnes qui se connectent sur un même utilisateur utilisant des consoles22:17
geekntuxuserPour la deuxième question, Oui, le terminal Linux est semblable au cmd.exe (l'invite de commande) sous windows, ça sert exactement à lancer/écrire/exécuter des commandes22:18
geekntuxuserJe rectifie une phrase : qui se connectent sur un même PC22:19
geekntuxuserDes questions ? =) (essayer de poser des questions visées , même les avancés peuvent participer à enrichir le classroom )22:19
geekntuxuseressayez*22:19
geekntuxuserDonc ? :)22:20
sarhanpas de questions tu peux continuer , je vais mettre les questions à fur et à mesure!22:20
geekntuxuserBien22:20
geekntuxuserOn passe maintenant aux choses plus sérieuses ! ^^ Ouvrez tous vos terminaux (et pour les windowsiens qu'ils se connectent avec Putty) sarhan fais moi signe quand vous êtes prêts =)22:21
sarhantu peux y aller ils ont tous ouvert leur terminal ;)22:22
geekntuxuserBien22:22
geekntuxuseron va faire quelques démonstrations du "Pourquoi préféré le terminal parfois !"22:22
geekntuxuserD'abord, le terminal c'est plus rapide ! vraiment plus rapide côté temps !22:22
geekntuxuserComment ? =>22:23
geekntuxuserTout d'abord, créons un dossier où on va faire nos tests22:23
geekntuxusertapez22:23
geekntuxusercd22:23
geekntuxusermkdir -v classroom-ubuntu22:23
geekntuxuserVous devez avoir quelque chose comme ça : mkdir: création du répertoire «classroom-ubuntu»22:24
* geekntuxuser rappelle (quelque chose qu'il a oublié :p ) qu'il travaille sur le Slide 322:24
geekntuxusermaintenant on entre dans ce dossier22:25
geekntuxusercd classroom-ubuntu22:25
geekntuxuserDonc, je rappelle ! on va faire une démonstration de la rapidité que nous offre la console22:25
geekntuxuserplutôt TERMINAL (j'ai dis qu'on fait souvent l'erreur :p )22:25
geekntuxuserJ'ai besoin de créer ces dossiers22:26
geekntuxuserdos1 ; dos2 ; dos3 ; dos4 ; dos-classroom22:26
geekntuxuserImaginez le temps qu'il faut en le faisant en graphique (vous pouvez essayer :p )22:26
geekntuxuserEn terminal, cela donne tout simplement :22:26
geekntuxusermkdir dos{1,2,3,4,-classroom}22:27
geekntuxuserC'est bon jusqu'à maintenant ? Vous suivez ? 22:27
geekntuxuseron passe sarhan ? tout le monde suit jusqu'à maintenant ? vous avez réussi à créer ces dossiers ?22:28
sarhanoui tu peux continuer ! (tu peux rappeler à quoi sert le pparamètre-v pour ceux ceux qui ne connaissent pas?)22:28
sarhan[QUESTION] qu'est ce qu'une commande, option et parametre?22:29
geekntuxuserLes paramètres et une explication approfondie des commandes sera pour plus tard (vérifiez les slides), je viens juste de démontrer ;)22:29
geekntuxuserMême réponse pour la question ^^22:29
geekntuxuserC'est bon alors ?22:29
sarhanoui continue ;)22:30
geekntuxuserBien ! vous voyez donc, qu'avec le terminal , on peut vraiment faire rapidement une tâche, qui, en graphique demande plusieurs clics22:30
geekntuxuserAutre chose que le terminal nous propose, c'est qu'elle utilise moins de ressources 22:31
geekntuxuserutiliser un programme en command-line nous permet de conserver un peu de ressources (CPU, RAM et graphique notamment )22:32
geekntuxuserAutre chose, c'est que avec le terminal, c'est plus facile d'avoir de l'aide extérieur, 22:32
geekntuxuseret plus exactement la maintenance à distance22:32
geekntuxuserEt je me permet de citer un autre point (parmi les points qui finissent pas ^^ ) aussi, c'est le fait de se sentir un peu GEEK :p et PRO :p22:33
geekntuxuserfaire tout en clavier, ça fait du bien après tout :p22:33
geekntuxuserEt pour cloturer cette partie, je dis qu'utiliser le terminal OU le graphique c'est toujours une question de préférence ! =)22:34
geekntuxuserC'est bon jusqu'à maintenant ? des questions ?22:34
sarhangeekntuxuser, aucune question juste une remarque de Neo31 que je retransmet "<Neo31> explique comment creer un repertoire personnel et faire un change directory pour mettre son travail personel dedans"22:36
geekntuxuserD'accord =)22:36
geekntuxuserPour ceux qui sont connectés via Putty22:36
geekntuxuserils ont la fenêtre où ils vont taper du code22:37
geekntuxuserQu'ils tapent22:37
geekntuxusercd22:37
geekntuxusermkdir votre_nom22:37
geekntuxuseret changez votre nom par le votre =)22:37
geekntuxuserIl suffit de faire ça =)22:37
geekntuxuserune fois le rép crée, on tape22:38
geekntuxusercd votre_nom22:38
geekntuxuseret changez votre nom par le votre =)22:38
geekntuxuserAllez, je passe =)22:38
* geekntuxuser passe au Slide 422:38
sarhan[QUESTION] comment on peut etre sur que le repertoire a ete creer et voir la liste des autres repertoires?22:39
geekntuxuserdans 5min :p ! Apprenant avant à connaître notre terminal !22:39
geekntuxuserSur le mien, c'est écrit : ramy@ramy-laptop:~$22:40
geekntuxuseret bien, cette ligne est tellement riche !22:40
geekntuxusercommençant par l'analyser22:40
geekntuxuserramy => c'est votre nom de compte ! Moi, pour me connecter je tape Ramy (puis mon mot de passe), ceux qui sont sur Putty auront ubuntu comme nom de compte22:41
geekntuxuser@ => ça se prononce AT (anglais) cela veut dire Chez 22:41
geekntuxuserramy-laptop => comme vous pouvez le deviner, c'est le nom de votre ordinateur comme il apparaît sur le réseau ! =)22:42
geekntuxuserpuis les deux points pour séparer les parties22:42
geekntuxuser~ => c'est en effet, votre emplacement (le dossier où vous êtes), par défaut ~ pointe vers /home/votredossierpersonnel moi, c'est ramy, donc le ~ signifie /home/ramy22:43
geekntuxuserpour ceux qui travaillent sur putty la ~ (tilde) pointe vers(ou remplace) /home/ubuntu 22:43
geekntuxuserpuis22:44
geekntuxuser$ => ceci indique vos droits d'accès ! Il y a 2 types d'utilisateurs dans Ubuntu, un user normal et un super user (Le Dieu de son PC :p )22:45
geekntuxuserquand vous êtes un user vous aurez $22:45
geekntuxuserquand vous êtes un Super User vous aurez #22:45
geekntuxuser(on verra après comment passer au mode super user )22:45
geekntuxuserJ'enchaîne donc, ce système d'utilisateur est en soit une protection !22:46
sarhan[Question] Quelle est la différence entre les deux types d'utilisateurs?22:46
geekntuxuserCar, en informatique, tout logiciel a les droits de l'utilisateur qui va le lancer22:47
geekntuxuserUser => il a tout les droits sur son répertoire personnelle, en dehors de ça, il doit appeler le Super User22:47
geekntuxuserqui a tout à fait tout les droits sur la machine22:47
geekntuxuserLes droits d'accès sont : Read / Write / Execute22:48
geekntuxusergénéralement, on peut lire tout ce qu'on veut sur le PC, mais écrire et exécuter non ^^22:48
geekntuxuserJ'ai répondu à la question ? =)22:48
geekntuxuserje continue donc, en informatique, tout logiciel a les droits de l'utilisateur qui va le lancer22:49
geekntuxuserSi un virus pénètre, et qu'il se trouve avec les droits de l'admin22:49
geekntuxuseret bein le PC est foutu ! Par contre, en simple utilisateur, il ne pourra surement pas endommager les fichiers systèmes (puisqu'il a pas les droits de le faire ;) )22:49
geekntuxuserEt c'est en effet une bonne méthode de protéger les utilisateurs !22:50
geekntuxuserC'est bon jusqu'à maintenant ?22:50
geekntuxuserdes questions ?22:50
sarhantu peux passer aucune question22:51
sarhanah si [Question] Administrator == root sur linux ?22:51
geekntuxuserBien ! Je récap vite fait donc, maintenant, on peut se repérer en analysant la ligne qu'on a dans nos terminaux !22:51
geekntuxuserOui =)22:51
* geekntuxuser passe à la slide suivante 522:52
geekntuxuserVoyons maintenant le truc le plus attendu ! Les commandes ... comment ça marche ? ^^22:52
geekntuxuserEt bein, figurez vous qu'on a déjà utilisé 2-3 commandes22:53
geekntuxusermkdir ET cd (ça fait 2 x) )22:53
geekntuxuserDonc22:53
geekntuxuserpour lancer une commande, je dois taper sur mon terminal la forme suivante :22:53
geekntuxusercommande paramètres22:53
geekntuxuserLa commande c'est un programme ! (firefox / gedit / gnome-terminal / ... ) vous pouvez essayer en tapant le nom du programme22:54
geekntuxuserles paramètres ce sont les outils/ressources que ce programme aura besoin pour travailler22:55
geekntuxuserj'essaye d'expliquer par logique : pour copier un fichier, je dois fournir la source et la destination22:55
geekntuxuseret ainsi de suite =)22:56
geekntuxuserSur le slide, j'ai oublié de préciser qu'on peut utiliser des options sur les commandes, pour pouvoir modifier un peu leur façon de fonctionner22:56
geekntuxuserpersonnaliser le fonctionnement en quelque sorte ^^22:56
geekntuxuserExemple : mkdir -v test22:57
geekntuxusermkdir => ma commande : créer un dossier : Make Directory22:57
geekntuxuser-v => une option : pour dire à ma commande d'afficher ce que t'as fait22:57
geekntuxusertest => le paramètre que cette commande a besoin (le nom du dossier à créer )22:57
geekntuxuserConcernant les options, 22:58
geekntuxuseril y en a 2 types, les options "longues" et les options "courtes"22:58
sarhan[Question ] Comment connaître toutes les options des commandes ?22:58
geekntuxuserExemple : mkdir -v test22:58
geekntuxuserExemple 2 : mkdir --verbose test22:58
geekntuxuserCes 2 commandes sont les mêmes ! Pour écrire une option courte (1 carac) je dois la précéder d'un "-"22:59
geekntuxuserpour les longues, on doit ajouter "--"22:59
geekntuxuserEn faite, chaque commande a son mode d'emploi22:59
geekntuxuserUn genre de documentation ^^ on verra comment y accéder22:59
geekntuxuserC'est clair jusqu'à maintenant ? =)23:00
geekntuxuserVous suivez ^^' ?23:00
sarhannon ! 23:01
sarhanoui tout le monde te suit on peut continuer :)23:01
geekntuxuserBien =)23:01
geekntuxuserUne petite astuce très utile avant de continuer, c'est la Tabulation23:02
geekntuxuserLe bouton TAB23:02
geekntuxuserIl joue le rôle d'auto complétion23:02
geekntuxuserPar exemple il suffit de taper une partie du nom d'un dossier, et il nous propose la suite =) (comme le principe de l'IRC )23:03
sarhan[Question] le bouton tab marche sur toutes les distributions ou seulement sur ubuntu?23:03
geekntuxuserEnfaite, ça dépend du terminal s'il gère l'auto complétion ou non , mais selon mes connaissances, il existe partout cette option ^^23:04
geekntuxuser(à voir ^^ )23:04
geekntuxuserDonc, on va voir la liste des commandes les plus utiles23:05
geekntuxusertestez avec moi en même temps pour mieux voir la chose23:05
geekntuxuserCommençons 23:05
* geekntuxuser rapplle qu'on est toujours sur le slide 5 =)23:05
geekntuxuser1 - pwd => place where directory23:06
geekntuxuserCette commande indique notre endroit en chemin absolu =)23:06
geekntuxuserramy@ramy-laptop:~$ pwd23:06
geekntuxuser/home/ramy23:06
geekntuxuserOn passe ? (allez voyons ... c'est aussi simple ça :p )23:07
geekntuxuserBon, continuons ^^23:09
geekntuxuser2 - ls => lister tous les fichiers et dossiers qui existent sous le répertoire courant (si on tape ls tout court)23:10
geekntuxuserP.S : N'essayez surtout pas sudo rm -rf /* 23:10
geekntuxuserls acceptent des options telles que : -l -a -h -R23:11
geekntuxuser-l => pour afficher sous forme de tableau avec plus d'informations23:11
geekntuxuser-a => pour dire à ls d'afficher vraiment TOUS (même les fichiers cachés)23:11
geekntuxuser-h => pour afficher la taille sous une forme "humaine"23:11
geekntuxuser-R => pour la récursivité ^^23:11
* Neo31 ATTENTION : c'est vraiment une commande tres dangeureuse qui risque de vous faire perdre tout ce que vous avez sur le PC23:12
geekntuxuserNeo31, on passe ? Clair jusqu'à maintenant  ?23:12
Neo31accelere geekntuxuser 23:12
Neo31c'est tres ralenti la23:12
geekntuxuserDac 23:12
geekntuxuser3 - cd => Change Directory => pour changer de dossier23:12
geekntuxuseron doit lui fournir le nom de dossier où on veut aller23:13
geekntuxuser(et si vous reliez le tout, on utilise ls pour voir les dossiers qu'on a sous le répertoire courant =) )23:13
geekntuxuser4 - mkdir => make directory => créer un dossier 23:13
geekntuxuseron doit fournir le nom du dossier23:13
geekntuxuserexemple : mkdir dossier23:13
geekntuxuser5 - rmdir => remove directory => effacer un répertoire 23:14
geekntuxuseron doit lui fournir le répertoire à effacer (il doit être VIDE )23:14
geekntuxuserexemple : rmdir dossier23:14
geekntuxuser6 - rm => remove => effacer un fichier 23:14
geekntuxuseron doit fournir le nom du fichier à effacer23:15
geekntuxuserexemple : rm fichier23:15
geekntuxuser7 - cp => copy => copier un fichier23:15
geekntuxuseron doit fournir la source puis la destination23:15
geekntuxuserExemple : cp /home/ramy/fichierT /home/ramy/dossier/23:16
geekntuxuserP.S : on peut utiliser des chemins relatifs23:16
geekntuxuser8 - mv => move => déplacer => même principe que cp fichier source et fichier destination 23:16
geekntuxuserpar contre, cette commande permet de modifier le nom d'un fichier23:16
geekntuxuserExemple : mv fichierT fichierT123:17
geekntuxuser(puisque c'est le même endroit, donc logiquement, elle va pas le déplacer mais le renommer)23:17
geekntuxuser9 - top => elle affiche les processus en cours (le même truc que le Ctrl + Alt+Supp sur windows)23:18
geekntuxuserpour quitter la commande, on appuie sur Q23:18
geekntuxuser10 - locate => trouver => elle nous permet de trouver un fichier en précisant son nom23:18
geekntuxuserexemple : locate fichierT23:19
geekntuxusertoutefois, cette commande se base sur un fichier de base de données pour faire vite23:19
geekntuxuserc'est pourquoi, les fichiers crées nouvellement n'apparaissent pas23:19
geekntuxuseril faut mettre à jour ce fichier23:19
geekntuxuseravec la commande23:19
geekntuxuserupdatedb23:19
geekntuxuser11 - Je termine cette partie par une commande qui vous permet de voir combien de temps vous êtes connecté sur votre PC23:20
geekntuxuser=> uptime23:20
geekntuxuserramy@ramy-laptop:~$ uptime23:20
geekntuxuser 00:20:40 up  4:07,  9 users,  load average: 0.00, 0.01, 0.0523:20
geekntuxuserMoi c'est 4h :p23:20
geekntuxuserBon, j'ai fait vite  là, pas trop d'explication ! Mais ces commandes sont les plus basiques dont on aura souvent besoin 23:21
geekntuxuserVous devez réessayer d'executer ces commandes à tête reposée pour mieux comprendre le fonctionnement 23:21
geekntuxuserDes questions Neo31  ?23:22
Neo31on continue geekntuxuser 23:23
geekntuxuserD'accord !23:23
Neo31essaye de faire qq chsoe de plus avancee geekntuxuser 23:23
geekntuxuserMaintenant, vous devez vraiment suivre et faire attention23:23
geekntuxuseroui Neo31 dans peu de temps ^^23:23
Neo31oui23:23
geekntuxusersurtout pour les nouveaux dans ubuntu23:23
geekntuxuseren faite, les utilisateurs d'ubuntu n'apprennent pas tous  23:24
geekntuxusery a pas un disque dur 10000 terra (ou plus) dans leurs têtes 23:24
geekntuxuserEn faite, il y a la documentation23:24
geekntuxuserChaque commande dans linux est suivi d'une documentation23:24
geekntuxuserpour savoir comment elle fonctionne, et les paramètres qu'elle aura besoin23:24
geekntuxuserPour avoir le manuel d'une commande23:24
geekntuxuseron utilise la 23:25
geekntuxusercommande23:25
geekntuxuserman 23:25
geekntuxuserpour quitter il faut cliquer sur Q23:25
geekntuxuservoyons23:25
geekntuxuserle manuel de ls23:25
geekntuxuserman ls23:25
geekntuxuserNAME23:25
geekntuxuser       ls - list directory contents23:25
geekntuxuserSYNOPSIS23:25
geekntuxuser       ls [OPTION]... [FILE]...23:25
geekntuxuserC'est cette partie qui nous intéresse le plus23:25
geekntuxuserLa Synopsis => comment fonctionne cette commande23:26
geekntuxuserDonc23:26
geekntuxuserls puis on fournie les OPTIONs23:26
geekntuxuserpuis le dossier qu'on veut lister23:26
geekntuxuserMAIS23:26
geekntuxuserpourquoi c'est entre [ ]23:26
geekntuxuser?23:26
geekntuxuserLa réponse est simple23:26
geekntuxuserdans les manuels, on utilise un genre de code pour comprendre le fonctionnement23:27
geekntuxuserQuand le mot est entre [ ]23:27
geekntuxuserc'est qu'il est pas obligatoire , la commande peut fonctionner sans lui23:27
geekntuxuserQuand le mot est souligné23:27
geekntuxuserC'est qu'on doit le changer selon le cas23:27
geekntuxusercela veut dire qu'on écrit pas : ls option file23:27
geekntuxuserça veut rien dire ça23:27
geekntuxuserOn doit adapter OPTION et FILE selon notre cas23:28
geekntuxuserpar exemple23:28
geekntuxuserls -l dossier23:28
geekntuxuserici on a : ls => c'est la commande, -l => OPTION , dossier => FILE23:28
geekntuxuservous pouvez maintenant s'amuser à lire les mans des commandes23:28
geekntuxuserman mkdir23:29
geekntuxuserman cp23:29
geekntuxuserman mv23:29
geekntuxuserman apt-get23:29
geekntuxuserman pwd23:29
geekntuxuserman cat23:29
geekntuxuserEt la liste continue !23:29
geekntuxuserLa liste des options qu'une commande peut avoir existe en bas (défiler avec les flèches par exemple)23:29
geekntuxuserJe veux expliquer le truc du nom du chap : RTFM => Read The Fu*** Manuel23:30
geekntuxuserc'est une expression courante qu'on utilise souvent quand quelqu'un demande quelque chose sans lire la doc23:30
geekntuxuser:p23:30
geekntuxuserMais nous, on est gentil :pp23:31
geekntuxuserOn passe maintenant au Slide23:31
geekntuxuser723:31
geekntuxuser=> Script Shell23:31
geekntuxuserD'abord, c'est quoi un script ?23:31
geekntuxuserScript => c'est un langage interprété ! Cela veut dire qu'on a pas à le compiler23:32
geekntuxuserEx : php, Javascript, action script, .... ^^23:32
geekntuxuserLe Script Shell23:32
geekntuxuserest un script qui utilise les commandes du Shell qu'on vient de voir (les autres aussi qu'on a pas vu :p )23:32
geekntuxuserpour accomplir ou automatiser une tâche23:33
geekntuxuserBon, je vois que vous voulez coder ! Donc on code ^^23:33
geekntuxuserPour être fair avec tout le monde23:33
geekntuxuseron va essayer de créer un script "normal"23:33
geekntuxuserpeut être utile pour certain23:34
geekntuxuserdans lequel on va voir la syntax , les conditions et les variables23:34
geekntuxuseret pour les gourmands, on peut voir le reste après le classroom23:34
geekntuxuserDonc, je vais vous faire affronter la chose pour les nouveaux :p23:34
geekntuxuserOn va utiliser que le terminal23:34
geekntuxuserOn ouvre un fichier avec un éditeur de texte23:35
geekntuxuserJe me place d'abord sous le repertoire test que j'ai crée23:35
geekntuxusercd nomDuRep23:35
geekntuxusernano script.sh (vous êtes libres de choisir le nom)23:35
geekntuxuserNeo31, c'est bon jusqu'à maintenant ? on passe ?23:35
Neo31[QUESTION] comment on peut editer un fichier texte avec putty?23:35
geekntuxuserOn va utiliser un éditeur de texte en command-line23:36
geekntuxusersur terminal23:36
geekntuxuserqui s'appelle NANO ^^23:36
geekntuxuserdonc23:36
geekntuxuseron tape nano script.sh (pour créer un fichier qui s'appelle script.sh et qui est vide pour le moment)23:36
geekntuxuserNeo31, c'est bon ?23:36
Neo31c bon23:37
geekntuxuserbien23:37
geekntuxuserla première ligne qu'on doit taper23:37
geekntuxuserc'est de spécifier le shell qui va interprété notre script23:37
geekntuxuseril existe plusieurs sh ; zsh; bash ; ...23:38
geekntuxusernous, on va utiliser le bash qui est le plus utilisé pour le moment ^^23:38
geekntuxuser(pour vérifier votre SHELL par défaut, vous pouvez taper : echo $SHELL (dans le terminal) )23:38
geekntuxusermoi c'est : /bin/bash23:39
geekntuxuserBon23:39
geekntuxuserrevenons à notre script23:39
Neo31[ Question ]: quelle est la différence en sh, zsh et bash23:39
geekntuxuserbash est le plus moderne jusqu'à maintenant23:39
geekntuxuserje vous fais une démontration23:40
geekntuxuserdémonstration de la différence entre sh et bash par exemple23:40
geekntuxuserCréons vite fait un nouveau fichier texte23:41
geekntuxuseret on écrit sur la première ligne echo -e "Salut \n comment ça va ?"23:41
geekntuxuseron sauvegarde23:41
geekntuxuserC'est bon ?23:42
geekntuxuser(c'est un peu vite fait pour ceux qui utilisent déjà les éditeurs)23:42
geekntuxuserune fois le fichier crée23:42
geekntuxuseron sauvegarde et on quitte l'éditeur23:43
geekntuxuseron tape après : sh script23:43
geekntuxuserpuis : bash script23:43
geekntuxuseret voyons la diffèrence23:43
geekntuxuserbash interprête le -e 23:43
geekntuxuserle sh non23:43
geekntuxuserOn en discutera plus après23:44
geekntuxuserrevenons à notre script.sh23:44
geekntuxuserla première ligne sera donc : !#/bin/bash 23:44
geekntuxuserpour dire que mon script sera interprété par le bash23:44
geekntuxuserdésolé ^^'23:46
geekntuxuserDonc23:46
geekntuxuserOn va crée un script qui nous demande le nom d'un programme23:46
geekntuxuseril nous affiche sa version s'il existe23:46
geekntuxusersinon il nous demande de l'installer23:46
geekntuxuserbon23:46
geekntuxuserc'est bon pour la première ligne Neo31 ?23:46
geekntuxuseron passe ?23:46
Neo31oui23:46
geekntuxuserLa 2ème ligne sera donc23:47
geekntuxuserde demander à l'utilisateur du programme23:47
geekntuxuserle nom du logiciel qu'il cherche23:47
geekntuxuseron utilise la commande suivante23:47
geekntuxuserread -p "Entrez le programme dont vous tester : " a23:47
geekntuxuserle a c'est la variable où on va stocker la réponse23:47
geekntuxuserc'est bon ?23:48
geekntuxuserNeo31, 23:48
Neo31preske23:48
geekntuxuserDes questions ? ^^ Neo31 23:48
Neo31vasy geekntuxuser 23:48
geekntuxuserbien23:48
geekntuxusermaintenant, on va devoir chercher le programme 23:49
geekntuxuserpour cela, on va créer une variable pour stocker la réponse pour pouvoir la tester après23:49
geekntuxuseron tape sur la ligne suivante23:49
geekntuxuserprog=`whereis $a | cut -s -d ':' -f 2`23:49
geekntuxusercette ligne est un peu "compliqué" elle parait ! J'explique vite fait23:50
geekntuxuserwhereis nous retourne l'endroit d'un programme, sous forme nom : endroit23:50
geekntuxusersi le logi n'existe pas23:50
geekntuxuserl'endroit est vide23:50
geekntuxuserdonc, je vais me servir de ça pour tester mon prog23:50
geekntuxuserma variable prog va contenur le resultat endroit23:51
geekntuxuser(j'ai utilisé pour ça la commande cut qui découpe notre texte selon un délimiteur qu'on précise23:51
geekntuxuser)23:51
geekntuxuserP.S : la syntaxe est vraiment délicate23:51
geekntuxuseril faut suivre à l'espace prés !23:51
geekntuxuserj'enchaine maintenant avec la condition23:51
geekntuxuser(je vous la passe et j'explique)23:52
geekntuxuserLa première partie :23:52
geekntuxuserif [ -n "$prog" ]23:52
geekntuxuserthen23:52
geekntuxuser        $a --version23:52
geekntuxuser        exit23:52
geekntuxuser-n => pour tester s'il n'est pas vide23:52
geekntuxuserDonc, Si $prog n'est pas vide ( le logic existe)23:53
geekntuxuserdonc23:53
geekntuxuseron affiche sa version et on exit23:53
geekntuxuserLa 2ème partie :23:53
geekntuxuserelse23:53
geekntuxuser        read -p "Ce programme n'existe pas sur votre machine, voulez vous le télécharger ? [O/n] " reponse23:53
geekntuxuserSinon, on demande à l'utilisateur s'il veut le télécharger ou pas23:54
Neo31voila le script alors : http://paste.ubuntu.com/674920/23:55
geekntuxuseret on stocke la réponse dans une variable "reponse"23:55
geekntuxuserC'est bon, vous suivez tous à partir du lien ? Neo31 23:55
Neo31http://paste.ubuntu.com/674920/plain/23:55
geekntuxuserDonc23:56
geekntuxuseron doit recevoir une réponse de l'utilisateur23:56
geekntuxuseret il faut que ça soit , O => pour Oui et n=> pour Non ^^23:56
geekntuxuserSinon, il est un méchant :p23:56
geekntuxuseron doit tester tout ça23:57
geekntuxuserif [ $reponse = "O" ]23:57
geekntuxuser        then23:57
geekntuxuser                sudo apt-get install $a23:57
geekntuxuserSi la réponse est O donc Oui on installe avec apt-get install 23:57
geekntuxuser(on doit fournir le mot de passe root, ceux avec putty peuvent pas le faire, mais pas grv :p )23:57
geekntuxuserelif [ $reponse = "n" ]23:57
geekntuxuser        then23:57
geekntuxuser                echo "Tant pis .. !"23:57
geekntuxuser                exit23:57
geekntuxuserS'il tape "n" => pour dire Non alors tant pis pour lui, on quitte :p23:58
geekntuxuserelse23:58
geekntuxuser                echo "--' Vous aurez dû répondre à la question Mr.le malin :p "23:58
geekntuxuser                exit23:58
geekntuxuser        fi23:58
geekntuxuserEt s'il fait le malin ... :p on l'averti qu'on est au courant ! Car "You're the Boss :p !"23:58
geekntuxuserPuis, enfin on ferme notre première condition if avec le fi en dernier 23:58
geekntuxuserMaintenant, notre script est prêt !23:59
geekntuxuserC'est bon jusqu'à maintenant Neo31  ? =)23:59

Generated by irclog2html.py 2.7 by Marius Gedminas - find it at mg.pov.lt!