Browse Source

Merge branch 'master' into correction-listat

content-update
LEEDASILVA 5 years ago committed by GitHub
parent
commit
c8a66e2a88
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
  1. 12
      docs/modular-steps-management.md
  2. 4
      docs/server-installation.md
  3. 50
      docs/ubuntu-persistent-installation.md
  4. 37
      scripts/check_installation.sh
  5. 2
      scripts/exam.sh
  6. 50
      scripts/install_client.sh
  7. 6
      subjects/abort.en.md
  8. 6
      subjects/abort.fr.md
  9. 6
      subjects/activebits.en.md
  10. 6
      subjects/activebits.fr.md
  11. 10
      subjects/addprimesum.en.md
  12. 10
      subjects/addprimesum.fr.md
  13. 6
      subjects/advancedsortwordarr.en.md
  14. 6
      subjects/advancedsortwordarr.fr.md
  15. 6
      subjects/alphacount.en.md
  16. 6
      subjects/alphacount.fr.md
  17. 10
      subjects/alphamirror.en.md
  18. 10
      subjects/alphamirror.fr.md
  19. 6
      subjects/any.en.md
  20. 6
      subjects/any.fr.md
  21. 6
      subjects/appendrange.en.md
  22. 6
      subjects/appendrange.fr.md
  23. 6
      subjects/atoi.en.md
  24. 6
      subjects/atoi.fr.md
  25. 6
      subjects/atoibase.en.md
  26. 6
      subjects/atoibase.fr.md
  27. 6
      subjects/atoiprog.en.md
  28. 6
      subjects/basicatoi.en.md
  29. 6
      subjects/basicatoi.fr.md
  30. 6
      subjects/basicatoi2.en.md
  31. 6
      subjects/basicatoi2.fr.md
  32. 6
      subjects/basicjoin.en.md
  33. 6
      subjects/basicjoin.fr.md
  34. 6
      subjects/boolean.en.md
  35. 6
      subjects/boolean.fr.md
  36. 12
      subjects/brackets.en.md
  37. 12
      subjects/brackets.fr.md
  38. 12
      subjects/brainfuck.en.md
  39. 12
      subjects/brainfuck.fr.md
  40. 6
      subjects/btreeapplybylevel.en.md
  41. 6
      subjects/btreeapplybylevel.fr.md
  42. 6
      subjects/btreeapplyinorder.en.md
  43. 6
      subjects/btreeapplyinorder.fr.md
  44. 6
      subjects/btreeapplypostorder.en.md
  45. 6
      subjects/btreeapplypostorder.fr.md
  46. 6
      subjects/btreeapplypreorder.en.md
  47. 6
      subjects/btreeapplypreorder.fr.md
  48. 6
      subjects/btreedeletenode.en.md
  49. 6
      subjects/btreedeletenode.fr.md
  50. 6
      subjects/btreeinsertdata.en.md
  51. 6
      subjects/btreeinsertdata.fr.md
  52. 6
      subjects/btreeisbinary.en.md
  53. 6
      subjects/btreeisbinary.fr.md
  54. 6
      subjects/btreelevelcount.en.md
  55. 6
      subjects/btreelevelcount.fr.md
  56. 6
      subjects/btreemax.en.md
  57. 6
      subjects/btreemax.fr.md
  58. 6
      subjects/btreemin.en.md
  59. 6
      subjects/btreemin.fr.md
  60. 6
      subjects/btreeprintroot.en.md
  61. 6
      subjects/btreeprintroot.fr.md
  62. 6
      subjects/btreesearchitem.en.md
  63. 6
      subjects/btreesearchitem.fr.md
  64. 6
      subjects/btreetransplant.en.md
  65. 6
      subjects/btreetransplant.fr.md
  66. 6
      subjects/capitalize.en.md
  67. 6
      subjects/capitalize.fr.md
  68. 12
      subjects/cat.en.md
  69. 10
      subjects/cat.fr.md
  70. 4
      subjects/cl-camp2.en.md
  71. 4
      subjects/cl-camp2.fr.md
  72. 8
      subjects/cl-camp4.en.md
  73. 8
      subjects/cl-camp4.fr.md
  74. 4
      subjects/cl-camp5.en.md
  75. 4
      subjects/cl-camp5.fr.md
  76. 4
      subjects/cl-camp6.en.md
  77. 4
      subjects/cl-camp6.fr.md
  78. 4
      subjects/cl-camp7.en.md
  79. 4
      subjects/cl-camp7.fr.md
  80. 12
      subjects/cleanstr.en.md
  81. 12
      subjects/cleanstr.fr.md
  82. 8
      subjects/collatzcountdown.en.md
  83. 6
      subjects/collatzcountdown.fr.md
  84. 8
      subjects/comcheck.en.md
  85. 8
      subjects/comcheck.fr.md
  86. 6
      subjects/compact.en.md
  87. 6
      subjects/compact.fr.md
  88. 6
      subjects/compare.en.md
  89. 6
      subjects/compare.fr.md
  90. 6
      subjects/concat.en.md
  91. 6
      subjects/concat.fr.md
  92. 6
      subjects/concatparams.en.md
  93. 6
      subjects/concatparams.fr.md
  94. 6
      subjects/convertbase.en.md
  95. 6
      subjects/convertbase.fr.md
  96. 6
      subjects/countdown.en.md
  97. 6
      subjects/countdown.fr.md
  98. 6
      subjects/countif.en.md
  99. 6
      subjects/countif.fr.md
  100. 6
      subjects/createelem.en.md
  101. Some files were not shown because too many files changed in this diff diff.show_more

12
docs/modular-steps-management.md

