Système d’exploitation

Les systèmes d’exploitation que nous utilisons sont fortement couplés à celui des nos robots.. Le système d’exploitation recommandé est Ubuntu. Dans le groupe et le laboratoire nous recommendons l’utilisation des versions avec un support à long terme (LTS).

Il est déconseillé d’utiliser un système d’exploitation avec des caractéristiques trop récentes. Si un autre membre de l’équipe souhaite utiliser votre code, vous devrez fournir le support. L’équipe de support du laboratoire (équipe IDEA) ne fournit pas de support pour les distributions qui ne sont pas LTS.

Les outils que vous devez maîtriser

Chaque jour nous utilisons intensément les outils suivants:

  • bash Le système de script shell
  • ssh SSH permet d’avoir une connection cryptée à un ordinateur distant. Cette clef vous permettra d’accéder aux dépôts logiciels sur github et le serveur gitlab du laboratoire.
  • git Système de contrôle des version. Vous devez utiliser un système de gestion de version control. Celui ci est utilisé par la communauté du noyau Linux. C’est un outil que nous utilisons tous les jours. Le lien pointe vers un didacticiel.
  • cmake CMake est un système de construction de paquet multiplateformes. Cet outil populaire est celui que nous utilisons au laboratoire.
  • C++ Il est supposé que vous avez compris la notion de compilateur et d’éditeur des liens. L’équipe utilise un nombre considérable de techniques de programmation orientées objets et souvent de la programmation par template.
  • ROS Le système d’explotation robotique, ROS en Anglais, est utilisé principalement pour deux raisons: comme un intergicie (middleware) pour gérer des applications robotiques distribuées, et parce que ROS fournit un large ensemble d’algorithmes et de structures logicielles très utiles en robotique.
  • github Github est la forge logicielle que nous utilisons sur la plupart de nos logiciels ouverts. Vous devez ouvrir un compte sur cette plateforme.
  • Le laboratoire a un serveur gitlab. Il fonctionne avec votre compte LAAS. Priviligiez ce serveur si vous souhaitez avoir un dépôt privé.
  • matrix L’équipe Gepetto utilise matrix pour communiquer dans plusieurs pièces. C’est l’outil priviligé pour communiquer avec l’équipe. Si vous n’avez pas de compte de LAAS alors vous pouvez créer un compte sur matrix.org puis essayer d’aller dans les pièces publiques du server im.laas.fr. Vous pouvez utiliser un client fonctionnant sur le navigateur, ou un client indiqué sur le site riot.org.

Style du code

Le style de codage est important parce que c’est ce que nous produisons presque tous les jours. Pour faciliter le support et l’accessibilité de vos codes (pour que les autres puissent vous aider) nous souhaiterions que vous suiviez les bonnes pratiques du language correspondant (principalement C++ et Python).

  • Il est nécessaire d’utiliser un éditeur de développement intégré (Emacs, vim, VSCode, Q++Builder)
  • Nous recommandons fortement de suivre les recommendations de Google concernant le style du code pour faciliter la lecture et la cohérence du code. C’est très long et donc vous pouvez sauter directement au point suivant pour l’appliquer à votre éditeur préféré.
  • Vous ne souhaitez probablement pas lire complétement le lien précédent, vous pouvez directement configurer EditorConfig pour votre éditeur/IDE avec votre ficier .editorconfig. Si vous utiliser emacs vous pouvez aller directement sur ce dépôt github repository.
  • Vous pouvez utiliser git pour vérifier que vous appliquer correctement la politique d’indentation en lisant cette page page.

Outils de développement intégré

  • jrl-cmakemodules Avec les années nous avons développé de nombreuses macros cmake pour faciliter la gestion des paquets. L’utilisation de ce paquet est obligatoire .
  • Le département robotique du LAAS a son propre dépôt apt. Ceci vous permet de pouvoir installer la plupart de nos paquets grâce à
apt install robotpkg-my-package