EP2718810A1 - Method for developing a web portal, method for implementing same, and corresponding computer program product - Google Patents

Method for developing a web portal, method for implementing same, and corresponding computer program product

Info

Publication number
EP2718810A1
EP2718810A1 EP12729084.9A EP12729084A EP2718810A1 EP 2718810 A1 EP2718810 A1 EP 2718810A1 EP 12729084 A EP12729084 A EP 12729084A EP 2718810 A1 EP2718810 A1 EP 2718810A1
Authority
EP
European Patent Office
Prior art keywords
modules
portal
module
file
computer
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.)
Withdrawn
Application number
EP12729084.9A
Other languages
German (de)
French (fr)
Inventor
Thomas Landais
Bertrand DESSON
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.)
Sagemcom Broadband SAS
Original Assignee
Sagemcom Broadband 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 Sagemcom Broadband SAS filed Critical Sagemcom Broadband SAS
Publication of EP2718810A1 publication Critical patent/EP2718810A1/en
Withdrawn legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/10Text processing
    • G06F40/12Use of codes for handling textual entities
    • G06F40/14Tree-structured documents
    • G06F40/143Markup, e.g. Standard Generalized Markup Language [SGML] or Document Type Definition [DTD]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/30Creation or generation of source code
    • G06F8/38Creation or generation of source code for implementing user interfaces
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/61Installation

