Воспитанник клуба «Олимпик де Беджа». С 1999 по 2006 год выступал за клуб «Этуаль дю Сахель». С 2006 года играет за московский «Локомотив» под 24 номером. 22 января 2009 года Шакер прибыл на просмотр в «Кубань». 16 марта 2009 года «Локомотив» расторг с ним контракт по обоюдному согласию. С 1 июля 2010 года игрок швейцарского «Цюриха».
Был капитаном молодёжной сборной Туниса. В ноябре 2005 года дебютировал в национальной сборной в матче против сборной Египта.