Skip to content

Commit

Permalink
Merge branch 'dev' of https://github.com/zestedesavoir/zds-site into …
Browse files Browse the repository at this point in the history
…zep-13-b
  • Loading branch information
gustavi committed Oct 30, 2016
2 parents 34ebd40 + 71bf36e commit 293d6db
Show file tree
Hide file tree
Showing 94 changed files with 1,734 additions and 607 deletions.
8 changes: 4 additions & 4 deletions CODE_OF_CONDUCT.md
Original file line number Diff line number Diff line change
Expand Up @@ -41,11 +41,11 @@ ainsi que dans les espaces publics quand un individu représente le projet
ou sa communauté.

Les instances de comportement abusif, harcelant ou autrement inacceptable
peuvent être signalés en contactant un responsable de projet à
zestedesavoir at gmail.com. Toutes les plaintes seront examinées et étudiées
peuvent être signalées en contactant un responsable de projet à
`zds-tech@googlegroups.com`. Toutes les plaintes seront examinées et étudiées
et se traduiront par une réponse jugée nécessaire et appropriée aux
circonstances. Les mainteneurs s'obligent à garder confidentielles les
informations de la personne qui remonte un incident.

Ce Code de Conduite est adaptée du [Contributor Covenant](http://contributor-covenant.org),
version 1.3.0, [disponible ici](http://contributor-covenant.org/version/1/3/0/fr).
Ce Code de Conduite est adapté du [Contributor Covenant](http://contributor-covenant.org),
version 1.3.0, [disponible ici](http://contributor-covenant.org/version/1/3/0/fr).
18 changes: 13 additions & 5 deletions Makefile
Original file line number Diff line number Diff line change
@@ -1,18 +1,24 @@
.PHONY: fixtures

all: help

# install
## linux
install-debian:
sudo apt-get install git python-dev python-setuptools libxml2-dev python-lxml libxslt-dev libz-dev python-sqlparse libjpeg62-turbo libjpeg62-turbo-dev libfreetype6 libfreetype6-dev libffi-dev python-pip python-tox
sudo apt-get install git python-dev python-setuptools libxml2-dev python-lxml libxslt-dev libz-dev python-sqlparse libjpeg62-turbo libjpeg62-turbo-dev libfreetype6 libfreetype6-dev libffi-dev python-pip python-tox build-essential

install-ubuntu:
sudo apt-get install git python-dev python-setuptools libxml2-dev python-lxml libxslt1-dev libz-dev python-sqlparse libjpeg8 libjpeg8-dev libfreetype6 libfreetype6-dev libffi-dev python-pip python-tox
sudo apt-get install git python-dev python-setuptools libxml2-dev python-lxml libxslt1-dev libz-dev python-sqlparse libjpeg8 libjpeg8-dev libfreetype6 libfreetype6-dev libffi-dev python-pip python-tox build-essential

install-fedora:
sudo dnf install git python-devel python-setuptools libxml2-devel python-lxml libxslt-devel zlib-devel python-sqlparse libjpeg-turbo-devel libjpeg-turbo-devel freetype freetype-devel libffi-devel python-pip python-tox
sudo dnf install git python-devel python-setuptools libxml2-devel python-lxml libxslt-devel zlib-devel python-sqlparse libjpeg-turbo-devel libjpeg-turbo-devel freetype freetype-devel libffi-devel python-pip python-tox gcc redhat-rpm-config

install-archlinux:
sudo pacman -Sy git python2 python2-setuptools python2-pip libxml2 python2-lxml libxslt zlib python2-sqlparse libffi libjpeg-turbo freetype2 python2-tox base-devel

install-osx:
brew install virtualenv_select py27-virtualenv py27-virtualenvwrapper py27-tox node
brew install gettext cairo --without-x11 py2cairo node && \
pip install virtualenv virtualenvwrapper

# dev back
## django
Expand Down Expand Up @@ -75,19 +81,21 @@ doc:
make html

fixtures:
python manage.py loaddata fixtures/*.yaml.
python manage.py loaddata fixtures/*.yaml

help:
@echo "Please use \`make <target>' where <target> is one of"
@echo " build-front to build frontend code"
@echo " doc to generate the html documentation"
@echo " fixtures to load every fixtures"
@echo " generate-pdf to regenerate all PDFs"
@echo " help to get this help"
@echo " install-back to install backend dependencies"
@echo " install-front to install frontend dependencies"
@echo " install-debian to install debian dependencies"
@echo " install-ubuntu to install ubuntu dependencies"
@echo " install-fedora to install fedora dependencies"
@echo " install-archlinux to install archlinux dependencies"
@echo " install-osx to install os x dependencies"
@echo " lint-back to lint backend code (flake8)"
@echo " lint-front to lint frontend code (jshint)"
Expand Down
2 changes: 1 addition & 1 deletion assets/js/ajax-actions.js
Original file line number Diff line number Diff line change
Expand Up @@ -236,7 +236,7 @@
$(data).insertAfter($form);

/* global MathJax */
if ($(data).find("$").length > 0)
if (data.indexOf("$") > 0)
MathJax.Hub.Queue(["Typeset", MathJax.Hub]);
}
});
Expand Down
2 changes: 1 addition & 1 deletion assets/js/jquery-tabbable.js
Original file line number Diff line number Diff line change
Expand Up @@ -43,7 +43,7 @@
if(!element.href || !mapName || map.nodeName.toLowerCase() !== "map"){
return false;
}
img = $("img[usemap=#" + mapName + "]")[0];
img = $("img[usemap='#" + mapName + "']")[0];
return !!img && visible(img);
}
return ( /input|select|textarea|button|object/.test(nodeName) ?
Expand Down
2 changes: 1 addition & 1 deletion assets/js/modal.js
Original file line number Diff line number Diff line change
Expand Up @@ -191,7 +191,7 @@
*/
function buildModals($elems){
$elems.each(function(){
var $link = $("[href=#"+$(this).attr("id")+"]:first");
var $link = $("[href='#"+$(this).attr("id")+"']:first");

var linkIco = "";
if($link.hasClass("ico-after")) {
Expand Down
3 changes: 3 additions & 0 deletions assets/scss/base/_forms.scss
Original file line number Diff line number Diff line change
Expand Up @@ -314,6 +314,9 @@
.checkbox-new-content {
padding: 0;
}
#div_id_helps .checkbox {
padding: 0;
}
}

@media only screen and #{$media-wide} {
Expand Down
5 changes: 3 additions & 2 deletions assets/scss/components/_pagination.scss
Original file line number Diff line number Diff line change
Expand Up @@ -5,8 +5,9 @@
border-top: 1px solid #d2d5d6; // @TODO: Color
border-bottom: 1px solid #d2d5d6;
background: #FBFBFB;
height: 40px;
margin-bottom: 20px !important;
display: flex;
flex-wrap: wrap;

li {
float: left;
Expand Down Expand Up @@ -56,7 +57,7 @@
}
}
&.next {
float: right;
margin-left: auto;
.ico-after {
padding-right: 30px;

Expand Down
2 changes: 1 addition & 1 deletion assets/scss/components/_topic-message.scss
Original file line number Diff line number Diff line change
Expand Up @@ -664,7 +664,7 @@ form.topic-message {
}
}

form.forum-message .message {
form .message {
padding-top: 0 !important;
}
}
7 changes: 7 additions & 0 deletions doc/source/back-end-code/utils.rst
Original file line number Diff line number Diff line change
Expand Up @@ -45,6 +45,13 @@ La doc de Django explique le principe des *context_processors* comme suit :
.. automodule:: zds.utils.context_processor
:members:

Utilitaires pour formulaires (``forms.py``)
===========================================

.. automodule:: zds.utils.forms
:members:


Autres (``misc.py``)
====================

Expand Down
9 changes: 9 additions & 0 deletions doc/source/install/backend-linux-install.rst
Original file line number Diff line number Diff line change
Expand Up @@ -28,6 +28,9 @@ ZdS a besoin des dépendances suivantes, installables manuellement ou à l'aide
- python-sqlparse
- libffi : ``apt-get install libffi-dev``
- libjpeg62-turbo libjpeg62-turbo-dev libfreetype6 libfreetype6-dev : ``apt-get install libjpeg62-turbo libjpeg62-turbo-dev libfreetype6 libfreetype6-dev`` (peut être appelée libjpeg8 et libjpeg8-dev sur certains OS comme Ubuntu)
- gcc : ``apt-get install build-essential``

**NB** : pour les utilisateurs d'Archlinux, les outils python doivent être ceux de python 2, généralement sous la forme ``python2-smth``

Ou à l'aide du Makefile (``sudo`` sera appelé automatiquement, ne l'ajoutez jamais si on ne le précise pas) :

Expand All @@ -49,6 +52,12 @@ Pour Fedora.

make install-fedora

Pour Archlinux.

.. sourcecode:: bash

make install-archlinux

Installation et configuration de `virtualenv`
=============================================

Expand Down
75 changes: 43 additions & 32 deletions doc/source/install/backend-os-x-install.rst
Original file line number Diff line number Diff line change
Expand Up @@ -5,68 +5,79 @@ Installation du backend sous macOS
Pour installer une version locale de ZdS sur macOS, veuillez suivre les instructions suivantes.
Si une commande ne passe pas, essayez de savoir pourquoi avant de continuer.

Avant de vous lancez dans l'installation de l'environnement de zds, il faut quelques pré-requis :
Pré-requis
==========

- Installer `XCode <http://itunes.apple.com/us/app/xcode/id497799835?ls=1&mt=12>`_ pour pouvoir exécuter des commandes (g)cc.
- Installer `Homebrew <http://brew.sh/>`_ pour récupérer certains paquets utiles pour l'installation des dépendances de ce projet.
- Installer python 2.7
- Installer pip
- Installer git
- Installer `gettext <https://www.gnu.org/software/gettext/>`_
- Installer GeoIP (``brew install geoip``)
- Installer XCode :

Une fois les pré-requis terminés, vous pouvez vous lancer dans l'installaton de l'environnement de zds.
.. sourcecode:: bash

Installation de virtualenv
==========================
xcode-select --install

- Installer `Homebrew <http://brew.sh/>`_.
- Installer un nouveau Python par Homebrew :

.. sourcecode:: bash

make install-osx
brew install python --framework
# Il se peut que votre système n'utilise pas la nouvelle version de Python. Si c'est le cas, lancez la commande suivante.
export PATH=/usr/local/bin:/usr/local/sbin:${PATH}

mkdir ~/.virtualenvs
echo "export WORKON_HOME=$HOME/.virtualenvs" >> ~/.bash_profile && export WORKON_HOME=$HOME/.virtualenvs
echo "source /usr/local/bin/virtualenvwrapper.sh" >> ~/.bash_profile && source /usr/local/bin/virtualenvwrapper.sh
- Si vous avez décidé de ne pas installer un nouveau python et que vous utilisez celui de base du système, installez pip :

.. sourcecode:: bash

Création de votre environnement
===============================
wget https://bootstrap.pypa.io/get-pip.py
python get-pip.py

- Installer toutes les dépendances systèmes nécessaires :

.. sourcecode:: bash

mkvirtualenv zdsenv
make install-osx

Une fois les pré-requis terminés, vous pouvez vous lancer dans l'installaton de l'environnement de zds.

Récupération de cairo (svg)
Configuration de virtualenv
===========================

.. sourcecode:: bash

brew install cairo --without-x11
brew install py2cairo # py3cairo quand ZdS sera en python 3
mkdir ~/.virtualenvs
echo "export WORKON_HOME=$HOME/.virtualenvs" >> ~/.bash_profile
echo "source /usr/local/bin/virtualenvwrapper.sh" >> ~/.bash_profile
source ~/.bash_profile

Usage de virtualenv
===================

Installation des outils front-end
=================================
Création d'un virtualenv :

Il vous faut installer les outils du front-end. Pour cela, rendez-vous sur `la documentation dédiée <frontend-install.html>`_.
.. sourcecode:: bash

Sur macOS, ``brew install node`` suffit pour installer Node.js
mkvirtualenv zdsenv

Installation de toutes les dépendances
======================================
Lancer un virtualenv :

.. sourcecode:: bash

make install-back
make install-front
workon zdsenv

Quitter un virtualenv :

.. sourcecode:: bash

deactivate

Pour relancer votre environnement : ``source ~/.virtualenvs/zdsenv/bin/activate``.

Si vous avez installé virtualenvwrapper, vous pouvez utiliser le raccourcis ``workon zdsenv``.
Installation des des dépendances front et back
==============================================

Pour sortir de votre environnement : ``deactivate``.
.. sourcecode:: bash

make install-front
make build-front
make install-back

Lancer ZdS
==========
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -12,8 +12,8 @@ map $http_host $robots_tag_header {
server {
listen 80 default_server;
listen [::]:80 default_server;
listen 443 ssl spdy default_server;
listen [::]:443 ssl spdy default_server;
listen 443 ssl http2 default_server;
listen [::]:443 ssl http2 default_server;

server_name zestedesavoir.com;

Expand Down
2 changes: 1 addition & 1 deletion doc/source/install/configs/settings_prod.py
Original file line number Diff line number Diff line change
Expand Up @@ -148,7 +148,7 @@
PANDOC_PDF_PARAM = ("--latex-engine=xelatex "
"--template={} -s -S -N "
"--toc -V documentclass=scrbook -V lang=francais "
"-V mainfont=Merriweather -V monofont=\"Andale Mono\" "
"-V mainfont=Merriweather -V monofont=\"SourceCodePro-Regular\" "
"-V fontsize=12pt -V geometry:margin=1in ".format('/opt/zds/zds-site/assets/tex/template.tex'))

# Sentry (+ raven, the Python Client)
Expand Down
6 changes: 5 additions & 1 deletion doc/source/install/deploy-in-production.rst
Original file line number Diff line number Diff line change
Expand Up @@ -105,7 +105,11 @@ Gunicorn
Nginx
~~~~~

Installer nginx. La configuration nginx de Zeste de Savoir est séparée en plusieurs fichiers, en plus des quelques fichiers de configuration par défaut de nginx:
Installer nginx.

Une version récente de nginx est nécessaire pour utiliser HTTP/2. Si la version installée est inférieure à la version 1.9.5 il faut la mettre à jour avec celle du dépot backports : ``sudo apt-get -t jessie-backports install nginx openssl``. Toutefois, HTTP/2 n'est pas nécessaire au bon fonctionnement de Zeste de Savoir, pensez juste à adapter ``sites-available/zestedesavoir``.

La configuration nginx de Zeste de Savoir est séparée en plusieurs fichiers, en plus des quelques fichiers de configuration par défaut de nginx:

.. code:: text
Expand Down
2 changes: 1 addition & 1 deletion doc/source/utils/fixture_loaders.rst
Original file line number Diff line number Diff line change
Expand Up @@ -29,7 +29,7 @@ Nous possédons un ensemble de données sérialisées dans le dossier fixtures:
- External/external: le compte pour accueillir les cours externes des auteurs ne voulant pas devenir membre ou quittant le site
- decal/decal: le compte qui possède un identifiant ``Profile`` différent de l'identifiant ``user`` pour permettre de tester des cas ou ces id sont différents

De ce fait, le moyen le plus simple de charger l'ensemble des données de base est ``python manage.py loaddata fixtures/*.yaml``.
De ce fait, le moyen le plus simple de charger l'ensemble des données de base est la commande ``make fixtures``.

Les données complexes voire les scénarios
-----------------------------------------
Expand Down
Loading

0 comments on commit 293d6db

Please sign in to comment.