Definitions

  • the present invention relates to a method of developing a web portal, the web portal being implemented locally by a browser of a device.
  • Decoders are known in the field of telecommunications.
  • a set-top box is an electronic device, connected to a television, that converts audiovisual signals (sometimes coded and usually transmitted by coaxial cable, telephone line or satellite) in a form that allows them to be properly received and processed by the television. It is thus necessary to use a decoder to access channels or television programs that can only be available under certain conditions set by a broadcaster or a distributor.
  • the operation of the decoder is managed through a portal ("portai" in English), displayed at least in part on the television, and in particular allowing interaction with a user of the decoder.
  • a portal in English
  • the known portals of known decoders use web technology, which is a technology based on the use of hypertexts and hypermedia data (i.e., an extension of hypertext to multimedia data, to include links between textual, visual and sound elements).
  • Web technology allows the search for information in a tree structure, access to this information and its visualization, thanks to a web browser, that is to say software able to exploit hypertext and hypermedia resources. .
  • a known portal for a known decoder is thus like a website, where are stored data accessible by the web browser, and especially offering links between information and features.
  • the portal therefore consists of an entry point (a home page) and a set of modules that interact with each other and / or respond to external events.
  • a known portal is usually created using known Web programming languages, for example
  • HyperText Markup Language that is a text-based language, which allows the creation of hypertext documents that can be displayed by the Web browser
  • the Javascript language that is to say a scripting language (a script is a program consisting of a series of commands that dispense users from entering them, allowing them to perform a particular function or to contribute to the execution of another program)
  • the writing language is a scripting language (a script is a program consisting of a series of commands that dispense users from entering them, allowing them to perform a particular function or to contribute to the execution of another program), the writing language
  • Javascript is particularly intended for non-technical users, and allows to integrate pre-programmed instructions in the construction of a Web document; PHP (Hypertext Preprocessor);
  • CSS text files that contain a list of HTML markers, as well as the formatting associated with each, and that accurately define the font, size, color, and layout of the HTML markers. elements of a web page relative to each other ...
  • a bug fix in the portal can not be shared with other portals, and each bug in each portal must be fixed.
  • the invention proposes to mitigate at least one of these drawbacks by facilitating the development of portals.
  • a method of developing a web portal the web portal being implemented locally by a browser of a device, the method being characterized in that it comprises
  • a step of configuring the portal according to which an interface of a computer allows the selection and organization of a set of function modules and / or event management modules forming the web portal, a code stored on a server being associated with each of said modules;
  • a compilation step according to which a processor of the computer generates, from the set, a file of instructions that can be implemented by the browser;
  • an unloading step in which the processor unloads the instruction file and a group of codes associated with the modules on the device.
  • the processor generates the instruction file via the server comprising a PHP module, the file being in a web oriented object format using W3C technologies, preferably HTML, JavaScript, CSS, XML, XSLT or CGI; - each module is built under the same standard structure;
  • W3C technologies preferably HTML, JavaScript, CSS, XML, XSLT or CGI;
  • the instruction file includes instructions that the events are managed by a stack of event management modules or feature modules;
  • the method further comprises a step of testing the instruction file before the unloading step.
  • the invention also relates to a system implementing the method, and a corresponding computer program product.
  • the invention has many advantages.
  • the invention allows a broadcaster or a distributor to develop a portal for example for a decoder, without internally mounting a dedicated web development team, or outsource this web development.
  • the invention allows a total detachment of software aspects and Web programming languages, and therefore allows any user to create a portal without having knowledge of Web development.
  • the invention makes it possible in particular to quickly modify the content of a portal without the need for knowledge in web development.
  • the invention makes it possible to develop a portal from already built software bricks, which makes it possible to share feature developments, bug fixes, and add new features easily.
  • the invention makes it possible in particular to pool the development between developers, integrators, and validators, particularly with regard to the test pages.
  • the invention allows additions, deletions, and modifications of the constituent elements of a portal, dynamically, which allows for example to quickly test different options for features.
  • a portal developed by a method according to the invention does not require a PHP server to function.
  • FIG. 1 shows schematically a possible embodiment of a system according to the invention
  • FIG. 2 diagrammatically represents a possible implementation of a method according to the invention
  • FIG. 3 diagrammatically represents a possible structure of a database of a server of a system according to the invention
  • FIG. 4 diagrammatically represents a possible structure of a directory containing a source code for a portal
  • FIGS. 5 to 10 diagrammatically represent possible forms of an interface of a computer of a system according to the invention, for the development of a portal;
  • FIG. 1 schematically shows a step of generating an instruction file from a set of modules and codes
  • FIG. 1 represents schematically a possible event management on a device of a system according to the invention.
  • FIG. 13 diagrammatically represents a possible form of an interface of a computer of a system according to the invention, for the creation of a module
  • FIGS. 1 and 2 diagrammatically represent a possible method according to the invention implemented on a possible system according to the invention, the system comprising a device 1, a computer 2 and a server 3.
  • a possible method of developing a web portal is mainly
  • step S2 of compilation and a step S4 of unloading an instruction file and a group of codes on the device 1, the device comprising a browser using Web technology and can implement the instruction file and the code group.
  • the web portal is intended to be implemented locally by the web browser 1 of the device 1 when the device 1 is in normal operation.
  • the device 1 can be of any type, such as for example a set-top box (STB), a computer, a gateway (or gateway), an electricity meter, or any other system. embedded with a browser.
  • STB set-top box
  • computer a computer
  • gateway or gateway
  • electricity meter or any other system. embedded with a browser.
  • the device 1 thus comprises in particular an interface 12.
  • the interface 12 of the device 1 may comprise a screen and / or a series of lights and / or a key and / or a key and / or a remote control (comprising, for example, a keypad and / or colored keys, with the colors red, green, yellow and blue for example).
  • the device 1 is autonomous in the sense that it is not relié, in normal operation, to a remote server of the type of the server 3.
  • the device 1 is a decoder, it is, in normal operation, connected to a television and converts audiovisual signals (sometimes coded and transmitted usually by coaxial cable, telephone line or satellite) in a form allowing them to be properly received and processed by the television.
  • the server 3 of the system is equipped
  • a server 32 using Web technology, preferably http (HyperText Transfer Protocol),
  • the computer 2 conventionally comprises an interface 21 and a processor 22.
  • the processor 22 comprises all the conventional means of memory, communication and calculation for the implementation of the method according to the invention, and is therefore not repeated in detail in the remainder of this description.
  • the interface 21 comprises a screen and / or forms that can be displayed on the screen (and described in more detail later in this description) and / or a keyboard and / or a mouse and / or a device remote control 1.
  • step S1 the interface 21 of the computer 2 allows the selection and organization of a set E1 forming the web portal and constituted
  • modules 21 1 of functionality and / or
  • the set E1 corresponds to a skeleton of the desired Web portal on the device 1, and the modules 21 1 and 21 2 correspond to executable actions notably via the browser 1 1 of the device 1.
  • a module 21 1 of functionality is executed by the browser 11 when a start function ("start" function) is called by the browser 11. It is also possible to provide a module 21 1 to be executed via another module 21 1; in this case, the module calling the execution of the other module is a module of the "menu" type (like the main menu of the portal for example).
  • modules 21 1 are thus: information pages on the device 1 (display of the serial number, etc.), configuration pages of audio options, etc.
  • An event management module 212 is executed by the browser 1 1 when there is appearance of at least one given event.
  • the modules 212 are treated in more detail in the remainder of the present description, but it is specified here that an event is for example a pressure of a key on the remote control of the interface 12 of the device 1, the extraction of an electronic card of the device 1 or the arrival of a new signal at the device 1.
  • a module 212 is not accessible through the menu, such as sound volume management.
  • the data base 31 of the server 3 stores tables 321, 322, 323 and 324 shown in FIG. 3.
  • Each table 321, named for example scp_project, contains the global information for a given portal project.
  • the information can be entered by a user through forms of the interface 21, as described in the following description.
  • Each table 321 thus comprises
  • the table 321 can optionally include a module 212 in the project. It includes a line (eventModuleList) that contains the list of modules that are triggered only by events.
  • the table 321 can optionally include a module 21 1 in the project. It thus contains a capita (startingModuleld) allowing to specify the first module which will be launched at the execution of the portal, and which can also call other modules.
  • startingModuleld a member of the project.
  • the models are m od ul es which have additional functions compared to the other modules 21 1 or 212.
  • Each style is grouped in a table 323, for example called scp_template, which makes it possible to save the various information of the style, such as as its identifier (Id), its name (name), its path (path), as well as its parameters (param).
  • Each table 322, denominated for example scp_module, contains the information making it possible to create and configure the modules 21 1 or 212.
  • each module 21 1 or 212 has an identifier (moduleld) and a certain number of parameters.
  • Each module 21 1 or 21 2 is thus listed in the database 31 of data.
  • Each table 324 for example called scp_icons, makes it possible to simplify the use of the icons within the database 31, by associating with the path of the icon an identifier which can then be used in the parameters of modules 21 1 or 21 2. Icons are also linked to a style.
  • the base 31 further contains links to source codes 42 contained in files 420, each code 42 corresponding to a module 21 1 or 212.
  • each code 42 is copied into a specific directory 420 of the server 3.
  • the directory 420 is referred to by the name of the module 21 1 or 212.
  • the code 42 is copied as a source file of the module 21 1 or 212, in Javascript or HTML format.
  • Each code file 42 is denominated by the name of the module 21 1 or 212, preferably followed by the version number of the module, for example on three characters. The user can therefore select a particular version of the module 21 1 or 212 depending on the architecture of the device 1 (archi V1 or V2 archi for example).
  • the specific directory 420 may contain other directories for specific resources of the module (icons, images, sounds, etc.).
  • step S1 the user indicates an identifier of a portal project in the interface 21.
  • the interface 21 includes an HTML form known to those skilled in the art.
  • HTM formulas L use are functions HTM L con knues executed by the computer 2, such as the following function that retrieves a "window" type object.
  • UI_getNewWindo width, height, opacity
  • a window typically has three distinct areas:
  • An HTML function is also known for positioning the window in the interface 21.
  • top and left must be indicated in number of pixels or by using a string 'CENTER'.
  • the display and masking functions of a window are also known.
  • the options of the show function can be any association of values
  • the form of the interface 21 comprises in particular fields 101, 102, 103 and 104.
  • Field 101 is the current name of the portal.
  • the fields 102 make it possible to modify or to select
  • the fields 103 make it possible to configure the style to be applied, as for example:
  • Optity opacity of the menu
  • the field 104 "Save" allows a backup of the configurations.
  • the information entered in the fields 101 to 103 are therefore copied into the corresponding table 321 on the server 3.
  • the interface 21 allows the selection and organization of the set E1 of modules 21 1 or 212 forming the web portal.
  • the interface 21 comprises an HTML form of portal tree ("portai tree"), for example according to that shown in FIG. 6.
  • the form HTM L notably comprises fields 201 to 210.
  • Field 201 is the title of the form, presenting the portal tree as a table with columns.
  • the table thus shows a part E1 'of the set E1, said part E1' consisting of modules 21 1 of functionality desired by the user.
  • Column 202 corresponds to a number identifying each module 21 1 of functionality.
  • Column 203 deletes a module from the portal. This deletion is preferably final.
  • Column 205 shows the module type: "menu” or "-”. It is recalled that a module can not be executed via a module of the type "-”, but only via a module of the type "menu”. Column 206 shows the name of the module as it will appear in the portal ("Label").
  • Column 207 shows the name of the module in a library ("Library").
  • the library By selecting the field 209 in association with a module of the "menu" type, the library, containing in particular the models 21 1 of functionality available to the user, appears on the interface 21.
  • FIG. 7 An exemplary HTM L possible form of the interface 21 and representing the library, for the addition of a module 21 1 to a module of the "menu" type is shown in FIG. 7.
  • the form HTM L comprises fields 301 and 302.
  • the name 301 denominates the cell and the channels 302 represent the modules 21 1 or 21 2 available to the user, in the form of icons.
  • FIG. 7 makes it possible to add to the part E1 'a desired module 21 1 to said module of the "menu" type, by a click of the mouse on the icon of the desired module for example.
  • FIG. 21 An example of a possible HTML form of the interface 21 for adding a submenu to a menu, and displayed after the selection of the field 210, is shown in FIG.
  • the form HTM L notably comprises fields 303, 304 and 305.
  • Field 303 gives the name of the new submenu.
  • the fields 304 makes it possible to select an identifier number of associated icons.
  • Column 204 of the table of FIG. 6 makes it possible to edit and modify a submenu, FIG. 9 showing a possible form of interface 21, the form containing fields 306 and 307.
  • the form edited by selection in column 204 offers the same sub-menu modification possibilities as for a menu of the main menu tree (adding modules by the field 306 and deleting modules by the field 307).
  • the set E1 also includes modules 21 2 for event management.
  • FIG. 21 An example HTM form L possible of the interface 21 is shown in FIG.
  • the form represents a part E1 "of the set E1, the part E 1" grouping in tabular form modules 21 2 of event management.
  • This form is displayed for example by selecting the tab 40 of the interface 21, the selection being made by the mouse or by the blue key on the remote control of the interface 21.
  • the HTML form has fields 401 to 408.
  • Field 401 is the title of the form.
  • Column 403 deletes a module from the portal. This deletion is preferably final.
  • Column 404 shows the module name in the library.
  • the colon 406 shows the path in a code 42 in Javascript format for example and associated with the module 212.
  • the gate comprises only the module 21 2 "volume", which makes it possible to manage the pressing on the keys V + and V- (events 63235 and 6234).
  • the library containing in particular the management modules 21 2 available to the user, appears on the interface 21.
  • the interface 21 makes it possible to add to the set E1 a desired module 212 as described previously for a module 21 1.
  • the processor 22 of the computer 2 generates, from the set E1, a file E3 instructions that can be implemented by the browser 1 1.
  • a form of the interface 21 allows the user to indicate to the processor 2 the identifier of the portal for which the file E3 must be generated.
  • An exemplary code that can be provided for the HTML form of the interface 21 is for example:
  • the HTML form is defined with the ⁇ form> and ⁇ / form> tags.
  • the "action” attribute of the ⁇ form> tag is used to specify the page that will process the data provided in the form by the user: this is the "main” page.
  • the "method” attribute shows that the transmission method is the POST method, also known to those skilled in the art.
  • the processor 22 sends a request to the module 33 PHP, so that the latter executes the file "main. php "corresponding to the portal.
  • the distinction between different projects of portals is made for example by specifying in argument, in the name of the file, the identifier of the desired project.
  • the classic Javascripts files are loaded by the module 33.
  • Typical files are files containing, for example, constants, global objects and functions, event management functions, and translation files.
  • a possible instruction for this loading is for example:
  • a possible instruction for this loading is for example:
  • the PH P language is used by the module 33 of the server 3 to interpret the previous PH P code and generate code that can be interpreted by the browser 1 1, such as XHTML, HTML, CSS or JavaScript, here preferably HTML and Javascript.
  • portal parameters are converted into variables
  • g_portalLanguage ⁇ ? php echo '"'. $ defaultLanguage. '"'; ?>;
  • a table (g_iconTable) containing the paths to the icons is created by the module 33.
  • a possible instruction for this creation is for example:
  • Another table (gjnoduleTable), containing the Javascripts objects corresponding to the modules included in the portal through the set E1, is created by the module 33, and each module builder is called.
  • a possible instruction for this creation is for example:
  • the processor From the set E1, and files comprising the codes 42 Javascripts or HTML corresponding to the modules 21 1 and 212 of the set E1, the processor generates the file E3.
  • the E3 file contains only web-oriented object code, using known technologies W3C (for example HTML, JavaScript, CSS, XML, XSLT, CGI ).
  • W3C for example HTML, JavaScript, CSS, XML, XSLT, CGI .
  • the main file. php can be renamed main.html for example.
  • the group of codes 42 used by the portal is called E2.
  • step S4 the connection between the server 3 and the device 1 is broken, and the device 1 can take normal operation.
  • the link between the computer 2 and the server 3 can also be broken.
  • the browser 1 1 of the device 1 executes a function, for example named load_main () and contained in the main.js file, and which allows:
  • K is a release of a key from a computer keyboard or a decoder remote control for example.
  • keypress_eventHandler the keypress K events, whose entry point is a function for example called keypress_eventHandler ();
  • Event events that appeared and were detected by the browser whose entry point is the function named for example
  • EventHandlerQ The keypress event handler K created and / or the event handler called slow call the function for example named MainEventHandler ().
  • a possible instruction for this call is for example:
  • each event is converted into an object of type event_object, with several parameters in tabular form, during a step A.
  • the instruction file E3 in fact comprises instructions returning to the code 42, for example called event.js, instructions according to which the events are managed by a stack of event management modules 21 2 or modules 21 1 of features if they are active.
  • the event object is transmitted to the active module located on the top of a stack of modules.
  • the event object is taken into account by said module.
  • the mainEventHandler () function determines in D whether the event object is managed by the module.
  • the mainEventHandler () function determines in E whether this same event object should trigger one (or more) modules from a g_eventTable table. During a step F, in the case of several modules to be triggered, a parameter makes it possible to specify the associated priority.
  • the interface 21 includes an HTML form making it possible to add a new module to the library.
  • all the modules 211 or 212 have the same standard structure with, in particular:
  • FIG. 13 includes fields 501, 502, 503 and 504.
  • the fields 502 include mandatory fields, especially concerning the name, the name of the module as it will appear in the portal ("Label"), and the type of the module. Depending on the type of module selected, more or fewer additional options may appear.
  • the field 503 makes it possible to enter a description of the module, to the attention of the user.
  • the codes 42 of the modules are coded in HTML but very preferentially in Javascript, for example in the form
  • the computer 2 may be incorporated wholly or partly into the device 1.
  • the method may further include an optional step S3 of testing the instruction file E3 prior to the unloading step S4.
  • the test step S3 concerns the modules 21 1 and 212, available in the library shared by all the portal projects, so that the test step is used for the subsequent evolutions of the portal or for another portal as well.
  • the bug correction on the modules 21 1 or 212 is used for subsequent evolutions of the portal or for another portal as well.
  • the invention also relates to a computer program product comprising instructions which, when loaded onto a memory of a computer, allow the implementation of a method according to the invention.
  • the product can be on any computer support, such as a memory or a CD-Rom.

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Health & Medical Sciences (AREA)
  • Artificial Intelligence (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Computational Linguistics (AREA)
  • General Health & Medical Sciences (AREA)
  • Information Transfer Between Computers (AREA)
  • Stored Programmes (AREA)

Abstract

The present invention relates to a method for developing a Web portal, the Web portal being implemented locally by a browser (11) of a device (1), the method being characterized in that it comprises: a step of configuring the portal, according to which an interface (21) of a computer (2) enables the selection and organization of a set (E1) of functionality modules (211) and/or event-managing modules (212) forming the Web portal, a code (42) stored on a server (3) being associated with each of said modules (211, 212); a compiling step, according to which a processor (22) of the computer (2) generates, from the set (E1), a file (E3) of instructions that can be implemented by the browser (11); and a downloading step, according to which the processor (22) downloads the file (E3) of instructions and a group (E2) of codes (42) associated with the modules (211, 212) to the device (1). The invention further relates to a system for implementing the method and to a corresponding computer program product.

Description

Procédé de développement d'un portail Web, système de mise en œuvre et produit programme d'ordinateur correspondant  Method of developing a web portal, implementation system and corresponding computer program product
DOMAINE TECHNIQUE GENERAL GENERAL TECHNICAL FIELD
La présente invention concerne un procédé de développement d'un portail Web, le portail Web étant mis en œuvre localement par un navigateur d'un dispositif. The present invention relates to a method of developing a web portal, the web portal being implemented locally by a browser of a device.
Elle concerne également un système mettant en œuvre le procédé et un produit programme d'ordinateur correspondant.  It also relates to a system implementing the method and a corresponding computer program product.
ETAT DE L'ART STATE OF THE ART
On connaît des décodeurs dans le domaine des télécommunications.  Decoders are known in the field of telecommunications.
Un décodeur est un dispositif électronique, relié à un téléviseur, qui convertit des signaux audiovisuels (parfois codés et transmis habituellement par câble coaxial, par ligne téléphonique ou par satellite) sous une forme leur permettant d'être correctement reçus et traités par le téléviseur. Il est ainsi nécessaire d'utiliser un décodeur pour avoir accès à des chaînes ou à des programmes de télévision qu i ne peuvent être d ispon ibles qu'à certaines conditions fixées par un diffuseur ou un distributeur.  A set-top box is an electronic device, connected to a television, that converts audiovisual signals (sometimes coded and usually transmitted by coaxial cable, telephone line or satellite) in a form that allows them to be properly received and processed by the television. It is thus necessary to use a decoder to access channels or television programs that can only be available under certain conditions set by a broadcaster or a distributor.
En général, le fonctionnement du décodeur est géré grâce à un portail (« portai » en anglais), affiché au moins en partie sur le téléviseur, et permettant notamment une interaction avec un utilisateur du décodeur.  In general, the operation of the decoder is managed through a portal ("portai" in English), displayed at least in part on the television, and in particular allowing interaction with a user of the decoder.
Les portails connus des décodeurs connus utilisent la technologie Web, à savoir une technologie fondée sur l'utilisation des hypertextes et des données hypermédias (c'est-à-dire une extension de l'hypertexte à des données multimédias, permettant d'inclure des liens entre des éléments textuels, visuels et sonores).  The known portals of known decoders use web technology, which is a technology based on the use of hypertexts and hypermedia data (i.e., an extension of hypertext to multimedia data, to include links between textual, visual and sound elements).
La technologie Web permet notamment la recherche d'information dans une arborescence, l'accès à cette information et sa visualisation, grâce à u n navigateu r Web, c'est-à-d ire un logiciel capable d'exploiter les ressources hypertextes et hypermédias.  Web technology allows the search for information in a tree structure, access to this information and its visualization, thanks to a web browser, that is to say software able to exploit hypertext and hypermedia resources. .
Un portail connu pour un décodeur connu se présente ainsi comme un site Web, où sont stockées des données accessibles par le navigateur Web, et proposant notam ment d es l iens entre des i nformation s et d es fonctionnalités. A known portal for a known decoder is thus like a website, where are stored data accessible by the web browser, and especially offering links between information and features.
Le portail est donc constitué d'un point d'entrée (une page d'accueil) et d'un ensemble de modules qui interagissent entre eux et/ou répondent à des événements extérieurs.  The portal therefore consists of an entry point (a home page) and a set of modules that interact with each other and / or respond to external events.
Un portail connu est en général créé en utilisant des langages connus de programmation Web, comme par exemple  A known portal is usually created using known Web programming languages, for example
le langage HTML (HyperText Markup Language), c'est-à-dire un langage de bal isage de texte, qui permet la création de documents hypertextes affichables par le navigateur Web ; le langage Javascript, c'est-à-dire un langage de rédaction de script (un script est un programme constitué d'une suite de commandes dispensant les utilisateurs de les saisir, et permettant d'effectuer une fonction particulière ou de contribuer à l'exécution d'un autre programme), le langage de rédaction the HyperText Markup Language (HTML), that is a text-based language, which allows the creation of hypertext documents that can be displayed by the Web browser; the Javascript language, that is to say a scripting language (a script is a program consisting of a series of commands that dispense users from entering them, allowing them to perform a particular function or to contribute to the execution of another program), the writing language
Javascript étant notamment destiné aux utilisateurs non spécialistes, et permettant d'intégrer des instructions préprogrammées dans la construction d'un document Web ; le langage PHP (PHP Hypertext Preprocessor) ; Javascript is particularly intended for non-technical users, and allows to integrate pre-programmed instructions in the construction of a Web document; PHP (Hypertext Preprocessor);
- les feuilles de style en cascade (ou Cascading Style Sheets Cascading Style Sheets
(CSS)), c'est-à-dire des fichiers texte qui contiennent une liste de marqueurs HTML, ainsi que le formatage associé à chacun, et qui permettent de définir avec exactitude la police, la taille, la couleur et la disposition des éléments d'une page Web les uns par rapport aux autres... (CSS)), that is, text files that contain a list of HTML markers, as well as the formatting associated with each, and that accurately define the font, size, color, and layout of the HTML markers. elements of a web page relative to each other ...
En pratique, si un diffuseur ou un distributeur désire développer un portail pou r un décodeu r, il doit monter en interne u ne équ ipe déd iée de développement Web, ou externaliser le développement Web s'il ne possède pas ce type de connaissances ou s'il ne veut pas le développer en interne. In practice, if a broadcaster or a distributor wishes to develop a portal for a decoder, he must set up a dedicated Web development team internally, or outsource web development if he does not have this type of knowledge. if he does not want to develop it internally.
De plus, le développement d'une nouvelle fonctionnal ité par un développeur nécessite la création de pages de tests afin de vérifier le bon fonctionnement du portail. Une fois le développement effectué, l'intégrateur doit lui aussi créer une page de test et il en va de même pour la partie validation. Ainsi, chaque évolution ultérieure du portail nécessite une étape supplémentaire d'intégration et une étape supplémentaire de validation, qui ne sont pas toujours aisées et qui demandent par conséquent du temps. In addition, the development of a new feature by a developer requires the creation of test pages to verify the proper functioning of the portal. Once the development is completed, the integrator must also create a test page and the same goes for the validation part. Thus, each subsequent evolution of the portal requires an additional integration step and an additional validation step, which are not always easy and therefore require time.
De même, une correction de bogue dans le portail ne peut pas être partagée avec d'autres portails, et l'on doit apporter une correction à chaque bogue de chaque portail.  Likewise, a bug fix in the portal can not be shared with other portals, and each bug in each portal must be fixed.
PRESENTATION DE L'INVENTION PRESENTATION OF THE INVENTION
L'invention propose de pall ier au moins un de ces inconvén ients, en facilitant le développement de portails.  The invention proposes to mitigate at least one of these drawbacks by facilitating the development of portals.
A cet effet, on propose selon l'invention un procédé de développement d'un portail Web, le portail Web étant mis en œuvre localement par un navigateur d'un dispositif, le procédé étant caractérisé en ce qu'il comporte For this purpose, it is proposed according to the invention a method of developing a web portal, the web portal being implemented locally by a browser of a device, the method being characterized in that it comprises
- une étape de configuration du portail, selon laquelle une interface d'un ordinateur permet la sélection et l'organisation d'un ensemble de modules de fonctionnalité et/ou de modules de gestion d'événement formant le portail Web, un code stocké sur un serveur étant associé à chacun desdits modules ; a step of configuring the portal, according to which an interface of a computer allows the selection and organization of a set of function modules and / or event management modules forming the web portal, a code stored on a server being associated with each of said modules;
- une étape de compilation, selon laquelle un processeur de l'ordinateur génère, à partir de l'ensemble, un fichier d'instructions pouvant être mises en œuvre par le navigateur ; et  a compilation step, according to which a processor of the computer generates, from the set, a file of instructions that can be implemented by the browser; and
- une étape de déchargement, selon laquelle le processeur décharge le fichier d'instructions et un groupe de codes associés aux modules sur le dispositif.  an unloading step, in which the processor unloads the instruction file and a group of codes associated with the modules on the device.
L'invention est avantageusement complétée par les caractéristiques suivantes, prises seules ou en une quelconque de leur combinaison techniquement possible :  The invention is advantageously completed by the following features, taken alone or in any of their technically possible combination:
- la sélection des modules de fonctionnalité et/ou des modules de gestion d'événement s'effectue à partir d'une bibliothèque de modules ;  the selection of the function modules and / or the event management modules is done from a library of modules;
- le processeur génère le fichier d'instructions par l'intermédiaire du serveur comportant un module PHP, le fichier étant en format d'objet orienté web utilisant des technologies W3C, préférentiellement HTML, JavaScript, CSS, XML, XSLT ou CGI ; - chaque module est construit sous une même structure standard ; the processor generates the instruction file via the server comprising a PHP module, the file being in a web oriented object format using W3C technologies, preferably HTML, JavaScript, CSS, XML, XSLT or CGI; - each module is built under the same standard structure;
- le fichier d'instructions comporte des instructions selon lesquelles les événements sont gérés par une pile de modules de gestion d'événement ou de modules de fonctionnalités ; et  the instruction file includes instructions that the events are managed by a stack of event management modules or feature modules; and
- le procédé comporte de plus une étape de test du fichier d'instructions avant l'étape de déchargement. the method further comprises a step of testing the instruction file before the unloading step.
L'invention concerne également un système mettant en œuvre le procédé, et un produit programme d'ordinateur correspondant.  The invention also relates to a system implementing the method, and a corresponding computer program product.
L'invention présente de nombreux avantages.  The invention has many advantages.
Elle permet à un diffuseur ou à un distributeur de développer un portail par exemple pour un décodeur, sans monter en interne une équipe dédiée de développement Web, ni externaliser ce développement Web. L'invention permet en effet un détachement total des aspects logiciels et des langages de programmation Web, et permet donc à tout utilisateur de créer un portail, sans avoir de connaissances en développement Web. L'invention permet notamment de modifier rapidement le contenu d'un portail sans nécessité de connaissances en développement web.  It allows a broadcaster or a distributor to develop a portal for example for a decoder, without internally mounting a dedicated web development team, or outsource this web development. The invention allows a total detachment of software aspects and Web programming languages, and therefore allows any user to create a portal without having knowledge of Web development. The invention makes it possible in particular to quickly modify the content of a portal without the need for knowledge in web development.
L'invention permet de développer un portail à partir de briques logicielles déjà construites, ce qui permet de mutualiser les développements de fonctionnalités, les corrections de bogues, et d'ajouter de nouvelles fonctionnalités facilement.  The invention makes it possible to develop a portal from already built software bricks, which makes it possible to share feature developments, bug fixes, and add new features easily.
L'invention permet notamment de mutualiser le développement entre développeurs, intégrateurs, et valideurs, notamment en ce qui concerne les pages de tests.  The invention makes it possible in particular to pool the development between developers, integrators, and validators, particularly with regard to the test pages.
L'invention permet des ajouts, des suppressions, et des modifications des éléments constitutifs d'un portail, de manière dynamique, ce qui permet par exemple de tester rapidement des options d ifférentes pour des fonctionnalités.  The invention allows additions, deletions, and modifications of the constituent elements of a portal, dynamically, which allows for example to quickly test different options for features.
Un portail développé par un procédé selon l'invention ne nécessite pas de serveur PHP pour fonctionner.  A portal developed by a method according to the invention does not require a PHP server to function.
Il présente également des gains en performance d'affichage. PRESENTATION DES FIGURES It also shows gains in display performance. PRESENTATION OF FIGURES
D'autres caractéristiques, buts et avantages de l'invention ressortiront de la description qui suit, qui est purement illustrative et non limitative, et qui doit être lue en regard des dessins annexés sur lesquels :  Other features, objects and advantages of the invention will emerge from the description which follows, which is purely illustrative and nonlimiting, and which should be read with reference to the appended drawings in which:
- la figure 1 représente schématiquement un mode de réalisation possible d'un système selon l'invention ;  - Figure 1 shows schematically a possible embodiment of a system according to the invention;
- la figure 2 représente schématiquement une mise en œuvre possible d'un procédé selon l'invention ;  FIG. 2 diagrammatically represents a possible implementation of a method according to the invention;
- la figure 3 représente schématiquement une structure possible d'une base de données d'un serveur d'un système selon l'invention ; FIG. 3 diagrammatically represents a possible structure of a database of a server of a system according to the invention;
- la figure 4 représente schématiquement une structure possible d'un répertoire contenant un code source pour un portail ;  FIG. 4 diagrammatically represents a possible structure of a directory containing a source code for a portal;
- les figures 5 à 10 représentent schématiquement des formulaires possibles d'une interface d'un ordinateur d'un système selon l'invention, pour le développement d'un portail ;  FIGS. 5 to 10 diagrammatically represent possible forms of an interface of a computer of a system according to the invention, for the development of a portal;
- la figure 1 1 représente schématiquement une étape de génération d'un fichier d'instructions à partir d'un ensemble de modules et de codes ;  - Figure 1 1 schematically shows a step of generating an instruction file from a set of modules and codes;
- la fig u re 1 2 représente schématiq uement u ne gestion possi bl e d'événement sur un dispositif d'un système selon l'invention ; et  FIG. 1 represents schematically a possible event management on a device of a system according to the invention; and
- la figure 13 représente schématiquement un formulaire possible d'une interface d'un ordinateur d'un système selon l'invention, pour la création d'un module ;  FIG. 13 diagrammatically represents a possible form of an interface of a computer of a system according to the invention, for the creation of a module;
Sur l'ensemble des figures, les éléments similaires portent des références numériques identiques.  In all the figures, similar elements bear identical reference numerals.
DESCRIPTION DETAILLEE  DETAILED DESCRIPTION
Les figures 1 et 2 représentent schématiquement un procédé possible selon l'invention mis en œuvre sur un système possible selon l'invention , le système comportant un dispositif 1 , un ordinateur 2 et un serveur 3.  FIGS. 1 and 2 diagrammatically represent a possible method according to the invention implemented on a possible system according to the invention, the system comprising a device 1, a computer 2 and a server 3.
Un procédé possible de développement d'un portail Web comporte principalement  A possible method of developing a web portal is mainly
une étape S1 de configuration du portail,  a step S1 of configuration of the portal,
une étape S2 de compilation, et une étape S4 de déchargement d'un fichier d'instructions et d'un groupe de codes sur le dispositif 1 , le dispositif comportant un navigateur utilisant la technologie Web et pouvant mettre en œuvre le fichier d'instructions et le groupe de codes. En effet, le portail Web est destiné à être mis en œuvre localement par le navigateu r 1 1 Web du d ispositif 1 lorsq ue le d ispositif 1 est en fonctionnement normal. a step S2 of compilation, and a step S4 of unloading an instruction file and a group of codes on the device 1, the device comprising a browser using Web technology and can implement the instruction file and the code group. Indeed, the web portal is intended to be implemented locally by the web browser 1 of the device 1 when the device 1 is in normal operation.
Le dispositif 1 peut être de tout type, comme par exemple un décodeur (« set top box » (STB) en anglais), un ord inateur, une passerelle (ou « gateway » en anglais), un compteur électrique, ou tout autre système embarqué possédant un navigateur.  The device 1 can be of any type, such as for example a set-top box (STB), a computer, a gateway (or gateway), an electricity meter, or any other system. embedded with a browser.
Le dispositif 1 comporte ainsi notamment une interface 12.  The device 1 thus comprises in particular an interface 12.
L'interface 12 du dispositif 1 peut comprendre un écran et/ou une série de voyants l u m i neux et/ou u n cl avier et/ou u ne sou ris et/ou u ne télécommande (comportant par exemple un pavé numérique et/ou des touches colorées, avec les couleurs rouge, vert, jaune et bleu par exemple).  The interface 12 of the device 1 may comprise a screen and / or a series of lights and / or a key and / or a key and / or a remote control (comprising, for example, a keypad and / or colored keys, with the colors red, green, yellow and blue for example).
Le d ispositif 1 est autonome en ce sens qu'il n'est pas rel ié, en fonctionnement normal, à un serveur distant du type du serveur 3. Par exemple lorsque le dispositif 1 est un décodeur, il est, en fonctionnement normal, relié à un téléviseur et convertit des signaux audiovisuels (parfois codés et transmis habituellement par câble coaxial, par ligne téléphonique ou par satellite) sous une forme leur permettant d'être correctement reçus et traités par le téléviseur.  The device 1 is autonomous in the sense that it is not relié, in normal operation, to a remote server of the type of the server 3. For example when the device 1 is a decoder, it is, in normal operation, connected to a television and converts audiovisual signals (sometimes coded and transmitted usually by coaxial cable, telephone line or satellite) in a form allowing them to be properly received and processed by the television.
Le serveur 3 du système est équipé  The server 3 of the system is equipped
- d'un serveur 32, utilisant la technologie Web, de préférence http (HyperText Transfer Protocol),  a server 32, using Web technology, preferably http (HyperText Transfer Protocol),
d'un module 33 PHP (PHP : Hypertext Preprocessor), ainsi que d'une base 31 de données (du type « MySQL » par exemple). L'ordinateur 2 comporte classiq uement u ne interface 21 et u n processeur 22.  a PHP module (PHP: Hypertext Preprocessor), as well as a database 31 (of the "MySQL" type for example). The computer 2 conventionally comprises an interface 21 and a processor 22.
Le processeur 22 comporte tous les moyens classiques de mémoire, de communication et de calcul pour la mise en œuvre du procédé selon l'invention, et n'est donc pas repris en détail dans la suite de la présente description. The processor 22 comprises all the conventional means of memory, communication and calculation for the implementation of the method according to the invention, and is therefore not repeated in detail in the remainder of this description.
L'interface 21 comporte un écran et/ou des formulaires pouvant être affichés sur l'écran (et décrits plus en détail dans la suite de la présente description) et/ou un clavier et/ou une souris et/ou une télécommande de dispositif 1 .  The interface 21 comprises a screen and / or forms that can be displayed on the screen (and described in more detail later in this description) and / or a keyboard and / or a mouse and / or a device remote control 1.
Lors de l'étape S1 , l'interface 21 de l'ordinateur 2 permet la sélection et l'organisation d'un ensemble E1 formant le portail Web et constitué During step S1, the interface 21 of the computer 2 allows the selection and organization of a set E1 forming the web portal and constituted
- de modules 21 1 de fonctionnalité, et/ou  modules 21 1 of functionality, and / or
de modules 212 de gestion d'événement  212 event management modules
souhaités par un utilisateur pour le portail. desired by a user for the portal.
L'ensemble E1 correspond à un squelette du portail Web souhaité sur le dispositif 1 , et les modules 21 1 et 21 2 correspondent à des actions exécutables notamment via le navigateur 1 1 du dispositif 1 .  The set E1 corresponds to a skeleton of the desired Web portal on the device 1, and the modules 21 1 and 21 2 correspond to executable actions notably via the browser 1 1 of the device 1.
On explicite ici la différence entre un module 21 1 et un module 212. Un module 21 1 de fonctionnalité est exécuté par le navigateur 1 1 lorsqu'une fonction de démarrage (fonction « start » en anglais) est appelée par le navigateur 1 1 . On peut également prévoir qu'un module 21 1 soit exécuté via un autre module 21 1 ; dans ce cas, le module appelant l'exécution de l'autre module est un module du type « menu » (comme le menu principal du portail par exemple).  Here, the difference between a module 21 1 and a module 212 is explained. A module 21 1 of functionality is executed by the browser 11 when a start function ("start" function) is called by the browser 11. It is also possible to provide a module 21 1 to be executed via another module 21 1; in this case, the module calling the execution of the other module is a module of the "menu" type (like the main menu of the portal for example).
Des exemples non limitatifs de modules 21 1 sont ainsi : des pages d'information sur le dispositif 1 (affichage du numéro de série, ...), des pages de configuration d'options audio, ...  Non-limiting examples of modules 21 1 are thus: information pages on the device 1 (display of the serial number, etc.), configuration pages of audio options, etc.
Un module 212 de gestion d'événement est exécuté par le navigateur 1 1 lorsqu'il y a apparition d'au moins un événement donné. Les modules 212 sont traités plus en détail dans la suite de la présente description, mais on précise ici qu'un événement est par exemple une pression d'une touche sur la télécommande de l'interface 12 du dispositif 1 , l'extraction d'une carte électronique du dispositif 1 ou l'arrivé d'un nouveau signal au niveau du dispositif 1 . Un module 212 est non accessible par le menu, comme la gestion du volume sonore par exemple. En l ien avec les modules 21 1 et 21 2, la base 31 de données du serveur 3 stocke des tables 321 , 322, 323 et 324 représentées sur la figure 3. An event management module 212 is executed by the browser 1 1 when there is appearance of at least one given event. The modules 212 are treated in more detail in the remainder of the present description, but it is specified here that an event is for example a pressure of a key on the remote control of the interface 12 of the device 1, the extraction of an electronic card of the device 1 or the arrival of a new signal at the device 1. A module 212 is not accessible through the menu, such as sound volume management. In line with the modules 21 1 and 21 2, the data base 31 of the server 3 stores tables 321, 322, 323 and 324 shown in FIG. 3.
Chaque table 321 , dénommée par exemple scp_project, contient les informations globales pour un projet de portail donné.  Each table 321, named for example scp_project, contains the global information for a given portal project.
Certaines des informations ne sont pas paramétrables et ont donc un usage exclusivement interne, alors que d'autres permettent de paramétrer chaque projet de portail.  Some of the information is not configurable and therefore has an exclusively internal use, while others allow to configure each portal project.
Les informations peuvent être saisies par un utilisateur grâce à des formulaires de l'interface 21 , comme décrit dans la suite de la présente description.  The information can be entered by a user through forms of the interface 21, as described in the following description.
Chaque table 321 comporte ainsi  Each table 321 thus comprises
un identifiant du projet (projectld)  a project identifier (projectld)
un nom du projet (projectName)  a project name (projectName)
- une version du portail (portalVersion)  - a portal version (portalVersion)
une langue du portail (defaultLanguage).  a portal language (defaultLanguage).
La table 321 permet d'inclure éventuellement un module 212 dans le projet. Elle comporte ainsi une ligne (eventModuleList) qui contient la liste des modules qui ne sont déclenchés que par des événements.  The table 321 can optionally include a module 212 in the project. It includes a line (eventModuleList) that contains the list of modules that are triggered only by events.
La table 321 permet d'inclure éventuellement un module 21 1 dans le projet. Elle comporte ainsi une l igne (startingModuleld) permettant de spécifier le premier module qui sera lancé à l'exécution du portail, et qui pourra également appeler d'autres modules.  The table 321 can optionally include a module 21 1 in the project. It thus contains a ligne (startingModuleld) allowing to specify the first module which will be launched at the execution of the portal, and which can also call other modules.
Elle contient aussi une ligne (templateld) permettant d'indiquer quel style d'interface (template en anglais) est utilisé par le projet.  It also contains a line (templateld) to indicate which interface style (template in English) is used by the project.
Les styl es so n t d es m od u l es q u i possèdent des fonctions supplémentaires par rapport aux autres modules 21 1 ou 212. Chaque style est regroupé dans une table 323, par exemple dénommée scp_template, qui permet de sauvegarder les différentes informations du style, tel que son identifiant (Id), son nom (name), son chemin d'accès (path), ainsi que ses paramètres (param).  The models are m od ul es which have additional functions compared to the other modules 21 1 or 212. Each style is grouped in a table 323, for example called scp_template, which makes it possible to save the various information of the style, such as as its identifier (Id), its name (name), its path (path), as well as its parameters (param).
Chaque table 322, dénommée par exemple scp_module, contient les informations permettant de créer et configurer les modules 21 1 ou 212. Comme on l'expliquera plus en détail dans la suite, chaque module 21 1 ou 212 possède un identifiant (moduleld) et un certain nombre de paramètres. Chaque module 21 1 ou 21 2 est ainsi répertorié dans la base 31 de données. Each table 322, denominated for example scp_module, contains the information making it possible to create and configure the modules 21 1 or 212. As will be explained in more detail below, each module 21 1 or 212 has an identifier (moduleld) and a certain number of parameters. Each module 21 1 or 21 2 is thus listed in the database 31 of data.
Chaque table 324, par exemple dénommée scp_icons, permet de simplifier l'util isation des icônes au sein de la base de donnée 31 , en associant au chemin d'accès de l'icône un identifiant qui pourra être ensuite util isé dans les paramètres de modules 21 1 ou 21 2. Les icônes sont également liées à un style.  Each table 324, for example called scp_icons, makes it possible to simplify the use of the icons within the database 31, by associating with the path of the icon an identifier which can then be used in the parameters of modules 21 1 or 21 2. Icons are also linked to a style.
La base 31 contient de plus des liens vers des codes 42 sources, contenus dans des fichiers 420, chaque code 42 correspondant à un module 21 1 ou 212.  The base 31 further contains links to source codes 42 contained in files 420, each code 42 corresponding to a module 21 1 or 212.
A cet effet, comme le montre la figure 4, chaque code 42 est copié dans un répertoire 420 spécifique du serveur 3. Le répertoire 420 est dénommé par le nom du module 21 1 ou 212.  For this purpose, as shown in Figure 4, each code 42 is copied into a specific directory 420 of the server 3. The directory 420 is referred to by the name of the module 21 1 or 212.
Le code 42 est copié sous la forme d'un fichier source du module 21 1 ou 212, au format Javascript ou HTML.  The code 42 is copied as a source file of the module 21 1 or 212, in Javascript or HTML format.
Chaque fichier de code 42 est dénommé par le nom du module 21 1 ou 212, préférentiellement suivi du numéro de version du module, par exemple sur trois caractères. L'util isateur peut donc sélectionner une version particulière du module 21 1 ou 212 en fonction de l'architecture du dispositif 1 (archi V1 ou archi V2 par exemple). Bien entendu, le répertoire spécifique 420 peut contenir d'autres répertoires, pour des ressources 41 spécifiques du module (icônes, images, sons, etc.).  Each code file 42 is denominated by the name of the module 21 1 or 212, preferably followed by the version number of the module, for example on three characters. The user can therefore select a particular version of the module 21 1 or 212 depending on the architecture of the device 1 (archi V1 or V2 archi for example). Of course, the specific directory 420 may contain other directories for specific resources of the module (icons, images, sounds, etc.).
On donne ci-après un exemple possible de mise en œuvre de l'étape We give below a possible example of implementation of the stage
S1 . S1.
Lors de l'étape S1 , l'utilisateur indique un identifiant d'un projet de portail dans l'interface 21 .  In step S1, the user indicates an identifier of a portal project in the interface 21.
A cet effet, l'interface 21 comporte un formulaire HTML connu de l'homme du métier.  For this purpose, the interface 21 includes an HTML form known to those skilled in the art.
Les formu la i res HTM L util isent des fonctions con n ues HTM L exécutées par l'ordinateur 2, comme par exemple la fonction suivante qui permet de récupérer un objet de type « fenêtre ». UI_getNewWindo (width, height, opacity) The HTM formulas L use are functions HTM L con knues executed by the computer 2, such as the following function that retrieves a "window" type object. UI_getNewWindo (width, height, opacity)
Classiquement une fenêtre comporte trois zones distinctes :  A window typically has three distinct areas:
une zone de titre,  a title area,
un contenu, et  content, and
un pied de page.  a footer.
Les fonctions HTML ci-dessous permettent de compléter chacune de ces zones. The HTML functions below are used to complete each of these areas.
indo .updateTitle (title) ;  indo .updateTitle (title);
window. updateContent (content)window. updateContent (content)
indow. updateFooter ( footer) ;  indow. updateFooter (footer);
On connaît également une fonction HTML permettant de positionner la fenêtre dans l'interface 21 .  An HTML function is also known for positioning the window in the interface 21.
windo . setPosition (top, left) windo. setPosition (top, left)
Les valeurs « top » et « left » doivent être indiquées en nombre de pixels ou bien en utilisant une chaîne de caractères 'CENTER'.  The values "top" and "left" must be indicated in number of pixels or by using a string 'CENTER'.
On connaît également les fonctions d'affichage et de masquage d'une fenêtre.  The display and masking functions of a window are also known.
window. show (options) ; window. show (options);
window . hide ( ) ; window. hide ();
Les options de la fonction show peut être toute association des valeurs The options of the show function can be any association of values
'TITLE', 'CONTENT', et 'FOOTER', séparées par le caractère '|'. 'TITLE', 'CONTENT', and 'FOOTER', separated by the character '|'.
Un exemple de formulaire HTML permettant à l'utilisateur d'indiquer un identifiant d'un projet de portail est représenté sur la figure 5.  An example of an HTML form that allows the user to specify an identifier for a portal project is shown in Figure 5.
Le formulaire de l'interface 21 comporte notamment des champs 101 , 102, 103 et 104.  The form of the interface 21 comprises in particular fields 101, 102, 103 and 104.
Le champ 101 est le nom courant du portail.  Field 101 is the current name of the portal.
Les champs 102 permettent de modifier ou de sélectionner  The fields 102 make it possible to modify or to select
le nom du portail (« Portai name »),  the name of the portal ("Portai name"),
le numéro de version du portail (« Portai version number »), - un module (« Live module ») exécuté au démarrage du portail the version number of the portal ("Portai version number"), - a module ("Live module") executed at the start of the portal
(champ non renseigné sur la figure 5), ainsi que (field not shown in Figure 5), as well as
le style du module (« Template module ») à appliquer. Les champs 103 permettent de configurer le style à appliquer, comme par exemple : the style of the module ("Template module") to apply. The fields 103 make it possible to configure the style to be applied, as for example:
la taille du menu (« Menu size »),  the size of the menu ("Menu size"),
l'opacité du menu (« Opacity »), ainsi que  opacity of the menu ("Opacity"), as well as
- la couleur (« color ») utilisée.  - the color ("color") used.
Le champ 104 « Save » permet une sauvegarde des configurations. Les informations saisies dans les champs 101 à 103 sont donc copiées dans la table 321 correspondante sur le serveur 3.  The field 104 "Save" allows a backup of the configurations. The information entered in the fields 101 to 103 are therefore copied into the corresponding table 321 on the server 3.
Toujours lors de l'étape S1 , l'interface 21 permet la sélection et l'organisation de l'ensemble E1 de modules 21 1 ou 212 formant le portail Web.  Still during step S1, the interface 21 allows the selection and organization of the set E1 of modules 21 1 or 212 forming the web portal.
A cet effet, l'interface 21 comporte un formulaire HTML d'arborescence du portail (« portai tree »), par exemple conforme à celui représenté sur la figure 6.  For this purpose, the interface 21 comprises an HTML form of portal tree ("portai tree"), for example according to that shown in FIG. 6.
II est possible à l'utilisateur d'obtenir l'affichage du formulaire de l'arborescence du menu principal du portail, notamment en sélectionnant un onglet 20 (sélection par la souris de l'interface 21 ou par pression sur la touche jaune sur la télécommande de l'interface 21 par exemple).  It is possible for the user to obtain the display of the form of the tree of the main menu of the portal, in particular by selecting a tab 20 (selection by the mouse of the interface 21 or by pressing the yellow key on the remote control of the interface 21 for example).
Comme on peut le constater sur la figure 6, le formulaire HTM L comporte notamment des champs 201 à 210.  As can be seen in FIG. 6, the form HTM L notably comprises fields 201 to 210.
Le champ 201 est le titre du formulaire, présentant l'arborescence du portail sous forme de tableau comportant des colonnes.  Field 201 is the title of the form, presenting the portal tree as a table with columns.
Le tableau montre donc une partie E1 ' de l'ensemble E1 , ladite partie E1 ' étant constituée de modules 21 1 de fonctionnal ité souhaités par l'utilisateur.  The table thus shows a part E1 'of the set E1, said part E1' consisting of modules 21 1 of functionality desired by the user.
La colonne 202 correspond à un numéro identifiant chaque module 21 1 de fonctionnalité.  Column 202 corresponds to a number identifying each module 21 1 of functionality.
La colonne 203 permet de supprimer un module du portail . Cette suppression est préférentiellement définitive.  Column 203 deletes a module from the portal. This deletion is preferably final.
La colonne 205 montre le type de module : « menu » ou « - » . On rappelle qu'un module ne peut pas être exécuté via un module du type « - », mais uniquement via un module du type « menu ». La colonne 206 montre le nom du module tel qu'il apparaîtra dans le portail (« Label »). Column 205 shows the module type: "menu" or "-". It is recalled that a module can not be executed via a module of the type "-", but only via a module of the type "menu". Column 206 shows the name of the module as it will appear in the portal ("Label").
La colonne 207 montre le nom du module dans une bibliothèque (« Library »).  Column 207 shows the name of the module in a library ("Library").
La colonne 208 permet de modifier la position d'un module dans l'arborescence du portail.  Column 208 makes it possible to modify the position of a module in the portal tree.
En sélectionnant le champ 209 en association avec un module du type « menu », la bibliothèque, contenant notamment les mod u les 21 1 de fonctionnalité disponibles pour l'utilisateur, apparaît sur l'interface 21 .  By selecting the field 209 in association with a module of the "menu" type, the library, containing in particular the models 21 1 of functionality available to the user, appears on the interface 21.
U n exemple de form ula ire HTM L possible de l ' interface 21 et représentant la bibliothèque, pour l'ajout d'un module 21 1 à un module du type « menu » est représenté sur la figure 7.  An exemplary HTM L possible form of the interface 21 and representing the library, for the addition of a module 21 1 to a module of the "menu" type is shown in FIG. 7.
Comme on peut le constater sur la figure 7, le formulaire HTM L comporte des champs 301 et 302.  As can be seen in FIG. 7, the form HTM L comprises fields 301 and 302.
Le ch am p 301 dénom me l a b i bl ioth èq u e et les cha m ps 302 représentent les modules 21 1 ou 21 2 disponibles pour l'utilisateur, sous forme d'icônes.  The name 301 denominates the cell and the channels 302 represent the modules 21 1 or 21 2 available to the user, in the form of icons.
Le formulaire de la figure 7 permet d'ajouter à la partie E1 ' un module 21 1 souhaité audit module du type « menu », par clic de souris sur l'icône du module souhaité par exemple.  The form of FIG. 7 makes it possible to add to the part E1 'a desired module 21 1 to said module of the "menu" type, by a click of the mouse on the icon of the desired module for example.
Par ailleurs, en sélectionnant le champ 210 sur le formulaire de la figure 6, il est possible d'ajouter un module de type « menu » à un autre module de type « menu », pour ajouter un « sous-menu » d a n s l'arborescence du portail.  Moreover, by selecting the field 210 on the form of FIG. 6, it is possible to add a module of the "menu" type to another module of "menu" type, to add a "submenu" in the portal tree.
Un exemple de formulaire HTML possible de l'interface 21 pour l'ajout d'un sous-menu à un menu, et s'affichant après la sélection du champ 210, est représenté sur la figure 8.  An example of a possible HTML form of the interface 21 for adding a submenu to a menu, and displayed after the selection of the field 210, is shown in FIG.
Comme on peut le constater sur la figure 8, le formulaire HTM L comporte notamment des champs 303, 304 et 305.  As can be seen in FIG. 8, the form HTM L notably comprises fields 303, 304 and 305.
Le champ 305 donne le titre courant du nouveau sous-menu.  Field 305 gives the current title of the new submenu.
Le champ 303 donne le nom du nouveau sous-menu.  Field 303 gives the name of the new submenu.
Les champs 304 permet de sélectionner un numéro d'identifiant d'icônes associées. La colonne 204 du tableau de la figure 6 permet d'éditer et de modifier un sous-menu, la figure 9 montrant un formulaire possible de l'interface 21 , le formulaire contenant des champs 306 et 307. The fields 304 makes it possible to select an identifier number of associated icons. Column 204 of the table of FIG. 6 makes it possible to edit and modify a submenu, FIG. 9 showing a possible form of interface 21, the form containing fields 306 and 307.
Comme le montre la figure 9, le formulaire édité par sélection de la colonne 204 offre les mêmes possibilités de modifications du sous-menu que pour un menu de l'arborescence du menu principal (ajout de modules par le champ 306 et suppression de modules par le champ 307).  As shown in FIG. 9, the form edited by selection in column 204 offers the same sub-menu modification possibilities as for a menu of the main menu tree (adding modules by the field 306 and deleting modules by the field 307).
L'ensemble E1 comporte également des modules 21 2 de gestion d'événement.  The set E1 also includes modules 21 2 for event management.
Un exemple de formulaire HTM L possible de l 'interface 21 est représenté sur la figure 10.  An example HTM form L possible of the interface 21 is shown in FIG.
Le formulaire représente une partie E1 " de l'ensemble E1 , la partie E 1 " regroupant sous forme de tableau des modules 21 2 de gestion d'événement.  The form represents a part E1 "of the set E1, the part E 1" grouping in tabular form modules 21 2 of event management.
Ce formulaire s'affiche par exemple en sélectionnant l'onglet 40 de l'interface 21 , la sélection s'effectuant par la souris ou par la touche bleue sur la télécommande de l'interface 21 .  This form is displayed for example by selecting the tab 40 of the interface 21, the selection being made by the mouse or by the blue key on the remote control of the interface 21.
Comme on peut le constater sur la figure 1 0, le formulaire HTML comporte des champs 401 à 408.  As can be seen in Figure 1 0, the HTML form has fields 401 to 408.
Le champ 401 est le titre du formulaire.  Field 401 is the title of the form.
La colonne 402 correspond à un numéro identifiant chaque module Column 402 corresponds to a number identifying each module
212. 212.
La colonne 403 permet de supprimer un module du portail . Cette suppression est préférentiellement définitive.  Column 403 deletes a module from the portal. This deletion is preferably final.
La colonne 404 montre le nom du module dans la bibliothèque.  Column 404 shows the module name in the library.
La colonne 405 montre le nom du module tel qu'il apparaîtra dans le portail (« Label »).  Column 405 shows the name of the module as it will appear in the portal ("Label").
La colon ne 406 montre le chem in vers u n code 42 au format Javascript par exemple et associé au module 212.  The colon 406 shows the path in a code 42 in Javascript format for example and associated with the module 212.
La colonne 407 montre les événements gérés par le module 21 2. Column 407 shows the events handled by module 21 2.
Dans l'exemple de la figure 10, le portail ne comporte que le module 21 2 « volume », qui permet de gérer l'appui sur les touches V+ et V- (évènements 63235 et 6234). En sélectionnant le champ 408, la bibliothèque, contenant notamment les modules 21 2 de gestion disponibles pour l'utilisateur, apparaît sur l'interface 21 . L'interface 21 permet d'ajouter à l'ensemble E1 un module 212 souhaité comme décrit précédemment pour un module 21 1 . In the example of FIG. 10, the gate comprises only the module 21 2 "volume", which makes it possible to manage the pressing on the keys V + and V- (events 63235 and 6234). By selecting the field 408, the library, containing in particular the management modules 21 2 available to the user, appears on the interface 21. The interface 21 makes it possible to add to the set E1 a desired module 212 as described previously for a module 21 1.
Lors de la sélection d'un module 21 1 ou 212 dans la bibliothèque de la figure 7, le nom du module 21 1 ou 212 correspondant est copié dans la table 321 correspondant au projet sur le serveur 3.  When selecting a module 21 1 or 212 in the library of Figure 7, the name of the module 21 1 or 212 corresponding is copied to the table 321 corresponding to the project on the server 3.
Une fois que l'utilisateur estime que l'ensemble E1 , constitué des parties E1 ' et E1 " et regroupant les modules 21 1 et 21 2 est complet, il indique au processeur, grâce à l'interface 21 , que tel est le cas. Il peut le faire par exemple grâce à un message sur l'interface 21 .  Once the user estimates that the set E1, consisting of parts E1 'and E1 "and grouping the modules 21 1 and 21 2 is complete, it indicates to the processor, through the interface 21, that this is the case It can do this for example through a message on the interface 21.
Lors de l'étape S2 de compilation, le processeur 22 de l'ordinateur 2 génère, à partir de l'ensemble E1 , un fichier E3 d'instructions pouvant être mises en œuvre par le navigateur 1 1 .  During the step S2 of compilation, the processor 22 of the computer 2 generates, from the set E1, a file E3 instructions that can be implemented by the browser 1 1.
A cet effet, un formulaire de l'interface 21 permet à l'util isateur d'indiquer au processeur 2 l'identifiant du portail pour lequel le fichier E3 doit être généré.  For this purpose, a form of the interface 21 allows the user to indicate to the processor 2 the identifier of the portal for which the file E3 must be generated.
Un exemple de code pouvant être prévu pour le formulaire HTML de l'interface 21 est par exemple:  An exemplary code that can be provided for the HTML form of the interface 21 is for example:
<form name="generatePortal" action="main.php" method="post"> <form name = "generatePortal" action = "main.php" method = "post">
<input type="hidden" name="projectld" id="projectld_generate" value="13"/> <input type = "hidden" name = "projectld" id = "projectld_generate" value = "13" />
</form>  </ Form>
De manière classique, le formulaire HTML est ainsi défini avec les balises <form> et </form>. L'attribut "action" de la balise <form> permet de spécifier la page qui traitera les données fournies dans le formulaire par l'utilisateur : il s'agit ici de la page « main ». L'attribut "method" montre que la méthode de transmission est la méthode POST, également connue de l'homme du métier.  Typically, the HTML form is defined with the <form> and </ form> tags. The "action" attribute of the <form> tag is used to specify the page that will process the data provided in the form by the user: this is the "main" page. The "method" attribute shows that the transmission method is the POST method, also known to those skilled in the art.
Le processeur 22 envoie donc une requête au module 33 PHP, pour que ce dernier exécute le fichier « main. php » correspondant au portail. La distinction entre différents projets de portails se fait par exemple en spécifiant en argument, dans le nom du fichier, l'identifiant du projet souhaité. The processor 22 sends a request to the module 33 PHP, so that the latter executes the file "main. php "corresponding to the portal. The distinction between different projects of portals is made for example by specifying in argument, in the name of the file, the identifier of the desired project.
Dans un premier temps, les fichiers Javascripts classiques sont chargés par le module 33.  At first, the classic Javascripts files are loaded by the module 33.
Les fichiers classiques sont les fichiers contenant par exemple les constantes, les objets et fonctions globales, les fonctions de gestion des événements ou encore les fichiers de traduction.  Typical files are files containing, for example, constants, global objects and functions, event management functions, and translation files.
Une instruction possible pour ce chargement est par exemple :  A possible instruction for this loading is for example:
Ensuite vient le chargement par le module 33 des fichiers Javascripts contenant les codes 42 sources des modules 21 1 ou 212 utilisés par le portail.  Then comes the loading by the module 33 of the Javascripts files containing the 42 source codes of the modules 21 1 or 212 used by the portal.
Une instruction possible pour ce chargement est par exemple :  A possible instruction for this loading is for example:
Le langage PH P est util isé par le module 33 du serveur 3 pour interpréter le code PH P précédent et générer du code qui pourra être interprété par le navigateur 1 1 , comme par exemple XHTML, HTML, CSS ou JavaScript, ici préférentiellement HTML et Javascript.  The PH P language is used by the module 33 of the server 3 to interpret the previous PH P code and generate code that can be interpreted by the browser 1 1, such as XHTML, HTML, CSS or JavaScript, here preferably HTML and Javascript.
Ensu ite, les paramètres d u portail sont convertis en variables Afterwards, portal parameters are converted into variables
Javascripts par le module 33. Javascripts by the module 33.
Une instruction possible pour cette conversion est par exemple : g_projectName = <?php echo ' " ' . $projectName . ' " ' ; ?>; A possible instruction for this conversion is for example: g_projectName = <? php echo '"'. $ projectName. '"';?>;
g_portalLanguage = <?php echo ' " ' . $defaultLanguage . ' " ' ; ?>;  g_portalLanguage = <? php echo '"'. $ defaultLanguage. '"'; ?>;
Une table (g_iconTable) contenant les chemins d'accès aux icônes est créée par le module 33.  A table (g_iconTable) containing the paths to the icons is created by the module 33.
Une instruction possible pour cette création est par exemple :  A possible instruction for this creation is for example:
Une autre table (gjnoduleTable), contenant les objets Javascripts correspondant aux modules inclus dans le portail grâce à l'ensemble E1 , est créée par le module 33, et chaque constructeur de module est appelé.  Another table (gjnoduleTable), containing the Javascripts objects corresponding to the modules included in the portal through the set E1, is created by the module 33, and each module builder is called.
Une instruction possible pour cette création est par exemple :  A possible instruction for this creation is for example:
Ainsi, comme le montre la figure 1 1 , à partir de l'ensemble E1 , et des fichiers comportant les codes 42 Javascripts ou HTML correspondant aux modules 21 1 et 212 de l'ensemble E1 , le processeur génère le fichier E3. Le fichier E3 ne contient que du code objet orienté web, utilisant des technologies connues W3C (par exemple HTML, JavaScript, CSS, XML, XSLT, CGI...). Le fichier main. php peut ainsi être renommé main.html par exemple. Thus, as shown in FIG. 11, from the set E1, and files comprising the codes 42 Javascripts or HTML corresponding to the modules 21 1 and 212 of the set E1, the processor generates the file E3. The E3 file contains only web-oriented object code, using known technologies W3C (for example HTML, JavaScript, CSS, XML, XSLT, CGI ...). The main file. php can be renamed main.html for example.
On appelle E2 le groupe de codes 42 utilisés par le portail.  The group of codes 42 used by the portal is called E2.
On comprend que pendant les étapes S1 et S2 décrites ci-dessus, il faut un lien entre l'ordinateur 2 et le serveur 3.  It is understood that during the steps S1 and S2 described above, there must be a link between the computer 2 and the server 3.
Lors de l'étape S4 de déchargement, le processeur 22 décharge  During the unloading step S4, the processor 22 discharges
le fichier E3 d'instructions, et  the E3 file of instructions, and
le groupe E2 de codes 42 associés aux modules 21 1 et 212 de l'ensemble E1  the group E2 of codes 42 associated with the modules 21 1 and 212 of the set E1
à partir du serveur 3 sur le dispositif 1 , comme le montre la figure 1 . Ceci suppose donc un lien entre le serveur 3 et le dispositif 1 . from the server 3 on the device 1, as shown in FIG. This therefore assumes a link between the server 3 and the device 1.
A l'issue de l'étape S4, la connexion entre le serveur 3 et le dispositif 1 est rompue, et le dispositif 1 peut prendre un fonctionnement normal. Le lien entre l'ordinateur 2 et le serveur 3 peut également être rompu.  At the end of step S4, the connection between the server 3 and the device 1 is broken, and the device 1 can take normal operation. The link between the computer 2 and the server 3 can also be broken.
Pour prendre son fonctionnement normal, le navigateur 1 1 du dispositif 1 exécute une fonction, par exemple dénommée load_main() et contenue dans le fichier main.js, et qui permet :  To take its normal operation, the browser 1 1 of the device 1 executes a function, for example named load_main () and contained in the main.js file, and which allows:
- de lancer un module de démarrage du portail (référencé par le champ startingModuleld dans la table 321 ), et  to launch a portal startup module (referenced by the startingModuleld field in table 321), and
- de créer un gestionnaire d'événement K de pression de touche (un événement K est un relâchement d'une touche d'un clavier d'ordinateur ou d'une télécommande de décodeur par exemple).  to create a keypress event manager K (a K event is a release of a key from a computer keyboard or a decoder remote control for example).
En effet, comme le montre la figure 1 2, on distingue deux types d'événements, à savoir :  Indeed, as shown in Figure 1 2, there are two types of events, namely:
les événements K de pression de touche, et dont le point d'entrée est une fonction par exemple dénommée keypress_eventHandler() ; et  the keypress K events, whose entry point is a function for example called keypress_eventHandler (); and
les événements Event, apparus et détectés par le navigateur, dont le point d'entrée est la fonction par exemple dénommée Event events that appeared and were detected by the browser, whose entry point is the function named for example
EventHandlerQ. Le gestionnaire d'événement K de pression de touche créé et/ou le gestionna ire d 'événement Event appel lent la fonction par exemple dénommée MainEventHandlerQ. EventHandlerQ. The keypress event handler K created and / or the event handler called slow call the function for example named MainEventHandler ().
Une instruction possible pour cet appel est par exemple :  A possible instruction for this call is for example:
document . addEventListener ( ' keyu ' , document. addEventListener ('keyu',
function(e) {MainEventHandler (e) ; }, false) ; function (e) {MainEventHandler (e); }, false);
Lors d'un événement Event ou K, chaque événement est converti en un objet de type event_object, avec plusieurs paramètres sous forme de tableau, lors d'une étape A.  During an event Event or K, each event is converted into an object of type event_object, with several parameters in tabular form, during a step A.
Le s o bj ets évé n e m e n ts so n t a l o rs g é ré s pa r l a fo n ct i o n mainEventHandler() lors des étapes B, C, D, E ou F.  S o bj ets e n d e n e n t s o n g o n g e rs o ff o n t o n t o n e n t H e w () in steps B, C, D, E or F.
Comme le montre la figure 1 1 , le fichier E3 d'instructions comporte en effet des instructions renvoyant vers le code 42 par exemple dénommé event.js, instructions selon lesquelles les événements sont gérés par une pile de modules 21 2 de gestion d'événement ou de modules 21 1 de fonctionnalités si ceux-ci sont actifs.  As shown in FIG. 11, the instruction file E3 in fact comprises instructions returning to the code 42, for example called event.js, instructions according to which the events are managed by a stack of event management modules 21 2 or modules 21 1 of features if they are active.
Ainsi, lors d'une étape B, l'objet événement est transmis au module actif se situant sur le haut d'une pile de modules.  Thus, during a step B, the event object is transmitted to the active module located on the top of a stack of modules.
Lors d'une étape C, l'objet événement est pris en compte par ledit module.  During a step C, the event object is taken into account by said module.
La fonction mainEventHandler() détermine en D si l'objet événement est géré par ledit module.  The mainEventHandler () function determines in D whether the event object is managed by the module.
Si la réponse est oui, alors l'objet est traité et c'est la fin de la fonction mainEventHandler().  If the answer is yes, then the object is processed and that is the end of the mainEventHandler () function.
Si la réponse est non, la fonction mainEventHandler() détermine en E si ce même objet événement doit déclencher un (ou plusieurs) modules parmi une table g_eventTable. Lors d'une étape F, dans le cas de plusieurs modules devant être déclenchés, un paramètre permet de spécifier la priorité associée.  If the answer is no, the mainEventHandler () function determines in E whether this same event object should trigger one (or more) modules from a g_eventTable table. During a step F, in the case of several modules to be triggered, a parameter makes it possible to specify the associated priority.
On passe alors à l'étape C déjà décrite.  We then go to step C already described.
Comme le montre la figure 13, l'interface 21 comporte un formulaire HTML permettant d'ajouter à la bibliothèque un nouveau module. De manière très préférentielle, tous les modules 211 ou 212 possèdent la même structure standard avec notamment : As shown in FIG. 13, the interface 21 includes an HTML form making it possible to add a new module to the library. In a very preferential manner, all the modules 211 or 212 have the same standard structure with, in particular:
un constructeur,  a builder,
un identifiant (également appelé « id »),  an identifier (also called "id"),
- un nom (également appelé « Label »), et  - a name (also called "Label"), and
un type du module, précisant la fonction de démarrage « start » pour les modules 211 ou la méthode de gestion d'événement pour les modules 212. Le formulaire de la figure 13 comporte des champs 501 , 502, 503 et 504.  a module type, specifying the "start" start function for the modules 211 or the event management method for the modules 212. The form of FIG. 13 includes fields 501, 502, 503 and 504.
Les champs 502 comportent des champs obligatoires, notamment concernant le nom (Name), le nom du module tel qu'il apparaîtra dans le portail (« Label »), et le type du module. Suivant le type de module sélectionné, plus ou moins d'options supplémentaires peuvent apparaître.  The fields 502 include mandatory fields, especially concerning the name, the name of the module as it will appear in the portal ("Label"), and the type of the module. Depending on the type of module selected, more or fewer additional options may appear.
Le champ 503 permet de saisir une description du module, à l'attention de l'utilisateur.  The field 503 makes it possible to enter a description of the module, to the attention of the user.
Le champ 504 permet la sauvegarde de la saisie.  Field 504 saves the entry.
Lors de la sauvegarde, une nouvelle table 322 est créée sur le serveur During the backup, a new table 322 is created on the server
3. 3.
De même, préalablement ou postérieurement, un code 42 correspondant est créé sur le serveur 3.  Similarly, before or after, a corresponding code 42 is created on the server 3.
Les codes 42 des modules sont codés en HTML mais très préférentiellement en Javascript, par exemple sous la forme  The codes 42 of the modules are coded in HTML but very preferentially in Javascript, for example in the form
L'ordinateur 2 peut être incorporé en tout ou partie au dispositif 1 . The computer 2 may be incorporated wholly or partly into the device 1.
Le procédé peut de plus comporter une étape S3 facultative de test du fichier E3 d'instructions avant l'étape S4 de déchargement. The method may further include an optional step S3 of testing the instruction file E3 prior to the unloading step S4.
L'étape S3 de test concerne les modules 21 1 et 212, disponibles dans la bibliothèque commune à l'ensemble des projets de portail, de sorte que l'étape de test sert pour les évolutions ultérieures du portail ou pour un autre portail également.  The test step S3 concerns the modules 21 1 and 212, available in the library shared by all the portal projects, so that the test step is used for the subsequent evolutions of the portal or for another portal as well.
De même, la correction des bogues sur les modules 21 1 ou 212 sert pour les évolutions ultérieures du portail ou pour un autre portail également.  Likewise, the bug correction on the modules 21 1 or 212 is used for subsequent evolutions of the portal or for another portal as well.
L'invention concerne également un produ it programme d'ord inateur comportant des instructions qui, une fois chargées sur une mémoire d'un ordinateur, permettent la mise en œuvre d'un procédé selon l'invention. Le produit peut être sur tout support informatique, comme par exemple une mémoire ou un CD-Rom. The invention also relates to a computer program product comprising instructions which, when loaded onto a memory of a computer, allow the implementation of a method according to the invention. The product can be on any computer support, such as a memory or a CD-Rom.

