The present work focuses on shape optimization using the Lattice-Boltzmann Method applied to fluid-structure interaction. A finite element method is coupled to the lattice boltzmann method using the immersed boundary method, and the adjoint method is used to calculate the sensitivities of a given cost function on the shape of interest. The adjoint method proposed here is proven to be efficient in the case of unsteady and turbulent flows, and is combined to a fixed-step descent algorithm to modify the shape of the structure in order to optimize the cost function. An interpolated bounce back boundary condition is used in the Lattice Boltzmann method and the adjoint of this boundary condition is also derived and used for turbulent flows. The methodology is applied to four test cases : a 2D active control acoustic test case, a fixed sphere in a 3D turbulent flow, an elastic deformable beam attached to a fixed cylinder in a 3D laminar flow, and finally the same elastic beam in a 3D turbulent flow. Each case is presented with its adjoint counterpart, and the sensitivities of the cost function are computed and used to optimize the shape of the structure. These results demonstrate the potential of the numerical approach to optimize complex engineering systems involving fluid-structure interaction in realistic conditions.