{"id":20529434,"url":"https://github.com/c-bertran/42-exam-shell","last_synced_at":"2025-04-09T18:16:23.052Z","repository":{"id":53255428,"uuid":"450182629","full_name":"c-bertran/42-exam-shell","owner":"c-bertran","description":"Examshell will allow you to practice to be perfectly ready for the 42 exams","archived":false,"fork":false,"pushed_at":"2025-04-03T22:17:16.000Z","size":13516,"stargazers_count":79,"open_issues_count":0,"forks_count":11,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-04-09T18:16:13.764Z","etag":null,"topics":["42","42-school","exam","exam-02","exam-03","exam-04","exam-05","exam-06","exam-pool","examrank","examshell"],"latest_commit_sha":null,"homepage":"","language":"Shell","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/c-bertran.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":"SECURITY.md","support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2022-01-20T16:55:48.000Z","updated_at":"2025-04-06T08:30:57.000Z","dependencies_parsed_at":"2025-04-02T17:00:48.190Z","dependency_job_id":"0a81eeff-5173-4c93-bcc8-eb13f84c7359","html_url":"https://github.com/c-bertran/42-exam-shell","commit_stats":null,"previous_names":[],"tags_count":24,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/c-bertran%2F42-exam-shell","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/c-bertran%2F42-exam-shell/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/c-bertran%2F42-exam-shell/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/c-bertran%2F42-exam-shell/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/c-bertran","download_url":"https://codeload.github.com/c-bertran/42-exam-shell/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248085322,"owners_count":21045139,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["42","42-school","exam","exam-02","exam-03","exam-04","exam-05","exam-06","exam-pool","examrank","examshell"],"created_at":"2024-11-15T23:31:52.261Z","updated_at":"2025-04-09T18:16:23.029Z","avatar_url":"https://github.com/c-bertran.png","language":"Shell","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003ch1 align=\"center\"\u003e\n  \u003cimg height=\"100\" src=\"md/logo.svg\" alt=\"logo\"\u003e\u003cbr\u003e\n\tPractice like a boss\n\u003c/h1\u003e\n\n\u003ch1 align=\"center\"\u003eExamshell will allow you to practice to be perfectly ready for the 42 exams\u003c/h1\u003e\n\n\u003cimg alt=\"Workflow Status\" src=\"https://img.shields.io/github/actions/workflow/status/c-bertran/42-exam-shell/.github/workflows/release.yml?style=flat-square\"/\u003e \u003cimg alt=\"License\" src=\"https://img.shields.io/github/license/c-bertran/42-exam-shell?style=flat-square\"\u003e \u003cimg alt=\"Repo size\" src=\"https://img.shields.io/github/repo-size/c-bertran/42-exam-shell?style=flat-square\" /\u003e \u003cimg alt=\"Language count\" src=\"https://img.shields.io/github/languages/count/c-bertran/42-exam-shell?style=flat-square\"\u003e\n\n\u003cimg src=\"md/main.gif\"\u003e\u003c/img\u003e\n\n## Direct downloads\n\n\u003cdiv align=\"center\"\u003e\n\t\u003ca href=\"https://github.com/c-bertran/42-exam-shell/releases/latest/download/examshell-linux\" style=\"margin-right: 1em\"\u003e\n\t\t\u003cimg alt=\"Download latest Linux version\" width=250 src=\"md/download_linux.jpg\" /\u003e\n\t\u003c/a\u003e\n\t\u003ca href=\"https://github.com/c-bertran/42-exam-shell/releases/latest/download/examshell-macos\" style=\"margin-left: 1em\"\u003e\n\t\t\u003cimg alt=\"Download latest MacOS version\" width=250 src=\"md/download_macos.jpg\" /\u003e\n\t\u003c/a\u003e\n\u003c/div\u003e\n\n---\n\n- [Exams](#exams)\n- [How to use](#how-to-use)\n\t- [Arguments](#arguments)\n\t- [Dependencies](#dependencies)\n- [Config examshell](#config-examshell)\n- [Create or install custom exam](#create-or-install-custom-exam)\n\t- [Install a custom exam](#install-a-custom-exam)\n\t- [Create a custom exam](#create-a-custom-exam)\n- [Contributor](#contributor)\n- [Disclaimer](#disclaimer)\n- [License](#license)\n\nThis one will have the same behaviors as the real examshell:\n- Updated with the new version of the exam in April 2022\n- Several exercises can be available per level, chosen randomly\n- Waiting times for correction are exponential\n- Your rendering must be committed via git\n- A moulinette will go over your code to check for forbidden functions, and possible leaks\n- A trace is available when the exercise allows it\n- Then your program will be compared with the _real_ program\n\nSome options have been added:\n- Multilingual interface (currently available in `French` and `English`)\n- Two options:\n  - `Infinite`: Disables the timer, so the time is unlimited\n  - `Doom`: To make your practice harder, if you fail the whole rendering folder is reset, as well as the associated git\n\n## Exams\nThe following exams are available natively:\n- Exam 02\n- Exam 03\n- Exam 04\n- Exam 05\n- Exam 06\n- Old exam 03\n- Pool exam 01\n- Pool exam 02\n- Pool exam 03\n- Pool exam 04\n\n## How to use\nLaunch your favorite command prompt, and simply run the program:\n```sh\n./examshell\n```\n\nIf a rights problem occurs during the execution, make the following command:\n```sh\nchmod +x examshell \u0026\u0026 ./examshell\n```\n\n### Arguments\n| Args | Definition |\n| --- | --- |\n| -C or --custom | Create the folder that can contain the *exams* created by other people, and also the configuration file |\n| -N or --new | Launch the cli to create the boilerplate for a new exam |\n\n### Dependencies\nExamshell is dependent on several external software. Under Linux, the installation can be done by the software itself at startup. However under MacOS you will have to install them yourself. Here is the list with their versions to help you\n| Software | Version |\n| --- | --- |\n| bash | `\u003e= 4.0` |\n| clang | `\u003e= 13.0` |\n| git | `\u003e= 2.20` |\n| valgrind | `\u003e= 3.10` |\n\n## Config examshell\nYou can configure the behavior of examshell via the `config.json` file in the *exams* folder.\nIt has the following options:\n```json\n{\n\t\"checkUpdate\": true,\n\t\"checkLib\": true,\n\t\"signature\": true,\n\t\"exam\": \"exam_02\",\n\t\"lang\": \"en_US\",\n\t\"options\": {\n\t\t\"doom\": false,\n\t\t\"infinite\": false,\n\t}\n}\n```\n\n- checkUpdate `boolean` : Checks if a new version is available\n- checkLib `boolean` : Checks if the necessary libraries are installed\n- signature `boolean` : Print the application's logo and signature\n- exam `string` : Id of the exam\n- lang `string` : Selected lang ('en_US', 'fr_FR')\n- options.doom `boolean` : All work and git is reset if grademe failed\n- options.infinite `boolean` : There is no time limit anymore\n\n## Create or install custom exam\nStarting with version `0.3.0` examshell allows you to create your own exams in a simple and concise way.\nIf you want to share your exam, don't hesitate to open a issue with the exam label so that it can be added to a list.\n\n### Install a custom exam\n1. Create a `exams` directory in the root of the application, or launch `./examshell -C`\n2. Paste custom exam in this directory\n3. Start application, if exam is correct, it will appear in the selection list\n\n### Create a custom exam\nYou can create custom exam by adding new exercises: [Contributing](CONTRIBUTING.md)\n\n## Contributor\nThanks to you and your help, examshell is getting better every day. I would like to thank those people who gave their time 🧡\n\n\u003cdiv align=\"center\"\u003e\n\t\u003ca href=\"https://github.com/Filoji\"\u003e\n\t\t\u003cimg alt=\"Filoji\" width=\"70\" style=\"border-radius: 50%\" src=\"https://avatars.githubusercontent.com/u/67588131?v=4\" /\u003e\n\t\u003c/a\u003e\n\t\u003ca href=\"https://github.com/B-ki\"\u003e\n\t\t\u003cimg alt=\"B-ki\" width=\"70\" style=\"border-radius: 50%\" src=\"https://avatars.githubusercontent.com/u/87602480?s=200\u0026v=4\" /\u003e\n\t\u003c/a\u003e\n\t\u003ca href=\"https://github.com/pulgamecanica\"\u003e\n\t\t\u003cimg alt=\"pulgamecanica\" width=\"70\" style=\"border-radius: 50%\" src=\"https://avatars.githubusercontent.com/u/28810331?v=4\" /\u003e\n\t\u003c/a\u003e\n\t\u003ca href=\"https://github.com/ThatsLucas\"\u003e\n\t\t\u003cimg alt=\"pulgamecanica\" width=\"70\" style=\"border-radius: 50%\" src=\"https://avatars.githubusercontent.com/u/89994389?v=4\" /\u003e\n\t\u003c/a\u003e\n\u003c/div\u003e\n\n## Disclaimer\nThe exams available are based as closely as possible on the official exams at 42, however there may be some differences.\nIf you find a significant difference, don't hesitate to open an issue.\n\n## License\n```text\nExamshell Copyright (C) 2022 - ...  Clément Bertrand\n    \nThis program is free software: you can redistribute it and/or modify\nit under the terms of the GNU General Public License as published by\nthe Free Software Foundation, either version 3 of the License, or\n(at your option) any later version.\n\nThis program is distributed in the hope that it will be useful,\nbut WITHOUT ANY WARRANTY; without even the implied warranty of\nMERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\nGNU General Public License for more details.\n\nYou should have received a copy of the GNU General Public License\nalong with this program. If not, see \u003chttps://www.gnu.org/licenses/\u003e.\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fc-bertran%2F42-exam-shell","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fc-bertran%2F42-exam-shell","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fc-bertran%2F42-exam-shell/lists"}