Method for providing a service for on-demand software execution, characterized in that it comprises the following steps: - receiving (S40, S54), from at least one terminal, at least one request for the execution of at least one software package by a virtual machine launched on a virtual-machine-launching server from image files of a set of virtual-machine-launching image files, said set of image files comprising: ∘ a first subset, comprising at least one first image file representing a first state of a virtual machine following the installation of an operating system on this machine; ∘ a second subset, comprising at least one second image file representing a set of operations to transfer the virtual machine from the first state to a second state in which a software package is installed on the machine; and ∘ a third subset, comprising at least one third image file representing a third state of the machine following the launching of the software package on the machine; at least three image files from each of the first, second and third subsets being selected (S62, S63, S64) in order to execute said at least one software package by launching a virtual machine, said at least three image files corresponding to said at least one software package and to an operating system associated with said at least one software package, and - selecting, from a set of virtual-machine-launching servers (200, 206), a server to which to direct the request, according to a load distribution rule for the execution of virtual machines by the servers of said set of servers, - directing the request to the selected server, - executing a virtual machine in the selected server through concatenation of the at least three selected image files. - receiving (S40, S54), from at least one terminal, at least one request for the execution of at least one software package by a virtual machine launched on a virtual-machine-launching server from image files of a set of virtual-machine-launching image files, said set of image files comprising: ∘ a first subset, comprising at least one first image file representing a first state of a virtual machine following the installation of an operating system on this machine; ∘ a second subset, comprising at least one second image file representing a set of operations to transfer the virtual machine from the first state to a second state in which a software package is installed on the machine; and ∘ a third subset, comprising at least one third image file representing a third state of the machine following the launching of the software package on the machine; at least three image files from each of the first, second and third subsets being selected (S62, S63, S64) in order to execute said at least one software package by launching a virtual machine, said at least three image files corresponding to said at least one software package and to an operating system associated with said at least one software package, and ∘ a first subset, comprising at least one first image file representing a first state of a virtual machine following the installation of an operating system on this machine; ∘ a second subset, comprising at least one second image file representing a set of operations to transfer the virtual machine from the first state to a second state in which a software package is installed on the machine; and ∘ a third subset, comprising at least one third image file representing a third state of the machine following the launching of the software package on the machine; - selecting, from a set of virtual-machine-launching servers (200, 206), a server to which to direct the request, according to a load distribution rule for the execution of virtual machines by the servers of said set of servers, - directing the request to the selected server, - executing a virtual machine in the selected server through concatenation of the at least three selected image files.