{"id":14983663,"url":"https://github.com/sygefor/sygefor","last_synced_at":"2025-06-26T20:06:32.301Z","repository":{"id":28055073,"uuid":"31551418","full_name":"sygefor/sygefor","owner":"sygefor","description":"SYstème de GEstion de FORmation","archived":false,"fork":false,"pushed_at":"2022-06-07T09:18:04.000Z","size":5440,"stargazers_count":15,"open_issues_count":1,"forks_count":7,"subscribers_count":10,"default_branch":"master","last_synced_at":"2025-03-24T16:46:08.557Z","etag":null,"topics":["angular","elasticsearch","managment","php","sygefor","symfony2","training"],"latest_commit_sha":null,"homepage":"http://sygefor.conjecto.com","language":"PHP","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"cecill-2.1","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/sygefor.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2015-03-02T16:58:45.000Z","updated_at":"2023-10-13T08:12:34.000Z","dependencies_parsed_at":"2022-09-13T17:21:52.976Z","dependency_job_id":null,"html_url":"https://github.com/sygefor/sygefor","commit_stats":null,"previous_names":[],"tags_count":1,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sygefor%2Fsygefor","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sygefor%2Fsygefor/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sygefor%2Fsygefor/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sygefor%2Fsygefor/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/sygefor","download_url":"https://codeload.github.com/sygefor/sygefor/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248279196,"owners_count":21077406,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["angular","elasticsearch","managment","php","sygefor","symfony2","training"],"created_at":"2024-09-24T14:07:44.926Z","updated_at":"2025-04-10T19:04:32.717Z","avatar_url":"https://github.com/sygefor.png","language":"PHP","funding_links":[],"categories":[],"sub_categories":[],"readme":"SYGEFOR3\n========================\n\nQu'est-ce que Sygefor3 ?\n-----------------\n\nSygefor3 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](http://www.conjecto.com/).\nL'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.\nUne API publique est également disponible. Les types d'authentification OAuth2 et Shibboleth sont intégrés à la solution.\n\nDémonstration\n-----------------\n\nUn version de démonstration de la solution est disponible à l'adresse : http://sygefor.conjecto.com.\n\n\nCaptures d'écran\n-----------------\n\n\u003cimg src=\"https://raw.githubusercontent.com/conjecto/sygefor/master/assets/screen-dashboard.png?raw=true\" title=\"Capture d'écran du dashboard\" width=\"30%\"/\u003e\n\u003cimg src=\"https://raw.githubusercontent.com/conjecto/sygefor/master/assets/screen-list-searchbar.png?raw=true\" title=\"Capture d'écran de la vue liste filtrée via la barre de recherche\" width=\"30%\"/\u003e\n\u003cimg src=\"https://raw.githubusercontent.com/conjecto/sygefor/master/assets/screen-trainee.png?raw=true\" title=\"Capture d'écran de la vue d'un stagiaire\" width=\"30%\"/\u003e\n\u003cimg src=\"https://raw.githubusercontent.com/conjecto/sygefor/master/assets/screen-mailing.png?raw=true\" title=\"Capture d'écran d'un envoie d'emails\" width=\"30%\"/\u003e\n\u003cimg src=\"https://raw.githubusercontent.com/conjecto/sygefor/master/assets/screen-summary.png?raw=true\" title=\"Capture d'écran de la génération des bilans\" width=\"30%\"/\u003e\n\u003cimg src=\"https://raw.githubusercontent.com/conjecto/sygefor/master/assets/screen-front-home.png?raw=true\" title=\"Capture d'écran de la page d'accueil du site public\" width=\"30%\"/\u003e\n\u003cimg src=\"https://raw.githubusercontent.com/conjecto/sygefor/master/assets/screen-front-profile.png?raw=true\" title=\"Capture d'écran de la partie compte du site public\" width=\"30%\"/\u003e\n\nConfiguration requise\n------------\n\n### PHP\n\n* version 5.3.9 minimum (sauf 5.3.16). Php7 n'est pas compatible pour le moment.\n* extensions :\n    * json\n    * xml\n    * zip\n    * ctype\n* modules :\n    * pdo_mysql\n    * openssl\n    * apc\n    * mbstring\n    * curl\n    * fileinfo\n\n### Symfony2\n\nSygefor3 s'appuie sur Symfony 2.8.\n\n### MySQL\n\nversion 5.0 minimum\n\n### ElasticSearch\n\nSygefor3 s'appuie sur un serveur [ElasticSearch](http://www.elasticsearch.org/) qui gère l'indexation de l'ensemble\ndes éléments.\n\n* version 1.4\n   - Ajouter le fichier [elasticsearch.repo](https://github.com/sygefor/sygefor/blob/master/external_conf/elasticsearch.repo) dans le répertoire /etc/yum.repos.d/ pour CentOS\n   - Ajouter \"deb http://packages.elasticsearch.org/elasticsearch/1.4/debian stable main\" dans /etc/apt/sources.list pour Debian\n   - Installer le paquet elasticsearch\n\n### Unoconv\n\nLa génération des PDF lors d'un publipostage est rendue possible grâce à la librairie [Unoconv](https://github.com/dagwieers/unoconv)\nqui doit donc être installée sur le serveur.\n\n* version 0.7\n\n### Shibboleth\n\nSygefor3 utilise la Fédération d'identité Education-Recherche de Renater pour permettre aux stagiaires de s'inscrire, au travers\ndu protocole Shibboleth. Il faut donc installer un Service Provider sur le serveur et le déclarer auprés de Renater :\n\n[Installation d'un SP Shibboleth](https://services.renater.fr/federation/docs/installation/sp#test_dans_la_federation_de_test)\n\n### Docker\n------------\n Une fois le dépôt cloné, rendez-vous dans le dossier sygefor et mettez à jour les sous-modules avec la commande : \n git submodule update --init\n\nVous pouvez ensuite utiliser docker pour lancer les services nécessaires à Sygefor3. \nLe docker-compose.yml contient les containers déjà configurés.\n\nAssocier les droits à l'utilisateur www-data pour pour les dossiers : app/cache et app/logs :\n - sudo chown -R www-data. app/cache/\n - sudo chown -R www-data. app/logs/\n\nAttention à renseigner les bons paramètres dans app/config/parameters.yml. Vous pouvez remplacer :\n - database_host par mysql\n - elasticsearch_host par elasticsearch\n - mailer_host par mailcatcher \n\nVous pouvez associer les droits d'écriture à l'utilisateur www-data pour les répertoires suivants :\n - var/Material\n - var/Publipost\n - /tmp/sygefor dans le container\n \nVous pouvez ensuite exécuter la commande docker-compose up -d pour lancer les containers.\n\n[Installer docker](https://docs.docker.com/install/)\n\n[Installer docker-compose](https://docs.docker.com/compose/install/#prerequisites)\n\nUne  fois les containers lancés, exécutez les commandes suivantes pour finaliser l'installation :\n\n - docker exec -it sygefor_shibboleth composer install\n - docker exec -it sygefor_shibboleth yarn install\n - docker exec -it sygefor_shibboleth bower install --allow-root\n - docker exec -it sygefor_shibboleth php app/console doctrine:schema:create\n - docker exec -it sygefor_shibboleth php app/console doctrine:fixtures:load\n - docker exec -it sygefor_shibboleth php app/console fos:js-routing:dump\n - docker exec -it sygefor_shibboleth gulp build:dist\n - docker exec -it sygefor_shibboleth php app/console fos:elastica:populate\n\nIl suffit alors de se rendre sur localhost avec votre navigateur pour accéder au BO\n\nInstallation de Sygefor3\n------------\n\n### Prérequis\n\n- Composer installé : http://www.coolcoyote.net/php-mysql/installation-de-composer-sous-linux-et-windows\n- Openssl installé\n- npm installé\n    - curl -sL https://deb.nodesource.com/setup_6.x | bash -\n    - apt-get install npm\n- yarn, bower, gulp et n installés (sudo npm install yarn bower gulp@3.9.1 n -g)\n- Node avec la version 6.8 (sudo n 6.8.0)\n- Visual Studio Redistributables installé pour Windows\n- libssl-dev installé pour linux\n- Rewrite module activé\n\n### Le projet\n\n- git clone https://github.com/sygefor/sygefor.git\n- cd sygefor\n- git submodule update --init\n- composer install\n    - Renseigner les paramètres symfony\n- yarn install\n- bower install\n- php app/console doctrine:database:create\n- php app/console doctrine:schema:create\n- php app/console doctrine:fixtures:load (pour générer quelques données initiales)\n- php app/console fos:js-routing:dump\n- gulp build:dist\n- php app/console fos:elastica:populate\n- php app/console server:run 127.0.0.1:8000\n- Se rendre sur localhost:8000 avec votre navigateur pour accéder au BO\n- Se connecter avec les identifiants admin/admin\n- Ajouter une entrée dans votre fichier host pour faire pointer sygefor.com vers 127.0.0.1\n- Se rendre sur sygefor.com:8000 avec votre navigateur pour accéder au FO\n\n### API\n\nSygefor3 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.\nL'API permet notamment d'exporter [les formations](http://sygefor.com:8000/api/training) et [les sessions de formations](http://sygefor.com:8000/api/training/session).\n\n### Export [LHEO](http://lheo.gouv.fr/description)\n\nSygefor3 intègre un [export LHEO](http://sygefor.com:8000/api/lheo/sygefor) des formations.\n\n### Etendre\n\nLe 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\nces classes et controlleurs pour faire fonctionner l'application.\nLe AppBundle intègre ces extentions. Vous pourrez comprendre comment étendre Sygefor3 en regardant ce bundle.\n\nVous pouvez également adapter l'interface privée de gestion en modifiant les modèles AngularJS contenus dans le répertoire app/Resources/public/ng.\nLe module FrontBundle intègre une version publique et allégée de Sygefor permettant aux stagiaires de s'inscrire aux différents stages.\nVous pourrez aussi retrouver un module Bilan basé sur ElasticSearch.","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsygefor%2Fsygefor","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fsygefor%2Fsygefor","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsygefor%2Fsygefor/lists"}