Portlet Stage-Emploi version 1.0.1Installation et paramétrage du portlet
|
Référez-vous à la documentation de Esup-portail. Le portlet a été installé sur les versions 2.5 et 2.6 ALM de Esup-Portail, mais n'a pas encore été testé pour la version Esup-portail 2.6 DLM.
Vous trouverez dans le répertoire utils les librairies indispensables pour l'execution de l'application Stage-Emploi. Vous devez les ajouter si elles sont absentes, par exemple dans ${tomcat.home}/common/lib pour jsp-api.jar et servlet-api.jar et dans ${portal.lib} pour portlet-api.jar
Ce portlet utilise le SGBD MySql, il a été testé avec les versions MySQL 4.0.24_Debian-10sarge2-log, 5.0.51, 5.0.22 et 5.1.28 de ce SGBD.
L'application Stage-Emploi n'accède pas directement aux applications de gestion de l'établissement , mais uniquement à l'annuaire LDAP, en lecture (pas de modification de LDAP depuis l'application). Les informations dans LDAP sont récupérées depuis Apogée (pour les étudiants) ou depuis Harpège (pour les personnels de l'université). En plus des deux unités d'organisation recommandées par SUPANN (ou=people et ou=groups), il faut prévoir dans LDAP:
Voici les attributs utilisés dans l'application :
Certains attributs doivent obligatoirement être renseignés : les attributs indispensables sont, pour ou=people : identifiant (uid), nom (sn), prénom (givenName), affiliation (eduPersonPrimaryAffiliation), affectation (code affectation), et également, pour les étudiants, étape d'étude (code étape) et numéro étudiant (suppanEtuId).
Voici les différents fichiers présents depuis le répertoire racine
Pour configurer cette application, vous devez adapter un certain nombre de fichiers de configuration. Vous devez recopier chaque fichier d'exemple <nomFichier>-example.<extension> en <nomFichier>.<extension> avant de les adapter. |
Ce portlet utilise le SGBD MySql, il a été testé avec les versions MySQL 4.0.24, 5.0 et 5.1 de ce SGBD. |
Si vous aviez déjà installé une version 0.7.6 du portlet Stage-Emploi, et que vous ne souhaitiez pas perdre les données contenues dans votre base de données, reportez vous à la mise à jour du portlet . |
le "Portlet definition ID" est très important. Dans notre cas, il s'agit de esup-portlet-PStage.PStage. L'identifiant esup-portlet-PStage doit être identique à celui indiqué dans le contexte de server.xml au niveau du serveur d'application et PStage doit être identique au nom du portlet (portlet-name) du fichier webpages/portlet.xml. |
<bean id="uPortalLdapAttributeSource" class="org.jasig.portal.services.persondir.support.LdapPersonAttributeDaoImpl"> ... <property name="ldapAttributesToPortalAttributes"> <map> ... <entry key="eduPersonPrimaryAffiliation"> <value>eduPersonPrimaryAffiliation</value> </entry> ... </map> </property> </bean> |
Pour que l'application Stage-Emploi fonctionne correctement, l'attribut eduPersonPrimaryAffiliation doit être renseigné pour toutes les personnes dans votre annuaire LDAP. La valeur de cet attribut sera utilisé pour connaître le profil de l'utilisateur connecté (étudiant, enseignant, ou employé), c'est pourquoi il est également important que ce soit correctement renseigné. |
Le fichier properties/config.properties est utilisé pour configurer le portlet. Vous trouverez un exemple dans le fichier properties/config-sample.properties sur lequel il faut se baser pour créer le fichier properties/config.properties
######################################################## # fichier de configuration de l'application StageEmploi# ######################################################## ## # Paramètres de connexion à la base de données StageEmploi ## # Driver db.driver=com.mysql.jdbc.Driver # URL db.url=jdbc:mysql:_localhost:3306/StageEmploi # User db.user=nomUser # Password db.password=password |
###################################################### # Noms de paramètres LDAP dans l'appli mappés avec les # paramètres de connexion à la base ldap #(utilisés dans portlet-pstage-dao.xml) ############################################ # URL ldap.url=ldap:_ldap.univ.fr:389/ # baseDn ldap.base=dc=ldap,dc=uhb,dc=fr # UserName ldap.userName=cn=machin,ou=System,dc=ldap,dc=uhb,dc=fr # Password ldap.password=password |
# filtre recherche de personnes dans ldap ldap.people=ou=People # filtre recherche de groupes dans ldap ldap.group=ou=Groups # filtre recherche de composantes dans ldap ldap.composante=ou=Composante # filtre recherche des etapes dans ldap ldap.step=ou=Etape |
# codes des ufrs ldap existants à l'université ldap.ufr=901,902,903,904,905,701,801,802,804,805,959,955,962 # regroupement des départements dans chaque ufr ldap.ufrEtDep=901:90101,90102,90103,90104-902:90202,90203,90204,90205-903:90301,90302,90303,90304-904:90401,90402,90403-905:90501-804:90403,90402,90401-805:90501-955:95500 |
#affiliation personne dans esup-portail esup.affiliation=eduPersonPrimaryAffiliation #valeur de l'attribut esup.affiliation pour un employe, un prof ou un etudiant dans esup-portail esup.employee=employee esup.faculty=faculty esup.student=student |
#nom de l'attribut spécifiant l'affiliation d'une personne dans ldap ldap.affiliation=eduPersonPrimaryAffiliation #valeur de ldap.affiliation pour un etudiant ldap.student.affiliation=student #valeur(s) de l'attribut ldap.affiliation pour un administratif #si plusieurs valeurs possibles, les séparer par une virgule #exemple : ldap.employee.affiliation=employee,affiliate ldap.employee.affiliation=employee #valeur de l'attribut ldap.affiliation pour un enseignant ldap.faculty.affiliation=faculty |
#identifiant personne dans ldap ldap.uid=uid #nom personne ldap.name=sn #prenom personne ldap.firstName=givenName #mail personne dans ldap ldap.mail=mail |
#numero etudiant ldap.student.id=supannEtuId #code ufr d'inscription d'un etudiant ldap.student.ufr=attuhbaffectation #code etape d'inscription d'un etudiant ldap.student.step=attuhbetp |
#code d'affectation d'un personnel ldap.member.affectation=attuhbaffectation #type de personnel ldap.member.type=attuhbtype #telephone personnel ldap.member.phone=telephoneNumber #campus personnel ldap.member.campus=attuhbcampus #bureau personnel ldap.member.room=roomNumber #batiment personnel ldap.member.building=buildingName #civilite personnel ldap.member.civility=supannCivilite #type de personnel appartenant à ldap.faculty.affiliation mais ne pouvant être tuteur de stage #(ex. : lecteur, moniteur) : les valeurs sont séparées par une virgule "," ldap.faculty.nonTutor=Moniteur,AMN,Lecteur (échange),Lecteur (personnel) |
#libelle composante dans ldap.composante ldap.composante.libelle=attuhbcompLibelle #code composante dans ldap.composante ldap.composante.code=cn #libelle groupes dans ldap.group ldap.group.libelle=description #codes groupes dans ldap.group ldap.group.code=cn #libelle etapes dans ldap.etape ldap.step.libelle=attuhbcompLibelle #codes etapes dans ldap.etape ldap.step.code=cn |
#jour et mois de début d'une année universitaire # pour année universitaire commençant le 1er octobre, noter : #start.year.day=01 #start.year.month=10 start.year.day=01 start.year.month=10 |
Les variables start.year.day et start.year.month sont utilisées pour le calcul automatique de l'année universitaire des conventions de stages et des offres de stage et d'emploi.
#repertoire où seront stockés les logos des centres de gestion (chemin absolu) #ce répertoire doit être le même que celui indiqué dans le fichier conf/server.xml de Tomcat par ajout du contexte : #exemple : <Context path="/esup-portlet-PStage/data" docBase="/home/lucie/pstage/logos" crossContext="true" reloadable="false" /> logos.dir=/home/lucie/pstage/logos |
<Context path="/esup-portlet-PStage/data" docBase="/home/lucie/pstage/logos" crossContext="true" reloadable="false" /> |
#critère de création des centres de gestion : #criterium.university.center= #criterium.university.center=UFR criterium.university.center=ETAPE #uid (de ldap) des administrateurs principaux de l'appli,les valeurs sont séparées par une virgule "," mainAdmin=machin_m,truc_b |
Le fichier webpages/portlet.xml permet de configurer le démarrage de la partie Spring spécifique au portlet. La majeur partie de ce fichier ne doit pas être modifiée. Seule l'information entre les deux balises <user-attribute> peut être modifée en fonction de l'attribut ldap récupéré depuis le portail : vous devez ainsi indiquer la même valeur que celle saisie pour esup.affiliation dans votre fichier properties/config.properties.
Ainsi, si dans votre fichier properties/config.properties vous avez saisi esup.affiliation=eduPersonPrimaryAffiliation, indiquez eduPersonPrimaryAffiliation entre les deux balises <name>.
<user-attribute> <description>affiliation de la personne</description> <name>eduPersonPrimaryAffiliation</name> </user-attribute> |
Vous ne devez pas modifier les autres parties du fichier portlet.xml. |
Le fichier properties/messages/messages_fr.properties permet de configurer certains messages que vous souhaiteriez personnaliser. Les variables doivent exister (ne pas les mettre en commentaire) mais peuvent ne rien contenir (vous pouvez indiquer "variable=" ), sauf pour les variables mail.error.student et mail.error.member.
## # messages de l'application ## #page d'accueil# home.welcome=Bienvenue sur l'espace Stage-Emploi student.welcome=Cet outil est accessible <strong>\u00E0 tous les \u00E9tudiants de l'Universit\u00E9 Rennes 2. offer.need.validated=Vous devez valider cette offre avant de pouvoir la diffus\u00E9e. offer.need.contact=Au moins un contact doit \u00EAtre d\u00E9fini pour enregistrer cette offre. #codeNAf pour etablissment d'accueil structure.codeNaf.info=Vous pouvez trouver le num\u00E9ro de SIRET et le code NAF de l'\u00E9tablissement d'accueil sur des sites internet sp\u00E9cialis\u00E9s sur les soci\u00E9t\u00E9s. #duree maximum pour un stage conseillé convention.max.duration=Selon la loi sur l'\u00E9galit\u00E9 des chances, un stage conseill\u00E9 ne peut d\u00E9passer six mois de date \u00E0 date. #message indiqué lors de la creation d'un service formulaire.add.service=Si l'\u00E9tablissement est trop petit pour pouvoir identifier un service d'accueil, ne rien saisir pour le nom du service. #mail a indiquer lors du message d'erreur (erreur base de donnee, faterror ou portleterror) lorsque c'est # un etudiant qui est connecte mail.error.student=stages-emplois-etudiant@listes.univ.fr #mail a indiquer lors du message d'erreur (erreur base de donnee, fatalerror ou portleterror) lorsque c'est # un personnel qui est connecte mail.error.member=stages-emplois-gestionnaire@listes.univ.fr |
Le fichier properties/custom/languageCodes.xml permet de définir les différentes langues d'édition des conventions de stage. Il contient le code et le libellé de chaque langue. Ces codes de langues seront ceux à utiliser dans les fichiers properties/custom/languages.xml, properties/custom/covers.xml et properties/custom/civilities.xml.
Ce fichier est à personnaliser avec les langues d'édition souhaitées. |
<languages> <language id="fr">Français</language> <language id="en">Anglais</language> ... </languages> |
Pour chaque balise <language>, on a :
Le fichier properties/custom/languages.xml est utilisé pour stocké le texte de la convention dans toutes les langues d'édition nécessaires à votre établissement.
Vous devez impérativement modifier ce fichier pour que les conventions soient adaptées à votre établissement. Les identifiants présents dans les balises language (ex. : _<language |
Le fichier properties/custom/basicChoices.xml permet de définir les différents de choix base. Ces choix sont en particulier utilisés pour les champs "offre pourvue" et candidat local dans une offre de stage.Chaque type de choix est défini dans une balise <choice>.
Ce fichier est à personnaliser si nécessaire. |
<choices> <choice id="0">non</choice> <choice id="1">oui</choice> <choice id="2">non spécifié</choice> </choices> |
Pour chaque balise <choice> on a :
|
Le fichier properties/custom/candidatures.xml permet de définir les libellés des modes de candidature possibles lors de la saisie d'une offre d'emploi. Chaque mode est défini dans une balise <candidature>.
Ce fichier est à personnaliser si nécessaire. |
<candidatures> <candidature id="1">envoi par courriel</candidature> <candidature id="2">envoi par courrier postal</candidature> <candidature id="3">contact téléphonique</candidature> <candidature id="4">lettre manuscrite</candidature> <candidature id="5">indifférent</candidature> </candidatures> |
Pour chaque balise <candidature> on a :
Le fichier properties/custom/civilities.xml permet de définir les libellés des civilités dans les différentes langues d'édition des conventions. le choix en français est celui qui apparaitra à l'écran les choix dans les autres langues ne sont utilisés que pour l'impression Les identifiants présents dans les balises language (ex. : <language id="fr"> ) doivent obligatoirement correspondre au code de langue définis dans le fichier properties/custom/languageCodes.xml.
Ce fichier est à personnaliser selon les langues d'édition choisies dans languageCodes.xml |
L'ordre dans lequel sont classés les choix sera l'ordre d'apparition à l'écran.
<civilities> <language id="fr"> <civility id="M">M.</civility> <civility id="MME">MME</civility> <civility id="MLLE">MLLE</civility> </language> <language id="en"> <civility id="M">Mr.</civility> <civility id="MME">Mrs.</civility> <civility id="MLLE">Ms.</civility> </language> ... </civilities> |
Pour chaque balise <language>, on a :
Le fichier properties/custom/contracts.xml permet de définir les libellés des types de contrats possibles lors de la saisie d'une offre d'emploi. Chaque type de contrat est défini dans une balise <contract>.
Ce fichier est à personnaliser si nécessaire. |
<contracts> <contract id="1">CDD</contract> <contract id="2">CDI</contract> </contracts> |
Pour chaque balise <contract> on a :
Le fichier properties/custom/covers.xml permet de définir les divers types d'affiliation à la sécurité sociale dans les différentes langues d'édition des conventions.Les identifiants présents dans les balises language (ex. : _<language
id="fr">_ ) doivent obligatoirement correspondre au code de langue définis dans le fichier properties/custom/languageCodes.xml.De plus un identifiant de type d'affiliation doit correspondre au même type d'affiliation pour toutes les langues d'édition.
Ce fichier est à personnaliser selon les langues d'édition choisies dans languageCodes.xml |
Le type d'affiliation correspondant à id=4 doit nécessairement correspondre au type "étudiant étranger" (en effet, dans le cas de l'identifiant 4, le numéro de sécurité sociale et la caisse de maladie ne sont pas obligatoires, puisqu'il s'agit d'un étudiant étranger) |
<covers> <language id="fr"> <cover id="1">en qualité d'ayant droit d'assuré social</cover> <cover id="2">en qualité d'étudiant(e)</cover> <cover id="3">par une assurance volontaire</cover> <cover id="4">étudiant étranger</cover> </language> <language id="en"> <cover id="1">standard cover</cover> <cover id="2">student cover</cover> <cover id="3">other optional cover</cover> <cover id="4">foreigner student</cover> </language> ... </covers> |
Le fichier properties/custom/formations.xml permet de définir les libellés des familles de formations souhaitées lors de la saisie d'une offre de stage ou d'emploi.
Ce fichier est à personnaliser si nécessaire selon les formations dispensées à l'université. . |
<formations> <formation id="1">AMENAGEMENT/URBANISME/ENVIRONNEMENT</formation> <formation id="2">ART/PATRIMOINE</formation> <formation id="3">COMMERCE INTERNATIONAL/MARKETING</formation> ... </formations> |
Chaque formation est définie dans une balise <formation>. Pour chaque balise <formation> on a :
Le fichier properties/custom/functions.xml permet de définir les fonctions lors de la saisie d'une offre de stage ou d'emploi. Ce classement correspond aux fonctions définies par l'APEC.
il est déconseiller de modifier ce fichier. |
<functions> <mainFunction id="010" title="Direction générale"> <function id="011">--Direction d'entreprise</function> <function id="012">--Adjoint conseil de direction</function> </mainFunction> <mainFunction id="020" title="Production"> ... </mainFunction> .... </functions> |
Les balises <mainFunction> correspondent aux grands types de fonctions dans lesquels sont regroupées les fonctions.
Pour chaque balise <mainFunction> on a :
Le fichier properties/custom/healthAuthorities.xml permet de définir les choix de caisses d'assurance maladie pour les conventions.
Ce fichier est à personnaliser si nécessaire. |
<authorities> <authority id="CPAM"> <lib>Caisse Primaire d'Assurance Maladie</lib> <info>Pour les étudiants, les travailleurs salariés, etc</info> </authority> <authority id="MSA"> <lib>Mutualité Sociale Agricole</lib> <info>Pour les salariés ou exploitants agricoles</info> </authority> .... </authorities> |
Pour chaque caisse on a dans la balise <authority> avec id = identifiant de la formation qui sera stocké dans la base. Dans chaque balise authority, on a :
Le fichier properties/custom/levels.xml permet de définir les niveaux de formations souhaités dans les offres de stage ou d'emploi.
Ce fichier est à personnaliser si nécessaire. |
<levels> <level id="1">Bac+1</level> <level id="2">Bac+2</level> <level id="3">Bac+3</level> <level id="4">Bac+4</level> <level id="5">Bac+5</level> <level id="6">Bac+8</level> <level id="7">Licence (bac+1,2,3)</level> <level id="8">Master (bac+4,5)</level> <level id="9">Tous niveaux</level> </levels> |
Pour chaque balise <level>, on a ::
Le fichier properties/custom/sizes.xml permet de définir les choix des tailles (effectif) d'établissement d'accueil.
Ce fichier est à personnaliser si nécessaire. |
<sizes> <size id="0">Non connu</size> <size id="1">1 à 9</size> <size id="2">10 à 49</size> <size id="3">50 à 199</size> <size id="4">200 à 499</size> <size id="5">500 et plus</size> </sizes> |
Pour chaque balise <size>, on a :
Le fichier properties/custom/status.xml permet de définir les choix des statuts juridiques d'établissement d'accueil.
Ce fichier est à personnaliser si nécessaire. |
Le statut juridique avec l'identifiant 7 doit forcément correspondre au type "autre", c'est à dire à des établissements qui ne possèdent pas de numéro de SIret. En effet, le numéro de siret n'est pas obligatoire pour les établissements d'accueil dont le statut juridique est défini comme étant de type 7. En revanche, le numéro Siret est obligatoire pour tous les autres cas. |
<statusList> <status id="0">Non connu</status> <status id="1">Entreprise privée</status>> <status id="2">Administration publique d'état</status> <status id="3">Administration territoriale</status> <status id="4">Administration hospitalière</status> <status id="5">Entreprise publique</status> <status id="6">Association</status> <status id="7">Autre (profession libérale, ONG...)</status> </statusList> |
Pour chaque balise <status>, on a :
Le fichier properties/custom/themes.xml permet de définir les choix de thématique de stage dans une convention de stage
Ce fichier est à personnaliser selon les thématiques souhaitées. |
<themes> <theme id="1">AMENAGEMENT/URBANISME/ENVIRONNEMENT</theme> <theme id="2">ART/PATRIMOINE</theme> <theme id="3">COMMERCE INTERNATIONAL/MARKETING</theme> ... </themes> |
Pour chaque balise <theme>, on a :
Les messages d'erreurs de l'application peuvent être modifiés si nécessaire dans le fichier properties/messages/error_fr.properties : veillez toutefois à ne pas supprimer ou dupliquer un message d'erreur.
Certains messages de l'applications peuvent être modifiés si nécessaire dans le fichier properties/messages/messages_fr.properties : veillez toutefois à ne pas supprimer ou dupliquer un message.
Les libellés des rubriques apparaissant lors de l'impression des offres sous format Pdf peuvent être modifiés si nécessaire dans le fichier properties/messages/offer.properties : veillez toutefois à ne pas supprimer ou dupliquer un identifiant.
Préparation du déploiement : modifier les chemins d'installation du fichier build.properties.
Si vous aviez déjà installé le portlet, lancez la commande ant undeploy, pour effacer toute trace du canal dans l'environnement de production.
Si vous aviez déjà compilé le portlet, lancez la commande ant clean, pour effacer toute trace dans le répertoire build.
Lancement de la commande ant deploy, pour déployer le canal dans les bons répertoires.
Vous pouvez également lancer la commande ant all pour effectuer toutes ces étapes en une seule fois .
L'administrateur peut maintenant publier le portlet dans le portail. Pour cela, il y a 2 méthodes :
La plus simple étant de publier le canal de manière normale, par l'interface WEB prévue à cet effet.
La seconde étant d'utiliser la commande ant pubchan (Cette méthode remplace toute la démarche de publication).
Recopier le fichier properties/esup-pstage-pubchan.xml dans le répertoire {uPortal}/properties/chanpub du portail.
Ensuite, lancez la commande ant pubchan -Dchannel=esup-pstage-pubchan.xml depuis le répertoire "racine esup".
Si vous avez déjà installé la version antérieure 0.7.6 du portlet Stages-Emplois, vous pouvez mettre à jour sans tout réinstaller.
La version 0.8 correspond à la mise en oeuvre des codes NAF 2008 définis par l'INSEE en janvier 2008.
Un code NAF 2003 (version des codes NAF utilisée par les versions de Stages-Emplois antérieures à 0.8) correspond en général à plusieurs codes NAF 2008 : la mise à jour des codes NAF implique donc une suppression des codes NAF déjà stockés dans votre base de données, puis une saisie de ces codes NAF dans la version 2008, sauf pour quelques codes qui sont automatiquement mis à jour avec la nouvelle nomenclature par le script (concerne environ 120 codes dont le taux de basculement d'un code NAF 2003 à un code NAF 2008 est de 100%). |
Pour mettre à jour le portlet Stages-Emplois, vous devez :
patch -p1 < patch_stageEmploi_076_to_08.diff |