Pour répondre à cette question, vous devez
être membre de Doc-étudiant

Si ce n'est pas encore fait ?

Inscrivez-vous !

Exemple de rapport de stage BTS ?

12 Octobre 2009 | Université | Après le BTS

Exemple de rapport de stage BTS ?

Signaler un abus
Salut, je te recommande la lecture de ce document : http://questions.digischool.fr/Universite-qr/Exemple-de-rapport-de-stage-BTS-13910.html sur questions.digischool.fr.
Exemple de rapport de stage BTS ?
je suis en 2 éme année a BTS option géometre topographe et vraiment je suis besoin de ce rapport le plus proche

Voici un modèle de rapport de stage

Les réponses à la question Exemple de rapport de stage BTS ?

1

12 Octobre 14h52

UNIVERSITE FRANCOIS RABELAIS TOURS POLYTECH’TOURS-DÉPARTEMENT INFORMATIQUE 64,Avenue Jean Portalis 37200 TOURS Rapport de Stage de deuxième année Réalisation et intégration du module projet dans l’E.R.P. OfBiz/NÉOGIA E.P.U.-D.I.2 Septembre 2005 Société NÉRÉIDE 3bis les Isles 37270 Veretz Encadré par M. Olivier HEINTZ Étudiant EL IDRISSI MAJID DI2 année scolaire 2004/2005 2 Remerciements. – à Olivier HEINTZ qui a su être patient, car je comprends vite si on m’explique longtemps – à toute l’équipe Néréide qui a offert un environnement de travail convivial, qu’il doit être difficile de trouver ailleurs 3 Convention. – les fichiers, chemins sont notés avec ce jeu de police /etc/apt/sources.list – les noms de balise X.M.L. ou d’attributs sont notés avec ce jeu de police set – Les entités, ou nom de classe avec celui-ci TIMESHEET Avertissement. Pour pouvoir profiter de ce rapport, il est nécessaire d’avoir au préalable quelques connaissances sur le HTML, de savoir lire une D.T.D. et d’avoir l’habitude de parcourir des fichiers X.M.L.. Table des matières Chapitre 1. Présentation générale 5 1.1. L’entreprise : NÉRÉIDE 5 1.2. Le framework 6 Chapitre 2. Le travail réalisé 8 2.1. Website 8 2.2. Projet 11 2.3. Les feuilles de temps 11 2.4. Les tâches de sous-traitance 12 2.5. Avancement d’un Ordre de Fabrication 18 2.6. Saisie rapide de tâche et de feuille de temps 19 Chapitre 3. Documentation produite 20 3.1. Vue d’ensemble du traitement d’une requête 20 3.2. Les widgets/screens widgets 22 3.3. Us et coutumes des widgets OfBiz/Néogia 28 3.4. Les « Form », ou formulaires 33 Conclusion 36 4 CHAPITRE 1 Présentation générale 1.1. L’entreprise : NÉRÉIDE NÉRÉIDE est une S.S.L.L., Solutions et Services en Logiciels Libres, spécialisée dans l’intégration d’E.R.P. Libre pour les P.M.E. : – gestion comptable – gestion de stock, gestion de production – gestion commerciale et vente par internet – gestion de projet, gestion de prestation de service et fournit en conséquence des services tels que : – la formation à destination : – des utilisateurs du framework OfBiz/NÉOGIA – des développeurs – le conseil NÉRÉIDE a choisi comme P.G.I., Progiciel de Gestion Intégré, ou E.R.P. en anglais, le progiciel OfBiz qui est un logiciel libre1. De par sa structure très modulaire, il peut être mis en oeuvre très facilement et très rapidement dans des environnements techniques très hétérogènes. Sa licence n’implique aucun paiement lié à son utilisation ou à sa copie. De plus, il est possible à tout moment, de développer des fonctions ou des modules supplémentaires et de les voir intégrés dans la version standard du progiciel. Le développement de nouvelles fonctionnalités est donc, avant tout, dirigé par les usages et les besoins des utilisateurs. Ce progiciel est entièrement écrit en JAVA dans une architecture J.2E.E.. Il est conforme aux standards actuels (X.M.L., S.O.A.P., ...) afin de garantir son évolutivité en fonction des changements du monde informatique. Bien qu’ayant déjà de très nombreuses fonctionnalités, il continue à se développer de manière très rapide. Néréide est très fortement impliquée dans le développement et le support du progiciel OFBiz. Elle a, par exemple, participé à son internationalisation, à la réalisation du module Gestion de production, puis, a entièrement traduit en français le progiciel. Néréide a été créée en 1995, avec pour activité, tous les services Post-implémentation d’un PGI du marché. La société s’est spécialisée dans l’intégration de PGI en logiciel libre. Ce choix correspond à la philosophie de toute son équipe, convaincue de l’efficacité du partage de l’information et du travail collaboratif. De plus, Néréide est membre du réseau Libre-entreprise pour ainsi participer au vivier de compétences et d’expertises très étendues qui le compose. 1ou plus précisément un logiciel sous license M.I.T. 5 1.2. LE FRAMEWORK 6 Tout ce que nous venons de dire sur NÉRÉIDE concerne en fait son coeur de métier, mais pas toute son activité. En effet, NÉRÉIDE a du faire un petit écart du côté du développement afin d’adapter OfBiz à ses besoins, ou plus précisement aux besoins de ses clients, mais l’entreprise espère bien revenir à son premier métier : le conseil. NÉRÉIDE, c’est aussi une petite équipe : Oliver HEINTZ Directeur de projet Yannick HEBAULT Directeur technique Eric BARBIER Gérant Jean-Luc MALET Directeur de projet Catherine HEINTZ Directeur administratif et financier Sophie BENAROCH Responsable communication Pierre GAUDIN Responsable fonctionnel gestion de stock Nicolas MALIN Responsable fonctionnel comptabilité et pendant toute la durée de mon stage, j’ai eu pour co-stagiaire : Peter GORON Géraud BUXEROLLES alors tous deux étudiants au DÉPARTEMENT INFORMATIQUE de l’ÉCOLE POLYTECHNIQUE de Tours, et effectuant leur stage de troisième année. 1.2. Le framework 1.2.1. OfBiz. OfBiz est un progiciel de gestion intégré, ou P.G.I.2, ce qui désigne ici les fonctions suivantes : – ERP, ou Enterprise Resource Planning – CRM, ou Customer Relationship Management – E-Business / E-Commerce, – SCM, ou Supply Chain Management – MRP, ou Manufacturing Resource Planning – CMMS/EAM, ou Computerized Maintenance Management System Il est également sous license M.I.T. ce qui autorise NÉRÉIDE à utiliser le programme3 à ses fins. OfBiz est une application client/serveur, suivant le modèle trois-tiers : – les clients, dans le cas de NÉRÉIDE des clients légers disposant d’un navigateur internet – un serveur exécutant Ofbiz – et une ou plusieurs bases de données 1.2.2. NÉOGIA. NÉOGIA est partie du besoin simple d’ajouter des fonctionnalités à OfBiz, mais OfBiz est, par conception, orienté fonction, tous ses modèles étant de la forme entité-relation, or il a semblé plus judicieux d’avoir une approche orientée objet, et ainsi exploiter tous les avantages de la programmation orientée objet. Cet objectif n’a été à mon goût que partiellement atteint du fait du fonctionnement entité-relation d’OfBiz, le mélange des genres m’ayant par ailleurs beaucoup handicapé dans la maîtrise du framework. Les concepteurs d’OfBiz n’ayant pas désiré adopter une telle approche objet, le projet NÉOGIA voyait donc le jour. 2OfBiz dit plutôt enterprise automation software 3la seule contrainte imposée par la license étant de respecter le droit d’auteur 1.2. LE FRAMEWORK 7 Avec cette approche objet, s’est vu ajouter toutes les facilités annexes fournies par la génération de code à partir de diagrammes. L’équipe s’est doncmis à utiliser conjointement outils de modélisation U.M.L. et outils de génération de code. L’aspect génération de code a d’ailleurs permis le travail avec une autre équipe, les « Codes Lutins », spécialisée dans le JAVA et ses outils, et leur collaboration a permis l’élaboration de générateurs de code pour NÉOGIA. CHAPITRE 2 Le travail réalisé 2.1. Website C’est l’endroit où il y a eu le plus de conception. En effet, même si OfBiz dispose d’une C.M.S. (un système de gestion de contenu), personne dans l’équipe ne s’était encore penché dessus, et dans le cadre de la formation au framework, il m’a été demandé de réaliser un tout petit C.M.S.1 : j’avais pour tâche, tout en réutilisant le framework OfBiz/NÉOGIA (sans toutefois utiliser le C.M.S. inclus), d’une part de fournir une interface utilisateur permettant la gestion des articles, d’autre part de réaliser de manière dynamique la création du site web à partir des articles stockés. Le projet s’est vu adjoindre par la suite une gestion multilingues des articles. 2.1.1. La modélisation. Sur cette phase Peter GORON, Géraud BUXEROLLES et moi-même avons travaillé sur la modélisation, Peter en tant que superviseur. Il fallait donc faire en sorte d’avoir une arborescence d’articles, arborescence qui serait utilisée directement pour la navigation sur le website, et dont chaque noeud, ou section/ heading, aurait une description et pourrait contenir une liste d’articles. De plus chaque article se voit attribué une ou plusieurs langues, un auteur, ainsi que quelques informations qui règlent son accès sur le website : – un statut ce statut permet de savoir où en est l’article dans sa conception – une cible c’est à dire ceux à qui est destiné l’article La modélisation UML qui découla de ces besoins est on ne peut plus prévisible : – la liste des articles d’une section est représentée par une entité d’association – la liste des langues est aussi une entité d’association – un article, une section sont des entités – il y a une association 1−1 entre un article et un auteur – il y a une association 0...1−n entre article et la cible – il y a une association 1−n entre un article et un statut – l’arborescence des sections est représentée par une relation 1−n d’une section sur elle-même Quelques attributs furent ajoutés afin de prendre en compte certains cas particuliers : – urlOnly lorsqu’il ne s’agit pas d’un article mais en fait d’un lien sur un autre document, un autre site, etc 1les stagiaires Peter/Géraud ont également participé à la construction du website, mais leur participation a été relativement courte 8 2.1. WEBSITE 9 – sequenceNum cet attribut permet de régler l’ordre d’affichage des sections dans le site internet, et sur l’interface utilisateur de saisie d’articles. On aboutit au diagramme de la figure 2.1.1 FIG. 2.1.1. Modélisation U.M.L. du Website 2.1.2. Le code généré. Le diagramme U.M.L. produit est alors passé à la moulinette d’un générateur de code, spécifique à NÉOGIA, qui a produit tous les widgets permettant de réaliser les affichages suivants (tous les affichages ne figurent pas ici, seul un exemplaire de chaque type de widget est présent) : 2.1. WEBSITE 10 création de section recherche de section résultat de recherche associer des langues à un article 2.1.3. La partie développée. Même si une grande partie du travail est ainsi réalisée, il reste toutefois le website lui-même qui ne peut pas être généré de la sorte, ainsi qu’une « feature » non gérée en automatique à l’heure qu’il est : permettre l’ajout de section existante, et la création d’une section dans le même écran d’association, la capture de la figure 2.1.2 est plus parlante. Ce fut l’une de mes premières tâches et aussi celle qui m’apprit le fonctionnement des widgets. FIG. 2.1.2. Dialogue cumulant l’ajout et la création de section 2.3. LES FEUILLES DE TEMPS 11 2.2. Projet Le cadre de travail diffère ici de deux manières. D’une part le composant existait déjà et permettait la création de projet et l’association à ce projet d’acteurs, de ressources, de périodes ; d’autre part, je n’avais plus que mon encadrant de stage pour réaliser le travail, les autres stagiaires s’étant vu affecter des tâches. La tâche était simple puisqu’il fallait faire en sorte que l’on puisse créer des projets et des sous-projets, d’associer des compte-rendus à un projet, des feuilles de temps à un compte-rendu, d’associer des périodes typées à une période (en fait il s’agit de spécifier à quelle période comptable doit être rattachée une période quelconque). L’essentiel du travail était de la répétition de technique utilisée dans la tâche website. 2.3. Les feuilles de temps 2.3.1. Modélisation. Les feuilles de temps font partie d’un tissu de relation qu’il faut expliciter car j’y reviendrai plus tard lors d’une description d’une autre tâche accomplie chez NÉRÉIDE. Sur la figure 2.3.1 est disponible la modélisation U.M.L.. FIG. 2.3.1. Modélisation des feuilles de temps Une feuille de temps c’est en premier lieu une durée de travail réalisée par quelqu’un, à une date donnée. Ce qui se trouve traduit par une relation entre TIMESHEET et PARTYMANRESOURCE (dans le frameWork OfBiz/NÉOGIA un PARTY désigne une personne et un PARTYMANRESOURCE désigne une personne considérée comme ressource ou main d’oeuvre de l’entreprise), et les attributs workDate et hourAmount. 2.4. LES TÂCHES DE SOUS-TRAITANCE 12 Dans un second temps, il faut penser qu’il existe différentes manières de gérer des tâches (à la tâche, au volume, etc), et la modélisation voulant être large : – il faut donc tenir compte des situations où le travail d’une personne peut être facturée ou non, attribut par association, TIMESHEETBILLING (évidemment dans une entreprise, où les employés travaillent à la chaîne, il peut paraître inutile d’avoir une telle modélisation) – il faut savoir si une feuille de temps a tel ou tel statut, attribut TimeSheetStatus – il faut savoir si l’on a des frais, entité RECEIPT, à ajouter à une feuille de temps, par exemple un commercial ayant des frais d’hôtel à déclarer – il faut raccrocher une feuille de temps à une période de report ; en remarque, nous pouvons indiquer que les périodes de report ne correspondent pas forcément aux périodes comptables, tout dépendant de la personne gérant les équipes, les projets, ou les Ordres de Fabrication – et il faut que la feuille de temps soit associée à une réalisation de tâche 2.3.2. Écran réalisé. Ce fut sans doute l’un des écrans parmi lesquels j’ai passé le plus de temps, car non générable par générateurs, comme le montre la capture de la figure 2.3.2 page suivante, et impossible à créer, encore à l’heure actuelle, avec les formulaires OfBiz/NÉOGIA. Les raisons sont multiples : – la référence d’acteur devait être remplie automatiquement, pour l’heure il n’y a rien d’automatique concernant les références d’acteurs, il a donc fallu chercher les données disponibles après l’authentification de l’utilisateur lui permettant d’accéder à cet écran – la zone de saisie du projet ne peut pas être générée car il n’y a pas de relation entre une TIMESHEET et un PROJECT – il a aussi fallu créer une recherche de toute pièce pour faire en sorte que celle-ci tienne compte de l’identité présente dans le formulaire – les compétences pouvant être multiples pour un acteur au sein d’un même projet, il a fallu rajouter cette boîte et le javascript qui rempli le champs immédiatement en dessous, i.e. « À partir de », car cette date fait partie de la clef primaire dans la table PARTYMANRESOURCE – il fallait faire en sorte que la recherche d’un Ordre de Fabrication tiennent lui aussi compte des données précédemment reçues – il en est de même pour la référence d’opération, ou tâche, à ceci près qu’il a fallu réaliser une « vue » afin de pouvoir tenir compte des informations fournies précédemment. Les créateurs d’OfBiz n’ont pas créé d’interface SQL permettant de faire les requêtes du même nom (leur justification étant que toutes les bases de données n’implémentent pas le SQL de la même manière), et une vue est en quelque sorte une vision de la base de donnée avec des relations visibles ou pas, etc. C’est ce qui se rapproche le plus du SQL, même si pour y parvenir une syntaxe pénible est à utiliser 2.4. Les tâches de sous-traitance 2.4.1. Présentation des tâches. Dans la modélisation de l’équipe NÉRÉIDE des tâches, on discerne deux types de tâches très différentes : 2.4. LES TÂCHES DE SOUS-TRAITANCE 13 – les tâches théoriques, qui correspondent à ce qui est prévu de faire, par exemple dans un Ordre de Fabrication, on peut avoir une tâche qui consistera à visser quelque chose – la réalisation d’une tâche, qui correspond à une tâche qui sera à réaliser, en une certaine date et heure, et qui n’est plus théorique (il est ainsi possible de lancer un Ordre de Fabrication avec un certain nombre de tâches, puis de modifier le modèle théorique d’un Ordre de Fabrication, c’est à dire la liste de ses tâches, sans que cela affecte les Ordres de Fabrication déjà lancés) FIG. 2.3.2. Saisie d’une feuille de temps 2.4. LES TÂCHES DE SOUS-TRAITANCE 14 Nous avons donc la modélisation visible sur la figure 2.4.1. FIG. 2.4.1. Modélisation U.M.L. initiale Nous en arrivons donc à notre sous-traitance. D’une part une sous-traitance sera facturée, d’autre part une sous-traitance correspondra à un service et à une circulation de pièce (on peut sous traiter le nettoyage d’une pièce métallique, ce qui impose que la pièce présente dans nos stocks soit sortie et expédiée). Jusqu’alors, la sous-traitance était modélisée comme une tâche, au même titre que les autres tâches, mais dans un souci de conception, il a été décidé de créer une entité soustraitance séparée. 2.4.2. La modélisation. 2.4. LES TÂCHES DE SOUS-TRAITANCE 15 2.4.2.1. Modélisation des tâches de sous-traitance sous leur aspect théorique. Tout d’abord une tâche de sous-traitance est une tâche comme les autres, comme le suggère l’ancienne modélisation, mais il s’agit d’une tâche avec quelques particularités, il paraît alors évident qu’une tâche de sous-traitance hérite d’une tâche, voir figure 2.4.2 FIG. 2.4.2. Modélisation U.M.L. finale À la différence de la modélisation précédente, notre tâche de sous-traitance est associée directement avec un produit, mais cela n’a été réalisé que par soucis de commodité. 2.4.2.2. Modélisation des tâches de sous-traitance sous leur aspect réalisation. Il reste encore la réalisation concrète d’une tâche. Comme indiqué précédemment, c’était la tâche normale qui servait comme tâche de sous-traitance (voir figure 2.4.3). Comme on peut le voir sur la modélisation initiale, une tâche était utilisable comme tâche de sous-traitance, car sa réalisation était reliée aux tables concernant les ordres d’achat FIG. 2.4.3. Modélisation U.M.L. initiale de l’accomplissement d’une tâche de sous-traitance 2.4. LES TÂCHES DE SOUS-TRAITANCE 16 Il va donc y avoir quelques modifications. Tout d’abord, il faut ajouter la tâche de sous-traitance et l’associer avec les entités QUOTEITEM et ORDERITEM, puis en conséquence modifier la tâche normale, qui ne doit avoir, par rapport au diagramme 2.4.3 page précédente, de liaison qu’avec le WRUN, ou Ordre de Fabrication. Ceci est réalisé par la création d’une entité nommée TASKFULFILSUBCTR qui sera la réalisation d’une tâche de sous-traitance, au même titre qu’un TASKFULFILMENT est la réalisation d’une tâche normale. Il faut ensuite associer la tâche de sous-traitance, ou TASKFULFILSUBCTR, directement avec l’entité PROPOSEDORDER, cette table correspondant aux propositions d’achats, association qui semble correcte car la sous-traitance est un service qu’il faudra payer auprès d’un tiers. Nous en arrivons donc à la modélisation de la figure 2.4.4. FIG. 2.4.4. Modélisation U.M.L. finale de l’accomplissement d’une sous-traitance 2.4.3. La partie développée. Toutes les modifications apportées se répercutent sous forme d’accesseurs supplémentaires et quelques ré-aménagements dans le code, mais ne nous assurent pas les tâches suivantes : – il faut pouvoir associer des tâches de sous-traitance à une gamme, ou autrement dit modèle théorique – lors de la création d’un Ordre de Fabrication et donc lors de la création des TASKFULFILMENTs, i.e. la réalisation concrète d’une tâche, il faut que la gamme, soit parcourue et que les bons TASKFULFILMENTs soient créés : – un TASKFULFILSUBCTR pour une tâche de sous-traitance – un TASKFULFILMENT pour une tâche normale 2.4.3.1. Écran réalisé. Il faut pouvoir créer une tâche de sous-traitance, ce qui est maintenant possible via l’écran de la figure 2.4.5 page suivante. 2.4. LES TÂCHES DE SOUS-TRAITANCE 17 FIG. 2.4.5. Écran de création de tâche de sous-traitance 2.4.3.2. Génération des réalisations de sous-traitance. Jusqu’alors lorsque l’utilisateur utilisait le widget de la figure pour créer un Ordre de Fabrication, il fallait parcourir la liste des tâches de la gamme associée, puis pour chacune de ces tâches créer une réalisation de tâche, ou TASKFULFILMENT. Puis l’ensemble des tâches était planifié par rapport aux stocks et à la durée d’acquisition/de fabrication des pièces. FIG. 2.4.6. Écran de création d’un Ordre de Farbrication Dans un premier temps, il fallait donc que l’on crée toujours des TASKFULFILMENT lorsqu’il s’agissait de tâches normales, mais aussi, à l’instar des tâches normales, créer pour les tâches de sous-traitance des TASKFULFILSUBCTR, i.e. des réalisations de tâches de sous-traitance. Ceci fut une tâche aisée du fait même de la modélisation et du choix du langage pour l’implémenter. Une TASKFULFILSUBCTR n’était qu’une classe fille de TASKFULFILMENT et le langage était le JAVA, i.e. un langage orienté objet. Dans un second temps, il fallut modifier la planification des tâches de sorte qu’elle tienne compte des tâches de sous-traitance. En effet, un service n’est pas géré de la même 2.5. AVANCEMENT D’UN ORDRE DE FABRICATION 18 manière qu’un mouvement de stocks, et il fallut donc exclure de la planification les tâches de sous-traitance. 2.5. Avancement d’un Ordre de Fabrication Il s’agissait ici de permettre l’avancement de tâche par l’utilisateur, c’est à dire lui permettre de donner une date de début réel et de fin réelle, de tâche. 2.5.1. Écran réalisé. La figure 2.5.1 montre l’écran finalement obtenu, et une fois encore l’image cache le travail qui a été fait derrière. FIG. 2.5.1. Avancement d’un Ordre de Fabrication 2.5.2. Le code développé. Outre les vérifications d’usages : – dates valides, date de fin après celle de début, etc – être sûr que l’on n’essaie pas de changer une date de début (le positionnement de ces dates, est une section critique car un autre écran, montré plus bas, peut lui aussi poser des dates) il a fallut se poser les questions de planification. Lors de la première planification, c’est à dire lors de la création de l’Ordre de Fabrication, toutes les dates estimées (le modèle prévoyant des dates réelles et des dates estimées), sont fixées, mais il ne s’agit que de dates estimées. Si une tâche a pris un retard non dissimulable (i.e. un retard suffisant pour que le responsable juge nécessaire de faire figurer les vrais dates), doit-on replanifier ? Si oui comment ? Étant donné que la modélisation permet d’avoir des tâches qui commencent dans le désordre (pour tenir compte, par exemple, de commandes impromptues et impératives), comment refaire une planification ? De plus les algorithmes entrant dans la planification n’avaient pas été conçus pour permettre une replanification. Il fut décidé, avec avis de Peter GORON (car concepteur des algorithmes de planification) et de mon encadrant de stage, qu’il y aurait planification systématique lorsque les 2.6. SAISIE RAPIDE DE TÂCHE ET DE FEUILLE DE TEMPS 19 tâches suivantes n’étaient pas lancées. Pour ce qui était du moment de replanification dans l’Ordre de Fabrication : – lorsque l’on entrait une date de début et de fin, on replanifiait sur les tâches suivantes – lorsque l’on entrait seulement une date de début, on replanifiait à partir de la tâche donnée, puis on changeait la date de début de la tâche précédemment planifiée 2.6. Saisie rapide de tâche et de feuille de temps Il s’agissait ici de permettre une saisie rapide (par exemple via lecteur code barre, lorsqu’il n’y a aucune ambiguïté), d’une tâche, et de générer automatiquement la feuille de temps associée. 2.6.1. Écran réalisé. Il s’agit en quelque sorte d’une interface à tiroirs : l’utilisateur doit saisir les informations nécessaires désignant la tâche si il y a ambiguïté, et donc là s’arrêterait la saisie rapide, on demande sur quelles tâches précisément il travaille ainsi que la compétence utilisée, ceci étant impératif pour saisir une feuille de temps la tâche ne peut que commencer, donc on fournit une date de début réel. En effet il n’est pas prévu qu’une saisie rapide permette de fournir à la fois une date de début réel et une date de fin réelle la tâche ne peut que finir, donc on fournit une date de fin réelle c’est cet écran qui a révélé la section critique, puisque l’on avait avec ce nouvel écran, la possibilité qu’un utilisateur tente de positionner une date de fin alors qu’un autre aurait, par ailleurs, posé entre temps une date de début. CHAPITRE 3 Documentation produite 3.1. Vue d’ensemble du traitement d’une requête Supposons que nous ayons un utilisateur qui clique sur le lien « Sélection de coordonnées » de la figure 3.1.1 FIG. 3.1.1. Sélection de coordonnées Remarque : pour parvenir ici, il vous faut avoir sélectionné l’onglet manufacturing/fabrication, puis choisi dans la barre d’application « stock » puis emplacement, puis choisi un « emplacement » et finalement cliqué sur coordonnées La requête serait alors de cette forme : https ://[...] :8443/facility/control/EditAssocNFacility?[...] 3.1.1. Orientation. Après des traitements préliminaires, OfBiz interprète comme suit : le composant est facility, puis il faut chercher dans le contrôleur une map nommée EditAssocNFacility. On peut alors trouver dans ce contrôleur : 20 3.1. VUE D’ENSEMBLE DU TRAITEMENT D’UNE REQUÊTE 21 1 [...] 2 3 4 5 ò 6 7 8 [...] 9 12 [...] FIG. 3.1.2. Vue d’ensemble du contrôleur Remarque : la ligne 5 n’existe pas dans la réalité, elle n’est là que pour permettre d’avoir une vue plus large, il n’y a donc aucun sens à chercher derrière cet appel de service qu’il faut lire comme suit : numéro de ligne 2 pour l’uri EditAssocNFacility 3 il faut une connexion sécurisée et un utilisateur authentifié 4 en cas de succès du service, il faut aller sur la vue EditAssocNFacility 5 en cas d’échec du service, il faut aller sur la vue EditAssocNFacility OfBiz sait donc maintenant ce qu’il doit faire pour traiter la requête : – exécuter le service addOrderShipmentToShipment (un « service » n’est qu’un type d’« event » particulier) – si celui-ci renvoie « success » alors on va sur la vue EditAssocNFacility, qui s’occupera de l’affichage d’information – sinon, dans cet exemple, on va sur la vue EditAssocNFacility nous retrouvons donc notre vue, que nous pouvons interpréter comme suit : pour la vue EditAssocNFacility, on cherchera dans le fichier widget/facility/locationScreens.xml du composant facility le screenWidget EditAssocNFacility, du fait des lignes 9 à 11 de la figure 3.1.2. 3.1.2. Traitement du service. Le framework OfBiz permet au développeur de faire précéder ou suivre ce service, editNFacilityType, par d’autres services, par l’entremise de « seca »s, OfBiz va donc maintenant aller vérifier dans le fichier secas.xml présent dans facility/servicedef1. Nous y trouvons alors le bloc suivant : 1il est possible de régler ce chemin ainsi que d’autres dans le fichier ofbiz-component.xml présent à la racine du composant 3.2. LES WIDGETS/SCREENS WIDGETS 22 1 2 4 FIG. 3.1.3. Extrait d’un fichier « seca » qu’il faut lire comme ceci : numéro de ligne 1 au retour du service addOrderShipmentToShipment 2 on exécutera, en mode synchrone, le service updateOrder[...]ShipmentItem updateOrder[...]ShipmentItem étant un service, ofbiz repasse dans ce même fichier à la recherche de « seca »s pour ce service et ainsi de suite. Une fois que tout ce qui concernait les services a été réalisé, et que tout s’est fini avec « success »2, nous revenons à notre contrôleur. Puisqu’il y était spécifié qu’en cas de succès, nous devions aller voir le screenWidget EditAssocNFacility, nous y allons. Remarque : Il est possible d’avoir plusieurs blocs de ce type ne s’exécutant que sous certaines conditions, intervenant à d’autres moments, etc 3.2. Les widgets/screens widgets 3.2.1. Présentation générale. Après moult péripéties, OfBiz est parvenu au widget suivant :3 FIG. 3.2.1. Exemple général de screen widget 1 2
3 4 5 6 7 8

Donnez votre réponse agrave; la question Exemple de rapport de stage BTS ?

Noter la réponse

Nouvelles questions de Université

Moha955

6 points

07 Mars 20h01 | Université

Peut on partir à l'université avec un bac sti2d ?

Je suis actuellement en seconde mais je m'intéresse a la filière sti2d et je veut savoir si on peut p...

joseph14

6 points

01 Février 12h17 | Université

Quelle est la différence entre la politique ...

je suis entrain de vouloir faire mon 3éme cycle en gestion-finance(gouvernance d'entreprise) que la...

tatachris

6 points

29 Janvier 06h01 | Université

Est ce que la moyenne est arrondie en fac ...

passe t on toutes les matieres en dessous de 10 dans les differents UE au rattrapage pour valider...

guitarram

52 points

11 Juin 10h38 | Université

Comment devenir prof de français à l'étranger ?

Bonjour, depuis des années je rêve de devenir prof et j'ai enfin trouver dans quelle matière : français, ...

rotaboy

56 points

10 Juin 16h32 | Université

Que faire après un bac ES ?

Bonjour, à votre avis, qu'est-ce qu'il est préférable de faire comme études après avoir obtenu un bac ES ...

Je m'inscris