WO2013140076A2 - Procede et systeme de developpement d'applications de consultation de contenus et services sur un reseau de telecommunciation - Google Patents

Procede et systeme de developpement d'applications de consultation de contenus et services sur un reseau de telecommunciation Download PDF

Info

Publication number
WO2013140076A2
WO2013140076A2 PCT/FR2013/050572 FR2013050572W WO2013140076A2 WO 2013140076 A2 WO2013140076 A2 WO 2013140076A2 FR 2013050572 W FR2013050572 W FR 2013050572W WO 2013140076 A2 WO2013140076 A2 WO 2013140076A2
Authority
WO
WIPO (PCT)
Prior art keywords
application
metadata
user
information
server
Prior art date
Application number
PCT/FR2013/050572
Other languages
English (en)
Other versions
WO2013140076A3 (fr
Inventor
Sofiane BENDIABDALLAH
Original Assignee
Able France
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 Able France filed Critical Able France
Priority to US14/386,474 priority Critical patent/US20150242538A1/en
Priority to CN201380027188.2A priority patent/CN104321743B/zh
Publication of WO2013140076A2 publication Critical patent/WO2013140076A2/fr
Publication of WO2013140076A3 publication Critical patent/WO2013140076A3/fr

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/907Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/20Software design
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/248Presentation of query results
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/28Databases characterised by their database models, e.g. relational or object models
    • G06F16/284Relational databases
    • G06F16/285Clustering or classification
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/951Indexing; Web crawling techniques
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/953Querying, e.g. by the use of web search engines
    • G06F16/9538Presentation of query results
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/958Organisation or management of web site content, e.g. publishing, maintaining pages or automatic linking

Definitions

  • the present invention relates to the field of personal applications for viewing content, and services on one or more telecommunication networks. It is more particularly related to methods and systems for creating, developing, modifying, distributing, installing, sharing and using one or more personal applications or programs on one or more devices connected to a telecommunication network such as the Internet or an Intranet. , open or private, to use or consult information and / or services according to selection and presentation criteria specific to each user. To simplify the presentation, we will only use the terms "lnternet” and "web” in the following, but the invention applies as well, without limitation, private networks and Intranet.
  • the most commonly used information retrieval tool on most of these devices is the browser which integrates a large number of technologies to express almost all the functions and services offered on the sites visited, such as: as HTML, Java, Flash, etc. Beside the browser, it is possible to install applications, usually dedicated to a type of service, which can offer ergonomics better adapted to the device, while allowing access to the information of the web. Some even include a browser screen when the user's choice turns to unintended data by the application. We are gradually witnessing a rimpedement between the two modes of consultation mentioned above.
  • search engines for example known as Google, Yahoo, Baidu, etc.
  • vertical search engines directories, comparators in activities such as: real estate, tourism, employment, automobile, leisure, games
  • the "generalist" browser cited above has the disadvantage of letting the user search for himself the sources of information that interest him, manage these sources (using bookmarks) when he decides to go there. access recursively, and sometimes download amounts of information more or less important (entire pages), even if it is only interested in a small category of information.
  • server applications implementing automatic robots that collect and aggregate information from multiple sources.
  • the present invention aims to overcome these disadvantages by allowing all users of the web (or Intranet), experts or not, to access and exploit the data and services that interest them in the way that they suitable, and in a simple and practical way.
  • One of the aims of the invention is to enable each user, without particular skill as a developer, to easily and easily realize his own applications for consulting the web, according to his own needs, his own criteria for selecting and presenting information, on any of the devices he may have at his disposal (computer, mobile, tablet, TV, other ..).
  • Another object of the invention is to allow each user to modify and improve their own applications according to their experience and the evolution of their needs.
  • Another object of the invention is to allow users to share applications or parts of applications made by other users, and in particular to be able to reuse an existing application without having to realize it, as well as to be able to modify, enrich it at leisure, or integrate a module created by another user in accordance with predefined rules of access and authorization.
  • a method of developing an application for consultation on a device provided with a display screen for content and services accessible by browsing on the web, from a computer operated by a user and connected to an application server is proposed according to a first aspect of the invention.
  • the proposed method includes: capturing, in response to the selection by the user of information and / or content on the web during a navigation course on the web, metadata including information describing and renting data and corresponding to the selected information and / or contents, and record this metadata, and grouping in a data structure of the application, the metadata, a software agent able to extract information and / or contents of the web based on the metadata , and data presentation information and / or content extracted from the web.
  • a metadata is understood here as the set of criteria necessary to find the data in the page of the web or on another page of similar structure, usually by means of agents and robots.
  • the method of developing an application further comprises: registering a user's browsing path on the web, and wherein the software agent is adapted to reproduce the recorded navigation path.
  • the method of developing an application further comprises: selecting from among a plurality of presentation templates an application frame intended to display on the display screen of the apparatus on which the application is executed , information and / or content extracted from the web, and wherein the data structure of the application comprises the selected application frame.
  • the method of developing a personal application further comprises: running on the computer an application execution program, establishing a connection between the application execution program running on the computer and the application server, executing the registered software agent in the application data structure to extract the information and / or content selected by the user during his browsing journey based on the application metadata adapting, according to the presentation data associated with the application, the information and / or contents extracted by the software agent, and displaying the information and / or adapted content on the display screen of the computer.
  • the invention provides an application development system, comprising a computer comprising a processor and a memory coupled to the processor, a record server coupled to an application database, wherein the memory stores a set software comprising web browsing software and a specific development extension of the browser software for developing an application to be executed on a device having a display screen, wherein the specific development extension of the browser software navigation includes instructions for carrying out: (i) capture and transmission to the recording server, in response to a user's selection of information and / or content on the web during a navigation course on the web, metadata comprising description and data rental information and corresponding to the selected information and / or content in which the registering server is configured to execute software including instructions for, during an application development session, receiving and storing metadata corresponding to the selected information and / or content, generating a software agent capable of retrieving information and / or contents of the web based on the metadata, receiving and storing presentation data of the information and / or contents extracted from the web, and grouping and storing in a data structure of the application,
  • the specific development extension of the browser software further includes instructions for redirecting to the server navigational query recorder and browser responses corresponding to the navigation course of the user, and wherein the record server software further comprises instructions for recording a user browsing course on the web.
  • the record server software further includes instructions for capturing metadata corresponding to data of the same type or similar to those selected by the user, in the same manner. page of the site consulted, as well as in other pages of the site.
  • the user can therefore advantageously build a very complete application but in a very simple way, from only a small number of selections.
  • the record server software further includes instructions for sharing metadata and / or all or part of the application database between users to enable sharing between users of applications for creating / modifying and executing applications.
  • sharing means are combined with the application database to allow the sharing of all or part of applications when sharing is allowed.
  • Beneficial users can advantageously modify shared applications for their own account, in whole or in part. They can also modify the prototype application templates that are available to them to suit their specific needs. Building sophisticated applications can also be done by combining the applications of multiple users.
  • the specific development extension of the navigation software includes an interface module between the different types of application metadata management software agent and the different technologies of the application software. acquisition and rendering interfaces present on the target devices of the applications.
  • the software package of the navigation software and the specific development extension of the navigation software constitutes an integrated development application.
  • the application development system further comprises a user subscription server, a database of users and user spaces, and means for sharing applications among users, according to certain rights.
  • the application development system further comprises, further comprising semantic metadata analogy search means for increasing the automatic extraction of metadata during the creation or modification of an application.
  • FIG. 1 describes a first operating mode targeted by the invention, for the creation of an application by a user.
  • FIG. 2 describes a second embodiment of the invention for the modification of an existing application.
  • FIG. 3 represents the general architecture of the means used to implement the invention.
  • Figure 5 shows the structure of an application record.
  • FIG. 6 shows an example of implementation of the application registration server.
  • FIG. 8 shows an embodiment of a system for recording, distribution and sharing applications according to the invention.
  • - Device These are devices connected to or connected to the web (Internet or Intranet) and capable of executing at least one application, such as: computer desk, laptop, tablet, reading device (tablet dedicated to reading electronic books), mobile phone screen (called “smartphone” according to English literature), phone java ("javaphone”, whose operating system is Java-based), TV or digital TV decoder-receiver, on-board computer (in a car, on a bike, on a pedestrian).
  • This list is not exhaustive, other devices are likely to exist soon on the market.
  • Each user can have one or more devices.
  • a common, but not limiting, feature of these devices is that they contain one or more interacting devices such as screen, keyboard, mouse, voice control and speaker or touchpad, a CPU and an operating system .
  • Their display and interaction devices may possibly be deported to other devices via a telecommunication link. They have the ability to host applications, by download or pre-installation (before delivery to the user). This list can also be extended to devices called “home automation” more specific use (central monitoring, weather, automation, etc.) and machines forming part of a distributed architecture of the type "machine to machine”.
  • the applications are the programs launched by the user.
  • the most common application for viewing information on the web is the browser. This is very general in use to allow access to virtually all types of information. It is often supplemented with extension modules ("plugin" according to the Anglo-Saxon literature) to perform one or more tasks or functions not originally planned.
  • the present invention relates to a new type of applications, that of hybrid applications consisting of a resident part called "execution program” that runs on the device and a remote part that runs online on a server site, the two parties cooperating via a telecommunication network, in particular so that the first (execution program) displays the data transmitted by the second in response to the actions of the user.
  • Metadata A structured set of information used to describe a resource.
  • a web page is structured data presented graphically in standardized components. Metadata are not data, but are the descriptions of the data or criteria used to identify and describe the information of the web and more generally any documentary resource and all types of elements (text, image, video, sound) including Interactivity elements (input fields, lists, forms, dialogs, buttons, links, etc.). They serve to tag these resources and allow better interoperability between sources such as (non-exhaustive list):
  • Metadata does not contain values, but means to access these values using automated robots and agents for which these metadata are built and stored. Metadata finds their full use in the semantic web. It is based on the general standards of the web: HTTP protocol, URI, XML language, and on standards specific to the semantic web, the "Resource Description Framework" (RDF), the pformats: this frame of reference includes models graphs to describe in a formal way the resources of the web and their metadata, so as to allow the automatic processing of such descriptions.
  • RDF Resource Description Framework
  • - Registration element of a file or database.
  • a record contains one or more agents, robots, and metadata.
  • Agent In computer science, an agent is the equivalent of a software robot. It is a program that performs tasks in the manner of a automaton, according to what is asked of him. Traditionally an agent pilot one or more robots, robots performing basic tasks. Robots use metadata to access data.
  • intelligent agents are linked to the semantic web, in which they are used to make, in place of humans, research and correlations between the results of this research. This is done according to predefined rules. They are capable of a certain autonomy, in particular to talk to each other.
  • Proxy server This is a component that is placed between two other components to facilitate or monitor their exchanges.
  • a proxy server is set up to ensure the operation of the application server, object of the invention.
  • server refers to all centralized or distributed architectures including "peer-to-peer” architectures. Proxy servers are used in particular to perform the following functions:
  • Figure 1 depicts a first simplified procedure for illustrating the purpose of the invention for the creation of a simple application by an ordinary user.
  • a particular area of information here, commercial cameras, in order to prepare a purchase for example.
  • This is a catalog of devices, consisting of cards each showing the photo of the product, its price, features and user reviews, and a search tool. We imagine that it could also contain a comparison and links to the respective commercial sites, but this is not represented.
  • the user launches a browser in his personal computer which displays a first standard window 1 in which he can consult a page 3 of a site of the web he has previously searched, for example by means of one of the known search engines.
  • the browser has a pre-installed extension, which adds functionality.
  • This extension is supposed to be installed beforehand, for example when registering with the application creation server site described below, which the application needs to work.
  • the site offers the download and installation of this extension, just after the registration of the user, like any other application download.
  • the browser + extension set can also be replaced by an application that integrates both features beforehand, for example when the computer is pre-equipped with this application.
  • This redirection is an existing browser configuration function that is implemented by the extension as soon as it is launched.
  • extension displays, in a specific menu bar, command buttons to perform additional functions compared to those of the browser:
  • a button 1 e to display the result in a simulation window.
  • buttons and corresponding functions are limited here only for the clarity of the presentation, but other buttons are possible, depending on the level of desired enrichment. These buttons are made to transmit orders to the application server not shown in this figure, but described later in Figure 3, thanks to the traffic redirection mentioned above.
  • buttons 1a and 2 By clicking on button 1a, a "view” or application window or “application frame 2" is created and displayed, which is an empty prototype of the mini application.
  • the server will have proposed to the user an application theme among a set of pre-existing themes, in the same way as many applications on the market. By choosing a theme, the user also chooses the type or types of devices on which the application to be created can run. In the example shown, it is assumed that the user has chosen a catalog of product sheets, each sheet being provided to contain an image of the product 2c, a price 2b, a list of product characteristics 2d, user reviews 2nd and a search field 2a among all the cards.
  • the user begins by looking for a product of the desired type on the canvas. For example, he goes to the site of a brand that offers a catalog of products of this brand. He locates an image 4 of a camera that he selects with the mouse for example, by defining a frame around the object or by exerting a long click. This action is transmitted to the server which can then identify the image. To signify to the user that this image is identified by the server, the latter is highlighted by known means such as a semi-transparent mask, a frame or a flicker. From this moment, the user makes a drag from image 4 on page 3 to the image area 2c of the prototype 2. In the same way, it continues with the other parts of the form, by a dragging text from the features selected on page 3 to the feature area 2d of the prototype 2, and so on for the price sections 2b, and user notices 2e.
  • a product of the desired type For example, he goes to the site of a brand that offers a catalog of products of this brand. He locates an image
  • the server With each selection by the user, the server extracts the corresponding metadata, and saves them in a metadata database (described later, in Figure 3).
  • the invention is not limited to the selection of static objects such as those mentioned above. It also allows you to choose objects with actions such as calculation buttons, navigation buttons, action buttons, dialogs, input fields, lists, forms, displays of action results, etc.
  • buttons 1b for example, the size and position of an object in the form, using its mouse or the touch surface.
  • the test button 1 e optionally allows the launch of the application in dynamic simulation mode to judge the quality of the result. It makes it possible to use the application created in frame 2 completely as if it had been downloaded in its final form. This allows the user to realize if the application and if the objects automatically extracted from the web by the server meet his expectations.
  • This application then runs according to the representation chosen during the creation (window 2), but it has become a browser-independent application, capable of displaying product sheets, among a list of cards, with interactive navigation, embellished with a simple search tool.
  • the application downloaded to the device from the server contains a resident portion on the device, but contains no dynamic data.
  • the resident part supports the device's own functionalities such as telecommunication functions, displays, image rendering, sound and video, interactions with the user.
  • the contents of the cards are filled from the metadata recorded during the creation on the server and the data are extracted from the canvas page from these metadata, at the time of the consultation. The data is thus always up to date and is extracted successfully even if its location has changed on the original site.
  • cards described in this example can be enriched by other functions such as rankings according to certain criteria, links to web sites that might activate opening a browser window or launching another mini app.
  • the registered application can be of strictly individual use but also shared with other users who can, in this case, reuse all or part of the application framework and its functionalities. Indeed, as will be seen below, the extraction of data, performed by the server, can be pooled. A simple application can inherit the efforts of other users and become much richer.
  • buttons and functions for the graphic construction and the enrichment of the application, according to known technologies, such as, for example :
  • a "multiple selection” button which warns the extension and the server that the page consulted contains several objects of the same type and that the server must extract them automatically when only one of these objects is selected. Selecting a single object can then lead to the automatic creation of multiple records.
  • a "style” button that allows to change the graphic like the color, the styles and the size of the characters, for all or part of all the data related to the metadata, that is to say applicable to all the records Similar.
  • a "grid” button that facilitates the positioning of objects in the view according to a predefined alignment.
  • a button “layers” that allows to work on several parts of the application, independently, or that can create different results in the same area, depending on the course of the user (eg a stock price is represented either by the current value of the action, or by the graph of the history of the action, according to the context during the execution of the application ).
  • This path is viewable during creation by pressing the "layers" key that allows you to simply switch the meaning of the editable area by copy paste or drag and drop.
  • a "share” button that allows sharing all or part of the application framework and its associated tools. It defines the access permissions by other users to the recorded metadata. This allows third parties to take, duplicate, modify, enrich the application.
  • a button "source” that allows the user to find the page of the canvas from which he captured the metadata or metadata.
  • a "frame” button that switches the user's actions from one application frame to another application frame if several frames are created or opened simultaneously.
  • a "help” button that allows the user to find help during the creation of the application.
  • An agent for example, asks questions when there are multiple choices (when the machine can not decide in its place).
  • a prototype application window or "application frame 2" is displayed, which copies, as a starting point, the 3 frames of the original application, 41, 42, 43 which become 21, 22 and 23.
  • the user decides to replace the item 21 (ex 41) by the item 31 of the frame 3. It does it by a simple drag and drop to frame 2.
  • he decides to add the item 32 by dragging from the frame 3 to the frame 2, the arrival being between the items 21 -22 and 23.
  • the frames of these items are reduced in size by automatic style changes and deviate to make room for the new section 24. All these automatic operations are performed by interactions between the application server and the browser extension, by data exchange and control invisible to the user who has just dragged and dropped. This operation allowed the source sub-frame 32 in frame 3, the destination frame 2, and the arrival location between sub-frames 21, 22, and 23 to be completely designated. Automatic sizing and styling changes are derived from features frames, everything is known to the application server.
  • the simplicity of the operating mode is therefore maximal, from the point of view of the user. This simplicity results from the division and distribution, according to the invention, functions that interact between the server and the browser extension.
  • FIG. 3 shows the general architecture of the system used for the invention and in particular to achieve the use scenarios described above.
  • This figure represents two chains of means: an application creation and modification chain and an application execution chain, which share elements in common.
  • the user who wishes to create or modify an application has a computer 100 comprising a browser 101 (at least one of the existing browsers) and an extension 102 designed specifically to interact with the application server 200, through the computer.
  • This extension 102 is assumed already integrated in the browser, either by the manufacturer in the manufacturing process of the computer, or by the user, for example during a connection and a subscription or registration to the application server site, in order to obtain the necessary means and authorizations.
  • the server 200 consists of several subsets detailed below.
  • this extension can be advantageously performed in "Javascript" language and downloaded by the application server site. Details of the realization of this extension are given later with Figure 7.
  • the extension and the browser may form one and the same integrated application 103, dedicated to this use.
  • the launching of the extension 102 causes a modification of the connection parameters to the Internet 1 of the computer 100, so that all the connections (requests and responses) to sites information 300 are redirected through the application server generally designated under the reference 200, and more exactly through a record server 210 which also performs the functions of application recorder.
  • This redirection is achieved by a simple modification of the browser preferences.
  • the connection between the computer 100 and the server 210 is then protected as a link in a local area network and under total control of the server 210.
  • this extension carries out an offsetting of the computer operations of the extension to the server 210, so that only the displays and the interactions with the user remaining on the computer of the user.
  • the extension 102 also opens a window called "application framework (like the window 2 of Figure 1 and 2, but not shown in Figure 3) in which the user gradually builds the application he wants to use later.
  • actions of the user in the browser window and in the application frame are transmitted to the server 210.
  • the processing following these actions are performed by the server which, in turn, controls the displays in this window and this frame.
  • the creation of the application is done by analyzing the natural course of web pages on the website 300 from the browser 101.
  • An automatic capture of the constituent elements of the application being created is realized, according to the invention, by the features that are added to the browser through the extension 102 interacting with the server 210.
  • the position of the visible part of a web page in the frame, a selection of a text box or an image, are transmitted to the server as an index in the source code of the page.
  • This extension 102 also provides the user with functions starting, selection, modification and end of registration of an application, as well as many other functions such as those listed above in the description of FIG. .
  • the application is automatically created in the server 200 in the form of a file containing records characterizing the application model, the target devices and the objects that will then be presented by the application. final when executed.
  • This application file is more advantageously recorded in a database 220, the database technology being better adapted to organize the records so that the applications are shared by a large number of users.
  • the selection function provides the means to select not a simple data but a metadata, that is to say the description and location of the data.
  • the data can be a text string, an image, a video, a link to another page, etc. With each selection, the system identifies, by relevant criteria, how to find the data on the web.
  • This server stores in the database 220 not only the selected metadata but also the agent (s) and robot (s) which will make it possible to reproduce the course that the user makes on the entire web between the beginning and the end of the recording, that is, at least the browsing history by the user.
  • the system implements a metadata capture function which can advantageously be a selection frame in the page viewed or any other form of "selection" according to the usual user interface provided by the computer manufacturer.
  • the display of this frame in the browser window is a function of the extension 102.
  • the extraction of the metadata corresponding to the selection frame is a function of the server 210 which has, in cache, the complete page displayed by the browser and which, by virtue of the selection, is able to determine the portion of the HTML, XML or other code corresponding to this selection, as well as the coordinates (URL of the page and position in the page, at least) to access it by the following.
  • the possibility and the representation of the drag and drop that makes it possible to position the data selected in the application frame is another function of the extension interacting with the server 210.
  • the metadata is recorded at the time of deposit of the selected data item. in the application framework.
  • the actions of the user in the browser window are thus transmitted to the server 210, and associated with the parameters of the selected data and extracted so that the server exactly identifies the corresponding metadata and their integration in the application, by a record of this metadata in the database 220.
  • the server 210 thus functions as a recorder with a "start recording” action and an “end of recording” action. Between the two, “capture” actions are materialized by records in the database 220.
  • the extraction system therefore defines a metastructure that can be copied-glued or dragged-deposited in the application frame. Once deposited in the application framework (view, page, etc.), the collected structures are displayed in an appropriate component (a grid, a list, a gallery, %) that is part of the definition of the model chosen at the beginning. .
  • a final application therefore consists of one or more of such components.
  • An application can be a component as well.
  • An application can also be an assembly of other applications.
  • This application framework makes it possible to prepare the application intended to be redistributed on various media (computer, mobile phone, tablet, television, etc.) which can impose different presentation of the same contents (sizes and types of characters, number of characters per line, scrolls and zoom, etc.).
  • This frame makes it possible to visualize the rendering of the metadata, that is to say how the data defined by the metadata will be visualized by the user after redistribution.
  • the user creates an image of how he wants to use what he has captured and recorded.
  • the selection function offered by the extension in combination and in relation with the recording server 210, enables it to identify not only the data it displays at the moment, but also the future data located in the same place in the page, or in another page with a similar structure.
  • a catalog of products in the form of a grid each frame of which describes a product.
  • the user may need to capture all data from all products by selecting only one product. To do this, the user can use a special "multiple selection" button which then launches a technical means of automatic selection of data similar to that of the selected data that will be associated with the same metadata.
  • the selection function thus has a "multiple" option which, once chosen, indicates to the extension 102 and to the server 210 that it must implement a structure comparison processing module and a search robot. of analysis working on the visited site. In this way, he does not have to manually select each instance. This is all the more useful as their number may vary from one page to another.
  • Similar metadata may also be derived from semantic analogy search means either in the same site or on other sites in the web. These analog searches can be found in the case of images or data hidden behind the selected metadata and therefore not viewed by the user.
  • the server 210 has recorded in the database 220 a series of records corresponding to the contents and information desired in the form of metadata, as well as one or more agents capable of reproducing the user's journey. on the web and a presentation model that will allow metadata to be visualized on various media, for example: static or dynamic wallpapers, existing software modules (spreadsheet, calendar, maps, games, ...) ).
  • the hierarchy between agents, robots and metadata is expressed by the fact that the agent controls robots that perform tasks described by the metadata.
  • the recorder makes these data structures available to the application so that the application can subsequently access them independently of the pages that contain them.
  • the database 220 is therefore common to the recording server 210 for the creation / modification operations and the application runtime server 240 which is described below.
  • the registered application can be of individual or collective use.
  • the architecture of the system according to the invention allows sharing of applications with other users who would, in this case, have access to all or part of the application framework and its functionalities, depending on the authorizations that would be attached thereto.
  • an execution module 105 When the user wishes to use the application, from a device 1 10, he must have previously downloaded an execution module 105 by connecting to the site of the application server 200. This connection can be multiple ways, either by typing the server address into the browser or from a link on a web page, a mail, or another application. Access to an application may include steps to register for the site, site services (such as creating an application), and access controls (by name and password).
  • the execution module 105 is specific to the device or to a category of devices, in particular to the operating system, to the definition of the screen, its size and the characteristics of its means of interactivity. Indeed, a small screen can not display as many application components as a large screen. Therefore the presentation may differ from one device to another and the application server is responsible for ensuring the necessary adaptation from the knowledge it acquires on the type of device, the connection between the module 105 and the server 200.
  • These adaptation techniques are known and already implemented in the browsers and sites of the web.
  • the recording of the metadata in the database and the extraction of the data are independent of the devices. Only the rendering of the data corresponding to these metadata can be customized according to the device.
  • the registered application includes a descriptive part of the presentation of the application that is adapted to the characteristics of the devices, either when recording in the application database, or when downloading to the device. , both at the same time.
  • the elements necessary for the presentation on a given device are determined, preferably, at the time of downloading the application or at the time of transmission of data by the server. This is actually the model chosen at creation, in which will be able to evolve the rendering of metadata according to the type of device and the preferences of the user.
  • the application 105 on the user side, sends a request to download the description of the application to the server 240. Once downloaded, it contains the list of agents that the application executes. These agents then send robot launch commands to the server. These robots execute requests to the Internet according to the metadata they contain. The data in response then reaches the application that presents them to the user gradually, asynchronously, as described above. More details are provided with Figure 7.
  • the downloaded application 105 can be a browser module or be made from the technologies of a browser whose functions are limited to the only functions necessary in order to reduce the size and optimize its performance.
  • the application 105 can also be a "gadget" capable of interpreting the commands and the HTML and / or XML language.
  • a connection between the record server 210 and the application server 240 allows the execution of the application (in whole or in part) during creation or modification in simulation mode, so as to give a real representation of the application.
  • the application 105 runs in the same device as the browser 101 and the extension 102. It is then an application simulator or a device simulator. It is possible to download several applications or simulator 105 corresponding to different types of devices (in particular for judging rendering on different screen sizes that may affect the layout and readability of application components).
  • Figure 4 shows an example of the steps of the application creation method according to the invention.
  • the left-hand steps U1 to U6 take place on the computer 100 of the user creating the application. Steps S1 to S6 take place on the application server 200
  • Steps U1 and S1 Launch of the browser and its extension. This establishes a connection via the Internet with the server 200. The redirection causes all the computer traffic to pass through the server 200.
  • Step U2 Before starting the search for data on the Internet, the user must choose an application model from a set of predefined templates that are provided by the server 200 (step S2). This is a step of defining the project and displaying the prototype window.
  • the choice of model may take into account the target device (s) whose characteristics may contain limiting factors or require presentation variants.
  • Step S2 Creation of the application file in the database which will contain, among other things, the metadata records as well as the reference of the model chosen in step U2
  • Step U3 The user searches for information on the Web from the browser window
  • Step U4 The user has found relevant information for its application. It proceeds to the selection of this information (for example by clicking on the "selection" button, then by defining a frame surrounding the information) and then dragging it from it into the prototype window. It can also select a multiple selection button.
  • Steps U3 and U4 are repeated until the end of the creation of the application.
  • Step S4 With each addition of information in the prototype by step U4, the server stores the metadata with the corresponding agents and robots.
  • Step U5 At the end of the creation, the user requests the registration of the application
  • Step S5 The server optionally enriches the list of metadata recorded by a search and the metadata record of information similar, then finish the compilation of the data of the application by usual computer means.
  • Step U6 The management of the rights to allow the sharing of all or part of the application optionally requires the interrogation of the user by a questionnaire page.
  • Step S6 The system saves rights management data, closes the application file and makes it available for distribution and execution.
  • FIG. 5 symbolically represents an example of an application file A in the database 220. These are the memory blocks in which the data recorded during an application creation or modification session are written, data that is then read and otherwise exploited by the system during the execution of the application.
  • This file contains an application part and a part about robots. These that can be common to several applications are preferably separated but associated by links.
  • the application part (on the left of the figure) contains:
  • a part A1 which contains the header of the application (name, date, creator, rights, description, etc.), as well as the types of supported devices.
  • a description of the chosen model M which contains a series of characteristics M1, M2, M3, M4, etc. for example, text elements, grids and tables, graphics, multimedia, etc.
  • agents A2, A3, A4, etc. which refer to metadata and their robots, which can be multiplied into sub-agents
  • Robots are generally common to many applications and are linked to applications by links or references. This pooled structure makes it possible to reduce the required memory size, but also to easily enrich the applications as indicated above.
  • Figure 6 shows the details of embodiment of the record server 210.
  • this server is intended to allow the analysis of web browsing carried out by the user during the application creation phase, from his browser 101 and interactivity with its extension 102 through the redirection of browser flows to the server 210.
  • the latter "sees” so pass all these flows.
  • the server 210 implements the technological functions necessary for the analysis of these flows and the creation of the records, that is to say the steps of the method described in FIG. 4, as well as automatic enrichment functions.
  • the recorder server 210 comprises the following elements or modules:
  • a proxy server 21 1 which ensures the transition of all incoming and outgoing traffic (requests and responses) between the user's computer (via network 1) and the rest of the system. It can provide the caching function, including the recording of the dynamic path through different Web pages, queries and responses, localizations on the Web (URLs), user actions performed on each page, to locate and extract the relevant data structures. allowing the metadata records in the database 220.
  • the proxy server is able to listen to the commands of the extension 102 which are not navigation orders.
  • a router 212 which ensures the separation between the requests of the browser 101 intended for the visited information site 300 being analyzed by the user and the requests of the extension 102 intended for the creation of the application (templates, metadata and agents). It allows to separate queries that do not originate elements of the page consulted, but that come indirectly from the toolbox 216, via the extension 102.
  • the requests like the creation of a new application, the choice an application framework model among those proposed in a model database 217, the creation of an agent, its backup, the selection of a metadata, its modification or deletion, etc. are identified by a marker in the request and are redirected to the agent and metadata recorder 214.
  • Objects for application creation are then passed to: A recorder module 214 of the agents, robots and metadata corresponding to the data selected by the user to be part of the target application, in the application database 220. This module therefore makes these data structures available to the user. application so that it can later access independently of the pages of the web that contain them.
  • a filtering and standardization module 215 which ensures consistency between the pages displayed on the browser 101 and the processing operations that are done by the recorder 214, so that, at runtime, the reproduction is in accordance with the original. It allows, among other things, to block certain parasitic messages, certain dynamic scripts. It thus analyzes and decomposes the pages visited in order to identify their data structure and their visualization model. This operation is extended to similar pages of the visited site, to ensure, for example, multiple selections and automatic enrichments from robots and metadata existing in the database, which may come from other users. For example, if the page concerned was never visited (because it would be the first time), and is not known to the server, this page is restored as the browser.
  • the module 215 analyzes this page and adds in the page references to the metadata that are then displayed by the extension the following 216 module tools): the user will then see, for example, a preselected object. If this selection is relevant to the user, it will then only drag and drop to do to fill his application, resulting in a gain in time and simplicity.
  • a "toolbox" 216 which is in the form of an injector additional graphical and semantic functions in the response document, in particular to ensure the selection of metadata. For example, it adds graphical orders and interactivity elements that are exploited by the extension 102 and the browser 101 in the user's selection and identification mechanisms.
  • This toolbox is made in the form of a library of functions in Javascript. One or more functions are selected according to the context to be inserted into the data stream returned to the browser-extension pair 101 -102.
  • a formatting module 218 of the pages consulted, in particular the integration of the functions of the toolbox in the response page and the integration of the markers operated by the routing module. It can also rely on the characteristics of the model which are also extracted from the base of the models 217 to be addressed to the extension 102 and allow a consistent display of the extracted data on the creation station 100 of the user.
  • FIG. 7 represents an exemplary embodiment of the extension 102 of the browser 101.
  • the module 1 10 is dedicated to the management of the window of the browser 1 and the module 1 1 1 to the management of the window of the application frame (one or more) 2.
  • the module 1 10 comprises two types of tools: the selection tools 1 10a which are displayed in the page to display this selection and the control tools 1 10b as the buttons defined and described in FIGS. 1 and 2 .
  • the module 1 1 1 comprises two subsets: A module 1 1 1 1 a that drives the application framework or frames by materializing them using the functions offered by the operating system of the computer, as would an application standard. And a 1 1 1 b module that ensures the choice of the type of interface between the agents and the device (for all types of devices), by interfacing between the server 210 and the management of application frameworks.
  • the application interfaces of the applications that can be produced according to the invention are not limited to touch screen / keyboard / mouse type interfaces (for computers, tablets, telephones), but they also integrate interfaces. vocal, sound and can, more generally, implement all kinds of sensory devices, acquisition and restitution.
  • Figure 8 shows a complete system according to the invention, further comprising a subscriber management system and subscriptions.
  • the creation or modification station 100 is connected via the Internet (not represented) to the recording server 210 which supplies the applications database 220.
  • the recording server 210 Via the server 210, in its role proxy, the creator user is also connected to a subscriber server 250 which manages subscriptions and, more generally, subscriber spaces in a subscriber database 260.
  • This makes it possible to group the various services associated with subscriptions such as identifications and access permissions (name, username, password, email address, etc.) and usage permissions (access rights to all or part of the applications of the database 220, list of applications belonging to the user and pointers to these applications in the database 220 for use or modification, sharing management to other users, copyright management, subscription management and online payment tools).
  • the connection of the device to the execution server 240 and access to the application database 220 requires an authenticated connection to the subscriber server. 250, then the choice of an authorized application for this device and the download of the necessary modules as previously explained.
  • the organization of the records in the application database is carried out in such a way that that the elements common to the applications are not duplicated.
  • the recording servers 220, execution 240, subscriber 250 and the associated databases can be built either centrally or in distributed form, and use any known forms of communication between its components.
  • the invention finds many applications in the increasingly rapid developments of web technologies. It applies more particularly to owners of devices connected to the web, which, by the millions, can find more and more useful and relevant services attached to their devices. Thanks to the invention, each user will be able to design the application or applications to obtain the service or services they want. The success of the first devices of this type and dedicated application stores already confirms that a chain of creation and distribution of applications even simpler, according to the invention, will enable even greater, faster distribution and important commercial developments.
  • the invention applies not only to the devices mentioned for receiving and executing applications (computers, tablets, telephones, televisions, etc.), but also to machines having different acquisition and retrieval interfaces, even if necessary without user interface and human interactivity, as found in machine-to-machine distributed architectures dedicated to performing certain tasks conditioned by external data. In this case, we can consider these machines as equivalent to what is described above, by the fact that the user interface still exists, even if it is deported to one or more other machines.
  • the invention also applies to distributed architectures of "peer-to-peer” type implementing computers in a network rather (or in addition to) than centralized servers, these two types of architecture being considered functionally equivalent.
  • the technical architecture presented can be declined differently, for example distributed rather than centralized, in particular to ensure a massive unfolding of services according to the invention.
  • the invention further proposes, according to some embodiments, a personal application development method for viewing content and services of the web on various devices, from a personal computer operated by a user and connected to a computer.
  • application server characterized in that it comprises the following steps to choose, on the computer, a prototype application framework model intended to display on one or more devices information and contents according to a chosen presentation, and to start a session of recording by the two following iterative operations search and find on the web, by the user, information of the desired type, select them and place them in predefined fields of said application frame, capture, in response to the actions of the user, the metadata corresponding to the selected information and contents and save them successively in a database in the form of one or more agents capable of reproducing the user path, with presentation data adapted to said application frame, ending the recording session, by grouping, in the application server, the agents, the characteristics of the presentation and application framework model, in a structure called "application" data, ready to be distributed and executed on at least one type of device.
  • the invention further proposes, according to some embodiments, a method of executing a personal application made according to the above development method, comprising the following steps to launch an application execution program on the apparatus , which can be either pre-installed or downloaded, connect this runtime program to an application server to choose, download and launch the application that requires data from the server and ensures the display of this data and the interactions between the application.
  • user on the device and extraction of data on the web by the server, control, in response to the actions of the user, by the application server, the agents registered in the application to extract the data canvas, filter, adapt according to the model of presentation of the application, the data extracted by the agents and transmit them to the program of execution which presents them on the device to the user.
  • One of the advantages of the invention results from the combination of two separate parts of the application that cooperate, a part, resident on the device (after download if any) that supports the specificities (functionalities and limitations) of the application. device, user interactions that require server data, and a portion of the application server that supports data management and transmission to the device.
  • This division guarantees, in particular, that an application can be executed on a large number of types of apparatus, the adaptation being carried out at most only on a small part of the set, that is to say the execution program and possibly the application model.
  • the data and contents are then automatically adapted to the model.
  • the invention further proposes, according to some embodiments, a personal application development system for implementing the personal application development method described above, comprising, in combination, for application creation.
  • a browser set with specific development extension pre-installed in a computer, allowing the user to build an application for one or more recipient devices, from, on the one hand, a chosen application model or subsets of pre-existing applications, and secondly, information or content sought and located on the web with the browser, this extension comprising means for redirecting requests and responses from the browser to a registering proxy server, and then, on the one hand, capturing and transmitting to said server data or content selection actions made by the user in a window of the browser, and on the other hand, displaying at least one window of the application model which presents the information selected and deposited from the navigation window to this model window, as well as the interactions between said server and the actions of the user, a recording proxy server which comprises the implementation, during a development session, means for transmitting requests to the sites of the web chosen by the user and for capturing responses, tracking means, extracting and recording, in an application database, agents and metadata corresponding to the information selected by the user ur, these recordings, combined with the application model for the recipient
  • the development actions (creation or modification) of the user are performed and automated by the proxy server which automatically "learns" the requests of the user, then saves the overall result in a file containing the agents and metadata associated with one or more data presentation models.
  • the application can be "replayed” later on different types of devices.
  • the recordings made in response to user selections may be enriched by additional recordings similar to those mentioned above when the pages visited on the canvas or the metadata base contain similar structures.
  • the richness of the applications therefore takes full advantage of the richness of the pages, sites and pre-existing records in the database of applications, in particular, the presence of pre-existing applications, the same user or other users , when sharing is allowed.
  • the invention further proposes, according to certain embodiments, a system for executing an application created by the method of executing an application described above, and the system for developing an application described hereinafter.
  • a system for executing an application created by the method of executing an application described above comprising an interactive display application resident or downloaded on the device of the user, able to connect to the application server, to request a specific application and to ensure the display of the information transmitted by the application server as well as that interactivity with the user, according to criteria that are described in the application, an application server capable of storing and downloading at least one application to a connected device, comprising means for controlling the agent or agents read in the application file and provided for extracting the data on the web, interacting with the user via the visualization application on the apparatus, a set of agents and robots for carrying out said data extractions on the canvas, and means for filtering and adapting the extracted data according to the presentation model described in the recording and transmission to the applicat viewing ion on the device.
  • the record server also includes automatic means for additional captures of metadata corresponding to data of the same type or similar to those selected by the user, in the same page of the site consulted, as well as in other pages of the site.
  • the record server includes means for sharing between users of the metadata and / or all or part of the application database to enable application sharing. , when this sharing is allowed, for creating / modifying and executing applications.
  • the extension includes an interface module (1 1 1b) between the different types of application metadata management agent and the various application technologies. acquisition and rendering interfaces present on the target devices of the applications.
  • the entire browser and the extension are implemented as an integrated development application.
  • the application development system described above further includes one or more application simulators in accordance with the execution system described above.
  • the application development and execution system described above further includes a user subscription server, a user and user space database, and sharing means. applications between users, according to specific rights.
  • the application development and execution system described above includes semantic metadata analogy search means for increasing the automatic extraction of metadata during the creation or modification of an application. .
  • the data of the application are not resident in the apparatus which only contains a visualization module and interaction with the user, nor in the application server which contains only agents , robots and metadata, while benefiting from all the resources, the performances, the updates and the enrichments which it can have.
  • the extracted data can be of any type (text, images, video, sound, interactivity elements, etc. as described later in the definition of the word "metadata").
  • users are not limited to building applications from the only information found on the web, but they can also appropriate all or part of existing applications and combine them differently, or enrich them with more other types of information. They benefit from the data targeted by these applications.
  • enrichments can be proposed and integrated directly by the server, either during creation or modification, or during execution. These can be deduced from the communications between the robots in charge of requests and extractions, or be induced by applications specially developed for this purpose in the server.

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • Software Systems (AREA)
  • Computational Linguistics (AREA)
  • Library & Information Science (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

Un procédé de développement d'une application pour la consultation sur un appareil muni d'un écran d'affichage de contenus et services accessibles par navigation sur la toile, à partir d'un ordinateur opéré par un utilisateur et connecté à un serveur d'applications est proposé, comprenant capturer, en réponse à la sélection par l'utilisateur d'informations et/ou de contenus sur la toile lors d'un parcours de navigation sur la toile, des métadonnées comprenant des informations de description et de location de données et correspondant aux informations et/ou contenus sélectionnés, et enregistrer ces métadonnées, et regrouper dans une structure de données de l'application, les métadonnées, un agent logiciel apte à extraire des informations et/ou contenus de la toile sur la base des métadonnées, et des données de présentation des informations et/ou contenus extraits de la toile.

Description

Procédé et système de développement d'applications de consultation de contenus et services sur un réseau de télécommunication
La présente invention se rapporte au domaine des applications personnelles pour la consultation de contenus, et services se trouvant sur un ou plusieurs réseaux de télécommunication. Elle est plus particulièrement relative aux procédés et systèmes destinés à créer, développer, modifier, distribuer, installer, partager et utiliser une ou plusieurs applications ou programmes personnels sur un ou plusieurs appareils connectés à un réseau de télécommunication tel que l'Internet ou un Intranet, ouvert ou privé, en vue d'utiliser ou consulter des informations et/ou services selon des critères de sélection et de présentation propres à chaque utilisateur. Pour simplifier l'exposé, on utilisera uniquement les termes d"'lnternet" et de "la toile" dans la suite, mais l'invention s'applique aussi bien, sans limitation, aux réseaux privés et Intranet.
Il existe aujourd'hui une grande variété d'appareils permettant à leurs utilisateurs de tirer partie des informations et services de l'Internet : des ordinateurs personnels (de table et portables), des terminaux, des tablettes ou liseuses (à écrans tactiles), des écrans tactiles mobiles (téléphones haut de gamme ou terminaux de poche ou assistants électroniques de poche) connectés à l'Internet via le réseau d'un opérateur mobile ou un accès sans fil, certains téléphones et visiophones, des appareils décodeurs de TV, ainsi que des téléviseurs et des ordinateurs de bord de véhicule.
Cette liste n'est pas limitative et d'autres appareils peuvent s'y ajouter, au fur et à mesure des apports de nouveaux services de télécommunication et d'appareils qui nous entourent. On citera notamment des objets connectés dans des architectures dites "machine à machine".
L'outil de consultation d'information le plus communément utilisé et qui est présent sur la plupart de ces appareils est le navigateur qui intègre un grand nombre de technologies destinées à exprimer la quasi-totalité des fonctions et services proposées sur les sites visités, telles que HTML, Java, Flash, etc. A coté du navigateur, il est possible d'installer des applications, généralement dédiées à un type de service, qui peuvent offrir une ergonomie mieux adaptée à l'appareil, tout en permettant d'accéder aux informations de la toile. Certaines intègrent même un écran de navigateur lorsque le choix de l'utilisateur s'oriente vers des données non prévues par l'application. On assiste progressivement à un rapprochement entre les deux modes de consultations précités.
De nombreuses informations sont disponibles sur Internet. Pour faciliter la recherche d'informations, il existe des moteurs de recherche généralistes (par exemple connu sous les noms de Google, Yahoo, Baidu, etc.) ou verticaux (des annuaires, des comparateurs dans les activités telles que : immobilier, tourisme, emploi, automobile, loisirs, jeux).
Les besoins des utilisateurs concernent le plus souvent des recherches d'informations ou de contenus sur des produits ou des services, des comparaisons de produits ou services (caractéristiques, prix, avis de consommateurs), ainsi que des recherches documentaires, des dépêches de journaux, des achats en ligne, etc.
Cette liste n'est pas exhaustive.
Les utilisateurs ont pris l'habitude de passer du temps d'abord dans une séance de recherche qui nécessite la formulation des besoins, parfois imprécise et souvent difficile, puis une séance de consultation, pendant laquelle l'utilisateur peut souhaiter enregistrer des informations pour une exploitation ultérieure. Si tel est le cas, ces informations sont le plus souvent récupérées par copier coller et souvent stockées dans des fichiers et dossiers dont le classement est nécessaire s'il faut les retrouver ultérieurement. Toutefois, ces informations perdent rapidement de leur fraîcheur et doivent être mises à jour.
Le navigateur "généraliste" cité plus haut présente l'inconvénient de laisser l'utilisateur rechercher par lui-même les sources d'informations qui l'intéressent, gérer ces sources (à l'aide des signets) lorsqu'il décide d'y accéder de façon récurrente, et parfois télécharger des quantités d'informations plus ou moins importantes (des pages entières), même s'il ne s'intéresse qu'à une petite catégorie d'informations.
C'est le cas, par exemple, des comparaisons de produits ou services entre plusieurs fournisseurs, des annonces immobilières, etc.
On trouve par ailleurs des d'applications qui sont développées pour les sites de la toile (dites "applications serveur"), mettant en oeuvre des robots automatiques qui réalisent la collecte et l'agrégation d'informations provenant de multiples sources
(par exemple les dépêches de presse, les offres d'emploi, les comparateurs, etc.), pour les présenter ensuite avec le navigateur comme une page normale. Ces applications nécessitent chacune les compétences de développeurs spécialistes des outils du site serveur et des interfaces de programmation (API). Ces compétences ne sont pas à la portée de tout utilisateur.
On trouve, enfin, des applications développées spécifiquement pour les appareils, qui tirent parti des spécificités du matériel et du système d'exploitation. Elles sont souvent plus performantes. Mais pour les réaliser, elles aussi nécessitent des compétences de développeurs, des outils de développements et de distribution puissants et complexes. Certaines d'entre elles se chargent de la collecte et de la présentation d'informations de la toile, de façon plus pratique qu'avec un navigateur (pour des informations boursières, la météo, des ventes d'occasion, des ventes ou locations immobilières, etc.). Cependant, comme les applications serveur, elles sont développées spécifiquement pour un service particulier, nécessitant des compétences spécifiques dont la connaissance d'interfaces de programmation (API) et elles ne sont souvent qu'une version améliorée des pages Web dudit service, excluant de ce fait les informations de services concurrents. Elles ne sont pas non plus à la portée de tout utilisateur.
Ces applications ne correspondent pas, le plus souvent, aux besoins réels et complets des utilisateurs. Leur ergonomie est imposée par le service et le développeur et ne tient pas compte des goûts personnels des utilisateurs. Ceux-ci souhaitent aussi des rapprochements d'informations de services différents, cas qui est rarement traité de façon satisfaisante. Idéalement, chaque utilisateur souhaiterait pouvoir réaliser lui-même ses applications à la demande. Mais, comme on l'a vu plus haut, ces développements nécessitent beaucoup de temps, des compétences pointues et une expérience de développeur.
La présente invention vise à remédier à ces inconvénients en permettant à la totalité des utilisateurs de la toile (ou d'Intranet), experts ou non, d'accéder et d'exploiter les données et les services qui les intéressent de la manière qui leur convient, et de façon simple et pratique.
Un des buts de l'invention est de permettre à chaque utilisateur, sans compétence particulière de développeur, de réaliser facilement et simplement ses propres applications de consultation de la toile, selon ses propres besoins, ses propres critères de sélection et de présentation des informations, sur n'importe lequel des appareils qu'il peut avoir à sa disposition (ordinateur, mobile, tablette, TV, autres..). Un autre but de l'invention est de permettre à chaque utilisateur de modifier, d'améliorer ses propres applications au gré de son expérience et de l'évolution de ses besoins.
Un autre but de l'invention est de permettre à des utilisateurs de partager des applications ou des parties d'applications réalisées par d'autres utilisateurs, et notamment de pouvoir réutiliser une application existante sans avoir besoin de la réaliser, ainsi que de pouvoir la modifier, l'enrichir à loisir, ou intégrer un module créé par un autre utilisateur en accord avec des règles prédéfinies d'accès et d'autorisation.
A cet effet, un procédé de développement d'une application pour la consultation sur un appareil muni d'un écran d'affichage de contenus et services accessibles par navigation sur la toile, à partir d'un ordinateur opéré par un utilisateur et connecté à un serveur d'applications est proposé selon un premier aspect de l'invention. Le procédé proposé comprend : capturer, en réponse à la sélection par l'utilisateur d'informations et/ou de contenus sur la toile lors d'un parcours de navigation sur la toile, des métadonnées comprenant des informations de description et de location de données et correspondant aux informations et/ou contenus sélectionnés, et enregistrer ces métadonnées, et regrouper dans une structure de données de l'application, les métadonnées, un agent logiciel apte à extraire des informations et/ou contenus de la toile sur la base des métadonnées, et des données de présentation des informations et/ou contenus extraits de la toile.
Une métadonnée est entendue ici comme l'ensemble des critères nécessaires pour retrouver la donnée dans la page de la toile ou sur une autre page de structure similaire, en général au moyen d'agents et de robots.
Dans certains modes de réalisation, le procédé de développement d'une application comprend en outre : enregistrer un parcours de navigation de l'utilisateur sur la toile, et dans lequel l'agent logiciel est apte à reproduire le parcours de navigation enregistré.
Dans certains modes de réalisation, le procédé de développement d'une application comprend en outre : sélectionner parmi une pluralité de modèles de présentation un cadre applicatif prévu pour afficher sur l'écran d'affichage de l'appareil sur lequel l'application est exécutée, des informations et/ou contenus extraits de la toile, et dans lequel la structure de données de l'application comprend le cadre applicatif sélectionné. Dans certains modes de réalisation, le procédé de développement d'une application personnelle comprend en outre : exécuter sur l'ordinateur un programme d'exécution d'application, établir une connexion entre le programme d'exécution d'application exécuté sur l'ordinateur et le serveur d'applications, exécuter l'agent logiciel enregistré dans la structure de données de l'application pour extraire les informations et/ou contenus sélectionnés par l'utilisateur lors de son parcours de navigation sur la base des métadonnées de l'application, adapter selon les données de présentation associées à l'application, les informations et/ou contenus extraits par l'agent logiciel, et afficher les informations et/ou contenus adaptés sur l'écran d'affichage de l'ordinateur.
Selon un autre aspect, l'invention propose un système de développement d'application, comprenant un ordinateur comprenant un processeur et une mémoire couplée au processeur, un serveur enregistreur couplé à une base de données d'applications, dans lequel la mémoire stocke un ensemble logiciel comprenant un logiciel de navigation sur la toile et une extension de développement spécifique du logiciel de navigation pour développer une application destinée à être exécutée sur un appareil muni d'un écran d'affichage, dans lequel l'extension de développement spécifique du logiciel de navigation comprend des instructions pour réaliser : (i) la capture et la transmission au serveur enregistreur, en réponse à la sélection par un utilisateur d'informations et/ou de contenus sur la toile lors d'un parcours de navigation sur la toile, de métadonnées comprenant des informations de description et de location de données et correspondant aux informations et/ou contenus sélectionnés, dans lequel le serveur enregistreur est configuré pour exécuter un logiciel comprenant des instructions pour, pendant une session de développement d'application, recevoir et enregistrer des métadonnées correspondant aux informations et/ou contenus sélectionnés, générer un agent logiciel apte à extraire des informations et/ou contenus de la toile sur la base des métadonnées, recevoir et enregistrer des données de présentation des informations et/ou contenus extraits de la toile, et regrouper et enregistrer dans une structure de données de l'application, les métadonnées, l'agent logiciel, et les données de présentation.
Dans un mode de réalisation particulier du système de développement d'application, l'extension de développement spécifique du logiciel de navigation comprend en outre des instructions pour réaliser la redirection vers le serveur enregistreur des requêtes de navigation et des réponses du navigateur correspondant au parcours de navigation de l'utilisateur, et dans lequel le logiciel du serveur enregistreur comporte en outre des instructions pour enregistrer un parcours de navigation de l'utilisateur sur la toile.
Dans un mode de réalisation particulier du système de développement d'application, le logiciel du serveur enregistreur comporte en outre des instructions pour capturer des métadonnées correspondant à des données du même type ou similaires à celles qui sont sélectionnées par l'utilisateur, dans la même page du site consulté, ainsi que dans d'autres pages du site.
L'utilisateur peut donc avantageusement construire une application très complète mais de façon très simple, à partir seulement d'un nombre réduit de sélections.
Dans un mode de réalisation particulier du système de développement d'application, le logiciel du serveur enregistreur comporte en outre des instructions pour partager entre utilisateurs des métadonnées et/ou de tout ou partie de la base de données d'applications pour permettre le partage entre utilisateurs des applications pour la création/modification et pour l'exécution d'applications.
Ainsi, selon des modes particuliers de réalisation de l'invention, des moyens de partage sont combinés avec la base de données d'application pour permettre le partage de tout ou partie des applications lorsque ce partage est autorisé. Les utilisateurs bénéficiaires peuvent avantageusement modifier les applications partagées pour leur propre compte, en totalité ou en partie. Ils peuvent également modifier les modèles d'application prototype qui leur sont proposés pour les adapter à leurs besoins spécifiques. La construction d'applications sophistiquées peut aussi se faire par la combinaison des applications de plusieurs utilisateurs.
Grâce à ces dispositions, le partage des métadonnées et des structures similaires permet un enrichissement sans effort des applications.
Dans un mode de réalisation particulier du système de développement d'application, l'extension de développement spécifique du logiciel de navigation comprend un module d'interface entre les différents types d'agent logiciel de gestion de métadonnées des applications et les différentes technologies d'interfaces d'acquisition et de restitution présentes sur les appareils cibles des applications. Dans un mode de réalisation particulier du système de développement d'application, l'ensemble logiciel du logiciel de navigation et de l'extension de développement spécifique du logiciel de navigation constitue une application de développement intégrée.
Dans un mode de réalisation particulier, le système de développement d'application comprend en outre un serveur de souscription d'utilisateurs, une base de données d'utilisateurs et d'espaces utilisateurs, et des moyens de partage des applications entre les utilisateurs, selon des droits déterminés.
Dans un mode de réalisation particulier, le système de développement d'application comprend en outre, comprend en outre un moyen de recherche d'analogies sémantiques de métadonnées pour augmenter l'extraction automatique de métadonnées durant la création ou la modification d'une application.
D'autres avantages, buts et caractéristiques de la présente invention se déduiront de la description qui suit, dans un but explicatif et non limitatif, en regard des dessins annexés, dans lesquels :
- La Figure 1 décrit un premier mode opératoire visé par l'invention, pour la création d'une application par un utilisateur.
- La Figure 2 décrit un second mode opératoire visé par l'invention, pour la modification d'une application existante.
- La Figure 3 représente l'architecture générale des moyens mis en oeuvre pour réaliser l'invention.
- La Figure 4 représente les étapes du procédé d'enregistrement d'applications.
- La Figure 5 représente la structure d'un enregistrement d'application.
- La Figure 6 représente un exemple de réalisation du serveur d'enregistrement d'applications.
- La Figure 7 représente un exemple de réalisation de l'extension du navigateur.
- La Figure 8 représente un exemple de réalisation d'un système d'enregistrement, de distribution et de partage d'applications selon l'invention.
Pour faciliter la compréhension de la description qui suit, un certain nombre de termes techniques sont tout d'abord définis :
- Appareil : Il s'agit d'appareils connectés ou connectables à la toile (Internet ou Intranet) et capables d'exécuter au moins une application, tels que : ordinateur de bureau, ordinateur portable, tablette, liseuse (tablette dédiée à la lecture de livres électroniques), téléphone mobile à écran (dits "smartphone" selon la littérature anglo- saxonne), téléphone java ("javaphone", dont le système d'exploitation est à base de Java), téléviseur ou décodeur-récepteur de TV numérique, ordinateur de bord embarqué (dans une voiture, sur un vélo, sur un piéton). Cette liste n'est pas limitative, d'autres appareils étant susceptibles d'exister prochainement sur le marché. Chaque utilisateur peut disposer d'un ou plusieurs appareils. Une caractéristique commune, mais non limitative, de ces appareils est qu'ils contiennent un ou plusieurs organes d'interaction tel que écran, clavier, souris, commande vocale et haut-parleur ou surface tactile, une unité centrale et un système d'exploitation. Leurs organes de visualisation et d'interaction peuvent éventuellement être déportés sur d'autres appareils, via une liaison de télécommunication. Ils disposent de capacités d'accueil d'applications, par téléchargement ou pré installation (avant livraison à l'utilisateur). Cette liste peut aussi s'étendre à des appareils dits "domotiques" d'usage plus spécifiques (centrale de surveillance, de météo, automatismes, etc.) et aux machines faisant partie d'une architecture répartie du type "machine à machine".
- Applications, Navigateur : Les applications (logiciels applicatifs) sont les programmes lancés par l'utilisateur. L'application la plus courante pour la consultation d'information sur la toile est le navigateur. Celui-ci est d'usage très général pour permettre l'accès à pratiquement tous les types d'informations. Il est souvent complété de modules d'extension ("plugin" selon la littérature anglo- saxonne) pour réaliser une ou plusieurs tâches ou fonctions non prévues au départ.
Il existe également de nombreuses applications dédiées à un certain type d'information seulement (cours de bourse, programmes de cinémas, magasins en ligne, réservations d'avion, de train, de taxi, etc.) qui ont été développées exclusivement dans ce but.
Il existe diverses technologies pour réaliser ces applications : les applications natives qui s'exécutent sur l'appareil de façon indépendante et les applications en ligne qui s'exécutent sur un site serveur de la toile et qui s'expriment sur l'appareil grâce au navigateur.
La présente invention concerne un nouveau type d'applications, celui des applications hybrides constituées d'une partie résidante dite "programme d'exécution" qui s'exécute sur l'appareil et d'une partie distante qui s'exécute en ligne sur un site serveur, les 2 parties coopérant via un réseau de télécommunication, notamment pour que la première (programme d'exécution) affiche les données transmises par la deuxième en réponse aux actions de l'utilisateur.
- Métadonnées : Ensemble structuré d'informations servant à décrire une ressource. Une page de la toile est constituée de données structurées présentées graphiquement dans des composants normalisés. Les métadonnées ne sont pas des données, mais sont les descriptions des données ou des critères servant à identifier et décrire les informations de la toile et plus généralement toute ressource documentaire et tous types d'éléments (texte, image, vidéo, son) y compris les éléments d'interactivité (champs d'entrée, listes, formulaires, dialogues, boutons, liens, etc.). Elles servent à baliser ces ressources et permettent une meilleure interopérabilité entre les sources telles que (liste non exhaustive):
- Contenu : titre, sujet, description, source, langue, relation, couverture.
- Propriété intellectuelle : créateur, éditeur, contributeur, droits (droits d'auteur ...).
- Matérialisation : date, type, format, identifiant.
Ces données sont dynamiques, ce qui veut dire qu'elles varient dans le temps, alors que les métadonnées sont constantes. Il est à noter également que deux pages de la toile accessibles à des adresses différentes peuvent présenter des données de structures similaires mais contenant des valeurs différentes. Les métadonnées ne contiennent donc pas les valeurs mais des moyens d'accéder à ces valeurs à l'aide de robots et agents automatiques pour lesquels ces métadonnées sont construites et enregistrées. Les métadonnées trouvent leur pleine utilisation dans la toile sémantique. Celle-ci repose sur les standards généraux de la toile: Protocole HTTP, URI, langage XML, et sur des standards propres à la toile sémantique, le "Resource Description Framework" (RDF), les pformats : ce cadre de référence comporte des modèles de graphe destinés à décrire de façon formelle les ressources de la toile et leurs métadonnées, de façon à permettre le traitement automatique de telles descriptions.
- Enregistrement : élément d'un fichier ou d'une base de données. Dans la présente description, un enregistrement contient un ou plusieurs agents, robots et métadonnées.
- Agent (informatique) et robots : En informatique, un agent est l'équivalent d'un robot logiciel. C'est un programme qui accomplit des tâches à la manière d'un automate, en fonction de ce qui lui est demandé. Traditionnellement un agent pilote un ou plusieurs robots, les robots exécutant des tâches élémentaires. Les robots utilisent les métadonnées pour accéder aux données.
Dans le contexte de la toile, les agents intelligents sont liés à la toile sémantique, dans lequel ils sont utilisés pour faire, à la place des humains, les recherches et les corrélations entre les résultats de ces recherches. Ceci se fait en fonction de règles prédéfinies. Ils sont capables d'une certaine autonomie, en particulier de dialoguer entre eux.
- Mandataire, serveur mandataire: C'est un composant qui se place entre deux autres composants pour faciliter ou surveiller leurs échanges. Un serveur mandataire est mis en place pour assurer le fonctionnement du serveur d'applications, objet de l'invention. La dénomination "serveur" est relative à toutes architectures centralisées ou distribuées y compris les architectures "poste à poste". Les serveurs mandataires sont notamment utilisés pour assurer les fonctions suivantes :
- l'accélération de la navigation : mémoire cache, compression des données, filtrage des contenus;
- la journalisation des requêtes et l'enregistrement des réponses;
- la sécurité du réseau local, le filtrage et l'anonymat.
Les définitions ci-dessus sont données pour information et ne peuvent être considérées comme restrictives.
La Figure 1 décrit un premier mode opératoire simplifié destiné à illustrer le but visé par l'invention, pour la création d'une application simple par un utilisateur ordinaire.
Pour comprendre plus facilement l'invention, la description de ce scénario d'usage, vu de l'utilisateur, permet de présenter les principes essentiels qui respectent les buts de l'invention. Cela rend plus facile la compréhension de l'architecture et des composants du système qui sont décrits plus loin à la Figure 3.
Un utilisateur souhaite construire une mini application destinée à être utilisée sur un ou plusieurs appareils (ordinateur, tablette, téléphone, assistant de poche ou téléviseur), pour explorer un domaine particulier d'informations (ici, des appareils photos du commerce, en vue de préparer un achat par exemple). Il s'agit, d'un catalogue d'appareils, constitué de fiches présentant chacune la photo du produit, son prix, ses caractéristiques et les avis d'utilisateurs, ainsi qu'un outil de recherche. On imagine qu'il pourrait aussi contenir un comparatif et des liens vers les sites marchand respectifs, mais ceci n'est pas représenté.
Pour atteindre ce but, l'utilisateur lance un navigateur dans son ordinateur personnel qui affiche une première fenêtre 1 standard dans laquelle il peut consulter une page 3 d'un site de la toile qu'il aura préalablement recherché, par exemple au moyen d'un des moteurs de recherche connus.
Pour créer cette mini application, le navigateur est doté d'une extension pré installée, qui ajoute des fonctionnalités. Cette extension est supposée installée préalablement, par exemple à l'occasion d'une inscription auprès du site serveur de création d'applications décrit plus loin, dont l'application a besoin pour fonctionner. De manière connue, le site propose le téléchargement et l'installation de cette extension, juste après l'inscription de l'utilisateur, comme tout autre téléchargement d'application.
L'ensemble navigateur + extension peut également être remplacé par une application qui intègre les deux fonctionnalités au préalable, par exemple lorsque l'ordinateur est pré équipé de cette application.
Notons également qu'à la place d'un ordinateur, il est possible d'utiliser une tablette ou tout autre appareil équivalent, du moment que des fonctionnalités équivalentes existent, même sous d'autres formes (par exemple, un écran tactile peut-être équivalent à une souris).
L'une des modifications essentielles apportées par cette extension est la redirection du trafic avec la toile à travers le site serveur d'application. Cette redirection est une fonction existante de configuration du navigateur qui est mise en œuvre par l'extension dès son lancement.
Dans cet exemple simplifié, l'extension affiche, dans une barre de menu spécifique, des boutons de commande permettant de réaliser des fonctions supplémentaires par rapport à celles du navigateur :
- un bouton 1 a pour créer une nouvelle application,
- un bouton 1 b pour modifier une application existante,
- un bouton 1 c pour sélectionner un élément,
- - un bouton 1 d pour enregistrer la fin des opérations,
- un bouton 1 e pour visualiser le résultat dans une fenêtre de simulation.
Le nombre des boutons et de fonctions correspondantes n'est limité ici que pour la clarté de l'exposé, mais d'autres boutons sont possibles, selon le niveau d'enrichissement voulu. Ces boutons sont faits pour transmettre des ordres au serveur d'application non représenté sur cette figure, mais décrit plus loin à la Figure 3, grâce à la redirection du trafic citée précédemment.
En cliquant sur le bouton 1 a, une "vue " ou fenêtre d'application ou "cadre applicatif 2 est créé et s'affiche. Il s'agit d'un prototype vide de la mini application.
Il s'agit plus avantageusement d'un modèle prédéfini prêt à remplir. Car avant la création de cette fenêtre, on supposera que le serveur aura proposé à l'utilisateur un thème d'application parmi un jeu de thèmes préexistant, de la même manière que de nombreuses applications du marché. En choisissant un thème, l'utilisateur choisit aussi le ou les types d'appareils sur lesquels l'application à créer pourra s'exécuter. Dans l'exemple représenté, on suppose que l'utilisateur a choisi un catalogue de fiches de produits, chaque fiche étant prévue pour contenir une image du produit 2c, un prix 2b, une liste des caractéristiques du produit 2d, des avis d'utilisateurs 2e et un champ de recherche 2a parmi l'ensemble des fiches.
Pour garnir ce cadre applicatif, l'utilisateur commence d'abord par rechercher un produit du type souhaité sur la toile. Par exemple, il va sur le site d'une enseigne qui propose un catalogue de produits de cette enseigne. Il repère une image 4 d'un appareil photo qu'il sélectionne avec la souris par exemple, en définissant un cadre autour de l'objet ou en exerçant un clic long. Cette action est transmise au serveur qui peut alors identifier l'image. Pour signifier à l'utilisateur que cette image est identifiée par le serveur, celle-ci est mise en valeur par des moyens connus tels qu'un masque semi transparent, un cadre ou un clignotement. A partir de ce moment, l'utilisateur réalise un glisser déposer de l'image 4 dans la page 3 vers la zone d'image 2c du prototype 2. De la même manière, il continue avec les autres parties de la fiche, par un glisser déposer du texte des caractéristiques 5 sélectionné dans la page 3 vers la zone de caractéristiques 2d du prototype 2, et ainsi de suite pour les rubriques de prix 2b, et d'avis utilisateurs 2e.
A chaque sélection par l'utilisateur, le serveur extrait les métadonnées correspondantes, et les enregistre dans une base de métadonnées (décrite plus loin, à la Figure 3).
L'invention ne se limite pas à la sélection d'objets statiques comme ceux qui sont cités ci-dessus. Elle permet aussi de choisir des objets comportant des actions comme des boutons de calcul, des boutons de navigation, des boutons d'action, des dialogues, des champs de saisie, des listes, des formulaires, des affichages résultats d'actions, etc.
Une fois qu'une fiche est créée, elle est enregistrée et une autre fiche peut être créée. Le procédé continue ainsi jusqu'à ce que l'utilisateur ait enregistré tous les objets qui l'intéressent.
Durant le procédé, l'utilisateur peut modifier un objet à partir du bouton 1 b (par exemple la taille et la position d'un objet dans la fiche, à l'aide de sa souris ou la surface tactile).
Le bouton de test 1 e permet optionnellement le lancement de l'application en mode simulation dynamique pour juger de la qualité du résultat. Il permet de se servir complètement de l'application créée dans le cadre 2 comme si elle avait été téléchargée sous sa forme finale. Cela permet à l'utilisateur de se rendre compte si l'application et si les objets extraits automatiquement de la toile par le serveur répondent à ses attentes.
A la fin de ces opérations, l'utilisateur clique sur le bouton "Enregistrer" 1 d et l'application est finalisée automatiquement par le serveur. L'application est alors prête à être utilisée sur le ou les appareils prévus par l'utilisateur de la manière qui sera expliquée plus loin avec la Figure 3.
Cette application s'exécute alors conformément à la représentation choisie lors de la création (fenêtre 2), mais elle est devenue une application indépendante du navigateur, capable d'afficher des fiches de produits, parmi une liste de fiches, avec une navigation interactive, agrémentée d'un outil de recherche simple.
L'application téléchargée sur l'appareil depuis le serveur contient une partie résidente sur l'appareil, mais ne contient aucune donnée dynamique. La partie résidente prend en charge les fonctionnalités propres de l'appareil comme les fonctions de télécommunication, les affichages, restitutions d'images, sons et vidéo, les interactions avec l'utilisateur. Les contenus des fiches sont garnis à partir des métadonnées enregistrées au cours de la création sur le serveur et les données sont extraites de la page de la toile à partir de ces métadonnées, au moment de la consultation. Les données sont ainsi toujours à jour et sont extraites avec succès même si leur emplacement a changé sur le site d'origine.
Bien entendu, les fiches décrites dans cet exemple peuvent être enrichies par d'autres fonctions comme des classements selon certains critères, des liens vers des sites de la toile qui pourraient activer l'ouverture d'une fenêtre navigateur ou le lancement d'une autre mini application.
L'application enregistrée peut être d'usage strictement individuel mais aussi partagée avec d'autres utilisateurs qui peuvent, dans ce cas, réutiliser tout ou partie du cadre applicatif et de ses fonctionnalités. En effet, comme on le verra plus loin, l'extraction des données, réalisée par le serveur, peut-être mise en commun. Une application simple peut ainsi hériter des efforts d'autres utilisateurs et devenir bien plus riche.
On comprend ainsi le très faible effort nécessaire à la création d'une application, ce qui constitue le but et l'avantage principal de l'invention. Cet avantage est dû au découpage et à la coopération entre le serveur d'applications et l'extension du navigateur utilisée pendant la création. La richesse des applications possibles découle de celle des modèles proposés (qui peuvent être enrichis par les utilisateurs), ainsi qu'aux possibilités de réutilisation et de modification d'applications existantes. Plus le nombre d'utilisateurs est grand, plus la richesse des applications sera grande, grâce à l'imagination des utilisateurs qui participent ainsi au développement du service.
Par ailleurs, l'extension du navigateur peut évidemment proposer un plus grand nombre de boutons et de fonctions (non représentés sur la figure) pour la construction graphique et l'enrichissement de l'application, selon des technologies connues, tels que, par exemple :
- Un bouton "sélection multiple" qui permet d'avertir l'extension et le serveur que la page consultée contient plusieurs objets du même type et que le serveur doit les extraire automatiquement lorsqu'un seul de ces objets est sélectionné. La sélection d'un seul objet peut alors conduire à la création automatique de plusieurs fiches.
- Un bouton "style" qui permettent de changer le graphisme comme la couleur, les styles et la taille des caractères, pour tout ou partie de l'ensemble des données liées aux métadonnées, c'est-à-dire applicable à tous les enregistrements similaires.
- Un bouton "grille" qui permet de faciliter le positionnement des objets dans la vue selon un alignement prédéfini.
- Un bouton "rafraîchissement" de la vue et donc des données et contenus extraits des métadonnées pour assurer la concordance des informations de la vue avec celles de la toile. - Un bouton "fond d'écran" pour illustrer la zone dans laquelle la métadonnée est déposée.
- Un bouton "couches" qui permet de travailler sur plusieurs parties de l'application, de façon indépendantes, ou qui permet de créer des résultats différents dans une même zone, en fonction du parcours de l'utilisateur (par exemple un cours de bourse est représenté soit par la valeur en cours de l'action, soit par le graphe de l'historique de l'action, suivant le contexte lors de l'exécution de l'application...). Ce parcours est visualisable lors de la création par appui sur la touche "couches" qui permet de commuter simplement la signification de la zone modifiable par copier coller ou glisser déposer.
- Un bouton "modification" qui permet de modifier l'enregistrement réalisé ou le modèle choisi.
- Un bouton "partage" qui permet de partager tout ou partie du cadre applicatif et de ses outils associés. Il définit les autorisations d'accès par d'autres utilisateurs aux métadonnées enregistrées. Cela permet à des tiers de prendre, dupliquer, modifier, enrichir l'application.
- Un bouton "source" qui permet a l'utilisateur de retrouver la page de la toile à partir de laquelle il a capturé la ou les métadonnées.
- Un bouton "cadre" qui permet de commuter les actions de l'utilisateur d'un cadre applicatif vers un autre cadre applicatif si plusieurs cadres sont créés ou ouverts simultanément.
- Un bouton "aide" qui permet à l'utilisateur de trouver de l'aide lors de la création de l'application. Un agent, par exemple, pose des questions lorsque les choix sont multiples (lorsque la machine ne peut décider à sa place).
Ainsi une personne qui sait utiliser un navigateur peut créer son application entièrement avec la souris ou les doigts sur un écran tactile. On verra dans la suite de la description comment ces opérations simples aboutissent également à la création automatique d'agents complexes dans le serveur d'applications. Ces agents déchargent l'appareil des opérations concernant les données.
Alors que l'exemple précédent montre une application simple proposant une rubrique, il va de soi que l'invention permet également de créer des applications plus complexes par l'assemblage de plusieurs rubriques ou d'applications simples, chacune occupant un "sous-cadre" ou partie du cadre applicatif. L'exemple de la Figure 2 concerne une telle application. Il présente un autre mode opératoire, qui concerne cette fois une modification d'applications existantes.
Dans la fenêtre du navigateur 1 , avec l'aide de l'extension précitée, l'utilisateur a choisi ou a été conduit à choisir une ou deux applications existantes choisies dans le site du serveur d'applications. Son intention est de construire une nouvelle application à partir des éléments de deux applications existantes. L'une au moins de ces deux applications, ou l'une de leurs rubriques aurait tout aussi bien pu être l'application décrite à la Figure 1 . Dans cet exemple, les deux applications comportent plusieurs rubriques et constituent le point de départ. Ces applications sont représentées côte à côte dans la fenêtre du navigateur 1 sous la forme des cadres 3 et 4 respectivement. Chacun d'eux comprend trois rubriques, sous forme de liste déroulantes par exemple, pour l'une, des destinations de voyages 31 (avec photo, description, prix), des horaires aériens 32 et des réservations d'hôtels 33, et pour l'autre, des festivals musicaux 41 , des représentations théâtrales 42 et des horaires de trains 43.
En sélectionnant l'un des cadres (4 par exemple) et le bouton "Modifier" 1 b, une fenêtre d'application prototype ou "cadre applicatif 2 s'affiche. Celui-ci recopie, comme point de départ, les 3 cadres de l'application d'origine, 41 , 42, 43 qui deviennent 21 , 22 et 23. L'utilisateur décide alors de remplacer la rubrique 21 (ex 41 ) par la rubrique 31 du cadre 3. Il le fait par un simple glisser déposer vers le cadre 2. De plus il décide d'ajouter la rubrique 32 par un glisser déposer du cadre 3 vers le cadre 2, l'arrivée se situant entre les rubriques 21 -22 et 23. Les cadres de ces rubriques se réduisent en taille par des modifications de style automatiques et s'écartent pour laisser la place à la nouvelle rubrique 24. Toutes ces opérations automatiques sont réalisées par des interactions entre le serveur d'application et l'extension du navigateur, par des échanges de données et de commande invisibles à l'utilisateur qui n'a fait qu'un simple glisser déposer. Cette opération a permis de désigner complètement le sous-cadre source 32 dans le cadre 3, le cadre destination 2 et l'emplacement d'arrivée situés entre les sous-cadres 21 , 22 et 23. Les dimensionnements et modifications de style automatiques découlent des caractéristiques des cadres, tout étant connu du serveur d'applications.
On en déduit aisément comment l'utilisateur peut modifier l'une ou l'autre des applications élémentaires composantes de l'application 2 : il suffit de la sélectionner et le scénario décrit à la Figure 1 se déroule comme décrit précédemment : Les pages de la toile pointées par cette application unitaire peuvent apparaître alors successivement dans la fenêtre 1 . L'enregistrement des modifications d'une application élémentaire est suivi du retour à l'application globale qui contient cette composante, jusqu'à l'enregistrement de l'application globale modifiée.
La simplicité du mode opératoire est donc maximale, du point de vue de l'utilisateur. Cette simplicité résulte du découpage et de la répartition, selon l'invention, des fonctions qui interagissent entre le serveur et l'extension du navigateur.
Ces opérations sont décrites ci-après.
La Figure 3 représente l'architecture générale du système mis en oeuvre pour l'invention et notamment pour réaliser les scénarios d'usage décrits précédemment. Cette figure représente deux chaînes de moyens : une chaîne de création et de modification d'application et une chaîne d'exécution d'application, qui partagent des éléments en commun.
Tout d'abord, la chaîne de création, modification d'application est décrite ci- après :
L'utilisateur qui souhaite créer ou modifier une application dispose d'un ordinateur 100 comprenant un navigateur 101 (l'un au moins des navigateurs existant) et une extension 102 conçue spécifiquement pour interagir avec le serveur d'applications 200, à travers l'Internet 1 . Cette extension 102 est supposée déjà intégrée au navigateur, soit par le constructeur dans le procédé de fabrication de l'ordinateur, soit par l'utilisateur, par exemple lors d'une connexion et une souscription ou inscription au site du serveur d'application, afin d'obtenir les moyens et autorisations nécessaires. Le serveur 200 est constitué de plusieurs sous- ensembles détaillés plus loin.
Selon une première forme de réalisation possible, cette extension peut être avantageusement réalisée en langage "Javascript" et téléchargée par le site du serveur d'applications. Des détails de réalisation de cette extension sont donnés plus loin avec la Figure 7.
Selon une autre forme de réalisation, l'extension et le navigateur peuvent ne former qu'une seule et même application intégrée 103, dédiée à cet usage.
Selon le premier mode opératoire (Figure 1 ), le lancement de l'extension 102 provoque une modification des paramètres de connexion à l'Internet 1 de l'ordinateur 100, de telle sorte que toutes les connexions (requêtes et réponses) à des sites d'information 300 soient redirigées à travers le serveur d'application désigné globalement sous la référence 200, et plus exactement à travers un serveur enregistreur 210 qui réalise aussi les fonctions d'enregistreur d'applications.
Cette redirection est réalisée par une simple modification des préférences du navigateur. La connexion entre l'ordinateur 100 et le serveur 210 est alors protégée comme une liaison dans un réseau local et sous contrôle total du serveur 210.
On peut dire, pour simplifier que cette extension réalise un déport des opérations informatiques de l'extension vers le serveur 210, de sorte que seuls les affichages et les interactions avec l'utilisateur restant sur l'ordinateur de l'utilisateur.
L'extension 102 ouvre également une fenêtre dite "cadre applicatif (comme la fenêtre 2 des Figure 1 et 2, mais non représenté sur la Figure 3) dans laquelle l'utilisateur construit progressivement l'application qu'il souhaite utiliser plus tard. Les actions de l'utilisateur dans la fenêtre du navigateur et dans le cadre applicatif sont transmises au serveur 210. Les traitements consécutifs à ces actions sont réalisés par le serveur qui, en retour, pilote les affichages dans cette fenêtre et ce cadre.
La création de l'application se fait en analysant le parcours naturel des pages Web sur le site Internet 300 depuis le navigateur 101 . Une capture automatique des éléments constituant de l'application en cours de création est réalisée, selon l'invention, par les fonctionnalités qui sont ajoutées au navigateur grâce à l'extension 102 en interaction avec le serveur 210.
Par exemple la position de la partie visible d'une page Web dans le cadre, une sélection d'une zone de texte ou d'une image, sont transmises au serveur sous forme d'index dans le code source de la page.
Cette extension 102 met également à disposition de l'utilisateur des fonctions de départ, sélection, modification et fin d'enregistrement d'une application, ainsi que bien d'autres fonctions telles que celles qui sont listées précédemment à la description de la Figure 1 . Une fois le début de l'enregistrement réalisé, l'application est automatiquement créée dans le serveur 200 sous forme d'un fichier contenant des enregistrements caractérisant le modèle d'application, les appareils cibles et les objets qui seront présentés ensuite par l'application finale lors de son exécution.
Ce fichier d'application est plus avantageusement enregistré dans une base de données 220, la technologie des bases de données étant mieux adaptée pour organiser les enregistrements de sorte que les applications soient partagées par un grand nombre d'utilisateurs. La fonction de sélection donne le moyen de sélectionner non pas une simple donnée mais une métadonnée, c'est-à-dire la description et la localisation de la donnée. La donnée peut être une chaîne de caractère textuelle, une image, une vidéo, un lien vers une autre page, etc. A chaque sélection, le système identifie, par des critères pertinents, comment retrouver la donnée sur la toile.
Ce serveur mémorise dans la base de données 220 non seulement les métadonnées sélectionnées mais aussi le ou les agents et robots qui permettront de reproduire le parcours que l'utilisateur fait sur l'ensemble de la toile entre le début et la fin d'enregistrement, c'est à dire, au minimum, l'historique de navigation par l'utilisateur.
Il peut donc naviguer le plus naturellement possible et, lorsque qu'il souhaite sélectionner une donnée, le système met en oeuvre une fonction de capture des métadonnées qui peut être avantageusement un cadre de sélection dans la page visualisée ou toute autre forme de "sélection" selon l'interface utilisateur habituelle proposée par le constructeur de l'ordinateur. L'affichage de ce cadre dans la fenêtre du navigateur est une fonction de l'extension 102. L'extraction des métadonnées correspondant aux cadre de sélection est une fonction du serveur 210 qui possède, en cache, la page complète qu'affiche le navigateur et qui, du fait de la sélection, est capable de déterminer la portion du code HTML, XML ou autre qui correspond à cette sélection, ainsi que les coordonnées (URL de la page et position dans la page, au moins) pour y accéder par la suite.
La possibilité et la représentation du glisser déposer qui permet de positionner la donnée sélectionnée dans le cadre applicatif est une autre fonction de l'extension en interaction avec le serveur 210. L'enregistrement de la métadonnée se réalise au moment du dépôt de la donnée sélectionnée dans le cadre applicatif.
Les actions de l'utilisateur dans la fenêtre du navigateur sont donc transmises au serveur 210, et associées aux paramètres des données sélectionnées et extraites de telle sorte que le serveur identifie exactement les métadonnées correspondantes et leur intégration dans l'application, par un enregistrement de cette métadonnée dans la base de données 220.
Le serveur 210 fonctionne donc comme un enregistreur avec une action "début d'enregistrement" et une action "fin d'enregistrement". Entre les deux, des actions "capture" sont matérialisées par des enregistrements dans la base de données 220. Le système d'extraction définit donc une métastructure qui peut être copiée- collée ou glissée-déposée dans le cadre applicatif. Une fois déposées dans le cadre applicatif (vue, page, etc.), les structures collectées sont affichées dans un composant approprié (une grille, une liste, une galerie, ...) qui fait partie de la définition du modèle choisi au départ.
Une application finale est donc constituée d'un ou plusieurs de tels composants.
Une application peut être aussi un composant.
Une application peut être aussi un assemblage d'autres applications.
Ce cadre applicatif permet de préparer l'application destinée à être redistribuée sur des supports variés ( ordinateur, téléphone mobile, tablette, télévision, etc.) qui peuvent imposer des variantes de présentation des même contenus (tailles et types de caractères, nombre de caractères par ligne, défilements et zoom, etc.).
Ce cadre permet de visualiser le rendu des métadonnées, c'est-à-dire la manière dont les données définies par les métadonnées seront visualisées par l'utilisateur après redistribution. L'utilisateur crée ainsi une image de la manière dont il voudra utiliser ce qu'il a capturé et enregistré.
Dans ce dessein des outils graphiques sont mis à sa disposition, qui sont appliqués à chaque métadonnée et concernent donc toutes les données liées à cette métadonnée.
La fonction de sélection offerte par l'extension, en combinaison et en relation avec le serveur enregistreur 210, lui permet d'identifier non seulement la donnée qu'il visualise à l'instant, mais également les données futures situées à la même place dans la page, ou bien dans une autre page avec une structure similaire.
Dans le cas d'une sélection simple, comme représenté sur la Figure 1 , la sélection d'un élément par l'utilisateur entraîne la création de la métadonnée correspondante. Par une simple opération de copier-coller ou glisser-déposer, le déplacement de la sélection vers la fenêtre applicative est traduit par le serveur 210 en un lien entre la métadonnée et le composant qui va la visualiser ou l'utiliser dans la nouvelle application. La sélection est facilitée par une mise en évidence de la sélection par une méthode visuelle qui peut-être un sur-lignage, un clignotement, un scintillement, un détourage, un encadré ou toute autre méthode de visualisation équivalente. L'enregistrement d'une métadonnée peut aussi permettre l'enregistrement multiple d'autres métadonnées associée à la métadonnée sélectionnée, même si elles ne sont pas visualisées. C'est le cas des pages Web composées d'énumération de données simples ou complexes. On peut citer par exemple un catalogue de produits sous forme d'une grille dont chaque cadre décrit un produit. L'utilisateur peut avoir besoin de capturer l'ensemble des données de tous les produits en ne sélectionnant qu'un seul produit. Pour ce faire, l'utilisateur peut utiliser un bouton spécial de "sélection multiple" qui lance alors un moyen technique de sélection automatique des données similaires à celle de la donnée sélectionnée qui seront associées à la même métadonnée.
La fonction de sélection dispose donc d'une option "multiple" qui, une fois choisie, indique à l'extension 102 et au serveur 210 qu'il doit mettre en œuvre un module de traitement de comparaison de structures et un robot de recherche et d'analyse travaillant sur le site visité. De cette façon, il n'est pas obligé de sélectionner manuellement chaque occurrence. Cela est d'autant plus utile que leur nombre peut-être variable d'une page à l'autre.
Des métadonnées similaires peuvent également être issues d'un moyen de recherche d'analogies sémantiques soit dans le même site, soit sur d'autres sites de la toile. Ces recherches analogiques peuvent se rencontrer dans le cas d'images ou données cachées derrière la métadonnée sélectionnée et donc non visualisées par l'utilisateur.
Une fois l'enregistrement terminé, le serveur 210 a enregistré dans la base de données 220 une série d'enregistrements correspondant aux contenus et informations souhaitées sous forme de métadonnées, ainsi qu'un ou plusieurs agents capable de reproduire le parcours de l'utilisateur sur la toile et un modèle de présentation qui permettra aux métadonnées d'être visualisées sur des supports variés, par exemple : des fonds d'écrans statiques ou dynamiques, des modules logiciels existant (tableur, agenda, cartes géographiques, jeux,...).
Dans la pratique, la hiérarchie entre les agents, robots et métadonnées s'exprime par le fait que l'agent commande des robots qui exécutent des tâches décrites par les métadonnées.
L'enregistreur met ces structures de données à disposition de l'application pour que celle-ci puisse ultérieurement y accéder indépendamment des pages qui les contiennent. La base de données 220 est donc commune au serveur enregistreur 210 pour les opérations de création/modifications et au serveur d'exécution applications 240 qui est décrit plus loin.
L'application enregistrée peut être d'usage individuel ou collectif. L'architecture du système selon l'invention permet des partages d'applications avec d'autres utilisateurs qui auraient, dans ce cas, accès à tout ou partie du cadre applicatif et de ses fonctionnalités, selon les autorisations qui y seraient attachées.
Maintenant la chaîne d'exécution d'applications est décrite ci-après :
Lorsque l'utilisateur souhaite utiliser l'application, à partir d'un appareil 1 10, il devra avoir téléchargé au préalable un module d'exécution 105 en se connectant au site du serveur d'applications 200. Cette connexion peut se faire de multiples manières, soit en tapant l'adresse du serveur dans le navigateur ou à partir d'un lien sur une page de la toile, un mèl, ou une autre application. L'accès à une application peut comporter des étapes d'inscription au site, aux services du site (comme la création d'application) et des contrôles d'accès (par nom et mot de passe).
Du fait de la différence de nature des appareils, selon l'invention, le module d'exécution 105 est spécifique à l'appareil ou à une catégorie d'appareils, notamment au système d'exploitation, à la définition de l'écran, à sa taille et aux caractéristiques de ses moyens d'interactivité. En effet, un petit écran ne peut pas afficher autant de composants applicatifs qu'un grand écran. Par conséquent la présentation peut différer d'un appareil à un autre et le serveur d'application se charge d'assurer l'adaptation nécessaire à partir de la connaissance qu'il acquiert sur le type d'appareil, à la connexion entre le module 105 et le serveur 200. Ces techniques d'adaptation sont connues et déjà mises en œuvre dans les navigateurs et les sites de la toile.
Selon une caractéristique de l'invention, l'enregistrement des métadonnées dans la base de donnée et l'extraction des données sont indépendants des appareils. Seul le rendu des données correspondant à ces métadonnées peut être personnalisé en fonction de l'appareil. Pour ce faire, l'application enregistrée comporte une partie descriptive de la présentation de l'application qui est adaptée aux caractéristiques des appareils, soit lors de l'enregistrement dans la base de donnée d'application, soit lors du téléchargement sur l'appareil, soit les deux à la fois. Les éléments nécessaires à la présentation sur un appareil donné sont déterminés, de préférence, au moment du téléchargement de l'application ou au moment de la transmission des données par le serveur. Il s'agit en fait du modèle choisi à la création, dans lequel pourront évoluer le rendu des métadonnées selon le type d'appareil et les préférences de l'utilisateur.
C'est une application générique, indépendante des données, des métadonnées et de leur représentation, qui s'exécute sur l'appareil (donc dépendant du matériel et du système d'exploitation de celui-ci). Les constructeurs des appareils fournissent habituellement des outils de développement de telles applications. Du fait de l'indépendance entre les applications et les données, une seule application générique peut supporter de nombreux modèles d'applications enregistrées, qui permettent d'afficher de nombreux types de données, avec des fonctionnalités variables et des sujets différents. Un jeu de modèles associés à une application générique peut donc suffire à supporter une grande variété d'applications supportant toutes sortes de données.
L'application 105, côté utilisateur, envoie une requête de téléchargement de la description de l'application au serveur 240. Une fois téléchargée, celle-ci contient la liste d'agents que l'application exécute. Ces agents envoient alors des ordres de lancement des robots au serveur. Ces robots exécutent les requêtes vers l'Internet conformément aux métadonnées qu'ils contiennent. Les données en réponses parviennent ensuite à l'application qui les présente à l'utilisateur progressivement, de manière asynchrone, conformément à la description précitée. Plus de détails sont fournis avec la Figure 7.
L'application téléchargée 105 peut être un module navigateur ou être réalisée à partir des technologies d'un navigateur dont les fonctions sont limitées aux seules fonctions nécessaires afin d'en réduire la taille et d'optimiser ses performances. L'application 105 peut être aussi un "gadget" capable d'interpréter les commandes et le langage HTML et/ou XML.
D'autres exemples de réalisation sont donnés plus loin en ce qui concerne les récepteurs d'applications.
Optionnellement, une connexion entre le serveur enregistreur 210 et le serveur d'applications 240 permet l'exécution de l'application (en tout ou partie) pendant la création ou la modification en mode simulation, de façon à donner une représentation réelle de l'application. Dans ce cas, l'application 105 s'exécute dans le même appareil que le navigateur 101 et l'extension 102. Il s'agit alors d'un simulateur d'application ou un simulateur d'appareil. Il est possible de télécharger plusieurs applications ou simulateur 105 correspondant à différents types d'appareils (en particulier pour juger du rendu sur différentes tailles d'écran qui peut influer sur la disposition et la lisibilité des composants de l'applications).
La Figure 4 représente un exemple des étapes du procédé de création d'application selon l'invention.
Les étapes de gauche U1 à U6 se déroulent sur l'ordinateur 100 de l'utilisateur créateur d'application. Les étapes S1 à S6 se déroulent sur le serveur d'applications 200
Etapes U1 et S1 : Lancement du navigateur et son extension. Celle-ci établit une connexion via Internet avec le serveur 200. La redirection fait que tout le trafic de l'ordinateur passe par le serveur 200.
Etape U2 : Avant de démarrer la recherche de données sur Internet, l'utilisateur doit choisir un modèle d'application parmi un ensemble de modèles prédéfinis qui sont proposés par le serveur 200 (étape S2). C'est une étape de définition du projet et d'affichage de la fenêtre prototype. Le choix du modèle peut tenir compte du ou des appareils cibles dont les caractéristiques peuvent contenir des facteurs limitant ou nécessiter des variantes de présentation.
Etape S2 : Création du fichier d'application dans la base de données qui contiendra, entre autres, les enregistrements de métadonnées ainsi que la référence du modèle choisi à l'étape U2
Etape U3 : L'utilisateur procède à la recherche d'information sur le Web à partir de la fenêtre du navigateur
Etape U4 : L'utilisateur a trouvé une information pertinente pour son application. Il procède à la sélection de cette information (par exemple en cliquant sur le bouton "sélection", puis en définissant un cadre entourant l'information) et ensuite au glisser déposer de celle-ci dans la fenêtre prototype. Il peut également sélectionner un bouton de sélection multiple.
Les étapes U3 et U4 se répètent jusqu'à la fin de la création de l'application. Etape S4 : A chaque ajout d'une information dans le prototype par l'étape U4, le serveur enregistre les métadonnées avec les agents et robots correspondants.
Etape U5 : A la fin de la création, l'utilisateur demande l'enregistrement de l'application
Etape S5 : Le serveur enrichit éventuellement la liste des métadonnées enregistrées par une recherche et l'enregistrement de métadonnées d'informations similaires, puis termine la compilation des données de l'application par des moyens informatiques habituels.
Etape U6 : La gestion des droits pour permettre le partage de tout ou partie de l'application nécessite optionnellement l'interrogation de l'utilisateur par une page questionnaire.
Etape S6 : Le système enregistre les données de gestion de droits, procède à la fermeture du fichier d'application et sa mise à disposition pour distribution et exécution.
D'autres manières de procéder à la création d'applications sont possibles et équivalentes. Notamment, il est possible de rechercher d'abord toutes les informations potentiellement intéressantes (répétition de la seule étape U3) puis de disposer les seules informations pertinentes pour l'utilisateur dans le cadre applicatif (répétition de l'étape U4).
La Figure 5 représente de façon symbolique un exemple de fichier d'application A dans la base de données 220. Il s'agit des blocs mémoire dans lesquels sont écrites les données enregistrées au cours d'une session de création ou modification d'application, données qui sont ensuite lues et exploitées par d'autres moyens du système au cours de l'exécution de l'application.
Ce fichier contient une partie application et une partie concernant les robots. Ceux-ci pouvant être commun à plusieurs applications sont donc de préférence séparés mais associés par des liens.
La partie application (à gauche de la figure) contient :
- Une partie A1 qui contient l'entête de l'application (nom, date, créateur, droits, description, etc.), ainsi que les types d'appareils supportés.
- Une description du modèle choisi M, qui contient une série de caractéristiques M1 , M2, M3, M4, etc. qui peuvent se rapporter, par exemple, aux éléments de texte, de grilles et tableaux, de graphiques, de multimédia, etc.
- Une série d'agents A2, A3, A4, etc. qui se référencent à des métadonnées et leurs robots, qui peuvent être démultipliés en sous-agents
(par exemple s'il s'agit d'une sélection multiple) A21 , A22, A23, etc. Ces agents pointent alors vers l'autre partie qui concerne des robots R1 , R2, R3, etc. et groupes de robots R1 1 , R12, R13, etc. Chaque robot contient la métadonnée qui constitue la tâche qu'il doit faire. Les robots sont généralement communs à plusieurs applications et sont liés aux applications par des liens ou références. Cette structure avec mise en commun permet de réduire la taille mémoire nécessaire, mais aussi d'enrichir facilement les applications comme indiqué précédemment.
La Figure 6 représente les détails de réalisation du serveur enregistreur 210.
Rappelons que ce serveur a pour but de permettre l'analyse de la navigation Web effectuée par l'utilisateur en phase de création d'application, à partir de son navigateur 101 et en interactivité avec son extension 102 grâce à la redirection des flux du navigateur vers le serveur 210. Ce dernier "voit" donc passer tous ces flux. Le serveur 210 met en oeuvre les fonctions technologiques nécessaires à l'analyse de ces flux et la création des enregistrements, c'est à dire les étapes du procédé décrit à la Figure 4, ainsi que des fonctions d'enrichissement automatiques.
Le serveur 210 enregistreur comprend les éléments ou modules suivants :
- Un serveur mandataire 21 1 qui assure la transition de l'ensemble du trafic entrant et sortant (requêtes et réponses) entre l'ordinateur de l'utilisateur (via le réseau 1 ) et le reste du système. Il assure éventuellement la fonction de cache, notamment l'enregistrement du parcours dynamique à travers différentes pages Web, requêtes et réponses, localisations sur le Web (adresses URL), actions utilisateurs effectuées sur chaque page, pour localiser et extraire les structures de données pertinentes permettant les enregistrements de métadonnées dans la base de données 220. Le serveur mandataire est capable d'écouter les commandes de l'extension 102 qui ne sont pas des ordres de navigation.
- Un aiguilleur 212 qui assure la séparation entre les requêtes du navigateur 101 destinées au site d'informations visité 300 en cours d'analyse par l'utilisateur et les requêtes de l'extension 102 destinés à la création de l'application (modèles, métadonnées et agents). Il permet de séparer des requêtes qui n'ont pas pour origine des éléments de la page consultée, mais qui proviennent indirectement de la boîte à outils 216, via l'extension 102. Les demandes comme la création d'une nouvelle application, le choix d'un modèle de cadre applicatif parmi ceux qui sont proposés dans une base de modèles 217, la création d'un agent, sa sauvegarde, la sélection d'une métadonnée, sa modification ou suppression , etc. sont identifiées grâce à un marqueur dans la requête et sont redirigées vers l'enregistreur d'agents et de métadonnées 214.
Les objets destinés à la création d'application sont ensuite transmis à : - Un module enregistreur 214 des agents, robots et métadonnées correspondant aux données sélectionnées par l'utilisateur pour faire partie de l'application cible, dans la base de données d'applications 220. Ce module met donc ces structures de données à disposition de l'application pour que celle-ci puisse ultérieurement y accéder indépendamment des pages de la toile qui les contiennent.
Les réponses en retour du site consulté, via le réseau 1 sont traitées successivement par :
- Un module de filtrage et de normalisation 215 qui assure la cohérence entre les pages affichées le navigateur 101 et les traitements qui sont faits par l'enregistreur 214, de façon que, à l'exécution, la restitution soit conforme à l'original. Il permet, entre autres, de bloquer certains messages parasites, certains scripts dynamiques. Il assure ainsi l'analyse et la décomposition des pages visitées de manière à identifier leur structure de données et leur modèle de visualisation. Cette opération est étendue aux pages similaires du site visité, pour assurer, par exemple, les sélections multiples et les enrichissements automatiques à partir des robots et métadonnées existant dans la base de données, pouvant provenir d'autres utilisateurs. A titre d'exemple, si la page concernée n'a jamais été visitée (car ce serait la première fois), et n'est pas connue du serveur, cette page est restituée telle que au navigateur. Par contre, si la page est déjà connues du serveur et déjà associée à un robot (avec des métadonnées), alors le module 215 analyse cette page et ajoute dans la page des références aux métadonnées qui sont alors visualisées par l'extension (avec l'aide des outils du module 216 suivant) : l'utilisateur verra alors apparaître, par exemple, un objet présélectionné. Si cette sélection est pertinente pour l'utilisateur, il n'aura alors que le glisser déposer à faire pour garnir son application, d'où un gain en temps et en simplicité.
- Une "boîte à outils" 216 qui se présente sous forme d'injecteur de fonctions supplémentaires graphiques et sémantiques dans le document de réponse, notamment pour assurer la sélection de métadonnées. Elle ajoute par exemple des ordres graphiques et des éléments d'interactivité qui sont exploités par l'extension 102 et le navigateur 101 dans les mécanismes de sélection et d'identification de données par l'utilisateur. Cette boîte à outils est réalisée sous la forme d'une librairie de fonctions en Javascript. Une ou plusieurs fonctions sont sélectionnées en fonction du contexte pour être insérées dans le flot de données renvoyé au couple navigateur-extension 101 -102. - Un module de mise en forme 218 des pages consultées, notamment l'intégration des fonctions de la boîte à outils dans la page de réponse et l'intégration des marqueurs exploités par le module d'aiguillage. Il peut aussi s'appuyer sur les caractéristiques du modèle qui sont aussi extraites de la base des modèles 217 pour être adressées à l'extension 102 et permettre un affichage conforme des données extraites sur le poste de création 100 de l'utilisateur.
La Figure 7 représente un exemple de réalisation de l'extension 102 du navigateur 101 .
Celle-ci contient deux modules principaux 1 10 et 1 1 1 . Le module 1 10 est dédié à la gestion de la fenêtre du navigateur 1 et le module 1 1 1 à la gestion de la fenêtre du cadre applicatif (un ou plusieurs) 2.
Le module 1 10 comprend deux types d'outils : les outils de sélection 1 10a qui s'affichent dans la page pour visualiser cette sélection et les outils de commande 1 10b comme les boutons définis et décrits à l'occasion des figures 1 et 2.
Le module 1 1 1 comprend deux sous-ensembles : Un module 1 1 1 a qui pilote le ou les cadres applicatifs en les matérialisant à l'aide des fonctions offertes par le système d'exploitation de l'ordinateur, comme le ferait une application standard. Et un module 1 1 1 b qui assure le choix du type d'interface entre les agents et l'appareil (pour tous les types d'appareils), en faisant l'interface entre le serveur 210 et la gestion des cadres applicatifs.
D'une manière générale, les interfaces applicatives des applications qui peuvent être produites selon l'invention, ne sont pas limitées à des interfaces de type écran tactile/clavier/souris (pour ordinateurs, tablettes, téléphones), mais elles intègrent également des interfaces vocales, sonores et peuvent, plus généralement, mettre en œuvre toutes sortes de dispositifs sensoriels, d'acquisition et de restitution.
La Figure 8 représente un système complet selon l'invention, comportant en outre un système de gestion d'abonnés et d'abonnements.
Comme décrit à la figure 3, le poste de création ou modification 100 est connecté, via l'Internet (non représenté) au serveur d'enregistrement 210 qui alimente la base de données d'applications 220. Via le serveur 210, dans son rôle mandataire, l'utilisateur créateur est aussi connecté à un serveur d'abonnés 250 qui gère des abonnements et, plus généralement, des espaces abonnés dans une base de données d'abonnés 260. Celle-ci permet de regrouper les différents services associés aux abonnements tels que les identifications et les autorisations d'accès (nom, pseudo, mot de passe, adresse mèl, etc.) et les autorisations d'usages (droits d'accès à tout ou partie des applications de la base de données 220, liste des applications appartenant à l'utilisateur et pointeurs vers ces applications dans la base 220 pour utilisation ou modification, gestion du partage vers d'autres utilisateurs, gestions de droits d'auteur, gestion des cotisations et outils de paiement en ligne).
De même, pour l'exécution d'une application sur un appareil 500, la connexion de l'appareil au serveur d'exécution 240 et l'accès à la base de données d'applications 220 nécessite une connexion authentifiée au serveur d'abonnés 250, puis le choix d'une application autorisée pour cet appareil et le téléchargement des modules nécessaires comme expliqué précédemment.
Puisque le partage d'applications est possible, sous certaines conditions techniques, juridiques et commerciales gérées par le serveur d'abonnés 250 selon certaines conditions d'utilisation, l'organisation des enregistrements dans la base de données d'applications est réalisée de telle sorte que les éléments communs aux applications ne sont pas dupliqués.
La réalisation technique des composants d'un tel ensemble "client-serveur" fait appel, pour chacune d'eux, à des technologies connues qui sont à la portée de l'homme de l'art.
En particulier, les serveurs d'enregistrement 220, d'exécution 240, d'abonnés 250 et les bases de données associés peuvent être construits tout aussi bien sous forme centralisée ou sous forme répartie, et utiliser toutes formes connues de communication entre ses composants.
Par ailleurs, il est tout aussi envisageable d'embarquer une petite partie des traitements des serveurs ci-dessus dans chaque appareil ou dans certains des appareils, notamment ceux qui restent connectés au réseau en permanence ou presque. Des technologies de type "port à port" sont bien adaptées à cela.
L'invention trouve de nombreuses applications dans les développements de plus en plus rapides des technologies de la toile. Elle s'applique plus particulièrement aux possesseurs d'appareils connectés à la toile, qui, par millions, peuvent trouver de plus en plus de services utiles et pertinents, attachés à leurs appareils. Grâce à l'invention, chaque utilisateur sera capable de concevoir la ou les applications pour obtenir le ou les services qu'ils souhaitent. Le succès des premiers appareils de ce type et des magasins d'application qui leur sont dédiés confirme déjà qu'une chaîne de création et de distribution d'applications encore plus simple, selon l'invention, permettra d'obtenir une diffusion encore plus grande, rapide et d'importants développements commerciaux.
L'invention s'applique non seulement aux appareils cités pour la réception et l'exécution des applications (ordinateurs, tablettes, téléphones, téléviseurs, etc.), mais aussi aux machines possédant des interfaces d'acquisition et de restitution différents, même éventuellement dépourvues d'interface utilisateur et d'interactivité humaine, comme on en trouve dans les architectures réparties du type "machine à machine" dédiées à l'exécution de certaines tâches conditionnées par des données extérieures. Dans ce cas, on peut considérer ces machines comme équivalentes à ce qui est décrit précédemment, par le fait que l'interface utilisateur existe quand même, même si elle est déportée sur une ou plusieurs autres machines.
De plus, pour la création d'applications, l'invention s'applique aussi aux architectures distribuées de type "poste à poste" mettant en oeuvre des ordinateurs en réseau plutôt (ou en complément) que des serveurs centralisés, ces deux types d'architecture étant considérés comme fonctionnellement équivalent. Comme indiqué précédemment, l'architecture technique présentée peut être déclinée différemment, par exemple de façon répartie plutôt que centralisée, notamment pour assurer un dépliement massif des services selon l'invention.
L'invention propose en outre, selon certains modes de réalisation, un procédé de développement d'application personnelle pour la consultation de contenus et services de la toile sur divers appareils, à partir d'un ordinateur personnel opéré par un utilisateur et connecté à un serveur d'applications, caractérisé en ce qu'il comprend les étapes suivantes choisir, sur l'ordinateur, un modèle de cadre applicatif prototype prévu pour afficher sur un ou plusieurs appareils des informations et contenus selon une présentation choisie, et démarrer une session d'enregistrement par les deux opérations itératives suivantes rechercher et trouver sur la toile, par l'utilisateur, des informations du type souhaité, les sélectionner et les déposer dans des champs prédéfinis dudit cadre applicatif, capturer, en réponse aux actions de l'utilisateur, les métadonnées correspondant aux informations et contenus sélectionnés et les enregistrer successivement dans une base de données sous la forme d'un ou plusieurs agents capables de reproduire le parcours utilisateur, avec des données de présentation adaptées audit cadre applicatif, finir la session d'enregistrement, en regroupant, dans le serveur d'applications, les agents, les caractéristiques de présentation et le modèle de cadre applicatif, dans une structure de données dite "application", prête à être distribuée et exécutée sur au moins un type d'appareils.
L'invention propose en outre, selon certains modes de réalisation, un procédé d'exécution d'une application personnelle réalisée selon le procédé de développement ci-dessus, comprenant les étapes suivantes lancer un programme d'exécution d'application sur l'appareil, qui peut être soit pré installé soit téléchargé, connecter ce programme d'exécution à un serveur d'application pour choisir, télécharger et lancer l'application qui requiert des données du serveur et assure l'affichage de ces données et les interactions entre l'utilisateur sur l'appareil et l'extraction des données sur la toile par le serveur, piloter, en réponse aux actions de l'utilisateur, par le serveur d'application, les ou les agents enregistrés dans l'application pour extraire les données correspondantes de la toile, filtrer, adapter selon le modèle de présentation de l'application, les données extraites par les agents et les transmettre au programme d'exécution qui les présente sur l'appareil à l'utilisateur.
Un des avantages de l'invention résulte de la combinaison de deux parties distinctes de l'application qui coopèrent, une partie, résidente sur l'appareil (après téléchargement le cas échéant) qui prend en charge les spécificités (fonctionnalités et limitations) de l'appareil, les interactions avec l'utilisateur et qui requiert les données du serveur, et une partie sur le serveur d'application qui prend en charge la gestion des données et leur transmission à l'appareil. Ce découpage garantit en particulier de permettre l'exécution d'une application sur un grand nombre de types d'appareils, l'adaptation ne s'opérant au maximum que sur une petite partie de l'ensemble, c'est-à-dire le programme d'exécution et éventuellement le modèle applicatif. Les données et contenus sont alors automatiquement adaptés au modèle. L'invention propose en outre, selon certains modes de réalisation, un système de développement d'application personnelle pour la mise en œuvre du procédé de développement d'application personnelle décrit ci-dessus, comprenant, en combinaison, pour la création d'application, un ensemble navigateur avec extension de développement spécifique, pré installé dans un ordinateur, permettant à l'utilisateur de construire une application pour un ou plusieurs appareils destinataires, à partir, d'une part, d'un modèle d'application choisi ou de sous-ensembles d'applications préexistantes, et, d'autre part, des informations ou contenus recherchés et localisés sur la toile avec le navigateur, cette extension comportant des moyens de réaliser la redirection des requêtes et des réponses du navigateur vers un serveur mandataire enregistreur puis, d'une part, la capture et la transmission audit serveur des actions de sélection de données ou de contenus faites par l'utilisateur dans une fenêtre du navigateur, et d'autre part, l'affichage d'au moins une fenêtre du modèle d'application qui présente les informations sélectionnées et déposées depuis la fenêtre de navigation vers cette fenêtre du modèle, ainsi que les interactions entre ledit serveur et les actions de l'utilisateur, un serveur mandataire enregistreur qui comprend la mise en oeuvre, pendant une session de développement, des moyens de transmission des requêtes vers les sites de la toile choisis par l'utilisateur et de capture des réponses, des moyens de repérage, d'extraction et d'enregistrement, dans une base de données d'application, des agents et métadonnées correspondant aux informations sélectionnées par l'utilisateur, ces enregistrements, combinés avec le modèle d'application pour le ou les appareils destinataires, constituant une application, à la fin de la session de création, une base de données d'applications regroupant les enregistrements précités et les structures du modèle de présentation en vue d'une exécution par au moins un appareil.
Grâce à ces dispositions, les actions de développement (création ou modification) de l'utilisateur sont réalisées et automatisées par le serveur mandataire qui fait automatiquement un "apprentissage" des requêtes de l'utilisateur, puis enregistre le résultat global dans un fichier contenant les agents et les métadonnées associées à un ou plusieurs modèles de présentation des données. Ainsi l'application peut être "rejouée" ultérieurement sur différents types d'appareils.
En outre, les enregistrements réalisés en réponse aux sélections de l'utilisateur peuvent être enrichis par des enregistrements supplémentaires similaires à ceux qui sont précités lorsque les pages visitées de la toile ou la base de métadonnées contiennent des structures similaires. La richesse des applications profite donc pleinement de la richesse des pages, des sites et des enregistrements préexistant dans la base de données d'applications, par le fait, notamment, de la présence d'applications préexistantes, du même utilisateur ou d'autres utilisateurs, lorsque le partage est autorisé.
L'invention propose en outre, selon certains modes de réalisation, un système d'exécution d'une application créée par le procédé d'exécution d'une application décrit ci-dessus, et le système de développement d'une application décrit ci-dessus, comprenant une application interactive de visualisation résidente ou téléchargée sur l'appareil de l'utilisateur, capable de se connecter au serveur d'applications, de requérir une application déterminée et d'assurer l'affichage des informations transmises par le serveur d'application ainsi que l'interactivité avec l'utilisateur, selon des critères qui sont décrits dans l'application, un serveur d'applications capable de stocker et de télécharger au moins une application vers un appareil connecté, comportant des moyens de commande du ou des agents lus dans le fichier de l'application et prévus pour extraire les données sur la toile, en interaction avec l'utilisateur via l'application de visualisation sur l'appareil, un ensemble d'agents et de robots pour réaliser lesdites extractions de données sur la toile, et des moyens de filtrage et d'adaptation des données extraites selon le modèle de présentation décrit dans l'enregistrement et de transmission vers l'application de visualisation sur l'appareil.
Dans certains modes de réalisation du système de développement d'application décrit ci-dessus, le serveur enregistreur comporte également des moyens automatiques de captures supplémentaires de métadonnées correspondant à des données du même type ou similaires à celles qui sont sélectionnées par l'utilisateur, dans la même page du site consulté, ainsi que dans d'autres pages du site.
Dans certains modes de réalisation du système de développement d'application décrit ci-dessus, le serveur enregistreur comporte des moyens de partage entre utilisateurs des métadonnées et/ou de tout ou partie de la base de données d'applications pour permettre le partage des applications, lorsque ce partage est autorisé, pour la création/modification et pour l'exécution d'applications.
Dans certains modes de réalisation du système de développement d'application décrit ci-dessus, l'extension comprend un module d'interface (1 1 1 b) entre les différents types d'agent de gestion de métadonnées des applications et les différentes technologies d'interfaces d'acquisition et de restitution présentes sur les appareils cibles des applications.
Dans certains modes de réalisation du système de développement d'application décrit ci-dessus, l'ensemble du navigateur et de l'extension sont réalisés sous forme d'une application de développement intégrée. Dans certains modes de réalisation, le système de développement d'application décrit ci-dessus comporte en outre un ou plusieurs simulateurs d'applications conformes au système d'exécution décrit ci-dessus.
Dans certains modes de réalisation, le système de développement et d'exécution d'applications décrit ci-dessus comporte en outre un serveur de souscription d'utilisateurs, une base de données d'utilisateurs et d'espaces utilisateurs, et des moyens de partage des applications entre les utilisateurs, selon des droits déterminés.
Dans certains modes de réalisation, le système de développement et d'exécution d'applications décrit ci-dessus comporte un moyen de recherche d'analogies sémantiques de métadonnées pour augmenter l'extraction automatique de métadonnées durant la création ou la modification d'une application.
Grâce à ces dispositions, les données de l'application ne sont pas résidentes dans l'appareil qui ne contient qu'un module de visualisation et d'interaction avec l'utilisateur, ni dans le serveur d'application qui ne contient que des agents, robots et métadonnées, tout en bénéficiant de toutes les ressources, les performances, les mises à jour et les enrichissements dont il peut disposer. Les données extraites peuvent être de tous types (texte, images, vidéo, son, éléments d'interactivité, etc. comme décrit plus loin à la définition du mot "métadonnée").
Avantageusement, des performances optimales sont ainsi obtenues car seules les données dynamiques nécessaires à l'affichage et à l'interactivité du moment sont transmises. Les données statiques, de faible quantité et de faible volume, sont intégrées à l'application lors de sa création.
Grâce à ces dispositions, les efforts de l'utilisateur pour trouver des informations pertinentes de façon récurrente ne sont nécessaires qu'une seule fois à l'occasion de la création ou de la modification de l'application. La consultation des informations se fait automatiquement à l'exécution au gré de l'interactivité entre l'utilisateur et l'application.
De plus, la partie la plus complexe, qui est la recherche et l'extraction des informations sur les sites de la toile, n'est plus réalisée directement par les utilisateurs mais est réalisée de façon automatique par le serveur qui est commun à tous les utilisateurs et qui est conçu pour supporter toutes les technologies nécessaires et leurs évolutions, avec des performances normalement supérieures à celles des appareils qui les consultent. Avantageusement, les utilisateurs peuvent bénéficier des enrichissements d'informations évoqués plus haut parce qu'ils sont exécutés sur le serveur et peuvent évoluer bien plus facilement qu'une mise à jour d'application sur l'appareil.
En particulier, les utilisateurs ne sont pas limités à la construction d'applications à partir des seules informations repérées sur la toile, mais ils peuvent aussi s'approprier tout ou partie d'applications existantes et les combiner différemment, voire les enrichir avec d'autres types d'informations. Ils bénéficient ainsi des données visées par ces applications.
De plus, des enrichissements peuvent être proposés et intégrés directement par le serveur, soit lors de la création ou modification, soit lors de l'exécution. Ceux-ci peuvent être déduits des communications entre les robots en charge des requêtes et extractions, ou encore être induits par des applications spécialement développées dans ce but dans le serveur.

Claims

REVENDICATIONS
1 . Procédé de développement d'une application pour la consultation sur un appareil muni d'un écran d'affichage de contenus et services accessibles par navigation sur la toile, à partir d'un ordinateur opéré par un utilisateur et connecté à un serveur d'applications, le procédé comprenant :
- capturer, en réponse à la sélection par l'utilisateur d'informations et/ou de contenus sur la toile lors d'un parcours de navigation sur la toile, des métadonnées comprenant des informations de description et de location de données et correspondant aux informations et/ou contenus sélectionnés, et enregistrer ces métadonnées,
- regrouper dans une structure de données de l'application, les métadonnées, un agent logiciel apte à extraire des informations et/ou contenus de la toile sur la base des métadonnées, et des données de présentation des informations et/ou contenus extraits de la toile.
2. Procédé de développement d'une application selon la revendication 1 , comprenant en outre : enregistrer un parcours de navigation de l'utilisateur sur la toile, et dans lequel l'agent logiciel est apte à reproduire le parcours de navigation enregistré.
3. Procédé de développement d'une application selon la revendication 1 ou 2, comprenant en outre : sélectionner parmi une pluralité de modèles de présentation un cadre applicatif prévu pour afficher sur l'écran d'affichage de l'appareil sur lequel l'application est exécutée, des informations et/ou contenus extraits de la toile, et dans lequel la structure de données de l'application comprend le cadre applicatif sélectionné.
4. Procédé de développement d'une application selon l'une quelconque des revendications 1 à 3, comprenant en outre :
- exécuter sur l'ordinateur un programme d'exécution d'application,
- établir une connexion entre le programme d'exécution d'application exécuté sur l'ordinateur et le serveur d'applications, - exécuter l'agent logiciel enregistré dans la structure de données de l'application pour extraire les informations et/ou contenus sélectionnés par l'utilisateur lors de son parcours de navigation sur la base des métadonnées de l'application,
- adapter selon les données de présentation associées à l'application, les informations et/ou contenus extraits par l'agent logiciel,
- afficher les informations et/ou contenus adaptés sur l'écran d'affichage de l'ordinateur.
5. Système de développement d'application comprenant :
- un ordinateur comprenant un processeur et une mémoire couplée au processeur,
- un serveur enregistreur couplé à une base de données d'applications, dans lequel la mémoire stocke un ensemble logiciel comprenant un logiciel de navigation sur la toile et une extension de développement spécifique du logiciel de navigation pour développer une application destinée à être exécutée sur un appareil muni d'un écran d'affichage,
dans lequel l'extension de développement spécifique du logiciel de navigation comprend des instructions pour réaliser : (i) la capture et la transmission au serveur enregistreur, en réponse à la sélection par un utilisateur d'informations et/ou de contenus sur la toile lors d'un parcours de navigation sur la toile, de métadonnées comprenant des informations de description et de location de données et correspondant aux informations et/ou contenus sélectionnés,
dans lequel le serveur enregistreur est configuré pour exécuter un logiciel comprenant des instructions pour, pendant une session de développement d'application, recevoir et enregistrer des métadonnées correspondant aux informations et/ou contenus sélectionnés, générer un agent logiciel apte à extraire des informations et/ou contenus de la toile sur la base des métadonnées, recevoir et enregistrer des données de présentation des informations et/ou contenus extraits de la toile, et regrouper et enregistrer dans une structure de données de l'application, les métadonnées, l'agent logiciel, et les données de présentation.
6. Système de développement d'application selon la revendication 5, dans lequel l'extension de développement spécifique du logiciel de navigation comprend en outre des instructions pour réaliser la redirection vers le serveur enregistreur des requêtes de navigation et des réponses du navigateur correspondant au parcours de navigation de l'utilisateur, et dans lequel le logiciel du serveur enregistreur comporte en outre des instructions pour enregistrer un parcours de navigation de l'utilisateur sur la toile.
7. Système de développement d'application selon l'une quelconque des revendications 5 ou 6, dans lequel le logiciel du serveur enregistreur comporte en outre des instructions pour capturer des métadonnées correspondant à des données du même type ou similaires à celles qui sont sélectionnées par l'utilisateur, dans la même page du site consulté, ainsi que dans d'autres pages du site.
8. Système de développement d'application selon l'une quelconque des revendications 5 à 7, dans lequel le logiciel du serveur enregistreur comporte en outre des instructions pour partager entre utilisateurs des métadonnées et/ou de tout ou partie de la base de données d'applications pour permettre le partage entre utilisateurs des applications pour la création/modification et pour l'exécution d'applications.
9. Système de développement d'application selon l'une quelconque des revendications 5 à 8, dans lequel l'extension de développement spécifique du logiciel de navigation comprend un module d'interface entre les différents types d'agent logiciel de gestion de métadonnées des applications et les différentes technologies d'interfaces d'acquisition et de restitution présentes sur les appareils cibles des applications.
10. Système de développement d'application selon l'une quelconque des revendications 5 à 9, dans lequel l'ensemble logiciel du logiciel de navigation et de l'extension de développement spécifique du logiciel de navigation constitue une application de développement intégrée.
1 1 . Système de développement d'application selon l'une quelconque des revendications 5 à 10, comprenant en outre un serveur de souscription d'utilisateurs, une base de données d'utilisateurs et d'espaces utilisateurs, et des moyens de partage des applications entre les utilisateurs, selon des droits déterminés.
12. Système de développement d'application selon l'une quelconque des revendications 5 à 1 1 , comprenant en outre un moyen de recherche d'analogies sémantiques de métadonnées pour augmenter l'extraction automatique de métadonnées durant la création ou la modification d'une application.
PCT/FR2013/050572 2012-03-19 2013-03-18 Procede et systeme de developpement d'applications de consultation de contenus et services sur un reseau de telecommunciation WO2013140076A2 (fr)

Priority Applications (2)

Application Number Priority Date Filing Date Title
US14/386,474 US20150242538A1 (en) 2012-03-19 2013-03-18 Method and system for developing applications for consulting content and services on a telecommunications network
CN201380027188.2A CN104321743B (zh) 2012-03-19 2013-03-18 用于开发在通信网络上查询内容和服务的应用程序的方法和系统

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
FR1252441 2012-03-19
FR1252441A FR2988192B1 (fr) 2012-03-19 2012-03-19 Procede et systeme de developpement d'applications de consultation de contenus et services sur un reseau de telecommunication, de distribution et d'execution de telles applications sur de multiples appareils.

Publications (2)

Publication Number Publication Date
WO2013140076A2 true WO2013140076A2 (fr) 2013-09-26
WO2013140076A3 WO2013140076A3 (fr) 2013-12-19

Family

ID=46826613

Family Applications (2)

Application Number Title Priority Date Filing Date
PCT/FR2013/050573 WO2013140077A1 (fr) 2012-03-19 2013-03-18 Procede et systeme d'execution d'une application pour la consultation de contenus et services accessibles par navigation sur un reseau de telecommunication.
PCT/FR2013/050572 WO2013140076A2 (fr) 2012-03-19 2013-03-18 Procede et systeme de developpement d'applications de consultation de contenus et services sur un reseau de telecommunciation

Family Applications Before (1)

Application Number Title Priority Date Filing Date
PCT/FR2013/050573 WO2013140077A1 (fr) 2012-03-19 2013-03-18 Procede et systeme d'execution d'une application pour la consultation de contenus et services accessibles par navigation sur un reseau de telecommunication.

Country Status (4)

Country Link
US (2) US20150242538A1 (fr)
CN (2) CN104321743B (fr)
FR (1) FR2988192B1 (fr)
WO (2) WO2013140077A1 (fr)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2018045489A1 (fr) * 2016-09-06 2018-03-15 华为技术有限公司 Procédé, appareil, et système de collecte de données

Families Citing this family (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5980037B2 (ja) * 2012-08-06 2016-08-31 キヤノン株式会社 管理システム、サーバー、クライアント、及びその方法
US20140195858A1 (en) * 2013-01-07 2014-07-10 Appvance Inc. Methods, systems, and non-transitory machine-readable medium for performing a web browser to web browser testing of a computer software application
US20140214921A1 (en) * 2013-01-31 2014-07-31 Onavo Mobile Ltd. System and method for identification of an application executed on a mobile device
CN103516805A (zh) * 2013-10-10 2014-01-15 贝壳网际(北京)安全技术有限公司 应用分发平台、方法及系统
US9420086B2 (en) 2014-03-05 2016-08-16 Honda Motor Co., Ltd. Information terminal
US20150278853A1 (en) * 2014-04-01 2015-10-01 DoubleVerify, Inc. System And Method For Identifying Hidden Content
US9614900B1 (en) * 2014-06-19 2017-04-04 Amazon Technologies, Inc. Multi-process architecture for a split browser
US20160313888A1 (en) * 2015-04-27 2016-10-27 Ebay Inc. Graphical user interface for distraction free shopping on a mobile device
US10955994B2 (en) * 2017-06-02 2021-03-23 Apple Inc. User interfaces for downloading applications on an electronic device
US10915586B2 (en) * 2017-12-29 2021-02-09 Kensho Technologies, Llc Search engine for identifying analogies
US11153285B2 (en) * 2018-11-07 2021-10-19 Citrix Systems, Inc. Systems and methods for application pre-launch
EP3693873B1 (fr) * 2019-02-07 2022-02-16 AO Kaspersky Lab Systèmes et procédés de configuration d'une passerelle pour la protection des systèmes automatisés
CN113760292A (zh) * 2021-01-04 2021-12-07 北京沃东天骏信息技术有限公司 开发应用程序的方法、装置、电子设备和存储介质

Family Cites Families (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0953920A3 (fr) * 1995-01-23 2005-06-29 BRITISH TELECOMMUNICATIONS public limited company Méthode et/ou systèmes d'accés à l'information
US6983478B1 (en) * 2000-02-01 2006-01-03 Bellsouth Intellectual Property Corporation Method and system for tracking network use
CA2297711A1 (fr) * 1999-12-23 2001-06-23 Mobileq.Com Inc. Methode et systeme d'elaboration d'applications internet
US7861252B2 (en) * 2001-03-21 2010-12-28 Andrzej Uszok Intelligent software agent system architecture
US20030014659A1 (en) * 2001-07-16 2003-01-16 Koninklijke Philips Electronics N.V. Personalized filter for Web browsing
US7283992B2 (en) * 2001-11-30 2007-10-16 Microsoft Corporation Media agent to suggest contextually related media content
US7970240B1 (en) * 2001-12-17 2011-06-28 Google Inc. Method and apparatus for archiving and visualizing digital images
US20110166939A1 (en) * 2002-08-30 2011-07-07 Rovi Technologies Corporation Systems and methods for integrating data mining and other marketing techniques with fantasy sports contest applications
US20050240558A1 (en) * 2004-04-13 2005-10-27 Reynaldo Gil Virtual server operating on one or more client devices
US20070255754A1 (en) * 2006-04-28 2007-11-01 James Gheel Recording, generation, storage and visual presentation of user activity metadata for web page documents
US8041781B2 (en) * 2007-03-16 2011-10-18 Yahoo! Inc. System and method for providing web system services for storing data and context of client applications on the web
US7966526B2 (en) * 2007-04-10 2011-06-21 Galileo Tools Gmbh Software event recording and analysis system and method of use thereof
FR2919404A1 (fr) * 2007-07-27 2009-01-30 Goojet Soc Par Actions Simplif Procede et dispositif de creation, d'organisation, de livraison, d'exploitation et/ou d'acces a des services.
US8800043B2 (en) * 2008-05-19 2014-08-05 Microsoft Corporation Pre-emptive pre-indexing of sensitive and vulnerable assets
US9104738B2 (en) * 2008-06-19 2015-08-11 Tropare, Inc. Leveraging collaborative cloud services to build and share apps
US10372798B2 (en) * 2008-07-11 2019-08-06 Thomson Reuters Global Resources Unlimited Company System and methods for web-based control of desktop applications
US8275767B2 (en) * 2009-08-24 2012-09-25 Xerox Corporation Kiosk-based automatic update of online social networking sites
US10713666B2 (en) * 2009-12-24 2020-07-14 Outbrain Inc. Systems and methods for curating content
US9152707B2 (en) * 2010-01-04 2015-10-06 Martin Libich System and method for creating and providing media objects in a navigable environment
US9367530B2 (en) * 2011-01-21 2016-06-14 Jive Software Distributed document co-authoring and processing
WO2012100303A1 (fr) * 2011-01-27 2012-08-02 Amplifier Marketing Pty Limited Procédé et système de remise de contenu
US9563712B2 (en) * 2011-07-14 2017-02-07 Salesforce.Com, Inc. Computer implemented methods and apparatus for providing internal custom feed items

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
None

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2018045489A1 (fr) * 2016-09-06 2018-03-15 华为技术有限公司 Procédé, appareil, et système de collecte de données

Also Published As

Publication number Publication date
US20150161219A1 (en) 2015-06-11
CN104321768A (zh) 2015-01-28
WO2013140076A3 (fr) 2013-12-19
FR2988192A1 (fr) 2013-09-20
WO2013140077A1 (fr) 2013-09-26
CN104321743A (zh) 2015-01-28
CN104321743B (zh) 2019-01-29
US20150242538A1 (en) 2015-08-27
FR2988192B1 (fr) 2016-01-01
CN104321768B (zh) 2018-08-10

Similar Documents

Publication Publication Date Title
WO2013140076A2 (fr) Procede et systeme de developpement d'applications de consultation de contenus et services sur un reseau de telecommunciation
US9082174B2 (en) System and method for using a website containing video playlists as input to a download manager
CN102737080B (zh) 隐藏档案真实路径以进行云端处理的方法
US20200128286A1 (en) Live streaming social interaction to trigger product search
WO2009050345A2 (fr) Procede et dispositif de creation d'applications informatiques
WO2005045698A2 (fr) Procede mis en oeuvre dans un environnement informatique pour engendrer une vue courante a partir d’au moins un objet d’information source susceptible de varier
FR2947358A1 (fr) Un assistant-conseiller utilisant l'analyse semantique des echanges communautaires
EP2157793A1 (fr) Procédé et système pour la fourniture de contenu supplémentaire à l'utilisateur du dispositif de contenu de support enregistré
CN102662919A (zh) 对内容片段设置书签
FR2802670A1 (fr) Procede de communication de biens ou de services par des moyens electroniques sur des reseaux du type internet
EP3202115B1 (fr) Procédé et dispositif de mise en relations d'un ensemble d'informations
EP3497674B1 (fr) Système de composition ou de modification de séquences de réalité virtuelle, procédé de composition et système de lecture desdites séquences
EP2187321B1 (fr) Procédé et dispositif d'édition d'un objet représenté dans une page web
EP2339516A1 (fr) Procédé et système d'interaction avec une application partagée entre plusieurs utilisateurs
Griffin Foundations of Popfly: rapid mashup development
EP1997040A1 (fr) Procédé, dispositif et système de gestion d'informations structurées au sein d'une scène graphique
US20140310280A1 (en) System and method for discovery, grouping and sharing of media content
WO2006053993A2 (fr) Procede et systeme d'apprentissage de l'utilisation d'une application logicielle, et procede de production d'outil multimedia associe
CA2406197A1 (fr) Methode et systeme de creation de documents electroniques - auto-publiants et adaptatifs
Aldalur Ceberio Personalizing the web: A tool for empowering end-users to customize the web through browser-side modification
Shende et al. News Android Application
Gupta et al. YouTube Clone
FR2910660A1 (fr) Procede de mise a jour d'au moins un espace personnel de publication, terminal de communication, serveur intermediaire et produit programme d'ordinateur correspondants.
Bianchi-Berthouze et al. Supporting the interaction between user and web-based multimedia information
FR2806184A1 (fr) Systeme de navigation mis en oeuvre dans un systeme informatique pour acceder a des pages fournies par des serveurs via un reseau informatique

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 13715346

Country of ref document: EP

Kind code of ref document: A2

WWE Wipo information: entry into national phase

Ref document number: 14386474

Country of ref document: US

122 Ep: pct application non-entry in european phase

Ref document number: 13715346

Country of ref document: EP

Kind code of ref document: A2