Claims

REVENDICATIONS
1 . Procédé de développement d'un portail Web, le portail Web étant mis en œuvre localement par un navigateur (1 1 ) d'un dispositif (1 ), le procédé étant caractérisé en ce qu'il comporte 1. Method of developing a web portal, the web portal being implemented locally by a browser (1 1) of a device (1), the method being characterized in that it comprises
- une étape (S1 ) de configuration du portail, selon laquelle une interface (21 ) d'un ordinateur (2) permet la sélection et l'organisation d'un ensemble (E1 ) de modules (21 1 ) de fonctionnalité et/ou de modules (212) de gestion d'événement formant le portail Web, un code (42) stocké sur un serveur (3) étant associé à chacun desdits modules (21 1 , 212) ;  a portal configuration step (S1), according to which an interface (21) of a computer (2) allows the selection and organization of a set (E1) of function modules (21 1) and / or event management modules (212) forming the web portal, a code (42) stored on a server (3) being associated with each of said modules (21 1, 212);
- une étape (S2) de compilation, selon laquelle un processeur (22) de l'ordinateur (2) génère, à partir de l 'ensem ble (E 1 ), un fich ier (E3) d'instructions pouvant être mises en œuvre par le navigateur (1 1 ) ; et a step (S2) of compilation, in which a processor (22) of the computer (2) generates, from the set (E 1), a file (E3) of instructions that can be put into operation; works by the browser (1 1); and
- une étape (S4) de déchargement, selon laquelle le processeur (22) décharge le fichier (E3) d'instructions et un groupe (E2) de codes (42) associés aux modules (21 1 , 212) sur le dispositif (1 ). an unloading step (S4), in which the processor (22) unloads the instruction file (E3) and a group (E2) of codes (42) associated with the modules (21 1, 212) on the device (1). ).
2. Procédé selon la revendication 1 , dans lequel la sélection des modules (21 1 ) de fonctionnalité et/ou des modules (212) de gestion d'événement s'effectue à partir d'une bibliothèque de modules (21 1 , 212). The method of claim 1, wherein the selection of the feature modules (21 1) and / or event management modules (212) is from a library of modules (21 1, 212). .
3. Procédé selon l'une des revendications 1 ou 2, dans lequel le processeur génère (S2) le fichier (E3) d'instructions par l'intermédiaire du serveur (3) comportant un module (33) PHP, le fichier (E3) étant en format d'objet orienté web utilisant des technologies W3C, préférentiellement HTML, JavaScript, CSS, XML, XSLT ou CGI. 3. Method according to one of claims 1 or 2, wherein the processor generates (S2) the file (E3) instructions via the server (3) having a module (33) PHP, the file (E3) ) being in web oriented object format using W3C technologies, preferably HTML, JavaScript, CSS, XML, XSLT or CGI.
4. Procédé selon l'une des revend ications 1 à 3, dans lequel chaque module (21 1 , 212) est construit sous une même structure standard. 4. Method according to one of revendications ications 1 to 3, wherein each module (21 1, 212) is built under the same standard structure.
5. Procédé selon l'une des revendications 1 à 4, dans lequel le fichier (E3) d'instructions comporte des instructions selon lesquelles les événements sont gérés par une pile de modules (212) de gestion d'événement ou de modules (21 1 ) de fonctionnalités. 5. Method according to one of claims 1 to 4, wherein the instruction file (E3) includes instructions according to which the events are managed by a stack of event management modules (212) or feature modules (21 1).
6. Procédé selon l'une des revendications 1 à 5, comportant de plus une étape (S3) de test du fichier (E3) d'instructions avant l'étape (S4) de déchargement. 6. Method according to one of claims 1 to 5, further comprising a step (S3) for testing the file (E3) instructions before the step (S4) unloading.
7. Système de développement d'un portail Web, comportant 7. Web portal development system, including
- un dispositif (1 ) comportant un navigateur (1 1 ) mettant en œuvre localement le portail Web  a device (1) comprising a browser (1 1) locally implementing the web portal
- un ordinateur (2) comportant une interface (21 ) et un processeur (22), et a computer (2) having an interface (21) and a processor (22), and
- un serveur (3) comportant une base de données (31 ), a server (3) comprising a database (31),
le système étant caractérisé en ce que the system being characterized in that
- l'interface (21 ) est configurée pour permettre la sélection et l'organisation d'un ensemble (E1 ) de modules (21 1 ) de fonctionnalité et/ou de modules the interface (21) is configured to allow the selection and organization of a set (E1) of modules (21 1) of functionality and / or modules
(212) de gestion d'événement formant le portail Web ; (212) event management forming the web portal;
- le processeur (22) est configuré pour générer, à partir de l'ensemble (E1 ), un fichier (E3) d'instructions pouvant être mises en œuvre par le navigateur (1 1 ) ; et  the processor (22) is configured to generate, from the set (E1), a file (E3) of instructions that can be implemented by the browser (1 1); and
- le processeu r (22) est config u ré pou r décharger le fich ier (E3) d'instructions et un groupe (E2) de codes (42) associés aux modules (21 1 , 212) sur le dispositif (1 ), à partir du serveur (3). the processor (22) is configured to discharge the instruction file (E3) and a group (E2) of codes (42) associated with the modules (21 1, 212) on the device (1), from the server (3).
8. Système selon la revendication 7, dans lequel l'ordinateur (2) est en tout ou partie dans le dispositif (1 ). 8. System according to claim 7, wherein the computer (2) is wholly or partly in the device (1).
9. Système selon l'une des revendications 7 ou 8, dans lequel le dispositif (1 ) est tout dispositif embarqué possédant un navigateur, préférentiellement un décodeur. 9. System according to one of claims 7 or 8, wherein the device (1) is any embedded device having a browser, preferably a decoder.
10. Produit programme d'ordinateur comportant un ensemble d'instructions qui, une fois chargées sur un ordinateur, permettent la mise en œuvre d'un procédé selon l'une des revendications 1 à 6. 10. Computer program product comprising a set of instructions which, when loaded on a computer, allow the implementation of a method according to one of claims 1 to 6.
EP12729084.9A 2011-06-10 2012-06-08 Method for developing a web portal, method for implementing same, and corresponding computer program product Withdrawn EP2718810A1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
FR1155131A FR2976373B1 (en) 2011-06-10 2011-06-10 METHOD FOR DEVELOPING A WEB PORTAL, AN IMPLEMENTING SYSTEM AND COMPUTER PROGRAM PRODUCT THEREFOR
PCT/EP2012/060872 WO2012168417A1 (en) 2011-06-10 2012-06-08 Method for developing a web portal, method for implementing same, and corresponding computer program product

