Self-assembly: weak molecular forces at work for building mesoscopic architectures