This is a template (starter kit) for writing Maturity Work with Sphinx / LaTeX at Collège du Sud

Overview

sphinx-tm-template

Ce dépôt est un template de base utilisable pour écrire ton travail de maturité dans le séminaire d'informatique du Collège du Sud.

Installation

Prérequis sur votre machine locale

Il faut commencer par installer Python 3 sur la machine pour pouvoir exécuter les commandes suivantes. Normalement, les versions récentes de Linux et Mac OS disposent déjà d'un interpréteur Python. De plus, les commandes suivantes doivent être installées

  • pip
  • virtualenv

Si ce n'est pas le cas, on peut les installer sous Linux avec la commande

sudo apt-get install python3-pip python3-venv

Installation de Sphinx

Pour installer ce template Sphinx, il suffit de se trouver dans un terminal Linux disposant de la command git et de faire

# Cloner le dépôt
git clone https://github.com/informatiquecsud/sphinx-tm-template.git
cd sphinx-tm-template

# Création de l'environnement virtuel
python -m venv venv

# Activer l'environnement virtual Python
source venv/bin/activate

# Installation de Sphinx et autres dépendances
pip install -r requirements.txt

Configuration de Sphinx

Il faut insérer vos informations (auteur, titre, ... ) dans le fichier source/tmconfig.py. Ce fichier est ensuite automatiquement importé dans le module conf.py qui permet de configurer Sphinx.

Génération des documents cibles

Compilation en HTML

Pour compiler les fichiers Sphinx en HTML, il faut entrer la commande suivante depuis le dossier racine du projet contenant le fichier Makefile :

make livehtml

Compilation en LaTeX (PDF)

Pour pouvoir générer le PDF, il faut au préalable installer LaTeX sur le système. Sur un système Linux, il suffit de faire les commandes

sudo apt update
sudo apt-get install texlive-latex-extra texlive-lang-french texlive-fonts-recommended latexmk

Sur les machines Windows, l'installation risque d'être plus compliquée, raison pour laquelle il est conseillé de compiler votre travail directement dans Cloud9 ou dans le Bash Ubuntu de Windows 10.

Ensuite, pour générer le PDF, il suffit de faire depuis la racine du dépôt où se trouve le fichier Makefile principal :

make tmpdf

et de se rendre dans le dossier build/latex/ et ouvrir le fichier tm-ecrit.pdf généré par LaTeX.

Visualisation des pages HTML générées

Depuis une machine de développement locale

Il suffit ensuite, pour visualiser le résultat, de visiter http://localhost:8000/ dans le navigateur Web.

Cloner le dépôt

Le plus simple, pour démarrer, est de forker ce dépôt dans votre propre compte GitHub et cloner ce dernier sur votre machine locale ou dans un IDE en ligne tel que Gitpod.

Écrire son travail de maturité sur Gitpod

L'IDE en ligne Gitpod permet de disposer de machines virtuelles complètes sur lesquelles faire tourner la chaines d'outils Sphinx / LaTeX pour écrire la documentation des projets de TM en informatique.

Voici les étapes à suivre:

  1. Forker le dépôt https://github.com/informatiquecsud/sphinx-tm-template/ dans votre compte GitHub.

  2. Ouvrir votre version du dépôt sur GitHub et, dans la barre d'adresse du navigateur Web, rajouter https://gitpod.io# tout à gauche de l'adresse de votre dépôt GitHub. Pour que cela fonctionne, vous devez avoir un compte sur la plateforme https://gitpod.io/.

  3. Dans Gitpod, il faut commencer par installer Sphinx avec

    pip install -r requirements.txt
  4. Vous pouvez ensuite générer le HTML avec

    make livehtml
  5. Pour générer le PDF, il suffit d'exécuter la commande suivante dans un terminal.

    make tmpdf

Installation de LaTeX

Sur Gitpod

Sur Linux Ubuntu

Quilt is a self-organizing data hub for S3

Quilt is a self-organizing data hub Python Quick start, tutorials If you have Python and an S3 bucket, you're ready to create versioned datasets with

Quilt Data 1.2k Dec 30, 2022
epub2sphinx is a tool to convert epub files to ReST for Sphinx

epub2sphinx epub2sphinx is a tool to convert epub files to ReST for Sphinx. It uses Pandoc for converting HTML data inside epub files into ReST. It cr

