I did that ferry from Barcelona, where I live, to Tanger on 2011, and I'm gonna do it again next week. I recommend to drive to Barcelona and then take the ship there. Less hours in that boring ship, at least you'll enjoy Côte d'Azur.
The ship is old but still mantained, altough some parts of it are left apart. It's about 28 hours of travelling from Barcelona. Get the cheaper non-shared room, it costs the same than driving south by road in Spain.
Tanger-Med, the destination port, is very good. Far from the city, calm, friendly and there is no people around, as it's about 35km from any town. Offiicials are friendly. Better port than Tanger city, altough Tanger city is good, too.