Mac OS X et les travaux pratiques en ligne
Ce document est destiné aux étudiants qui désirent suivre les TPs sur Mac OS. |
Développement en C++ sur macOS
Les séances de travaux pratiques du cours de Structures de données et algorithmes sont organisées en présentiel sur Windows 10 et Visual Studio 2022 Community (Windows 10).
Microsoft fournissait une version de Visual Studio 2022 pour Mac OS X mais cette version ne permettait que le développement d’applications mobiles (Android/iOS) et macOS à l’aide de Xaramin (C#) ainsi que le développement d’applications web avec .Net.
Depuis le 31 août 2024, elle a été abandonnée au profit de Visual Studio Code.
Quelles alternatives à Visual Studio 2022
La principale alternative sur macOS est XCode que vous devez installer via l’Apple Store. Son installation est facile et vous permet de faire du développement d’applications natives pour macOS et iOS. Son plus grand défaut, est qu’elle requièrait déjà plus de 37 GB d’espace disque disponible en 2020.
Si vous n’avez pas assez d’espace disque ou si votre version de l’OS n’est plus compatible (pas à jour), il est possible d’installer les outils de développement en ligne de commande et de les utiliser avec d’autres éditeurs.
Outils en ligne de commande
Pour cela, vous devez aller dans les Applications via le Finder et lancer Terminal qui se trouve dans le dossier Utilitaires. Sinon, vous pouvez aller dans le menu du Finder (dans la barre supérieure), menu Aller à et cliquer sur Utilitaires.
Depuis le terminal, entrez la ligne suivante :
xcode-select --install
Une fenêtre s’affichera pour installer les outils de développement. Quand l’installation sera terminée, vous pourrez vérifier en tapant la commande suivante :
clang --version
Vous pouvez installer CLion si vous n’avez pas la place pour Xcode.
Xcode
Lors de l’ouverture de Xcode, l’application vous présentera par défaut les types de projets multi-plateformes.
Vous devrez sélectionner macOS au dessus de la section Application :
Dans la section macOS, choisissez Command Line Tool et cliquez sur Next :
Ensuite, entrez le nom de votre projet et sélectionnez le langage C++ à la place de Swift :
Après avoir validé, une fenêtre de dialogue vous demandera où sauvegarder votre projet. Choisissez un emplacement et validez.
Enfin, vous pourrez commencer à programmer en sélectionnant le fichier main.cpp dans l’arborescence à gauche :
Sur macOS, votre fonction main devra toujours renvoyer une valeur entière. Sur les systèmes Unix comme macOS ou Linux, un code de retour de 0 équivaut à une fin normale de l’application.
Les paramètres de la fonction main servent à passer des arguments à vos programmes quand vous les appelez depuis un terminal.
Par exemple :
$ monapp input.txt output.txt
Dans ce cas-ci :
-
argc vaudra 3
-
argv[0] = "monapp"
-
argv[1] = "input.txt"
-
argv[2] = "output.txt"
Ces arguments sont facultatifs et vous pouvez vous en passer.
Voici un lien vers une vidéo montrant les différentes étapes reprises ci-dessus :
Vous ne savez pas comment taper certains caractères spéciaux sur un clavier mac ? Raccourcis clavier utiles |
CLion
Si vous ne pouvez pas installer XCode sur votre Mac, vous pouvez installer CLion de la société Jetbrains. Ce produit nécessite une licence gratuite, pour les étudiants et les enseignants, qui fournit accès à tous leurs environnements de développement.
Obtention de la licence gratuite JetBrains
Contrairement à PyCharm utilisé au cours de Python, ce logiciel ne propose pas de version Community disponible librement.
En tant qu’étudiant, vous avez la possibilité d’obtenir une licence d’un an renouvelable
pendant la durée de vos études : https://www.jetbrains.com/shop/eform/students
Cette licence vous donne accès à tout leurs éditeurs. (C++, Java, Python, etc …)
La capture d’écran ci-dessous date de 2020, faites attention et ne recopiez pas 2025 comme date de fin de vos études dans le formulaire. |
Vous recevrez un mail avec un lien Confirm Request :
Vous devriez arriver sur un formulaire où vous devrez choisir un nom d’utilisateur et
un mot de passe.
Entrez votre adresse student complète avec vos prénom et nom.
Si vous arrivez sur cette page au lieu du formulaire, alors mettez votre adresse prenom.nom@student.umons.ac.be dans la section Create JetBrains Account et cliquez sur Sign Up.
Installation à l’aide de Jetbrains Toolbox
Vous pouvez installer le programme Jetbrains Toolbox qui vous permettra de gérer les différents éditeurs et leurs mises à jour : https://www.jetbrains.com/fr-fr/toolbox-app/
Pour la licence, cliquez sur l’icône en forme d’écrou dans le coin supérieur droit et entrez vos nom d’utilisateur/email et mot de passe.
Ensuite, vous démarrez l’application (Finder > Applications > Jetbrains ToolBox) et vous pourrez installer CLion.
Quand le programme Toolbox s’exécute, si la fenêtre n’est pas visible, il faut regarder dans les applications minimisées de la barre des tâches. Cherchez son icône.
Si l’installation échoue après le téléchargement, retentez l’installation. Il s’agit apparemment d’un bug récurrent avec Mac OS.
En cas d’installation réussie, démarrez CLion et une boite de dialogue apparaîtra pour télécharger les compilateurs C++.
Le système vous demandera votre mot de passe de session pour autoriser l’installation des outils.
Premier lancement de CLion
Après, CLion vous demandera si vous avez des paramètres à importer. Choisissez ne pas importer et validez.
Voici l’écran d’accueil, cliquez sur New Project :
Vous pouvez choisir le nom de votre projet en remplaçant le mot "untitled" ou modifier l’emplacement du dossier avant de cliquer sur "Create" :
Une fenêtre nommée "Open Project Wizard" s’ouvrira au milieu de l’écran, elle devrait détecter les compilateurs installés lors de l’étape Outils en ligne de commande.
Sur macOS, vous verrez peut-être Bundled LLDB à la place de Bundled GDB au niveau du "Debugger".
Cliquez sur Ok et vous devriez voir le code de départ du projet :
Voici le projet par défaut ouvert.
La barre de menu se trouve dans la barre des tâches sur Mac OS et non dans la fenêtre comme dans la capture ci-dessous (Linux et Windows).
Pour compiler et exécuter, vous pouvez soit utiliser les menus Build et Run ou utiliser les icônes "marteau" et "play".
Les paramètres de CLion sont accessible via le raccourci clavier : Ctrl + Alt + S
Vous pouvez retrouver et changer des paramètres grâce à la recherche globale avec le raccourci :
Maj ⇧ Maj ⇧
Pour le zoom à l’aide de la molette de votre souris, vous pouvez rechercher "wheel" pour l’activer.
Voici ce que cela donne après avoir zoomé avec la touche Ctrl et la molette de défilement de la souris :
Vous pouvez aussi changer de thème facilement avec la recherche : "theme"
Visual Studio Code
Pour ceux d’entre vous qui ont déjà utilisé Visual Studio Code avec Javascript ou Python, son utilisation pour la programmation en C++ (et surtout sa configuration) n’est pas des plus pratique et est donc déconseillée.
Si néanmoins, vous vous obstinez dans cette voie, sachez que vous devrez installer le plugin C++ et créer un fichier tasks.json ou workspace.json pour chaque projet que vous réaliserez.
Bref, débrouillez-vous avec la documentation officielle.
Compilateur en ligne
Pour ceux qui n’ont pas la possibilité d’installer un éditeur complet, le site
https://www.onlinegdb.com/ permet de programmer en C++ dans un navigateur Web.
Gardez à l’esprit que vous êtes dépendant du bon fonctionnement du réseau et que le fichier n’est pas sur votre ordinateur.
Il suffit de choisir le langage C++ dans la partie droite de la barre supérieure
où se trouvent les boutons Run, Debug, Stop, Share, Save.
Le bouton Share permet d’obtenir un lien que l’on peut envoyer à une autre personne pour pouvoir partager le code sans transfert de fichiers.
Raccourcis clavier utiles
Pour trouver comment entrer les différents caractères spéciaux sur votre clavier, vous pouvez utiliser le clavier d’accessibilité :
Sur votre Mac, choisissez le menu Pomme > Préférences Système, cliquez sur Accessibilité, sur Clavier, sur Clavier d’accessibilité, puis cochez la case Activer le clavier d’accessibilité.
Avec ce clavier affiché à l’écran, il vous suffira d’appuyer sur une touche modificateur (Alt ⌥ , Cmd ⌘ ou Maj ⇧) pour visualiser les touches cachées.
Caractères/Actions | Raccourcis clavier |
---|---|
# |
Maj ⇧ + @ |
| |
Option (ou Alt) ⌥ + Maj ⇧ + l |
\ |
Option (ou Alt) ⌥ + Maj ⇧ + / |
{ |
Option (ou Alt) ⌥ + ( |
} |
Option (ou Alt) ⌥ + ) |
[ |
Option (ou Alt) ⌥ + Maj ⇧ + ( |
] |
Option (ou Alt) ⌥ + Maj ⇧ + ) |
~ |
Option (ou Alt) ⌥ + n |
Copier |
Cmd ⌘ + c |
Coller |
Cmd ⌘ + v |
Couper |
Cmd ⌘ + x |
Annuler |
Cmd ⌘ + z |
Refaire |
Cmd ⌘ + Maj ⇧ + z |
Capture d’écran |
Maj ⇧ + Commande ⌘ + 3 |
Capture d’une sélection à la souris |
Maj ⇧ + Commande ⌘ + 4 |
Capture (10.14 Mojave) |
Maj ⇧ + Commande ⌘ + 5 |
Microsoft Teams
Ce logiciel peut-être utilisé de deux manières, directement depuis un navigateur web compatible ou via l’installation de l’application native.
Il est conseillé d’installer l’application native car le partage de l’écran entier n’est pas possible depuis le Web. Cela peut poser problème si l’exécution du programme C++ se déroule dans une autre fenêtre. |
Problème de partage d’écran ou de contrôle avec Mac OS
Dans un soucis de protection de la vie privée, Apple impose aux applications d’avoir les autorisations pour pouvoir capturer/enregistrer l’écran et il se peut que Microsoft Teams n’ait pas les autorisations requises.
Si vous n’arrivez pas à partager votre bureau ou à donner le contrôle de votre session sur Mac Os, il faut aller faire un tour dans les paramètres de Sécurité et Vie Privée
À partir de Mac OS 10.15 (Catalina), vérifiez si Microsoft Teams a la permission d'Enregistrer l’écran :
Les autres options devraient être valable pour toute les versions de Mac OS actuelles.
Pour pouvoir donner le contrôle à quelqu’un, vérifiez si Microsoft Teams Helper a la permission dans la section Accessibilité :
Pour cocher Microsoft Teams, il faut d’abord cliquer sur le cadenas en bas à gauche et entrer votre mot de passe utilisateur.
Pour autoriser l’utilisation du micro :
Au cas où, vérifiez dans toutes les rubriques si Microsoft Teams apparaît. Il y a sans doute plus de rubriques que celles visibles, utilisez votre molette de souris pour les faire défiler.