Skip to content

Commit

Permalink
Merge 9e8a42e into d69862e
Browse files Browse the repository at this point in the history
  • Loading branch information
Gerard committed May 30, 2014
2 parents d69862e + 9e8a42e commit 741c07f
Show file tree
Hide file tree
Showing 479 changed files with 32,244 additions and 27,690 deletions.
7 changes: 6 additions & 1 deletion .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -78,9 +78,14 @@ local.properties
# PDT-specific
.buildpath

#############
## PyCharm
#############
.idea/


#############
## Windows detritus
## OS detritus
#############

# Windows image file caches
Expand Down
38 changes: 23 additions & 15 deletions .travis.yml
Original file line number Diff line number Diff line change
@@ -1,15 +1,23 @@
language: python
python:
- "2.7"
install:
- "sudo apt-get update"
- "sudo apt-get install texlive"
- "sudo apt-get install texlive-xetex"
- "sudo apt-get install pandoc"
- "sudo apt-get --reinstall install -qq language-pack-fr"
- "pip install -r requirements.txt"
script:
- python manage.py test
- coverage run --source='.' manage.py test
after_success:
- coveralls
language: python
python:
- "2.7"
install:
- "sudo apt-get update"
- "sudo echo ttf-mscorefonts-installer msttcorefonts/accepted-mscorefonts-eula select true | sudo debconf-set-selections"
- "sudo apt-get install ttf-mscorefonts-installer"
- "sudo apt-get install texlive"
- "sudo apt-get install texlive-xetex"
- "sudo apt-get install texlive-lang-french"
- "sudo apt-get install texlive-latex-extra"
- "sudo apt-get install haskell-platform"
- "sudo cabal update"
- "sudo cabal install pandoc"
- "export PATH=$PATH:~/.cabal/bin"
- "sudo apt-get --reinstall install -qq language-pack-fr"
- "pip install -r requirements.txt"
- "pip install coveralls"
script:
- python manage.py test
- coverage run --source='.' manage.py test
after_success:
- coveralls
55 changes: 55 additions & 0 deletions CONTRIBUTING.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,55 @@
Les contributions externes sont les bienvenues !

