Back
Close

Reader, faire une application pour Omega sur Numworks

gabriel79
1,491 views

Environnement

Les outils

L'installation d'un environnement de développement est souvent une étape un peu longue. Pour développer pour la Numworks il vous faudra installer quelques pré-requis.

La première étape va être d'installer les outils de compilations. Pour cela suivez les indications de l'étape 1 (Installation du SDK) sur Numworks

Sous windows, cela n'a pas été aussi simple qu'espéré pour moi. Il faut d'abord installer MSys, pour cela j'ai dû désactiver mon antivirus et activer juste Windows Defender. MSys fournit une ligne de commande comme sous linux ou macos. A partir de là il faut installer les packages dont à besoin Numworks:
pacman -S mingw-w64-x86_64-gcc mingw-w64-x86_64-freetype mingw-w64-x86_64-pkg-config mingw-w64-x86_64-libusb git make python

Puis en prenant bien garde d'être dans votre répertoire "home" de MSys, normalement MSys s'ouvre directement à cet endroit, mais si vous vous êtes baladé depuis l'invite de commande, il faut y retourner (pour vous y rendre la commande est juste cd), il faut rajouter une ligne à un fichier de configuration qui modifiera votre PATH à chaque fois que vous lancerez MSys:
echo "export PATH=/mingw64/bin:$PATH" >> .bashrc
Pour information, le PATH est l'ensemble des répertoires où l'ordinateur cherchera vos programmes quand vous tapez une commande.

Ensuite, fermer et relancer MSys.

En général, on aime coder dans un editeur de texte un peu enrichit, un IDE (Integrated Development Environment). Visual Studio Code est assez simple et complet, on le trouve sous linux, mac et windows, mais pour ce projet un bloc note et un terminal font l'affaire.

Une petite astuce pour ouvrir un terminal MSys dans Visual Studio Code, c'est de rajouter les 2 lignes suivantes dans le fichier de préférences (settings.json)

    "terminal.integrated.shell.windows": "C:\\msys64\\usr\\bin\\bash.exe",
    "terminal.integrated.shellArgs.windows": ["--login", "-i"]
Le code

Une fois l'environnement de développement préparé, il vous faut cloner Omega sur votre ordinateur. Pour cela, dans un terminal (MSys sous windows), exécutez la commande suivante :
$ git clone --recursive https://github.com/Omega-Numworks/Omega.git
Ne pas oublier le --recursive !

Cela créera un répertoire Omega dans le répertoire où vous vous trouvez, le code source sera dedans, et c'est dedans que nous allons travailler. Si vous souhaitez créer votre espace de travail ailleurs que dans le répertoire qui s'ouvre au lancement de votre terminal, les commandes pour vous déplacer dans l'arborescence en utilisant la ligne de commandes sont :
cd UnRepertoire pour aller dans le répertoire UnRepetoire
cd .. pour revenir au répertoire parent
mkDir Repertoire pour créer un répertoire.
Sous MSys, pour changer de disque, c'est par exemple $ cd /d/

La compilation

Je vous conseille de compiler une première fois le repository (l'ensemble du code que vous venez de télécharger) pour vous assurer que votre chaîne de compilation fonctionne.

Compiler consiste à transformer le code source d'une application en instructions binaires exécutable par un ordinateur.

Pour compiler pour le simulateur de votre plateforme, dans l'invite de commande de MSys, allez dans le répertoire de votre repository:
$ cd Omega

puis sous macos:
$ make PLATFORM=simulator TARGET=macos MODEL="n0110"

sous windows:
$ make PLATFORM=simulator TARGET=windows MODEL="n0110"

ou sous linux:
$ make PLATFORM=simulator MODEL="n0110"

ATTENTION : plateforme en anglais ne prend pas de E entre le T et le F, ni à la fin ! (cette découverte m'a coûté une heure)

Un premier test

Vous pouvez ensuite lancer le simulateur: sous macos:
$ output/release/simulator/macos/epsilon.app/Contents/MacOS/Epsilon

sous windows:
$ output/release/simulator/windows/epsilon.exe

sous linux:
$ output/release/simulator/linux/epsilon.bin

Pour compiler pour la calculatrice vous trouvez toutes les informations sur Omega

Si vous arrivez à compiler puis lancer le simulateur, on va pouvoir passer à la suite!

Create your playground on Tech.io
This playground was created on Tech.io, our hands-on, knowledge-sharing platform for developers.
Go to tech.io
codingame x discord
Join the CodinGame community on Discord to chat about puzzle contributions, challenges, streams, blog articles - all that good stuff!
JOIN US ON DISCORD
Online Participants