@ -69,12 +69,12 @@ In the step object you have created, 2 attributes must be filled:
- `onChange` prop are ignored as the event is handled by the app.
- For `switch` and `checkbox` input types, the default value has to be set as a boolean property named **value**.
- More information for each inputs is available in the design documentation:
- [textInput documentation](https://01.alem.school/design/Components/FormInputs/TextInput) - used for inputs type 'text', 'tel', and 'date'
- [textArea documentation](https://01.alem.school/design/Components/FormInputs/TextArea)
- [select documentation](https://01.alem.school/design/Components/FormControls/Select)
- [radio button documentation](https://01.alem.school/design/Components/FormControls/Radio)
- [switch documentation](https://01.alem.school/design/Components/FormControls/Switch)
- [checkbox documentation](https://01.alem.school/design/Components/FormControls/Checkbox)
- [textInput documentation](https://[[DOMAIN]]/design/Components/FormInputs/TextInput) - used for inputs type 'text', 'tel', and 'date'
- [textArea documentation](https://[[DOMAIN]]/design/Components/FormInputs/TextArea)
- [select documentation](https://[[DOMAIN]]/design/Components/FormControls/Select)
- [radio button documentation](https://[[DOMAIN]]/design/Components/FormControls/Radio)
- [switch documentation](https://[[DOMAIN]]/design/Components/FormControls/Switch)
- [checkbox documentation](https://[[DOMAIN]]/design/Components/FormControls/Checkbox)
### Examples

4
docs/server-installation.md

@ -6,8 +6,8 @@ One domain and one subdomain must point to the IP address of a [dedicated server
| FQDN | Record type | Address |
| -------------- | ----------- | ------- |
| {{DOMAIN}} | A | X.X.X.X |
| git.{{DOMAIN}} | A | X.X.X.X |
| [[DOMAIN]] | A | X.X.X.X |
| git.[[DOMAIN]] | A | X.X.X.X |
## Network configuration

50
docs/ubuntu-persistent-installation.md

@ -0,0 +1,50 @@
# Ubuntu
## OS Installation
Install the latest version of [Virtual Box](https://www.virtualbox.org/wiki/Downloads).
> The text instructions are more important than the screenshots
Screenshots of the installation of Ubuntu in Virtual Box are [here](https://github.com/xpetit/vbox-ubuntu-install/blob/master/README.md).
Download and boot the [last Ubuntu release](http://releases.ubuntu.com/19.10/ubuntu-19.10-desktop-amd64.iso).
- Create a new virtual machine named "Ubuntu" with at least 4096 MB of RAM
- Use the fixed size storage allocation (to have more performance)
- In the settings of the VM
- System -> Motherboard : check "Enable EFI"
- System -> Processor : Select at least 2 processors
- Display -> Screen : Put "Video Memory" to the maximum
- Enable 3D acceleration
- Storage
- Remove IDE controller
- Add Optical Drive to the SATA controller
- Choose your Ubuntu ISO image
- Close the settings (click OK)
- Run the VM
Follow the screenshots (some settings can be personalized, such as keyboard layout, location, password, login automatically, but **do not change the username**)
Skip the welcoming window.
Don't install updates if Ubuntu asks to. The scripts will.
## OS configuration
Run a terminal and type these commands :
```shell
unset HISTFILE
sudo apt-get -y install curl
export PERSISTENT=
bash <(curl -sSL raw.githubusercontent.com/01-edu/public/master/scripts/kickstart.sh)
```
After reboot you should install Virtual Box additions (and reboot again) :
```shell
sudo apt -y install virtualbox-guest-x11
```
Then it is advised to use the virtual machine in full screen mode (Host key - F)

37
scripts/check_installation.sh

@ -0,0 +1,37 @@
#!/usr/bin/env bash
set -euo pipefail
IFS='
'
dir=$(cd -P "$(dirname "$BASH_SOURCE")" && pwd)
check() {
test "$(command -v "$1")" && echo -n ✅ || echo -n ❌
echo " $@"
}
check go '(see : https://golang.org/dl & https://golang.org/doc/install)'
check gofmt '(see : https://golang.org/dl & https://golang.org/doc/install)'
check goimports '(run : go get golang.org/x/tools/cmd/goimports)'
check git '(see : https://git-scm.com/downloads)'
check jq '(see : https://stedolan.github.io/jq/download)'
check sed
check tar
check find
check cut
check awk
check grep
check wget
check curl
check diff
check chmod
check chown
check touch
check wc
check cat
test "$(ls ~/.ssh/*.pub 2>/dev/null)" && echo -n ✅ || echo -n ❌
echo " SSH public key (run : ssh-keygen -t ed25519 -f ~/.ssh/id_ed25519 -N '')"
# git repository configured

2
scripts/exam.sh

@ -6,7 +6,7 @@ script_dir="$(cd -P "$(dirname "$BASH_SOURCE")" && pwd)"
cd $script_dir
. set.sh
wget https://01.alem.school/assets/files/exam.AppImage -O /usr/local/bin/exam.AppImage
wget https://[[DOMAIN]]/assets/files/exam.AppImage -O /usr/local/bin/exam.AppImage
chmod +x /usr/local/bin/exam.AppImage
cat <<EOF> /home/student/.local/share/applications/appimagekit-exam.desktop

50
scripts/install_client.sh

@ -63,6 +63,8 @@ ubuntu-drivers install ||:
cp -r system /tmp
cd /tmp/system
test -v PERSISTENT && rm -rf etc/gdm3 usr/share/initramfs-tools
# Overwrite with custom files from Git repository
if test -v OVERWRITE; then
folder=$(echo "$OVERWRITE" | cut -d';' -f1)
@ -94,36 +96,38 @@ cp --preserve=mode -RT . /
cd $script_dir
rm -rf /tmp/system
sgdisk -n0:0:+32G "$disk"
sgdisk -N0 "$disk"
sgdisk -c3:01-tmp-home "$disk"
sgdisk -c4:01-tmp-system "$disk"
if ! test -v PERSISTENT; then
sgdisk -n0:0:+32G "$disk"
sgdisk -N0 "$disk"
sgdisk -c3:01-tmp-home "$disk"
sgdisk -c4:01-tmp-system "$disk"
# Remove fsck because the system partition will be read-only (overlayroot)
rm /usr/share/initramfs-tools/hooks/fsck
# Remove fsck because the system partition will be read-only (overlayroot)
rm /usr/share/initramfs-tools/hooks/fsck
apt-get -y install overlayroot
echo 'overlayroot="device:dev=/dev/disk/by-partlabel/01-tmp-system,recurse=0"' >> /etc/overlayroot.conf
apt-get -y install overlayroot
echo 'overlayroot="device:dev=/dev/disk/by-partlabel/01-tmp-system,recurse=0"' >> /etc/overlayroot.conf
update-initramfs -u
update-initramfs -u
# Lock root password
passwd -l root
# Lock root password
passwd -l root
# Disable user password
passwd -d student
# Disable user password
passwd -d student
# Remove tty
cat <<EOF>> /etc/systemd/logind.conf
NAutoVTs=0
ReserveVT=N
EOF
# Remove tty
cat <<-EOF>> /etc/systemd/logind.conf
NAutoVTs=0
ReserveVT=N
EOF
# Remove user abilities
gpasswd -d student sudo
gpasswd -d student lpadmin
gpasswd -d student sambashare
# Remove user abilities
gpasswd -d student sudo
gpasswd -d student lpadmin
gpasswd -d student sambashare
cp /etc/shadow /etc/shadow-
cp /etc/shadow /etc/shadow-
fi
. clean.sh

6
subjects/abort.en.md

@ -33,8 +33,8 @@ func main() {
And its output :
```console
student@ubuntu:~/piscine-go/test$ go build
student@ubuntu:~/piscine-go/test$ ./test
student@ubuntu:~/[[ROOT]]/test$ go build
student@ubuntu:~/[[ROOT]]/test$ ./test
5
student@ubuntu:~/piscine-go/test$
student@ubuntu:~/[[ROOT]]/test$
```

6
subjects/abort.fr.md

@ -33,8 +33,8 @@ func main() {
Et son résultat :
```console
student@ubuntu:~/piscine-go/test$ go build
student@ubuntu:~/piscine-go/test$ ./test
student@ubuntu:~/[[ROOT]]/test$ go build
student@ubuntu:~/[[ROOT]]/test$ ./test
5
student@ubuntu:~/piscine-go/test$
student@ubuntu:~/[[ROOT]]/test$
```

6
subjects/activebits.en.md

@ -33,8 +33,8 @@ func main() {
And its output :
```console
student@ubuntu:~/piscine-go/test$ go build
student@ubuntu:~/piscine-go/test$ ./test
student@ubuntu:~/[[ROOT]]/test$ go build
student@ubuntu:~/[[ROOT]]/test$ ./test
3
student@ubuntu:~/piscine-go/test$
student@ubuntu:~/[[ROOT]]/test$
```

6
subjects/activebits.fr.md

@ -33,8 +33,8 @@ func main() {
Et son résultat :
```console
student@ubuntu:~/piscine-go/test$ go build
student@ubuntu:~/piscine-go/test$ ./test
student@ubuntu:~/[[ROOT]]/test$ go build
student@ubuntu:~/[[ROOT]]/test$ ./test
3
student@ubuntu:~/piscine-go/test$
student@ubuntu:~/[[ROOT]]/test$
```

10
subjects/addprimesum.en.md

@ -9,12 +9,12 @@ Write a program that takes a positive integer as argument and displays the sum o
### Usage
```console
student@ubuntu:~/piscine-go/test$ go build
student@ubuntu:~/piscine-go/test$ ./test 5
student@ubuntu:~/[[ROOT]]/test$ go build
student@ubuntu:~/[[ROOT]]/test$ ./test 5
10
student@ubuntu:~/piscine-go/test$ ./test 7
student@ubuntu:~/[[ROOT]]/test$ ./test 7
17
student@ubuntu:~/piscine-go/test$ ./test 5 7
student@ubuntu:~/[[ROOT]]/test$ ./test 5 7
0
student@ubuntu:~/piscine-go/test$
student@ubuntu:~/[[ROOT]]/test$
```

10
subjects/addprimesum.fr.md

@ -9,12 +9,12 @@
### Utilisation
```console
student@ubuntu:~/piscine-go/test$ go build
student@ubuntu:~/piscine-go/test$ ./test 5
student@ubuntu:~/[[ROOT]]/test$ go build
student@ubuntu:~/[[ROOT]]/test$ ./test 5
10
student@ubuntu:~/piscine-go/test$ ./test 7
student@ubuntu:~/[[ROOT]]/test$ ./test 7
17
student@ubuntu:~/piscine-go/test$ ./test 5 7
student@ubuntu:~/[[ROOT]]/test$ ./test 5 7
0
student@ubuntu:~/piscine-go/test$
student@ubuntu:~/[[ROOT]]/test$
```

6
subjects/advancedsortwordarr.en.md

@ -36,8 +36,8 @@ func main() {
And its output :
```console
student@ubuntu:~/piscine-go/test$ go build
student@ubuntu:~/piscine-go/test$ ./test
student@ubuntu:~/[[ROOT]]/test$ go build
student@ubuntu:~/[[ROOT]]/test$ ./test
[1 2 3 A B C a b c]
student@ubuntu:~/piscine-go/test$
student@ubuntu:~/[[ROOT]]/test$
```

6
subjects/advancedsortwordarr.fr.md

@ -36,8 +36,8 @@ func main() {
Et son résultat :
```console
student@ubuntu:~/piscine-go/test$ go build
student@ubuntu:~/piscine-go/test$ ./test
student@ubuntu:~/[[ROOT]]/test$ go build
student@ubuntu:~/[[ROOT]]/test$ ./test
[1 2 3 A B C a b c]
student@ubuntu:~/piscine-go/test$
student@ubuntu:~/[[ROOT]]/test$
```

6
subjects/alphacount.en.md

@ -37,8 +37,8 @@ func main() {
And its output :
```console
student@ubuntu:~/piscine-go/test$ go build
student@ubuntu:~/piscine-go/test$ ./test
student@ubuntu:~/[[ROOT]]/test$ go build
student@ubuntu:~/[[ROOT]]/test$ ./test
10
student@ubuntu:~/piscine-go/test$
student@ubuntu:~/[[ROOT]]/test$
```

6
subjects/alphacount.fr.md

@ -37,8 +37,8 @@ func main() {
And its output :
```console
student@ubuntu:~/piscine-go/test$ go build
student@ubuntu:~/piscine-go/test$ ./test
student@ubuntu:~/[[ROOT]]/test$ go build
student@ubuntu:~/[[ROOT]]/test$ ./test
10
student@ubuntu:~/piscine-go/test$
student@ubuntu:~/[[ROOT]]/test$
```

10
subjects/alphamirror.en.md

@ -16,12 +16,12 @@ If the number of arguments is different from 1, the program displays only a newl
### Usage
```console
student@ubuntu:~/piscine-go/alphamirror$ go build
student@ubuntu:~/piscine-go/alphamirror$ ./alphamirror "abc"
student@ubuntu:~/[[ROOT]]/alphamirror$ go build
student@ubuntu:~/[[ROOT]]/alphamirror$ ./alphamirror "abc"
zyx
student@ubuntu:~/piscine-go/alphamirror$ ./alphamirror "My horse is Amazing." | cat -e
student@ubuntu:~/[[ROOT]]/alphamirror$ ./alphamirror "My horse is Amazing." | cat -e
Nb slihv rh Znzarmt.$
student@ubuntu:~/piscine-go/alphamirror$ ./alphamirror | cat -e
student@ubuntu:~/[[ROOT]]/alphamirror$ ./alphamirror | cat -e
$
student@ubuntu:~/piscine-go/alphamirror$
student@ubuntu:~/[[ROOT]]/alphamirror$
```

10
subjects/alphamirror.fr.md

@ -16,12 +16,12 @@ Si le nombre d'arguments est différent de 1, le programme affiche seulement un
### Utilisation
```console
student@ubuntu:~/piscine-go/alphamirror$ go build
student@ubuntu:~/piscine-go/alphamirror$ ./alphamirror "abc"
student@ubuntu:~/[[ROOT]]/alphamirror$ go build
student@ubuntu:~/[[ROOT]]/alphamirror$ ./alphamirror "abc"
zyx
student@ubuntu:~/piscine-go/alphamirror$ ./alphamirror "My horse is Amazing." | cat -e
student@ubuntu:~/[[ROOT]]/alphamirror$ ./alphamirror "My horse is Amazing." | cat -e
Nb slihv rh Znzarmt.$
student@ubuntu:~/piscine-go/alphamirror$ ./alphamirror | cat -e
student@ubuntu:~/[[ROOT]]/alphamirror$ ./alphamirror | cat -e
$
student@ubuntu:~/piscine-go/alphamirror$
student@ubuntu:~/[[ROOT]]/alphamirror$
```

6
subjects/any.en.md

@ -41,9 +41,9 @@ func main() {
And its output :
```console
student@ubuntu:~/piscine-go/test$ go build
student@ubuntu:~/piscine-go/test$ ./test
student@ubuntu:~/[[ROOT]]/test$ go build
student@ubuntu:~/[[ROOT]]/test$ ./test
false
true
student@ubuntu:~/piscine-go/test$
student@ubuntu:~/[[ROOT]]/test$
```

6
subjects/any.fr.md

@ -41,9 +41,9 @@ func main() {
Et son résultat :
```console
student@ubuntu:~/piscine-go/test$ go build
student@ubuntu:~/piscine-go/test$ ./test
student@ubuntu:~/[[ROOT]]/test$ go build
student@ubuntu:~/[[ROOT]]/test$ ./test
false
true
student@ubuntu:~/piscine-go/test$
student@ubuntu:~/[[ROOT]]/test$
```

6
subjects/appendrange.en.md

@ -39,9 +39,9 @@ func main() {
And its output :
```console
student@ubuntu:~/piscine-go/test$ go build
student@ubuntu:~/piscine-go/test$ ./test
student@ubuntu:~/[[ROOT]]/test$ go build
student@ubuntu:~/[[ROOT]]/test$ ./test
[5 6 7 8 9]
[]
student@ubuntu:~/piscine-go/test$
student@ubuntu:~/[[ROOT]]/test$
```

6
subjects/appendrange.fr.md

@ -39,9 +39,9 @@ func main() {
Et son résultat :
```console
student@ubuntu:~/piscine-go/test$ go build
student@ubuntu:~/piscine-go/test$ ./test
student@ubuntu:~/[[ROOT]]/test$ go build
student@ubuntu:~/[[ROOT]]/test$ ./test
[5 6 7 8 9]
[]
student@ubuntu:~/piscine-go/test$
student@ubuntu:~/[[ROOT]]/test$
```

6
subjects/atoi.en.md

@ -63,8 +63,8 @@ func main() {
And its output :
```console
student@ubuntu:~/piscine-go/test$ go build
student@ubuntu:~/piscine-go/test$ ./test
student@ubuntu:~/[[ROOT]]/test$ go build
student@ubuntu:~/[[ROOT]]/test$ ./test
12345
12345
0
@ -73,5 +73,5 @@ student@ubuntu:~/piscine-go/test$ ./test
-1234
0
0
student@ubuntu:~/piscine-go/test$
student@ubuntu:~/[[ROOT]]/test$
```

6
subjects/atoi.fr.md

@ -63,8 +63,8 @@ func main() {
Et son résultat :
```console
student@ubuntu:~/piscine-go/test$ go build
student@ubuntu:~/piscine-go/test$ ./test
student@ubuntu:~/[[ROOT]]/test$ go build
student@ubuntu:~/[[ROOT]]/test$ ./test
12345
12345
0
@ -73,5 +73,5 @@ student@ubuntu:~/piscine-go/test$ ./test
-1234
0
0
student@ubuntu:~/piscine-go/test$
student@ubuntu:~/[[ROOT]]/test$
```

6
subjects/atoibase.en.md

@ -48,12 +48,12 @@ func main() {
And its output :
```console
student@ubuntu:~/piscine-go/test$ go build
student@ubuntu:~/piscine-go/test$ ./test
student@ubuntu:~/[[ROOT]]/test$ go build
student@ubuntu:~/[[ROOT]]/test$ ./test
125
125
125
125
0
student@ubuntu:~/piscine-go/test$
student@ubuntu:~/[[ROOT]]/test$
```

6
subjects/atoibase.fr.md

@ -48,12 +48,12 @@ func main() {
Et son résultat :
```console
student@ubuntu:~/piscine-go/test$ go build
student@ubuntu:~/piscine-go/test$ ./test
student@ubuntu:~/[[ROOT]]/test$ go build
student@ubuntu:~/[[ROOT]]/test$ ./test
125
125
125
125
0
student@ubuntu:~/piscine-go/test$
student@ubuntu:~/[[ROOT]]/test$
```

6
subjects/atoiprog.en.md

@ -73,8 +73,8 @@ func main() {
And its output :
```console
student@ubuntu:~/piscine-go/test$ go build
student@ubuntu:~/piscine-go/test$ ./test
student@ubuntu:~/[[ROOT]]/test$ go build
student@ubuntu:~/[[ROOT]]/test$ ./test
12345
12345
0
@ -83,5 +83,5 @@ student@ubuntu:~/piscine-go/test$ ./test
-1234
0
0
student@ubuntu:~/piscine-go/test$
student@ubuntu:~/[[ROOT]]/test$
```

6
subjects/basicatoi.en.md

@ -48,10 +48,10 @@ func main() {
And its output :
```console
student@ubuntu:~/piscine-go/test$ go build
student@ubuntu:~/piscine-go/test$ ./test
student@ubuntu:~/[[ROOT]]/test$ go build
student@ubuntu:~/[[ROOT]]/test$ ./test
12345
12345
0
student@ubuntu:~/piscine-go/test$
student@ubuntu:~/[[ROOT]]/test$
```

6
subjects/basicatoi.fr.md

@ -48,10 +48,10 @@ func main() {
Et son résultat :
```console
student@ubuntu:~/piscine-go/test$ go build
student@ubuntu:~/piscine-go/test$ ./test
student@ubuntu:~/[[ROOT]]/test$ go build
student@ubuntu:~/[[ROOT]]/test$ ./test
12345
12345
0
student@ubuntu:~/piscine-go/test$
student@ubuntu:~/[[ROOT]]/test$
```

6
subjects/basicatoi2.en.md

@ -52,11 +52,11 @@ func main() {
And its output :
```console
student@ubuntu:~/piscine-go/test$ go build
student@ubuntu:~/piscine-go/test$ ./test
student@ubuntu:~/[[ROOT]]/test$ go build
student@ubuntu:~/[[ROOT]]/test$ ./test
12345
12345
0
0
student@ubuntu:~/piscine-go/test$
student@ubuntu:~/[[ROOT]]/test$
```

6
subjects/basicatoi2.fr.md

@ -52,11 +52,11 @@ func main() {
Et son résultat :
```console
student@ubuntu:~/piscine-go/test$ go build
student@ubuntu:~/piscine-go/test$ ./test
student@ubuntu:~/[[ROOT]]/test$ go build
student@ubuntu:~/[[ROOT]]/test$ ./test
12345
12345
0
0
student@ubuntu:~/piscine-go/test$
student@ubuntu:~/[[ROOT]]/test$
```

6
subjects/basicjoin.en.md

@ -33,8 +33,8 @@ func main() {
And its output :
```console
student@ubuntu:~/piscine-go/test$ go build
student@ubuntu:~/piscine-go/test$ ./test
student@ubuntu:~/[[ROOT]]/test$ go build
student@ubuntu:~/[[ROOT]]/test$ ./test
Hello! How are you?
student@ubuntu:~/piscine-go/test$
student@ubuntu:~/[[ROOT]]/test$
```

6
subjects/basicjoin.fr.md

@ -33,8 +33,8 @@ func main() {
Et son résultat :
```console
student@ubuntu:~/piscine-go/test$ go build
student@ubuntu:~/piscine-go/test$ ./test
student@ubuntu:~/[[ROOT]]/test$ go build
student@ubuntu:~/[[ROOT]]/test$ ./test
Hello! How are you?
student@ubuntu:~/piscine-go/test$
student@ubuntu:~/[[ROOT]]/test$
```

6
subjects/boolean.en.md

@ -42,9 +42,9 @@ func main() {
### Usage
```console
student@ubuntu:~/piscine-go/boolean$ go build
student@ubuntu:~/piscine-go/boolean$ ./boolean "not" "odd"
student@ubuntu:~/[[ROOT]]/boolean$ go build
student@ubuntu:~/[[ROOT]]/boolean$ ./boolean "not" "odd"
I have an even number of arguments
student@ubuntu:~/piscine-go/boolean$ ./boolean "not even"
student@ubuntu:~/[[ROOT]]/boolean$ ./boolean "not even"
I have an odd number of arguments
```

6
subjects/boolean.fr.md

@ -42,9 +42,9 @@ func main() {
### Utilisation
```console
student@ubuntu:~/piscine-go/boolean$ go build
student@ubuntu:~/piscine-go/boolean$ ./boolean "not" "odd"
student@ubuntu:~/[[ROOT]]/boolean$ go build
student@ubuntu:~/[[ROOT]]/boolean$ ./boolean "not" "odd"
I have an even number of arguments
student@ubuntu:~/piscine-go/boolean$ ./boolean "not even"
student@ubuntu:~/[[ROOT]]/boolean$ ./boolean "not even"
I have an odd number of arguments
```

12
subjects/brackets.en.md

@ -13,15 +13,15 @@ If there is no argument, the program must print only a newline.
### Usage
```console
student@ubuntu:~/piscine-go/brackets$ go build
student@ubuntu:~/piscine-go/brackets$ ./brackets '(johndoe)' | cat -e
student@ubuntu:~/[[ROOT]]/brackets$ go build
student@ubuntu:~/[[ROOT]]/brackets$ ./brackets '(johndoe)' | cat -e
OK$
student@ubuntu:~/piscine-go/brackets$ ./brackets '([)]' | cat -e
student@ubuntu:~/[[ROOT]]/brackets$ ./brackets '([)]' | cat -e
Error$
student@ubuntu:~/piscine-go/brackets$ ./brackets '' '{[(0 + 0)(1 + 1)](3*(-1)){()}}' | cat -e
student@ubuntu:~/[[ROOT]]/brackets$ ./brackets '' '{[(0 + 0)(1 + 1)](3*(-1)){()}}' | cat -e
OK$
OK$
student@ubuntu:~/piscine-go/brackets$ ./brackets | cat -e
student@ubuntu:~/[[ROOT]]/brackets$ ./brackets | cat -e
$
student@ubuntu:~/piscine-go/brackets$
student@ubuntu:~/[[ROOT]]/brackets$
```

12
subjects/brackets.fr.md

@ -13,15 +13,15 @@ Si il n'y a pas d'argument, le programme affiche seulement un retour à la ligne
### Utilisation
```console
student@ubuntu:~/piscine-go/brackets$ go build
student@ubuntu:~/piscine-go/brackets$ ./brackets '(johndoe)' | cat -e
student@ubuntu:~/[[ROOT]]/brackets$ go build
student@ubuntu:~/[[ROOT]]/brackets$ ./brackets '(johndoe)' | cat -e
OK$
student@ubuntu:~/piscine-go/brackets$ ./brackets '([)]' | cat -e
student@ubuntu:~/[[ROOT]]/brackets$ ./brackets '([)]' | cat -e
Error$
student@ubuntu:~/piscine-go/brackets$ ./brackets '' '{[(0 + 0)(1 + 1)](3*(-1)){()}}' | cat -e
student@ubuntu:~/[[ROOT]]/brackets$ ./brackets '' '{[(0 + 0)(1 + 1)](3*(-1)){()}}' | cat -e
OK$
OK$
student@ubuntu:~/piscine-go/brackets$ ./brackets | cat -e
student@ubuntu:~/[[ROOT]]/brackets$ ./brackets | cat -e
$
student@ubuntu:~/piscine-go/brackets$
student@ubuntu:~/[[ROOT]]/brackets$
```

12
subjects/brainfuck.en.md

@ -22,14 +22,14 @@ Any other character is a comment.
### Usage
```console
student@ubuntu:~/piscine-go/brainfuck$ go build
student@ubuntu:~/piscine-go/brainfuck$ ./brainfuck "++++++++++[>+++++++>++++++++++>+++>+<<<<-]>++.>+.+++++++..+++.>++.<<+++++++++++++++.>.+++.------.--------.>+.>." | cat -e
student@ubuntu:~/[[ROOT]]/brainfuck$ go build
student@ubuntu:~/[[ROOT]]/brainfuck$ ./brainfuck "++++++++++[>+++++++>++++++++++>+++>+<<<<-]>++.>+.+++++++..+++.>++.<<+++++++++++++++.>.+++.------.--------.>+.>." | cat -e
Hello World!$
student@ubuntu:~/piscine-go/brainfuck$ ./brainfuck "+++++[>++++[>++++H>+++++i<<-]>>>++\n<<<<-]>>--------.>+++++.>." | cat -e
student@ubuntu:~/[[ROOT]]/brainfuck$ ./brainfuck "+++++[>++++[>++++H>+++++i<<-]>>>++\n<<<<-]>>--------.>+++++.>." | cat -e
Hi$
student@ubuntu:~/piscine-go/brainfuck$ ./brainfuck "++++++++++[>++++++++++>++++++++++>++++++++++<<<-]>---.>--.>-.>++++++++++." | cat -e
student@ubuntu:~/[[ROOT]]/brainfuck$ ./brainfuck "++++++++++[>++++++++++>++++++++++>++++++++++<<<-]>---.>--.>-.>++++++++++." | cat -e
abc$
student@ubuntu:~/piscine-go/brainfuck$ ./brainfuck | cat -e
student@ubuntu:~/[[ROOT]]/brainfuck$ ./brainfuck | cat -e
$
student@ubuntu:~/piscine-go/brainfuck$
student@ubuntu:~/[[ROOT]]/brainfuck$
```

12
subjects/brainfuck.fr.md

@ -22,14 +22,14 @@ Tout autre caractère est un commentaire.
### Utilisation
```console
student@ubuntu:~/piscine-go/brainfuck$ go build
student@ubuntu:~/piscine-go/brainfuck$ ./brainfuck "++++++++++[>+++++++>++++++++++>+++>+<<<<-]>++.>+.+++++++..+++.>++.<<+++++++++++++++.>.+++.------.--------.>+.>." | cat -e
student@ubuntu:~/[[ROOT]]/brainfuck$ go build
student@ubuntu:~/[[ROOT]]/brainfuck$ ./brainfuck "++++++++++[>+++++++>++++++++++>+++>+<<<<-]>++.>+.+++++++..+++.>++.<<+++++++++++++++.>.+++.------.--------.>+.>." | cat -e
Hello World!$
student@ubuntu:~/piscine-go/brainfuck$ ./brainfuck "+++++[>++++[>++++H>+++++i<<-]>>>++\n<<<<-]>>--------.>+++++.>." | cat -e
student@ubuntu:~/[[ROOT]]/brainfuck$ ./brainfuck "+++++[>++++[>++++H>+++++i<<-]>>>++\n<<<<-]>>--------.>+++++.>." | cat -e
Hi$
student@ubuntu:~/piscine-go/brainfuck$ ./brainfuck "++++++++++[>++++++++++>++++++++++>++++++++++<<<-]>---.>--.>-.>++++++++++." | cat -e
student@ubuntu:~/[[ROOT]]/brainfuck$ ./brainfuck "++++++++++[>++++++++++>++++++++++>++++++++++<<<-]>---.>--.>-.>++++++++++." | cat -e
abc$
student@ubuntu:~/piscine-go/brainfuck$ ./brainfuck | cat -e
student@ubuntu:~/[[ROOT]]/brainfuck$ ./brainfuck | cat -e
$
student@ubuntu:~/piscine-go/brainfuck$
student@ubuntu:~/[[ROOT]]/brainfuck$
```

6
subjects/btreeapplybylevel.en.md

@ -36,11 +36,11 @@ func main() {
And its output :
```console
student@ubuntu:~/piscine-go/test$ go build
student@ubuntu:~/piscine-go/test$ ./test
student@ubuntu:~/[[ROOT]]/test$ go build
student@ubuntu:~/[[ROOT]]/test$ ./test
4
1
7
5
student@ubuntu:~/piscine-go/test$
student@ubuntu:~/[[ROOT]]/test$
```

6
subjects/btreeapplybylevel.fr.md

@ -36,11 +36,11 @@ func main() {
Et son résultat :
```console
student@ubuntu:~/piscine-go/test$ go build
student@ubuntu:~/piscine-go/test$ ./test
student@ubuntu:~/[[ROOT]]/test$ go build
student@ubuntu:~/[[ROOT]]/test$ ./test
4
1
7
5
student@ubuntu:~/piscine-go/test$
student@ubuntu:~/[[ROOT]]/test$
```

6
subjects/btreeapplyinorder.en.md

@ -37,11 +37,11 @@ func main() {
And its output :
```console
student@ubuntu:~/piscine-go/test$ go build
student@ubuntu:~/piscine-go/test$ ./test
student@ubuntu:~/[[ROOT]]/test$ go build
student@ubuntu:~/[[ROOT]]/test$ ./test
1
4
5
7
student@ubuntu:~/piscine-go/test$
student@ubuntu:~/[[ROOT]]/test$
```

6
subjects/btreeapplyinorder.fr.md

@ -37,11 +37,11 @@ func main() {
Et son résultat :
```console
student@ubuntu:~/piscine-go/test$ go build
student@ubuntu:~/piscine-go/test$ ./test
student@ubuntu:~/[[ROOT]]/test$ go build
student@ubuntu:~/[[ROOT]]/test$ ./test
1
4
5
7
student@ubuntu:~/piscine-go/test$
student@ubuntu:~/[[ROOT]]/test$
```

6
subjects/btreeapplypostorder.en.md

@ -37,11 +37,11 @@ func main() {
And its output :
```console
student@ubuntu:~/piscine-go/test$ go build
student@ubuntu:~/piscine-go/test$ ./test
student@ubuntu:~/[[ROOT]]/test$ go build
student@ubuntu:~/[[ROOT]]/test$ ./test
1
5
7
4
student@ubuntu:~/piscine-go/test$
student@ubuntu:~/[[ROOT]]/test$
```

6
subjects/btreeapplypostorder.fr.md

@ -37,11 +37,11 @@ func main() {
Et son résultat :
```console
student@ubuntu:~/piscine-go/btreeinsertdata$ go build
student@ubuntu:~/piscine-go/btreeinsertdata$ ./btreeinsertdata
student@ubuntu:~/[[ROOT]]/btreeinsertdata$ go build
student@ubuntu:~/[[ROOT]]/btreeinsertdata$ ./btreeinsertdata
1
5
7
4
student@ubuntu:~/piscine-go/btreeinsertdata$
student@ubuntu:~/[[ROOT]]/btreeinsertdata$
```

6
subjects/btreeapplypreorder.en.md

@ -37,11 +37,11 @@ func main() {
And its output :
```console
student@ubuntu:~/piscine-go/test$ go build
student@ubuntu:~/piscine-go/test$ ./test
student@ubuntu:~/[[ROOT]]/test$ go build
student@ubuntu:~/[[ROOT]]/test$ ./test
4
1
7
5
student@ubuntu:~/piscine-go/test$
student@ubuntu:~/[[ROOT]]/test$
```

6
subjects/btreeapplypreorder.fr.md

@ -37,11 +37,11 @@ func main() {
Et son résultat :
```console
student@ubuntu:~/piscine-go/test$ go build
student@ubuntu:~/piscine-go/test$ ./test
student@ubuntu:~/[[ROOT]]/test$ go build
student@ubuntu:~/[[ROOT]]/test$ ./test
4
1
7
5
student@ubuntu:~/piscine-go/test$
student@ubuntu:~/[[ROOT]]/test$
```

6
subjects/btreedeletenode.en.md

@ -43,8 +43,8 @@ func main() {
And its output :
```console
student@ubuntu:~/piscine-go/test$ go build
student@ubuntu:~/piscine-go/test$ ./test
student@ubuntu:~/[[ROOT]]/test$ go build
student@ubuntu:~/[[ROOT]]/test$ ./test
Before delete:
1
4
@ -54,5 +54,5 @@ After delete:
1
5
7
student@ubuntu:~/piscine-go/test$
student@ubuntu:~/[[ROOT]]/test$
```

6
subjects/btreedeletenode.fr.md

@ -43,8 +43,8 @@ func main() {
Et son résultat :
```console
student@ubuntu:~/piscine-go/test$ go build
student@ubuntu:~/piscine-go/test$ ./test
student@ubuntu:~/[[ROOT]]/test$ go build
student@ubuntu:~/[[ROOT]]/test$ ./test
Before delete:
1
4
@ -54,5 +54,5 @@ After delete:
1
5
7
student@ubuntu:~/piscine-go/test$
student@ubuntu:~/[[ROOT]]/test$
```

6
subjects/btreeinsertdata.en.md

@ -47,11 +47,11 @@ func main() {
And its output :
```console
student@ubuntu:~/piscine-go/btreeinsertdata$ go build
student@ubuntu:~/piscine-go/btreeinsertdata$ ./btreeinsertdata
student@ubuntu:~/[[ROOT]]/btreeinsertdata$ go build
student@ubuntu:~/[[ROOT]]/btreeinsertdata$ ./btreeinsertdata
1
4
5
7
student@ubuntu:~/piscine-go/btreeinsertdata$
student@ubuntu:~/[[ROOT]]/btreeinsertdata$
```

6
subjects/btreeinsertdata.fr.md

@ -47,11 +47,11 @@ func main() {
Et son résultat :
```console
student@ubuntu:~/piscine-go/btreeinsertdata$ go build
student@ubuntu:~/piscine-go/btreeinsertdata$ ./btreeinsertdata
student@ubuntu:~/[[ROOT]]/btreeinsertdata$ go build
student@ubuntu:~/[[ROOT]]/btreeinsertdata$ ./btreeinsertdata
1
4
5
7
student@ubuntu:~/piscine-go/btreeinsertdata$
student@ubuntu:~/[[ROOT]]/btreeinsertdata$
```

6
subjects/btreeisbinary.en.md

@ -36,8 +36,8 @@ func main() {
And its output :
```console
student@ubuntu:~/piscine-go/test$ go build
student@ubuntu:~/piscine-go/test$ ./test
student@ubuntu:~/[[ROOT]]/test$ go build
student@ubuntu:~/[[ROOT]]/test$ ./test
true
student@ubuntu:~/piscine-go/test$
student@ubuntu:~/[[ROOT]]/test$
```

6
subjects/btreeisbinary.fr.md

@ -36,8 +36,8 @@ func main() {
Et son résultat :
```console
student@ubuntu:~/piscine-go/test$ go build
student@ubuntu:~/piscine-go/test$ ./test
student@ubuntu:~/[[ROOT]]/test$ go build
student@ubuntu:~/[[ROOT]]/test$ ./test
true
student@ubuntu:~/piscine-go/test$
student@ubuntu:~/[[ROOT]]/test$
```

6
subjects/btreelevelcount.en.md

@ -37,8 +37,8 @@ func main() {
And its output :
```console
student@ubuntu:~/piscine-go/test$ go build
student@ubuntu:~/piscine-go/test$ ./test
student@ubuntu:~/[[ROOT]]/test$ go build
student@ubuntu:~/[[ROOT]]/test$ ./test
3
student@ubuntu:~/piscine-go/test$
student@ubuntu:~/[[ROOT]]/test$
```

6
subjects/btreelevelcount.fr.md

@ -37,8 +37,8 @@ func main() {
Et son résultat :
```console
student@ubuntu:~/piscine-go/test$ go build
student@ubuntu:~/piscine-go/test$ ./test
student@ubuntu:~/[[ROOT]]/test$ go build
student@ubuntu:~/[[ROOT]]/test$ ./test
3
student@ubuntu:~/piscine-go/test$
student@ubuntu:~/[[ROOT]]/test$
```

6
subjects/btreemax.en.md

@ -38,8 +38,8 @@ func main() {
And its output :
```console
student@ubuntu:~/piscine-go/test$ go build
student@ubuntu:~/piscine-go/test$ ./test
student@ubuntu:~/[[ROOT]]/test$ go build
student@ubuntu:~/[[ROOT]]/test$ ./test
7
student@ubuntu:~/piscine-go/test$
student@ubuntu:~/[[ROOT]]/test$
```

6
subjects/btreemax.fr.md

@ -38,8 +38,8 @@ func main() {
Et son résultat :
```console
student@ubuntu:~/piscine-go/test$ go build
student@ubuntu:~/piscine-go/test$ ./test
student@ubuntu:~/[[ROOT]]/test$ go build
student@ubuntu:~/[[ROOT]]/test$ ./test
7
student@ubuntu:~/piscine-go/test$
student@ubuntu:~/[[ROOT]]/test$
```

6
subjects/btreemin.en.md

@ -38,8 +38,8 @@ func main() {
And its output :
```console
student@ubuntu:~/piscine-go/test$ go build
student@ubuntu:~/piscine-go/test$ ./test
student@ubuntu:~/[[ROOT]]/test$ go build
student@ubuntu:~/[[ROOT]]/test$ ./test
1
student@ubuntu:~/piscine-go/test$
student@ubuntu:~/[[ROOT]]/test$
```

6
subjects/btreemin.fr.md

@ -38,8 +38,8 @@ func main() {
Et son résultat :
```console
student@ubuntu:~/piscine-go/test$ go build
student@ubuntu:~/piscine-go/test$ ./test
student@ubuntu:~/[[ROOT]]/test$ go build
student@ubuntu:~/[[ROOT]]/test$ ./test
1
student@ubuntu:~/piscine-go/test$
student@ubuntu:~/[[ROOT]]/test$
```

6
subjects/btreeprintroot.en.md

@ -38,10 +38,10 @@ func main() {
And its output :
```console
student@ubuntu:~/piscine-go/printroot$ go build
student@ubuntu:~/piscine-go/printroot$ ./printroot
student@ubuntu:~/[[ROOT]]/printroot$ go build
student@ubuntu:~/[[ROOT]]/printroot$ ./printroot
who
are
you
student@ubuntu:~/piscine-go/test$
student@ubuntu:~/[[ROOT]]/test$
```

6
subjects/btreeprintroot.fr.md

@ -38,10 +38,10 @@ func main() {
Et son résultat :
```console
student@ubuntu:~/piscine-go/printroot$ go build
student@ubuntu:~/piscine-go/printroot$ ./printroot
student@ubuntu:~/[[ROOT]]/printroot$ go build
student@ubuntu:~/[[ROOT]]/printroot$ ./printroot
who
are
you
student@ubuntu:~/piscine-go/test$
student@ubuntu:~/[[ROOT]]/test$
```

6
subjects/btreesearchitem.en.md

@ -63,11 +63,11 @@ func main() {
And its output :
```console
student@ubuntu:~/piscine-go/test$ go build
student@ubuntu:~/piscine-go/test$ ./test
student@ubuntu:~/[[ROOT]]/test$ go build
student@ubuntu:~/[[ROOT]]/test$ ./test
Item selected -> 7
Parent of selected item -> 4
Left child of selected item -> 5
Right child of selected item -> nil
student@ubuntu:~/piscine-go/test$
student@ubuntu:~/[[ROOT]]/test$
```

6
subjects/btreesearchitem.fr.md

@ -63,11 +63,11 @@ func main() {
Et son résultat :
```console
student@ubuntu:~/piscine-go/test$ go build
student@ubuntu:~/piscine-go/test$ ./test
student@ubuntu:~/[[ROOT]]/test$ go build
student@ubuntu:~/[[ROOT]]/test$ ./test
Item selected -> 7
Parent of selected item -> 4
Left child of selected item -> 5
Right child of selected item -> nil
student@ubuntu:~/piscine-go/test$
student@ubuntu:~/[[ROOT]]/test$
```

6
subjects/btreetransplant.en.md

@ -39,11 +39,11 @@ func main() {
And its output :
```console
student@ubuntu:~/piscine-go/test$ go build
student@ubuntu:~/piscine-go/test$ ./test
student@ubuntu:~/[[ROOT]]/test$ go build
student@ubuntu:~/[[ROOT]]/test$ ./test
3
4
5
7
student@ubuntu:~/piscine-go/test$
student@ubuntu:~/[[ROOT]]/test$
```

6
subjects/btreetransplant.fr.md

@ -39,11 +39,11 @@ func main() {
Et son résultat :
```console
student@ubuntu:~/piscine-go/test$ go build
student@ubuntu:~/piscine-go/test$ ./test
student@ubuntu:~/[[ROOT]]/test$ go build
student@ubuntu:~/[[ROOT]]/test$ ./test
3
4
5
7
student@ubuntu:~/piscine-go/test$
student@ubuntu:~/[[ROOT]]/test$
```

6
subjects/capitalize.en.md

@ -34,8 +34,8 @@ func main() {
And its output :
```console
student@ubuntu:~/piscine-go/test$ go build
student@ubuntu:~/piscine-go/test$ ./test
student@ubuntu:~/[[ROOT]]/test$ go build
student@ubuntu:~/[[ROOT]]/test$ ./test
Hello! How Are You? How+Are+Things+4you?
student@ubuntu:~/piscine-go/test$
student@ubuntu:~/[[ROOT]]/test$
```

6
subjects/capitalize.fr.md

@ -34,8 +34,8 @@ func main() {
Et son résultat :
```console
student@ubuntu:~/piscine-go/test$ go build
student@ubuntu:~/piscine-go/test$ ./test
student@ubuntu:~/[[ROOT]]/test$ go build
student@ubuntu:~/[[ROOT]]/test$ ./test
Hello! How Are You? How+Are+Things+4you?
student@ubuntu:~/piscine-go/test$
student@ubuntu:~/[[ROOT]]/test$
```

12
subjects/cat.en.md

@ -23,17 +23,17 @@ Write a program that has the same behaviour as the system's `cat` command-line.
- The program must be submitted inside a folder named `cat`.
```console
student@ubuntu:~/piscine-go/cat$ go build
student@ubuntu:~/piscine-go/cat$ ./cat abc
student@ubuntu:~/[[ROOT]]/cat$ go build
student@ubuntu:~/[[ROOT]]/cat$ ./cat abc
open abc: no such file or directory
student@ubuntu:~/piscine-go/cat$ ./cat quest8.txt
student@ubuntu:~/[[ROOT]]/cat$ ./cat quest8.txt
"Programming is a skill best acquired by pratice and example rather than from books" by Alan Turing
student@ubuntu:~/piscine-go/cat$ ./cat
student@ubuntu:~/[[ROOT]]/cat$ ./cat
Hello
Hello
^C
student@ubuntu:~/piscine-go/cat$ ./cat quest8.txt quest8T.txt
student@ubuntu:~/[[ROOT]]/cat$ ./cat quest8.txt quest8T.txt
"Programming is a skill best acquired by pratice and example rather than from books" by Alan Turing
"Alan Mathison Turing was an English mathematician, computer scientist, logician, cryptanalyst. Turing was highly influential in the development of theoretical computer science, providing a formalisation of the concepts of algorithm and computation with the Turing machine, which can be considered a model of a general-purpose computer. Turing is widely considered to be the father of theoretical computer science and artificial intelligence."
student@ubuntu:~/piscine-go/cat$
student@ubuntu:~/[[ROOT]]/cat$
```

10
subjects/cat.fr.md

@ -25,16 +25,16 @@
### Utilisation:
```console
student@ubuntu:~/piscine-go/cat$ go build
student@ubuntu:~/piscine-go/cat$ ./cat abc
student@ubuntu:~/[[ROOT]]/cat$ go build
student@ubuntu:~/[[ROOT]]/cat$ ./cat abc
open abc: no such file or directory
student@ubuntu:~/piscine-go/cat$ ./cat quest8.txt
student@ubuntu:~/[[ROOT]]/cat$ ./cat quest8.txt
"Programming is a skill best acquired by pratice and example rather than from books" by Alan Turing
student@ubuntu:~/piscine-go/cat$ ./cat
student@ubuntu:~/[[ROOT]]/cat$ ./cat
Hello
Hello
^C
student@ubuntu:~/piscine-go/cat$ ./cat quest8.txt quest8T.txt
student@ubuntu:~/[[ROOT]]/cat$ ./cat quest8.txt quest8T.txt
"Programming is a skill best acquired by pratice and example rather than from books" by Alan Turing
"Alan Mathison Turing was an English mathematician, computer scientist, logician, cryptanalyst. Turing was highly influential in the development of theoretical computer science, providing a formalisation of the concepts of algorithm and computation with the Turing machine, which can be considered a model of a general-purpose computer. Turing is widely considered to be the father of theoretical computer science and artificial intelligence."

4
subjects/cl-camp2.en.md

@ -11,7 +11,7 @@ A line is a sequence of characters preceding the [end of line](https://en.wikipe
### Usage
```console
student@ubuntu:~/piscine-go/test$ cat -e r
student@ubuntu:~/[[ROOT]]/test$ cat -e r
R$
student@ubuntu:~/piscine-go/test$
student@ubuntu:~/[[ROOT]]/test$
```

4
subjects/cl-camp2.fr.md

@ -11,7 +11,7 @@ Une ligne est une suite de caractères précédant le caractère [fin de ligne](
### Utilisation
```console
student@ubuntu:~/piscine-go/test$ cat -e r
student@ubuntu:~/[[ROOT]]/test$ cat -e r
R$
student@ubuntu:~/piscine-go/test$
student@ubuntu:~/[[ROOT]]/test$
```

8
subjects/cl-camp4.en.md

@ -10,15 +10,15 @@ Create a file `myfamily.sh`, which will show a subject's family (key: relatives)
- The subject will be decided depending on his ID which will be contained in the environment variable HERO_ID.
* Where to look : https://01.alem.school/assets/superhero/all.json
* Where to look : https://[[DOMAIN]]/assets/superhero/all.json
* What to use : curl, jq and others...
### Usage
```console
student@ubuntu:~/piscine-go/test$ export HERO_ID=1
student@ubuntu:~/piscine-go/test$ ./myfamily.sh
student@ubuntu:~/[[ROOT]]/test$ export HERO_ID=1
student@ubuntu:~/[[ROOT]]/test$ ./myfamily.sh
Marlo Chandler-Jones (wife); Polly (aunt); Mrs. Chandler (mother-in-law); Keith Chandler, Ray Chandler, three unidentified others (brothers-in-law); unidentified father (deceased); Jackie Shorr (alleged mother; unconfirmed)
student@ubuntu:~/piscine-go/test$
student@ubuntu:~/[[ROOT]]/test$
```

8
subjects/cl-camp4.fr.md

@ -10,15 +10,15 @@ Créer un fichier `myfamily.sh`, qui affichera la famille d'un individu (clef: r
- L'individu sera choisi en fonction de son ID qui sera contenu dans la variable d'environment HERO_ID.
* Où chercher : https://01.alem.school/assets/superhero/all.json
* Où chercher : https://[[DOMAIN]]/assets/superhero/all.json
* Quoi utiliser : `curl`, `jq` et d'autres...
### Utilisation
```console
student@ubuntu:~/piscine-go/test$ export HERO_ID=1
student@ubuntu:~/piscine-go/test$ ./myfamily.sh
student@ubuntu:~/[[ROOT]]/test$ export HERO_ID=1
student@ubuntu:~/[[ROOT]]/test$ ./myfamily.sh
Marlo Chandler-Jones (wife); Polly (aunt); Mrs. Chandler (mother-in-law); Keith Chandler, Ray Chandler, three unidentified others (brothers-in-law); unidentified father (deceased); Jackie Shorr (alleged mother; unconfirmed)
student@ubuntu:~/piscine-go/test$
student@ubuntu:~/[[ROOT]]/test$
```

4
subjects/cl-camp5.en.md

@ -13,11 +13,11 @@ That command will only show the name of the files without the `.sh`.
### Usage
```console
student@ubuntu:~/piscine-go/test$ ./lookagain.sh | cat -e
student@ubuntu:~/[[ROOT]]/test$ ./lookagain.sh | cat -e
file1$
file2$
file3$
student@ubuntu:~/piscine-go/test$
student@ubuntu:~/[[ROOT]]/test$
```
### Hint

4
subjects/cl-camp5.fr.md

@ -13,11 +13,11 @@ Cette commande montrera le nom des fichiers sans le`.sh`.
### Utilisation
```console
student@ubuntu:~/piscine-go/test$ ./lookagain.sh | cat -e
student@ubuntu:~/[[ROOT]]/test$ ./lookagain.sh | cat -e
file1$
file2$
file3$
student@ubuntu:~/piscine-go/test$
student@ubuntu:~/[[ROOT]]/test$
```
### Indice

4
subjects/cl-camp6.en.md

@ -9,7 +9,7 @@ Create a file `countfiles.sh`, which will print the number **(and only the numbe
### Usage
```console
student@ubuntu:~/piscine-go/test$ ./countfiles.sh | cat -e
student@ubuntu:~/[[ROOT]]/test$ ./countfiles.sh | cat -e
12$
student@ubuntu:~/piscine-go/test$
student@ubuntu:~/[[ROOT]]/test$
```

4
subjects/cl-camp6.fr.md

@ -9,7 +9,7 @@ Créer un fichier `countfiles.sh`, qui affichera le nombre **(et seulement le no
### Utilisation
```console
student@ubuntu:~/piscine-go/test$ ./countfiles.sh | cat -e
student@ubuntu:~/[[ROOT]]/test$ ./countfiles.sh | cat -e
12$
student@ubuntu:~/piscine-go/test$
student@ubuntu:~/[[ROOT]]/test$
```

4
subjects/cl-camp7.en.md

@ -9,7 +9,7 @@ Create a file `"\?$*'ChouMi'*$?\"` that will contain "01" and **nothing else**.
### Usage
```console
student@ubuntu:~/piscine-go/test$ ls | cat -e
student@ubuntu:~/[[ROOT]]/test$ ls | cat -e
"\?$*'ChouMi'*$?\"$
student@ubuntu:~/piscine-go/test$
student@ubuntu:~/[[ROOT]]/test$
```

4
subjects/cl-camp7.fr.md

@ -9,7 +9,7 @@ Créer un fichier `"\?$*'ChouMi'*$?\"` qui contiendra "01" et **rien d'autre**.
### Utilisation
```console
student@ubuntu:~/piscine-go/test$ ls | cat -e
student@ubuntu:~/[[ROOT]]/test$ ls | cat -e
"\?$*'ChouMi'*$?\" $
student@ubuntu:~/piscine-go/test$
student@ubuntu:~/[[ROOT]]/test$
```

12
subjects/cleanstr.en.md

@ -16,14 +16,14 @@ program displays a newline ("`\n`").
### Usage :
```console
student@ubuntu:~/piscine-go/cleanstr$ go build
student@ubuntu:~/piscine-go/cleanstr$ ./cleanstr "you see it's easy to display the same thing" | cat -e
student@ubuntu:~/[[ROOT]]/cleanstr$ go build
student@ubuntu:~/[[ROOT]]/cleanstr$ ./cleanstr "you see it's easy to display the same thing" | cat -e
you see it's easy to display the same thing$
student@ubuntu:~/piscine-go/cleanstr$ ./cleanstr " only it's harder "
student@ubuntu:~/[[ROOT]]/cleanstr$ ./cleanstr " only it's harder "
only it's harder$
student@ubuntu:~/piscine-go/cleanstr$ ./cleanstr " how funny" "Did you hear Mathilde ?"
student@ubuntu:~/[[ROOT]]/cleanstr$ ./cleanstr " how funny" "Did you hear Mathilde ?"
$
student@ubuntu:~/piscine-go/cleanstr$ ./cleanstr "" | cat -e
student@ubuntu:~/[[ROOT]]/cleanstr$ ./cleanstr "" | cat -e
$
student@ubuntu:~/piscine-go/cleanstr$
student@ubuntu:~/[[ROOT]]/cleanstr$
```

12
subjects/cleanstr.fr.md

@ -14,14 +14,14 @@ Si le nombre d'arguments est différent de 1, ou si il n'y a pas de mots à affi
### Utilisation :
```console
student@ubuntu:~/piscine-go/cleanstr$ go build
student@ubuntu:~/piscine-go/cleanstr$ ./cleanstr "you see it's easy to display the same thing" | cat -e
student@ubuntu:~/[[ROOT]]/cleanstr$ go build
student@ubuntu:~/[[ROOT]]/cleanstr$ ./cleanstr "you see it's easy to display the same thing" | cat -e
you see it's easy to display the same thing$
student@ubuntu:~/piscine-go/cleanstr$ ./cleanstr " only it's harder "
student@ubuntu:~/[[ROOT]]/cleanstr$ ./cleanstr " only it's harder "
only it's harder$
student@ubuntu:~/piscine-go/cleanstr$ ./cleanstr " how funny" "Did you hear Mathilde ?"
student@ubuntu:~/[[ROOT]]/cleanstr$ ./cleanstr " how funny" "Did you hear Mathilde ?"
$
student@ubuntu:~/piscine-go/cleanstr$ ./cleanstr "" | cat -e
student@ubuntu:~/[[ROOT]]/cleanstr$ ./cleanstr "" | cat -e
$
student@ubuntu:~/piscine-go/cleanstr$
student@ubuntu:~/[[ROOT]]/cleanstr$
```

8
subjects/collatzcountdown.en.md

@ -35,8 +35,8 @@ func main() {
And its output :
```console
student@ubuntu:~/piscine-go/test$ go build
student@ubuntu:~/piscine-go/test$ ./test
10
student@ubuntu:~/piscine-go/test$
student@ubuntu:~/{{ROOT}}/test$ go build
student@ubuntu:~/{{ROOT}}/test$ ./test
9
student@ubuntu:~/{{ROOT}}/test$
```

6
subjects/collatzcountdown.fr.md

@ -35,8 +35,8 @@ func main() {
Et son résultat :
```console
student@ubuntu:~/piscine-go/test$ go build
student@ubuntu:~/piscine-go/test$ ./test
student@ubuntu:~/[[ROOT]]/test$ go build
student@ubuntu:~/[[ROOT]]/test$ ./test
10
student@ubuntu:~/piscine-go/test$
student@ubuntu:~/[[ROOT]]/test$
```

8
subjects/comcheck.en.md

@ -11,10 +11,10 @@ Write a program `comcheck` that displays on the standard output `Alert!!!` follo
### Usage
```console
student@ubuntu:~/piscine-go/comcheck$ go build
student@ubuntu:~/piscine-go/comcheck$ ./comcheck "I" "Will" "Enter" "the" "galaxy"
student@ubuntu:~/[[ROOT]]/comcheck$ go build
student@ubuntu:~/[[ROOT]]/comcheck$ ./comcheck "I" "Will" "Enter" "the" "galaxy"
Alert!!!
student@ubuntu:~/piscine-go/comcheck$ ./comcheck "galaxy 01" "do" "you" "hear" "me"
student@ubuntu:~/[[ROOT]]/comcheck$ ./comcheck "galaxy 01" "do" "you" "hear" "me"
Alert!!!
student@ubuntu:~/piscine-go/comcheck$
student@ubuntu:~/[[ROOT]]/comcheck$
```

8
subjects/comcheck.fr.md

@ -11,10 +11,10 @@
### Usage
```console
student@ubuntu:~/piscine-go/comcheck$ go build
student@ubuntu:~/piscine-go/comcheck$ ./comcheck "I" "Will" "Enter" "the" "galaxy"
student@ubuntu:~/[[ROOT]]/comcheck$ go build
student@ubuntu:~/[[ROOT]]/comcheck$ ./comcheck "I" "Will" "Enter" "the" "galaxy"
Alert!!!
student@ubuntu:~/piscine-go/comcheck$ ./comcheck "galaxy 01" "do" "you" "hear" "me"
student@ubuntu:~/[[ROOT]]/comcheck$ ./comcheck "galaxy 01" "do" "you" "hear" "me"
Alert!!!
student@ubuntu:~/piscine-go/comcheck$
student@ubuntu:~/[[ROOT]]/comcheck$
```

6
subjects/compact.en.md

@ -53,8 +53,8 @@ func main() {
And its output :
```console
student@ubuntu:~/piscine-go/test$ go build
student@ubuntu:~/piscine-go/test$ ./test
student@ubuntu:~/[[ROOT]]/test$ go build
student@ubuntu:~/[[ROOT]]/test$ ./test
a
b
@ -65,5 +65,5 @@ Size after compacting: 3
a
b
c
student@ubuntu:~/piscine-go/test$
student@ubuntu:~/[[ROOT]]/test$
```

6
subjects/compact.fr.md

@ -53,8 +53,8 @@ func main() {
Et son résultat :
```console
student@ubuntu:~/piscine-go/test$ go build
student@ubuntu:~/piscine-go/test$ ./test
student@ubuntu:~/[[ROOT]]/test$ go build
student@ubuntu:~/[[ROOT]]/test$ ./test
a
b
@ -65,5 +65,5 @@ Size after compacting: 3
a
b
c
student@ubuntu:~/piscine-go/test$
student@ubuntu:~/[[ROOT]]/test$
```

6
subjects/compare.en.md

@ -34,10 +34,10 @@ func main() {
And its output :
```console
student@ubuntu:~/piscine-go/test$ go build
student@ubuntu:~/piscine-go/test$ ./test
student@ubuntu:~/[[ROOT]]/test$ go build
student@ubuntu:~/[[ROOT]]/test$ ./test
0
-1
1
student@ubuntu:~/piscine-go/test$
student@ubuntu:~/[[ROOT]]/test$
```

6
subjects/compare.fr.md

@ -34,10 +34,10 @@ func main() {
Et son résultat :
```console
student@ubuntu:~/piscine-go/test$ go build
student@ubuntu:~/piscine-go/test$ ./test
student@ubuntu:~/[[ROOT]]/test$ go build
student@ubuntu:~/[[ROOT]]/test$ ./test
0
-1
1
student@ubuntu:~/piscine-go/test$
student@ubuntu:~/[[ROOT]]/test$
```

6
subjects/concat.en.md

@ -33,8 +33,8 @@ func main() {
And its output :
```console
student@ubuntu:~/piscine-go/test$ go build
student@ubuntu:~/piscine-go/test$ ./test
student@ubuntu:~/[[ROOT]]/test$ go build
student@ubuntu:~/[[ROOT]]/test$ ./test
Hello! How are you?
student@ubuntu:~/piscine-go/test$
student@ubuntu:~/[[ROOT]]/test$
```

6
subjects/concat.fr.md

@ -33,8 +33,8 @@ func main() {
Et son résultat :
```console
student@ubuntu:~/piscine-go/test$ go build
student@ubuntu:~/piscine-go/test$ ./test
student@ubuntu:~/[[ROOT]]/test$ go build
student@ubuntu:~/[[ROOT]]/test$ ./test
Hello! How are you?
student@ubuntu:~/piscine-go/test$
student@ubuntu:~/[[ROOT]]/test$
```

6
subjects/concatparams.en.md

@ -35,11 +35,11 @@ func main() {
And its output :
```console
student@ubuntu:~/piscine-go/test$ go build
student@ubuntu:~/piscine-go/test$ ./test
student@ubuntu:~/[[ROOT]]/test$ go build
student@ubuntu:~/[[ROOT]]/test$ ./test
Hello
how
are
you?
student@ubuntu:~/piscine-go/test$
student@ubuntu:~/[[ROOT]]/test$
```

6
subjects/concatparams.fr.md

@ -35,11 +35,11 @@ func main() {
Et son résultat :
```console
student@ubuntu:~/piscine-go/test$ go build
student@ubuntu:~/piscine-go/test$ ./test
student@ubuntu:~/[[ROOT]]/test$ go build
student@ubuntu:~/[[ROOT]]/test$ ./test
Hello
how
are
you?
student@ubuntu:~/piscine-go/test$
student@ubuntu:~/[[ROOT]]/test$
```

6
subjects/convertbase.en.md

@ -37,8 +37,8 @@ func main() {
And its output :
```console
student@ubuntu:~/piscine-go/test$ go build
student@ubuntu:~/piscine-go/test$ ./test
student@ubuntu:~/[[ROOT]]/test$ go build
student@ubuntu:~/[[ROOT]]/test$ ./test
43
student@ubuntu:~/piscine-go/test$
student@ubuntu:~/[[ROOT]]/test$
```

6
subjects/convertbase.fr.md

@ -37,8 +37,8 @@ func main() {
Et son résultat :
```console
student@ubuntu:~/piscine-go/test$ go build
student@ubuntu:~/piscine-go/test$ ./test
student@ubuntu:~/[[ROOT]]/test$ go build
student@ubuntu:~/[[ROOT]]/test$ ./test
43
student@ubuntu:~/piscine-go/test$
student@ubuntu:~/[[ROOT]]/test$
```

6
subjects/countdown.en.md

@ -7,8 +7,8 @@ Write a program that displays all digits in descending order, followed by a newl
### Usage
```console
student@ubuntu:~/piscine-go/test$ go build
student@ubuntu:~/piscine-go/test$ ./test
student@ubuntu:~/[[ROOT]]/test$ go build
student@ubuntu:~/[[ROOT]]/test$ ./test
9876543210
student@ubuntu:~/piscine-go/test$
student@ubuntu:~/[[ROOT]]/test$
```

6
subjects/countdown.fr.md

@ -7,8 +7,8 @@
### Utilisation
```console
student@ubuntu:~/piscine-go/test$ go build
student@ubuntu:~/piscine-go/test$ ./test
student@ubuntu:~/[[ROOT]]/test$ go build
student@ubuntu:~/[[ROOT]]/test$ ./test
9876543210
student@ubuntu:~/piscine-go/test$
student@ubuntu:~/[[ROOT]]/test$
```

6
subjects/countif.en.md

@ -37,9 +37,9 @@ func main() {
And its output :
```console
student@ubuntu:~/piscine-go/test$ go build
student@ubuntu:~/piscine-go/test$ ./test
student@ubuntu:~/[[ROOT]]/test$ go build
student@ubuntu:~/[[ROOT]]/test$ ./test
0
2
student@ubuntu:~/piscine-go/test$
student@ubuntu:~/[[ROOT]]/test$
```

6
subjects/countif.fr.md

@ -37,9 +37,9 @@ func main() {
Et son résultat :
```console
student@ubuntu:~/piscine-go/test$ go build
student@ubuntu:~/piscine-go/test$ ./test
student@ubuntu:~/[[ROOT]]/test$ go build
student@ubuntu:~/[[ROOT]]/test$ ./test
0
2
student@ubuntu:~/piscine-go/test$
student@ubuntu:~/[[ROOT]]/test$
```

6
subjects/createelem.en.md

@ -38,8 +38,8 @@ func main() {
And its output :
```console
student@ubuntu:~/piscine-go/test$ go build
student@ubuntu:~/piscine-go/test$ ./test
student@ubuntu:~/[[ROOT]]/test$ go build
student@ubuntu:~/[[ROOT]]/test$ ./test
&{1234}
student@ubuntu:~/piscine-go/test$
student@ubuntu:~/[[ROOT]]/test$
```

Some files were not shown because too many files changed in this diff diff.show_more

Loading…
Cancel
Save