EP3053110A1 - Procédé de dématérialisation d'une démarche - Google Patents

Procédé de dématérialisation d'une démarche

Info

Publication number
EP3053110A1
EP3053110A1 EP14787238.6A EP14787238A EP3053110A1 EP 3053110 A1 EP3053110 A1 EP 3053110A1 EP 14787238 A EP14787238 A EP 14787238A EP 3053110 A1 EP3053110 A1 EP 3053110A1
Authority
EP
European Patent Office
Prior art keywords
identifier
approach
instance
control
gait
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Ceased
Application number
EP14787238.6A
Other languages
German (de)
English (en)
Inventor
Jean-François ASSELIN
Natacha BAGNARD
Béatrice BOUCHOT
Thomas CAIATI
Julien CHICOINEAU
Julien FOROT
Jean-Claude GROCCIA
Christophe ROBINE
Antoine VERCHERE
Jean-Philippe VIGNE
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Bull SAS
Original Assignee
Bull SAS
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Bull SAS filed Critical Bull SAS
Publication of EP3053110A1 publication Critical patent/EP3053110A1/fr
Ceased legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q10/00Administration; Management
    • G06Q10/10Office automation; Time management
    • G06Q10/103Workflow collaboration or project management
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q10/00Administration; Management
    • G06Q10/06Resources, workflows, human or project management; Enterprise or organisation planning; Enterprise or organisation modelling
    • G06Q10/063Operations research, analysis or management
    • G06Q10/0633Workflow analysis

