diff --git a/content/extra/custom.css b/content/extra/custom.css index fae7be41adf38c42ae4bec4f10993fa780eb8475..032d7403425b63d2152e6f736bf9cea5d9f031d1 100644 --- a/content/extra/custom.css +++ b/content/extra/custom.css @@ -39,5 +39,6 @@ ul.list-group-flush>li.list-group-item{ article img { border: 1px solid #eeeeee; - border-radius: 10px; + -moz-border-radius: 10px; + -webkit-border-radius: 10px } diff --git a/content/gitlab/gitlab.md b/content/gitlab/gitlab.md index d5349601a639230d56fc48a03925369710958682..bcd63d9a262aa5b5b01f56a32a90082f7dc774fc 100644 --- a/content/gitlab/gitlab.md +++ b/content/gitlab/gitlab.md @@ -2,6 +2,8 @@ Title: gitlab.isima.fr Date: 2017-05-16 10:20 Status: Published 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? diff --git a/content/images/gitlab/gitlab.png b/content/images/gitlab/gitlab.png new file mode 100644 index 0000000000000000000000000000000000000000..95ff8647d7d8775fdfa72b752ef5b5eaf6757f48 Binary files /dev/null and b/content/images/gitlab/gitlab.png differ diff --git a/content/images/ispconfig/apache.jpg b/content/images/ispconfig/apache.jpg new file mode 100644 index 0000000000000000000000000000000000000000..f3a38f231ca1ff01e14fe2d6e0fa8c7d924f4e22 Binary files /dev/null and b/content/images/ispconfig/apache.jpg differ diff --git a/content/images/pelican/fork-pelican.png b/content/images/pelican/fork-pelican.png new file mode 100644 index 0000000000000000000000000000000000000000..a8b4efebe5226952a05aca560de9a06f803a942c Binary files /dev/null and b/content/images/pelican/fork-pelican.png differ diff --git a/content/images/pelican/pelican.jpg b/content/images/pelican/pelican.jpg new file mode 100644 index 0000000000000000000000000000000000000000..92c948717ef1a169f2862a0fee078e6699cfa5a3 Binary files /dev/null and b/content/images/pelican/pelican.jpg differ diff --git a/content/images/tech/git.png b/content/images/tech/git.png new file mode 100644 index 0000000000000000000000000000000000000000..5b0ef5cca15456677406f4b5bf9b5784612bc360 Binary files /dev/null and b/content/images/tech/git.png differ diff --git a/content/images/tech/markdown.png b/content/images/tech/markdown.png new file mode 100644 index 0000000000000000000000000000000000000000..ebe191814a47aec964bd92a2fa512cf1630776c7 Binary files /dev/null and b/content/images/tech/markdown.png differ diff --git a/content/ispconfig/utiliser-mod-auth-cas.md b/content/ispconfig/utiliser-mod-auth-cas.md index 952582bf09c613de2467f1aea743a793c335406d..9dc1b036563c1cf2b09e8dac4ea1efa8cfe2fd6f 100644 --- a/content/ispconfig/utiliser-mod-auth-cas.md +++ b/content/ispconfig/utiliser-mod-auth-cas.md @@ -2,6 +2,8 @@ Title: Utiliser mod_auth_cas avec apache Date: 2017-05-15 16:20 Status: Published 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 diff --git a/content/pages/projets.md b/content/pages/projets.md index 6cdeac434938b141f2413c07f9c43c435a2a960a..57722716fb2d81abff21326fefcffef93d7d0ff3 100644 --- a/content/pages/projets.md +++ b/content/pages/projets.md @@ -1,4 +1,13 @@ Title: <i class="fa fa-cogs" aria-hidden="true"></i> Projets 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/ diff --git a/content/pages/recherche.md b/content/pages/recherche.md index 2d40896a769cd96c0252db7172afafd01b0d846b..364ac6529accc9feac23599f0e04c2658e4992b2 100644 --- a/content/pages/recherche.md +++ b/content/pages/recherche.md @@ -1,4 +1,4 @@ Title: <i class="fa fa-flask" aria-hidden="true"></i> Recherche Date: 2010-05-17 10:27 -## Cette page est actuellement en cours de construction +## Projets liés à la recherche diff --git a/content/pelican/pelican.md b/content/pelican/pelican.md index 10b4a537db97567a1ebb3b21a8dd4d59ad025099..cb278659b4d9e52616e4d3d84e761405ea329b7d 100644 --- a/content/pelican/pelican.md +++ b/content/pelican/pelican.md @@ -1,13 +1,15 @@ Title: Blog et pages perso au LIMOS -Date: 2017-05-17 10:20 +Date: 2017-05-24 10:20 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] ## 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 * https://limos.isima.fr/~username @@ -17,79 +19,113 @@ Tout le contenu de /home/path/to/username/public_html sera accessible via ## 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)) * [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)) * un éditeur de texte : [atom.io](https://atom.io/) est recommandé * 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 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 +[](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 -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 -* [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 +#### .gitlab-ci.yml +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 -* [fontawesome](http://fontawesome.io). -* [bootsrap3](http://getbootstrap.com/) -* [jquery v2.2.1](https://jquery.com/) +Si vous venez de forker le repo vous devriez + +#### Thèmes +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) +### 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/) diff --git a/content/tech/git.md b/content/tech/git.md index b01d91b1ad03c099f9cb8b6b177780d4cf3af77a..c04f1affe4df9cecfe11f296b14e83fa99ddd064 100644 --- a/content/tech/git.md +++ b/content/tech/git.md @@ -2,7 +2,8 @@ Title: git 101 Date: 2017-05-16 10:20 Status: Published 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? diff --git a/content/tech/markdown.md b/content/tech/markdown.md index 6353015ce5a90497ed01ae5bc9857edaa6c54791..78c9c1faecd5dc0b63b1dc41db267a90e0a15592 100644 --- a/content/tech/markdown.md +++ b/content/tech/markdown.md @@ -2,6 +2,8 @@ Title: markdown Date: 2017-05-16 10:20 Status: Published 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? diff --git a/pelicanconf.py b/pelicanconf.py index 000b9952a9f0ce7536c2bb7e1c51cf08cfae07d5..359d45ad349545c36b7f591f1686f3af2237b55f 100644 --- a/pelicanconf.py +++ b/pelicanconf.py @@ -5,23 +5,9 @@ import os AUTHOR = 'Vincent Mazenod' SITENAME = 'Vincent Mazenod / ingénieur d\'études' -# SITEURL = 'https://limos.isima.fr/~mazenod/' -RELATIVE_URLS = True SITELOGO = 'images/mazenovi.png' -SITELOGO_SIZE = "50px" 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 = ( ( 'user-circle', @@ -40,7 +26,6 @@ LINKS = ( ) ) -# Social widget SOCIAL = ( ( 'gitlab', @@ -85,12 +70,22 @@ DIRECT_TEMPLATES = ('index', 'categories', 'authors', 'archives', 'search') # Vous ne devriez pas toucher à cette partie # à moins que vous ne sachiez ce que vous faites ;) - +RELATIVE_URLS = True DEFAULT_PAGINATION = 10 BOOTSTRAP_THEME = "flatly" PATH = 'content' TIMEZONE = 'Europe/Paris' 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" JINJA_ENVIRONMENT = {'extensions': ['jinja2.ext.i18n']} PLUGIN_PATHS = [os.path.dirname(os.path.abspath(__file__)) + '/plugins'] diff --git a/themes/limos/templates/archives.html b/themes/limos/templates/archives.html index 2a8dcfc124bc400e1182f32e4b15355d950bc23d..67aa01f5c6c1e7e7d01da21911eb32a3bc50fe1a 100644 --- a/themes/limos/templates/archives.html +++ b/themes/limos/templates/archives.html @@ -1,5 +1,5 @@ {% extends "base.html" %} -{% block title %}{{ _('Archives') }} - {{ SITENAME }}{% endblock %} +{% block title %}{{ _('Archives') }} - {{ SITENAME|e }}{% endblock %} {% block breadcrumbs %} {% if DISPLAY_BREADCRUMBS %} <ol class="breadcrumb"> diff --git a/themes/limos/templates/article_list.html b/themes/limos/templates/article_list.html index 4dde021730ae5b0c2c2ec03814c249f225de3624..5ed9454058e519867350aec5debcd2cd39e24e5c 100644 --- a/themes/limos/templates/article_list.html +++ b/themes/limos/templates/article_list.html @@ -3,6 +3,11 @@ {% if articles %} {% for article in (articles_page.object_list if articles_page else articles) %} <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 %} <div class="col-lg-8"> {% else %} @@ -19,7 +24,7 @@ <a class="btn btn-default btn-xs" href="{{ SITEURL }}/{{ article.url }}">{{ _('more') }} ...</a> </div> </div> - {% if article.image %} + {% if article.image and loop.index % 2 %} <div class="col-lg-4"> <img src="{{ SITEURL }}/{{ article.image }}" class="img-responsive" /> </div> diff --git a/themes/limos/templates/page.html b/themes/limos/templates/page.html index c4d35ee5d617c45ca670d005bbb6ab6f5d02c485..e7050065091bbfaf2de9804341cdbd1956d39585 100644 --- a/themes/limos/templates/page.html +++ b/themes/limos/templates/page.html @@ -1,5 +1,5 @@ {% extends "base.html" %} -{% block title %}{{ page.title }} - {{ SITENAME }}{% endblock %} +{% block title %}{{ page.title|striptags }} - {{ SITENAME }}{% endblock %} {% block html_lang %}{{ page.lang }}{% endblock %} {% block meta %} {% if page.author %}