Publications (1)

Publication Number Publication Date
EP2718810A1 true EP2718810A1 (en) 2014-04-16

Family

ID=46331284

Family Applications (1)

Application Number Title Priority Date Filing Date
EP12729084.9A Withdrawn EP2718810A1 (en) 2011-06-10 2012-06-08 Method for developing a web portal, method for implementing same, and corresponding computer program product

Country Status (6)

Country Link
US (1) US20140129926A1 (en)
EP (1) EP2718810A1 (en)
CN (1) CN103782271B (en)
BR (1) BR112013031520A2 (en)
FR (1) FR2976373B1 (en)
WO (1) WO2012168417A1 (en)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105242913A (en) * 2015-07-06 2016-01-13 临沂优狐网络科技有限公司 YYUC-PHP (Professional Hypertext Preprocessor) frame

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080091663A1 (en) * 1998-12-08 2008-04-17 Inala Suman K Software Bundle for Providing Automated Functionality to a WEB-Browser
US6721713B1 (en) * 1999-05-27 2004-04-13 Andersen Consulting Llp Business alliance identification in a web architecture framework
US7890926B2 (en) * 2005-01-04 2011-02-15 Vaakya Technologies Private Limited System and method for application development and deployment
US20060294496A1 (en) * 2005-06-27 2006-12-28 Bea Systems, Inc. System and method for improved web portal design through control tree file creation
US8429630B2 (en) * 2005-09-15 2013-04-23 Ca, Inc. Globally distributed utility computing cloud
CN100535900C (en) * 2005-12-06 2009-09-02 国际商业机器公司 Method and system for rendering asynchronous portal page
CN101004680B (en) * 2006-11-23 2011-06-22 福建顶点软件股份有限公司 Flexible, fast software development method and support system by using kernels of direct operation object model definition
US8639743B1 (en) * 2007-12-05 2014-01-28 Appcelerator, Inc. System and method for on-the-fly rewriting of JavaScript
US8789130B2 (en) * 2009-07-08 2014-07-22 Centurylink Intellectual Property Llc Set top box browser control via a wireless handset
US9552123B1 (en) * 2010-05-27 2017-01-24 Amazon Technologies, Inc. Integrating applications in a portal
US9183560B2 (en) * 2010-05-28 2015-11-10 Daniel H. Abelow Reality alternate
CN101909082B (en) * 2010-07-29 2013-03-13 中国运载火箭技术研究院 Model-driven grid portal configuration system and method
WO2012127481A1 (en) * 2011-03-23 2012-09-27 Infosys Technologies Limited Unified user interface framework for creating configurable web-portals using menu options