Definitions

  • the invention relates to the dematerialization of the process and more specifically to the dematerialization of documents related to administrative procedures.
  • the invention aims to remedy all the drawbacks of the state of the art identified above, and in particular to propose means for dematerializing, via an Internet type network, steps administrative.
  • One approach is to enter one or more forms that will automatically be submitted to the right interlocutor of the right organization or administration.
  • the data are persisted a reasonable time to allow a user to complete an approach already started.
  • one aspect of the invention relates to:
  • a process of dematerialization of an administrative procedure comprising the following steps:
  • the data flow comprising at least one identifier of a previously defined control and a recipient identifier
  • Instantiation of the approach for a user identified by a user identifier being the recording in a database of instances of n-tuplets including at least the following data:
  • the method / device according to the invention may have one or more additional characteristics among the following, considered individually or according to the technically possible combinations:
  • the gait identifier is complex and comprises:
  • the instantiation is always done according to the most recent version. - the procedure includes dates (1052, 1053) of validity.
  • an instance of the process can only be created during the validity of the process.
  • an instance of the process can only be validated during the validity of the process.
  • the instantiation step includes a step of producing a step instance identifier, said identifier being unpredictable.
  • a trigger condition relates to a value of a control.
  • a trigger condition is a validation of a form. the approach comprising several forms also includes at least one linking rule defining a sequence of sequence of the forms.
  • an instance of a process has a creation date.
  • a recipient identifier identifies a routing rule
  • the method comprises a step of recording a message associated with a procedure instance, the message being at least searchable by the user associated with the instance of the approach,
  • the invention also relates to a digital storage device comprising a file corresponding to instruction codes implementing the method according to a combination of the preceding features.
  • the invention also relates to a device implementing a method according to a combination of the preceding claims.
  • FIG. 1 An illustration of steps of the method according to the invention.
  • Server is a term used in the field of the invention.
  • a server is also a computer in that it has all the characteristics. It is considered in this document that the terms computer and server are equivalent.
  • steps or actions are assigned to computer-type machines.
  • a machine comprises at least one microprocessor and a storage memory.
  • the storage memory makes it possible to record instruction codes whose interpretation allows the implementation of the steps or actions. So, when we assign an action to a machine, this is actually performed by a microprocessor of the machine interpreting instruction codes stored in a memory of the machine.
  • communications are assigned to computer-type machines. These communications are performed via message exchanges according to a predetermined protocol implemented at least by a network card, wired or without cable.
  • a network card implemented at least by a network card, wired or without cable.
  • Each machine involved in the communication has its network card connected via a bus to a microprocessor of the machine. This allows the microprocessor to take into account the received messages and to emit them.
  • the network cards are also connected to a network, for example of the Ethernet type.
  • networks such as fiber optic networks, InfinBand networks, or wireless networks.
  • instruction code is meant both native binary codes, intermediate codes interpreted by a virtual machine, for example Java, or scripts interpreted by interpretation engines, for example Python, PERL, ... the list is not exhaustive. This includes the built-in instructions of the operating system.
  • FIG. 1 is illustrated a first server 1000 of steps comprising at least:
  • 1030 storage means for example a hard disk.
  • the storage means can be composed of several physical components, hard disks according to several connectors (I DE, SCSI, eSCSI, ATA, SATA, eSATA, USB, ...) and several configurations (JBOD, RAI D0, RAI D1, RAI D5, ...), memory disk, ... the list is not exhaustive. These notes apply for all described computers.
  • the elements of the server 1000 of steps are interconnected by a bus 1 040.
  • the elements of the server 1000 of steps interconnected by the bus 1 040 are:
  • the storage means 1030 The storage means 1030.
  • the storage means 1030 comprise several zones:
  • a program area 1031 corresponding, inter alia, to instruction codes corresponding to the implementation of the method according to the invention.
  • the data zone 1032 comprises two databases:
  • a database is described here as a set of tables and relationships.
  • a table has rows, or records, with each row divided into columns or fields.
  • a relation allows to link, to put in relation, recordings. This is a description of a relational implementation mode of a database, but the invention is not limited to this type of database. It is compatible with object databases, hierarchical or NoSql to name only the most well-known database systems.
  • the database 1033 of data includes:
  • a table 1060 of forms comprising at least:
  • a column 1,061 form identifier
  • a control table 1070 comprising at least:
  • a column 1,071 control identifier A column 1,072 form identifier for attaching the control to a form.
  • links 1 - N between the tables.
  • links N - N by adding tables of relations, for example in table which would include identifiers of steps and identifiers of forms to allow to associate a form with several steps.
  • control is comparable to an input area that includes a type.
  • the most common types are: text, check box, list. The list is not exhaustive.
  • FIG. 1 also shows that the base 1034 gait also includes:
  • a flow table 1080 comprising at least:
  • a column 1083 recipient identifier for example an email or an identifier for determining an email.
  • the base 1033 of steps also includes a table 8010 flow routing rules.
  • the table 801 0 comprises at least:
  • a column 801 2 routing rule A column 801 2 routing rule.
  • the base 1033 of steps also includes a table 8020 of components.
  • the component table 8020 comprises at least:
  • a column 8024 gait identifier A column 8024 gait identifier.
  • the component table can be implemented via the control table 1070.
  • the control table 1070 would include, for example, a column of nature to specify the nature of the record.
  • One of the natures would be control, the other natures correspond to natures of component.
  • a component can also be linked to a form.
  • a nature of a component is, for example:
  • Graphic theme for example a set of CSS style sheets used to change the appearance of a form
  • a web service used to validate a user input
  • An XSLT file for filtering and / or formatting data, for example when processing a send record.
  • a routing rule is a decision tree, for example a selector, which makes it possible to determine an address from the value of a control.
  • the destination identifier column 1083 registers a routing rule identifier.
  • Figure 1 also shows that the base 1033 of steps also includes:
  • a table 1090 of flow contents comprising at least:
  • a column 1 092 control identifier can be:
  • An identifier such as the control identifier of the control table 1070
  • control table 1070 a control identifier from the control table 1070 and a form identifier from the form table 1060.
  • FIG. 1 also shows that the base 1033 of steps also includes:
  • a 2000 table of mailing rules including at least:
  • a column 2002 trigger condition, A column 2003 flow identifier, in a variant a rule may include more than one flow identifier.
  • a link with an approach is achieved via the flow identifier that identifies a flow that is linked to a process.
  • a link between a flow and an approach could be established either directly via a column of the rule table or indirectly via a specialized join table.
  • the sending rule identifier is structural, that is to say not necessary for the implementation of the invention.
  • the link between a send rule and a feed is made via a feed ID stored in the rule record.
  • the database 1033 form data includes one or more tables for defining an order in which to link the forms of the approach.
  • additional tables which can be extensions of existing tables, include, for example, the following information:
  • the following form may depend on a condition based, for example, on the value of a control of the current form that is left to move to the next form.
  • FIG. 1 also shows that the database 1034 of instance instance data comprises:
  • a table 201 0 of gait instances comprising at least:
  • the gait instance table 201 0 comprises: A starting column 201 3 of the approach,
  • a status of a procedure instance is, for example:
  • a procedure authority status allows, at least, to inform a user creator of a process of an advancement of its approach within an organization or administration to which it is addressed through a publication server.
  • publication server The concept of publication server is described later in the description.
  • FIG. 1 also shows that the database 1034 of instance instance data comprises:
  • a 2020 instance instance data table with at least:
  • a step instance identifier column 2021 A step instance identifier column 2021,
  • the base 1034 of gait instance data comprises:
  • a table 2030 of messages comprising at least:
  • the base 1034 of gait instance data comprises:
  • a 2040 mailing table comprising at least:
  • a column 2043 of stream identifier A column 2043 of stream identifier.
  • FIG. 1 shows that, via the network interface 1020, the step 1000 server is connected to a network 2000 of the Internet or Intranet type, which enables a client computer 3000 to send requests to the server 1,000 steps.
  • a gait instance identifier is a character string calculated to be unique and not predictable by a person unfamiliar with the production method. This then makes it possible to use the step instance identifier to directly consult an approach on the publication server. Since the publisher is an http server, we are talking about a recovery URL, which includes a gait instance identifier. A recovery url allows the person who knows it to take back, and / or consult, the corresponding procedure. In this case a simple counter is not suitable as a process instance identifier, anyone can query the publisher with a random number. In other words, an unpredictable identifier does not belong to a sequence but is produced by a calculation other than a simple incrementation. In practice the calculation depends on a time marker also known as timestamp.
  • Figure 2 shows a first step 5000 of creating a process.
  • This creation is done via a man-machine interface which includes, for example, a "new approach" button. Activation of such a button causes the creation of a new record in table 1050 of procedures and the assignment of an identifier to this new registration.
  • This attribution is either automatic, for example by identity management mechanisms of a database engine (Identity for Sql Server (registered trademark), Sequence for Oracle (registered trademark) ...), or manual by a solicitation of the user via an input area. In this last case it will be necessary to validate the identifier by ensuring that it is very unique in the table 1050 of steps.
  • the gait identifier is structured, it is also said complex or composite.
  • the gait identifier comprises:
  • Figure 2 shows that the step 5000 of creating a new form is followed by a step 501 0 of creation of a form.
  • This creation is done via a man-machine interface that includes, for example, a "new form" button. Activation of such a button causes the creation of a new record in the forms table 1060 as well as the assignment, as previously described, of an identifier to this new record.
  • the creation of the form is done in this context and the value of the step identifier column of the new form record is the value of the identifier of approach of the process ID of the new process registration.
  • columns identifying the new object are initialized according to the context in which the object is created.
  • a context can also be activated by opening to modify an existing element. For example, opening to modify a form will cause the creation of a context linked to the open form and all the controls created in this context will be linked to this form.
  • step 5020 creation, or definition, of a new control record that is associated with the new form record. This association is done naturally because the control is created in the context of the new form record.
  • This creation is done via a man-machine interface that includes, for example, a "new control" button. The activation of such a button causes the creation of a new record in the control table 1070 as well as the allocation, as previously described, of an identifier to this new record.
  • a control is also called an input area and can be, conventionally:
  • a selection box in a list
  • a button allowing, for example, to trigger a submission of the form
  • Such a creation of form, by creating control is also known in other environment, such as Visual Studio (trademark) of Microsoft (trademark) or SmartGuide (trademark) of the company Alphinat.
  • the invention resides here in associating the result of the creation of the form and the controls it includes with a gait identifier.
  • a control identifier is unique for a form. That is, if all the controls of a form are selected in the control table 1070, then each of the rows resulting from this selection can be uniquely identified by the value of the control identifier column. This result is obtained automatically if the aforementioned identity mechanisms are used. Otherwise you must prohibit the creation, that is to say the updating of the database, as long as the user has not entered an identifier satisfying the uniqueness constraint.
  • Figure 2 shows a step 5030 of definition, or creation of a data stream. This creation is done via a human machine interface which includes, for example, a button "new flow”. Activation of such a button causes the creation of a new record in the table 1 080 flows as well as the allocation of an identifier to this new record. This new record is, due to its creation context, linked to the new record of procedure.
  • Step 5030 of creating a data stream is followed by a step 5040 of association of at least one control to the new flow record. This is accomplished by inserting in the table 1 090 flow data of a line including the identifier of the newly created flow record and an identifier of a control associated with the step to which the flow is associated.
  • the association between a control and an approach is achieved via the form on which the control depends.
  • the form on which the control depends is identified by the form identifier column of the control record.
  • the process on which the form depends is identified by the process identifier of the form record. This chain of dependency makes it possible to determine which approach depends on a control.
  • the control table includes a gait identifier column which allows a control to be directly attached to a gait.
  • a user also enters a recipient identifier for the stream.
  • a recipient identifier is either an email address or an identifier in a not shown electronic address book, the resolution of the identifier to obtain an email address.
  • An email address is, for example: an email address, an address of an FTP server, or more generally an address of a web service. Therefore we can assimilate a stream to an envelope to the extent that a flow includes a recipient and the description of a content.
  • FIG. 2 shows a step 5050 of definition of a transmission rule.
  • a user creates a new record in the Send Rules Table 2000. For this creation, via an interface, graphical or on the command line, the user enters a gait identifier, a condition and a flow identifier. This creates a rule.
  • a condition is for example: Validation of the form x,
  • Control value x equals y.
  • the conditions are structured. For example in two fields:
  • the rule is validated, evaluated to true, when, in an instance of approach the value entered control is equal to the trigger value.
  • the processing of a stream following the validation of a rule causes the creation of at least one new record in the table 2040 of mailings.
  • This new record includes, as previously described:
  • a procedure instance identifier that of the active procedure, - a stream identifier: one of those of the validated sending rule
  • the actual shipments are made from the mailing table.
  • the principle is that an autonomous process periodically traverses the send table to select records that have not been issued or that have not been successfully issued. For these records the stand-alone process uses the stream identifier to determine a recipient, and the data to produce a message to be sent. Depending on how the communication with the recipient took place, the stand-alone process marks the sending record as treated or in error.
  • the figure shows a step 6000 of publication.
  • the solutions for the publication are multiple.
  • the principle is that there is a server capable of interpreting a request as a request instantiation of a form.
  • This server called the publisher, can be the 1,000-step server or another server.
  • the server receives a request comprising:
  • server 1000 of steps also plays the role of publication server in the sense that it is also he who responds to requests from users wishing to undertake a process. In practice it should be two different servers for classic reasons of security and data isolation between development and production.
  • the publication server searches the name received by request in the table 1050 steps, if an approach is found, and if a status of the approach is "published", then the server responds with a form of the approach . Otherwise the server returns an error message.
  • a production server on which all the steps have by default a status allowing their publication. It is therefore useless to manage such a status.
  • a possible implementation is to use as a general gait identifier a name that may be the one used in the request.
  • the publication server is an http server. This server transforms the description of a form, as registered in the database 1033 of steps, in whole or part of a html page. We note here that there is no html in the model of the approach recorded in the database. It is the Publisher that formats the description of the form to produce html.
  • control table 1070 a type column that can store a type.
  • This type is used by the Publisher to determine how to "render" the control.
  • rendering means using the type to determine a html code sequence.
  • table 1070 may contain other columns, such as columns for storing location, dimension, and label information. The same is true for the 1,060 table of forms.
  • instantiating a request consists at least in registering in the instance table 2010 a new record. This assumes that the user has authenticated to the server, in a previous step not described, which allowed him to obtain a user ID. It is thus possible to create a new record from the user ID and the step find identifier from the name provided by the previously described request.
  • a step instance identifier is automatically calculated, for example by an identity mechanism already described.
  • there is no authentication by the publication server in which case the identification is done via an email address provided by the user. In this case we speak of anonymous user.
  • the step instance identifier is composite and composed of the column 201 1 gait identifier and the column 201 2 user identifier. This is a way to force the uniqueness of a gait instance for a user, the gait instance ID must be unique.
  • instantiating means at least the fact of recording data according to a model.
  • the data is in the instance database, the templates are in the process database.
  • the publication server before instantiating a new approach, performs an existing process instance search. This is a step 6005. This search is performed in the table 201 0 of instances of approach with as selection criterion the gait identifier and the user identifier. If this search finds a record then there is no new created instance, it is the one that has been found which is used. Once a form is filled, it is validated by an action of the user which causes its submission to the server.
  • submission involves two things:
  • the Publisher For each control of the submitted form, the Publisher updates or creates a row in the table, the value column of this row recording the values that were entered by the publisher. user before submitting the form
  • a condition of a rule is validated, then a message is formed.
  • This message contains the data described for the flow associated with the rule, rule whose triggering condition has been validated. It will be recalled that this data description comprises a control identifier.
  • the data included in the message is read from the 2020 instance data table from the control IDs and the ID of the process instance corresponding to the validated form. The message once constituted is sent to the designated recipient by the flow associated with the validated rule.
  • an approach that is to say a record in the table 1050 of steps, includes a version column.
  • the response to the user's request depends on the available versions of the process.
  • the multi-version variant makes it possible to simultaneously have several versions of a published approach. This case occurs, for example, when a user starts a process on a D0 date but does not even finish it. At a date D1 after the date D0 a new version of the procedure is published. The user returns to a date D2 after the date D1 and can continue with the decision tree previously described for the multi-version variant.
  • an approach includes validity dates that are stored in:
  • the selection decision tree of a step includes a test comparing the current date to the validity dates. If the current date is not between the validity dates, then the procedure can not be selected.
  • the validity dates of the approach are also used during the validation of a form of the approach. If the date on which validation is performed is outside the validity period, then validation is blocked.
  • the value of the column 201 3 date of departure that is to say, creation of the step instance to delete instances of gait.
  • all gait instances whose age is greater than a predetermined value are erased.
  • Age is the difference between the current date and the date of departure. Deletion consists of deleting the corresponding rows in the 201 0 table of gait instances and in the 2020 gait instance data table, as well as in table 2030 and table 2040.
  • FIG. 2 shows a step 7000 of inputting a message by a user.
  • This entry is made via a specific form that is linked at the time of its use to a procedure instance. Validation of this specific form causes message 2030 to create a new record.
  • a step is published per piece.
  • the forms served by the publisher are from a copy of the process database.
  • This copy is powered by update packages.
  • An update package is produced from the process database.
  • a user selects, in the procedure database elements: form, control, component, stream ... to include them in a package and produce said package.
  • Each element is a piece of gait.
  • the package is received by the production server that uses the contents of the package to update the copy of the gait database. This is referred to as a packet integration step 5095 preceding the publication step 6000.
  • the publication server checks the coherence of a received packet. This check is at least a validation of the dependencies of the elements contained in the received packet. For example, if a package has a form that references a style sheet component (CSS) that is not in the package and has not already been integrated through a previous package, then package integration is denied. This checks each element of the received packet to ensure that the publisher has all the elements to publish each element of the package.
  • CSS style sheet component

