A weakly compressible SPH solver is presented for applications involving nonlinear interaction between water waves and floating bodies. A complete algorithm able to compute fully coupled viscous Fluid-Solid interactions is described. No slip boundary condition on the solid surface is enforced through a ghost-fluid technique and the global loads are evaluated through the momentum exchange between fluid and ghost particles. A dedicated algorithm is developed to manage the intersection between the free surface and the solid profile. An explicit synchronous algorithm is proposed for the full coupling between fluid and rigid bodies. Stability, convergence and conservation properties are tested on several freely floating test cases and a final validation of the full algorithm is performed for the interaction between a 2-D box and a wave packet.