Coder Social home page Coder Social logo

zds-site's Introduction

Build Status Coverage Status Licnce GPL

ZesteDeSavoir

Site internet communautaire codé à l'aide du Framework Django 1.6.

Fonctionnalités implementées

  • La gestion du forum
  • La gestion des membres
  • La gestion des tutoriels
  • La gestion des articles
  • La gestion des message Privés
  • La gestion des galleries d'images

Fonctionnalités à venir

Elles sont reportées essentiellement dans le bugtraker

Comment démarrer une instance de ZdS ?

Pré-requis

  • Python 2.7 (avec les fichiers de developpement, les paquets python-dev et python-lxml sous Debian/Ubuntu)
  • Pip
  • git

Installation d'une version locale de ZDS

NB : si une commande ne marche pas, vérifier pourquoi avant de continuer

####Installation sur Windows 7, 8 et plus

  • Téléchargez et installez les outils suivants :
  • Téléchargez et installez Python 2.7
  • Installez setuptools : Démarrez 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
  • Désactivez la sécurité sur les script powershell Set-ExecutionPolicy RemoteSigned
  • Installez Virtualenv avec les commandes suivante :
    • pip install virtualenv
    • pip install virtualenvwrapper-powershell
  • Créez votre workspace dédié à ZdS
    • set $env:WORKON_HOME
    • mkdir '~\.virtualenvs'
    • Import-Module virtualenvwrapper
    • New-VirtualEnvironment zdsenv --no-site-packages
  • Cloner le dépot git via la console git (et pas via powershell) windows: git clone https://github.com/Taluu/ZesteDeSavoir.git
  • Dans la console PowerShell via l'environnement zdsenv installez les dépendances.
    • easy_install lxml
    • pip install -r requirements.txt
    • python manage.py syncdb
    • python manage.py migrate
    • python manage.py runserver
  • Pour redémarrer virtualenv les fois suivantes : ~\.virtualenvs\zdsenv\Scripts\activate.ps1

####Sur OS X Avant de vous lancez dans l'installation de l'environnement de zds, il faut quelques pré-requis :

  • Installer XCode pour pouvoir exécuter des commandes (g)cc.
  • Installer MacPorts 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 :

# Installation de virtualenv.
pip install virtualenv
pip install virtualenvwrapper
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

# Création de votre environnement.
mkvirtualenv zdsenv

# Récupération de la librairie lxml pour python 2.7 via MacPorts.
sudo port install py27-lxml

# Ajout de flags pour compiler avec gcc plutôt que clang lors de l'installation de lxml.
export CFLAGS=-Qunused-arguments
export CPPFLAGS=-Qunused-arguments

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

Pour relancer votre environnement : source ~/.virtualenvs/zdsenv/bin/activate 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. ** 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 :

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 :

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 :

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 :

  • 3 utilisateurs (username/password) :
    • user/user : Utilisateur normal
    • staff/staff : Utilisateur avec les droits d'un staff
    • admin/admin : Utilisateur avec les droits d'un staff et d'un admin
  • 3 categories
  • 11 forums
  • 3 topics with one answer
  • 1 mp with 3 participants
  • 3 catégories et 2 sous-catégories

Conseil de developpement

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 :

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 :

/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

zds-site's People

Contributors

dralliw avatar firm1 avatar cgabard avatar spacefox avatar alex-d avatar eskimon avatar shigerum avatar ge0 avatar artragis avatar vhf avatar coy0te avatar taluu avatar poulp avatar thunderseb avatar geoffreyc avatar delphiki avatar

Stargazers

 avatar

Watchers

James Cloos avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.