Non-Patent Citations (2)

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

Also Published As

Publication number Publication date
CN103782271A (en) 2014-05-07
BR112013031520A2 (en) 2016-12-13
CN103782271B (en) 2017-11-10
FR2976373A1 (en) 2012-12-14
FR2976373B1 (en) 2013-06-14
WO2012168417A1 (en) 2012-12-13
US20140129926A1 (en) 2014-05-08

Similar Documents

Publication Publication Date Title
Subramanian Pro Mern Stack: Full Stack Web App Development with Mongo, Express, React and Node
US9454363B1 (en) Mobile application development system and method
CN111198730B (en) Method, device, terminal and computer storage medium for starting sub-application program
EP2151773B1 (en) Synchronous to asynchronous web page conversion
CN101866299B (en) Method and system for modifying the execution of a native application running on a portable electronic device
KR20170141224A (en) Developer Exchange System
CN102067161A (en) Presenting advertisements based on web-page interaction
Murphy et al. Beginning Android 3
WO2013140076A2 (en) Method and system for developing applications for consulting content and services on a telecommunications network
WO2010009996A1 (en) Method for compiling a computer program
Reddy Beginning Spring Boot 2: Applications and microservices with the Spring framework
Annuzzi et al. Advanced Android application development
EP2219113B1 (en) Display method, corresponding device and computer program product
WO2012168417A1 (en) Method for developing a web portal, method for implementing same, and corresponding computer program product
Penberthy Beginning ASP. NET for Visual Studio 2015
CN112487322B (en) Third party application Loading page loading method and display device
WO2007107534A1 (en) Method, device and system for managing structure data in a graphic scene
JP4927830B2 (en) Automatic update of variables in the data language
Freeman Essential Angular for Asp. Net Core MVC
Bendoraitis Web Development with Django Cookbook
Fränkel Learning Vaadin 7
Bendoraitis Web Development with Django Cookbook
EP2610743A1 (en) Method for simulating the human-machine interface of an apparatus.
Chernomordov et al. Development of the Module «Version the Visually Impaired» for the Websites of Organizations
Ciliberti et al. Getting the Most from the New Features in ASP. NET Core MVC

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: 20131217

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

DAX Request for extension of the european patent (deleted)
RAP1 Party data changed (applicant data changed or rights of an application transferred)

Owner name: SAGEMCOM BROADBAND SAS

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

Free format text: STATUS: EXAMINATION IS IN PROGRESS

17Q First examination report despatched

Effective date: 20190328

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

Free format text: STATUS: EXAMINATION IS IN PROGRESS

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

Free format text: STATUS: THE APPLICATION IS DEEMED TO BE WITHDRAWN

18D Application deemed to be withdrawn

Effective date: 20220104