Logiciels pour Info 111 «Programmation Impérative»

Outre les séances de TP, vous aurez besoin de programmer plusieurs heures par semaine. Il est impératif que vous vous organisiez très rapidement pour pouvoir le faire.

Cette page décrit les logiciels utilisés, ainsi que les différents moyens que nous avons mis en place pour que vous puissiez y accéder (sur place, en ligne, sur votre ordinateur, …). À vous de choisir en fonction de ce qui conviendra le mieux à votre situation.

En cas de problème

Environnents de travail / logiciels utilisés

C++ interactif avec Jupyter

Lors des premières semaines, nous utilisons l’environnement interactif Jupyter, avec l’interpréteur C++ cling et son intégration dans Jupyter.

Voir la page dédiée.

C++ compilé

Par la suite, nous passerons progressivement à un environnement de programmation simple:

Vous pouvez, si vous le souhaitez, utiliser un environment de programmation intégré comme Code::Blocks ou geany, à condition de prendre en main par vous-même son utilisation, y compris l’usage du débogueur en ligne.

Accès aux logiciels

Dans les salles de TP à l’université

Tous les logiciels requis sont installés sur les machines des salles de TP au bâtiment 336. Au moment du démarage de la machine, choisir Linux/Ubuntu.

Sauf exception, la salle libre service (215 au 336) est disponible tous les jours de la semaine de 8h à 18h30.

En ligne: Service JupyterHub de l’université

L’université met à votre disposition un service JupyterHub donnant l’accès à tous les logiciels requis depuis n’importe quel ordinateur, tablette ou téléphone muni d’une connexion internet et d’un navigateur web (firefox, chrome, …). Il est prévu principalement pour les premières semaines où nous faisons du C++ interactif avec Jupyter, mais il peut aussi être utilisé pour les autres TPs et projets.

Ce service en est à un stade expérimental, géré notamment par votre serviteur. Il ne bénéficie pas encore du soutien 24/24 7/7 par des ingénieurs dédiés de la Direction des Services Informatique et les ressources sont limitées. Il peut y avoir des pannes, notamment en cas de forte charge.

Recommendation: lorsque vous êtes dans les salles de TP, utilisez les logiciels installés sur place et non le service JupyterHub afin de ne pas le surcharger

Utilisation

Connectez vous avec vos identifiants Adonis sur la page suivante:

https://jupytercloud.lal.in2p3.fr/

Dans la boîte de sélection d’établissement, saisissez Sud puis sélectionnez Université Paris Sud.

Vous arrivez à un écran Start My Server; cliquez dessus pour démarrer votre serveur Jupyter personnel.

Vous obtenez un navigateur sur les fichiers de votre dossier personnel sur ce serveur. Notez que ce dossier est indépendant de votre dossier personnel dans les salles de TP. Aussi, si c’est la première fois que vous utilisez le service JupyterHub, ce dossier est vide.

Votre serveur sera automatiquement éteint au bout de deux heures d’inutilisation. Mais votre dossier personnel est conservé d’une fois sur l’autre.

Serveur de secours

Si jamais le serveur JupyterHub est en panne et que vous n’êtes pas en salle de TP de l’université, vous pouvez travailler sur toutes les feuilles de TP sur le site suivant:

Binder

Mais attention: les sessions y sont temporaires: d’une fois sur l’autre les fichiers sont réinitialisés! Il faut donc impérativement déposer votre travail (ou télécharger à la main les fiches) avant de vous déconnecter sous peine de le perdre. Nous vous conseillons donc d’utiliser ce service uniquement si JupyterHub est en panne.

Sur votre machine personnelle

Les plus expérimentés d’entre vous qui souhaitent installer Jupyter sur leur machine, peuvent consulter lapage dédiée. Ce sera plus par curiosité que réellement utile.

En revanche, nous recommandons à tous d’installer sur votre machine les logiciels requis pour la suite du semestre; c’est plus confortable pour travailler. Vous trouverez ci-dessous des instructions.

Aide à l’installation: GNU/Linux

Avec la distribution Debian ou toute distribution dérivée (Ubuntu, Mint, …), il suffit d’ouvrir un terminal et d’installer les paquets nécessaires avec:

  apt update
  apt install build-essential gdb jedit

Vous pouvez aussi installer:

 apt install laby libsfml-dev

Sous les autres distributions, les paquets doivent avoir des noms similaires.

Aide à l’installation: Windows

Il est possible d’avoir sous Windows les mêmes outils que sous UNIX (terminal, …), par exemple en utilisant le «Ubuntu Subsystem». Voir la page dédiée.

Aide à l’installation: MacOS

MacOS, comme tous les UNIX, permet d’utiliser le terminal. Il suffit donc d’installer les outils de développement fournis par XCode. Vous pouvez installez ces outils sans installer XCode en entrant la commande suivante dans un terminal:

    xcode-select --install

(Pour ouvrir un terminal cliquez sur Applications dans le doc, puis sur Utilitaires puis sur Terminal)

Accès à distance aux salles de TP (pour les plus expérimentés)

Les instructions ci-dessous vous indique comment utiliser ssh pour ouvrir un terminal distant sur les salles de TP, voire y lancer Jupyter. Elles s’adressent aux plus expérimentés d’entre vous, ainsi qu’aux enseignants. Nous sommes toujours preneurs de suggestions d’amélioration, mais nous n’assurons pas de support.

Installation

Sous Linux / Ubuntu ou si vous utilisez le «Linux subsystem» de Windows (voir la page dédiée), ouvrez un terminal et lancez:

apt install openssh-client

Sous Windows: vous pouvez installer Putty

Sous MacOS: chercher les instruction sur internet

Vous pouvez aussi vous connecter depuis le service JupyterHub: ssh y est déjà installé

Ouverture d’un terminal distant

Ouvrez un terminal sur votre ordinateur ou depuis JupyterHub.

Lancez la commande suivante, en remplaçant prenon.nom par votre identifiant Adonis:

ssh prenom.nom@tp-ssh1.dep-informatique.u-psud.fr

Vous avez maintenant accès à toutes les commandes usuelles du terminal pour travailler sur votre dossier personnel en salle de TP. Cela peut par exemple permettre de lancer une soumission que vous auriez oublié de faire.

Vous pouvez aussi lancer des applications graphiques en rajoutant l’option -X. Cependant cela exige une bonne bande passante et le plus souvent c’est trop lent pour être réellement utilisable.

Lancement de Jupyter à distance

Lancez les commandes suivantes:

    port=8899
    ssh -L $port:localhost:$port prenom.nom@tp-ssh1.dep-informatique.u-psud.fr info-111 jupyter notebook --no-browser --port $port

Ouvrez votre navigateur à l’URL affichée, qui ressemblera à:

    http://127.0.0.1:8899/?token=b627....253cd