Interactive physical simulation is a key component of realistic virtual environments. However, the amount of computations as well as the code complexity grow quickly with the variety, number and size of the simulated objects. During this thesis we studied the different ways to improve interactivity, with the constraint of minimizing the impact in the simulation code. We started by developing a new approach to collision detection between deformable bodies that allows deep intersections. Experiments show that this approach is fast and more robust than traditional proximity-based collisions, allowing physical simulations to employ large time steps. To take profit of multi-core machines, we propose a parallelization approach that relies on a task parallelism. Prior to running a simulation step, we extract a task dependency graph that is partitioned to define the task distribution between processors. This approach has a low impact on physics algorithms as parallelism is mainly extracted from the coordination code. Finally we extended our works multi-CPU and multi-GPU architectures. Using these resources efficiently in a seamless way is a challenging issue. We propose a parallelization scheme for dynamically balancing work load between multiple CPUs and GPUs. We rely on a two level scheduling associating a traditional task graph partitioning and a work stealing guided by processor affinity and heterogeneity. These criteria are intended to limit inefficient task migrations between GPUs, the cost of memory transfers being high, and to favor mapping small tasks on CPUs and large ones on GPUs to take advantage of heterogeneity.