Coder Social home page Coder Social logo

joanluc / sygefor Goto Github PK

View Code? Open in Web Editor NEW

This project forked from sygefor/sygefor

0.0 0.0 0.0 5.33 MB

SYstème de GEstion de FORmation

Home Page: http://sygefor.conjecto.com

License: CeCILL Free Software License Agreement v2.1

Shell 0.17% JavaScript 22.62% PHP 38.69% CSS 12.08% HTML 10.49% SCSS 6.85% Twig 9.10%

sygefor's Introduction

SYGEFOR3

Qu'est-ce que Sygefor3 ?

Sygefor3 est une solution de gestion de formations conçu par l'Association du Réseau des URFIST, puis enrichie par l'adCRFCB ainsi que le CNRS. Elle a été réalisée par Conjecto. L'application se présente sous la forme d'une interface de gestion privée. Une version publique de la solution permet aux stagiaires de s'inscrire aux formations. Une API publique est également disponible. Les types d'authentification OAuth2 et Shibboleth sont intégrés à la solution.

Démonstration

Un version de démonstration de la solution est disponible à l'adresse : http://sygefor.conjecto.com.

Captures d'écran

Configuration requise

PHP

  • version 5.3.9 minimum (sauf 5.3.16). Php7 n'est pas compatible pour le moment.
  • extensions :
    • json
    • xml
    • zip
    • ctype
  • modules :
    • pdo_mysql
    • openssl
    • apc
    • mbstring
    • curl
    • fileinfo

Symfony2

Sygefor3 s'appuie sur Symfony 2.8.

MySQL

version 5.0 minimum

ElasticSearch

Sygefor3 s'appuie sur un serveur ElasticSearch qui gère l'indexation de l'ensemble des éléments.

Unoconv

La génération des PDF lors d'un publipostage est rendue possible grâce à la librairie Unoconv qui doit donc être installée sur le serveur.

  • version 0.7

Shibboleth

Sygefor3 utilise la Fédération d'identité Education-Recherche de Renater pour permettre aux stagiaires de s'inscrire, au travers du protocole Shibboleth. Il faut donc installer un Service Provider sur le serveur et le déclarer auprés de Renater :

Installation d'un SP Shibboleth

Docker


Une fois le dépôt cloné, rendez-vous dans le dossier sygefor et mettez à jour les sous-modules avec la commande : git submodule update --init

Vous pouvez ensuite utiliser docker pour lancer les services nécessaires à Sygefor3. Le docker-compose.yml contient les containers déjà configurés.

Associer les droits à l'utilisateur www-data pour pour les dossiers : app/cache et app/logs :

  • sudo chown -R www-data. app/cache/
  • sudo chown -R www-data. app/logs/

Attention à renseigner les bons paramètres dans app/config/parameters.yml. Vous pouvez remplacer :

  • database_host par mysql
  • elasticsearch_host par elasticsearch
  • mailer_host par mailcatcher

Vous pouvez associer les droits d'écriture à l'utilisateur www-data pour les répertoires suivants :

  • var/Material
  • var/Publipost
  • /tmp/sygefor dans le container

Vous pouvez ensuite exécuter la commande docker-compose up -d pour lancer les containers.

Installer docker

Installer docker-compose

Une fois les containers lancés, exécutez les commandes suivantes pour finaliser l'installation :

  • docker exec -it sygefor_shibboleth composer install
  • docker exec -it sygefor_shibboleth yarn install
  • docker exec -it sygefor_shibboleth bower install --allow-root
  • docker exec -it sygefor_shibboleth php app/console doctrine:schema:create
  • docker exec -it sygefor_shibboleth php app/console doctrine:fixtures:load
  • docker exec -it sygefor_shibboleth php app/console fos:js-routing:dump
  • docker exec -it sygefor_shibboleth gulp build:dist
  • docker exec -it sygefor_shibboleth php app/console fos:elastica:populate

Il suffit alors de se rendre sur localhost avec votre navigateur pour accéder au BO

Installation de Sygefor3

Prérequis

Le projet

  • git clone https://github.com/sygefor/sygefor.git
  • cd sygefor
  • git submodule update --init
  • composer install
    • Renseigner les paramètres symfony
  • yarn install
  • bower install
  • php app/console doctrine:database:create
  • php app/console doctrine:schema:create
  • php app/console doctrine:fixtures:load (pour générer quelques données initiales)
  • php app/console fos:js-routing:dump
  • gulp build:dist
  • php app/console fos:elastica:populate
  • php app/console server:run 127.0.0.1:8000
  • Se rendre sur localhost:8000 avec votre navigateur pour accéder au BO
  • Se connecter avec les identifiants admin/admin
  • Ajouter une entrée dans votre fichier host pour faire pointer sygefor.com vers 127.0.0.1
  • Se rendre sur sygefor.com:8000 avec votre navigateur pour accéder au FO

API

Sygefor3 intègre une API disponible dans ApiBundle. Il est possible de réserver certaines parties de l'API aux utilisateurs connectés en OAuth2 ou via Shibboleth. L'API permet notamment d'exporter les formations et les sessions de formations.

Export LHEO

Sygefor3 intègre un export LHEO des formations.

Etendre

Le coeur de Sygefor3 est intégré dans les sous-modules du projet. Ce coeur déclare des classes et des controlleurs abstraits. Vous devez étendre ces classes et controlleurs pour faire fonctionner l'application. Le AppBundle intègre ces extentions. Vous pourrez comprendre comment étendre Sygefor3 en regardant ce bundle.

Vous pouvez également adapter l'interface privée de gestion en modifiant les modèles AngularJS contenus dans le répertoire app/Resources/public/ng. Le module FrontBundle intègre une version publique et allégée de Sygefor permettant aux stagiaires de s'inscrire aux différents stages. Vous pourrez aussi retrouver un module Bilan basé sur ElasticSearch.

sygefor's People

Contributors

conjectwan avatar bdecarne avatar serwan avatar zwered avatar joanluc 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.