Nihaal 8 Dec 15, 2022
Python code for working with NFL play by play data.

nfl_data_py nfl_data_py is a Python library for interacting with NFL data sourced from nflfastR, nfldata, dynastyprocess, and Draft Scout. Includes im

82 Jan 05, 2023
NetBox plugin for BGP related objects documentation

Netbox BGP Plugin Netbox plugin for BGP related objects documentation. Compatibility This plugin in compatible with NetBox 2.10 and later. Installatio

Nikolay Yuzefovich 133 Dec 27, 2022
DocumentPy is a Python application that runs in a command-line interface environment, made for creating HTML documents.

DocumentPy DocumentPy is a Python application that runs in a command-line interface environment, made for creating HTML documents. Usage DocumentPy, a

Lotus 0 Jul 15, 2021
Speed up Sphinx builds by selectively removing toctrees from some pages

Remove toctrees from Sphinx pages Improve your Sphinx build time by selectively removing TocTree objects from pages. This is useful if your documentat

Executable Books 8 Jan 04, 2023
Python Eacc is a minimalist but flexible Lexer/Parser tool in Python.

Python Eacc is a parsing tool it implements a flexible lexer and a straightforward approach to analyze documents.

Iury de oliveira gomes figueiredo 60 Nov 16, 2022
Python Programming (Practical) (1-25) Download 👇🏼

BCA-603 : Python Programming (Practical) (1-25) Download zip 🙂 🌟 How to run programs : Clone or download this repo to your computer. Unzip (If you d

Milan Jadav 2 Jun 02, 2022
Build documentation in multiple repos into one site.

mkdocs-multirepo-plugin Build documentation in multiple repos into one site. Setup Install plugin using pip: pip install git+https://github.com/jdoiro

Joseph Doiron 47 Dec 28, 2022
Word document generator with python

In this study, real world data is anonymized. The content is completely different, but the structure is the same. It was a script I prepared for the backend of a work using UiPath.

Ezgi Turalı 3 Jan 30, 2022
Testing-crud-login-drf - Creation of an application in django on music albums

testing-crud-login-drf Creation of an application in django on music albums Befo

Juan 1 Jan 11, 2022
30 Days of google cloud leaderboard website

30 Days of Cloud Leaderboard This is a leaderboard for the students of Thapar, Patiala who are participating in the 2021 30 days of Google Cloud Platf

Developer Student Clubs TIET 13 Aug 25, 2022
A collection of online resources to help you on your Tech journey.

Everything Tech Resources & Projects About The Project Coming from an engineering background and looking to up skill yourself on a new field can be di

Mohamed A 396 Dec 31, 2022
Preview title and other information about links sent to chats.

Link Preview A small plugin for Nicotine+ to display preview information like title and description about links sent in chats. Plugin created with Nic

Nick 0 Sep 05, 2021
Mkdocs obsidian publish - Publish your obsidian vault through a python script

Mkdocs Obsidian Mkdocs Obsidian is an association between a python script and a

Mara 49 Jan 09, 2023
Use Brainf*ck with python!

Brainfudge Run Brainf*ck code with python! Classes Interpreter(array_len): encapsulate all functions into class __init__(self, array_len: int=30000) -

1 Dec 14, 2021
Poetry plugin to export the dependencies to various formats

Poetry export plugin This package is a plugin that allows the export of locked packages to various formats. Note: For now, only the requirements.txt f

Poetry 90 Jan 05, 2023
Python Advanced --- numpy, decorators, networking

Python Advanced --- numpy, decorators, networking (and more?) Hello everyone 👋 This is the project repo for the "Python Advanced - ..." introductory

Andreas Poehlmann 2 Nov 05, 2021
204-python-string-21BCA90 created by GitHub Classroom

204-Python This repository is created for subject "204 Programming Skill" Python Programming. This Repository contain list of programs of python progr

VIDYABHARTI TRUST COLLEGE OF BCA 6 Mar 31, 2022
Workbench to integrate pyoptools with freecad, that means basically optics ray tracing capabilities for FreeCAD.

freecad-pyoptools Workbench to integrate pyoptools with freecad, that means basically optics ray tracing capabilities for FreeCAD. Requirements It req

Combustión Ingenieros SAS 12 Nov 16, 2022