gestion
PHP_Conges est un logiciel de gestion des congés, des RTT et des temps partiels au sein d'un établissement (association, entreprise publique, entreprise privée).
Il présente les fonctionnalités suivantes :
- Interactivité des échanges entre l'utilisateur et sa hiérarchie.
- Accès permanent pour l'utilisateur à ses propres données.
- Lecture d'un calendrier collectif des absences.
- Utilisation de la messagerie.
PHP_Conges est fortement paramétrable afin de s'adapter au mieux aux besoins et au fonctionnement spécifiques à chaque établissement.
Entre autres, PHP_Conges est doté des fonctionnalités suivantes :
-
Adaptation au fonctionnement de l'établissement : possibilité de prise en compte des samedis et dimanches ouvrés, validation simple ou double des demandes de congés/absences, gestion des fermetures d'établissement ou de service, etc.).
-
Gestion complète via une interface web : installation en ligne, gestion des utilisateurs (ajout, suppression, modification, etc...), authentification des utilisateurs configurable (base interne, annuaire LDAP ou Active-Directory, serveur CAS, etc...).
-
Sauvegarde/restauration de la base de données.
-
Distinction des privilèges entre utilisateur et responsable (visualisation du calendrier/planning des congés et absences de tout ou partie des utilisateurs, possibilité pour certains utilisateurs privilégiés de voir les congés de tout le monde dans le calendrier...).
-
Configurable : mise en page basée sur des feuilles de style (CSS), paramétrage des mails, calcul automatique des congés et absences, etc...
-
Report des reliquats de congés d'une année sur l'autre (nouveauté de la version 1.5.1).
Possibilité d'exporter le planning des absences au format iCal ou vCal (agendas électroniques).
Le LMGC, laboratoire de plus de 100 personnes, a utilisé l'application PHP_Conges pendant plusieurs années jusqu'au printemps 2013 pour gérer les absences de toutes sortes : congés, RTT, temps partiels, missions, formations, enseignements, etc.... Ce logiciel a été progressivement remplacé par les outils de gestion des absences imposés par les tutelles du laboratoire (AGATE pour le CNRS, ADHOC pour l'UM2).
Le LAL, laboratoire de plus de 350 personnes, utilise l'application PHP_Conges pour toutes les absences ainsi que pour la gestion des CET (Compte Epargne Temps). Les agents peuvent donc utiliser soit leurs jours de congé annuel, soit leurs jours stockés sur CET.
Nous rencontrons peu de difficultés d'utilisation de ce logiciel. Les plus significatives sont dans le cadre d'un temps partiel :
- Si l'on part en mission sur une période où figure le jour du temps partiel non travaillé, alors celui-ci n'est pas considéré comme un jour de mission mais toujours comme un jour non travaillé.
- Dans le calendrier : le motif de l'absence n'apparaît que sur le premier jour de l'absence, et non pas les jours suivants.
- Gestion de produits chimiques :
- Inventaire : ajout, modification, suppression, recherche de produits chimiques, identification des risques chimiques
- Edition des bons commandes pour le magasin de produits
- Gestion des livraisons de produits en attente
- Inventaire des appareils scientifiques
- Gestion des demandes d'ordre de mission (en cours d'évolution)
- Gestion des demandes de congés (en cours d'évolution)
- Gestion des contrats de recherche (en cours d'évolution)
- Annuaire du personnel
- Gestion des droits d'accès aux différents modules
Prérequis : MySQL 5, PHP 5.3
Installation : décompresser le fichier zip et suivre la notice d'installation (fichier install.txt)
NB :
-Le logiciel utilise un système de template. Il suffit de modifier le fichier de template pour adapter l'intranet à la charte graphique du laboratoire d'installation.
Le logiciel est développé selon un modèle de conception (design pattern) MVC2 / DAO .
Il ne s'appuie sur aucun framework du marché (Zend, Symphony, Doctrine).
SIGDEF est une application informatique conçue de façon suffisamment générique pour répondre aux besoins de distribution et de gestion de licences. Cet outil est à destination des structures informatiques transversales. Il offre la possibilité, à travers deux interfaces (une pour les utilisateurs et une autre pour les administrateurs), d'effectuer des commandes d'activation de licences des logiciels et de les gérer simplement.
1- Interface utilisateur :
- Identification (avec un annuaire, un fichier .htAccess) ou pas d'identification.
- Choix du logiciel et de la version (gestion de commandes individuelles ou groupées), choix d'une demande d'installation par les services transversaux ou non.
- Téléchargement des justificatifs des droits d'utilisation et des raisons d'accès (conventions, contrats, lettres ...).
- Récapitulatif et acceptation de la charte d'utilisation.
2- Interface administrateur :
- Validation de la commande (contrôle des informations sur l'utilisateur et ses choix).
- Envoi de la licence, suite à une validation. La validation et l'envoi de la ou des licences peuvent être faits par un ou plusieurs services.
- Synthèse et recherche des commandes en cours, validées ou envoyées.
Fonctionnalités non existantes et restant à développer :
- Exportation des résultats bruts de la synthèse des commandes.
- Requêtes spécifiques et croisement des données pour effectuer des bilans sur les commandes.
- ...
Le logiciel est accompagnée d'une documentation complète : installation, utilisation et prise en main ainsi que le document de conception (base de données, workflow).
Puppet Open Source est un outil de déploiement et de gestion automatisés de configuration système et réseaux de manière centralisée.
Écrit en Ruby, il repose sur un modèle client-serveur : un serveur central sert de dépôt de configuration, les systèmes clients (nœuds) se mettant à jour de manière manuelle ou automatique.
Avec Puppet, l'administrateur n'écrit pas un ensemble d'opérations à exécuter sur les différents nœuds sous la forme d'un script. Puppet se caractérise par le concept d'idempotence dans le déploiement des tâches d'administration et de configuration : l'administrateur décrit l'état final de la machine dans un Manifest, le client Puppet peut être exécuté plusieurs fois, les changements seront opérés seulement si l'état de la machine ne correspond pas à celui désiré.
La puissance de Puppet est de permettre à l'administrateur de se concentrer sur l'écriture de l'état de configuration à atteindre, et l'affranchit de la connaissance des commandes propres à chaque système d'exploitation pour arriver à cet état. Cette couche d'abstraction est possible grâce aux Providers : lorsque des instructions sont à effectuer sur un nœud, le client Puppet détecte la plateforme du système et le Provider lui fournit les commandes, locales aux systèmes, pour les exécuter (adduser, yum, …).
L'entité de base pour définir la configuration d'un nœud dans un Manifest est appelée "ressource". De nombreux types de ressources par défaut sont disponibles pour décrire les aspects courants d'un système : utilisateur, paquetage, service…
Des ressources similaires peuvent être regroupées dans deux types de collections :
- des classes, qui supportent l'héritage, et qui sont des singletons pour modéliser un nœud (une classe qui installe et configure Apache par exemple),
- des "Defined Resources Types", des types de ressources définies par l'administrateur, qui peuvent être évaluées plusieurs fois par nœuds, avec des paramètres différents (la création d'un hôte virtuel Apache par exemple).
Ressources et collections peuvent également être regroupées dans un module. Un module va ainsi permettre de regrouper toutes les ressources pour configurer, par exemple un serveur web.
- Un outil Puppet écrit en Ruby, Facter, permet d'interroger et récupérer les informations d'une machine cliente. Celles-ci peuvent être utilisées comme variables dans la définition des nœuds. Ceci permet d'écrire des configurations génériques à l'aide de conditions, sous la forme de templates. Ces templates respectent la syntaxe ERB de Ruby.
- La configuration des nœuds peut être externalisée ("external node") dans un SGBD, un LDAP, ou encore un programme externe…
- Un shell, Ralsh, permet d'exécuter des commandes Puppet et de configurer les ressources d'un système local. Depuis la version 3.x, ce shell est remplacé par la commande "puppet resource"
- Une forge de modules avec la commande "puppet module", est disponible pour chercher, installer et créer des modules sur la forge.
- Une interface web de rapports écrit en Ruby on Rails, Puppet dashboard, permet de suivre l'exécution des agents.
- La possibilité d'étendre Puppet en écrivant ses propres Types, Facts, Providers et fonctions.
- MCollective, système similaire à Func, Fabric ou Capistrano, qui permet d'exécuter des commandes en parallèle sur plusieurs machines, mais en se servant de la configuration des nœuds définie sous Puppet.
Les nouveautés de la version 3.x :
- Un changement de licence vers la Apache 2.0.
- Améliorations du Puppet Module Tool.
- Meilleur support des clients Windows.
- Support Ruby >= 1.9.
- Support de la gestion de la configuration des équipements Cisco (Vlan, Interface).
- Une meilleure API REST pour les communications clients.
- Une nouvelle API (Faces) pour le développement d'extensions.
- Toute l'historique des releases est décrite ici.
- Multi-plateformes
- Écrit en ruby, les templates respectent la syntaxe ERB, une librairie de Ruby.
- Les échanges se font en XML-RPC et REST API (XML-RPC devrait disparaître totalement dans les prochaines versions).
Puppet est utilisé pour gérer tous nos serveurs physiques essentiellement sous Debian, et les serveurs virtuels sous Debian également.
Avec PXE, l'installation, la configuration et l'administration sont facilitées et accélérées considérablement : une fois que la configuration d'une machine modèle est validée, elle est simplement et rapidement déployée sur l'ensemble du réseau.
Cette homogénéité de la configuration diminue les problèmes et raccourcit le temps de réponse en cas de panne.
L'outil Foreman, issu d'un projet externe, sert d'interface de visualisation de rapports, d'external nodes et permet de déployer ou réinstaller les systèmes en partant de zéro.
MCollective est utilisé en complément pour effectuer des tâches ponctuelles d'administration sur la totalité ou une partie des systèmes (exécution du client en manuel, de commandes, redémarrage de services…).
La mise en place de l'architecture au début du projet a été fastidieuse mais très fructueuse par la suite. La documentation n'était pas complète sur internet mais heureusement qu'il y a de bons livres.
Des paquetages à jour n'étaient pas disponibles sur toutes les plate-formes. Il manquait un système de reporting. L'intégration avec les outils d'installation de système et d'exécution de commandes n'existait pas.
La situation s'est grandement améliorée, et même s'il faut un peu de temps pour mettre en place les différentes briques logicielles, aucune difficulté majeure n'est à déplorer.
Les lacunes initiales du projet ont été comblées par de nouveaux projets internes et externes (Puppet Dashboard, MCollective, Facter, Foreman, RunDeck) et par une meilleure intégration avec l'existant (FAI, Cobbler).
Même si les Manifests sont écrits en Ruby, la courbe d'apprentissage est faible, car ce n'est pas de la programmation pure. Le seul système des templates et de passage des variables nécessite un petit temps d'adaptation.
Si dès le début vous ne vous fixez pas à une convention d'écriture et d'organisation de vos classes, modules et manifestes, vous allez vous trouver très vite un environnement chaotique en terme de lisibilité du code. Donc appliquez les fondamentales dans la manière de coder vos modules et vos classes.
CollPro permet de collecter les propositions de stages, projets, sujets et autres selon un format pré-défini dans un système et selon un schéma unique.
L'interface utilisateur pour la saisie d'une proposition vérifie que le contenu du masque est complet et garantit ainsi l'homogénéité des propositions saisies. Les données sont stockées dans une base de données simpliste (un fichier par proposition). L'interface utilisateur pour la visualisation des propositions permet de voir l'ensemble des propositions dans un tableau, ainsi que les détails de chaque proposition sur une page séparée.
Des ajouts et améliorations au fur et à mesure sont prévus, mais pas prioritaires (choix des sujets par les étudiants, soumission des rapports, contrôle d'accès pour administrateurs). Intégration des souhaits d'éventuels nouveaux utilisateurs et collaboration possibles.
GanttProject est un outil multi-(omni-)plateforme pour la gestion du planning d'un projet. Il est écrit en Java et de ce fait tourne sur Windows, Linux, MacOSX et potentiellement tout autre système qui contient une JAVA Virtual Machine (supérieure ou égale à 1.6). Voici ses caractéristiques :
-
Diagramme Gantt : Créer une Structure de découpage du projet (WBS), dessin des dépendances et contraintes, définition des jalons
-
Ressources : Attribuer les ressources humaines à une tâche, visualisation des allocations sur un tableau de charge
-
Réseau PERT : Génération du réseau PERT à partir du diagramme Gantt
-
Exportation des résultats : Sauvegarde des diagrammes en format PNG, génération de PDF et rapports en HTML
-
Interopérabilité : Importation de projets à partir de et exportation vers des formats MS Project. Exportation vers tableurs via CSV
-
Collaboration : Partage des projets en utilisant la technologie WebDAV
MS-Project (entrée / sortie) [pas vérifiée]
Utilisation ponctuelle au CPPM par des membres des projets CTA (Cherenkov Telescope Array) et imXgam (fin 2011).
Utilisation dans l'établissement des diagrammes accompagnant les réponses aux appels d'offres au LAAS
Une comparaison concise avec MS-Project, mentionné par les auteurs de GanttProject comme référence, s'impose. GanttProject déclare pouvoir lire et écrire des fichiers compatibles avec MS-Project ; je n'ai pas pu le vérifier par manque d'occasions.
Ce que j'ai pu vérifier est la compatibilité d'utilisation. Et à moins qu'une grande partie des fonctionnalités de GanttProject ne m'ait échappé, il faut constater que MS-Project a des fonctions plus complètes. Les fonctions de base sont disponibles, bien entendu, et je n'ai pas détecté de bugs. Il est tout à fait possible de traduire un tableau de ressources et de tâches, avec leurs temps et dates attribués, en un fichier GanttProject (.gan
) et d'en produire des diagrammes (Gantt, PERT) satisfaisants.
Il serait souhaitable que GanttProject prenne également en compte les changements au cours de l'exécution d'un projet (achèvements, retards) de manière simple pour l'utilisateur.
Par exemple : Lorsqu'une tâche se voit attribuer des ressources supplémentaires (un acteur passe d'une quotité 30% à 60%), GanttProject pourrait proposer une réduction adaptée du temps total de cette tâche. Une quotité variable (2 semaines 50%, puis 100%) n'est pas prévue non plus (Il faut dire que MS-Project permet ce genre de raffinements, mais seulement dans l'obscurité du "leveling"). Il n'est pas prévu (ou je n'ai pas trouvé comment) de définir des calendriers individuels pour les ressources, ce qui empêche de prendre en compte automatiquement les congés.
Une vérification détaillée de tout le projet s'impose après chaque changement ou édition.
D'un autre côté, GanttProject présente des fonctionnalités qui sont absentes dans MS-Project. La notion des priorités en fait partie, quoique je n'aie pas compris comment elle peut être prise en compte pour un arbitrage automatique. L'affichage des disponibilités (ou surcharges) des ressources est plus avancée et claire que dans MS-Project. Mais encore une fois, rien ne permet un équilibrage automatisé.
Finalement, il ne faut pas oublier que GanttProject permet à l'utilisateur enthousiaste d'implémenter lui-même toutes les fonctionnalités souhaitées en écrivant lui-même le code correspondant.
En conclusion, il faut considérer GanttProject comme un outil "light weight" qui permet d'établir des diagrammes en début de projet correctement et rapidement. Il a du potentiel pour l'ajout d'outils de suivi en cours de projet, outils ajoutés par l'utilisateur qui maîtrise Java, ou en attendant les développements centraux.
Séminaire AMUE 'Un schéma directeur du système d’information : comment faire ?'
Le jeudi 26 novembre 2009, l’Amue a proposé à ses adhérents un séminaire consacré au thème "un schéma directeur du système d’information : comment faire ?".
Les objectifs de la journée étaient de :
-
rappeler les enjeux et objectifs d’une démarche de schéma directeur en lien avec les réflexions conduites dans l’établissement sur l’évolution des systèmes d’information,
- transmettre des apports d’ordre méthodologique relatifs à son élaboration et à son contenu,
- faire partager au plus grand nombre des exemples concrets provenant d’établissements ayant déjà engagé des démarches autour de la construction de leur propre schéma directeur.
Les présentations (pdf, ppt) sont téléchargeables directement sur le site.
OMIL est une application (Français & Anglais) permettant de gérer les ordres de mission CNRS & Université (+ une autre EPST) au travers d'un formulaire web couplé à une base de données MySQL. L'usager alimente un formulaire sur 5 étapes, il reçoit un récapitulatif de sa demande par mail via pièce jointe en PDF. Au même moment le responsable du laboratoire (ou les responsables administratifs) reçoivent une notification par mail les informant de traiter la demande en accédant à leur espace d'administration. Après validation la (ou les secrétaires) sont informées par mail pour gérer la demande, elles accèdent à leur interface d'administration pour finaliser l'ordre de mission.
Finalement l'usager est informé par mail que sa demande a été traitée.
OMIL peut être amélioré mais il inclut déjà :
- un espace super-administrateur permettant de gérer l'application
- la gestion des profils (admin, directeur, secrétaire)
- la modification de la traduction (anglais/français) uniquement pour le formulaire
- le changement des corps (emails) pour les notifications
- une sauvegarde manuelle de la base de données
- un moteur de recherche pour les demandes archivées
- gestion de son profil personnel
OMIL est pré-configuré pour fonctionner dans une UMR (Unité Mixte de Recherche) CNRS - UCB (Université Lyon1). L'unité est gérée de manière à distribuer les crédits CNRS, UCB avec frais ou sans frais (entités dépensières définies par nom d'équipe par ex:).
Les données sont sauvées à partir de la base de données MySQL, elles sont exportables et ouvertes. Les pièces jointes (récapitulatifs) sont au format PDF.
OMIL version 2.0 fonctionne depuis 6 mois dans mon UMR (1er version février 2008 dont 758 OM). OMIL prend toute son ampleur si l'unité est localisée sur différents lieux géographiques (pour les utilisateurs). Auparavant notre directeur devait affecter les crédits en alimentant un formulaire papier. En cas d'absence, par exemple à l'étranger, la secrétaire devait attendre son retour. Avec OMIL, notre directeur s'authentifie sur son interface web OMIL et traite la demande; la secrétaire est automatiquement informée des crédits allouées par le directeur.
- Multilinguisme anglais / français uniquement sur le formulaire et non sur l'espace d'administration
- L'ajout d'un module pour les statistiques est à envisager
- La sécurisation de certains fichiers est à améliorer
OpenERP est un logiciel de la famille des ERP pour "Enterprise Resource Planning" ou en français des PGI pour "Progiciel de Gestion Intégré". La principale fonctionnalité de ces logiciels est d'essayer de répondre à tous les besoins de la gestion informatisée d'une entreprise (mais aussi d'une entité de recherche ou d'enseignement) avec un seul logiciel et une seule base de données.
Les deux principaux avantages d'un logiciel de ce type sont :
- de centraliser toutes les données et tous les logiciels,
- et d'utiliser un logiciel déjà conçu.
Et par conséquent son principal défaut est de répondre parfois approximativement aux besoins.
Un des intérêts d'OpenERP est de proposer un très grand choix de modules (environ 350).
L'administrateur choisit les modules qu'il désire proposer aux utilisateurs sur le serveur OpenERP. Ensuite les clients au travers soit d'une interface Web soit d'un client léger accèdent aux modules sur lesquels les droits sont positionnés par l'administrateur.
L'utilisation d'OpenERP peut se faire dans des contextes tels que : la gestion financière, l'achat/vente et vente sur internet, la gestion de projet, la gestion d'un service (planification, organisation, coût de fonctionnement, etc ), la gestion de stock d'un magasin, la gestion des ressources humaines, la gestion de contacts, la gestion des équipements informatiques, la gestion de la documentation (GED) et bien d'autres utilisations que l'on peut trouver ici http://openerp.com/discover/features.html .
OpenERP peut aussi aider un service à rationaliser son fonctionnement dans le cadre d'une démarche qualité.
Le contexte d'utilisation et donc d'exploitation au LAAS se limite uniquement au module de gestion de stock pour la gestion interne du magasin. Le choix a été fait de sous-traiter l'installation et les paramétrages du fonctionnement à une entreprise. L'authentification pour accéder au module est réalisée par un double contrôle LDAP et base de données relationnelle du personnel du laboratoire.
Les clients du magasin consultent l'état du stock depuis une interface web (logiciel complémentaire Magento), réalisent l'enlèvement depuis un client léger en Java installé sur un poste Windows muni d'un lecteur code barre dans le magasin.
Les gestionnaires du magasin gèrent l'état de stock et la facturation aux différents services du laboratoire depuis leurs postes de travail.
Bien que l'ensemble soit complètement libre (modules développés dans le cadre d'OpenObject) , écrit dans un langage de script (Python) il reste difficile :
- d'installer OpenERP sur une version Linux Ubuntu récente (peut-être du à la version 5.6 de Python),
- d'entrer dans les modules pour les adapter.
Le mieux semble être de commencer par une formation qui est proposée par le concepteur initial d'OpenERP.
Gestion de la réservation de ressources (salles de réunion, salles de cours, véhicules, matériel multimédia…).
Une fiche de logiciel validé décrit plus en détail ce logiciel, consultez la pour plus d’informations.