Skip to content
Snippets Groups Projects
Commit 0571a76b authored by mazenovi's avatar mazenovi
Browse files

add some contents

parent 40f09477
No related branches found
No related tags found
No related merge requests found
Pipeline #
Showing
with 113 additions and 60 deletions
...@@ -39,5 +39,6 @@ ul.list-group-flush>li.list-group-item{ ...@@ -39,5 +39,6 @@ ul.list-group-flush>li.list-group-item{
article img { article img {
border: 1px solid #eeeeee; border: 1px solid #eeeeee;
border-radius: 10px; -moz-border-radius: 10px;
-webkit-border-radius: 10px
} }
...@@ -2,6 +2,8 @@ Title: gitlab.isima.fr ...@@ -2,6 +2,8 @@ Title: gitlab.isima.fr
Date: 2017-05-16 10:20 Date: 2017-05-16 10:20
Status: Published Status: Published
Tags: www, dev Tags: www, dev
Summary: Pourquoi et surtout comment utiliser la nouvelle forge logicielle du LIMOS https://gitlab.isima.fr?
Image: images/gitlab/gitlab.png
## Qu'est ce que gitlab? ## Qu'est ce que gitlab?
......
content/images/gitlab/gitlab.png

28.7 KiB

content/images/ispconfig/apache.jpg

25.6 KiB

content/images/pelican/fork-pelican.png

81.4 KiB

content/images/pelican/pelican.jpg

201 KiB

content/images/tech/git.png

54.7 KiB

content/images/tech/markdown.png

6.91 KiB

...@@ -2,6 +2,8 @@ Title: Utiliser mod_auth_cas avec apache ...@@ -2,6 +2,8 @@ Title: Utiliser mod_auth_cas avec apache
Date: 2017-05-15 16:20 Date: 2017-05-15 16:20
Status: Published Status: Published
Tags: ispconfig, admin, www Tags: ispconfig, admin, www
Summary: Comment utiliser le CAS ed l'isima via un htaccess apache
Image: images/ispconfig/apache.jpg
Installation du module apache cas Installation du module apache cas
......
Title: <i class="fa fa-cogs" aria-hidden="true"></i> Projets Title: <i class="fa fa-cogs" aria-hidden="true"></i> Projets
Date: 2010-05-17 10:27 Date: 2010-05-17 10:27
## Cette page est actuellement en cours de construction ## Idées à développer
### Security dashboard
* https://github.com/AliasIO/Wappalyzer
* https://github.com/cve-search/cve-search
* https://stackoverflow.com/questions/14866528/how-can-i-grab-the-latest-stable-repo-version-from-the-github-api
### malware analysis lab
* https://securedorg.github.io/
Title: <i class="fa fa-flask" aria-hidden="true"></i> Recherche Title: <i class="fa fa-flask" aria-hidden="true"></i> Recherche
Date: 2010-05-17 10:27 Date: 2010-05-17 10:27
## Cette page est actuellement en cours de construction ## Projets liés à la recherche
Title: Blog et pages perso au LIMOS Title: Blog et pages perso au LIMOS
Date: 2017-05-17 10:20 Date: 2017-05-24 10:20
Status: Published Status: Published
Tags: doc, python, pages perso, blog Tags: python, pages perso, blog
Summary: Comment se créer sa page perso en utilisant éventuellement le moteur de blog pelican
Image: images/pelican/pelican.jpg
[TOC] [TOC]
## Comment obtenir un espace web personnel? ## Comment obtenir un espace web personnel?
Tout compte unix ayant un homedir sur le serveur de fichier glouglou peut se créer son espace web personnel en créant un répertoire ```public_html``` à la racine de son répertoire. Tout compte unix ayant un homedir sur le serveur de fichier **glouglou** peut se créer son espace web personnel en créant un répertoire ```public_html``` à la racine de son répertoire.
Tout le contenu de /home/path/to/username/public_html sera accessible via Tout le contenu de /home/path/to/username/public_html sera accessible via
* https://limos.isima.fr/~username * https://limos.isima.fr/~username
...@@ -17,79 +19,113 @@ Tout le contenu de /home/path/to/username/public_html sera accessible via ...@@ -17,79 +19,113 @@ Tout le contenu de /home/path/to/username/public_html sera accessible via
## Comment faire ma page personnelle? ## Comment faire ma page personnelle?
### Avec Pelican * tout seul
* Si la solution ci-dessous vous êtes libre d'organiser votre espace web personnel comme bon vous semble: pour des raisons de sécurité privilégiez les sites statiques.
* Si vous avez réellement besoin de traitements côté serveur, php est installé. Vous pouvez également bénéficer d'une base de données en effectuant une demande à [cri@isima.fr](mailto:cri@isima.fr)
Pelican est un module python qui permet à partir d'un code source (une arborescence de fichiers textes au format [markdown](https://github.com/adam-p/markdown-here/wiki/Markdown-Cheatsheet)) de générer des fichiers html statiques présentés dans une charte graphique fonctionnelle et unifiée. * avec Pelican
* Pelican est un module python qui permet à partir d'un code source (une arborescence de fichiers textes au format [markdown](https://github.com/adam-p/markdown-here/wiki/Markdown-Cheatsheet)) de générer des fichiers html statiques présentés dans une charte graphique fonctionnelle et unifiée.
#### Prérequis > Cet article est consacré exclusivement à l'élaboration d'une page perso avec pelican!
### Prérequis
* [python](https://www.python.org/) >= 2.6 ([installation](http://www.mkdocs.org/#installing-python)) * [python](https://www.python.org/) >= 2.6 ([installation](http://www.mkdocs.org/#installing-python))
* [pip](https://pypi.python.org/pypi/pip) ([installation](https://pip.pypa.io/en/stable/installing/)) * [pip](https://pypi.python.org/pypi/pip) ([installation](https://pip.pypa.io/en/stable/installing/))
* [git](https://git-scm.com/) ([installation](https://git-scm.com/book/fr/v1/D%C3%A9marrage-rapide-Installation-de-Git)) * [git](https://git-scm.com/) ([installation](https://git-scm.com/book/fr/v1/D%C3%A9marrage-rapide-Installation-de-Git))
* un éditeur de texte : [atom.io](https://atom.io/) est recommandé * un éditeur de texte : [atom.io](https://atom.io/) est recommandé
* savoir ce qu'est [markdown](https://guides.github.com/features/mastering-markdown/) * savoir ce qu'est [markdown](https://guides.github.com/features/mastering-markdown/)
* la commande [pelican](http://docs.getpelican.com/en/stable/) et toutes ses dépendances installables via pip
#### Installation de l'environnment ### Installation de l'environnment
```shell ```shell
sudo pip install --editable . sudo pip install --editable .
``` ```
> N.B. notes le '.' après --editable !! > N.B. le '.' après --editable !!
> il est aussi possible d'installer ces modules python dans un virtualenv python afin de ne pas modifier la configuration de python sur votre système
### Récupérer son blog
* Le plus simple est probablement de forker [<i class="fa fa-gitlab" aria-hidden="true"></i> ce blog](https://gitlab.isima.fr/mazenovi/mazenod) (celui que vous êtes en train de lire)
#### Récupérer son blog [![fork pelican](images/pelican/fork-pelican.png)](images/pelican/fork-pelican.png)
La plus simple est probablement de forker [<i class="fa fa-gitlab" aria-hidden="true"></i> ce blog](https://gitlab.isima.fr/mazenovi/mazenod) * puis de cloner votre nouveau repo
```bash ```bash
git clone git@gitlab.isima.fr:mazenovi/mazenod.git git clone git@gitlab.isima.fr:username/blog.git
``` ```
##### Thèmes ### Personnalisation
Le thème LIMOS a été réalisé à partir du thème [pelican-bootstrap3](https://github.com/getpelican/pelican-themes/tree/master/pelican-bootstrap3) L'essentielle de la personnalisation du blog se fait dans le fichier ```pelicanconf.py``` à la racine du repo
##### Plugins Les principales options sont les suivantes
Les plugins pré installés sont * ```AUTHOR``` : l'auteur du blog. En pratique c'est la chaîne de caractères qui sera affichée en pied de page de votre blog.
* ```SITENAME``` : le nom du site. En pratique cette chaîne de caractère est affichée dans l'en tête du site et dans les balises méta HTML qui servent notamment pour le référencement.
* ```SITELOGO``` le chemin vers l'image qui sera affichée dans l'en-tête du sites à (relativement au dossier ```content```)
* ```FAVICON ``` le chemin vers l'image affichée en [favicon](https://fr.wikipedia.org/wiki/Favicon) (relativement au dossier ```content```)
* ```LINKS``` et ```SOCIAL``` sont des tuples à 3 valeurs
* première valeur le nom d'une icône issue de [http://fontawesome.io/icons/](http://fontawesome.io/icons/)
* le libellé du lien
* l'url vers la quelle pointera le lien
ces listes de liens s'afficheront dans le menu de gauche
* ```CC_LICENSE```, ```CC_LICENSE_DERIVATIVES```, ```CC_LICENSE_COMMERCIAL``` et ```CUSTOM_LICENSE``` indiquent la licence de partage du contenu de votre page perso.
* en savoir plus sur la [licence Creative Commons](https://fr.wikipedia.org/wiki/Licence_Creative_Commons)
* choisir la bonne [licence Creative Commons](https://creativecommons.org/choose/)
* [liste de licences de libre diffusion](https://fr.wikipedia.org/wiki/Licence_de_libre_diffusion#Liste_de_licences_de_libre_diffusion)
les commentaires dans le fichier ```pelicanconf.py``` sont là pour vous aider
* ```DISQUS_SITENAME``` permet d'activer le service [disqus](https://disqus.com/) pour gérer les commentaires de votre blog
* ```DISPLAY_TAGS_ON_SIDEBAR``` permet d'afficher les tags utilisé dasnle menu de droite.
* ```TAG_CLOUD_STEPS```, ```TAG_CLOUD_MAX_ITEMS``` ```TAG_CLOUD_BADGE``` permettent de personnaliser l'affichage des tags dasn la colonnes de droite
* [i18n_subsites](https://github.com/getpelican/pelican-plugins/tree/master/i18n_subsites) permet le multilinguisme complet du site #### .gitlab-ci.yml
* [extract_toc]() qui permet la génération dynamique d'[ancres html](https://www.alsacreations.com/astuce/lire/5-lien-precis-page-ancre-anchor-diese.html) sur tous les titres (h1, h2, ...) et la génération automatique d'une table des matières pour les posts longs
* [math_render](https://github.com/getpelican/pelican-plugins/tree/master/render_math) permet d'insérer des forumles mathématique directement dans le corps des postets ou page
* [tipue_search](https://github.com/getpelican/pelican-plugins/tree/master/tipue_search) permet d'intégrer un moteur de recherche
* [tag_cloud](https://github.com/getpelican/pelican-plugins/tree/master/tag_cloud) permet de faire apparaître les tags et le nombre d'articles associés dans le menu de gauche
* à faire : [assets](https://github.com/getpelican/pelican-plugins/tree/master/assets) pour minifier et concaténer les fichiers css et js
le fichier ```.gitlab-ci.yml``` permet d'automatiser la publication du contenu à chaque commit poussé sur le repository gitlab.
Pour l'utiliser vous devez simplement spécifier votre nom d'utilisateur et une clé ssh dans la partie variable du repository hébergeant votre page perso.
##### Librairies incluses ### Modifer ou ajouter du contenu à son espace personnel avec Pelican
Ce blog intègre Si vous venez de forker le repo vous devriez
* [fontawesome](http://fontawesome.io).
* [bootsrap3](http://getbootstrap.com/) #### Thèmes
* [jquery v2.2.1](https://jquery.com/)
Le thème LIMOS a été réalisé à partir du thème [pelican-bootstrap3](https://github.com/getpelican/pelican-themes/tree/master/pelican-bootstrap3)
#### Personnalisation * la version personnalisée limos est maintenu sur le repo
* si vous souhaitez mettre à jour votre thème il suffit de récupérer l'archive et de la décompressé dans le répertoire themes
Toute la personnalisation du blog se fait dans le fichier ```pelicanconf.py```.
Les principales options sont les suivantes ### Coloration syntaxique
* [aperçus des thèmes pygment pour la coloration syntaxique](https://help.farbox.com/pygments.html) * [aperçus des thèmes pygment pour la coloration syntaxique](https://help.farbox.com/pygments.html)
### Equations mathématiques
#### Modifer ou ajouter du contenu à son espace personnel avec Pelican ### Table des matières
##### Coloration syntaxique ### Multi linguisme
##### Equations mathématiques ### Quelques précisions techniques
##### Table des matières #### Plugins
##### Multi linguisme Les plugins pré installés sont
* [i18n_subsites](https://github.com/getpelican/pelican-plugins/tree/master/i18n_subsites) permet le multilinguisme complet du site
* [extract_toc]() qui permet la génération dynamique d'[ancres html](https://www.alsacreations.com/astuce/lire/5-lien-precis-page-ancre-anchor-diese.html) sur tous les titres (h1, h2, ...) et la génération automatique d'une table des matières pour les posts longs
* [math_render](https://github.com/getpelican/pelican-plugins/tree/master/render_math) permet d'insérer des forumles mathématique directement dans le corps des postets ou page
* [tipue_search](https://github.com/getpelican/pelican-plugins/tree/master/tipue_search) permet d'intégrer un moteur de recherche
* [tag_cloud](https://github.com/getpelican/pelican-plugins/tree/master/tag_cloud) permet de faire apparaître les tags et le nombre d'articles associés dans le menu de gauche
* à faire : [assets](https://github.com/getpelican/pelican-plugins/tree/master/assets) pour minifier et concaténer les fichiers css et js
### Tout seul ### Librairies incluses
Si la solution ci dessus vous êtes libre d'organiser votre espace web personnel comme bon vous semble: pour des raisons de sécurité privilégiez les sites statiques. Si vous avez réellement besoin de traitement côté serveur, php est installé. Vous pouvez également bénéficer d'une base de données en effectuant une demande à [cri@isima.fr](mailto:cri@isima.fr) Ce blog intègre
* [fontawesome](http://fontawesome.io).
* [bootsrap3](http://getbootstrap.com/)
* [jquery v2.2.1](https://jquery.com/)
...@@ -2,7 +2,8 @@ Title: git 101 ...@@ -2,7 +2,8 @@ Title: git 101
Date: 2017-05-16 10:20 Date: 2017-05-16 10:20
Status: Published Status: Published
Tags: www, dev Tags: www, dev
Summary: Des ressources sur git pour bien commencer ou se perfectionner, ainsi que quelques cas d'utilisations typiques
Image: images/tech/git.png
## Qu'est ce que git? ## Qu'est ce que git?
......
...@@ -2,6 +2,8 @@ Title: markdown ...@@ -2,6 +2,8 @@ Title: markdown
Date: 2017-05-16 10:20 Date: 2017-05-16 10:20
Status: Published Status: Published
Tags: www, dev Tags: www, dev
Summary: Markdown est un langage de balisage léger permettant de créer rapidement du contenu. Peut-être peut-il vous simplifier la vie?
Image: images/tech/markdown.png
## Qu'est ce que markdown? ## Qu'est ce que markdown?
......
...@@ -5,23 +5,9 @@ import os ...@@ -5,23 +5,9 @@ import os
AUTHOR = 'Vincent Mazenod' AUTHOR = 'Vincent Mazenod'
SITENAME = 'Vincent Mazenod / ingénieur d\'études' SITENAME = 'Vincent Mazenod / ingénieur d\'études'
# SITEURL = 'https://limos.isima.fr/~mazenod/'
RELATIVE_URLS = True
SITELOGO = 'images/mazenovi.png' SITELOGO = 'images/mazenovi.png'
SITELOGO_SIZE = "50px"
FAVICON = 'images/favicon.ico' FAVICON = 'images/favicon.ico'
# BANNER = 'images/mazenovi.png'
# BANNER_SUBTITLE = 'Si les noisettes rendaient aussi intelligent que la publicité nutella veut bien le laisser croire, ça ferait un bon moment que les écureils domineraient le monde!'
# Feed generation is usually not desired when developing
FEED_ALL_ATOM = None
CATEGORY_FEED_ATOM = None
TRANSLATION_FEED_ATOM = None
AUTHOR_FEED_ATOM = None
AUTHOR_FEED_RSS = None
# Blogroll
LINKS = ( LINKS = (
( (
'user-circle', 'user-circle',
...@@ -40,7 +26,6 @@ LINKS = ( ...@@ -40,7 +26,6 @@ LINKS = (
) )
) )
# Social widget
SOCIAL = ( SOCIAL = (
( (
'gitlab', 'gitlab',
...@@ -85,12 +70,22 @@ DIRECT_TEMPLATES = ('index', 'categories', 'authors', 'archives', 'search') ...@@ -85,12 +70,22 @@ DIRECT_TEMPLATES = ('index', 'categories', 'authors', 'archives', 'search')
# Vous ne devriez pas toucher à cette partie # Vous ne devriez pas toucher à cette partie
# à moins que vous ne sachiez ce que vous faites ;) # à moins que vous ne sachiez ce que vous faites ;)
RELATIVE_URLS = True
DEFAULT_PAGINATION = 10 DEFAULT_PAGINATION = 10
BOOTSTRAP_THEME = "flatly" BOOTSTRAP_THEME = "flatly"
PATH = 'content' PATH = 'content'
TIMEZONE = 'Europe/Paris' TIMEZONE = 'Europe/Paris'
DISPLAY_CATEGORIES_ON_MENU = False DISPLAY_CATEGORIES_ON_MENU = False
SITELOGO_SIZE = "50px"
# Feed generation is usually not desired when developing
FEED_ATOM = "atom.xml"
FEED_RSS = "rss.xml"
FEED_ALL_ATOM = None
FEED_ALL_RSS = None
CATEGORY_FEED_ATOM = None
TRANSLATION_FEED_ATOM = None
AUTHOR_FEED_ATOM = None
AUTHOR_FEED_RSS = None
THEME = os.path.dirname(os.path.abspath(__file__)) + "/themes/limos" THEME = os.path.dirname(os.path.abspath(__file__)) + "/themes/limos"
JINJA_ENVIRONMENT = {'extensions': ['jinja2.ext.i18n']} JINJA_ENVIRONMENT = {'extensions': ['jinja2.ext.i18n']}
PLUGIN_PATHS = [os.path.dirname(os.path.abspath(__file__)) + '/plugins'] PLUGIN_PATHS = [os.path.dirname(os.path.abspath(__file__)) + '/plugins']
......
{% extends "base.html" %} {% extends "base.html" %}
{% block title %}{{ _('Archives') }} - {{ SITENAME }}{% endblock %} {% block title %}{{ _('Archives') }} - {{ SITENAME|e }}{% endblock %}
{% block breadcrumbs %} {% block breadcrumbs %}
{% if DISPLAY_BREADCRUMBS %} {% if DISPLAY_BREADCRUMBS %}
<ol class="breadcrumb"> <ol class="breadcrumb">
......
...@@ -3,6 +3,11 @@ ...@@ -3,6 +3,11 @@
{% if articles %} {% if articles %}
{% for article in (articles_page.object_list if articles_page else articles) %} {% for article in (articles_page.object_list if articles_page else articles) %}
<article class="row"> <article class="row">
{% if article.image and not loop.index % 2 %}
<div class="col-lg-4">
<img src="{{ SITEURL }}/{{ article.image }}" class="img-responsive" />
</div>
{% endif %}
{% if article.image %} {% if article.image %}
<div class="col-lg-8"> <div class="col-lg-8">
{% else %} {% else %}
...@@ -19,7 +24,7 @@ ...@@ -19,7 +24,7 @@
<a class="btn btn-default btn-xs" href="{{ SITEURL }}/{{ article.url }}">{{ _('more') }} ...</a> <a class="btn btn-default btn-xs" href="{{ SITEURL }}/{{ article.url }}">{{ _('more') }} ...</a>
</div> </div>
</div> </div>
{% if article.image %} {% if article.image and loop.index % 2 %}
<div class="col-lg-4"> <div class="col-lg-4">
<img src="{{ SITEURL }}/{{ article.image }}" class="img-responsive" /> <img src="{{ SITEURL }}/{{ article.image }}" class="img-responsive" />
</div> </div>
......
{% extends "base.html" %} {% extends "base.html" %}
{% block title %}{{ page.title }} - {{ SITENAME }}{% endblock %} {% block title %}{{ page.title|striptags }} - {{ SITENAME }}{% endblock %}
{% block html_lang %}{{ page.lang }}{% endblock %} {% block html_lang %}{{ page.lang }}{% endblock %}
{% block meta %} {% block meta %}
{% if page.author %} {% if page.author %}
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment