bareme_06_2016.html 64 KB

  1. <!DOCTYPE html>
  2. <!-- saved from url=(0052) -->
  3. <html lang="en"><head><script type="text/javascript" src="/ynhpanel.js"></script><meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
  4. <meta content="IE=Edge,chrome=1" http-equiv="X-UA-Compatible">
  5. <meta content="width=device-width,height=device-height,user-scalable=no,initial-scale=1.0,maximum-scale=1.0,minimum-scale=1.0" name="viewport">
  6. <meta content="yes" name="mobile-web-app-capable">
  7. <meta content="yes" name="apple-mobile-web-app-capable">
  8. <meta content="translucent-black" name="apple-mobile-web-app-status-bar-style">
  9. <meta content="Intranet 42" name="apple-mobile-web-app-title">
  10. <meta content="on" http-equiv="cleartype">
  11. <link href="" rel="preconnect">
  12. <link href="" rel="icon" type="image/svg">
  13. <link href="" rel="shortcut icon" type="image/svg">
  14. <link href="" rel="search" title="project" type="application/opensearchdescription+xml">
  15. <!--[if lt IE 9]>
  16. <script src="//"></script>
  17. <![endif]-->
  18. <title>Projects - Intra</title>
  19. <meta name="csrf-param" content="authenticity_token">
  20. <meta name="csrf-token" content="9nFViTHp0G0KJ6YHvTl+pXtIoqyDBWPdIC2oX4wCtn9kT/5IQtGXH5E9Lq8S5UMFgc3I8mMNiCn5OysL4ShYuQ==">
  21. <link rel="stylesheet" media="all" href="./Projects - Intra_files/application-f80d66c93b9a4fcc2887aa7114ffcf5633bf3f085e37aa066788f15e8b35fbcd.css">
  22. <script async="" src="./Projects - Intra_files/analytics.js"></script><script>
  23. (function() {
  24. this._user = {
  25. "login": "pnoyelle",
  26. "id": 11402,
  27. "url": ""
  28. };
  29. this._consumer_address = 'wss://';
  30. }).call(this);
  31. </script>
  32. <script src="./Projects - Intra_files/application-611c38e4bf744c847241c0cb27b8d6407cbfae73558295622cf6672becaa670f.js"></script>
  33. </head><body class=" ">
  34. <div class="notifications-flash-top-bar">
  35. </div>
  36. <script>
  37. (function() {
  38. this._notifCount = 0;
  39. this._flashes = [];
  40. }).call(this);
  41. </script>
  42. <div class="notifications-container" data-flashes-url="" data-notifications-url="" style="top: 80px; left: 1850.14px;">
  43. <header class="notifications--header">
  44. <span>notifications</span>
  45. <a href="">See all notifications</a>
  46. </header>
  47. <ul class="menu-drop-list"></ul>
  48. </div>
  49. <div class="main-navbar">
  50. <div class="main-navbar-left">
  51. <div class="main-navbar-logo" data-turbolinks-scaffold="">
  52. <a href=""><img alt="42" src="./Projects - Intra_files/42_logo-7dfc9110a5319a308863b96bda33cea995046d1731cebb735e41b16255106c12.svg">
  53. </a></div>
  54. <span class="hidden-sidebars main-menu-trigger lines-button x" data-trigger-menu="">
  55. <span class="lines"></span>
  56. </span>
  57. <a class="search-mobile-button hidden-sidebars icon-search" href=""></a>
  58. <form action="" class="main-navbar-search hidden-xs js-search" data-forum-url="" data-project-url="" data-user-url="" method="get">
  59. <span class="twitter-typeahead" style="position: relative; display: inline-block;"><input autofocus="" class="search-input tt-input" name="query" placeholder="search..." autocomplete="off" spellcheck="false" dir="auto" style="position: relative; vertical-align: top;"><pre aria-hidden="true" style="position: absolute; visibility: hidden; white-space: pre; font-family: &quot;Noto Sans&quot;, sans-serif; font-size: 22.4px; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-weight: 400; word-spacing: 0px; letter-spacing: 0px; text-indent: 0px; text-rendering: auto; text-transform: none;"></pre><div class="tt-menu" style="position: absolute; top: 100%; left: 0px; z-index: 100; display: none;"><div class="tt-dataset tt-dataset-0"></div><div class="tt-dataset tt-dataset-1"></div><div class="tt-dataset tt-dataset-2"></div></div></span>
  60. </form>
  61. </div>
  62. <div class="main-navbar-user-nav" data-turbolinks-scaffold="">
  63. <div class="user-actions hidden-xs">
  64. <span class="dropdown" id="quest-menu">
  65. <a class="user-action labelable" data-toggle="dropdown" href="">
  66. <span class="icon-bookmark-3-1 user-action-icon labelable"></span>
  67. </a>
  68. <ul aria-labelledby="quest-menu" class="quest-container dropdown-menu dropdown-menu-right" role="menu">
  69. <p class="quest-legend">
  71. </p>
  72. <li class="quest-item">
  73. <h4 class="quest-header">Validation</h4>
  74. <p class="quest-description">Validate the first internship on the intranet.</p>
  75. </li>
  76. <li>
  77. <a href="">See all quests</a>
  78. </li>
  79. </ul>
  80. </span>
  81. </div>
  82. <div class="user-actions hidden-xs">
  83. <a class="user-action labelable" data-notification-drop="" href=""><span class="icon-newspaper-2 user-action-icon"></span>
  84. <span class="user-action-count labeled" data-counter-count="0">0</span>
  85. </a></div>
  86. <span class="dropdown">
  87. <a data-toggle="dropdown" href="">
  88. <span data-login="pnoyelle">
  89. pnoyelle
  90. </span>
  91. <div class="user-profile-picture visible-sidebars" style="background-image: url("></div>
  92. </a>
  93. <ul aria-labelledby="User menu" class="dropdown-menu" role="menu">
  94. <li>
  95. <a href=""><span class="iconf-calendar"></span>
  96. Manage slots
  97. </a></li>
  98. <li>
  99. <a href=""><span class="iconf-user"></span>
  100. View my profile
  101. </a></li>
  102. <li>
  103. <a href="">Settings
  104. </a></li>
  105. <li class="visible-xs">
  106. <a rel="nofollow" data-method="delete" href=""><span class="iconf-power-off"></span>
  107. Logout
  108. </a></li>
  109. </ul>
  110. </span>
  111. <!-- frshp notifications -->
  112. <!-- = link_to("#{Rails.application.config.module_url['profile']}/friends", :class => "user-action labelable") do -->
  113. <!-- %span.icon-user -->
  114. <!-- %span.labeled= current_user.invitations.count -->
  115. <div class="user-actions">
  116. <a class="user-action labelable" rel="nofollow" data-method="delete" href=""><span class="icon-power-off unlabeled"></span>
  117. </a></div>
  118. </div>
  119. </div>
  120. <div class="page">
  121. <div class="left-sidebar-fix with-main-menu"></div>
  122. <div class="page-sidebar left-main-container page-sidebar-fixed-left under-main-navbar"><ul class="main-left-navbar">
  123. <li>
  124. <a class="inactive" href=""><span class="icon-scale-1"></span>
  125. <span class="visible-overlay">
  126. Profile
  127. </span>
  128. </a></li>
  129. <li>
  130. <a class="active" href=""><span class="icon-network-2-1"></span>
  131. <span class="visible-overlay">
  132. Projets
  133. </span>
  134. </a></li>
  135. <li>
  136. <a class="inactive" href=""><span class="icon-movie-play-1"></span>
  137. <span class="visible-overlay">
  138. E-learning
  139. </span>
  140. </a></li>
  141. <li>
  142. <a class="inactive" href=""><span class="icon-bubble-conversation-5"></span>
  143. <span class="visible-overlay">
  144. Forum
  145. </span>
  146. </a></li>
  147. <li>
  148. <a class="inactive" href=""><span class="icon-compass-2"></span>
  149. <span class="visible-overlay">
  150. Meta
  151. </span>
  152. </a></li>
  153. <li>
  154. <a class="inactive" href=""><span class="icon-shopping-1"></span>
  155. <span class="visible-overlay">
  156. Shop
  157. </span>
  158. </a></li>
  159. </ul><div class="app-sidebar-left">
  160. <div class="marked-title inverse">Go to</div>
  161. <div class="projects-menu-list">
  162. <a class="project-item sidebar-item" href=""><span class="icon-briefcase project-status-icon"></span>
  163. My projects
  164. </a><a class="project-item sidebar-item" href=""><span class="iconf-location project-status-icon"></span>
  165. All projects
  166. </a><a class="project-item sidebar-item" href=""><span class="icon-list-1 project-status-icon"></span>
  167. List projects
  168. </a></div>
  169. <div class="marked-title inverse">Your projects</div>
  170. <div class="projects-menu-list">
  171. <a class="project-item sidebar-item" href="">21sh
  172. </a><a class="project-item sidebar-item" href="">First Internship
  173. </a><a class="project-item sidebar-item" href="">ft_hangouts
  174. </a><a class="project-item sidebar-item" href="">ft_traceroute
  175. </a><a class="project-item sidebar-item" href="">Libft
  176. </a></div>
  177. </div></div>
  178. <div class="page-content" data-turbolinks-scaffold="">
  179. <div class="row">
  180. <div class="main-top-menu">
  181. </div>
  182. <div class="container-item">
  183. <h1 class="main-title primary">
  184. Scale for project
  185. <a href="">21sh</a>
  186. <div class="marked-title">You should correct 1 student in this team</div>
  187. <!-- -------- La liste des personnes du groupe ------- -->
  188. <div class="team-users-list">
  189. <div class="team-user-item">
  190. <div class="square-s bg-image-item rounded" data-placement="bottom" data-toggle="tooltip" style="background-image: url(" title="" data-original-title="jcamhi"></div>
  191. <div class="team-user-item-actions">
  192. <div class="team-user-role rounded bprima"></div>
  193. <span class="iconf-star-1 leader-user" data-placement="bottom" data-toggle="tooltip" title="" data-original-title="Team leader"></span>
  194. </div>
  195. </div>
  196. </div>
  197. </h1><h4 class="marked-title">Git repository</h4>
  198. <div class="container-inner-item project-repo">
  199. <div class="input-group">
  200. <input class="form-control" data-git-url="" disabled="" type="text" value="">
  201. <span class="input-group-addon" data-copy="[data-git-url]">
  202. <span class="icon-paste"></span>
  203. </span>
  204. </div>
  205. </div>
  206. <div class="scale-introduction dancer from-down" id="introduction-569">
  207. <h3>Introduction</h3>
  208. <p>
  209. <br>Nous vous demandons pour le bon déroulement de cette évaluation de respecter les règles suivantes :
  210. <br>
  211. <br>- Restez courtois, polis, respectueux et constructifs en toutes situations lors de cet échange. Le lien de confiance entre la communauté 42 et vous en dépend.
  212. <br>
  213. <br>- Mettez en évidence auprès de la personne (ou du groupe) notée les dysfonctionnements éventuels du travail rendu, et prenez le temps d'en discuter et d'en débattre.
  214. <br>
  215. <br>- Acceptez qu'il puisse y avoir parfois des différences d’interprétation sur les demandes du sujet ou l’étendue des fonctionnalités. Restez ouvert d'esprit face à la vision de l'autre (a-t-il ou elle raison ou tort ?), et notez le plus honnêtement possible. La pédagogie de 42 n'a de sens que si la peer-évaluation est faite sérieusement.
  216. <br>
  217. </p>
  218. </div>
  219. <div class="scale-guidelines dancer from-down" id="guidelines-569">
  220. <h3>Guidelines</h3>
  221. <p>
  222. <br>- Vous ne devez évaluer que ce qui se trouve sur le depôt GiT de rendu de l'étudiant(e) ou du groupe.
  223. <br>
  224. <br>- Prenez soin de vérifier que le depôt GiT est bien celui correspondant a l'étudiant(e) ou au groupe, et au projet.
  225. <br>
  226. <br>- Verifiez méticuleusement qu'aucun alias malicieux n'a été utilisé pour vous induire en erreur et vous faire évaluer autre chose que
  227. <br> le contenu du dépot officiel.
  228. <br>
  229. <br>- Tout script sensé faciliter l'évaluation fourni par l'un des deux partis doit être rigoureusement vérifié par l'autre parti pour éviter des mauvaises surprises.
  230. <br>
  231. <br>- Si l'étudiant(e) correcteur/correctrice n'a pas encore fait ce projet, il est obligatoire pour cet(te) etudiant(e) de lire le sujet en entier avant de commencer cette soutenance.
  232. <br>
  233. <br>- Utilisez les flags disponibles sur ce barème pour signaler un rendu vide, non fonctionnel, une faute de norme, un cas de triche, etc. Dans ce cas, l'évaluation est terminée et la note finale est 0 (ou -42 dans le cas special de la triche). Toutefois, hors cas de triche, vous etes encouragés a continuer d'échanger autour du travail éffectué (ou non éffectué justement) pour identifier les problemes ayant entrainé cette situation et les éviter pour le prochain rendu.
  234. <br>
  235. </p>
  236. </div>
  237. </div>
  238. <div class="container-item dancer from-down" id="attachments-569">
  239. <h2>Attachments</h2>
  240. <div class="project-attachments-list">
  241. </div>
  242. <div class="project-attachments-list">
  243. <div class="project-attachment-item">
  244. <h4 class="attachment-name">
  245. <span class="icon-file"></span>
  246. <a target="_blank" href="">Subject</a>
  247. </h4>
  248. </div>
  249. </div>
  250. </div>
  251. <form novalidate="novalidate" class="simple_form form-horizontal edit_scale_team" id="edit_scale_team_437185" action="" accept-charset="UTF-8" method="post"><input name="utf8" type="hidden" value="✓"><input type="hidden" name="_method" value="patch"><input type="hidden" name="authenticity_token" value="9nFViTHp0G0KJ6YHvTl+pXtIoqyDBWPdIC2oX4wCtn9kT/5IQtGXH5E9Lq8S5UMFgc3I8mMNiCn5OysL4ShYuQ=="><div class="container-item scale-section-answers">
  252. <h2 class="main-title primary">Sections</h2>
  253. <div class="on-grey">
  254. <section class="scale-section-item dancer from-down" id="section-2107">
  255. <h3 class="main-title">Partie obligatoire</h3>
  256. <p>
  257. Rappel : si a un moment ou un autre, le programme ne réagit pas correctement (bus error, segfault, etc..), la soutenance est terminée et la note est 0. Pensez à utiliser les flags correspondants. Cette consigne est active d'un bout à l'autre de
  258. la soutenance.
  259. </p>
  260. <h4 class="scale-question-name">Fichier auteur</h4>
  261. <p class="scale-section-guidelines">
  262. Vérifiez que le fichier auteur est bien présent à la racine du dépot et formaté tel que demandé dans le sujet. Dans le cas contraire, la soutenance est terminée et la note est 0.
  263. </p>
  264. <div class="scale-question-answers">
  265. <div class="form-group hidden scale_team_answer_id"><div class="col-sm-10"><input name="[scale_team][answers_attributes][0][id]" class="hidden form-control" type="hidden" id="scale_team_answer_id"></div></div>
  266. <div class="form-group hidden scale_team_answer_question_id"><div class="col-sm-10"><input value="6286" name="[scale_team][answers_attributes][0][question_id]" class="hidden form-control" type="hidden" id="scale_team_answer_question_id"></div></div>
  267. <div class="btn-group block">
  268. <input autocomplete="off" class="checkbox-input" name="[scale_team][answers_attributes][0][value]" id="radio_[scale_team][answers_attributes][0]_true" type="radio" value="1">
  269. <label class="btn btn-success checkbox-label light-bg" for="radio_[scale_team][answers_attributes][0]_true">
  270. <span class="icon-check"></span>
  271. Yes
  272. </label>
  273. <input autocomplete="off" class="checkbox-input" name="[scale_team][answers_attributes][0][value]" id="radio_[scale_team][answers_attributes][0]_false" type="radio" value="0" checked="checked">
  274. <label class="btn btn-danger checkbox-label light-bg" for="radio_[scale_team][answers_attributes][0]_false">
  275. <span class="icon-times"></span>
  276. No
  277. </label>
  278. </div>
  279. </div>
  280. <h4 class="scale-question-name">Fuites mémoire</h4>
  281. <p class="scale-section-guidelines">
  282. <br>Pendant toute la durée de la soutenance, gardez un oeil sur la quantité de mémoire utilisée par le 21sh (à l'aide de top par exemple). Cette quantité doit rester à peu près fixe commande après commande. Dans le cas contraire il y a au moins une fuite mémoire, la note du projet est 0.
  283. <br>
  284. </p>
  285. <div class="scale-question-answers">
  286. <div class="form-group hidden scale_team_answer_id"><div class="col-sm-10"><input name="[scale_team][answers_attributes][1][id]" class="hidden form-control" type="hidden" id="scale_team_answer_id"></div></div>
  287. <div class="form-group hidden scale_team_answer_question_id"><div class="col-sm-10"><input value="6287" name="[scale_team][answers_attributes][1][question_id]" class="hidden form-control" type="hidden" id="scale_team_answer_question_id"></div></div>
  288. <div class="btn-group block">
  289. <input autocomplete="off" class="checkbox-input" name="[scale_team][answers_attributes][1][value]" id="radio_[scale_team][answers_attributes][1]_true" type="radio" value="1">
  290. <label class="btn btn-success checkbox-label light-bg" for="radio_[scale_team][answers_attributes][1]_true">
  291. <span class="icon-check"></span>
  292. Yes
  293. </label>
  294. <input autocomplete="off" class="checkbox-input" name="[scale_team][answers_attributes][1][value]" id="radio_[scale_team][answers_attributes][1]_false" type="radio" value="0" checked="checked">
  295. <label class="btn btn-danger checkbox-label light-bg" for="radio_[scale_team][answers_attributes][1]_false">
  296. <span class="icon-times"></span>
  297. No
  298. </label>
  299. </div>
  300. </div>
  301. <h4 class="scale-question-name">Fork et execve</h4>
  302. <p class="scale-section-guidelines">
  303. <br>Fork et execve sont au coeur de la base d'un shell minimaliste, tel que le 21sh. Si vous constatez que ces deux fonctions ne sont jamais appelées dans le code source du programme, c'est qu'il y a un problème de compréhension du sujet. La soutenance est terminé et la note est 0. En respectant la liste des fonctions autorisées, il n'y a pas d'autre solution.
  304. <br>
  305. <br>Effectuez les 4 tests suivants. Si l'un au moins de ces tests échoue, la soutenance est terminée et la note est 0.
  306. <br>
  307. <br> - Lancez le 21sh, puis lancez la commande "$&gt; foo". La commande doit échouer avec un message d'erreur adapté et rendre le prompt.
  308. <br>
  309. <br> - Lancez la commande "$&gt; /bin/ls". Le binaire ls doit s'exécuter correctement, puis le prompt doit réapparaitre.
  310. <br>
  311. <br> - Lancez la commande "$&gt; /bin/ls -laF". Le binaire doit 'exécuter correctement avec les options -l, -a et -F, puis le prompt doit réapparaitre,
  312. <br>
  313. <br> - Lancez la commande "$&gt; /bin/ls -l -a -F". Le binaire doit s'exécuter correctement avec les options -l, -a et -F, puis le prompt doit réapparaitre,
  314. <br>
  315. </p>
  316. <div class="scale-question-answers">
  317. <div class="form-group hidden scale_team_answer_id"><div class="col-sm-10"><input name="[scale_team][answers_attributes][2][id]" class="hidden form-control" type="hidden" id="scale_team_answer_id"></div></div>
  318. <div class="form-group hidden scale_team_answer_question_id"><div class="col-sm-10"><input value="6288" name="[scale_team][answers_attributes][2][question_id]" class="hidden form-control" type="hidden" id="scale_team_answer_question_id"></div></div>
  319. <div class="btn-group block">
  320. <input autocomplete="off" class="checkbox-input" name="[scale_team][answers_attributes][2][value]" id="radio_[scale_team][answers_attributes][2]_true" type="radio" value="1">
  321. <label class="btn btn-success checkbox-label light-bg" for="radio_[scale_team][answers_attributes][2]_true">
  322. <span class="icon-check"></span>
  323. Yes
  324. </label>
  325. <input autocomplete="off" class="checkbox-input" name="[scale_team][answers_attributes][2][value]" id="radio_[scale_team][answers_attributes][2]_false" type="radio" value="0" checked="checked">
  326. <label class="btn btn-danger checkbox-label light-bg" for="radio_[scale_team][answers_attributes][2]_false">
  327. <span class="icon-times"></span>
  328. No
  329. </label>
  330. </div>
  331. </div>
  332. <h4 class="scale-question-name">Les builtins</h4>
  333. <p class="scale-section-guidelines">
  334. <br>Nous allons évaluer dans cette section l'implémentation des builtins exit, echo et cd. Même prehistorique, un shell doit proposer certaines fonctionnalites. Effectuez les 8 tests suivants. Si l'un au moins de ces tests échoue, Dans le cas contraire, la soutenance est terminée et la note est 0.
  335. <br>
  336. <br> - Lancez le minishell, puis lancez la commande "$&gt; exit". Le programme doit se terminer proprement et rendre la main au shell parent. Relancez le 21sh.
  337. <br>
  338. <br> - Lancez une commande telle que "$&gt; echo "It works"". Le message doit s'afficher correctement.
  339. <br>
  340. <br> - Lancez une commande telle que "$&gt; echo It works" (sans les guillemets cette fois donc). Le message doit s'afficher correctement.
  341. <br>
  342. <br> - Lancez une commande telle que "$&gt; cd /absolute/path/of/your/choice", puis lancez la commande "$&gt; /bin/pwd". La commande /bin/pwd doit confirmer que le dossier courant a bien été changé.
  343. <br>
  344. <br> - Lancez une commande telle que "$&gt; cd relative/path/of/your/choice", puis lancez la commande "$&gt; /bin/pwd". La commande /bin/pwd doit confirmer que le dossier courant a bien été changé.
  345. <br>
  346. <br> - Lancez la commande "$&gt; cd", puis lancez la commande "$&gt; /bin/pwd". La commande /bin/pwd doit confirmer que le dossier courant est bien le home de l'utilisateur.
  347. <br>
  348. <br> - Lancez la commande "$&gt; cd -", puis lancez la commande "$&gt; /bin/pwd". La commande /bin/pwd doit confirmer que le dossier courant est bien le dossier relative/path/of/your/choice précédent.
  349. <br>
  350. <br> - Lancez la commande "$&gt; cd ~/path/of/your/choice", puis lancez la commande "$&gt; /bin/pwd". La commande /bin/pwd doit confirmer que le dossier courant a bien été changé.
  351. <br>
  352. </p>
  353. <div class="scale-question-answers">
  354. <div class="form-group hidden scale_team_answer_id"><div class="col-sm-10"><input name="[scale_team][answers_attributes][3][id]" class="hidden form-control" type="hidden" id="scale_team_answer_id"></div></div>
  355. <div class="form-group hidden scale_team_answer_question_id"><div class="col-sm-10"><input value="6289" name="[scale_team][answers_attributes][3][question_id]" class="hidden form-control" type="hidden" id="scale_team_answer_question_id"></div></div>
  356. <div class="btn-group block">
  357. <input autocomplete="off" class="checkbox-input" name="[scale_team][answers_attributes][3][value]" id="radio_[scale_team][answers_attributes][3]_true" type="radio" value="1">
  358. <label class="btn btn-success checkbox-label light-bg" for="radio_[scale_team][answers_attributes][3]_true">
  359. <span class="icon-check"></span>
  360. Yes
  361. </label>
  362. <input autocomplete="off" class="checkbox-input" name="[scale_team][answers_attributes][3][value]" id="radio_[scale_team][answers_attributes][3]_false" type="radio" value="0" checked="checked">
  363. <label class="btn btn-danger checkbox-label light-bg" for="radio_[scale_team][answers_attributes][3]_false">
  364. <span class="icon-times"></span>
  365. No
  366. </label>
  367. </div>
  368. </div>
  369. <h4 class="scale-question-name">Gestion de l environnement</h4>
  370. <p class="scale-section-guidelines">
  371. <br>Nous allons évaluer dans cette section l'implémentation des builtins env, setenv et unsetenv. Effectuez les 7 tests suivants. Si l'un au moins de ces tests échoue, Dans le cas contraire, la soutenance est terminée et la note est 0.
  372. <br>
  373. <br> - Lancez la commande "$&gt; env". Les variables d'environnements doivent s'afficher sous la forme clef=valeur.
  374. <br>
  375. <br> - Lancez une commande telle que "$&gt; setenv FOO bar" ou "$&gt; setenv FOO=bar" selon la syntaxe choisie pour setenv. Lancez ensuite la commande "$&gt; env". L'environnement doit afficher une variable FOO avec pour valeur bar.
  376. <br>
  377. <br> - Lancez la commande "$&gt; echo $FOO". Vous devez voir s'afficher la valeur bar.
  378. <br>
  379. <br> - Lancez la commande "$&gt; /usr/bin/env". Le minishell doit transmettre le bon environnement aux binaires qu'il lance. Le binaire /usr/bin/env doit donc afficher l'environnement incluant une variable FOO avec pour valeur bar en s'exécutant.
  380. <br>
  381. <br> - Lancez la commande "$&gt; unsetenv FOO". Lancez ensuite la commande "$&gt; env". L'environnement ne doit plus afficher une variable FOO avec pour valeur bar.
  382. <br>
  383. <br> - Lancez à nouveau la commande "$&gt; unsetenv FOO". Lancez ensuite à nouveau la commande "$&gt; env". L'environnement ne doit pas avoir été modifié.
  384. <br>
  385. <br> - Lancez à nouveau la commande "$&gt; /usr/bin/env". Le binaire /usr/bin/env doit ne doit plus afficher l'environnement incluant une variable FOO avec pour valeur bar en s'exécutant.
  386. <br>
  387. </p>
  388. <div class="scale-question-answers">
  389. <div class="form-group hidden scale_team_answer_id"><div class="col-sm-10"><input name="[scale_team][answers_attributes][4][id]" class="hidden form-control" type="hidden" id="scale_team_answer_id"></div></div>
  390. <div class="form-group hidden scale_team_answer_question_id"><div class="col-sm-10"><input value="6290" name="[scale_team][answers_attributes][4][question_id]" class="hidden form-control" type="hidden" id="scale_team_answer_question_id"></div></div>
  391. <div class="btn-group block">
  392. <input autocomplete="off" class="checkbox-input" name="[scale_team][answers_attributes][4][value]" id="radio_[scale_team][answers_attributes][4]_true" type="radio" value="1">
  393. <label class="btn btn-success checkbox-label light-bg" for="radio_[scale_team][answers_attributes][4]_true">
  394. <span class="icon-check"></span>
  395. Yes
  396. </label>
  397. <input autocomplete="off" class="checkbox-input" name="[scale_team][answers_attributes][4][value]" id="radio_[scale_team][answers_attributes][4]_false" type="radio" value="0" checked="checked">
  398. <label class="btn btn-danger checkbox-label light-bg" for="radio_[scale_team][answers_attributes][4]_false">
  399. <span class="icon-times"></span>
  400. No
  401. </label>
  402. </div>
  403. </div>
  404. <h4 class="scale-question-name">Gestion du PATH</h4>
  405. <p class="scale-section-guidelines">
  406. <br>Nous allons évaluer dans cette section la gestion de la variable d'environnement PATH par votre shell. Effectuez les 6 tests suivants. Si l'un au moins de ces tests échoue, Dans le cas contraire, la soutenance est terminée et la note est 0.
  407. <br>
  408. <br> - Lancez la commande "$&gt; unsetenv PATH", puis la commande "$&gt; setenv PATH "/bin:/usr/bin"" ou "$&gt; setenv "PATH=/bin:/usr/bin"" selon la syntaxe choisie. Lancez ensuite la commande "$&gt; ls". Le binaire /bin/ls doit s'exécuter correctement.
  409. <br>
  410. <br> - Lancez la commande "$&gt; emacs". Le binaire /usr/bin/emacs doit s'exécuter correctement.
  411. <br>
  412. <br> - Lancez la commande "$&gt; unsetenv PATH", puis lancez la commande "$&gt; ls". L'exécution doit échouer.
  413. <br>
  414. <br> - Lancez à présent la commande "$&gt; emacs". L'exécution doit échouer également.
  415. <br>
  416. <br> - Lancez la commande "$&gt; /bin/ls". Le binaire /bin/ls doit s'exécuter correctement.
  417. <br>
  418. <br> - Lancez la commande "$&gt; /usr/bin/emacs". Le binaire /usr/bin/emacs doit s'exécuter correctement.
  419. </p>
  420. <div class="scale-question-answers">
  421. <div class="form-group hidden scale_team_answer_id"><div class="col-sm-10"><input name="[scale_team][answers_attributes][5][id]" class="hidden form-control" type="hidden" id="scale_team_answer_id"></div></div>
  422. <div class="form-group hidden scale_team_answer_question_id"><div class="col-sm-10"><input value="6291" name="[scale_team][answers_attributes][5][question_id]" class="hidden form-control" type="hidden" id="scale_team_answer_question_id"></div></div>
  423. <div class="btn-group block">
  424. <input autocomplete="off" class="checkbox-input" name="[scale_team][answers_attributes][5][value]" id="radio_[scale_team][answers_attributes][5]_true" type="radio" value="1">
  425. <label class="btn btn-success checkbox-label light-bg" for="radio_[scale_team][answers_attributes][5]_true">
  426. <span class="icon-check"></span>
  427. Yes
  428. </label>
  429. <input autocomplete="off" class="checkbox-input" name="[scale_team][answers_attributes][5][value]" id="radio_[scale_team][answers_attributes][5]_false" type="radio" value="0" checked="checked">
  430. <label class="btn btn-danger checkbox-label light-bg" for="radio_[scale_team][answers_attributes][5]_false">
  431. <span class="icon-times"></span>
  432. No
  433. </label>
  434. </div>
  435. </div>
  436. <h4 class="scale-question-name">Gestion de la ligne de commande</h4>
  437. <p class="scale-section-guidelines">
  438. Nous allons évaluer dans cette section la gestion de la ligne de commande. Effectuez les 6 tests suivants. Si l'un au moins de ces tests échoue, Dans le cas contraire, la soutenance est terminée et la note est 0.
  439. <br>
  440. <br>- Lancez une commande vide "$&gt;". Le shell ne doit rien faire et réafficher le prompt.
  441. <br>
  442. <br>- Lancez une commande composée uniquement d'un seul espace "$&gt; ". Le shell ne doit rien faire et réafficher le prompt.
  443. <br>
  444. <br>- Lancez une commande composée uniquement d'espaces et de tabulations. Le shell ne doit rien faire et réafficher le prompt.
  445. <br>
  446. <br>- Lancez une commande avec plusieurs espaces et tabulations avant le nom du binaire, entre chaque argument passé au binaire, et après le dernier argument. Ces espaces et tabulations inutiles ne doivent pas perturber l'exécution de la commande.
  447. </p>
  448. <div class="scale-question-answers">
  449. <div class="form-group hidden scale_team_answer_id"><div class="col-sm-10"><input name="[scale_team][answers_attributes][6][id]" class="hidden form-control" type="hidden" id="scale_team_answer_id"></div></div>
  450. <div class="form-group hidden scale_team_answer_question_id"><div class="col-sm-10"><input value="6292" name="[scale_team][answers_attributes][6][question_id]" class="hidden form-control" type="hidden" id="scale_team_answer_question_id"></div></div>
  451. <div class="btn-group block">
  452. <input autocomplete="off" class="checkbox-input" name="[scale_team][answers_attributes][6][value]" id="radio_[scale_team][answers_attributes][6]_true" type="radio" value="1">
  453. <label class="btn btn-success checkbox-label light-bg" for="radio_[scale_team][answers_attributes][6]_true">
  454. <span class="icon-check"></span>
  455. Yes
  456. </label>
  457. <input autocomplete="off" class="checkbox-input" name="[scale_team][answers_attributes][6][value]" id="radio_[scale_team][answers_attributes][6]_false" type="radio" value="0" checked="checked">
  458. <label class="btn btn-danger checkbox-label light-bg" for="radio_[scale_team][answers_attributes][6]_false">
  459. <span class="icon-times"></span>
  460. No
  461. </label>
  462. </div>
  463. </div>
  464. <h4 class="scale-question-name">Signal</h4>
  465. <p class="scale-section-guidelines">
  466. Nous allons évaluer dans cette section la gestion des signaux, et en particulier de ctrl-c. Effectuez les 3 tests suivants. Si l'un au moins de ces tests échoue, cette section du barème est échouée et aucun point n'est gagné, passez à la suivante.
  467. <br>
  468. <br> - Au lieu de taper une commande à l'invite du minishell, appuyez sur ctrl-c. Le minishell doit réafficher le prompt.
  469. <br>
  470. <br> - Tapez une commande quelconque et au lieu de la valider avec la touche entrée, appuyez sur ctrl-c. Le minishell doit réafficher le prompt sans réafficher la commande incomplète.
  471. <br>
  472. <br> - Lancez la commande "$&gt;cat", puis pendant que cat attend de lire sur l'entrée standard, appuyez sur ctrl-c. Le minishell doit tuer le processus de cat, puis réafficher le prompt.
  473. </p>
  474. <div class="scale-question-answers">
  475. <div class="form-group hidden scale_team_answer_id"><div class="col-sm-10"><input name="[scale_team][answers_attributes][7][id]" class="hidden form-control" type="hidden" id="scale_team_answer_id"></div></div>
  476. <div class="form-group hidden scale_team_answer_question_id"><div class="col-sm-10"><input value="6293" name="[scale_team][answers_attributes][7][question_id]" class="hidden form-control" type="hidden" id="scale_team_answer_question_id"></div></div>
  477. <div class="btn-group block">
  478. <input autocomplete="off" class="checkbox-input" name="[scale_team][answers_attributes][7][value]" id="radio_[scale_team][answers_attributes][7]_true" type="radio" value="1">
  479. <label class="btn btn-success checkbox-label light-bg" for="radio_[scale_team][answers_attributes][7]_true">
  480. <span class="icon-check"></span>
  481. Yes
  482. </label>
  483. <input autocomplete="off" class="checkbox-input" name="[scale_team][answers_attributes][7][value]" id="radio_[scale_team][answers_attributes][7]_false" type="radio" value="0" checked="checked">
  484. <label class="btn btn-danger checkbox-label light-bg" for="radio_[scale_team][answers_attributes][7]_false">
  485. <span class="icon-times"></span>
  486. No
  487. </label>
  488. </div>
  489. </div>
  490. <h4 class="scale-question-name">Pipes</h4>
  491. <p class="scale-section-guidelines">
  492. Nous allons évaluer dans cette section la gestion des pipes. Effectuez les 3 tests suivants. Si l'un au moins de ces tests échoue, cette section du barème est échouée et aucun point n'est gagné, passez à la suivante.
  493. <br>
  494. <br> - Lancez la commande "$&gt; ls | cat -e". Le résulat de cette commande doit être le contenu du dossier dont chaque ligne se termine par le caractère '$'.
  495. <br>
  496. <br> - Lancez la commande "$&gt; ls -r | sort | cat -e". Le résulat de cette commande doit être le contenu du dossier, trié, dont chaque ligne se termine par le caractère '$'.
  497. <br>
  498. <br> - Lancez la commande "$&gt; base64 /dev/urandom | head -c 1000 | grep 42 | wc -l | sed -e 's/1/Yes/g' -e 's/0/No/g'". La commande doit afficher "Yes" si la chaine "42" a été détéctée dans les caractères randoms, ou "No" sinon.
  499. </p>
  500. <div class="scale-question-answers">
  501. <div class="form-group hidden scale_team_answer_id"><div class="col-sm-10"><input name="[scale_team][answers_attributes][8][id]" class="hidden form-control" type="hidden" id="scale_team_answer_id"></div></div>
  502. <div class="form-group hidden scale_team_answer_question_id"><div class="col-sm-10"><input value="6294" name="[scale_team][answers_attributes][8][question_id]" class="hidden form-control" type="hidden" id="scale_team_answer_question_id"></div></div>
  503. <div class="btn-group block">
  504. <input autocomplete="off" class="checkbox-input" name="[scale_team][answers_attributes][8][value]" id="radio_[scale_team][answers_attributes][8]_true" type="radio" value="1">
  505. <label class="btn btn-success checkbox-label light-bg" for="radio_[scale_team][answers_attributes][8]_true">
  506. <span class="icon-check"></span>
  507. Yes
  508. </label>
  509. <input autocomplete="off" class="checkbox-input" name="[scale_team][answers_attributes][8][value]" id="radio_[scale_team][answers_attributes][8]_false" type="radio" value="0" checked="checked">
  510. <label class="btn btn-danger checkbox-label light-bg" for="radio_[scale_team][answers_attributes][8]_false">
  511. <span class="icon-times"></span>
  512. No
  513. </label>
  514. </div>
  515. </div>
  516. <h4 class="scale-question-name">Redirections</h4>
  517. <p class="scale-section-guidelines">
  518. <br>Nous allons évaluer dans cette section la gestion des redirections. Effectuez les 5 tests suivants. Si l'un au moins de ces tests échoue, cette section du barème est échouée et aucun point n'est gagné, passez à la suivante.
  519. <br>
  520. <br> - Lancez la commande "$&gt; echo "Testing redirections," &gt; /tmp/test.txt" et vérifiez que le fichier /tmp/test.txt contient bien la chaine "Testing redirections".
  521. <br>
  522. <br> - Lancez la commande "$&gt; echo "with multiple lines" &gt;&gt; /tmp/test.txt" et vérifiez que le fichier /tmp/test.txt contient bien les chaines "Testing redirections," et "with multiple lines" sur deux lignes.
  523. <br>
  524. <br> - Lancez la commande "$&gt; wc -c &lt; /tmp/test.txt" et vérifiez que la valeur affichée est bien 42.
  525. <br>
  526. <br> - Lancez la commande "$&gt; cat -e &lt;&lt; EOF", puis entrez le texte suivant sans les triples guillemets mais en respectant les sauts de lignes :
  527. <br>Roses are red
  528. <br>Violets are blue
  529. <br>All my base are belong to you
  530. <br>And so are you
  531. <br>
  532. <br> Appuyez ensuite sur ctrl+d pour terminer votre entrée. La sortie de la commande doit être exactement :
  533. <br>
  534. <br>Roses are red$
  535. <br>Violets are blue$
  536. <br>All my base are belong to you$
  537. <br>And so are you$
  538. <br>
  539. <br> - Lancez la commande "$&gt; cat -e &lt;&lt; EOF &gt;&gt; /tmp/test.txt" puis entrez à nouveau le poème du test précédent. Vérifiez que le fichier /tmp/test.txt contient bien 6 lignes :
  540. <br>
  541. <br>Testing redirections,
  542. <br>with multiple lines
  543. <br>Roses are red$
  544. <br>Violets are blue$
  545. <br>All my base are belong to you$
  546. <br>And so are you$
  547. <br>
  548. <br>
  549. </p>
  550. <div class="scale-question-answers">
  551. <div class="form-group hidden scale_team_answer_id"><div class="col-sm-10"><input name="[scale_team][answers_attributes][9][id]" class="hidden form-control" type="hidden" id="scale_team_answer_id"></div></div>
  552. <div class="form-group hidden scale_team_answer_question_id"><div class="col-sm-10"><input value="6295" name="[scale_team][answers_attributes][9][question_id]" class="hidden form-control" type="hidden" id="scale_team_answer_question_id"></div></div>
  553. <div class="btn-group block">
  554. <input autocomplete="off" class="checkbox-input" name="[scale_team][answers_attributes][9][value]" id="radio_[scale_team][answers_attributes][9]_true" type="radio" value="1">
  555. <label class="btn btn-success checkbox-label light-bg" for="radio_[scale_team][answers_attributes][9]_true">
  556. <span class="icon-check"></span>
  557. Yes
  558. </label>
  559. <input autocomplete="off" class="checkbox-input" name="[scale_team][answers_attributes][9][value]" id="radio_[scale_team][answers_attributes][9]_false" type="radio" value="0" checked="checked">
  560. <label class="btn btn-danger checkbox-label light-bg" for="radio_[scale_team][answers_attributes][9]_false">
  561. <span class="icon-times"></span>
  562. No
  563. </label>
  564. </div>
  565. </div>
  566. <h4 class="scale-question-name">Plusieurs commandes de suite</h4>
  567. <p class="scale-section-guidelines">
  568. Nous allons évaluer dans cette section la gestion de plusieurs commandes d'affilé avec le séparateur ';'.
  569. <br>Effectuez le test suivant. Si l'un au moins de ces tests échoue, cette section du barème est échouée et aucun point n'est gagné, passez à la suivante.
  570. <br>
  571. <br> - Lancez la commande "$&gt; ls -1; touch newfile; ls -1". Les deux ls doivent être exécutés et la seule différence entre les deux doit être le fichier "newfile".
  572. </p>
  573. <div class="scale-question-answers">
  574. <div class="form-group hidden scale_team_answer_id"><div class="col-sm-10"><input name="[scale_team][answers_attributes][10][id]" class="hidden form-control" type="hidden" id="scale_team_answer_id"></div></div>
  575. <div class="form-group hidden scale_team_answer_question_id"><div class="col-sm-10"><input value="6296" name="[scale_team][answers_attributes][10][question_id]" class="hidden form-control" type="hidden" id="scale_team_answer_question_id"></div></div>
  576. <div class="btn-group block">
  577. <input autocomplete="off" class="checkbox-input" name="[scale_team][answers_attributes][10][value]" id="radio_[scale_team][answers_attributes][10]_true" type="radio" value="1">
  578. <label class="btn btn-success checkbox-label light-bg" for="radio_[scale_team][answers_attributes][10]_true">
  579. <span class="icon-check"></span>
  580. Yes
  581. </label>
  582. <input autocomplete="off" class="checkbox-input" name="[scale_team][answers_attributes][10][value]" id="radio_[scale_team][answers_attributes][10]_false" type="radio" value="0" checked="checked">
  583. <label class="btn btn-danger checkbox-label light-bg" for="radio_[scale_team][answers_attributes][10]_false">
  584. <span class="icon-times"></span>
  585. No
  586. </label>
  587. </div>
  588. </div>
  589. <h4 class="scale-question-name">Un peu de tout</h4>
  590. <p class="scale-section-guidelines">
  591. Nous allons évaluer dans cette section l'utilisation de pipes, de redirections et de ';' tous ensembles. Effectuez les 2 tests suivants. Si l'un au moins de ces tests échoue, cette section du barème est échouée et aucun point n'est gagné, passez à la suivante.
  592. <br>
  593. <br> - Lancez la commande "$&gt; mkdir test ; cd test ; ls -a ; ls | cat | wc -c &gt; fifi ; cat fifi"
  594. <br> La sortie doit être :
  595. <br></p><pre><br> . ..
  596. <br> 5
  597. <br></pre>
  598. <br>
  599. <br> - Lancez la commande "$&gt; cd /tmp; sort &lt;&lt; EOF | cat -e &gt; sorted_poem ; sed -e 's/Roses/Turnips/' &lt; sorted_poem &gt; better_poem; cd -; echo "I prefer turnips anyway" &gt;&gt; /tmp/better_poem; cat /tmp/better_poem" et entrez le poème suivant à l'invite du heredoc (sans les triple guillemets) :
  600. <br>
  601. <br>Roses are red
  602. <br>Violets are blue
  603. <br>All my base are belong to you
  604. <br>I love you
  605. <br>
  606. <br> La sortie doit être (toujours sans les triples guillemets) :
  607. <br>
  608. <br>All my bases are belong to you$
  609. <br>I love you$
  610. <br>Turnips are red$
  611. <br>Violets are blue$
  612. <br>I prefer turnips anyway
  613. <br>
  614. <br>
  615. <p></p>
  616. <div class="scale-question-answers">
  617. <div class="form-group hidden scale_team_answer_id"><div class="col-sm-10"><input name="[scale_team][answers_attributes][11][id]" class="hidden form-control" type="hidden" id="scale_team_answer_id"></div></div>
  618. <div class="form-group hidden scale_team_answer_question_id"><div class="col-sm-10"><input value="6297" name="[scale_team][answers_attributes][11][question_id]" class="hidden form-control" type="hidden" id="scale_team_answer_question_id"></div></div>
  619. <div class="btn-group block">
  620. <input autocomplete="off" class="checkbox-input" name="[scale_team][answers_attributes][11][value]" id="radio_[scale_team][answers_attributes][11]_true" type="radio" value="1">
  621. <label class="btn btn-success checkbox-label light-bg" for="radio_[scale_team][answers_attributes][11]_true">
  622. <span class="icon-check"></span>
  623. Yes
  624. </label>
  625. <input autocomplete="off" class="checkbox-input" name="[scale_team][answers_attributes][11][value]" id="radio_[scale_team][answers_attributes][11]_false" type="radio" value="0" checked="checked">
  626. <label class="btn btn-danger checkbox-label light-bg" for="radio_[scale_team][answers_attributes][11]_false">
  627. <span class="icon-times"></span>
  628. No
  629. </label>
  630. </div>
  631. </div>
  632. <h4 class="scale-question-name">Aggrégation des descripteurs de fichiers</h4>
  633. <p class="scale-section-guidelines">
  634. <br>Nous allons évaluer dans cette section l'aggrégation des descripteurs de fichiers. Effectuez les 3 tests suivants. Si l'un au moins de ces tests échoue, cette section du barème est échouée et aucun point n'est gagné, passez à la suivante.
  635. <br>
  636. <br> - Lancez la commande "$&gt; rm nosuchfile 2&gt;&amp;-" en vous assurant au préalable qu'il n'existe pas de fichier nommé 'nosuchfile' dans le répertoire courant. Le message d'erreur attendu ne doit pas s'afficher.
  637. <br>
  638. <br> - Lancez la commande "$&gt; rm nosuchfile 2&gt;&amp;1 | cat -e" en vous assurant au préalable qu'il n'existe pas de fichier nommé 'nosuchfile' dans le répertoire courant. La sortie doit être : "rm: nosuchfile: No such file or directory$"
  639. <br>
  640. <br> - Lancez la commande "echo "No dollar character" 1&gt;&amp;2 | cat -e". La sortie doit être "No dollar character".
  641. <br>
  642. </p>
  643. <div class="scale-question-answers">
  644. <div class="form-group hidden scale_team_answer_id"><div class="col-sm-10"><input name="[scale_team][answers_attributes][12][id]" class="hidden form-control" type="hidden" id="scale_team_answer_id"></div></div>
  645. <div class="form-group hidden scale_team_answer_question_id"><div class="col-sm-10"><input value="6298" name="[scale_team][answers_attributes][12][question_id]" class="hidden form-control" type="hidden" id="scale_team_answer_question_id"></div></div>
  646. <div class="btn-group block">
  647. <input autocomplete="off" class="checkbox-input" name="[scale_team][answers_attributes][12][value]" id="radio_[scale_team][answers_attributes][12]_true" type="radio" value="1">
  648. <label class="btn btn-success checkbox-label light-bg" for="radio_[scale_team][answers_attributes][12]_true">
  649. <span class="icon-check"></span>
  650. Yes
  651. </label>
  652. <input autocomplete="off" class="checkbox-input" name="[scale_team][answers_attributes][12][value]" id="radio_[scale_team][answers_attributes][12]_false" type="radio" value="0" checked="checked">
  653. <label class="btn btn-danger checkbox-label light-bg" for="radio_[scale_team][answers_attributes][12]_false">
  654. <span class="icon-times"></span>
  655. No
  656. </label>
  657. </div>
  658. </div>
  659. <h4 class="scale-question-name">Edition de ligne simple</h4>
  660. <p class="scale-section-guidelines">
  661. <br>Nous allons évaluer dans cette section l'édition de ligne simple. Effectuez les 3 tests suivants. Si l'un au moins de ces tests échoue, cette section du barème est échouée et aucun point n'est gagné, passez à la suivante.
  662. <br>
  663. <br> - Il doit être possible de déplacer le curseur vers la gauche et vers la droite droite dans la ligne courante avec les touches flèche gauche et flèche droite.
  664. <br>
  665. <br> - Il doit être possible d'éditer la ligne courante à l'endroit où se trouve le curseur.
  666. <br>
  667. <br> - Il doit être possible de sauter vers le début et la fin de ligne avec les touches home et end.
  668. <br>
  669. <br> - Il doit être possible de naviguer dans l'historique avec les touches flèches haut et bas.
  670. <br>
  671. </p>
  672. <div class="scale-question-answers">
  673. <div class="form-group hidden scale_team_answer_id"><div class="col-sm-10"><input name="[scale_team][answers_attributes][13][id]" class="hidden form-control" type="hidden" id="scale_team_answer_id"></div></div>
  674. <div class="form-group hidden scale_team_answer_question_id"><div class="col-sm-10"><input value="6299" name="[scale_team][answers_attributes][13][question_id]" class="hidden form-control" type="hidden" id="scale_team_answer_question_id"></div></div>
  675. <div class="btn-group block">
  676. <input autocomplete="off" class="checkbox-input" name="[scale_team][answers_attributes][13][value]" id="radio_[scale_team][answers_attributes][13]_true" type="radio" value="1">
  677. <label class="btn btn-success checkbox-label light-bg" for="radio_[scale_team][answers_attributes][13]_true">
  678. <span class="icon-check"></span>
  679. Yes
  680. </label>
  681. <input autocomplete="off" class="checkbox-input" name="[scale_team][answers_attributes][13][value]" id="radio_[scale_team][answers_attributes][13]_false" type="radio" value="0" checked="checked">
  682. <label class="btn btn-danger checkbox-label light-bg" for="radio_[scale_team][answers_attributes][13]_false">
  683. <span class="icon-times"></span>
  684. No
  685. </label>
  686. </div>
  687. </div>
  688. <h4 class="scale-question-name">Edition de ligne avancée</h4>
  689. <p class="scale-section-guidelines">
  690. Nous allons évaluer dans cette section l'édition de ligne avancée. Effectuez les 3 tests suivants. L'évaluation est incrémentale, échouer un de ces tests n'empêche pas de réussir les autres.
  691. <br>
  692. <br> - Il doit être possible de se déplacer d'un mot vers la gauche ou vers la droite dans la ligne courante avec la touche ctrl + la touche flèche gauche ou droite. (1 point)
  693. <br>
  694. <br> - Il doit être possible de Copier/coller de tout ou partie de la ligne avec un raccourci clavier. (2 points)
  695. <br>
  696. <br> - Il doit être possible d'écrire ou éditer une commande sur plusieurs lignes en même temps. (2 points)
  697. </p>
  698. <div class="scale-question-answers">
  699. <div class="form-group hidden scale_team_answer_id"><div class="col-sm-10"><input name="[scale_team][answers_attributes][14][id]" class="hidden form-control" type="hidden" id="scale_team_answer_id"></div></div>
  700. <div class="form-group hidden scale_team_answer_question_id"><div class="col-sm-10"><input value="6300" name="[scale_team][answers_attributes][14][question_id]" class="hidden form-control" type="hidden" id="scale_team_answer_question_id"></div></div>
  701. <div class="marked-title text-center">Rate it from 0 (failed) through 5 (excellent)</div>
  702. <input autocomplete="off" class="star-range" data-star-range="5" max="5" name="[scale_team][answers_attributes][14][value]" step="1" type="range" value="0" style="position: absolute; width: 1px; height: 1px; overflow: hidden; opacity: 0;"><div class="rangeslider" id="js-rangeslider-0"><div class="rangeslider__fill" style="width: 830px;"></div><div class="rangeslider__handle" style="left: 810px;"></div></div>
  703. </div>
  704. <h4 class="scale-question-name">ctrl+D et ctrl+C</h4>
  705. <p class="scale-section-guidelines">
  706. Nous allons évaluer dans cette section la gestion de ctrl+D et de ctrl+C.
  707. <br>Effectuez les 3 tests suivants. Si l'un au moins de ces tests échoue, cette section du barème est échouée et aucun point n'est gagné, passez à la suivante.
  708. <br>
  709. <br> - Faites un ctrl+D lorsque la ligne de commande est vide. Le Shell doit quitter proprement.
  710. <br>
  711. <br> - Faites un ctrl+D lorsque la ligne de commande n'est pas vide. Il ne doit rien se passer.
  712. <br>
  713. <br> - Lancez la commande "$&gt; cat", tapez quelques caractères puis appuyez sur ctrl+D deux fois. Le premier appui doit afficher les caractères tapés, le second doit rendre le prompt.
  714. <br>
  715. <br> - Appuyez sur ctrl+C quand la ligne de commande est vide et quand la ligne de commande contient des caractères. Dans les deux cas, le shell doit rendre le prompt.
  716. <br>
  717. <br> - Lancez la commande "$&gt; cat" puis appuyez sur ctrl+C. Le shell doit tuer le processus de cat et rendre le prompt.
  718. </p>
  719. <div class="scale-question-answers">
  720. <div class="form-group hidden scale_team_answer_id"><div class="col-sm-10"><input name="[scale_team][answers_attributes][15][id]" class="hidden form-control" type="hidden" id="scale_team_answer_id"></div></div>
  721. <div class="form-group hidden scale_team_answer_question_id"><div class="col-sm-10"><input value="6301" name="[scale_team][answers_attributes][15][question_id]" class="hidden form-control" type="hidden" id="scale_team_answer_question_id"></div></div>
  722. <div class="btn-group block">
  723. <input autocomplete="off" class="checkbox-input" name="[scale_team][answers_attributes][15][value]" id="radio_[scale_team][answers_attributes][15]_true" type="radio" value="1">
  724. <label class="btn btn-success checkbox-label light-bg" for="radio_[scale_team][answers_attributes][15]_true">
  725. <span class="icon-check"></span>
  726. Yes
  727. </label>
  728. <input autocomplete="off" class="checkbox-input" name="[scale_team][answers_attributes][15][value]" id="radio_[scale_team][answers_attributes][15]_false" type="radio" value="0" checked="checked">
  729. <label class="btn btn-danger checkbox-label light-bg" for="radio_[scale_team][answers_attributes][15]_false">
  730. <span class="icon-times"></span>
  731. No
  732. </label>
  733. </div>
  734. </div>
  735. <h4 class="scale-question-name">Gestion des parenthèses</h4>
  736. <p class="scale-section-guidelines">
  737. Nous allons évaluer dans cette section la bonne gestion des commandes parenthésées.
  738. <br>Effectuez le test suivant. Si ce test échoue, cette section du barème est échouée et aucun point n'est gagné, passez à la suivante.
  739. <br>
  740. <br> - Entrez la commande '$&gt; echo "', puis appuyez sur entrée. Le shell doit revenir à la ligne et attendre la fin de la commande. Tapez quelques lignes supplémentaires, puis fermez les guillemets et appuyez sur entrée.
  741. <br> Le shell doit récupérer la commande et la traiter correctement. Par exemple :
  742. <br>
  743. <br> $&gt; echo "
  744. <br> *&gt; Roses are red
  745. <br> *&gt; Violets are blue
  746. <br> *&gt; All my base are belong to you
  747. <br> *&gt; I love you
  748. <br> *&gt; "
  749. <br>
  750. <br> Roses are red
  751. <br> Violets are blue
  752. <br> All my base are belong to you
  753. <br> I love you
  754. <br>
  755. <br> $&gt;
  756. </p>
  757. <div class="scale-question-answers">
  758. <div class="form-group hidden scale_team_answer_id"><div class="col-sm-10"><input name="[scale_team][answers_attributes][16][id]" class="hidden form-control" type="hidden" id="scale_team_answer_id"></div></div>
  759. <div class="form-group hidden scale_team_answer_question_id"><div class="col-sm-10"><input value="6302" name="[scale_team][answers_attributes][16][question_id]" class="hidden form-control" type="hidden" id="scale_team_answer_question_id"></div></div>
  760. <div class="btn-group block">
  761. <input autocomplete="off" class="checkbox-input" name="[scale_team][answers_attributes][16][value]" id="radio_[scale_team][answers_attributes][16]_true" type="radio" value="1">
  762. <label class="btn btn-success checkbox-label light-bg" for="radio_[scale_team][answers_attributes][16]_true">
  763. <span class="icon-check"></span>
  764. Yes
  765. </label>
  766. <input autocomplete="off" class="checkbox-input" name="[scale_team][answers_attributes][16][value]" id="radio_[scale_team][answers_attributes][16]_false" type="radio" value="0" checked="checked">
  767. <label class="btn btn-danger checkbox-label light-bg" for="radio_[scale_team][answers_attributes][16]_false">
  768. <span class="icon-times"></span>
  769. No
  770. </label>
  771. </div>
  772. </div>
  773. </section>
  774. <section class="scale-section-item dancer from-down" id="section-2108">
  775. <h3 class="main-title">Bonus</h3>
  776. <p>Rappel : si a un moment ou un autre, le programme ne réagit pas correctement (bus error, segfault, etc..), la soutenance est terminée et la note est 0.
  777. Pensez à utiliser les flags correspondants. Cette consigne est active d'un bout à l'autre de la soutenance.
  778. Les bonus ne doivent être évalués que si et seulement si la partie obligatoire est PARFAITE. Par PARFAITE, on entend bien évidemment qu'elle est entièrement réalisée, qu'il n'est pas possible de mettre son comportement en défaut, même en cas d'erreur, aussi vicieuse soit-elle, de mauvaise utilisation, etc. Concrètement,cela signifie que si la partie obligatoire n'a pas obtenu TOUS les points pendant cette soutenance, les bonus doivent être intégralement IGNORÉS.</p>
  779. <h4 class="scale-question-name">Recherche dans l'historique</h4>
  780. <p class="scale-section-guidelines">
  781. Peut-on faire une recherche dans l'historique avec ctrl+R
  782. </p>
  783. <div class="scale-question-answers">
  784. <div class="form-group hidden scale_team_answer_id"><div class="col-sm-10"><input name="[scale_team][answers_attributes][17][id]" class="hidden form-control" type="hidden" id="scale_team_answer_id"></div></div>
  785. <div class="form-group hidden scale_team_answer_question_id"><div class="col-sm-10"><input value="6303" name="[scale_team][answers_attributes][17][question_id]" class="hidden form-control" type="hidden" id="scale_team_answer_question_id"></div></div>
  786. <div class="btn-group block">
  787. <input autocomplete="off" class="checkbox-input" name="[scale_team][answers_attributes][17][value]" id="radio_[scale_team][answers_attributes][17]_true" type="radio" value="1">
  788. <label class="btn btn-success checkbox-label light-bg" for="radio_[scale_team][answers_attributes][17]_true">
  789. <span class="icon-check"></span>
  790. Yes
  791. </label>
  792. <input autocomplete="off" class="checkbox-input" name="[scale_team][answers_attributes][17][value]" id="radio_[scale_team][answers_attributes][17]_false" type="radio" value="0" checked="checked">
  793. <label class="btn btn-danger checkbox-label light-bg" for="radio_[scale_team][answers_attributes][17]_false">
  794. <span class="icon-times"></span>
  795. No
  796. </label>
  797. </div>
  798. </div>
  799. <h4 class="scale-question-name">Complétion</h4>
  800. <p class="scale-section-guidelines">
  801. La complétion fonctionne-t-elle ?
  802. <br>
  803. </p>
  804. <div class="scale-question-answers">
  805. <div class="form-group hidden scale_team_answer_id"><div class="col-sm-10"><input name="[scale_team][answers_attributes][18][id]" class="hidden form-control" type="hidden" id="scale_team_answer_id"></div></div>
  806. <div class="form-group hidden scale_team_answer_question_id"><div class="col-sm-10"><input value="6304" name="[scale_team][answers_attributes][18][question_id]" class="hidden form-control" type="hidden" id="scale_team_answer_question_id"></div></div>
  807. <div class="btn-group block">
  808. <input autocomplete="off" class="checkbox-input" name="[scale_team][answers_attributes][18][value]" id="radio_[scale_team][answers_attributes][18]_true" type="radio" value="1">
  809. <label class="btn btn-success checkbox-label light-bg" for="radio_[scale_team][answers_attributes][18]_true">
  810. <span class="icon-check"></span>
  811. Yes
  812. </label>
  813. <input autocomplete="off" class="checkbox-input" name="[scale_team][answers_attributes][18][value]" id="radio_[scale_team][answers_attributes][18]_false" type="radio" value="0" checked="checked">
  814. <label class="btn btn-danger checkbox-label light-bg" for="radio_[scale_team][answers_attributes][18]_false">
  815. <span class="icon-times"></span>
  816. No
  817. </label>
  818. </div>
  819. </div>
  820. <h4 class="scale-question-name">Table de hash</h4>
  821. <p class="scale-section-guidelines">
  822. Verifiez dans le code si la résolu des binaires dans le path utilise une table de hash.
  823. <br>
  824. </p>
  825. <div class="scale-question-answers">
  826. <div class="form-group hidden scale_team_answer_id"><div class="col-sm-10"><input name="[scale_team][answers_attributes][19][id]" class="hidden form-control" type="hidden" id="scale_team_answer_id"></div></div>
  827. <div class="form-group hidden scale_team_answer_question_id"><div class="col-sm-10"><input value="6305" name="[scale_team][answers_attributes][19][question_id]" class="hidden form-control" type="hidden" id="scale_team_answer_question_id"></div></div>
  828. <div class="btn-group block">
  829. <input autocomplete="off" class="checkbox-input" name="[scale_team][answers_attributes][19][value]" id="radio_[scale_team][answers_attributes][19]_true" type="radio" value="1">
  830. <label class="btn btn-success checkbox-label light-bg" for="radio_[scale_team][answers_attributes][19]_true">
  831. <span class="icon-check"></span>
  832. Yes
  833. </label>
  834. <input autocomplete="off" class="checkbox-input" name="[scale_team][answers_attributes][19][value]" id="radio_[scale_team][answers_attributes][19]_false" type="radio" value="0" checked="checked">
  835. <label class="btn btn-danger checkbox-label light-bg" for="radio_[scale_team][answers_attributes][19]_false">
  836. <span class="icon-times"></span>
  837. No
  838. </label>
  839. </div>
  840. </div>
  841. <h4 class="scale-question-name">Autres features</h4>
  842. <p class="scale-section-guidelines">
  843. D'autres bonus ? Vous pouvez en comptabiliser jusqu'à cinq.
  844. <br>
  845. </p>
  846. <div class="scale-question-answers">
  847. <div class="form-group hidden scale_team_answer_id"><div class="col-sm-10"><input name="[scale_team][answers_attributes][20][id]" class="hidden form-control" type="hidden" id="scale_team_answer_id"></div></div>
  848. <div class="form-group hidden scale_team_answer_question_id"><div class="col-sm-10"><input value="6306" name="[scale_team][answers_attributes][20][question_id]" class="hidden form-control" type="hidden" id="scale_team_answer_question_id"></div></div>
  849. <div class="marked-title text-center">Rate it from 0 (failed) through 5 (excellent)</div>
  850. <input autocomplete="off" class="star-range" data-star-range="5" max="5" name="[scale_team][answers_attributes][20][value]" step="1" type="range" value="0" style="position: absolute; width: 1px; height: 1px; overflow: hidden; opacity: 0;"><div class="rangeslider" id="js-rangeslider-1"><div class="rangeslider__fill" style="width: 830px;"></div><div class="rangeslider__handle" style="left: 810px;"></div></div>
  851. </div>
  852. </section>
  853. </div>
  854. </div>
  855. <div class="container-item dancer from-down" id="ratings-569">
  856. <h2>Ratings</h2>
  857. <p class="marked-title">Don’t forget to check the flag corresponding to the defense</p>
  858. <div class="btn-group block" data-radio-item="flag-small">
  859. <label class="btn btn-default btn-success label_flag_ok on-active positive" for="scale_team_flag_id_1" name="scale_team[flag_id]">
  860. <span class="iconf-check-4"></span>
  861. Ok
  862. </label>
  863. <label class="btn btn-danger btn-default label_flag_empty_work negative on-active" for="scale_team_flag_id_2" name="scale_team[flag_id]">
  864. <span class="iconf-file-1"></span>
  865. Empty work
  866. </label>
  867. <label class="btn btn-danger btn-default label_flag_incomplete_work negative on-active" for="scale_team_flag_id_3" name="scale_team[flag_id]">
  868. <span class="iconf-file-attention"></span>
  869. Incomplete work
  870. </label>
  871. <label class="btn btn-danger btn-default label_flag_no_author_file negative on-active" for="scale_team_flag_id_4" name="scale_team[flag_id]">
  872. <span class="iconf-bubble-attention-4"></span>
  873. No author file
  874. </label>
  875. <label class="btn btn-danger btn-default label_flag_invalid_compilation negative on-active" for="scale_team_flag_id_5" name="scale_team[flag_id]">
  876. <span class="iconf-skull-2"></span>
  877. Invalid compilation
  878. </label>
  879. <label class="btn btn-danger btn-default label_flag_norme negative on-active" for="scale_team_flag_id_6" name="scale_team[flag_id]">
  880. <span class="iconf-receipt-1"></span>
  881. Norme
  882. </label>
  883. <label class="btn btn-danger btn-default label_flag_cheat negative on-active" for="scale_team_flag_id_7" name="scale_team[flag_id]">
  884. <span class="iconf-layers"></span>
  885. Cheat
  886. </label>
  887. <label class="btn btn-danger btn-default label_flag_crash negative on-active" for="scale_team_flag_id_8" name="scale_team[flag_id]">
  888. <span class="iconf-bomb"></span>
  889. Crash
  890. </label>
  891. </div>
  892. </div>
  893. <div class="container-item">
  894. <h2 class="main-title primary">Conclusion</h2>
  895. <div class="on-grey">
  896. <div class="scale-final-evaluation hidden">
  897. <div class="form-group radio_buttons optional scale_team_flag"><label class="radio_buttons optional col-sm-2 control-label">Flag</label><div class="col-sm-10"><input type="hidden" name="scale_team[flag_id]" value=""><span class="radio"><label for="scale_team_flag_id_1"><input class="radio_buttons optional" type="radio" value="1" checked="checked" name="scale_team[flag_id]" id="scale_team_flag_id_1">Ok</label></span><span class="radio"><label for="scale_team_flag_id_2"><input class="radio_buttons optional" type="radio" value="2" name="scale_team[flag_id]" id="scale_team_flag_id_2">Empty work</label></span><span class="radio"><label for="scale_team_flag_id_3"><input class="radio_buttons optional" type="radio" value="3" name="scale_team[flag_id]" id="scale_team_flag_id_3">Incomplete work</label></span><span class="radio"><label for="scale_team_flag_id_4"><input class="radio_buttons optional" type="radio" value="4" name="scale_team[flag_id]" id="scale_team_flag_id_4">No author file</label></span><span class="radio"><label for="scale_team_flag_id_5"><input class="radio_buttons optional" type="radio" value="5" name="scale_team[flag_id]" id="scale_team_flag_id_5">Invalid compilation</label></span><span class="radio"><label for="scale_team_flag_id_6"><input class="radio_buttons optional" type="radio" value="6" name="scale_team[flag_id]" id="scale_team_flag_id_6">Norme</label></span><span class="radio"><label for="scale_team_flag_id_7"><input class="radio_buttons optional" type="radio" value="7" name="scale_team[flag_id]" id="scale_team_flag_id_7">Cheat</label></span><span class="radio"><label for="scale_team_flag_id_8"><input class="radio_buttons optional" type="radio" value="8" name="scale_team[flag_id]" id="scale_team_flag_id_8">Crash</label></span></div></div>
  898. </div>
  899. <div class="scale-final-comments" id="comments-569">
  900. <p class="marked-title">Leave a comment on this correction</p>
  901. <div class="form-group text required scale_team_comment"><label class="text required col-sm-2 control-label" for="scale_team_comment"><abbr title="required">*</abbr> Comment</label><div class="col-sm-10"><textarea class="text required form-control" name="scale_team[comment]" id="scale_team_comment" style="overflow: hidden; word-wrap: break-word; resize: horizontal; height: 54px;"></textarea></div></div>
  902. </div>
  903. <div class="scale-final-submit">
  904. <input class="btn btn-primary btn-block" data-disable-with="Finishing correction..." name="commit" type="submit" value="Finish correction">
  905. </div>
  906. </div>
  907. </div>
  908. </form>
  909. </div>
  910. </div>
  911. </div>
  912. <div aria-hidden="true" aria-labelledby="smartModalLabel" class="modal fade" id="smartModal" role="dialog" tabindex="-1">
  913. <div class="modal-dialog">
  914. <div class="modal-content">
  915. <div class="modal-header">
  916. <button aria-hidden="true" class="close" data-dismiss="modal" type="button">
  917. x
  918. </button>
  919. <h3 id="smartModalLabel">
  920. </h3>
  921. </div>
  922. <div class="modal-body">
  923. <h4 class="note-title"></h4>
  924. </div>
  925. <div class="modal-footer">
  926. <button aria-hidden="true" class="btn" data-dismiss="modal">Cancel</button>
  927. <button class="send btn btn-primary">Send</button>
  928. </div>
  929. </div>
  930. </div>
  931. </div>
  932. <div aria-hidden="true" aria-labelledby="flashModalLabel" class="modal fade" id="flashModal" role="dialog" tabindex="-1">
  933. <div class="modal-dialog modal-lg">
  934. <div class="modal-content">
  935. <div class="modal-header">
  936. <button aria-hidden="true" class="close" data-dismiss="modal" type="button">
  937. x
  938. </button>
  939. <h3 id="flashModalLabel"></h3>
  940. </div>
  941. <div class="modal-body">
  942. <h4 class="note-title">Flash modal content (raw)</h4>
  943. </div>
  944. <div class="modal-footer">
  945. <button aria-hidden="true" class="btn btn-block btn-default" data-dismiss="modal">Close</button>
  946. </div>
  947. </div>
  948. </div>
  949. </div>
  950. <script>
  951. function google_analytics() {
  952. (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
  953. (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
  954. m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
  955. })(window,document,'script','//','ga');
  956. ga('create', "UA-55986469-3", 'auto');
  957. ga('send', 'pageview');
  958. }
  959. if (!document.documentElement.hasAttribute("data-turbolinks-preview"))
  960. google_analytics();
  961. </script>
  962. <div data-cache="true" class="hide"></div>
  963. <script>
  964. var jsClasses = ["new_message", "topic-reply"];
  965. jsClasses.forEach(function(className) {
  966., function (e) {
  967. e.classList.add("js-hidden");
  968. });
  969. });
  970. </script>
  971. <div id="global-zeroclipboard-html-bridge" class="global-zeroclipboard-container" style="position: absolute; left: 0px; top: -9999px; width: 1px; height: 1px; z-index: 999999999;"><object id="global-zeroclipboard-flash-bridge" name="global-zeroclipboard-flash-bridge" width="100%" height="100%" type="application/x-shockwave-flash" data="./Projects - Intra_files/clipboard-eec56f47f17c747710021e35aee59177a7e451c374b6d8ef11508bb25edf5125.swf"><param name="allowScriptAccess" value="sameDomain"><param name="allowNetworking" value="all"><param name="menu" value="false"><param name="wmode" value="transparent"><param name="flashvars" value=";swfObjectId=global-zeroclipboard-flash-bridge&amp;jsVersion=2.2.0"><div id="global-zeroclipboard-flash-bridge_fallbackContent">&nbsp;</div></object></div></body></html>