@@ -10,13 +10,19 @@ L'application est « agnostique » au type de base de donnée employée. Alors q
...
@@ -10,13 +10,19 @@ L'application est « agnostique » au type de base de donnée employée. Alors q
aujourd'hui stockés sous forme de texte car aucune requête n'aurait besoin de les parcourir ; ainsi, seul des champs par défaut de django sont employés.
aujourd'hui stockés sous forme de texte car aucune requête n'aurait besoin de les parcourir ; ainsi, seul des champs par défaut de django sont employés.
#### SQlite
#### SQlite
Pour utiliser SQlite comme SGBD, il suffit de commenter le bloc qui concerne Postgresql dans le fichier de configuration visible ici : `./general/settings.py` :
Pour utiliser SQlite comme SGBD, il suffit de commenter le bloc qui concerne Postgresql dans le fichier de configuration visible ici : `./general/settings/development.py` :
```python
```python
## POSTGRESQL
DATABASES={
# If bellow fails, your need to add DATABASE_URL and ENV to your virutalenv
@@ -60,15 +66,6 @@ host all all 127.0.0.1/32 trust
...
@@ -60,15 +66,6 @@ host all all 127.0.0.1/32 trust
Pour un fonctionnement simplifié avec ce projet il faut procéder aux changement suivants.
Pour un fonctionnement simplifié avec ce projet il faut procéder aux changement suivants.
_Petite commande à faire au début : nous allons avoir besoin de votre nom d'utilisateur._
```bash
whoami
```
C'est par le résultat de cette commande qu'il faudra que vous remplaciez chaque `<login>` dans les autres commandes.
Changer d'utilisateur pour l'utilisateur classique de `postgresql` :
```bash
```bash
su - postgres
su - postgres
```
```
...
@@ -84,19 +81,20 @@ Si vous ne voyez pas `postgres=#` c'est qu'il y a un problème, vérifier votre
...
@@ -84,19 +81,20 @@ Si vous ne voyez pas `postgres=#` c'est qu'il y a un problème, vérifier votre
Créer un utilisateur correspondant à votre utilisateur/login classique dans postgre :
Créer un utilisateur correspondant à votre utilisateur/login classique dans postgre :
```sql
```sql
CREATEUSER<login>;
CREATEUSERoutgoing;
ALTERUSERoutgoingWITHPASSWORD'outgoing';
```
```
Donner lui le droit de créer des bases de données (utile lors des tests en local) :
Donner lui le droit de créer des bases de données (utile lors des tests en local) :
```sql
```sql
ALTERUSER<login>CREATEDB;
ALTERUSERoutgoingCREATEDB;
```
```
Créer une base de données qui lui sera associée :
Créer une base de données qui lui sera associée :
```sql
```sql
CREATEDATABASE<login>;
CREATEDATABASEoutgoing;
GRANTALLonDATABASE<login>to<login>;
GRANTALLonDATABASEoutgoingtooutgoing;
```
```
Sortez de `psql` (`\q`) et retrouver votre utilisateur normal (`CRTL` + `D`).
Sortez de `psql` (`\q`) et retrouver votre utilisateur normal (`CRTL` + `D`).
...
@@ -117,37 +115,19 @@ Afin d'avoir des environnements reproductibles il est **fortement** suggéré d'
...
@@ -117,37 +115,19 @@ Afin d'avoir des environnements reproductibles il est **fortement** suggéré d'
(Ce projet est développé sur `python-3.6`)
(Ce projet est développé sur `python-3.6`)
```bash
```bash
python3.6 -m venv <chemin-du-venv>
python3.6 -m venv ./env
```
```
_(chemin = "chemin" + "nom-du-venv")_ Nous vous suggérons de prendre `<chemin-du-venv> = ./env`.
Cet environnement virtuel doit être **systématiquement** activé lorsque vous travaillez sur ce projet :
Cet environnement virtuel doit être **systématiquement** activé lorsque vous travaillez sur ce projet :
```bash
```bash
source<chemin-du-venv>/bin/activate
source./env/bin/activate
```
```
Les lignes de votre console doivent alors commencez par `(<nom-du-venv>)`.
Les lignes de votre console doivent alors commencez par `(<nom-du-venv>)`.
_Pour le désactiver, faîtes : `deactivate`_.
_Pour le désactiver, faîtes : `deactivate`_.
!> Il est essentiel à ce stade de modifier votre environnement virtuel pour ajouter des variables d'environnement spécifiques, **pour que ce projet fonctionne correctement**.
Éditer le fichier `<chemin-du-venv>/bin/activate` :
- À la fin de la fonction `deactivate ()`, avant le `}` de fin, rajouter les deux linges :
Cela permet d'ajouter et d'enlever automatiquement des variables d'environnement **essentielles** au fonctionnement du projet.
### git
### git
Il ne vous reste plus qu'à cloner le projet :
Il ne vous reste plus qu'à cloner le projet :
...
@@ -190,11 +170,11 @@ _Collectez_ les éléments statistiques :
...
@@ -190,11 +170,11 @@ _Collectez_ les éléments statistiques :
_Checkez_ le système :
_Checkez_ le système :
```nash
```nash
./manage.py check
make check_backend
```
```
```bash
```bash
./manage.py test
make test_backend
```
```
Tout ce qu'il y a jusqu'ici **doit** fonctionner. :smile:
Tout ce qu'il y a jusqu'ici **doit** fonctionner. :smile:
...
@@ -211,4 +191,4 @@ Si vous n'avez jamais travailler avec Django, un tutoriel [s'impose](https://tut
...
@@ -211,4 +191,4 @@ Si vous n'avez jamais travailler avec Django, un tutoriel [s'impose](https://tut
## Déploiement _externe_
## Déploiement _externe_
À ce jour le déploiement externe est réalisé sur la plateforme proposée par [Heroku](https://www.heroku.com) à l'adresse : [http://heroku-badge.herokuapp.com/](http://heroku-badge.herokuapp.com/).
À ce jour, le déploiement est réalisé sur un petit vps [outgoing-utc.floflo.ch](outgoing-utc.floflo.ch)
**Ce service est à l'heure actuelle au stade de version _alpha_ afin de montrer certaines fonctionnalités. Les données seront vraisemblablement remises à zéro lors du passage à la phase _beta_ (quand toutes les fonctionnalités seront en place).**
- 3
Si vous trouvez des bugs ou si vous avez des suggestions, merci de les signaler [ici](https://gitlab.utc.fr/chehabfl/outgoing_rex/issues) ou par mail à l'adresse [florent.chehab@etu.utc.fr](mailto:florent.chehab@etu.utc.fr).
Pour rendre plus parlantes certaines fonctionnalités liées à la modération (grandement paramétrable) des informations, durant cette phase _alpha_ vous pouvez rejoindre les différents groupes d'accès tout seul :
- Pour rejoindre le groupe des modérateurs, cliquez [ici](/role_change/moderator/)
- Pour rejoindre le groupe d'accès « DRI », cliquez [ici](/role_change/dri/)
- Pour rejoindre le groupe _classique_, cliquez [ici](/role_change/normal/)
Les données actuellement présente sur la plateforme sont extraites d'un document récapitulant les destinations offertes aux GI il y a quelques semestre de cela ; et elles sont complétés par mes ajouts personnels (voir en particulier pour l'EPFL).
## Fonctionnalités manquantes
Voici les fonctionnalités qui seront rajoutées « prochainement » :
- Possibilité de filtrer les universités sur la page avec la carte ou celle avec la recherche. Les critères seront (ou devraient être) : destinations disponibles à tel semestre, destinations où sont partis des étudiants de telles branches/filières, destinations ouvertes à des étudiants de telles branches/filières, niveau de langue requis, etc.
- Possibilité de faire des listes commentées avec des universités et de les partager (ou non).
- Ajout des autres modules sur les pages des universités.
- Gestion des retours des étudiants sur leurs départs.
- Meilleure compatibilité avec les mobiles.
NB : les images de couverture sur les pages des universités seront aussi différentes ! (actuellement cet élément n'est pas _connecté_ au serveur)
Âge des données de l'UTC :
--------
| **Feature** | **Support** |
L'objectif est de mettre en place la phase _beta_ d'ici la prochaine session de candidature pour les départs à l'étranger.
| ------ | ----------- |
| Ancien départs | ✔ |
| Départs possibles | ✔ |
| Informatio sur les universités | ✔ |
[Rendez-vous sur le GitLab de l'UTC !](https://gitlab.utc.fr)
--------
Les objectifs de ce service sont :
- Regrouper les informations sur les départs à l'étranger réalisés par les étudiants de l'UTC ;
- Les renders accessibles et commensurables.
`;
`;
// Âge des données de l'UTC :
// | **Feature** | **Support** |
// | ------ | ----------- |
// | Ancien départs | ✔ |
// | Départs possibles | ✔ |
// | Informatio sur les universités | ✔ |
classPageHomeextendsReact.Component{
classPageHomeextendsReact.Component{
render(){
render(){
const{classes}=this.props;
const{classes}=this.props;
...
@@ -36,11 +63,10 @@ class PageHome extends React.Component {
...
@@ -36,11 +63,10 @@ class PageHome extends React.Component {