[{"data":1,"prerenderedAt":3129},["ShallowReactive",2],{"navigation":3,"\u002Fnsi-1ere\u002Fpf-archi-os\u002Flinux-shell":585,"\u002Fnsi-1ere\u002Fpf-archi-os\u002Flinux-shell__counterpart":1736,"\u002Fnsi-1ere\u002Fpf-archi-os\u002Flinux-shell__slides":2089,"annexes-memo:\u002Fnsi-1ere\u002Fpf-archi-os\u002Flinux-shell":2510,"annexes-slides:\u002Fnsi-1ere\u002Fpf-archi-os\u002Flinux-shell":2787},[4,224,440],{"title":5,"path":6,"stem":7,"children":8},"SNT — Seconde","\u002Fsnt-2nde","0.snt-2nde\u002F0.index",[9,10,14,36,66,92,118,144,162,184,206],{"title":5,"path":6,"stem":7},{"title":11,"path":12,"stem":13},"REVIEW pédagogique — SNT 2nde","\u002Fsnt-2nde\u002Freview","0.snt-2nde\u002FREVIEW",{"title":15,"path":16,"stem":17,"children":18},"Internet","\u002Fsnt-2nde\u002Fsa-internet","0.snt-2nde\u002Fsa-internet\u002F0.index",[19,20,24,28,32],{"title":15,"path":16,"stem":17},{"title":21,"path":22,"stem":23},"Adresses symboliques et DNS","\u002Fsnt-2nde\u002Fsa-internet\u002Fadresses-dns","0.snt-2nde\u002Fsa-internet\u002F1.adresses-dns",{"title":25,"path":26,"stem":27},"Internet et les réseaux physiques","\u002Fsnt-2nde\u002Fsa-internet\u002Freseaux-physiques","0.snt-2nde\u002Fsa-internet\u002F2.reseaux-physiques",{"title":29,"path":30,"stem":31},"Protocoles TCP\u002FIP et routage des paquets","\u002Fsnt-2nde\u002Fsa-internet\u002Ftcp-ip-routage","0.snt-2nde\u002Fsa-internet\u002F3.tcp-ip-routage",{"title":33,"path":34,"stem":35},"Réseaux pair-à-pair","\u002Fsnt-2nde\u002Fsa-internet\u002Fpair-a-pair","0.snt-2nde\u002Fsa-internet\u002F4.pair-a-pair",{"title":37,"path":38,"stem":39,"children":40},"Le Web","\u002Fsnt-2nde\u002Fsb-web","0.snt-2nde\u002Fsb-web\u002F0.index",[41,42,46,50,54,58,62],{"title":37,"path":38,"stem":39},{"title":43,"path":44,"stem":45},"Histoire du Web","\u002Fsnt-2nde\u002Fsb-web\u002Fhistoire-web","0.snt-2nde\u002Fsb-web\u002F1.histoire-web",{"title":47,"path":48,"stem":49},"URL et hypertexte","\u002Fsnt-2nde\u002Fsb-web\u002Furl-hypertexte","0.snt-2nde\u002Fsb-web\u002F2.url-hypertexte",{"title":51,"path":52,"stem":53},"HTML et CSS — le contenu et la présentation","\u002Fsnt-2nde\u002Fsb-web\u002Fhtml-css","0.snt-2nde\u002Fsb-web\u002F3.html-css",{"title":55,"path":56,"stem":57},"Client-serveur et requêtes HTTP","\u002Fsnt-2nde\u002Fsb-web\u002Fclient-serveur-http","0.snt-2nde\u002Fsb-web\u002F4.client-serveur-http",{"title":59,"path":60,"stem":61},"Moteurs de recherche","\u002Fsnt-2nde\u002Fsb-web\u002Fmoteurs-recherche","0.snt-2nde\u002Fsb-web\u002F5.moteurs-recherche",{"title":63,"path":64,"stem":65},"Sécurité du navigateur et notions juridiques","\u002Fsnt-2nde\u002Fsb-web\u002Fsecurite-droits","0.snt-2nde\u002Fsb-web\u002F6.securite-droits",{"title":67,"path":68,"stem":69,"children":70},"Les réseaux sociaux","\u002Fsnt-2nde\u002Fsc-reseaux-sociaux","0.snt-2nde\u002Fsc-reseaux-sociaux\u002F0.index",[71,72,76,80,84,88],{"title":67,"path":68,"stem":69},{"title":73,"path":74,"stem":75},"Panorama des réseaux sociaux","\u002Fsnt-2nde\u002Fsc-reseaux-sociaux\u002Fpanorama-rs","0.snt-2nde\u002Fsc-reseaux-sociaux\u002F1.panorama-rs",{"title":77,"path":78,"stem":79},"Identité numérique et authentification","\u002Fsnt-2nde\u002Fsc-reseaux-sociaux\u002Fidentite-numerique","0.snt-2nde\u002Fsc-reseaux-sociaux\u002F2.identite-numerique",{"title":81,"path":82,"stem":83},"Le modèle économique des réseaux sociaux","\u002Fsnt-2nde\u002Fsc-reseaux-sociaux\u002Fmodele-economique","0.snt-2nde\u002Fsc-reseaux-sociaux\u002F3.modele-economique",{"title":85,"path":86,"stem":87},"Petit monde et graphes","\u002Fsnt-2nde\u002Fsc-reseaux-sociaux\u002Fpetit-monde-graphes","0.snt-2nde\u002Fsc-reseaux-sociaux\u002F4.petit-monde-graphes",{"title":89,"path":90,"stem":91},"La cyberviolence","\u002Fsnt-2nde\u002Fsc-reseaux-sociaux\u002Fcyberviolence","0.snt-2nde\u002Fsc-reseaux-sociaux\u002F5.cyberviolence",{"title":93,"path":94,"stem":95,"children":96},"Les données structurées et leur traitement","\u002Fsnt-2nde\u002Fsd-donnees-structurees","0.snt-2nde\u002Fsd-donnees-structurees\u002F0.index",[97,98,102,106,110,114],{"title":93,"path":94,"stem":95},{"title":99,"path":100,"stem":101},"Données et formats","\u002Fsnt-2nde\u002Fsd-donnees-structurees\u002Fdonnees-formats","0.snt-2nde\u002Fsd-donnees-structurees\u002F1.donnees-formats",{"title":103,"path":104,"stem":105},"Données structurées","\u002Fsnt-2nde\u002Fsd-donnees-structurees\u002Fdonnees-structurees","0.snt-2nde\u002Fsd-donnees-structurees\u002F2.donnees-structurees",{"title":107,"path":108,"stem":109},"Métadonnées","\u002Fsnt-2nde\u002Fsd-donnees-structurees\u002Fmetadonnees","0.snt-2nde\u002Fsd-donnees-structurees\u002F3.metadonnees",{"title":111,"path":112,"stem":113},"Traitement de tables","\u002Fsnt-2nde\u002Fsd-donnees-structurees\u002Ftraitement-tables","0.snt-2nde\u002Fsd-donnees-structurees\u002F4.traitement-tables",{"title":115,"path":116,"stem":117},"Le cloud","\u002Fsnt-2nde\u002Fsd-donnees-structurees\u002Fcloud","0.snt-2nde\u002Fsd-donnees-structurees\u002F5.cloud",{"title":119,"path":120,"stem":121,"children":122},"Localisation, cartographie et mobilité","\u002Fsnt-2nde\u002Fse-localisation-cartographie","0.snt-2nde\u002Fse-localisation-cartographie\u002F0.index",[123,124,128,132,136,140],{"title":119,"path":120,"stem":121},{"title":125,"path":126,"stem":127},"GPS et Galileo — se situer grâce aux satellites","\u002Fsnt-2nde\u002Fse-localisation-cartographie\u002Fgps-galileo","0.snt-2nde\u002Fse-localisation-cartographie\u002F1.gps-galileo",{"title":129,"path":130,"stem":131},"Décoder une trame NMEA","\u002Fsnt-2nde\u002Fse-localisation-cartographie\u002Ftrame-nmea","0.snt-2nde\u002Fse-localisation-cartographie\u002F2.trame-nmea",{"title":133,"path":134,"stem":135},"Cartes numériques — GeoPortail et OpenStreetMap","\u002Fsnt-2nde\u002Fse-localisation-cartographie\u002Fcartes-numeriques","0.snt-2nde\u002Fse-localisation-cartographie\u002F3.cartes-numeriques",{"title":137,"path":138,"stem":139},"Itinéraires et graphes","\u002Fsnt-2nde\u002Fse-localisation-cartographie\u002Fitineraires-graphes","0.snt-2nde\u002Fse-localisation-cartographie\u002F4.itineraires-graphes",{"title":141,"path":142,"stem":143},"Confidentialité de la position","\u002Fsnt-2nde\u002Fse-localisation-cartographie\u002Fconfidentialite-position","0.snt-2nde\u002Fse-localisation-cartographie\u002F5.confidentialite-position",{"title":145,"path":146,"stem":147,"children":148},"Informatique embarquée et objets connectés","\u002Fsnt-2nde\u002Fsf-info-embarquee","0.snt-2nde\u002Fsf-info-embarquee\u002F0.index",[149,150,154,158],{"title":145,"path":146,"stem":147},{"title":151,"path":152,"stem":153},"Systèmes informatiques embarqués","\u002Fsnt-2nde\u002Fsf-info-embarquee\u002Fsystemes-embarques","0.snt-2nde\u002Fsf-info-embarquee\u002F1.systemes-embarques",{"title":155,"path":156,"stem":157},"Capteurs et actionneurs","\u002Fsnt-2nde\u002Fsf-info-embarquee\u002Fcapteurs-actionneurs","0.snt-2nde\u002Fsf-info-embarquee\u002F2.capteurs-actionneurs",{"title":159,"path":160,"stem":161},"IHM et objets connectés","\u002Fsnt-2nde\u002Fsf-info-embarquee\u002Fihm-objet-connecte","0.snt-2nde\u002Fsf-info-embarquee\u002F3.ihm-objet-connecte",{"title":163,"path":164,"stem":165,"children":166},"Photographie numérique","\u002Fsnt-2nde\u002Fsg-photo-numerique","0.snt-2nde\u002Fsg-photo-numerique\u002F0.index",[167,168,172,176,180],{"title":163,"path":164,"stem":165},{"title":169,"path":170,"stem":171},"Photosites, pixels et résolution","\u002Fsnt-2nde\u002Fsg-photo-numerique\u002Fpixels-resolution","0.snt-2nde\u002Fsg-photo-numerique\u002F1.pixels-resolution",{"title":173,"path":174,"stem":175},"Les algorithmes de l'appareil photo","\u002Fsnt-2nde\u002Fsg-photo-numerique\u002Falgorithmes-photo","0.snt-2nde\u002Fsg-photo-numerique\u002F2.algorithmes-photo",{"title":177,"path":178,"stem":179},"Les métadonnées EXIF","\u002Fsnt-2nde\u002Fsg-photo-numerique\u002Fmetadonnees-exif","0.snt-2nde\u002Fsg-photo-numerique\u002F3.metadonnees-exif",{"title":181,"path":182,"stem":183},"Traiter une image en Python","\u002Fsnt-2nde\u002Fsg-photo-numerique\u002Ftraitement-rgb","0.snt-2nde\u002Fsg-photo-numerique\u002F4.traitement-rgb",{"title":185,"path":186,"stem":187,"children":188},"Notions transversales de programmation","\u002Fsnt-2nde\u002Fsh-prog-notions","0.snt-2nde\u002Fsh-prog-notions\u002F0.index",[189,190,194,198,202],{"title":185,"path":186,"stem":187},{"title":191,"path":192,"stem":193},"Séquences d'instructions et variables","\u002Fsnt-2nde\u002Fsh-prog-notions\u002Fsequences-affectations","0.snt-2nde\u002Fsh-prog-notions\u002F1.sequences-affectations",{"title":195,"path":196,"stem":197},"Instructions conditionnelles","\u002Fsnt-2nde\u002Fsh-prog-notions\u002Fconditionnelles","0.snt-2nde\u002Fsh-prog-notions\u002F2.conditionnelles",{"title":199,"path":200,"stem":201},"Boucles bornées et non bornées","\u002Fsnt-2nde\u002Fsh-prog-notions\u002Fboucles","0.snt-2nde\u002Fsh-prog-notions\u002F3.boucles",{"title":203,"path":204,"stem":205},"Définitions et appels de fonctions","\u002Fsnt-2nde\u002Fsh-prog-notions\u002Ffonctions","0.snt-2nde\u002Fsh-prog-notions\u002F4.fonctions",{"title":207,"path":208,"stem":209,"children":210},"Démo des widgets MDC","\u002Fsnt-2nde\u002Fzz-demo-widgets","0.snt-2nde\u002Fzz-demo-widgets\u002F0.index",[211,212,216,220],{"title":207,"path":208,"stem":209},{"title":213,"path":214,"stem":215},"Démo statique — callouts, code, BO, illustration","\u002Fsnt-2nde\u002Fzz-demo-widgets\u002Fstatique","0.snt-2nde\u002Fzz-demo-widgets\u002F1.statique",{"title":217,"path":218,"stem":219},"Démo interactive — self-eval et python-snippet","\u002Fsnt-2nde\u002Fzz-demo-widgets\u002Finteractif","0.snt-2nde\u002Fzz-demo-widgets\u002F2.interactif",{"title":221,"path":222,"stem":223},"Démo · 14 widgets de manipulation NSI","\u002Fsnt-2nde\u002Fzz-demo-widgets\u002Fwidgets-manipulation","0.snt-2nde\u002Fzz-demo-widgets\u002F3.widgets-manipulation",{"title":225,"path":226,"stem":227,"children":228},"NSI — Première","\u002Fnsi-1ere","1.nsi-1ere\u002F0.index",[229,230,234,256,282,304,328,354,380,410],{"title":225,"path":226,"stem":227},{"title":231,"path":232,"stem":233},"Relecture pédagogique — 8 chapitres NSI 1ère (PA → PH)","\u002Fnsi-1ere\u002Freview","1.nsi-1ere\u002FREVIEW",{"title":235,"path":236,"stem":237,"children":238},"Histoire de l'informatique","\u002Fnsi-1ere\u002Fpa-histoire-info","1.nsi-1ere\u002Fpa-histoire-info\u002F0.index",[239,240,244,248,252],{"title":235,"path":236,"stem":237},{"title":241,"path":242,"stem":243},"De la préantiquité aux machines à calculer","\u002Fnsi-1ere\u002Fpa-histoire-info\u002Fpreantiquite-aux-machines","1.nsi-1ere\u002Fpa-histoire-info\u002F1.preantiquite-aux-machines",{"title":245,"path":246,"stem":247},"La machine universelle (1930-1950)","\u002Fnsi-1ere\u002Fpa-histoire-info\u002Fmachine-universelle","1.nsi-1ere\u002Fpa-histoire-info\u002F2.machine-universelle",{"title":249,"path":250,"stem":251},"Les ordinateurs modernes (1947-1990)","\u002Fnsi-1ere\u002Fpa-histoire-info\u002Fordinateurs-modernes","1.nsi-1ere\u002Fpa-histoire-info\u002F3.ordinateurs-modernes",{"title":253,"path":254,"stem":255},"Réseaux, Web et IA (1969 à aujourd'hui)","\u002Fnsi-1ere\u002Fpa-histoire-info\u002Freseaux-et-web","1.nsi-1ere\u002Fpa-histoire-info\u002F4.reseaux-et-web",{"title":257,"path":258,"stem":259,"children":260},"Représentation des données — types et valeurs","\u002Fnsi-1ere\u002Fpb-types-valeurs","1.nsi-1ere\u002Fpb-types-valeurs\u002F0.index",[261,262,266,270,274,278],{"title":257,"path":258,"stem":259},{"title":263,"path":264,"stem":265},"Bases de numération et entiers positifs","\u002Fnsi-1ere\u002Fpb-types-valeurs\u002Fbases-entiers-positifs","1.nsi-1ere\u002Fpb-types-valeurs\u002F1.bases-entiers-positifs",{"title":267,"path":268,"stem":269},"Entiers relatifs et complément à deux","\u002Fnsi-1ere\u002Fpb-types-valeurs\u002Fentiers-relatifs","1.nsi-1ere\u002Fpb-types-valeurs\u002F2.entiers-relatifs",{"title":271,"path":272,"stem":273},"Nombres flottants et virgule flottante","\u002Fnsi-1ere\u002Fpb-types-valeurs\u002Fflottants","1.nsi-1ere\u002Fpb-types-valeurs\u002F3.flottants",{"title":275,"path":276,"stem":277},"Textes et encodages — ASCII, ISO-8859-1, Unicode","\u002Fnsi-1ere\u002Fpb-types-valeurs\u002Ftextes-encodages","1.nsi-1ere\u002Fpb-types-valeurs\u002F4.textes-encodages",{"title":279,"path":280,"stem":281},"Valeurs booléennes et opérateurs logiques","\u002Fnsi-1ere\u002Fpb-types-valeurs\u002Fbooleens","1.nsi-1ere\u002Fpb-types-valeurs\u002F5.booleens",{"title":283,"path":284,"stem":285,"children":286},"Représentation des données : types construits","\u002Fnsi-1ere\u002Fpc-types-construits","1.nsi-1ere\u002Fpc-types-construits\u002F0.index",[287,288,292,296,300],{"title":283,"path":284,"stem":285},{"title":289,"path":290,"stem":291},"Tableaux et listes","\u002Fnsi-1ere\u002Fpc-types-construits\u002Ftableaux-listes","1.nsi-1ere\u002Fpc-types-construits\u002F1.tableaux-listes",{"title":293,"path":294,"stem":295},"Listes en compréhension","\u002Fnsi-1ere\u002Fpc-types-construits\u002Fcomprehension","1.nsi-1ere\u002Fpc-types-construits\u002F2.comprehension",{"title":297,"path":298,"stem":299},"Tuples et p-uplets nommés","\u002Fnsi-1ere\u002Fpc-types-construits\u002Ftuples","1.nsi-1ere\u002Fpc-types-construits\u002F3.tuples",{"title":301,"path":302,"stem":303},"Dictionnaires","\u002Fnsi-1ere\u002Fpc-types-construits\u002Fdictionnaires","1.nsi-1ere\u002Fpc-types-construits\u002F4.dictionnaires",{"title":305,"path":306,"stem":307,"children":308},"Traitement de données en tables","\u002Fnsi-1ere\u002Fpd-tables-donnees","1.nsi-1ere\u002Fpd-tables-donnees\u002F0.index",[309,310,314,318,322],{"title":305,"path":306,"stem":307},{"title":311,"path":312,"stem":313},"Tables et CSV","\u002Fnsi-1ere\u002Fpd-tables-donnees\u002Ftables-csv","1.nsi-1ere\u002Fpd-tables-donnees\u002F1.tables-csv",{"title":315,"path":316,"stem":317},"Recherche et filtrage","\u002Fnsi-1ere\u002Fpd-tables-donnees\u002Frecherche","1.nsi-1ere\u002Fpd-tables-donnees\u002F2.recherche",{"title":319,"path":320,"stem":321},"Trier une table","\u002Fnsi-1ere\u002Fpd-tables-donnees\u002Ftri","1.nsi-1ere\u002Fpd-tables-donnees\u002F3.tri",{"title":323,"path":324,"stem":325,"children":326},"Fusion et indexation","\u002Fnsi-1ere\u002Fpd-tables-donnees\u002Ffusion-indexation","1.nsi-1ere\u002Fpd-tables-donnees\u002F4.fusion-indexation",[327],{"title":323,"path":324,"stem":325},{"title":329,"path":330,"stem":331,"children":332},"IHM sur le Web","\u002Fnsi-1ere\u002Fpe-ihm-web","1.nsi-1ere\u002Fpe-ihm-web\u002F0.index",[333,334,338,342,346,350],{"title":329,"path":330,"stem":331},{"title":335,"path":336,"stem":337},"HTML et CSS — rappel de structure","\u002Fnsi-1ere\u002Fpe-ihm-web\u002Fhtml-css-bases","1.nsi-1ere\u002Fpe-ihm-web\u002F1.html-css-bases",{"title":339,"path":340,"stem":341},"Formulaires HTML","\u002Fnsi-1ere\u002Fpe-ihm-web\u002Fformulaires","1.nsi-1ere\u002Fpe-ihm-web\u002F2.formulaires",{"title":343,"path":344,"stem":345},"Événements JavaScript","\u002Fnsi-1ere\u002Fpe-ihm-web\u002Fevenements-js","1.nsi-1ere\u002Fpe-ihm-web\u002F3.evenements-js",{"title":347,"path":348,"stem":349},"Manipulation du DOM","\u002Fnsi-1ere\u002Fpe-ihm-web\u002Fdom-interaction","1.nsi-1ere\u002Fpe-ihm-web\u002F4.dom-interaction",{"title":351,"path":352,"stem":353},"Client, serveur et HTTP","\u002Fnsi-1ere\u002Fpe-ihm-web\u002Fclient-serveur-http","1.nsi-1ere\u002Fpe-ihm-web\u002F5.client-serveur-http",{"title":355,"path":356,"stem":357,"children":358},"Architectures matérielles et systèmes d'exploitation","\u002Fnsi-1ere\u002Fpf-archi-os","1.nsi-1ere\u002Fpf-archi-os\u002F0.index",[359,360,364,368,372,376],{"title":355,"path":356,"stem":357},{"title":361,"path":362,"stem":363},"Le modèle de von Neumann","\u002Fnsi-1ere\u002Fpf-archi-os\u002Fvon-neumann","1.nsi-1ere\u002Fpf-archi-os\u002F1.von-neumann",{"title":365,"path":366,"stem":367},"Périphériques et interface homme-machine","\u002Fnsi-1ere\u002Fpf-archi-os\u002Fperipheriques-ihm","1.nsi-1ere\u002Fpf-archi-os\u002F2.peripheriques-ihm",{"title":369,"path":370,"stem":371},"Les systèmes d'exploitation","\u002Fnsi-1ere\u002Fpf-archi-os\u002Fsystemes-exploitation","1.nsi-1ere\u002Fpf-archi-os\u002F3.systemes-exploitation",{"title":373,"path":374,"stem":375},"Linux et le shell","\u002Fnsi-1ere\u002Fpf-archi-os\u002Flinux-shell","1.nsi-1ere\u002Fpf-archi-os\u002F4.linux-shell",{"title":377,"path":378,"stem":379},"Réseaux et protocoles","\u002Fnsi-1ere\u002Fpf-archi-os\u002Freseaux","1.nsi-1ere\u002Fpf-archi-os\u002F5.reseaux",{"title":381,"path":382,"stem":383,"children":384},"Langages et programmation","\u002Fnsi-1ere\u002Fpg-langages-prog","1.nsi-1ere\u002Fpg-langages-prog\u002F0.index",[385,386,390,394,398,402,406],{"title":381,"path":382,"stem":383},{"title":387,"path":388,"stem":389},"Diversité et unité des langages de programmation","\u002Fnsi-1ere\u002Fpg-langages-prog\u002Fdiversite-langages","1.nsi-1ere\u002Fpg-langages-prog\u002F1.diversite-langages",{"title":391,"path":392,"stem":393},"Constructions élémentaires","\u002Fnsi-1ere\u002Fpg-langages-prog\u002Fconstructions-elementaires","1.nsi-1ere\u002Fpg-langages-prog\u002F2.constructions-elementaires",{"title":395,"path":396,"stem":397},"Fonctions","\u002Fnsi-1ere\u002Fpg-langages-prog\u002Ffonctions","1.nsi-1ere\u002Fpg-langages-prog\u002F3.fonctions",{"title":399,"path":400,"stem":401},"Spécification d'une fonction","\u002Fnsi-1ere\u002Fpg-langages-prog\u002Fspecification","1.nsi-1ere\u002Fpg-langages-prog\u002F4.specification",{"title":403,"path":404,"stem":405},"Mise au point des programmes","\u002Fnsi-1ere\u002Fpg-langages-prog\u002Fmise-au-point","1.nsi-1ere\u002Fpg-langages-prog\u002F5.mise-au-point",{"title":407,"path":408,"stem":409},"Utilisation de bibliothèques","\u002Fnsi-1ere\u002Fpg-langages-prog\u002Fbibliotheques","1.nsi-1ere\u002Fpg-langages-prog\u002F6.bibliotheques",{"title":411,"path":412,"stem":413,"children":414},"Algorithmique","\u002Fnsi-1ere\u002Fph-algorithmique","1.nsi-1ere\u002Fph-algorithmique\u002F0.index",[415,416,420,424,428,432,436],{"title":411,"path":412,"stem":413},{"title":417,"path":418,"stem":419},"Parcours séquentiel d'un tableau","\u002Fnsi-1ere\u002Fph-algorithmique\u002Fparcours-sequentiel","1.nsi-1ere\u002Fph-algorithmique\u002F1.parcours-sequentiel",{"title":421,"path":422,"stem":423},"Bases de la complexité","\u002Fnsi-1ere\u002Fph-algorithmique\u002Fcomplexite-bases","1.nsi-1ere\u002Fph-algorithmique\u002F2.complexite-bases",{"title":425,"path":426,"stem":427},"Tris par sélection et par insertion","\u002Fnsi-1ere\u002Fph-algorithmique\u002Ftris","1.nsi-1ere\u002Fph-algorithmique\u002F3.tris",{"title":429,"path":430,"stem":431},"Recherche dichotomique","\u002Fnsi-1ere\u002Fph-algorithmique\u002Fdichotomie","1.nsi-1ere\u002Fph-algorithmique\u002F4.dichotomie",{"title":433,"path":434,"stem":435},"Algorithmes gloutons","\u002Fnsi-1ere\u002Fph-algorithmique\u002Fgloutons","1.nsi-1ere\u002Fph-algorithmique\u002F5.gloutons",{"title":437,"path":438,"stem":439},"Les k plus proches voisins (k-NN)","\u002Fnsi-1ere\u002Fph-algorithmique\u002Fknn","1.nsi-1ere\u002Fph-algorithmique\u002F6.knn",{"title":441,"path":442,"stem":443,"children":444},"NSI — Terminale","\u002Fnsi-tale","2.nsi-tale\u002F0.index",[445,446,450,476,498,536,560],{"title":441,"path":442,"stem":443},{"title":447,"path":448,"stem":449},"Review pédagogique — chapitres NSI Terminale (TA, TB, TC, TD, TE)","\u002Fnsi-tale\u002Freview","2.nsi-tale\u002FREVIEW",{"title":451,"path":452,"stem":453,"children":454},"Structures de données","\u002Fnsi-tale\u002Fta-structures-donnees","2.nsi-tale\u002Fta-structures-donnees\u002F0.index",[455,456,460,464,468,472],{"title":451,"path":452,"stem":453},{"title":457,"path":458,"stem":459},"Objet, classe, interface","\u002Fnsi-tale\u002Fta-structures-donnees\u002Finterface-implementation","2.nsi-tale\u002Fta-structures-donnees\u002F1.interface-implementation",{"title":461,"path":462,"stem":463},"Implémenter une structure — l'exemple de la file FIFO","\u002Fnsi-tale\u002Fta-structures-donnees\u002Fimplementer-une-structure","2.nsi-tale\u002Fta-structures-donnees\u002F2.implementer-une-structure",{"title":465,"path":466,"stem":467},"Listes, piles, files, dictionnaires","\u002Fnsi-tale\u002Fta-structures-donnees\u002Flistes-piles-files-dict","2.nsi-tale\u002Fta-structures-donnees\u002F3.listes-piles-files-dict",{"title":469,"path":470,"stem":471},"Arbres binaires","\u002Fnsi-tale\u002Fta-structures-donnees\u002Farbres-binaires","2.nsi-tale\u002Fta-structures-donnees\u002F4.arbres-binaires",{"title":473,"path":474,"stem":475},"Graphes","\u002Fnsi-tale\u002Fta-structures-donnees\u002Fgraphes","2.nsi-tale\u002Fta-structures-donnees\u002F5.graphes",{"title":477,"path":478,"stem":479,"children":480},"Bases de données","\u002Fnsi-tale\u002Ftb-bases-de-donnees","2.nsi-tale\u002Ftb-bases-de-donnees\u002F0.index",[481,482,486,490,494],{"title":477,"path":478,"stem":479},{"title":483,"path":484,"stem":485},"Le modèle relationnel","\u002Fnsi-tale\u002Ftb-bases-de-donnees\u002Fmodele-relationnel","2.nsi-tale\u002Ftb-bases-de-donnees\u002F1.modele-relationnel",{"title":487,"path":488,"stem":489},"Bases de données relationnelles et anomalies de schéma","\u002Fnsi-tale\u002Ftb-bases-de-donnees\u002Fbase-relationnelle","2.nsi-tale\u002Ftb-bases-de-donnees\u002F2.base-relationnelle",{"title":491,"path":492,"stem":493},"Le langage SQL","\u002Fnsi-tale\u002Ftb-bases-de-donnees\u002Fsql","2.nsi-tale\u002Ftb-bases-de-donnees\u002F3.sql",{"title":495,"path":496,"stem":497},"Les systèmes de gestion de bases de données","\u002Fnsi-tale\u002Ftb-bases-de-donnees\u002Fsgbd","2.nsi-tale\u002Ftb-bases-de-donnees\u002F4.sgbd",{"title":499,"path":500,"stem":501,"children":502},"Architectures matérielles, systèmes d'exploitation et réseaux","\u002Fnsi-tale\u002Ftc-archi-os-reseaux","2.nsi-tale\u002Ftc-archi-os-reseaux\u002F0.index",[503,504,508,512,516,520,524,528,532],{"title":499,"path":500,"stem":501},{"title":505,"path":506,"stem":507},"Le système sur puce (SoC)","\u002Fnsi-tale\u002Ftc-archi-os-reseaux\u002Fsysteme-sur-puce","2.nsi-tale\u002Ftc-archi-os-reseaux\u002F1.systeme-sur-puce",{"title":509,"path":510,"stem":511},"Processus et ordonnancement par l'OS","\u002Fnsi-tale\u002Ftc-archi-os-reseaux\u002Fprocessus-os","2.nsi-tale\u002Ftc-archi-os-reseaux\u002F2.processus-os",{"title":513,"path":514,"stem":515},"L'interblocage (deadlock)","\u002Fnsi-tale\u002Ftc-archi-os-reseaux\u002Finterblocage","2.nsi-tale\u002Ftc-archi-os-reseaux\u002F3.interblocage",{"title":517,"path":518,"stem":519},"Principes du routage","\u002Fnsi-tale\u002Ftc-archi-os-reseaux\u002Froutage-principes","2.nsi-tale\u002Ftc-archi-os-reseaux\u002F4.routage-principes",{"title":521,"path":522,"stem":523},"Protocoles de routage RIP et OSPF","\u002Fnsi-tale\u002Ftc-archi-os-reseaux\u002Fprotocoles-rip-ospf","2.nsi-tale\u002Ftc-archi-os-reseaux\u002F5.protocoles-rip-ospf",{"title":525,"path":526,"stem":527},"Chiffrement symétrique","\u002Fnsi-tale\u002Ftc-archi-os-reseaux\u002Fchiffrement-symetrique","2.nsi-tale\u002Ftc-archi-os-reseaux\u002F6.chiffrement-symetrique",{"title":529,"path":530,"stem":531},"Chiffrement asymétrique","\u002Fnsi-tale\u002Ftc-archi-os-reseaux\u002Fchiffrement-asymetrique","2.nsi-tale\u002Ftc-archi-os-reseaux\u002F7.chiffrement-asymetrique",{"title":533,"path":534,"stem":535},"HTTPS — l'échange de clé symétrique","\u002Fnsi-tale\u002Ftc-archi-os-reseaux\u002Fhttps-tls","2.nsi-tale\u002Ftc-archi-os-reseaux\u002F8.https-tls",{"title":381,"path":537,"stem":538,"children":539},"\u002Fnsi-tale\u002Ftd-langages-prog","2.nsi-tale\u002Ftd-langages-prog\u002F0.index",[540,541,544,548,552,556],{"title":381,"path":537,"stem":538},{"title":403,"path":542,"stem":543},"\u002Fnsi-tale\u002Ftd-langages-prog\u002Fmise-au-point","2.nsi-tale\u002Ftd-langages-prog\u002F1.mise-au-point",{"title":545,"path":546,"stem":547},"Modularité","\u002Fnsi-tale\u002Ftd-langages-prog\u002Fmodularite","2.nsi-tale\u002Ftd-langages-prog\u002F2.modularite",{"title":549,"path":550,"stem":551},"Récursivité","\u002Fnsi-tale\u002Ftd-langages-prog\u002Frecursivite","2.nsi-tale\u002Ftd-langages-prog\u002F3.recursivite",{"title":553,"path":554,"stem":555},"Paradigmes de programmation","\u002Fnsi-tale\u002Ftd-langages-prog\u002Fparadigmes","2.nsi-tale\u002Ftd-langages-prog\u002F4.paradigmes",{"title":557,"path":558,"stem":559},"Programme comme donnée — calculabilité et indécidabilité","\u002Fnsi-tale\u002Ftd-langages-prog\u002Fprogramme-comme-donnee","2.nsi-tale\u002Ftd-langages-prog\u002F5.programme-comme-donnee",{"title":411,"path":561,"stem":562,"children":563},"\u002Fnsi-tale\u002Fte-algorithmique","2.nsi-tale\u002Fte-algorithmique\u002F0.index",[564,565,569,573,577,581],{"title":411,"path":561,"stem":562},{"title":566,"path":567,"stem":568},"Algorithmes sur les arbres binaires","\u002Fnsi-tale\u002Fte-algorithmique\u002Farbres-binaires-algos","2.nsi-tale\u002Fte-algorithmique\u002F1.arbres-binaires-algos",{"title":570,"path":571,"stem":572},"Parcours de graphes — DFS, BFS, cycles, chemins","\u002Fnsi-tale\u002Fte-algorithmique\u002Fgraphes-parcours","2.nsi-tale\u002Fte-algorithmique\u002F2.graphes-parcours",{"title":574,"path":575,"stem":576},"Diviser pour régner","\u002Fnsi-tale\u002Fte-algorithmique\u002Fdiviser-pour-regner","2.nsi-tale\u002Fte-algorithmique\u002F3.diviser-pour-regner",{"title":578,"path":579,"stem":580},"Programmation dynamique","\u002Fnsi-tale\u002Fte-algorithmique\u002Fprogrammation-dynamique","2.nsi-tale\u002Fte-algorithmique\u002F4.programmation-dynamique",{"title":582,"path":583,"stem":584},"Recherche textuelle — l'algorithme de Boyer-Moore","\u002Fnsi-tale\u002Fte-algorithmique\u002Frecherche-textuelle","2.nsi-tale\u002Fte-algorithmique\u002F5.recherche-textuelle",{"id":586,"title":373,"bo":587,"body":589,"description":1722,"eval":1723,"extension":1724,"labo":1723,"meta":1725,"navigation":846,"path":374,"quizzes":1726,"readingTime":641,"seo":1734,"stem":375,"tp":1723,"__hash__":1735},"cours\u002F1.nsi-1ere\u002Fpf-archi-os\u002F4.linux-shell.md",[588],"PF03",{"type":590,"value":591,"toc":1711},"minimark",[592,597,619,622,626,629,654,698,713,730,758,762,765,823,897,907,936,957,961,964,1016,1093,1121,1125,1177,1272,1276,1295,1312,1364,1408,1412,1433,1484,1495,1502,1534,1537,1571,1585,1611,1615,1618,1647,1670,1674,1707],[593,594,596],"h2",{"id":595},"introduction","Introduction",[598,599,600,601,605,606,609,610,614,615,618],"p",{},"Avant l'apparition des interfaces graphiques, on pilotait l'ordinateur en\n",[602,603,604],"strong",{},"tapant des commandes"," dans un terminal. Cette manière d'interagir n'a pas\ndisparu — au contraire, elle reste l'outil quotidien de toute personne qui\ndéveloppe, administre des serveurs ou automatise des tâches. Le programme qui\nlit vos commandes et les exécute s'appelle un ",[602,607,608],{},"shell"," (sous Linux, le plus\ncourant est ",[611,612,613],"code",{},"bash","). Ce cours vous donne les ",[602,616,617],{},"gestes essentiels"," pour\nnaviguer dans une arborescence, manipuler des fichiers et chaîner des outils.",[620,621],"bo-ref",{"code":588},[593,623,625],{"id":624},"anatomie-dune-commande","Anatomie d'une commande",[598,627,628],{},"Une commande se compose toujours des mêmes éléments.",[630,631,635],"pre",{"className":632,"code":633,"language":613,"meta":634,"style":634},"language-bash shiki shiki-themes github-light github-light github-dark","ls -l \u002Fhome\u002Falice\n","",[611,636,637],{"__ignoreMap":634},[638,639,642,646,650],"span",{"class":640,"line":641},"line",1,[638,643,645],{"class":644},"snPdu","ls",[638,647,649],{"class":648},"sBjJW"," -l",[638,651,653],{"class":652},"sIIMD"," \u002Fhome\u002Falice\n",[655,656,657,669,686],"ul",{},[658,659,660,664,665,668],"li",{},[602,661,662],{},[611,663,645],{}," : le ",[602,666,667],{},"nom"," du programme à exécuter (ici, lister les fichiers).",[658,670,671,676,677,680,681,685],{},[602,672,673],{},[611,674,675],{},"-l"," : une ",[602,678,679],{},"option"," (ou ",[682,683,684],"em",{},"flag","), qui modifie le comportement (ici,\nformat long avec détails).",[658,687,688,693,694,697],{},[602,689,690],{},[611,691,692],{},"\u002Fhome\u002Falice"," : l'",[602,695,696],{},"argument",", ce sur quoi la commande agit (ici, le\nrépertoire à lister).",[598,699,700,701,704,705,708,709,712],{},"Le shell affiche un ",[602,702,703],{},"prompt"," qui se termine généralement par ",[611,706,707],{},"$"," (utilisateur\nnormal) ou ",[611,710,711],{},"#"," (super-utilisateur). C'est l'invitation à taper votre commande.",[630,714,716],{"className":632,"code":715,"language":613,"meta":634,"style":634},"alice@nsi-rocks:~$ ls -l \u002Fhome\u002Falice\n",[611,717,718],{"__ignoreMap":634},[638,719,720,723,726,728],{"class":640,"line":641},[638,721,722],{"class":644},"alice@nsi-rocks:~$",[638,724,725],{"class":652}," ls",[638,727,649],{"class":648},[638,729,653],{"class":652},[731,732,733],"note",{},[598,734,735,738,739,741,742,745,746,749,750,753,754,757],{},[602,736,737],{},"Sensibilité à la casse"," : ",[611,740,645],{}," et ",[611,743,744],{},"LS"," sont ",[602,747,748],{},"deux commandes différentes","\npour le shell Unix. Idem pour les noms de fichiers : ",[611,751,752],{},"Notes.txt"," et\n",[611,755,756],{},"notes.txt"," peuvent coexister dans le même répertoire.",[593,759,761],{"id":760},"naviguer-dans-larborescence","Naviguer dans l'arborescence",[598,763,764],{},"Trois commandes suffisent pour vous orienter et vous déplacer.",[766,767,768,781],"table",{},[769,770,771],"thead",{},[772,773,774,778],"tr",{},[775,776,777],"th",{},"Commande",[775,779,780],{},"Rôle",[782,783,784,798,810],"tbody",{},[772,785,786,792],{},[787,788,789],"td",{},[611,790,791],{},"pwd",[787,793,794,797],{},[682,795,796],{},"Print working directory"," — afficher le répertoire courant.",[772,799,800,804],{},[787,801,802],{},[611,803,645],{},[787,805,806,809],{},[682,807,808],{},"List"," — lister le contenu du répertoire.",[772,811,812,817],{},[787,813,814],{},[611,815,816],{},"cd",[787,818,819,822],{},[682,820,821],{},"Change directory"," — changer de répertoire.",[630,824,826],{"className":632,"code":825,"language":613,"meta":634,"style":634},"$ pwd\n\u002Fhome\u002Falice\n\n$ ls\ndocuments  images  notes.txt\n\n$ cd documents\n$ pwd\n\u002Fhome\u002Falice\u002Fdocuments\n",[611,827,828,835,841,848,856,868,873,884,891],{"__ignoreMap":634},[638,829,830,832],{"class":640,"line":641},[638,831,707],{"class":644},[638,833,834],{"class":652}," pwd\n",[638,836,838],{"class":640,"line":837},2,[638,839,840],{"class":644},"\u002Fhome\u002Falice\n",[638,842,844],{"class":640,"line":843},3,[638,845,847],{"emptyLinePlaceholder":846},true,"\n",[638,849,851,853],{"class":640,"line":850},4,[638,852,707],{"class":644},[638,854,855],{"class":652}," ls\n",[638,857,859,862,865],{"class":640,"line":858},5,[638,860,861],{"class":644},"documents",[638,863,864],{"class":652},"  images",[638,866,867],{"class":652},"  notes.txt\n",[638,869,871],{"class":640,"line":870},6,[638,872,847],{"emptyLinePlaceholder":846},[638,874,876,878,881],{"class":640,"line":875},7,[638,877,707],{"class":644},[638,879,880],{"class":652}," cd",[638,882,883],{"class":652}," documents\n",[638,885,887,889],{"class":640,"line":886},8,[638,888,707],{"class":644},[638,890,834],{"class":652},[638,892,894],{"class":640,"line":893},9,[638,895,896],{"class":644},"\u002Fhome\u002Falice\u002Fdocuments\n",[598,898,899,900,903,904,906],{},"Quelques ",[602,901,902],{},"raccourcis"," essentiels pour ",[611,905,816],{}," :",[655,908,909,915,924,930],{},[658,910,911,914],{},[611,912,913],{},"cd .."," : remonter d'un cran dans l'arborescence.",[658,916,917,920,921,923],{},[611,918,919],{},"cd ~"," ou ",[611,922,816],{}," tout seul : retourner dans votre répertoire personnel.",[658,925,926,929],{},[611,927,928],{},"cd \u002F"," : aller à la racine.",[658,931,932,935],{},[611,933,934],{},"cd -"," : retourner au répertoire précédent.",[937,938,941,947],"self-eval-qcm",{"correct":939,"slug":940},"0","linux-shell-c1",[942,943,944],"template",{"v-slot:question":634},[598,945,946],{},"Quelle commande remonte d'un niveau dans l'arborescence ?",[942,948,949],{"v-slot:choices":634},[655,950,951,953,955],{},[658,952,913],{},[658,954,928],{},[658,956,919],{},[593,958,960],{"id":959},"manipuler-les-fichiers","Manipuler les fichiers",[598,962,963],{},"Quatre commandes couvrent l'essentiel des manipulations.",[766,965,966,974],{},[769,967,968],{},[772,969,970,972],{},[775,971,777],{},[775,973,780],{},[782,975,976,986,996,1006],{},[772,977,978,983],{},[787,979,980],{},[611,981,982],{},"cp source dest",[787,984,985],{},"Copier un fichier.",[772,987,988,993],{},[787,989,990],{},[611,991,992],{},"mv source dest",[787,994,995],{},"Déplacer ou renommer.",[772,997,998,1003],{},[787,999,1000],{},[611,1001,1002],{},"rm fichier",[787,1004,1005],{},"Supprimer.",[772,1007,1008,1013],{},[787,1009,1010],{},[611,1011,1012],{},"mkdir dossier",[787,1014,1015],{},"Créer un répertoire.",[630,1017,1019],{"className":632,"code":1018,"language":613,"meta":634,"style":634},"$ mkdir backup\n$ cp notes.txt backup\u002Fnotes.txt\n$ mv notes.txt notes-2026.txt\n$ ls\nbackup  documents  images  notes-2026.txt\n$ rm backup\u002Fnotes.txt\n$ rmdir backup\n",[611,1020,1021,1031,1044,1056,1062,1075,1084],{"__ignoreMap":634},[638,1022,1023,1025,1028],{"class":640,"line":641},[638,1024,707],{"class":644},[638,1026,1027],{"class":652}," mkdir",[638,1029,1030],{"class":652}," backup\n",[638,1032,1033,1035,1038,1041],{"class":640,"line":837},[638,1034,707],{"class":644},[638,1036,1037],{"class":652}," cp",[638,1039,1040],{"class":652}," notes.txt",[638,1042,1043],{"class":652}," backup\u002Fnotes.txt\n",[638,1045,1046,1048,1051,1053],{"class":640,"line":843},[638,1047,707],{"class":644},[638,1049,1050],{"class":652}," mv",[638,1052,1040],{"class":652},[638,1054,1055],{"class":652}," notes-2026.txt\n",[638,1057,1058,1060],{"class":640,"line":850},[638,1059,707],{"class":644},[638,1061,855],{"class":652},[638,1063,1064,1067,1070,1072],{"class":640,"line":858},[638,1065,1066],{"class":644},"backup",[638,1068,1069],{"class":652},"  documents",[638,1071,864],{"class":652},[638,1073,1074],{"class":652},"  notes-2026.txt\n",[638,1076,1077,1079,1082],{"class":640,"line":870},[638,1078,707],{"class":644},[638,1080,1081],{"class":652}," rm",[638,1083,1043],{"class":652},[638,1085,1086,1088,1091],{"class":640,"line":875},[638,1087,707],{"class":644},[638,1089,1090],{"class":652}," rmdir",[638,1092,1030],{"class":652},[1094,1095,1096],"warning",{},[598,1097,1098,1104,1105,1108,1109,1112,1113,1116,1117,1120],{},[602,1099,1100,1103],{},[611,1101,1102],{},"rm"," est définitif"," sous Linux. Il n'y a ",[602,1106,1107],{},"pas de corbeille"," en ligne de\ncommande — un fichier supprimé est perdu. Soyez ",[602,1110,1111],{},"particulièrement vigilant","\navec ",[611,1114,1115],{},"rm -r"," (récursif, qui supprime un dossier entier) et ",[611,1118,1119],{},"rm -rf \u002F"," (ne\ntapez jamais cette commande : elle tente de supprimer tout le système).",[593,1122,1124],{"id":1123},"lire-et-explorer-un-fichier","Lire et explorer un fichier",[766,1126,1127,1135],{},[769,1128,1129],{},[772,1130,1131,1133],{},[775,1132,777],{},[775,1134,780],{},[782,1136,1137,1147,1157,1167],{},[772,1138,1139,1144],{},[787,1140,1141],{},[611,1142,1143],{},"cat fichier",[787,1145,1146],{},"Afficher le contenu intégral.",[772,1148,1149,1154],{},[787,1150,1151],{},[611,1152,1153],{},"less fichier",[787,1155,1156],{},"Lire un fichier long page par page (q pour quitter).",[772,1158,1159,1164],{},[787,1160,1161],{},[611,1162,1163],{},"head -n 5 fichier",[787,1165,1166],{},"Afficher les 5 premières lignes.",[772,1168,1169,1174],{},[787,1170,1171],{},[611,1172,1173],{},"tail -n 5 fichier",[787,1175,1176],{},"Afficher les 5 dernières lignes.",[630,1178,1180],{"className":632,"code":1179,"language":613,"meta":634,"style":634},"$ cat notes-2026.txt\nLundi : cours de NSI\nMardi : devoir sur les graphes\nMercredi : projet de groupe\n\n$ head -n 1 notes-2026.txt\nLundi : cours de NSI\n",[611,1181,1182,1191,1207,1226,1241,1245,1260],{"__ignoreMap":634},[638,1183,1184,1186,1189],{"class":640,"line":641},[638,1185,707],{"class":644},[638,1187,1188],{"class":652}," cat",[638,1190,1055],{"class":652},[638,1192,1193,1196,1198,1201,1204],{"class":640,"line":837},[638,1194,1195],{"class":644},"Lundi",[638,1197,906],{"class":652},[638,1199,1200],{"class":652}," cours",[638,1202,1203],{"class":652}," de",[638,1205,1206],{"class":652}," NSI\n",[638,1208,1209,1212,1214,1217,1220,1223],{"class":640,"line":843},[638,1210,1211],{"class":644},"Mardi",[638,1213,906],{"class":652},[638,1215,1216],{"class":652}," devoir",[638,1218,1219],{"class":652}," sur",[638,1221,1222],{"class":652}," les",[638,1224,1225],{"class":652}," graphes\n",[638,1227,1228,1231,1233,1236,1238],{"class":640,"line":850},[638,1229,1230],{"class":644},"Mercredi",[638,1232,906],{"class":652},[638,1234,1235],{"class":652}," projet",[638,1237,1203],{"class":652},[638,1239,1240],{"class":652}," groupe\n",[638,1242,1243],{"class":640,"line":858},[638,1244,847],{"emptyLinePlaceholder":846},[638,1246,1247,1249,1252,1255,1258],{"class":640,"line":870},[638,1248,707],{"class":644},[638,1250,1251],{"class":652}," head",[638,1253,1254],{"class":648}," -n",[638,1256,1257],{"class":648}," 1",[638,1259,1055],{"class":652},[638,1261,1262,1264,1266,1268,1270],{"class":640,"line":875},[638,1263,1195],{"class":644},[638,1265,906],{"class":652},[638,1267,1200],{"class":652},[638,1269,1203],{"class":652},[638,1271,1206],{"class":652},[593,1273,1275],{"id":1274},"chemins-absolus-et-chemins-relatifs","Chemins absolus et chemins relatifs",[598,1277,1278,1279,1282,1283,1286,1287,1290,1291,1294],{},"Un chemin ",[602,1280,1281],{},"absolu"," commence par ",[611,1284,1285],{},"\u002F"," et décrit le chemin ",[602,1288,1289],{},"complet"," depuis\nla racine : ",[611,1292,1293],{},"\u002Fhome\u002Falice\u002Fdocuments\u002Fnotes.txt",".",[598,1296,1278,1297,1300,1301,1304,1305,1307,1308,1311],{},[602,1298,1299],{},"relatif"," part du répertoire ",[602,1302,1303],{},"courant"," : si vous êtes dans\n",[611,1306,692],{},", le chemin ",[611,1309,1310],{},"documents\u002Fnotes.txt"," désigne le même fichier.",[766,1313,1314,1324],{},[769,1315,1316],{},[772,1317,1318,1321],{},[775,1319,1320],{},"Notation",[775,1322,1323],{},"Sens",[782,1325,1326,1335,1345,1355],{},[772,1327,1328,1332],{},[787,1329,1330],{},[611,1331,1294],{},[787,1333,1334],{},"Le répertoire courant",[772,1336,1337,1342],{},[787,1338,1339],{},[611,1340,1341],{},"..",[787,1343,1344],{},"Le répertoire parent",[772,1346,1347,1352],{},[787,1348,1349],{},[611,1350,1351],{},"~",[787,1353,1354],{},"Votre répertoire personnel",[772,1356,1357,1361],{},[787,1358,1359],{},[611,1360,1285],{},[787,1362,1363],{},"La racine du système",[630,1365,1367],{"className":632,"code":1366,"language":613,"meta":634,"style":634},"$ pwd\n\u002Fhome\u002Falice\u002Fdocuments\n\n$ cd ..\u002Fimages        # équivaut à cd \u002Fhome\u002Falice\u002Fimages\n$ cd ~\u002Fdocuments      # équivaut à cd \u002Fhome\u002Falice\u002Fdocuments\n",[611,1368,1369,1375,1379,1383,1396],{"__ignoreMap":634},[638,1370,1371,1373],{"class":640,"line":641},[638,1372,707],{"class":644},[638,1374,834],{"class":652},[638,1376,1377],{"class":640,"line":837},[638,1378,896],{"class":644},[638,1380,1381],{"class":640,"line":843},[638,1382,847],{"emptyLinePlaceholder":846},[638,1384,1385,1387,1389,1392],{"class":640,"line":850},[638,1386,707],{"class":644},[638,1388,880],{"class":652},[638,1390,1391],{"class":652}," ..\u002Fimages",[638,1393,1395],{"class":1394},"sCsY4","        # équivaut à cd \u002Fhome\u002Falice\u002Fimages\n",[638,1397,1398,1400,1402,1405],{"class":640,"line":858},[638,1399,707],{"class":644},[638,1401,880],{"class":652},[638,1403,1404],{"class":652}," ~\u002Fdocuments",[638,1406,1407],{"class":1394},"      # équivaut à cd \u002Fhome\u002Falice\u002Fdocuments\n",[593,1409,1411],{"id":1410},"les-pipes-enchaîner-les-outils","Les pipes : enchaîner les outils",[598,1413,1414,1415,1418,1419,1422,1423,1426,1427,738,1430,1294],{},"La grande force du shell Unix est de ",[602,1416,1417],{},"chaîner"," plusieurs commandes en\nconnectant la ",[602,1420,1421],{},"sortie"," de l'une à l'",[602,1424,1425],{},"entrée"," de la suivante. Cet\nenchaînement utilise le caractère ",[602,1428,1429],{},"pipe",[611,1431,1432],{},"|",[630,1434,1436],{"className":632,"code":1435,"language":613,"meta":634,"style":634},"$ cat notes-2026.txt | head -n 2\nLundi : cours de NSI\nMardi : devoir sur les graphes\n",[611,1437,1438,1458,1470],{"__ignoreMap":634},[638,1439,1440,1442,1444,1447,1451,1453,1455],{"class":640,"line":641},[638,1441,707],{"class":644},[638,1443,1188],{"class":652},[638,1445,1446],{"class":652}," notes-2026.txt",[638,1448,1450],{"class":1449},"s8jYJ"," |",[638,1452,1251],{"class":644},[638,1454,1254],{"class":648},[638,1456,1457],{"class":648}," 2\n",[638,1459,1460,1462,1464,1466,1468],{"class":640,"line":837},[638,1461,1195],{"class":644},[638,1463,906],{"class":652},[638,1465,1200],{"class":652},[638,1467,1203],{"class":652},[638,1469,1206],{"class":652},[638,1471,1472,1474,1476,1478,1480,1482],{"class":640,"line":843},[638,1473,1211],{"class":644},[638,1475,906],{"class":652},[638,1477,1216],{"class":652},[638,1479,1219],{"class":652},[638,1481,1222],{"class":652},[638,1483,1225],{"class":652},[598,1485,1486,1487,1490,1491,1494],{},"La commande ",[611,1488,1489],{},"cat"," envoie tout le contenu du fichier sur sa sortie ; le pipe\nredirige cette sortie vers ",[611,1492,1493],{},"head",", qui n'en garde que les 2 premières lignes.",[598,1496,1497,1498,1501],{},"Un exemple plus parlant : compter combien de fichiers ",[611,1499,1500],{},".py"," sont présents\ndans le répertoire courant.",[630,1503,1505],{"className":632,"code":1504,"language":613,"meta":634,"style":634},"$ ls | grep \".py\" | wc -l\n12\n",[611,1506,1507,1529],{"__ignoreMap":634},[638,1508,1509,1511,1513,1515,1518,1521,1523,1526],{"class":640,"line":641},[638,1510,707],{"class":644},[638,1512,725],{"class":652},[638,1514,1450],{"class":1449},[638,1516,1517],{"class":644}," grep",[638,1519,1520],{"class":652}," \".py\"",[638,1522,1450],{"class":1449},[638,1524,1525],{"class":644}," wc",[638,1527,1528],{"class":648}," -l\n",[638,1530,1531],{"class":640,"line":837},[638,1532,1533],{"class":644},"12\n",[598,1535,1536],{},"Décomposition :",[1538,1539,1540,1545,1565],"ol",{},[658,1541,1542,1544],{},[611,1543,645],{}," liste tous les fichiers.",[658,1546,1547,1550,1551,1553,1554,920,1557,1560,1561,1564],{},[611,1548,1549],{},"grep \".py\""," ne garde que ceux qui contiennent ",[611,1552,1500],{}," (cela inclut donc\naussi ",[611,1555,1556],{},"script.py.bak",[611,1558,1559],{},".python-version"," — pour un filtre strict en fin\nde nom, on utiliserait plutôt ",[611,1562,1563],{},"grep \"\\.py$\"",").",[658,1566,1567,1570],{},[611,1568,1569],{},"wc -l"," compte le nombre de lignes restantes.",[1572,1573,1574],"tip",{},[598,1575,1576,1577,1580,1581,1584],{},"La philosophie Unix tient en une phrase de ",[602,1578,1579],{},"Doug McIlroy"," (1978) :\n« Écrire des programmes qui font une seule chose et qui la font bien. Écrire\ndes programmes pour qu'ils travaillent ensemble. » Chaque commande Unix est\nun outil ",[602,1582,1583],{},"spécialisé",", et les pipes en font une boîte à outils combinatoire\nsans limite.",[937,1586,1589,1598],{"correct":1587,"slug":1588},"1","linux-shell-c2",[942,1590,1591],{"v-slot:question":634},[598,1592,1593,1594,1597],{},"Que fait ",[611,1595,1596],{},"ls | wc -l"," ?",[942,1599,1600],{"v-slot:choices":634},[655,1601,1602,1605,1608],{},[658,1603,1604],{},"Liste les fichiers avec leur taille",[658,1606,1607],{},"Compte le nombre de fichiers dans le répertoire",[658,1609,1610],{},"Affiche les fichiers ligne par ligne",[593,1612,1614],{"id":1613},"aide-en-ligne","Aide en ligne",[598,1616,1617],{},"Quand vous oubliez la syntaxe d'une commande, deux réflexes.",[630,1619,1621],{"className":632,"code":1620,"language":613,"meta":634,"style":634},"$ man ls           # manuel complet (q pour quitter)\n$ ls --help        # aide rapide\n",[611,1622,1623,1635],{"__ignoreMap":634},[638,1624,1625,1627,1630,1632],{"class":640,"line":641},[638,1626,707],{"class":644},[638,1628,1629],{"class":652}," man",[638,1631,725],{"class":652},[638,1633,1634],{"class":1394},"           # manuel complet (q pour quitter)\n",[638,1636,1637,1639,1641,1644],{"class":640,"line":837},[638,1638,707],{"class":644},[638,1640,725],{"class":652},[638,1642,1643],{"class":648}," --help",[638,1645,1646],{"class":1394},"        # aide rapide\n",[598,1648,1649,1650,1653,1654,1657,1658,1661,1662,1669],{},"Le ",[602,1651,1652],{},"manuel"," (",[611,1655,1656],{},"man",") est exhaustif mais touffu ; ",[611,1659,1660],{},"--help"," donne l'essentiel\nen quelques lignes. Sur le web, le site ",[1663,1664,1668],"a",{"href":1665,"rel":1666},"https:\u002F\u002Fmanpages.org",[1667],"nofollow","manpages.org","\nexpose ces mêmes manuels dans le navigateur.",[593,1671,1673],{"id":1672},"pour-aller-plus-loin","Pour aller plus loin",[598,1675,1676,1677,1680,1681,1653,1684,1687,1688,1691,1692,1695,1696,1699,1700,741,1703,1706],{},"Le shell ne se limite pas à enchaîner des commandes — c'est aussi un véritable\n",[602,1678,1679],{},"langage de programmation",", avec des variables, des boucles, des\nconditions. Les ",[602,1682,1683],{},"scripts shell",[611,1685,1686],{},".sh",") permettent d'",[602,1689,1690],{},"automatiser"," des\ntâches répétitives : sauvegardes, déploiements, traitements de fichiers.\nVous croiserez aussi ",[611,1693,1694],{},"grep"," (rechercher du texte), ",[611,1697,1698],{},"find"," (chercher des\nfichiers), ",[611,1701,1702],{},"sed",[611,1704,1705],{},"awk"," (transformer du texte) — quatre outils\nincontournables qui méritent leur propre apprentissage.",[1708,1709,1710],"style",{},"html pre.shiki code .snPdu, html code.shiki .snPdu{--shiki-light:#6F42C1;--shiki-default:#6F42C1;--shiki-dark:#B392F0}html pre.shiki code .sBjJW, html code.shiki .sBjJW{--shiki-light:#005CC5;--shiki-default:#005CC5;--shiki-dark:#79B8FF}html pre.shiki code .sIIMD, html code.shiki .sIIMD{--shiki-light:#032F62;--shiki-default:#032F62;--shiki-dark:#9ECBFF}html .light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html.light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html.dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html pre.shiki code .sCsY4, html code.shiki .sCsY4{--shiki-light:#6A737D;--shiki-default:#6A737D;--shiki-dark:#6A737D}html pre.shiki code .s8jYJ, html code.shiki .s8jYJ{--shiki-light:#D73A49;--shiki-default:#D73A49;--shiki-dark:#F97583}",{"title":634,"searchDepth":837,"depth":837,"links":1712},[1713,1714,1715,1716,1717,1718,1719,1720,1721],{"id":595,"depth":837,"text":596},{"id":624,"depth":837,"text":625},{"id":760,"depth":837,"text":761},{"id":959,"depth":837,"text":960},{"id":1123,"depth":837,"text":1124},{"id":1274,"depth":837,"text":1275},{"id":1410,"depth":837,"text":1411},{"id":1613,"depth":837,"text":1614},{"id":1672,"depth":837,"text":1673},"Les commandes de base en ligne de commande Unix — naviguer, manipuler des fichiers, enchaîner des outils avec les pipes.",null,"md",{},[1727,1731],{"slug":940,"kind":1728,"question":946,"choices":1729,"correct":939,"multi":1730,"explanation":634},"qcm",[913,928,919],false,{"slug":1588,"kind":1728,"question":1732,"choices":1733,"correct":1587,"multi":1730,"explanation":634},"Que fait ls | wc -l ?",[1604,1607,1610],{"title":373,"description":1722},"_3QEmMFpOXjGWLhs74KbDwDtieia02iFu6RkPQo8uY4",{"id":1737,"title":1738,"bo":1739,"body":1740,"description":2082,"eval":1723,"extension":1724,"labo":1723,"meta":2083,"navigation":1730,"path":2084,"quizzes":2085,"readingTime":641,"seo":2086,"stem":2087,"tp":1723,"__hash__":2088},"coursMemo\u002F1.nsi-1ere\u002Fpf-archi-os\u002F4.linux-shell.memo.md","Linux et le shell — l'essentiel",[588],{"type":590,"value":1741,"toc":2074},[1742,1746,1763,1767,1809,1813,1928,1932,1980,1984,2035,2039,2071],[593,1743,1745],{"id":1744},"en-une-phrase","En une phrase",[598,1747,1649,1748,1653,1750,1752,1753,1756,1757,1760,1761,1294],{},[602,1749,608],{},[611,1751,613],{},") est un programme qui lit vos ",[602,1754,1755],{},"commandes"," et les\nexécute ; il permet de naviguer, manipuler les fichiers et ",[602,1758,1759],{},"chaîner des\noutils"," via les pipes. Voir ",[620,1762],{"code":588},[593,1764,1766],{"id":1765},"à-mémoriser","À mémoriser",[655,1768,1769,1785,1791,1800],{},[658,1770,1771,1772,1774,1775,1653,1778,1781,1782,1294],{},"Une commande = ",[602,1773,667],{}," + ",[602,1776,1777],{},"options",[611,1779,1780],{},"-flag",") + ",[602,1783,1784],{},"arguments",[658,1786,1787,1788,1294],{},"Le shell est ",[602,1789,1790],{},"sensible à la casse",[658,1792,1793,1795,1796,1799],{},[611,1794,1102],{}," est ",[602,1797,1798],{},"définitif",", pas de corbeille.",[658,1801,1802,1803,1805,1806,1808],{},"Un ",[602,1804,1429],{}," ",[611,1807,1432],{}," connecte la sortie d'une commande à l'entrée de la\nsuivante.",[593,1810,1812],{"id":1811},"commandes-essentielles","Commandes essentielles",[766,1814,1815,1823],{},[769,1816,1817],{},[772,1818,1819,1821],{},[775,1820,777],{},[775,1822,780],{},[782,1824,1825,1834,1843,1853,1862,1871,1880,1890,1900,1909,1918],{},[772,1826,1827,1831],{},[787,1828,1829],{},[611,1830,791],{},[787,1832,1833],{},"Afficher le répertoire courant",[772,1835,1836,1840],{},[787,1837,1838],{},[611,1839,645],{},[787,1841,1842],{},"Lister le contenu",[772,1844,1845,1850],{},[787,1846,1847],{},[611,1848,1849],{},"cd dossier",[787,1851,1852],{},"Changer de répertoire",[772,1854,1855,1859],{},[787,1856,1857],{},[611,1858,913],{},[787,1860,1861],{},"Remonter d'un cran",[772,1863,1864,1868],{},[787,1865,1866],{},[611,1867,919],{},[787,1869,1870],{},"Aller au répertoire personnel",[772,1872,1873,1877],{},[787,1874,1875],{},[611,1876,1012],{},[787,1878,1879],{},"Créer un répertoire",[772,1881,1882,1887],{},[787,1883,1884],{},[611,1885,1886],{},"cp src dst",[787,1888,1889],{},"Copier",[772,1891,1892,1897],{},[787,1893,1894],{},[611,1895,1896],{},"mv src dst",[787,1898,1899],{},"Déplacer \u002F renommer",[772,1901,1902,1906],{},[787,1903,1904],{},[611,1905,1002],{},[787,1907,1908],{},"Supprimer (définitif !)",[772,1910,1911,1915],{},[787,1912,1913],{},[611,1914,1143],{},[787,1916,1917],{},"Afficher le contenu",[772,1919,1920,1925],{},[787,1921,1922],{},[611,1923,1924],{},"man cmd",[787,1926,1927],{},"Manuel d'une commande",[593,1929,1931],{"id":1930},"chemins","Chemins",[766,1933,1934,1942],{},[769,1935,1936],{},[772,1937,1938,1940],{},[775,1939,1320],{},[775,1941,1323],{},[782,1943,1944,1953,1962,1971],{},[772,1945,1946,1950],{},[787,1947,1948],{},[611,1949,1285],{},[787,1951,1952],{},"Racine",[772,1954,1955,1959],{},[787,1956,1957],{},[611,1958,1294],{},[787,1960,1961],{},"Répertoire courant",[772,1963,1964,1968],{},[787,1965,1966],{},[611,1967,1341],{},[787,1969,1970],{},"Parent",[772,1972,1973,1977],{},[787,1974,1975],{},[611,1976,1351],{},[787,1978,1979],{},"Répertoire personnel",[593,1981,1983],{"id":1982},"exemples-de-pipes","Exemples de pipes",[630,1985,1987],{"className":632,"code":1986,"language":613,"meta":634,"style":634},"ls | wc -l                  # compter les fichiers\ncat log.txt | grep \"ERROR\"  # filtrer les lignes d'erreur\nls | head -n 5              # 5 premiers fichiers\n",[611,1988,1989,2002,2019],{"__ignoreMap":634},[638,1990,1991,1993,1995,1997,1999],{"class":640,"line":641},[638,1992,645],{"class":644},[638,1994,1450],{"class":1449},[638,1996,1525],{"class":644},[638,1998,649],{"class":648},[638,2000,2001],{"class":1394},"                  # compter les fichiers\n",[638,2003,2004,2006,2009,2011,2013,2016],{"class":640,"line":837},[638,2005,1489],{"class":644},[638,2007,2008],{"class":652}," log.txt",[638,2010,1450],{"class":1449},[638,2012,1517],{"class":644},[638,2014,2015],{"class":652}," \"ERROR\"",[638,2017,2018],{"class":1394},"  # filtrer les lignes d'erreur\n",[638,2020,2021,2023,2025,2027,2029,2032],{"class":640,"line":843},[638,2022,645],{"class":644},[638,2024,1450],{"class":1449},[638,2026,1251],{"class":644},[638,2028,1254],{"class":648},[638,2030,2031],{"class":648}," 5",[638,2033,2034],{"class":1394},"              # 5 premiers fichiers\n",[593,2036,2038],{"id":2037},"pièges-courants","Pièges courants",[655,2040,2041,2052,2065],{},[658,2042,2043,2044,2047,2048,2051],{},"Taper ",[611,2045,2046],{},"rm -rf"," sur un chemin ",[602,2049,2050],{},"non vérifié"," : conséquences irréversibles.",[658,2053,2054,2055,2057,2058,2061,2062,1294],{},"Oublier l'espace entre ",[611,2056,816],{}," et son argument : ",[611,2059,2060],{},"cd.."," est une ",[602,2063,2064],{},"erreur",[658,2066,2067,2068,1294],{},"Croire qu'un fichier supprimé en CLI va dans la corbeille — ",[602,2069,2070],{},"non",[1708,2072,2073],{},"html pre.shiki code .snPdu, html code.shiki .snPdu{--shiki-light:#6F42C1;--shiki-default:#6F42C1;--shiki-dark:#B392F0}html pre.shiki code .s8jYJ, html code.shiki .s8jYJ{--shiki-light:#D73A49;--shiki-default:#D73A49;--shiki-dark:#F97583}html pre.shiki code .sBjJW, html code.shiki .sBjJW{--shiki-light:#005CC5;--shiki-default:#005CC5;--shiki-dark:#79B8FF}html pre.shiki code .sCsY4, html code.shiki .sCsY4{--shiki-light:#6A737D;--shiki-default:#6A737D;--shiki-dark:#6A737D}html pre.shiki code .sIIMD, html code.shiki .sIIMD{--shiki-light:#032F62;--shiki-default:#032F62;--shiki-dark:#9ECBFF}html .light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html.light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html.dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}",{"title":634,"searchDepth":837,"depth":837,"links":2075},[2076,2077,2078,2079,2080,2081],{"id":1744,"depth":837,"text":1745},{"id":1765,"depth":837,"text":1766},{"id":1811,"depth":837,"text":1812},{"id":1930,"depth":837,"text":1931},{"id":1982,"depth":837,"text":1983},{"id":2037,"depth":837,"text":2038},"Mémo de révision des commandes Unix essentielles.",{},"\u002Fnsi-1ere\u002Fpf-archi-os\u002Flinux-shell.memo",[],{"title":1738,"description":2082},"1.nsi-1ere\u002Fpf-archi-os\u002F4.linux-shell.memo","kbt8A2KO34OpdJXkuMDeC-ytl3VwMDVyF8vrd_ZbLyI",{"id":2090,"title":2091,"body":2092,"description":2504,"extension":1724,"meta":2505,"navigation":1730,"path":2506,"seo":2507,"stem":2508,"__hash__":2509},"coursSlides\u002F1.nsi-1ere\u002Fpf-archi-os\u002F4.linux-shell.slides.md","Linux et le shell — diapositives",{"type":590,"value":2093,"toc":2502},[2094,2098,2101,2104,2106,2118,2141,2144,2146,2150,2189,2191,2195,2240,2242,2246,2297,2299,2303,2350,2352,2356,2377,2396,2402,2404,2408,2430,2437,2439,2445,2485,2488,2490,2494,2500],[2095,2096,373],"h1",{"id":2097},"linux-et-le-shell",[598,2099,2100],{},"L'outil quotidien de tout informaticien : un terminal et quelques commandes\nbien choisies.",[2102,2103],"hr",{},[2095,2105,625],{"id":624},[630,2107,2108],{"className":632,"code":633,"language":613,"meta":634,"style":634},[611,2109,2110],{"__ignoreMap":634},[638,2111,2112,2114,2116],{"class":640,"line":641},[638,2113,645],{"class":644},[638,2115,649],{"class":648},[638,2117,653],{"class":652},[655,2119,2120,2127,2134],{},[658,2121,2122,2126],{},[602,2123,2124],{},[611,2125,645],{}," : nom",[658,2128,2129,2133],{},[602,2130,2131],{},[611,2132,675],{}," : option",[658,2135,2136,2140],{},[602,2137,2138],{},[611,2139,692],{}," : argument",[598,2142,2143],{},"Sensible à la casse.",[2102,2145],{},[2095,2147,2149],{"id":2148},"se-repérer","Se repérer",[630,2151,2153],{"className":632,"code":2152,"language":613,"meta":634,"style":634},"pwd       # où suis-je ?\nls        # qu'y a-t-il ici ?\ncd ..     # remonter\ncd ~      # rentrer à la maison\n",[611,2154,2155,2162,2169,2179],{"__ignoreMap":634},[638,2156,2157,2159],{"class":640,"line":641},[638,2158,791],{"class":648},[638,2160,2161],{"class":1394},"       # où suis-je ?\n",[638,2163,2164,2166],{"class":640,"line":837},[638,2165,645],{"class":644},[638,2167,2168],{"class":1394},"        # qu'y a-t-il ici ?\n",[638,2170,2171,2173,2176],{"class":640,"line":843},[638,2172,816],{"class":648},[638,2174,2175],{"class":652}," ..",[638,2177,2178],{"class":1394},"     # remonter\n",[638,2180,2181,2183,2186],{"class":640,"line":850},[638,2182,816],{"class":648},[638,2184,2185],{"class":652}," ~",[638,2187,2188],{"class":1394},"      # rentrer à la maison\n",[2102,2190],{},[2095,2192,2194],{"id":2193},"manipuler","Manipuler",[630,2196,2198],{"className":632,"code":2197,"language":613,"meta":634,"style":634},"mkdir mon-dossier\ncp src.txt dst.txt\nmv ancien.txt nouveau.txt\nrm fichier.txt          # définitif !\n",[611,2199,2200,2208,2219,2230],{"__ignoreMap":634},[638,2201,2202,2205],{"class":640,"line":641},[638,2203,2204],{"class":644},"mkdir",[638,2206,2207],{"class":652}," mon-dossier\n",[638,2209,2210,2213,2216],{"class":640,"line":837},[638,2211,2212],{"class":644},"cp",[638,2214,2215],{"class":652}," src.txt",[638,2217,2218],{"class":652}," dst.txt\n",[638,2220,2221,2224,2227],{"class":640,"line":843},[638,2222,2223],{"class":644},"mv",[638,2225,2226],{"class":652}," ancien.txt",[638,2228,2229],{"class":652}," nouveau.txt\n",[638,2231,2232,2234,2237],{"class":640,"line":850},[638,2233,1102],{"class":644},[638,2235,2236],{"class":652}," fichier.txt",[638,2238,2239],{"class":1394},"          # définitif !\n",[2102,2241],{},[2095,2243,2245],{"id":2244},"lire-un-fichier","Lire un fichier",[630,2247,2249],{"className":632,"code":2248,"language":613,"meta":634,"style":634},"cat notes.txt           # tout\nhead -n 5 notes.txt     # 5 premières lignes\ntail -n 5 notes.txt     # 5 dernières lignes\nless notes.txt          # page par page\n",[611,2250,2251,2260,2273,2287],{"__ignoreMap":634},[638,2252,2253,2255,2257],{"class":640,"line":641},[638,2254,1489],{"class":644},[638,2256,1040],{"class":652},[638,2258,2259],{"class":1394},"           # tout\n",[638,2261,2262,2264,2266,2268,2270],{"class":640,"line":837},[638,2263,1493],{"class":644},[638,2265,1254],{"class":648},[638,2267,2031],{"class":648},[638,2269,1040],{"class":652},[638,2271,2272],{"class":1394},"     # 5 premières lignes\n",[638,2274,2275,2278,2280,2282,2284],{"class":640,"line":843},[638,2276,2277],{"class":644},"tail",[638,2279,1254],{"class":648},[638,2281,2031],{"class":648},[638,2283,1040],{"class":652},[638,2285,2286],{"class":1394},"     # 5 dernières lignes\n",[638,2288,2289,2292,2294],{"class":640,"line":850},[638,2290,2291],{"class":644},"less",[638,2293,1040],{"class":652},[638,2295,2296],{"class":1394},"          # page par page\n",[2102,2298],{},[2095,2300,2302],{"id":2301},"chemins-absolus-vs-relatifs","Chemins absolus vs relatifs",[766,2304,2305,2313],{},[769,2306,2307],{},[772,2308,2309,2311],{},[775,2310,1320],{},[775,2312,1323],{},[782,2314,2315,2324,2333,2341],{},[772,2316,2317,2321],{},[787,2318,2319],{},[611,2320,692],{},[787,2322,2323],{},"Absolu (depuis racine)",[772,2325,2326,2330],{},[787,2327,2328],{},[611,2329,1310],{},[787,2331,2332],{},"Relatif (depuis cwd)",[772,2334,2335,2339],{},[787,2336,2337],{},[611,2338,1341],{},[787,2340,1970],{},[772,2342,2343,2347],{},[787,2344,2345],{},[611,2346,1351],{},[787,2348,2349],{},"Home",[2102,2351],{},[2095,2353,2355],{"id":2354},"les-pipes-la-philosophie-unix","Les pipes — la philosophie Unix",[630,2357,2359],{"className":632,"code":2358,"language":613,"meta":634,"style":634},"ls | grep \".py\" | wc -l\n",[611,2360,2361],{"__ignoreMap":634},[638,2362,2363,2365,2367,2369,2371,2373,2375],{"class":640,"line":641},[638,2364,645],{"class":644},[638,2366,1450],{"class":1449},[638,2368,1517],{"class":644},[638,2370,1520],{"class":652},[638,2372,1450],{"class":1449},[638,2374,1525],{"class":644},[638,2376,1528],{"class":648},[1538,2378,2379,2384,2391],{},[658,2380,2381,2383],{},[611,2382,645],{}," liste tous les fichiers",[658,2385,2386,2388,2389],{},[611,2387,1549],{}," ne garde que les ",[611,2390,1500],{},[658,2392,2393,2395],{},[611,2394,1569],{}," compte les lignes",[2397,2398,2399],"blockquote",{},[598,2400,2401],{},"« Écrire des programmes qui font une seule chose et qui la font bien. » —\nDoug McIlroy, 1978",[2102,2403],{},[2095,2405,2407],{"id":2406},"en-cas-de-doute","En cas de doute",[630,2409,2411],{"className":632,"code":2410,"language":613,"meta":634,"style":634},"man ls           # manuel\nls --help        # aide rapide\n",[611,2412,2413,2422],{"__ignoreMap":634},[638,2414,2415,2417,2419],{"class":640,"line":641},[638,2416,1656],{"class":644},[638,2418,725],{"class":652},[638,2420,2421],{"class":1394},"           # manuel\n",[638,2423,2424,2426,2428],{"class":640,"line":837},[638,2425,645],{"class":644},[638,2427,1643],{"class":648},[638,2429,1646],{"class":1394},[598,2431,2432,2433,2436],{},"Ou ",[1663,2434,1668],{"href":1665,"rel":2435},[1667]," dans le navigateur.",[2102,2438],{},[2095,2440,2442,2443],{"id":2441},"attention-avec-rm","Attention avec ",[611,2444,1102],{},[630,2446,2448],{"className":632,"code":2447,"language":613,"meta":634,"style":634},"rm fichier.txt        # OK\nrm -r dossier         # supprime le dossier ENTIER\nrm -rf \u002F              # NE JAMAIS TAPER\n",[611,2449,2450,2459,2472],{"__ignoreMap":634},[638,2451,2452,2454,2456],{"class":640,"line":641},[638,2453,1102],{"class":644},[638,2455,2236],{"class":652},[638,2457,2458],{"class":1394},"        # OK\n",[638,2460,2461,2463,2466,2469],{"class":640,"line":837},[638,2462,1102],{"class":644},[638,2464,2465],{"class":648}," -r",[638,2467,2468],{"class":652}," dossier",[638,2470,2471],{"class":1394},"         # supprime le dossier ENTIER\n",[638,2473,2474,2476,2479,2482],{"class":640,"line":843},[638,2475,1102],{"class":644},[638,2477,2478],{"class":648}," -rf",[638,2480,2481],{"class":652}," \u002F",[638,2483,2484],{"class":1394},"              # NE JAMAIS TAPER\n",[598,2486,2487],{},"Pas de corbeille en ligne de commande.",[2102,2489],{},[2095,2491,2493],{"id":2492},"à-retenir","À retenir",[598,2495,1787,2496,2499],{},[602,2497,2498],{},"modeste"," mais puissant. Quelques commandes simples + les pipes\n= un atelier d'outils combinatoires sans limite.",[1708,2501,1710],{},{"title":634,"searchDepth":837,"depth":837,"links":2503},[],"Deck projetable pour pratiquer les commandes Unix.",{},"\u002Fnsi-1ere\u002Fpf-archi-os\u002Flinux-shell.slides",{"title":2091,"description":2504},"1.nsi-1ere\u002Fpf-archi-os\u002F4.linux-shell.slides","MtkJxRgwezzZN4Wi1NyczE3cFhzje5wug7Bpyx9s-gM",{"id":1737,"title":1738,"bo":2511,"body":2512,"description":2082,"eval":1723,"extension":1724,"labo":1723,"meta":2784,"navigation":1730,"path":2084,"quizzes":2785,"readingTime":641,"seo":2786,"stem":2087,"tp":1723,"__hash__":2088},[588],{"type":590,"value":2513,"toc":2776},[2514,2516,2528,2530,2558,2560,2660,2662,2706,2708,2752,2754,2774],[593,2515,1745],{"id":1744},[598,2517,1649,2518,1653,2520,1752,2522,1756,2524,1760,2526,1294],{},[602,2519,608],{},[611,2521,613],{},[602,2523,1755],{},[602,2525,1759],{},[620,2527],{"code":588},[593,2529,1766],{"id":1765},[655,2531,2532,2542,2546,2552],{},[658,2533,1771,2534,1774,2536,1653,2538,1781,2540,1294],{},[602,2535,667],{},[602,2537,1777],{},[611,2539,1780],{},[602,2541,1784],{},[658,2543,1787,2544,1294],{},[602,2545,1790],{},[658,2547,2548,1795,2550,1799],{},[611,2549,1102],{},[602,2551,1798],{},[658,2553,1802,2554,1805,2556,1808],{},[602,2555,1429],{},[611,2557,1432],{},[593,2559,1812],{"id":1811},[766,2561,2562,2570],{},[769,2563,2564],{},[772,2565,2566,2568],{},[775,2567,777],{},[775,2569,780],{},[782,2571,2572,2580,2588,2596,2604,2612,2620,2628,2636,2644,2652],{},[772,2573,2574,2578],{},[787,2575,2576],{},[611,2577,791],{},[787,2579,1833],{},[772,2581,2582,2586],{},[787,2583,2584],{},[611,2585,645],{},[787,2587,1842],{},[772,2589,2590,2594],{},[787,2591,2592],{},[611,2593,1849],{},[787,2595,1852],{},[772,2597,2598,2602],{},[787,2599,2600],{},[611,2601,913],{},[787,2603,1861],{},[772,2605,2606,2610],{},[787,2607,2608],{},[611,2609,919],{},[787,2611,1870],{},[772,2613,2614,2618],{},[787,2615,2616],{},[611,2617,1012],{},[787,2619,1879],{},[772,2621,2622,2626],{},[787,2623,2624],{},[611,2625,1886],{},[787,2627,1889],{},[772,2629,2630,2634],{},[787,2631,2632],{},[611,2633,1896],{},[787,2635,1899],{},[772,2637,2638,2642],{},[787,2639,2640],{},[611,2641,1002],{},[787,2643,1908],{},[772,2645,2646,2650],{},[787,2647,2648],{},[611,2649,1143],{},[787,2651,1917],{},[772,2653,2654,2658],{},[787,2655,2656],{},[611,2657,1924],{},[787,2659,1927],{},[593,2661,1931],{"id":1930},[766,2663,2664,2672],{},[769,2665,2666],{},[772,2667,2668,2670],{},[775,2669,1320],{},[775,2671,1323],{},[782,2673,2674,2682,2690,2698],{},[772,2675,2676,2680],{},[787,2677,2678],{},[611,2679,1285],{},[787,2681,1952],{},[772,2683,2684,2688],{},[787,2685,2686],{},[611,2687,1294],{},[787,2689,1961],{},[772,2691,2692,2696],{},[787,2693,2694],{},[611,2695,1341],{},[787,2697,1970],{},[772,2699,2700,2704],{},[787,2701,2702],{},[611,2703,1351],{},[787,2705,1979],{},[593,2707,1983],{"id":1982},[630,2709,2710],{"className":632,"code":1986,"language":613,"meta":634,"style":634},[611,2711,2712,2724,2738],{"__ignoreMap":634},[638,2713,2714,2716,2718,2720,2722],{"class":640,"line":641},[638,2715,645],{"class":644},[638,2717,1450],{"class":1449},[638,2719,1525],{"class":644},[638,2721,649],{"class":648},[638,2723,2001],{"class":1394},[638,2725,2726,2728,2730,2732,2734,2736],{"class":640,"line":837},[638,2727,1489],{"class":644},[638,2729,2008],{"class":652},[638,2731,1450],{"class":1449},[638,2733,1517],{"class":644},[638,2735,2015],{"class":652},[638,2737,2018],{"class":1394},[638,2739,2740,2742,2744,2746,2748,2750],{"class":640,"line":843},[638,2741,645],{"class":644},[638,2743,1450],{"class":1449},[638,2745,1251],{"class":644},[638,2747,1254],{"class":648},[638,2749,2031],{"class":648},[638,2751,2034],{"class":1394},[593,2753,2038],{"id":2037},[655,2755,2756,2762,2770],{},[658,2757,2043,2758,2047,2760,2051],{},[611,2759,2046],{},[602,2761,2050],{},[658,2763,2054,2764,2057,2766,2061,2768,1294],{},[611,2765,816],{},[611,2767,2060],{},[602,2769,2064],{},[658,2771,2067,2772,1294],{},[602,2773,2070],{},[1708,2775,2073],{},{"title":634,"searchDepth":837,"depth":837,"links":2777},[2778,2779,2780,2781,2782,2783],{"id":1744,"depth":837,"text":1745},{"id":1765,"depth":837,"text":1766},{"id":1811,"depth":837,"text":1812},{"id":1930,"depth":837,"text":1931},{"id":1982,"depth":837,"text":1983},{"id":2037,"depth":837,"text":2038},{},[],{"title":1738,"description":2082},{"id":2090,"title":2091,"body":2788,"description":2504,"extension":1724,"meta":3127,"navigation":1730,"path":2506,"seo":3128,"stem":2508,"__hash__":2509},{"type":590,"value":2789,"toc":3125},[2790,2792,2794,2796,2798,2810,2830,2832,2834,2836,2868,2870,2872,2906,2908,2910,2954,2956,2958,3002,3004,3006,3026,3042,3046,3048,3050,3070,3075,3077,3081,3113,3115,3117,3119,3123],[2095,2791,373],{"id":2097},[598,2793,2100],{},[2102,2795],{},[2095,2797,625],{"id":624},[630,2799,2800],{"className":632,"code":633,"language":613,"meta":634,"style":634},[611,2801,2802],{"__ignoreMap":634},[638,2803,2804,2806,2808],{"class":640,"line":641},[638,2805,645],{"class":644},[638,2807,649],{"class":648},[638,2809,653],{"class":652},[655,2811,2812,2818,2824],{},[658,2813,2814,2126],{},[602,2815,2816],{},[611,2817,645],{},[658,2819,2820,2133],{},[602,2821,2822],{},[611,2823,675],{},[658,2825,2826,2140],{},[602,2827,2828],{},[611,2829,692],{},[598,2831,2143],{},[2102,2833],{},[2095,2835,2149],{"id":2148},[630,2837,2838],{"className":632,"code":2152,"language":613,"meta":634,"style":634},[611,2839,2840,2846,2852,2860],{"__ignoreMap":634},[638,2841,2842,2844],{"class":640,"line":641},[638,2843,791],{"class":648},[638,2845,2161],{"class":1394},[638,2847,2848,2850],{"class":640,"line":837},[638,2849,645],{"class":644},[638,2851,2168],{"class":1394},[638,2853,2854,2856,2858],{"class":640,"line":843},[638,2855,816],{"class":648},[638,2857,2175],{"class":652},[638,2859,2178],{"class":1394},[638,2861,2862,2864,2866],{"class":640,"line":850},[638,2863,816],{"class":648},[638,2865,2185],{"class":652},[638,2867,2188],{"class":1394},[2102,2869],{},[2095,2871,2194],{"id":2193},[630,2873,2874],{"className":632,"code":2197,"language":613,"meta":634,"style":634},[611,2875,2876,2882,2890,2898],{"__ignoreMap":634},[638,2877,2878,2880],{"class":640,"line":641},[638,2879,2204],{"class":644},[638,2881,2207],{"class":652},[638,2883,2884,2886,2888],{"class":640,"line":837},[638,2885,2212],{"class":644},[638,2887,2215],{"class":652},[638,2889,2218],{"class":652},[638,2891,2892,2894,2896],{"class":640,"line":843},[638,2893,2223],{"class":644},[638,2895,2226],{"class":652},[638,2897,2229],{"class":652},[638,2899,2900,2902,2904],{"class":640,"line":850},[638,2901,1102],{"class":644},[638,2903,2236],{"class":652},[638,2905,2239],{"class":1394},[2102,2907],{},[2095,2909,2245],{"id":2244},[630,2911,2912],{"className":632,"code":2248,"language":613,"meta":634,"style":634},[611,2913,2914,2922,2934,2946],{"__ignoreMap":634},[638,2915,2916,2918,2920],{"class":640,"line":641},[638,2917,1489],{"class":644},[638,2919,1040],{"class":652},[638,2921,2259],{"class":1394},[638,2923,2924,2926,2928,2930,2932],{"class":640,"line":837},[638,2925,1493],{"class":644},[638,2927,1254],{"class":648},[638,2929,2031],{"class":648},[638,2931,1040],{"class":652},[638,2933,2272],{"class":1394},[638,2935,2936,2938,2940,2942,2944],{"class":640,"line":843},[638,2937,2277],{"class":644},[638,2939,1254],{"class":648},[638,2941,2031],{"class":648},[638,2943,1040],{"class":652},[638,2945,2286],{"class":1394},[638,2947,2948,2950,2952],{"class":640,"line":850},[638,2949,2291],{"class":644},[638,2951,1040],{"class":652},[638,2953,2296],{"class":1394},[2102,2955],{},[2095,2957,2302],{"id":2301},[766,2959,2960,2968],{},[769,2961,2962],{},[772,2963,2964,2966],{},[775,2965,1320],{},[775,2967,1323],{},[782,2969,2970,2978,2986,2994],{},[772,2971,2972,2976],{},[787,2973,2974],{},[611,2975,692],{},[787,2977,2323],{},[772,2979,2980,2984],{},[787,2981,2982],{},[611,2983,1310],{},[787,2985,2332],{},[772,2987,2988,2992],{},[787,2989,2990],{},[611,2991,1341],{},[787,2993,1970],{},[772,2995,2996,3000],{},[787,2997,2998],{},[611,2999,1351],{},[787,3001,2349],{},[2102,3003],{},[2095,3005,2355],{"id":2354},[630,3007,3008],{"className":632,"code":2358,"language":613,"meta":634,"style":634},[611,3009,3010],{"__ignoreMap":634},[638,3011,3012,3014,3016,3018,3020,3022,3024],{"class":640,"line":641},[638,3013,645],{"class":644},[638,3015,1450],{"class":1449},[638,3017,1517],{"class":644},[638,3019,1520],{"class":652},[638,3021,1450],{"class":1449},[638,3023,1525],{"class":644},[638,3025,1528],{"class":648},[1538,3027,3028,3032,3038],{},[658,3029,3030,2383],{},[611,3031,645],{},[658,3033,3034,2388,3036],{},[611,3035,1549],{},[611,3037,1500],{},[658,3039,3040,2395],{},[611,3041,1569],{},[2397,3043,3044],{},[598,3045,2401],{},[2102,3047],{},[2095,3049,2407],{"id":2406},[630,3051,3052],{"className":632,"code":2410,"language":613,"meta":634,"style":634},[611,3053,3054,3062],{"__ignoreMap":634},[638,3055,3056,3058,3060],{"class":640,"line":641},[638,3057,1656],{"class":644},[638,3059,725],{"class":652},[638,3061,2421],{"class":1394},[638,3063,3064,3066,3068],{"class":640,"line":837},[638,3065,645],{"class":644},[638,3067,1643],{"class":648},[638,3069,1646],{"class":1394},[598,3071,2432,3072,2436],{},[1663,3073,1668],{"href":1665,"rel":3074},[1667],[2102,3076],{},[2095,3078,2442,3079],{"id":2441},[611,3080,1102],{},[630,3082,3083],{"className":632,"code":2447,"language":613,"meta":634,"style":634},[611,3084,3085,3093,3103],{"__ignoreMap":634},[638,3086,3087,3089,3091],{"class":640,"line":641},[638,3088,1102],{"class":644},[638,3090,2236],{"class":652},[638,3092,2458],{"class":1394},[638,3094,3095,3097,3099,3101],{"class":640,"line":837},[638,3096,1102],{"class":644},[638,3098,2465],{"class":648},[638,3100,2468],{"class":652},[638,3102,2471],{"class":1394},[638,3104,3105,3107,3109,3111],{"class":640,"line":843},[638,3106,1102],{"class":644},[638,3108,2478],{"class":648},[638,3110,2481],{"class":652},[638,3112,2484],{"class":1394},[598,3114,2487],{},[2102,3116],{},[2095,3118,2493],{"id":2492},[598,3120,1787,3121,2499],{},[602,3122,2498],{},[1708,3124,1710],{},{"title":634,"searchDepth":837,"depth":837,"links":3126},[],{},{"title":2091,"description":2504},1788035580692]