Landscapes

  • Business, Economics & Management (AREA)
  • Human Resources & Organizations (AREA)
  • Engineering & Computer Science (AREA)
  • Strategic Management (AREA)
  • Entrepreneurship & Innovation (AREA)
  • Economics (AREA)
  • General Business, Economics & Management (AREA)
  • Marketing (AREA)
  • Operations Research (AREA)
  • Quality & Reliability (AREA)
  • Tourism & Hospitality (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Development Economics (AREA)
  • Educational Administration (AREA)
  • Game Theory and Decision Science (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

Procédé de dématérialisation d'une démarche administrative comportant les étapes suivantes : - Attribution d'un identifiant à la démarche dans une base de données de démarche, - Création d'au moins un formulaire numérique associé à la démarche via l'identifiant de la démarche le formulaire comportant au moins un identifiant de formulaire, - Définition d'au moins un contrôle comportant : - Un identifiant de contrôle unique pour la démarche, -Association du au moins un contrôle au formulaire - Définition d'au moins un flux de données associé à la démarche, le flux de données comportant au moins un identifiant d'un contrôle précédemment défini et un identifiant de destinataire, - Définition d'une règle d'émission associée à la démarche, règle d'émission dont le déclenchement équivaut à l'émission d'un message vers un destinataire et comportant : - Une condition de déclenchement, - Un identifiant d'un flux précédemment défini, - Publication de la démarche, - Instanciation de la démarche pour un utilisateur identifié par un identifiant utilisateur, l'instanciation étant l'enregistrement dans une base de données d'instances de n-uplets comportant au moins les données suivantes : - Identifiant d'utilisateur, - Identifiant de démarche - Identifiant de contrôle - Valeur.

Description

Procédé de dématérialisation d'une démarche DOMAINE TECHNIQUE DE L'INVENTION
[ 0001 ] L'invention se rapporte à la dématérialisation de démarche et plus précisément à la dématérialisation de documents liés à des démarches administratives.
ETAT DE LA TECHNIQUE ANTERIEURE
[0002 ] Il est courant de devoir s'adresser à une administration ou à un organisme afin de satisfaire à une démarche administrative impérative : obtention d'un document d'identité, déclaration de revenus...
[ 0003 ] Dans ce cas il faut en général constituer un dossier et se rendre sur place, à un guichet de l'administration ou de l'organisme, en espérant ne rien avoir oublié.
[ 0004 ] Sur place il faut alors patienter, parfois longuement, et revenir s'il manque un document.
[0005 ] Cela pose donc plusieurs problèmes d'ordre technique :
Trouver du temps,
Gérer des files d'attentes
- Matérialiser des documents et être capable de les conserver.
[0006] Dans l'état de la technique il est connu des sites web, plus ou moins dynamiques, qui permettent de prendre en charge une partie de la dématérialisation. Mais dans ce cas, il y a autant de site web à créer que de démarches. Cela revient à écrire des pages html et à gérer leur enchaînement. De plus ces sites utilisent la notion de session pour préserver les données. Cela signifie qu'une fois le navigateur fermé, tout est effacé, ce qui ne laisse pas beaucoup de place pour les erreurs et qui impose de tout avoir à sa disposition lorsque l'on commence la démarche. EXPOSE DE L'INVENTION
[0007 ] L'invention vise à remédier à tous les inconvénients de l'état de la technique identifiés ci-dessus, et notamment à proposer des moyens pour permettre de dématérialiser, via un réseau de type Internet, des démarches administratives. Une démarche revient à la saisie d'un ou plusieurs formulaires qui seront soumis automatiquement au bon interlocuteur du bon organisme ou administration. D'autre part les données sont persistées un temps raisonnable pour permettre à un utilisateur de compléter une démarche déjà entamée.
[0008] Dans ce dessein, un aspect de l'invention se rapporte à :
Un procédé de dématérialisation d'une démarche administrative comportant les étapes suivantes :
- Attribution d'un identifiant à la démarche dans une base de données de démarche,
- Création d'au moins un formulaire numérique associé à la démarche via l'identifiant de la démarche le formulaire comportant au moins un identifiant de formulaire,
- Définition d'au moins un contrôle comportant :
- Un identifiant de contrôle unique pour la démarche,
-Association du au moins un contrôle au formulaire
- Définition d'au moins un flux de données associé à la démarche, le flux de données comportant au moins un identifiant d'un contrôle précédemment défini et un identifiant de destinataire,
- Définition d'une règle d'émission associée à la démarche, règle d'émission dont le déclenchement équivaut à l'émission d'un message vers un destinataire et comportant :
- Une condition de déclenchement,
- Un identifiant d'un flux précédemment défini,
- Publication de la démarche,
- Instanciation de la démarche pour un utilisateur identifié par un identifiant utilisateur, l'instanciation étant l'enregistrement dans une base de données d'instances de n-uplets comportant au moins les données suivantes :
- Identifiant d'utilisateur,
- Identifiant de démarche
- Identifiant de contrôle
- Valeur. [0009] Outre les caractéristiques principales qui viennent d'être mentionnées dans le paragraphe précédent, le procédé/dispositif selon l'invention peut présenter une ou plusieurs caractéristiques complémentaires parmi les suivantes, considérées individuellement ou selon les combinaisons techniquement possibles :
- l'identifiant de démarche est complexe et comporte :
Un identifiant,
Un numéro de version,
l'instanciation est toujours réalisée selon la version la plus récente. - la démarche comporte des dates (1052, 1053) de validité.
une instance de la démarche ne peut être créée que durant la validité de la démarche.
une instance de la démarche ne peut être validée que durant la validité de la démarche.
- l'étape d'instanciation comporte une étape de production d'un identifiant d'instance de démarche, ledit identifiant étant non prédictible. une condition de déclenchement porte sur une valeur d'un contrôle. une condition de déclenchement est une validation d'un formulaire. la démarche comportant plusieurs formulaires elle comporte aussi au moins une règle d'enchaînement définissant un ordre d'enchaînement des formulaires.
une des revendications précédentes caractérisé en ce qu'une le procédé comporte une étape de vérification avant l'étape d'instanciation la vérification étant :
- Est-ce qu'il existe une instance de la démarche active pour l'utilisateur :
- Si oui, alors utilisation de cette instance,
- Si non, alors poursuite de l'instanciation.
une instance de démarche comporte une date de création.
- une instance de démarche et les données associées sont automatiquement effacées lorsqu'elles atteignent un âge prédéterminé, un identifiant de destinataire identifie une règle de routage, le procédé comporte une étape d'enregistrement d'un message associé à une instance de démarche, le message étant au moins consultable par l'utilisateur associé à l'instance de la démarche,
une démarche est publiée par morceau.
- un morceau de démarche est validé avant d'être publié.
[0010] L'invention se rapporte également à un dispositif de stockage numérique comportant un fichier correspondant à des codes instructions mettant en œuvre le procédé selon une combinaison des caractéristiques précédentes.
[0011] L'invention se rapporte également à un dispositif mettant en œuvre un procédé selon une combinaison des revendications précédentes.
BREVE DESCRIPTION DES FIGURES
[0012] D'autres caractéristiques et avantages de l'invention ressortiront à la lecture de la description qui suit, en référence aux figures annexées, qui illustrent :
- la figure 1 , une illustration de moyen permettant la mise en œuvre de l'invention ;
la figure 2, une illustration d'étapes du procédé selon l'invention.
[0013] Pour plus de clarté, les éléments identiques ou similaires sont repérés par des signes de référence identiques sur l'ensemble des figures.
[0014] L'invention sera mieux comprise à la lecture de la description qui suit et à l'examen des figures qui l'accompagnent. Celles-ci sont présentées à titre indicatif et nullement limitatif de l'invention.
DESCRIPTION DETAILLEE D'UN MODE DE REALISATION
[0015] Serveur est un terme usité dans le domaine de l'invention. Un serveur est aussi un ordinateur en ce sens qu'il en a toutes les caractéristiques. On considère dans ce document que les termes ordinateur et serveur sont équivalents.
[0016] Pour la description du procédé on attribue des étapes ou des actions à des machines de type ordinateur. Une telle machine comporte au moins un microprocesseur et une mémoire de stockage. La mémoire de stockage permet d'enregistrer des codes instructions dont l'interprétation permet la mise en œuvre des étapes ou des actions. Donc, lorsque l'on attribue une action à une machine, celle-ci est en fait réalisée par un microprocesseur de la machine interprétant des codes instructions enregistrés dans une mémoire de la machine.
[0017] Pour la description du procédé on attribue des communications à des machines de type ordinateur. Ces communications sont réalisées via de échanges de messages selon un protocole prédéterminé mis en œuvre au moins par une carte réseau, câblée ou sans câble. Chaque machine impliquée dans la communication comporte sa carte réseau connecté, via un bus, à un microprocesseur de la machine. Cela permet au microprocesseur de prendre en compte les messages reçus et d'en émettre. Les cartes réseau sont par ailleurs connectées à un réseau, par exemple de type Ethernet. Il y a d'autres types de réseaux, comme les réseaux à fibre optique, les réseaux InfinBand, ou les réseaux sans fil.
[0018] Lorsque l'on dit qu'une action est effectuée par un système d'exploitation, une application, un processus, ou une zone de code instructions, cette action correspond à la mise en œuvre, par un microprocesseur, de codes instructions correspondant, comme décrit aux paragraphes précédents.
[0019] Par code instruction on entend aussi bien des codes binaires natifs, que des codes intermédiaires interprétés par une machine virtuelle, par exemple Java, ou des scripts interprétés par des moteurs d'interprétations, par exemple Python, PERL, ... la liste n'est pas exhaustive. Cela inclut les instructions intégrées du système d'exploitation.
[0020] A la figure 1 est illustré un premier serveur 1 000 de démarches comportant au moins :
Un microprocesseur 101 0,
- Une interface 1 020 réseau,
Des moyens 1 030 de stockage, par exemple un disque dur.
[0021] L'homme du métier comprendra aisément qu'il s'agit d'une description pratique d'un moyen de stockage. Dans la pratique le moyen de stockage peut être composé de plusieurs composants physiques, disques durs selon plusieurs connectiques (I DE, SCSI, eSCSI, ATA, SATA, eSATA, USB, ...) et plusieurs configurations (JBOD, RAI D0, RAI D1 , RAI D5, ...), disque mémoire, ... la liste n'est pas exhaustive. Ces remarques s'appliquent pour tous les ordinateurs décrits. [0022 ] Les éléments du serveur 1000 de démarches sont interconnectés par un bus 1 040. Les éléments du serveur 1 000 de démarches interconnectés par le bus 1 040 sont :
Le microprocesseur 101 0,
- L'interface 1 020 réseau,
Les moyens 1 030 de stockage.
[ 0023 ] Les moyens 1 030 de stockage comportent plusieurs zones :
Une zone 1032 de données
Une zone 1 031 de programmes correspondant, entre autre, à des codes instructions correspondant à la mise en œuvre du procédé selon l'invention.
[ 0024 ] Pour les besoins de la description on décrit que la zone 1032 de données comporte deux bases de données :
Une base 1033 de données de démarches
- Une base 1034 d'instance de démarches.
Dans la pratique il pourrait ne s'agir que d'une seule et même base de données. Il est ici commode, pour des raisons de clarté de décrire deux bases de données. Une base de données est ici décrite comme un ensemble de tables et de relations. Une table comporte des lignes, ou enregistrement, chaque ligne étant divisé en colonne ou champ. Une relation permet de lier, mettre en relation, des enregistrements. Il s'agit d'une description d'un mode d'implémentation relationnel d'une base de données, mais l'invention n'est pas limitée à ce type de base de données. Elle est compatible avec les bases de données objets, hiérarchique ou NoSql pour ne citer que les systèmes de base de données les plus connus.
[0025 ] La base 1 033 de données de démarches comporte :
Une table 1050 de démarches comportant au moins :
Une colonne 1 051 identifiant de démarche
Une table 1060 de formulaires comportant au moins :
Une colonne 1 061 identifiant de formulaire
- Une colonne 1 062 identifiant de démarche permettant de rattacher un formulaire à une démarche
Une table 1070 de contrôles comportant au moins :
Une colonne 1 071 identifiant de contrôle Une colonne 1 072 identifiant de formulaire permettant de rattacher le contrôle à un formulaire.
[ 0026] On voit ici que l'on décrit des liens 1 - N entre les tables. Dans la pratique on peut aussi avoir des liens N - N en ajoutant des tables de relations, par exemple en table qui comporterait des identifiants de démarches et des identifiants de formulaires pour permettre d'associer un formulaire à plusieurs démarches.
[0027 ] Dans la pratique un contrôle est assimilable à une zone de saisie qui comporte un type. Les types les plus fréquents sont : texte, case à cocher, liste. La liste n'est pas exhaustive.
[0028 ] La figure 1 montre aussi que la base 1 034 de démarche comporte aussi :
une table 1 080 de flux comportant au moins :
Une colonne 1 081 identifiant de flux
- Une colonne 1 082 identifiant de démarche
Une colonne 1 083 identifiant de destinataire, par exemple un email ou un identifiant permettant de déterminer un email.
[ 0029] Dans une variante de l'invention la base 1 033 de démarches comporte aussi une table 8010 de règles de routage de flux. La table 801 0 comporte .au moins :
Une colonne 801 1 identifiant de règle de routage,
Une colonne 801 2 règle de routage.
[ 0030 ] Dans une variante de l'invention la base 1 033 de démarches comporte aussi une table 8020 de composants. La table 8020 de composant comporte au moins :
Une colonne 8021 identifiant de composant,
Une colonne 8022 nature de composant.
Une colonne 8023 contenu.
Une colonne 8024 identifiant de démarche.
[ 0031 ] Un composant est donc associé à une démarche. Dans une variante la table de composant peut être mise en œuvre via la table 1070 de contrôles. Dans ce cas la table 1 070 de contrôles comporterait, par exemple, une colonne de nature pour préciser la nature de l'enregistrement. L'une des natures serait contrôle, les autres natures correspondraient à des natures de composant. Dans ce cas un composant peut aussi être lié à un formulaire.
[0032 ] Une nature de composant est, par exemple :
Thème graphique, par exemple un ensemble de feuilles de style de type CSS utilisé pour modifier l'aspect d'un formulaire,
Un service web, utilisé pour valider une saisie d'un utilisateur,
Une source de donnée utilisée pour peupler un contrôle de type sélection parmi une liste
Un fichier XSLT pour faire du filtrage et/ou une mise en forme de données, par exemple lors du traitement d'un enregistrement d'envoi.
[0033 ] Une règle de routage est un arbre de décision, par exemple un sélecteur, qui permet de déterminer une adresse à partir de la valeur d'un contrôle. Dans cette variante la colonne 1083 identifiant de destinataire enregistre un identifiant de règle de routage.
[ 0034 ] La figure 1 montre aussi que la base 1 033 de démarches comporte aussi :
Une table 1090 de contenus de flux comportant au moins :
Une colonne 1 091 identifiant de flux,
Une colonne 1 092 identifiant de contrôle. Ici la colonne 1 092 identifiant de contrôle peut être :
- Un identifiant tel que l'identifiant de contrôle de la table 1070 de contrôles
-composite, c'est-à-dire être la concaténation d'un identifiant de contrôle de la table 1 070 de contrôles et d'un identifiant de formulaire de la table 1 060 de formulaires.
[ 0035 ] La figure 1 montre aussi que la base 1 033 de démarches comporte aussi :
- Une table 2000 de règles d'envois comportant au moins :
Une colonne 2001 identifiant de règle d'envoi,
Une colonne 2002 condition de déclenchement, Une colonne 2003 identifiant de flux, dans une variante une règle peut comporter plus d'un identifiant de flux.
[ 0036] Pour le cas de la table 2000 de règles d'envois un lien avec une démarche est réalisé via l'identifiant de flux qui permet d'identifier un flux qui est lui lié à une démarche. Dans la pratique un tel lien, entre un flux et une démarche, pourrait être établi soit directement via une colonne de la table de règle, soit indirectement via une table de jointures spécialisée.
[0037 ] Dans le cas de la table de règles d'envois l'identifiant de règle d'envois est structurel c'est-à-dire non nécessaire à la mise en œuvre de l'invention. Le lien entre une règle d'envoi et un flux est réalisé via un identifiant de flux enregistré dans l'enregistrement de règle. Dans une variante on peut utiliser une table de liaison dont les enregistrements comportent un identifiant de règle et un identifiant de flux.
[0038 ] Dans une variante de l'invention, dans un cas dans lequel une démarche comporterait plusieurs formulaires, la base 1033 de données de formulaire comporte une ou plusieurs tables permettant de définir un ordre dans lequel enchaîner les formulaires de la démarche. Ces tables supplémentaires, qui peuvent être des extensions des tables existantes, comportent, par exemple, les informations suivantes :
- Premier formulaire de la démarche : identifiant du premier formulaire utilisé lors de la création d'une nouvelle instance de la démarche
Pour chaque formulaire quel est le formulaire suivant, le formulaire suivant pouvant dépendre d'une condition basée, par exemple, sur la valeur d'un contrôle du formulaire actuel que l'on quitte pour passer au formulaire suivant.
[0039] La figure 1 montre aussi que la base 1034 de données d'instance de démarches comporte :
Une table 201 0 d'instances de démarche comportant au moins :
Une colonne 201 1 identifiant d'instance de démarche, - Une colonne 201 2 identifiant d'utilisateur,
Une colonne 2009 identifiant de démarche.
[ 0040 ] Dans une variante de l'invention la table 201 0 d'instance de démarche comporte : Une colonne 201 3 de départ de la démarche,
Une colonne 2014 de statut de l'instance de la démarche,
[ 0041 ] Un statut d'une instance de démarche est, par exemple :
- Créée : au moment de sa création,
Soumise : envoyée au destinataire ou aux destinataires,
Acceptée : le destinataire a accepté de traiter le cas car le dossier est complet
Refusée : le destinataire a refusé la démarche.
- ... la liste n'est pas exhaustive.
[0042 ] Un statut d'instance de démarche permet, au moins, de renseigner un utilisateur créateur de démarche d'un avancement de sa démarche au sein d'un organisme ou administration à laquelle il s'adresse à travers un serveur de publication. La notion de serveur de publication est décrite plus loin dans la description.
[0043 ] La figure 1 montre aussi que la base 1034 de données d'instance de démarches comporte :
Une table 2020 de données d'instance de démarche comportant au moins :
- Une colonne 2021 d'identifiant d'instance de démarche,
Une colonne 2022 d'identifiant de contrôle,
Une colonne 2023 de valeur.
[ 0044 ] A partir de là, par le jeu des relations, au sens système de base de données relationnelle, il est aisé de composer une vue, à partir de la table 2010 d'instances de démarche et de la table 2020 de données d'instances de démarche, permettant d'exposer des n-uplets :
- Identifiant d'utilisateur,
- Identifiant de démarche
- Identifiant de contrôle
- Valeur.
[0045 ] Ici il s'agit d'un quadruplet. En général un n-uplet est une association de n valeurs. [0046] Dans une variante de l'invention, la base 1 034 de données d'instance de démarche comporte :
Une table 2030 de messages comportant au moins :
Une colonne 2031 identifiant d'instance de démarche
- Une colonne 2032 de message.
[0047 ] Dans une variante de l'invention, la base 1 034 de données d'instance de démarche comporte :
Une table 2040 d'envois comportant au moins :
Une colonne 2041 identifiant d'instance de démarche
- Une colonne 2042 de données à envoyer
Une colonne 2043 d'identifiant de flux.
[ 0048 ] La figure 1 montre que, via l'interface 1 020 réseau, le serveur 1 000 de démarche est connecté à un réseau 2000 de type Internet ou Intranet ce qui permet à un ordinateur 3000 client d'émettre des requêtes vers le serveur 1 000 de démarche.
[0049] Dans une variante de l'invention un identifiant d'instance de démarche est une chaîne de caractère calculée de manière à être unique et non prédictible par une personne n'ayant pas connaissance de la méthode de production. Cela permet alors d'utiliser l'identifiant d'instance de démarche pour consulter directement une démarche sur le serveur de publication. Dans la mesure où le serveur de publication est un serveur http, on parle d'une url de reprise, qui inclue un identifiant d'instance de démarche. Une url de reprise permet à celui qui la connaît de reprendre, et/ou consulter, l'instance de démarche correspondant. Dans ce cas un simple compteur n'est pas adapté comme identifiant d'instance de démarche, n'importe qui pouvant interroger le serveur de publication avec un numéro au hasard. Autrement dit, un identifiant non prédictible n'appartient pas à une séquence mais est produit par un calcul autre qu'une simple incrémentation. Dans la pratique le calcul dépend d'un marqueur temporel aussi connu sous le nom de timestamp.
[0050 ] La figure 2 montre une première étape 5000 de création d'une démarche. Cette création est réalisé via une interface homme machine qui comporte, par exemple, un bouton « nouvelle démarche ». L'activation d'un tel bouton provoque la création d'un nouvel enregistrement dans la table 1 050 de démarches ainsi que l'attribution d'un identifiant à ce nouvel enregistrement. Cette attribution est soit automatique, par exemple par des mécanismes de gestion d'identité d'un moteur de base de données (Identity pour Sql Server (marque déposée), Séquence pour Oracle (marque déposée) ...), ou manuel par une sollicitation de l'utilisateur via une zone de saisie. Dans ce dernier cas il faudra valider l'identifiant en s'assurant qu'il est bien unique dans la table 1 050 de démarches.
[0051 ] Dans une variante de l'invention l'identifiant de démarche est structuré, on dit aussi complexe ou composite. Dans cette variante l'identifiant de démarche comporte :
Un champ identifiant général de démarche,
Un champ identifiant de version.
[ 0052 ] La figure 2 montre que l'étape 5000 de création d'un nouveau formulaire est suivie d'une étape 501 0 de création d'un formulaire. Cette création est réalisé via une interface homme machine qui comporte, par exemple, un bouton « nouveau formulaire ». L'activation d'un tel bouton provoque la création d'un nouvel enregistrement dans la table 1 060 de formulaires ainsi que l'attribution, comme précédemment décrit, d'un identifiant à ce nouvel enregistrement. Dans la mesure où l'on vient, juste avant cette étape, de créer une démarche, la création du formulaire se fait dans ce contexte et la valeur de la colonne identifiant de démarche du nouvel enregistrement de formulaire est la valeur de l'identifiant de démarche de l'identifiant de démarche du nouvel enregistrement de démarche.
[0053 ] Plus généralement, lors de la création d'un objet, des colonnes identifiant du nouvel objet sont initialisés en fonction du contexte dans lequel l'objet est créé. Un contexte peut aussi être activé par l'ouverture pour modification d'un élément existant. Par exemple l'ouverture pour modification d'un formulaire va provoquer la création d'un contexte lié au formulaire ouvert et tous les contrôles créés dans ce contexte seront lié à ce formulaire.
[ 0054 ] De l'étape 501 0 de création de formulaire on passe à une étape 5020 de création, ou définition, d'un nouvel enregistrement de contrôle que l'on associe au nouvel enregistrement de formulaire. Cette association se fait naturellement car le contrôle est créé dans le contexte du nouvel enregistrement de formulaire. Cette création est réalisé via une interface homme machine qui comporte, par exemple, un bouton « nouveau contrôle ». L'activation d'un tel bouton provoque la création d'un nouvel enregistrement dans la table 1 070 de contrôles ainsi que l'attribution, comme précédemment décrit, d'un identifiant à ce nouvel enregistrement.
[0055 ] Un contrôle est aussi appelé une zone de saisie et peut être, classiquement :
Une zone de saisie de texte,
Une zone de sélection dans une liste,
- Une zone de sélection d'un fichier,
Un bouton permettant, par exemple, de déclencher une soumission du formulaire,
[ 0056] La liste n'est pas exhaustive. Pour la compléter on pourrait, par exemple, utiliser la documentation de la balise nommée input (saisie en français) du langage HTML.
[0057 ] On rappelle que la soumission d'un formulaire est le fait d'émettre les données d'un formulaire vers un serveur de traitement.
[ 0058 ] Une telle création de formulaire, par création de contrôle, est également connue dans d'autre environnement, comme par exemple Visual Studio (marque déposée) de Microsoft (marque déposée) ou encore SmartGuide (marque déposée) de la société Alphinat.
[ 0059] L'invention réside ici dans le fait d'associer le résultat de la création du formulaire et des contrôles qu'il comporte à un identifiant de démarche.
[ 0060 ] Dans un mode préféré de réalisation un identifiant de contrôle est unique pour un formulaire. C'est-à-dire que si on sélectionne tous les contrôles d'un formulaire dans la table 1 070 de contrôles, alors chacune des lignes résultant de cette sélection peut être identifiée de manière unique par la valeur de la colonne identifiant de contrôle. Ce résultat est obtenu automatiquement si on utilise les mécanismes d'identité précédemment cité. Sinon il faut interdire la création, c'est-à-dire la mise à jour de la base de données, tant que l'utilisateur n'aura pas saisie un identifiant satisfaisant à la contrainte d'unicité. [0061 ] La figure 2 montre une étape 5030 de définition, ou création d'un flux de données. Cette création est réalisé via une interface homme machine qui comporte, par exemple, un bouton « nouveau flux ». L'activation d'un tel bouton provoque la création d'un nouvel enregistrement dans la table 1 080 des flux ainsi que l'attribution d'un identifiant à ce nouvel enregistrement. Ce nouvel enregistrement est, de par son contexte de création, lié au nouvel enregistrement de démarche.
[0062 ] L'étape 5030 de création d'un flux de données est suivie d'une étape 5040 d'association d'au moins un contrôle au nouvel enregistrement de flux. Cela est réalisé par l'insertion dans la table 1 090 de données de flux d'une ligne comportant l'identifiant de l'enregistrement de flux nouvellement créé et un identifiant d'un contrôle associé à la démarche à laquelle le flux est associé. Dans le mode de réalisation, l'association entre un contrôle et une démarche est réalisée via le formulaire dont dépend le contrôle. Le formulaire dont dépend le contrôle est identifié par la colonne identifiant de formulaire de l'enregistrement de contrôle. La démarche dont dépend le formulaire est identifiée par l'identifiant de démarche de l'enregistrement de formulaire. Cette chaîne de dépendance permet de déterminer de quelle démarche dépend un contrôle. Dans une variante de l'invention la table de contrôles comporte une colonne identifiant de démarche ce qui permet de rattacher directement un contrôle à une démarche.
[0063 ] Dans l'étape 5030 de création d'un flux, un utilisateur saisie également un identifiant de destinataire pour le flux. Un identifiant de destinataire est soit une adresse mail, soit un identifiant dans un carnet d'adresse électronique non représenté, la résolution de l'identifiant permettant d'obtenir une adresse électronique. Une adresse électronique est, par exemple : une adresse mail, une adresse d'un serveur FTP, ou plus généralement une adresse d'un service web. Dès lors on peut assimiler un flux à une enveloppe dans la mesure où un flux comporte un destinataire et la description d'un contenu.
[0064 ] La figure 2 montre une étape 5050 de définition d'une règle d'émission. Dans l'étape 5050, un utilisateur crée un nouvel enregistrement dans la table 2000 de règles d'envois. Pour cette création, via une interface, graphique ou en ligne de commande, l'utilisateur saisie un identifiant de démarche, une condition et un identifiant de flux. Cela permet de créer une règle. Une condition est par exemple : Validation du formulaire x,
Valeur du contrôle x égale y.
[ 0065 ] Les conditions sont donc structurées. Par exemple en deux champs :
Un champ identifiant un contrôle
- Une valeur de déclenchement pour ce contrôle.
[0066] D'une manière générale les règles associées à une démarche sont évaluées à chaque soumission d'un formulaire de la démarche.
[ 0067 ] La règle est validée, évaluée à vraie, quand, dans une instance de démarche la valeur saisie du contrôle est égale à la valeur de déclenchement.
[0068 ] Dans une variante de l'invention, le traitement d'un flux, suite à la validation d'une règle provoque la création d'au moins un nouvel enregistrement dans la table 2040 d'envois. Ce nouvel enregistrement comporte, comme précédemment décrit :
un identifiant d'instance de démarche : celui de la démarche active, - un identifiant de flux : un de ceux de la règle d'envoi validée
des données : celle décrite pas le flux précédemment identifié.
[0069] Dans la pratique il y a autant de nouvel enregistrement d'envois créés que de flux associés à la règle d'envoi validée.
[ 0070 ] Dans cette variante, avec table d'envois, les envois effectifs sont effectués à partir de la table d'envois. Le principe est qu'un processus autonome parcourt régulièrement la table d'envoi pour sélectionner les enregistrements qui n'ont pas été émis ou qui n'ont pas été correctement émis. Pour ces enregistrements le processus autonome utilise l'identifiant de flux pour déterminer un destinataire, et les données pour produire un message à envoyer. Selon la façon dont s'est déroulée la communication avec le destinataire le processus autonome marque l'enregistrement d'envoi comme traité ou en erreur.
[0071 ] La description a décrit un certain enchaînement d'étape. Dans la pratique cet ordre n'est pas figé, il pourrait être autre.
[ 0072 ] A ce stade la démarche est prête pour être publiée, c'est-à-dire rendue disponible via un réseau de type Internet ou intranet. La figure montre une étape 6000 de publication.
[0073 ] Les solutions pour la publication sont multiples. Le principe est qu'il existe un serveur capable d'interpréter une requête comme étant une demande d'instanciation d'un formulaire. Ce serveur, appelé serveur de publication, peut être le serveur 1 000 de démarche ou un autre serveur.
[ 0074 ] Lors de la publication, on peut par exemple associer un nom à une démarche. Cela revient à avoir une colonne supplémentaire dans la table 1 050 des démarches. Le serveur, par exemple le serveur 1 000 de démarche, reçoit alors une requête comportant :
Un code instruction correspondant à un ordre d'instancier une démarche
Un nom.
[ 0075 ] Dans le cas décrit le serveur 1 000 de démarches joue aussi le rôle de serveur de publication au sens où c'est également lui qui répond aux requêtes issues des utilisateurs souhaitant entreprendre une démarche. Dans la pratique ce devrait être deux serveurs différents pour des raisons classiques de sécurité et d'isolation de données entre développement et production.
[0076] Le serveur de publication cherche alors le nom reçu par requête dans la table 1050 des démarches, si une démarche est trouvée, et si un statut de la démarche est à « publiée », alors le serveur répond par un formulaire de la démarche. Sinon le serveur renvoie un message d'erreur. On peut aussi envisager un serveur de production sur lequel toutes les démarches ont par défaut un statut permettant leur publication. Il est dès lors inutile de gérer un tel statut.
[0077 ] Dans ce cas, une mise en œuvre possible est d'utiliser comme identifiant général de démarche un nom qui pourra être celui utilisé dans la requête.
[ 0078 ] Dans la pratique le serveur de publication est un serveur http. Ce serveur transforme la description d'un formulaire, telle qu'enregistrée dans la base 1033 de démarches, en tout ou partie d'une page html. On note ici qu'il n'y a pas de html dans le modèle de la démarche enregistré dans la base de démarches. C'est le serveur de publication qui met en forme la description du formulaire pour produire du html.
[0079] Par exemple, on ajoute dans la table 1070 de contrôle, une colonne de type qui permet de stocker un type. Ce type est utilisé par le serveur de publication pour déterminer comment « rendre » le contrôle. Ici rendre signifie utiliser le type pour déterminer une séquence de code html. Ce procédé permet de créer des formulaires sans avoir connaissance du langage html. Pour parvenir à cette fin la table 1 070 peut contenir d'autres colonnes, comme par exemple des colonnes permettant d'enregistrer des informations de positionnement, de dimension et de label. Il en va de même pour la table 1 060 de formulaires.
[0080 ] Avant de répondre positivement le serveur créé, dans une étape 6010 d'instanciation, une instance de la démarche. Dans la mise en œuvre décrite, le fait d'instancier une demande consiste au moins à enregistrer dans la table 2010 d'instance un nouvel enregistrement. Cela suppose que l'utilisateur se soit authentifié sur le serveur, dans une étape préalable non décrite, ce qui lui a permis d'obtenir un identifiant d'utilisateur. Il est ainsi possible de créer un nouvel enregistrement à partir de l'identifiant d'utilisateur et de l'identifiant de démarche trouver à partir du nom fournit par la requête précédemment décrite. Un identifiant d'instance de démarche est calculé automatiquement, par exemple par un mécanisme d'identité déjà décrit. Dans une variante de l'invention il n'y a pas d'authentification par le serveur de publication, dans ce cas l'identification se fait via une adresse mail fournie par l'utilisateur. Dans ce cas on parle d'utilisateur anonyme.
[0081 ] Dans une variante de l'invention l'identifiant d'instance de démarche est composite et composé de la colonne 201 1 identifiant de démarche et de la colonne 201 2 identifiant d'utilisateur. Cela est une façon de forcer l'unicité d'une instance de démarche pour un utilisateur, l'identifiant d'instance de démarche devant être unique.
[ 0082 ] Ici, par instancier, on entend au moins le fait d'enregistrer des données conformément à un modèle. Les données sont dans la base d'instances, les modèles sont dans la base de données de démarches.
[0083 ] Dans une variante de l'invention, avant d'instancier une nouvelle démarche le serveur de publication effectue une recherche d'instance de démarche existante. Il s'agit d'une étape 6005. Cette recherche est effectuée dans la table 201 0 d'instances de démarche avec comme critère de sélection l'identifiant de démarche et l'identifiant d'utilisateur. Si cette recherche permet de trouver un enregistrement alors il n'y a pas de nouvelle instance créée, c'est celle qui a été trouvée qui est utilisée. [0084 ] Une fois un formulaire rempli, il est validé par une action de l'utilisateur ce qui provoque sa soumission au serveur. La soumission entraîne deux choses :
Mise à jour de la table 2020 de données d'instance : pour chaque contrôle du formulaire soumis le serveur de publication met à jour ou créée une ligne dans la table, la colonne valeur de cette ligne enregistrant les valeurs qui ont été saisies par l'utilisateur avant la soumission du formulaire
Une évaluation des conditions de déclenchement des règles d'envois associées à la démarche. Si une condition d'une règle est validée, alors un message est constitué. Ce message comporte les données décrites pour le flux associé à la règle, règle dont la condition de déclenchement a été validée. On rappelle que cette description de données comporte un identifiant de contrôle. Les données incluses dans le message sont lues dans la table 2020 de données d'instance à partir des identifiant de contrôle et de l'identifiant de l'instance de démarche correspondant au formulaire validé. Le message une fois constitué est envoyé au destinateur désigné par le flux associé à la règle validée.
[ 0085 ] Dans une variante multi-versions de l'invention, une démarche, c'est-à- dire un enregistrement dans la table 1 050 de démarches, comporte une colonne de version. Lors de la publication, la réponse à la requête de l'utilisateur dépend des versions disponibles de la démarche. On a alors l'arbre de décision pour la sélection d'une démarche suivant :
Est-ce qu'il existe une instance de la démarche active pour l'utilisateur ?
- Oui : alors on utilise cette instance
Non : parmi toutes les démarches correspondant au nom utilisé dans la requête, on utilise celle qui a le numéro de version le plus élevé, c'est-à-dire la version la plus récente.
[ 0086] La variante multi-versions permet d'avoir simultanément plusieurs versions d'une démarche publiées. Ce cas se produit, par exemple, quand un utilisateur commence une démarche à une date D0 mais ne la même pas à bout. A une date D1 postérieur à la date D0 une nouvelle version de la démarche est publiée. L'utilisateur revient à une date D2 postérieure à la date D1 et peut poursuivre sa démarche grâce à l'arbre de décision précédemment décrit pour la variante multi-versions.
[0087 ] Dans une autre variante de l'invention une démarche comporte des dates de validités qui sont stockés dans :
- Une colonne 1 052 date de début de validité de la démarche dans la table 1 050 de démarches,
Une colonne 1 053 date de fin de validité de la démarche dans la table 1 050 de démarches.
[ 0088 ] Dans cette variante l'arbre de décision de sélection d'une démarche comporte un test comparant la date courante aux dates de validités. Si la date courante n'est pas entre les dates de validité, alors la démarche ne peut pas être sélectionnée.
[0089] Dans cette variante les dates de validité de la démarche sont également utilisées lors de la validation d'un formulaire de la démarche. Si la date à laquelle la validation est effectuée est en dehors de la période de validité, alors la validation est bloquée.
[0090 ] Dans une autre variante avec purge on utilise la valeur de la colonne 201 3 date de départ, c'est-à-dire de création, de l'instance de démarche pour effacer des instances de démarche. Dans cette variante, toutes les instances de démarche dont l'âge est supérieur à une valeur prédéterminée sont effacées. L'âge est la différence entre la date courante est le date de départ. L'effacement consiste à supprimer les lignes correspondantes dans la table 201 0 d'instances de démarche et dans la table 2020 de données d'instance de démarche, ainsi que dans la table 2030 et la table 2040.
[0091 ] Cette variante avec purge permet de garantir la confidentialité des données. Les données ne sont pas persistées au-delà d'une certaine durée.
[0092 ] La figure 2 montre une étape 7000 de saisie d'un message par un utilisateur. Cette saisie est réalisée via un formulaire spécifique qui est lié, au moment de son utilisation à une instance de démarche. La validation de ce formulaire spécifique provoque la création dans la table 2030 de message d'un nouvel enregistrement. Cela permet d'associer des messages à une instance de démarche. Cela permet à différents intervenants intéressés par la démarche de communiquer au-delà de la démarche proprement dite. Ces intervenants sont, par exemple :
L'utilisateur, ou administré, ayant provoqué la création de l'instance de la démarche,
- Un représentant de l'administration à laquelle est destinée la démarche.
[0093 ] Dans une variante de l'invention une démarche est publiée par morceau. Les formulaires servis par le serveur de publication le sont à partir d'une copie de la base de données de démarches. Cette copie est alimentée par des paquets de mise à jour. Un paquet de mise à jour est produit à partir de la base de données de démarches. Un utilisateur sélectionne, dans la base de données de démarches des éléments : formulaire, contrôle, composant, flux... pour les inclure dans un paquet et produire ledit paquet. Chaque élément est un morceau de démarche. Le paquet est reçu par le serveur de production qui utilise le contenu du paquet pour mettre à jour la copie de la base de données de démarche. On parle alors d'une étape 5095 d'intégration de paquet précédant l'étape 6000 de publication.
[0094 ] Dans une variante de la variante par morceau, avant l'intégration, le serveur de publication vérifie la cohérence d'un paquet reçu. Cette vérification est au moins une validation des dépendances des éléments contenus dans le paquet reçu. Par exemple si un paquet comporte un formulaire qui référence un composant feuille de style (CSS) qui n'est pas dans le paquet et qui n'a pas déjà été intégré via un paquet précédent, alors l'intégration du paquet est refusée. On vérifie ainsi chaque élément du paquet reçu pour s'assurer que le serveur de publication comporte bien tous les éléments permettant de publier chaque élément du paquet.

Claims

REVENDICATIONS
1 . Procédé de dématérialisation d'une démarche administrative comportant les étapes suivantes :
- Attribution (5000) d'un identifiant à la démarche dans une base de données de démarche,
- Création (5010) d'au moins un formulaire numérique associé à la démarche via l'identifiant de la démarche le formulaire comportant au moins un identifiant de formulaire,
- Définition (5020) d'au moins un contrôle comportant :
- Un identifiant de contrôle unique pour la démarche, -Association (5020) du au moins un contrôle au formulaire
- Définition (5030) d'au moins un flux de données associé à la démarche, le flux de données comportant (5040) au moins un identifiant d'un contrôle précédemment défini et un identifiant de destinataire,
- Définition (5050) d'une règle d'émission associée à la démarche, règle d'émission dont le déclenchement équivaut à l'émission d'un message vers un destinataire et comportant :
- Une condition de déclenchement,
- Un identifiant d'un flux précédemment défini,
- Publication (6000) de la démarche,
- Instanciation (6010) de la démarche pour un utilisateur identifié par un identifiant utilisateur, l'instanciation étant l'enregistrement dans une base de données d'instances de n-uplets comportant au moins les données suivantes :
- Identifiant d'utilisateur,
- Identifiant de démarche
- Identifiant de contrôle
- Valeur.
2. Procédé de dématérialisation selon la revendication précédente, caractérisé en ce que l'identifiant de démarche est complexe et comporte :
Un identifiant,
Un numéro de version.
3. Procédé selon la revendication 2, caractérisé en ce que lors de l'instanciation de la démarche, cette instanciation est toujours réalisé selon la version la plus récente.
4. Procédé selon l'une des revendications précédentes, caractérisé en ce que la démarche comporte des dates (1052, 1053) de validité.
5. Procédé selon la revendication 4, caractérisé en ce qu'une instance de la démarche ne peut être créée que durant la validité de la démarche.
6. Procédé selon la revendication 4, caractérisé en ce qu'une instance de la démarche ne peut être validée que durant la validité de la démarche.
7. Procédé selon l'une des revendications précédentes, caractérisé en ce que l'étape d'instanciation comporte une étape de production d'un identifiant d'instance de démarche, ledit identifiant étant non prédictible.
8. Procédé selon l'une des revendications précédentes caractérisé en ce qu'une condition de déclenchement porte sur une valeur d'un contrôle.
9. Procédé selon l'une des revendications précédentes caractérisé en ce qu'une condition de déclenchement est une validation d'un formulaire.
10. Procédé selon l'une des revendications précédentes caractérisé en ce que la démarche comportant plusieurs formulaires elle comporte aussi au moins une règle d'enchaînement définissant un ordre d'enchaînement des formulaires.
1 1 . Procédé de dématérialisation selon l'une des revendications précédentes caractérisé en ce qu'une le procédé comporte une étape (6005) de vérification avant l'étape d'instanciation la vérification étant :
Est-ce qu'il existe une instance de la démarche active pour l'utilisateur : - Si oui, alors utilisation de cette instance,
- Si non, alors poursuite de l'instanciation.
12. Procédé selon l'une des revendications précédentes, caractérisé en ce qu'une instance de démarche comporte une date de création.
13. Procédé selon l'une des revendications précédente, caractérisé en ce qu'une instance de démarche et les données associées sont automatiquement effacées lorsqu'elles atteignent un âge prédéterminé.
14. Procédé selon l'une des revendications précédente, caractérisé en ce qu'un identifiant de destinataire identifie une règle de routage.
15. Procédé selon l'une des revendications précédentes, caractérisé en qu'il comporte une étape (7000) d'enregistrement d'un message associé à une instance de démarche, le message étant au moins consultable par l'utilisateur associé à l'instance de la démarche.
16. Procédé selon l'une des revendications précédentes, caractérisé en ce qu'une validation d'une règle d'envoi provoque la création d'un enregistrement dans une table (2040) d'envois.
17. Procédé selon l'une des revendications précédentes, caractérisé en ce qu'une démarche est publiée par morceau.
18. Procédé selon la revendication 17, caractérisé en ce qu'un morceau de démarche est validé avant d'être publié.
19. Dispositif de stockage numérique comportant un fichier correspondant à des codes instructions mettant en œuvre le procédé selon l'une des revendications précédentes.
20. Dispositif mettant en œuvre le procédé selon l'une des revendications précédentes.
EP14787238.6A 2013-10-04 2014-10-03 Procédé de dématérialisation d'une démarche Ceased EP3053110A1 (fr)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
FR1359648A FR3011661A1 (fr) 2013-10-04 2013-10-04 Procede de dematerialisation d'une demarche
PCT/FR2014/052509 WO2015049472A1 (fr) 2013-10-04 2014-10-03 Procédé de dématérialisation d'une démarche

Publications (1)

Publication Number Publication Date
EP3053110A1 true EP3053110A1 (fr) 2016-08-10

Family

ID=50424343

Family Applications (1)

Application Number Title Priority Date Filing Date
EP14787238.6A Ceased EP3053110A1 (fr) 2013-10-04 2014-10-03 Procédé de dématérialisation d'une démarche

Country Status (3)

Country Link
EP (1) EP3053110A1 (fr)
FR (1) FR3011661A1 (fr)
WO (1) WO2015049472A1 (fr)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116109114B (zh) * 2023-04-13 2023-09-15 佛山科学技术学院 一种常态化政务服务数据处理方法及系统

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060069605A1 (en) * 2004-09-29 2006-03-30 Microsoft Corporation Workflow association in a collaborative application
US8386288B2 (en) * 2009-01-27 2013-02-26 Direct Response Medicine, Llc Workflow management system and method with workflow package exchange between drop-box application programs

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
None *
See also references of WO2015049472A1 *

Also Published As

Publication number Publication date
WO2015049472A1 (fr) 2015-04-09
FR3011661A1 (fr) 2015-04-10

Similar Documents

Publication Publication Date Title
Bradshaw et al. MongoDB: the definitive guide: powerful and scalable data storage
CA2509462C (fr) Navigation de l'espace de contenu d'un ensemble de documents
Chodorow MongoDB: the definitive guide
US10579715B2 (en) Animating edits to documents
EP2949070B1 (fr) Procédé de vérification de l'intégrité d'un bloc de données numériques
US20060048047A1 (en) Online annotation management system and method
EP1470501A2 (fr) Procedes et systemes de recherche et d'association de ressources d'information telles que des pages web
US8082276B2 (en) Techniques using captured information
EP1719061A2 (fr) Procédé mis en oeuvre dans un environnement informatique pour engendrer une vue courante à partir d'au moins un objet d'information source susceptible de varier
US7895224B2 (en) Navigation of the content space of a document set
US8352442B2 (en) Determination of an updated data source from disparate data sources
US20250315490A1 (en) Detection and removal of predefined sensitive information types from electronic documents
Stern et al. Professional WordPress: Design and Development
CN120508723A (zh) 基于Vue和SpringBoot的社交博客管理系统及方法
WO2016201547A1 (fr) Procédé mis en œuvre par ordinateur pour agréger et présenter des photos numériques provenant de nombreuses sources
EP3053110A1 (fr) Procédé de dématérialisation d'une démarche
WO2015173500A1 (fr) Base de fichiers relationnelle et interface graphique de gestion d'une telle base
Ryer Go Programming Blueprints
O'higgins MongoDB and Python: Patterns and processes for the popular document-oriented database
FR2998996A1 (fr) Procede d'enregistrement de donnees hierarchisees
WO2001095146A2 (fr) Systeme et procede permettant l'importation semi-automatique de fragments de ressources d'informations
WO2003019414A1 (fr) Systeme informatique et procede de gestion de documents
EP2253105A2 (fr) Service d'adresse indirecte de connexion sur réseau étendu
Lyons Instant PostgreSQL Starter
WO2001086496A1 (fr) Systeme et procede de traitement de donnes pour l'acces cible a un serveur a partir d'une interrogation en langage naturel

Legal Events

Date Code Title Description
PUAI Public reference made under article 153(3) epc to a published international application that has entered the european phase

Free format text: ORIGINAL CODE: 0009012

17P Request for examination filed

Effective date: 20160422

AK Designated contracting states

Kind code of ref document: A1

Designated state(s): AL AT BE BG CH CY CZ DE DK EE ES FI FR GB GR HR HU IE IS IT LI LT LU LV MC MK MT NL NO PL PT RO RS SE SI SK SM TR

AX Request for extension of the european patent

Extension state: BA ME

DAX Request for extension of the european patent (deleted)
17Q First examination report despatched

Effective date: 20171006

REG Reference to a national code

Ref country code: DE

Ref legal event code: R003

STAA Information on the status of an ep patent application or granted ep patent

Free format text: STATUS: THE APPLICATION HAS BEEN REFUSED

18R Application refused

Effective date: 20200808