# Avant de réaliser...
1. Vérifiez que vous avez [un compte Github](https://github.com/signup/free)
2. Créez votre _issue_ si elle n'existe pas
* Vérifiez que vous avez la dernière version du code
* Décrivez clairement votre problème, avec toutes les étapes pour le reproduire

3. **Attribuez-vous** votre _issue_. C'est important pour éviter de se marcher dessus. Si vous n'êtes pas dans l'organisation et donc que vous ne pouvez pas vous attribuer directement l'_issue_, il vous suffit d'ajouter un commentaire clair dans celle-ci (comme _"Je prends"_), et elle sera marquée comme "en cours").
4. _Forkez_ le dépôt
5. Installez l'environnement. Tout est dans le fichier README.md

# Contribuer à Zeste De Savoir
1. Créez une branche pour contenir votre travail
2. Faites vos modifications
3. Ajoutez un test pour votre modification. Seules les modifications de documentation et les réusinages n'ont pas besoin de nouveaux tests
4. Assurez-vous que l'intégralité des tests passent : `python manage.py test`
5. Poussez votre travail et faites une _pull request_

# Quelques bonnes pratiques
* Respectez [les conventions de code de Django](https://docs.djangoproject.com/en/1.6/internals/contributing/writing-code/coding-style/), ce qui inclut la [PEP 8 de Python](http://legacy.python.org/dev/peps/pep-0008/)
* Le code et les commentaires sont en anglais
* Le _workflow_ Git utilisé est le [git flow](http://nvie.com/posts/a-successful-git-branching-model/) :
* Les contributions se font uniquement sur la branche `dev`
* Pensez à préfixer vos branches selon l'objet de votre PR : `hotfix-XXX`, `feature-XXX`, etc.
* La branche `master` contient exclusivement le code en production, pas la peine d'essayer de faire le moindre _commit_ dessus !

* Votre test doit échouer sans votre modification, et réussir avec
* Faites des messages de _commit_ clairs et en anglais
* Il n'y a aucune chance que votre _pull request_ soit acceptée sans son test associé

# Les bonnes pratiques pour les PR et les commits
## Les Pull-Requests
* Lors de l'ouverture d'une PR, respectez le template suivant :

```markdown
| Q | R
| ------------------------- | -------------------------------------------
| Correction de bugs ? | [oui|non]
| Nouvelle Fonctionnalité ? | [oui|non]
| Tickets concernés | [Liste de tickets séparés par des virgules]
```

## Les commits
* Pour les commits, nous suivons le même ordre d'idée des standards git, à savoir :
* La première ligne du commit ne doit pas faire plus de 50 caractères
* Si besoin, complétez votre commit via des commentaires, en respectant une limite de 70 caractères par ligne
* Bien que le code soit en anglais, le commit doit être de préférence en français
* Vous pouvez également (c'est d'ailleurs conseillé) de référencer le ticket que vous fixez
* Un commit doit être atomique ; il fixe / implémente **une** chose et le fait **bien**

* Essayez d'éviter les commits dits inutiles (`fix previous commit`, ...). Si vous en avez dans votre pull-request,
on vous demandera probablement de faire un `squash` de vos commits.

N'hésitez pas à demander de l'aide, et bon courage !
70 changes: 50 additions & 20 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
[![Build Status](https://magnum.travis-ci.com/Taluu/ZesteDeSavoir.png?token=Cu35XY4F6RcYoPgjjcbA)](https://magnum.travis-ci.com/Taluu/ZesteDeSavoir)
[![Build Status](https://travis-ci.org/zestedesavoir/zds-site.svg?branch=dev)](https://travis-ci.org/zestedesavoir/zds-site)
[![Coverage Status](https://coveralls.io/repos/zestedesavoir/zds-site/badge.png?branch=dev)](https://coveralls.io/r/zestedesavoir/zds-site?branch=dev)
[![Licnce GPL](http://img.shields.io/badge/license-GPL-yellow.svg)](http://www.gnu.org/licenses/quick-guide-gplv3.fr.html)

ZesteDeSavoir
Expand All @@ -20,12 +21,12 @@ Fonctionnalités implementées

Fonctionnalités à venir
-----------------------
Elles sont reportées essentiellement dans le [bugtraker](https://github.com/Taluu/ZesteDeSavoir/issues?state=open)
Elles sont reportées essentiellement dans le [bugtraker](https://github.com/zestedesavoir/zds-site/issues)

Comment démarrer une instance de ZdS ?
--------------------------------------
### Pré-requis
- Python 2.7 (avec les fichiers de developpement, le paquet `python-dev` sous Ubuntu)
- Python 2.7 (avec les fichiers de developpement, les paquets `python-dev` et `python-lxml` sous Debian/Ubuntu)
- Pip
- git

Expand All @@ -37,9 +38,8 @@ Comment démarrer une instance de ZdS ?

- Téléchargez et installez les outils suivants :
- [PowerShell 3.0+](http://www.microsoft.com/fr-fr/download/details.aspx?id=40855)
- [MinGW](http://sourceforge.net/projects/mingw/files/latest/download)
- [Git](http://git-scm.com/download/win) (Git pour Eclipse ne suffit pas ; associez les .sh)
- [Téléchargez et installez Python 2.7](https://www.python.org/ftp/python/2.7.5/python-2.7.5.msi)
- [Téléchargez et installez Python 2.7](https://www.python.org/download/releases/2.7/)
- Installez setuptools : Démarrez [Powershell](http://fr.wikipedia.org/wiki/Windows_PowerShell) **en mode administrateur** et lancez la commande suivante : `(Invoke-WebRequest https://bitbucket.org/pypa/setuptools/raw/bootstrap/ez_setup.py).Content | python -`
- Redémarrez Powershell
- Installez pip : `easy_install pip`
Expand Down Expand Up @@ -67,13 +67,13 @@ Avant de vous lancez dans l'installation de l'environnement de zds, il faut quel
* Installer [MacPorts](http://www.macports.org/) pour récupérer certains paquets utiles pour l'installation des dépendances de ce projet.

Une fois les pré-requis terminés, vous pouvez vous lancer dans l'installaton de l'environnement de zds :
```
```console
# Installation de virtualenv.
pip install virtualenv
pip install virtualenvwrapper
mkdir ~/.virtualenvs
export WORKON_HOME=$HOME/.virtualenvs # A rajouter dans ~/.bash_profile
source /usr/local/bin/virtualenvwrapper.sh # A rajouter dans ~/.bash_profile
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

# Création de votre environnement.
mkvirtualenv zdsenv
Expand All @@ -86,7 +86,7 @@ export CFLAGS=-Qunused-arguments
export CPPFLAGS=-Qunused-arguments

# Installation de toutes les dépendances.
pip install -r requirements.txt
pip install --upgrade -r requirements.txt
```

Pour relancer votre environnement : `source ~/.virtualenvs/zdsenv/bin/activate`
Expand All @@ -95,25 +95,48 @@ Pour sortir de votre environnement : `deactive`
####Sur Linux
Faites les commandes suivantes au fur et à mesure (si l'une d'entre elle échoue, resolvez là avant de continuer)

**NB : les commandes suivantes sont génériques et indépendantes de la distribution que vous utilisez. Si votre distribution propose Python2 par defaut (comme Ubuntu), les commandes `/usr/bin/env python2` peuvent être remplacées par `python` tout simplement.**
**NB : les commandes suivantes sont génériques et indépendantes de la distribution que vous utilisez. **
**NB2 : il est impératif que la locale fr_FR.UTF-8 soit installée sur votre distribution.**

Assurez vous que les dépendances suivantes soient résolues :
- python-dev
- libxml2-dev
- libxlst-dev (peut être appelée libxlst1-dev sur certains OS comme ubuntu
- libz-dev (peut être libz1g-dev sur système 64bits)
- python-sqlparse
- libjpeg8 libjpeg8-dev libfreetype6 libfreetype6-dev

Une fois dans votre environnement python (`source ../bin/activate` si vous utilisez virtualenv, très fortement conseillé), lancez l'installation complète :


```console
pip install --user -r requirements.txt
/usr/bin/env python2 manage.py syncdb
/usr/bin/env python2 manage.py migrate
/usr/bin/env python2 manage.py runserver
sudo pip install -I pillow
pip install --user --upgrade -r requirements.txt
python manage.py syncdb
python manage.py migrate
python manage.py runserver
```

Pour faire fonctionner ZdS dans son ensemble vous devez installer les outils LateX, Pandoc et les polices Microsoft. Ce qui revient à lancer les commmandes suivantes :

```console
apt-get install --reinstall ttf-mscorefonts-installer
apt-get install texlive
apt-get install texlive-xetex
apt-get install texlive-lang-french
apt-get install texlive-latex-extra
apt-get install pandoc
```

### Données de test
Pour bénéficier de données de test, exécutez les commandes suivantes, dans l'ordre, à la fin des précédentes :

```console
/usr/bin/env python2 manage.py loaddata fixtures/users.yaml
/usr/bin/env python2 manage.py loaddata fixtures/forums.yaml
/usr/bin/env python2 manage.py loaddata fixtures/topics.yaml
/usr/bin/env python2 manage.py loaddata fixtures/mps.yaml
/usr/bin/env python2 manage.py loaddata fixtures/categories.yaml
python manage.py loaddata fixtures/users.yaml
python manage.py loaddata fixtures/forums.yaml
python manage.py loaddata fixtures/topics.yaml
python manage.py loaddata fixtures/mps.yaml
python manage.py loaddata fixtures/categories.yaml
```

Cela va créer plusieurs entitées :
Expand All @@ -130,10 +153,11 @@ Cela va créer plusieurs entitées :

### Conseil de developpement

Avant de faire une PR, vérifiez que votre code passe tous les tests unitaires en exécutant la suite complète :
Avant de faire une PR, vérifiez que votre code passe tous les tests unitaires et qu'il est compatible PEP-8 (sinon votre Pull Request se verra refusée) en exécutant les commandes suivantes :

```console
python manage.py test
flake8 --exclude=migrations,urls.py --max-line-length=120 --ignore=F403,E126,E127,E128 zds
```

Si vous modifiez le modèle, n'oubliez pas de créer les fichiers de migration :
Expand All @@ -142,6 +166,12 @@ Si vous modifiez le modèle, n'oubliez pas de créer les fichiers de migration :
/usr/bin/env python2 manage.py schemamigration app_name --auto
```

Si vous avez une connexion lente et que vous ne voulez travailler que sur une branche précise, vous pouvez toujours ne récupérer que celle-ci :

```
git clone https://github.com/zestedesavoir/zds-site.git --depth 1
```

En savoir plus
--------------
- [Comment déployer ZDS sur un serveur de production ?](https://github.com/Taluu/ZesteDeSavoir/blob/dev/doc/deploy.md)
2 changes: 1 addition & 1 deletion assets/css/zds.css

Large diffs are not rendered by default.

Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
34 changes: 17 additions & 17 deletions assets/img/foundation-icons/foundation-icons/svgs/fi-alert.svg
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.

0 comments on commit 741c07f

Please sign in to comment.