Giter Club home page Giter Club logo

syllabusc_systeme's Introduction

Systèmes Informatiques

Build Status

Ce repository git est destiné à contenir les notes et exercices du cours de Projet3 (C, Unix/Linux, ...) donné en deuxième année aux étudiants ingénieurs civils et aux étudiants en sciences informatiques de l'UCL. Il sera mis régulièrement à jour et les étudiants sont encouragés à soumettre des bugs reports, envoyer des patches ( notamment pour la section relative aux outils) ou proposer de nouvelles questions à choix multiples.

Ce cours est écrit en restructured text et est distribué sous une licence creative commons https://creativecommons.org/licenses/by-sa/3.0/fr/

Compilation

Les notes sont écrites en restructured text et peuvent être transformées en un document au format HTML, epub ou PDF en utilisant le logiciel sphinx. Pour faciliter cette compilation, une configuration vagrant est reprise dans le fichier Vagrantfile se trouvant à la racine du projet. Vagrant est un logiciel fonctionnant sur Linux, Windows et MacOS qui permet d'automatiser et de faciliter la création de machines virtuelles supportées notamment par Virtualbox.

Pour démarrer votre environnement Vagrant, commencez par installer Vagrant et Virtualbox. Vagrant utilise le Vagrantfile pour créer les machines virtuelles. Ce dernier marque le dossier racine du projet et décrit le type de machine ainsi que les dépendances logicielles nécessaires au projet.

Plutôt que de créer une machine virtuelle à partir de zéro, Vagrant utilise une image de base à partir de laquelle créer la nouvelle machine virtuelle. Dans notre cas, le projet est configuré pour utiliser l'image "hashicorp/precise32" via la ligne config.vm.box = "hashicorp/precise32" dans le Vagrantfile. Si cette image n'est pas encore présente sur votre machine, elle sera automatiquement téléchargée lors du lancement de la machine virtuelle.

Pour démarrer votre environnement Vagrant, exécutez la commande vagrant up depuis le répertoire racine du projet. Cette commande télécharge toutes les dépendances nécessaires, démarre et configure la machine virtuelle. Lorsqu'elle termine, vous pouvez exécuter la commande vagrant ssh pour démarrer une session SSH avec la machine virtuelle nouvellement créée.

Cette machine virtuelle ne fournit pas d'interface graphique et vous serez donc contraints d'intéragir avec cette dernière en ligne de commande. Sur cette machine virtuelle, vous trouverez le répertoire /vagrant qui est en réalité un dossier partagé avec le répertoire racine du projet sur la machine host. Vagrant se charge de synchroniser automatiquement tous les changements à ce dossier depuis et vers la machine virtuelle. Vous n'êtes donc pas contraints de travailler sur le projet depuis le terminal à travers une session SSH. Vous pouvez très bien utiliser votre éditeur de texte favori sur votre machine host pour modifier n'importe quel fichier du projet. Les changements seront alors automatiquement synchronisés avec la machine virtuelle. Pour vous en convaincre, créez un nouveau fichier et vérifiez qu'il apparaît bien à la fois sur votre machine host et dans le répertoire /vagrant de la machine virtuelle.

Vous êtes maintenant en mesure de compiler le projet sous différents formats (consultez le Makefile pour plus d'informations). Vous pouvez notamment le compiler au format HTML avec make html, au format epub avec make epub ou encore au format PDF avec make latexpdf pour créer les fichiers LaTeX à compiler à l'aide de pdflatex. Le projet compilé est alors accessible dans le répertoire _build/nom_du_format.

FIXME: Il faut compiler les différentes parties séparément, e.g. pour la Théorie utiliser make html dans le répertoire correspondant.

Finalement, lorsque que vous avez terminé de travailler sur le projet, vous pouvez exécuter la commande vagrant destroy pour supprimer toutes les traces de la machine virtuelle précédemment créée.

Intégration continue

Le syllabus utilise travis comme système d'intégration continue. Si vous soumettez une proposition de modification au syllabus, tout le syllabus sera recompilé pour vérifier si votre modification est correcte au niveau de la syntaxe et de l'orthographe. Pensez à mettre des commentaires dans vos pull-requests en expliquant la raison de vos modifications. Essayez également de regrouper vos modifications pour faciliter leur relecture avant une intégration. Vous pouvez accéder aux résultats des tests d'intégration continue via https://travis-ci.com/UCL-INGI/SyllabusC

syllabusc_systeme's People

Contributors

ancailliau avatar anpar avatar aumassart avatar axelucl avatar bhesmans avatar blegat avatar donaschmi avatar dsarkozi avatar elniak avatar etriviere avatar fdardenne avatar fduchene avatar francoismichel avatar gregoryvds avatar jadinm avatar jdewasseige avatar joker018 avatar l9kd0 avatar magalii avatar matttbe avatar mon-ouie avatar obonaventure avatar peiffap avatar precondition avatar qdeconinck avatar rodescamps avatar screami avatar target0 avatar tdestouches avatar thothore avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.