From 9d1d12a19133208a08c4273e282ee9c76b7d4798 Mon Sep 17 00:00:00 2001 From: Anthony Borghi <anthony.borghi@veremes.com> Date: Wed, 15 Feb 2023 10:31:35 +0100 Subject: [PATCH] mise en place strucutre pour la nouvelle documentation --- .gitignore | 1 + .gitlab-ci.yml | 24 +++ README.md | 18 +++ source/404.md | 8 + source/_static/css/custom.css | 45 ++++++ source/_templates/footer.html | 55 +++++++ source/_templates/layout.html | 259 ++++++++++++++++++++++++++++++++ source/conf.py | 141 +++++++++++++++++ source/git/advanced.md | 0 source/git/index.rst | 11 ++ source/git/introduction.md | 8 + source/images/Veremes_Black.svg | 56 +++++++ source/images/favicon.ico | Bin 0 -> 1150 bytes source/images/logo-menu.png | Bin 0 -> 17986 bytes source/index.rst | 20 +++ 15 files changed, 646 insertions(+) create mode 100644 .gitignore create mode 100644 .gitlab-ci.yml create mode 100644 README.md create mode 100644 source/404.md create mode 100644 source/_static/css/custom.css create mode 100644 source/_templates/footer.html create mode 100644 source/_templates/layout.html create mode 100644 source/conf.py create mode 100644 source/git/advanced.md create mode 100644 source/git/index.rst create mode 100644 source/git/introduction.md create mode 100644 source/images/Veremes_Black.svg create mode 100644 source/images/favicon.ico create mode 100644 source/images/logo-menu.png create mode 100644 source/index.rst diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..42afabf --- /dev/null +++ b/.gitignore @@ -0,0 +1 @@ +/build \ No newline at end of file diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml new file mode 100644 index 0000000..23949f4 --- /dev/null +++ b/.gitlab-ci.yml @@ -0,0 +1,24 @@ +image: veremes/sphinx-doc:latest + +variables: + S3_BUCKET_NAME_DEV_fr: "documentation-dev.veremes.net/dev/fr" + +# Deploiement documentation francaise +deploy-gtf-fr-documentation-dev : + stage: deploy + script: + # - pip install awscli + # - pip install -U sphinx + # - pip install sphinx_rtd_theme==0.5.2 + # - pip install sphinx-markdown-parser + # - pip install myst-parser + # - pip install pymdown-extensions + - sphinx-build -b html source build + - aws s3 cp build/ s3://$S3_BUCKET_NAME_DEV_fr/ --recursive + tags: + - deployment + only: + refs: + - next_version + changes: + - doc/**/* diff --git a/README.md b/README.md new file mode 100644 index 0000000..56616ba --- /dev/null +++ b/README.md @@ -0,0 +1,18 @@ +# Documentation de Développement + +Pour développer en local, il faut ouvrir un invite de commandes, ou un terminal powershell à la racine du fichier doumentation, modifier ou rajouter des fichier markdown, puis taper la commande : + +Il faut avoir python, et également sphinx et les différents outils utilisés par sphinx : + +``` +pip install -U sphinx +pip install sphinx_rtd_theme==0.5.2 +pip install sphinx-markdown-parser +pip install myst-parser +pip install pymdown-extensions +sphinx-build -b html doc/source doc/build +``` + +On peut ensuite visualiser le site dans le dossier "build" puis ouvrir le fichier index.html. + +Une fois que les modifications sont terminées, il suffit de push sur gitlab, et le site sera automatiquement déployé. diff --git a/source/404.md b/source/404.md new file mode 100644 index 0000000..6793b09 --- /dev/null +++ b/source/404.md @@ -0,0 +1,8 @@ +```{eval-rst} +:orphan: +``` +# Cette page n'existe pas + +- [Revenir à l'index de la documentation actuelle](./index.rst) + +- [Revenir au centre de documentation Veremes](http://documentation-dev.veremes.net) diff --git a/source/_static/css/custom.css b/source/_static/css/custom.css new file mode 100644 index 0000000..5d33887 --- /dev/null +++ b/source/_static/css/custom.css @@ -0,0 +1,45 @@ +/* COULEUR DE L'APPLICATION */ +.wy-side-nav-search { + background-color: #27282c; +} + +/*LARGEUR DE LA ZONE PRINCIPALE*/ +.wy-nav-content { + max-width: 80%; +} + +/* JUSTIFICATION DU TEXTE */ +.document{ + text-align: justify; +} + +/*CENTRAGE DES IMAGES ET LARGUEUR MAXIMALE*/ +.rst-content img { + display: block; + max-width: 85%; + margin: 25px auto; +} + +/*POLICE*/ + +.toctree-wrapper > p.caption, h1, h2, h3, h4, h5, h6, legend { + font-family: Arial, Verdana, sans-serif; +} + +/*MENU*/ +.lastupdated-header{ + font-size: 14px; + margin-bottom: 1em; + font-weight: normal; + color: rgba(255,255,255,0.3); +} + +.version{ + color: rgba(255,255,255,0.5) !important; +} + +/* Suppression de l'iconde download pour les fichiers téléchargeables */ +.rst-content code.download span:first-child::before{ + content : ''!important; + visibility: hidden; +} diff --git a/source/_templates/footer.html b/source/_templates/footer.html new file mode 100644 index 0000000..a58d594 --- /dev/null +++ b/source/_templates/footer.html @@ -0,0 +1,55 @@ +<footer> + {%- if (theme_prev_next_buttons_location == 'bottom' or theme_prev_next_buttons_location == 'both') and (next or prev) %} + <div class="rst-footer-buttons" role="navigation" aria-label="footer navigation"> + {%- if next %} + <a href="{{ next.link|e }}" class="btn btn-neutral float-right" title="{{ next.title|striptags|e }}" accesskey="n" rel="next">{{ _('Next') }} <span class="fa fa-arrow-circle-right" aria-hidden="true"></span></a> + {%- endif %} + {%- if prev %} + <a href="{{ prev.link|e }}" class="btn btn-neutral float-left" title="{{ prev.title|striptags|e }}" accesskey="p" rel="prev"><span class="fa fa-arrow-circle-left" aria-hidden="true"></span> {{ _('Previous') }}</a> + {%- endif %} + </div> + {%- endif %} + + <hr/> + + <div role="contentinfo"> + {%- block contentinfo %} + <p> + {%- if show_copyright %} + {%- if hasdoc('copyright') %} + {% trans path=pathto('copyright'), copyright=copyright|e %}© <a href="{{ path }}">Copyright</a> {{ copyright }}.{% endtrans %} + {%- else %} + {% trans copyright=copyright|e %}© Copyright {{ actual_year_copyright }}{% endtrans %} + {%- endif %} + {%- endif %} + + {%- if build_id and build_url %} + <span class="build"> + {# Translators: Build is a noun, not a verb #} + {% trans %}Build{% endtrans %} + <a href="{{ build_url }}">{{ build_id }}</a>. + </span> + {%- elif commit %} + <span class="commit"> + {# Translators: the phrase "revision" comes from Git, referring to a commit #} + {% trans %}Revision{% endtrans %} <code>{{ commit }}</code>. + </span> + {%- endif %} + </p> + {%- endblock %} + </div> + + {%- if show_sphinx %} + {% set sphinx_web = '<a href="https://www.sphinx-doc.org/">Sphinx</a>' %} + {% set readthedocs_web = '<a href="https://readthedocs.org">Read the Docs</a>' %} + {# Translators: the variable "sphinx_web" is a link to the Sphinx project documentation with the text "Sphinx" #} + {% trans sphinx_web=sphinx_web, readthedocs_web=readthedocs_web %}Built with {{ sphinx_web }} using a{% endtrans %} + {# Translators: "theme" refers to a theme for Sphinx, which alters the appearance of the generated documenation #} + <a href="https://github.com/readthedocs/sphinx_rtd_theme">{% trans %}theme{% endtrans %}</a> + {# Translators: this is always used as "provided by Read the Docs", and should not imply Read the Docs is an author of the generated documentation. #} + {% trans %}provided by {{ readthedocs_web }}{% endtrans %}. + {%- endif %} + + {%- block extrafooter %} {% endblock %} + +</footer> diff --git a/source/_templates/layout.html b/source/_templates/layout.html new file mode 100644 index 0000000..16b0180 --- /dev/null +++ b/source/_templates/layout.html @@ -0,0 +1,259 @@ +{# TEMPLATE VAR SETTINGS #} +{%- set url_root = pathto('', 1) %} +{%- if url_root == '#' %}{% set url_root = '' %}{% endif %} +{%- if not embedded and docstitle %} + {%- set titlesuffix = " — "|safe + docstitle|e %} +{%- else %} + {%- set titlesuffix = "" %} +{%- endif %} +{%- set lang_attr = 'en' if language == None else (language | replace('_', '-')) %} +{%- set sphinx_writer = 'writer-html5' if html5_doctype else 'writer-html4' %} + +<!DOCTYPE html> +<html class="{{ sphinx_writer }}" lang="{{ lang_attr }}" > +<head> + <meta charset="utf-8" /> + {{ metatags }} + <meta name="viewport" content="width=device-width, initial-scale=1.0" /> + {% block htmltitle %} + <title>{{ title|striptags|e }}{{ titlesuffix }}</title> + {% endblock %} + + {# CSS #} + <link rel="stylesheet" href="{{ pathto('_static/' + style, 1) }}" type="text/css" /> + <link rel="stylesheet" href="{{ pathto('_static/pygments.css', 1) }}" type="text/css" /> + {%- for css in css_files %} + {%- if css|attr("rel") %} + <link rel="{{ css.rel }}" href="{{ pathto(css.filename, 1) }}" type="text/css"{% if css.title is not none %} title="{{ css.title }}"{% endif %} /> + {%- else %} + <link rel="stylesheet" href="{{ pathto(css, 1) }}" type="text/css" /> + {%- endif %} + {%- endfor %} + + {%- for cssfile in extra_css_files %} + <link rel="stylesheet" href="{{ pathto(cssfile, 1) }}" type="text/css" /> + {%- endfor %} + + {# FAVICON #} + {% if favicon %} + <link rel="shortcut icon" href="{{ pathto('_static/' + favicon, 1) }}"/> + {% endif %} + + {# CANONICAL URL (deprecated) #} + {% if theme_canonical_url and not pageurl %} + <link rel="canonical" href="{{ theme_canonical_url }}{{ pagename }}.html"/> + {% endif %} + + {# CANONICAL URL #} + {%- if pageurl %} + <link rel="canonical" href="{{ pageurl|e }}" /> + {%- endif %} + + {# JAVASCRIPTS #} + {%- block scripts %} + <!--[if lt IE 9]> + <script src="{{ pathto('_static/js/html5shiv.min.js', 1) }}"></script> + <![endif]--> + {%- if not embedded %} + {# XXX Sphinx 1.8.0 made this an external js-file, quick fix until we refactor the template to inherert more blocks directly from sphinx #} + {% if sphinx_version >= "1.8.0" %} + <script type="text/javascript" id="documentation_options" data-url_root="{{ url_root }}" src="{{ pathto('_static/documentation_options.js', 1) }}"></script> + {%- for scriptfile in script_files %} + {{ js_tag(scriptfile) }} + {%- endfor %} + {% else %} + <script type="text/javascript"> + var DOCUMENTATION_OPTIONS = { + URL_ROOT:'{{ url_root }}', + VERSION:'{{ release|e }}', + LANGUAGE:'{{ language }}', + COLLAPSE_INDEX:false, + FILE_SUFFIX:'{{ '' if no_search_suffix else file_suffix }}', + HAS_SOURCE: {{ has_source|lower }}, + SOURCELINK_SUFFIX: '{{ sourcelink_suffix }}' + }; + </script> + {%- for scriptfile in script_files %} + <script type="text/javascript" src="{{ pathto(scriptfile, 1) }}"></script> + {%- endfor %} + {% endif %} + <script type="text/javascript" src="{{ pathto('_static/js/theme.js', 1) }}"></script> + + {# OPENSEARCH #} + {%- if use_opensearch %} + <link rel="search" type="application/opensearchdescription+xml" + title="{% trans docstitle=docstitle|e %}Search within {{ docstitle }}{% endtrans %}" + href="{{ pathto('_static/opensearch.xml', 1) }}"/> + {%- endif %} + {%- endif %} + {%- endblock %} + + {%- block linktags %} + {%- if hasdoc('about') %} + <link rel="author" title="{{ _('About these documents') }}" href="{{ pathto('about') }}" /> + {%- endif %} + {%- if hasdoc('genindex') %} + <link rel="index" title="{{ _('Index') }}" href="{{ pathto('genindex') }}" /> + {%- endif %} + {%- if hasdoc('search') %} + <link rel="search" title="{{ _('Search') }}" href="{{ pathto('search') }}" /> + {%- endif %} + {%- if hasdoc('copyright') %} + <link rel="copyright" title="{{ _('Copyright') }}" href="{{ pathto('copyright') }}" /> + {%- endif %} + {%- if next %} + <link rel="next" title="{{ next.title|striptags|e }}" href="{{ next.link|e }}" /> + {%- endif %} + {%- if prev %} + <link rel="prev" title="{{ prev.title|striptags|e }}" href="{{ prev.link|e }}" /> + {%- endif %} + {%- endblock %} + {%- block extrahead %} {% endblock %} +</head> + +<body class="wy-body-for-nav"> + + {% block extrabody %} {% endblock %} + <div class="wy-grid-for-nav"> + {# SIDE NAV, TOGGLES ON MOBILE #} + <nav data-toggle="wy-nav-shift" class="wy-nav-side"> + <div class="wy-side-scroll"> + <div class="wy-side-nav-search" {% if theme_style_nav_header_background %} style="background: {{theme_style_nav_header_background}}" {% endif %}> + {% block sidebartitle %} + + {% if logo and theme_logo_only %} + <a href="{{ pathto(master_doc) }}"> + {% else %} + <a href="{{ pathto(master_doc) }}" class="icon icon-home"> {{ project }} + {% endif %} + + {% if logo %} + {# Not strictly valid HTML, but it's the only way to display/scale + it properly, without weird scripting or heaps of work + #} + <img src="{{ pathto('_static/' + logo, 1) }}" class="logo" alt="{{ _('Logo') }}"/> + {% endif %} + </a> + + {% if theme_display_version %} + {%- set nav_version = version %} + {% if READTHEDOCS and current_version %} + {%- set nav_version = current_version %} + {% endif %} + {% if nav_version %} + <div class="version"> + {{ nav_version }} + </div> + {% endif %} + {% endif %} + {% if last_updated %} + <div class="lastupdated-header"> + {% if 'fr' in language %} + {% trans last_updated=last_updated|e %}Dernière mise à jour : {{ last_updated }}{% endtrans %} + {% else %} + {% trans last_updated=last_updated|e %}Last update : {{ last_updated }}{% endtrans %} + {% endif %} + </div> + {%- endif %} + + {% include "searchbox.html" %} + + {% endblock %} + </div> + + {% block navigation %} + <div class="wy-menu wy-menu-vertical" data-spy="affix" role="navigation" aria-label="main navigation"> + {% block menu %} + {# + The singlehtml builder doesn't handle this toctree call when the + toctree is empty. Skip building this for now. + #} + {% if 'singlehtml' not in builder %} + {% set global_toc = toctree(maxdepth=theme_navigation_depth|int, + collapse=theme_collapse_navigation|tobool, + includehidden=theme_includehidden|tobool, + titles_only=theme_titles_only|tobool) %} + {% endif %} + {% if global_toc %} + {{ global_toc }} + {% else %} + <!-- Local TOC --> + <div class="local-toc">{{ toc }}</div> + {% endif %} + {% endblock %} + </div> + {% endblock %} + </div> + </nav> + + <section data-toggle="wy-nav-shift" class="wy-nav-content-wrap"> + + {# MOBILE NAV, TRIGGLES SIDE NAV ON TOGGLE #} + <nav class="wy-nav-top" aria-label="top navigation"> + {% block mobile_nav %} + <i data-toggle="wy-nav-top" class="fa fa-bars"></i> + <a href="{{ pathto(master_doc) }}">{{ project }}</a> + {% endblock %} + </nav> + + + <div class="wy-nav-content"> + {%- block content %} + {% if theme_style_external_links|tobool %} + <div class="rst-content style-external-links"> + {% else %} + <div class="rst-content"> + {% endif %} + {% include "breadcrumbs.html" %} + <div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article"> + {%- block document %} + <div itemprop="articleBody"> + {% block body %}{% endblock %} + </div> + {% if self.comments()|trim %} + <div class="articleComments"> + {% block comments %}{% endblock %} + </div> + {% endif%} + </div> + {%- endblock %} + {% include "footer.html" %} + </div> + {%- endblock %} + </div> + + </section> + + </div> + {% include "versions.html" %} + + <script type="text/javascript"> + jQuery(function () { + SphinxRtdTheme.Navigation.enable({{ 'true' if theme_sticky_navigation|tobool else 'false' }}); + }); + </script> + + {# Do not conflict with RTD insertion of analytics script #} + {% if not READTHEDOCS %} + {% if theme_analytics_id %} + <!-- Theme Analytics --> + <script> + (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){ + (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o), + m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m) + })(window,document,'script','https://www.google-analytics.com/analytics.js','ga'); + + ga('create', '{{ theme_analytics_id }}', 'auto'); + {% if theme_analytics_anonymize_ip|tobool %} + ga('set', 'anonymizeIp', true); + {% endif %} + ga('send', 'pageview'); + </script> + + {% endif %} + {% endif %} + + {%- block footer %} {% endblock %} + +</body> +</html> diff --git a/source/conf.py b/source/conf.py new file mode 100644 index 0000000..b92a923 --- /dev/null +++ b/source/conf.py @@ -0,0 +1,141 @@ +import sphinx_rtd_theme +import os +from sphinx_markdown_parser.parser import MarkdownParser +from datetime import datetime +#from recommonmark.transform import AutoStructify + +source_parsers = { + '.md': 'CommonMarkParser', +} + +# Configuration file for the Sphinx documentation builder. +# +# This file only contains a selection of the most common options. For a full +# list see the documentation: +# https://www.sphinx-doc.org/en/master/usage/configuration.html + +# -- Path setup -------------------------------------------------------------- + +# If extensions (or modules to document with autodoc) are in another directory, +# add these directories to sys.path here. If the directory is relative to the +# documentation root, use os.path.abspath to make it absolute, like shown here. +# +# import os +# import sys +# sys.path.insert(0, os.path.abspath('.')) + + +# -- Project information ----------------------------------------------------- + +project = 'Documentation Veremes' +copyright = 'https://www.veremes.com' +author = 'Veremes' + +# The full version, including alpha/beta/rc tags +release = '2' +version = "1.0.0" + +# Python variable available in HTML template +html_context = { + 'actual_year_copyright' : str(datetime.now().year) + ', <a href="https://www.veremes.com" target="_blank">https://www.veremes.com</a>.' +} + +# -- General configuration --------------------------------------------------- + +# Add any Sphinx extension module names here, as strings. They can be +# extensions coming with Sphinx (named 'sphinx.ext.*') or your custom +# ones. +extensions = [ + 'sphinx_rtd_theme', + 'sphinx.ext.autodoc', + 'sphinx.ext.doctest', + 'sphinx.ext.intersphinx', + 'sphinx.ext.todo', + 'sphinx.ext.coverage', + 'sphinx.ext.mathjax', + 'sphinx.ext.autosectionlabel', + 'myst_parser', + 'sphinx.ext.viewcode', +] + +# Add any paths that contain templates here, relative to this directory. +templates_path = ['_templates'] + +# The language for content autogenerated by Sphinx. Refer to documentation +# for a list of supported languages. +# +# This is also used if you do content translation via gettext catalogs. +# Usually you set "language" from the command line for these cases. +language = 'fr' + +# List of patterns, relative to source directory, that match files and +# directories to ignore when looking for source files. +# This pattern also affects html_static_path and html_extra_path. +exclude_patterns = [] + +html_css_files = [ + 'custom.css', +] + +html_show_sourcelink = False + +smartquotes = False + + +# -- Options for HTML output ------------------------------------------------- + +# The theme to use for HTML and HTML Help pages. See the documentation for +# a list of builtin themes. +# +# Theme used +html_theme = 'sphinx_rtd_theme' + +# Favicon of the website (the icon located at the top) +html_favicon = 'images/favicon.ico' + +# Last time documentation was generated in format Day Month Year(ex: 17 Mai 2021) +html_last_updated_fmt = '%-d %B %Y' + +# Logo of the website, what appear at the top of the summary, under the name of the project +# html_logo = '_static/code.png' +html_logo = 'images/logo-menu.png' + +# Add any paths that contain custom static files (such as style sheets) here, +# relative to this directory. They are copied after the builtin static files, +# so a file named "default.css" will overwrite the builtin "default.css". +html_static_path = ['_static'] + + +# These paths are either relative to html_static_path +# or fully qualified paths (eg. https://...) +html_css_files = [ + 'css/custom.css', +] + +# All the foremat supported +source_suffix = { + '.rst': 'restructuredtext', + '.txt': 'markdown', + '.md': 'markdown', +} + +# Masque "Compilé avec Sphinx en utilisant un thème fourni par Read the Docs." +html_show_sphinx = True + +# Options for the themen you can find how it work at https://sphinx-rtd-theme.readthedocs.io/en/stable/configuring.html +html_theme_options = { + 'canonical_url': '', + 'analytics_id': 'UA-25689082-1', # Provided by Google in your dashboard + 'logo_only': False, + 'display_version': False, + 'prev_next_buttons_location': 'bottom', + 'style_external_links': False, + # 'vcs_pageview_mode': '', + # 'style_nav_header_background': 'cyan', + # Toc options + 'collapse_navigation': True, + 'sticky_navigation': True, + 'navigation_depth': 4, + 'includehidden': True, + 'titles_only': False +} diff --git a/source/git/advanced.md b/source/git/advanced.md new file mode 100644 index 0000000..e69de29 diff --git a/source/git/index.rst b/source/git/index.rst new file mode 100644 index 0000000..b5f6127 --- /dev/null +++ b/source/git/index.rst @@ -0,0 +1,11 @@ +Git +============================================ + +Nous verrons ici les basiques sur l'utilisation de Git, GitLab, GitKraken, le flow utilisé par Veremes en ce qui concerne les développements, la procédure pour sortir un version, ... + +============================================ + +.. toctree:: + :maxdepth: 2 + + introduction.md \ No newline at end of file diff --git a/source/git/introduction.md b/source/git/introduction.md new file mode 100644 index 0000000..0f76947 --- /dev/null +++ b/source/git/introduction.md @@ -0,0 +1,8 @@ +# Introduction + +## Git + +## GitLab + +## GitKraken + diff --git a/source/images/Veremes_Black.svg b/source/images/Veremes_Black.svg new file mode 100644 index 0000000..4b30055 --- /dev/null +++ b/source/images/Veremes_Black.svg @@ -0,0 +1,56 @@ +<?xml version="1.0" encoding="utf-8"?> +<!-- Generator: Adobe Illustrator 23.0.2, SVG Export Plug-In . SVG Version: 6.00 Build 0) --> +<svg version="1.1" id="Calque_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" + viewBox="0 0 299 93.8" style="enable-background:new 0 0 299 93.8;" xml:space="preserve"> +<title>Veremes_Black</title> +<g id="Logos"> + <g id="Veremes_Black"> + <path id="s" d="M281.9,55.3c-1-1.5-2.5-2.6-4.1-3.2c-0.5-0.2-1.4-0.5-2.8-0.9c-1.1-0.3-2.2-0.7-3.2-1.3c-0.7-0.4-1.3-1-1.7-1.7 + c-0.4-0.7-0.5-1.5-0.5-2.3c0-1.2,0.4-2.3,1.3-3.2c0.8-0.8,2-1.3,3.1-1.3c1.2-0.1,2.4,0.4,3.3,1.2c0.9,0.9,1.3,2.1,1.4,3.3h4.2 + c0-2.3-0.9-4.5-2.5-6.1c-1.7-1.5-3.9-2.3-6.2-2.2c-2.3,0-4.6,0.8-6.2,2.5c-1.7,1.5-2.6,3.7-2.6,6c-0.1,1.8,0.5,3.6,1.5,5 + c1,1.3,3.2,2.5,6.6,3.7c1.6,0.5,3.1,1.3,4.3,2.5c0.8,1,1.3,2.2,1.2,3.5c0,1.4-0.5,2.7-1.5,3.6c-1,1-2.4,1.5-3.8,1.4 + c-1.5,0-3-0.7-4-1.9c-1.1-1.3-1.7-3-1.6-4.7v-0.1h-4c-0.1,2.8,0.9,5.5,2.7,7.6c1.8,1.9,4.3,2.9,6.9,2.8c2.6,0.1,5-0.8,6.9-2.6 + c1.8-1.7,2.8-4,2.7-6.5C283.3,58.6,282.8,56.8,281.9,55.3z"/> + <path d="M174.5,54.5c0-5-1.4-9.1-4.3-12.3c-2.8-3.1-6.9-4.9-11.2-4.7c-4.3-0.2-8.4,1.5-11.5,4.5c-3,3-4.6,7.2-4.5,11.5 + c-0.1,4.2,1.6,8.3,4.6,11.3c2.9,3.1,7,4.8,11.2,4.7c3.1,0.1,6.2-0.9,8.8-2.7c2.7-2,4.7-4.6,5.9-7.7h-4.4c-0.9,2-2.4,3.7-4.2,4.9 + c-1.8,1.2-4,1.8-6.1,1.8c-3,0.1-5.8-1-8-3c-2.2-2.1-3.5-5-3.6-8h27.4L174.5,54.5z M147.2,51.4c0.3-2.8,1.7-5.5,3.8-7.4 + c2.1-1.8,4.7-2.8,7.5-2.8c2.8-0.1,5.5,0.8,7.7,2.6c2.1,2,3.6,4.7,4.1,7.6L147.2,51.4z"/> + <path id="m" d="M213.6,37.7c-2.1,0-4.2,0.4-6.1,1.4c-1.8,0.9-3.4,2.3-4.6,4c-1.1-1.7-2.6-3-4.3-3.9c-2-1-4.1-1.5-6.3-1.5 + c-1.8,0-3.7,0.3-5.4,1c-1.6,0.7-3,1.7-4.1,3v-3.4h-3.8v30.3h3.8V53.9c0-1.9,0-3.7,0.3-5.5c0.2-1,0.5-2,1-2.8 + c0.7-1.3,1.8-2.4,3.2-3c1.4-0.7,3-1.1,4.6-1.1c2.9,0,5.1,0.8,6.5,2.5s2.1,4.3,2.1,7.8v17h3.7V53.9c0-1.9,0.1-3.7,0.3-5.5 + c0.2-1,0.5-1.9,1-2.8c0.7-1.3,1.8-2.3,3.1-3c1.4-0.7,3-1.1,4.6-1.1c3,0,5.1,0.9,6.5,2.6s2,4.6,2,8.6v16.1h3.7V53.4 + c0-5.5-0.9-9.5-2.8-11.9C220.7,39,217.7,37.7,213.6,37.7z"/> + <path d="M261.3,54.5c0-5-1.4-9.1-4.3-12.3c-2.8-3.1-6.9-4.9-11.1-4.7c-4.3-0.2-8.4,1.5-11.5,4.5c-3,3.1-4.6,7.2-4.5,11.5 + c-0.1,4.2,1.6,8.3,4.6,11.3c2.9,3.1,7,4.8,11.2,4.8c3.1,0.1,6.2-0.9,8.8-2.7c2.7-2,4.7-4.6,5.9-7.7H256c-0.9,2-2.4,3.7-4.3,4.9 + c-1.8,1.2-4,1.8-6.1,1.8c-3,0.1-5.9-1-8.1-3c-2.2-2.1-3.5-5-3.6-8h27.4V54.5z M234.1,51.4c0.3-2.8,1.7-5.5,3.8-7.4 + c2-1.8,4.7-2.8,7.5-2.8c2.8-0.1,5.5,0.8,7.7,2.6c2.1,2,3.6,4.7,4,7.6L234.1,51.4z"/> + <path id="r" d="M137.4,38.9c-1.3,0.8-2.3,1.8-3.1,3v-3.6h-3.7v30.3h3.9V50.4c0-2.8,0.5-4.8,1.6-6c1.1-1.2,2.8-2,5.2-2.2V38 + C139.9,38,138.6,38.3,137.4,38.9z"/> + <path d="M126.1,54.5c0-5-1.4-9.1-4.3-12.3c-2.8-3.1-6.9-4.9-11.2-4.7c-4.3-0.2-8.4,1.5-11.5,4.5c-3,3.1-4.6,7.2-4.5,11.5 + c-0.1,4.2,1.6,8.3,4.6,11.3c2.9,3.1,7,4.8,11.2,4.7c3.1,0.1,6.2-0.9,8.8-2.7c2.7-2,4.7-4.6,5.9-7.7h-4.4c-0.9,2-2.4,3.7-4.2,4.9 + c-1.8,1.2-4,1.8-6.2,1.8c-3,0.1-5.8-1-8-3c-2.2-2.1-3.5-5-3.6-8h27.4L126.1,54.5z M98.8,51.4c0.3-2.8,1.7-5.5,3.8-7.4 + c2.1-1.8,4.7-2.8,7.5-2.8c2.8-0.1,5.5,0.8,7.7,2.6c2.1,2,3.5,4.7,4,7.6L98.8,51.4z"/> + <path id="V" d="M67.7,28.5c-1.9-4.6-4.8-9.8-9.8-11.7c-5.3-1.8-11.2-0.7-15.5,3c-3.1,2.8-4.9,7.1-5.5,12.7l-0.1,1 + c-0.2,1.5-0.3,3-0.3,4.5c-1-4-0.6-6.9-0.8-11.2c-0.9,0.5-1.4,1.4-1.4,2.5c0,0.2-1.1-0.5-1.3-0.4c-0.9,0.5-1.9-1.2-2.3-1.8 + c-0.3,0.4-0.5,0.9-0.8,1.3c-0.5-0.7-1-0.7-1.5-1.2c-0.4,1.2-1.8,0.6-3.1,0.5c0.7,1.2,0.9,2.3-0.1,2.8c0.1,0.1,1.1,0.4,1,0.5 + c-0.3,0.5-1.5,0-2-0.1v0.9c-1.6-0.9-4.2-2.7-3.3,1c-1.1,0.3-0.6,0-0.5,1c-0.5,0.1-0.5,0.2-0.5,0.7c-1.4-0.8-2.5,5.7-2.4,7.6 + c1.1,0.3,1.2,0.6,1.7,1.6c-0.8,0.3-1.2,1.1-1.8,1.5l0.8,0.5c-0.7,0.3-1.3,0.8-1.7,1.5c0.2-0.4,0.7,0.5,0.6,0.4l-0.5-0.2 + c0.1,0.5,0.3,0.9,0.5,1.4c-0.9,0.4-0.7,0.7-1.3,1.5c0.3,0,0.6,0.1,0.8,0.1c-0.4,0-0.6,2.2-0.5,2.6c0.3-0.5,0.7-1,0.9-1.6l0.5,0.5 + l-0.8,0.7c2.1,0.6-0.3,2,0.7,3.6c0.3-0.9,0.7-1,0.7-2.1l0.5,0.4c-0.2,0.3-1.6,3-0.3,3c0.1,0,0.1,4.4,0.4,5.5 + c0.3-0.3,0.5-0.6,0.6-1c0,0.7,0.4,0.9,0.2,1.8c2-0.6,1.3,0.5,0.4,1.6c0.7-0.2,1.4-0.4,2.1-0.6c0.9-0.3,0.2,1.3,0.5,1.3 + c0.3,0,1.4-2.1,1.6-2.4v0.7c0.5-0.3,2.1-2.3,2.3-2.3c0.2,0.4,0.3,0.9,0.3,1.3c1.9-2.3,3.4-4.9,4.6-7.7c0.1,0.1,0.3,0.2,0.5,0.3 + c-0.2,0-4.6,8.9-4.7,9.3l1-0.2c-0.3,0.7-0.6,1.4-0.7,2.1c1.8-0.3,1.1,1.4,1,2.9c1.5-0.9,3.6-1.5,2.9,1c0.5-0.3,1-0.5,1.5-0.7 + c-1.2,0.4,0.6,3.1,0.8,3.7c0.3,0.8,2.6,0.2,3.5,0.5c0.8-1.3,1.1,0.2,1.3,1.5c0.2,1.3,1.6-0.8,2.2-0.5c0.5,0.2-0.3,3.2,1.4,1.8 + c0.7-0.6,0.9,0.5,2-0.5c0,0,3,0.5,3,0.4c0.5-3,2.8-0.2,2.6-2.8h0.7c-0.1-2.3,2.3,1.1,2.3-2.3c0-0.8-1.8-1.8,0.4-1 + c-0.2-1.1,0.3-1.3-0.9-1.5c-0.1-0.2-0.1-0.4,0.1-0.6c1.1,0,2.9,2,3.6,1c0.2-0.3-0.9-2.3-1-2.9c0.6,0.1,1.3-0.1,1.8,0 + c-1-0.6-0.4-0.8-1.6-1c1-2,2.9-0.1,3.8-1.6c-1.9,0.4-2.9-3.8-1.7-4.2c-1-0.9-1.8-1.1-2.6-2.2c-2.1-2.7,1.9,0.5,2.7,1.1 + c0-0.5,0.2-1,0.2-1.5l1,0.9c0-0.3,0.1-0.5,0.1-0.7c0.9,0.8,2.1,1.2,3.3,1c-0.3-0.5,0-0.7-0.2-1.3c0.9,0.3,1.5,0,2.6,0.1 + c-0.7-2.1,1.8-2,3.3-2.5c2.6-0.8-1.6-1.2-1.8-1.3c-0.5-0.4,0.6-1.1,0.7-1c0.2,0.1-0.9-1.3-0.7-0.9c-0.4-1.1-3-0.4-0.6-1.9 + c-1-0.2-2.4-0.5-2.5-1.9c0.9-0.1,1.7-0.3,2.5-0.5c-0.6-0.5-1-1.3-1.7-1.7l0.5-0.2c-3.2-0.5,0.3-3.1,1.1-4.6 + c-2.1,0.5-2.3-1.2-4.2-1.5l0.9-0.8c-1.1,0-2.2-0.1-3.2-0.4c0.2-1.2,1-2.2,2.2-2.5c-3.6-1.8-2.7-4.5-6.4-5.4l0.8-0.8 + c-1-1.6-1.9-0.5-2.9-0.8c-2.4-0.7-2.2,2.7-2.2-1.3c0,0.4-0.6-0.5-0.6-0.7c-0.9,0.6-3.9,3-4.5,2.5c-0.9-0.8-1-0.5-1.6,0.4 + c-0.3,0.4-1.5,1-1.2,0.6c-0.6,1-0.7,5-1.5,7.6c0-1.4,0.2-2.8,0.3-4.2l0.2-1c0.5-4.7,1.9-8.2,4.3-10.4c3.2-2.8,7.7-3.6,11.7-2.3 + c3.9,1.4,6.3,6.3,8,10.5l14.2,37.9H82l15.1-40.2h-4L80.4,62.8L67.7,28.5z"/> + </g> +</g> +</svg> diff --git a/source/images/favicon.ico b/source/images/favicon.ico new file mode 100644 index 0000000000000000000000000000000000000000..3398c55a6e78cf742fdfe2863cbb61c83c35ccc6 GIT binary patch literal 1150 zcmZQzU}Ruq5D);-3Je)63=Con3=A3!3=9Gc3=9ek5OD?&U;z=R`2YX^4A}684<Gm{ zDk|DyVqz9gm@pyt$B!SZ*wkSYtEs7J6cZDB$-uzyABz9_`1ox8_3IZiHucD2ZEbB8 zTwGjVq55F@|AWLTDk|EM)xy}{zI|h#H*a3zy?gf*`S|!gpzDS4<>cfZoH%j96s8YG zPnj|$i;0QpuZD)kbtx&Sr!e*CG!GBY=O<5|NW%2N=z@ZRKA2h_9-dDivtWE=8f1S+ zNXY8Eyu1ltzI@>X>HqWR4}*z`$tfgtf0>w={vh$;VSp^=;o-6E-Me@Ej~+de0ojQx zM~Dsb$BrF4+(7n&+@YkTbeE7GWO+~+A%_F9|B=<<VymgC-2}NEWIqV|`T1?cr50Tr z6u)(Kb&a6(3DOI~Jv}{z3=9l^k=26KVT%VNBcrpR^a9cc!=NzG($cyL3Ky6eR#sL= zKxV-BAQ}|T2M!#thv`G6|NQyGIBnXrbWj=!2nbjQien)mq1UTctqQfVu{o5HkuiPO zu3gT^da$uUc?4wEhYufkG&D4>Em*K14kQM`*wo__+q7wuw}61ayS~1@f;Vs82w_wE zubzS7hdcwr4}J!Q5Bv-a2lyEn8kiXv8W^E8hz-RD*dg*C<})z-`_I7ezn*~s0E-;? AyZ`_I literal 0 HcmV?d00001 diff --git a/source/images/logo-menu.png b/source/images/logo-menu.png new file mode 100644 index 0000000000000000000000000000000000000000..bfbbe6f39fe2107fda9fbb50d9bc7687aac3ca87 GIT binary patch literal 17986 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 literal 0 HcmV?d00001 diff --git a/source/index.rst b/source/index.rst new file mode 100644 index 0000000..a9dc239 --- /dev/null +++ b/source/index.rst @@ -0,0 +1,20 @@ +Documentation Veremes +============================================ + +.. image:: /images/Veremes_Black.svg + :width: 500 px + :align: center + :target: # + + +Cette documentation sert de référence en ce qui concerne les outils et usages du pôle développement, mais certains points pourront être utiles à toute l'entreprise. + +============================================ + +.. toctree:: + :maxdepth: 1 + :glob: + + git/index.rst + + -- GitLab