Où sont les IF ? ICI --> mapif en ligne
Ce projet est né de l'esprit de quelques 4IF au moment critique qu'est le stage, veille du départ en échange pour une majorité d'entre eux. Cette épreuve qu'est la séparation n'étant pas facile à vivre, ils ont décidé de développer cette petite application permettant de connaître la position d'autres IF des endroits où se trouvent leurs amis et où ils se trouvent eux mêmes.
Si vous avez une idée de fonctionnalité, n'hésitez pas à l'implémenter ou à la partager dans les issues.
Le code du serveur est développé en Python 3 compatible avec la version 3.3
pour permettre son déploiement sur OpenShift.
Le back utilise Flask, et d'autres librairies python renseignées dans le fichier requirements.txt.
- Installez les dépendances en executant
pip install -r requirements.txt
. - En cas d'erreur de dépendances pip concernant PostgreSQL, exécutez les commandes suivantes :
sudo apt-get install postgresql
,sudo apt-get install python-psycopg2
,sudo apt-get install libpq-dev
, puis relancez l'installation des dépendancespip install -r requirements.txt
. - Vous aurez besoin également de créer le fichier de configuration
mapif.ini
pour ce, prenez exemple sur le fichier mapif.ini.dist. - Pour faire fonctionner reCAPTCHA, il vous faudra entrer votre clé secrète reCAPTCHA dans mapif.ini.dist, ainsi que la clé de site dans
src/templates/modals/signupModal.html
, dans l'attributdata-sitekey
. - Vous devez également créer au choix le fichier
database/mapif.sqlite
à la racine du projet ou mettre en place une base PostgreSQL. - Pour lancer l'application, un simple
python main.py
devrait suffire. - Vous devriez pouvoir y accéder sur http://localhost:5000.
- Si vous souhaitez que le serveur écoute les connexions extérieures, remplacez
localhost
par0.0.0.0
danssrc/mapif.py
, et entrez l'adresse IP du serveur suivie de:5000
danssrc/static/settings.json
(champ SERVER_ADDR)
Le front est développé en HTML5, CSS3, javascript ECMA5.
Le code exploite principalement jQuery 2.2.3 pour la gestion des évènements et animations, Leaflet.js pour la gestion de la carte, et Nominatim d'OpenStreetMap pour la résolution d'adresse.
Pour le style il s'agit de Bootstrap 3.3.6, augmenté du Bootstrap Material Design.
Projet à l'initiative de Nicolas Bonfante.
Réalisation par Loïc Touzard (Responsable Front), Paul Dautry (Responsable Back) et Kévin Bulmé.
Remerciements aux contributeurs Lisa Courant pour le logo et Mohamed HAIDARA.