Hi Philippe,
Have a look at some grasshopper posts, you might be better off using a circle packing algorithm and then deforming the circles via a seed/value. Offsetting the circle normal to the surface or using sphere’s and offsetting them to give space around the shape and boolean difference…
Have a look at: Divide the surface of a sphere equally by a set number of points
And Daniel’s post here: http://www.grasshopper3d.com/forum/topics/equal-spacing-of-points-on-a-sphere
Andy