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

MkDocs Plugin allowing your visitors to *File > Print > Save as PDF* the entire site.

mkdocs-print-site-plugin MkDocs plugin that adds a page to your site combining all pages, allowing your site visitors to File Print Save as PDF th

Tim Vink 67 Jan 04, 2023
💻An open-source eBook with 101 Linux commands that everyone should know

This is an open-source eBook with 101 Linux commands that everyone should know. No matter if you are a DevOps/SysOps engineer, developer, or just a Linux enthusiast, you will most likely have to use

Ashfaque Ahmed 0 Oct 29, 2022
Fast syllable estimation library based on pattern matching.

Syllables: A fast syllable estimator for Python Syllables is a fast, simple syllable estimator for Python. It's intended for use in places where speed

ProseGrinder 26 Dec 14, 2022
Que es S4K Builder?, Fácil un constructor de tokens grabbers con muchas opciones, como BTC Miner, Clipper, shutdown PC, Y más! Disfrute el proyecto. <3

S4K Builder Este script Python 3 de código abierto es un constructor del muy popular registrador de tokens que está en [mi GitHub] (https://github.com

SadicX 1 Oct 22, 2021
Documentation generator for C++ based on Doxygen and mosra/m.css.

mosra/m.css is a Doxygen-based documentation generator that significantly improves on Doxygen's default output by controlling some of Doxygen's more unruly options, supplying it's own slick HTML+CSS

Mark Gillard 109 Dec 07, 2022
Highlight Translator can help you translate the words quickly and accurately.

Highlight Translator can help you translate the words quickly and accurately. By only highlighting, copying, or screenshoting the content you want to translate anywhere on your computer (ex. PDF, PPT

Coolshan 48 Dec 21, 2022
A clean customizable documentation theme for Sphinx

A clean customizable documentation theme for Sphinx

Pradyun Gedam 1.5k Jan 06, 2023
step by step guide for beginners for getting started with open source

Step-by-Step Guide for beginners for getting started with Open-Source Here The Contribution Begins 💻 If you are a beginner then this repository is fo

Arpit Jain 66 Jan 03, 2023
Dev Centric Tools for Mkdocs Based Documentation

docutools MkDocs Documentation Tools For Developers This repo is providing a set of plugins for mkdocs material compatible documentation. It is meant

Axiros GmbH 14 Sep 10, 2022
A pluggable API specification generator. Currently supports the OpenAPI Specification (f.k.a. the Swagger specification)..

apispec A pluggable API specification generator. Currently supports the OpenAPI Specification (f.k.a. the Swagger specification). Features Supports th

marshmallow-code 1k Jan 01, 2023
Dynamic Resume Generator

Dynamic Resume Generator

Quinten Lisowe 15 May 19, 2022
k3heap is a binary min heap implemented with reference

k3heap k3heap is a binary min heap implemented with reference k3heap is a component of pykit3 project: a python3 toolkit set. In this module RefHeap i

pykit3 1 Nov 13, 2021
Plover jyutping - Plover plugin for Jyutping input

Plover plugin for Jyutping Installation Navigate to the repo directory: cd plove

Samuel Lo 1 Mar 17, 2022
Simple yet powerful CAD (Computer Aided Design) library, written with Python.

Py-MADCAD it's time to throw parametric softwares out ! Simple yet powerful CAD (Computer Aided Design) library, written with Python. Installation

jimy byerley 124 Jan 06, 2023
The purpose of this project is to share knowledge on how awesome Streamlit is and can be

Awesome Streamlit The fastest way to build Awesome Tools and Apps! Powered by Python! The purpose of this project is to share knowledge on how Awesome

Marc Skov Madsen 1.5k Jan 07, 2023
Fun interactive program to sort a list :)

LHD-Build-Sort-a-list Fun interactive program to sort a list :) Inspiration LHD Build Write a script to sort a list. What it does It is a menu driven

Ananya Gupta 1 Jan 15, 2022
A Python Package To Generate Strong Passwords For You in Your Projects.

shPassGenerator Version 1.0.6 Ready To Use Developed by Shervin Badanara (shervinbdndev) on Github Language and technologies used in This Project Work

Shervin 11 Dec 19, 2022
Anomaly Detection via Reverse Distillation from One-Class Embedding

Anomaly Detection via Reverse Distillation from One-Class Embedding Implementation (Official Code ⭐️ ⭐️ ⭐️ ) Environment pytorch == 1.91 torchvision =

73 Dec 19, 2022
SamrSearch - SamrSearch can get user info and group info with MS-SAMR

SamrSearch SamrSearch can get user info and group info with MS-SAMR.like net use

knight 10 Oct 06, 2022
Documentation for the lottie file format

Lottie Documentation This repository contains both human-readable and machine-readable documentation about the Lottie format The documentation is avai

LottieFiles 25 Jan 05, 2023