Front-end: с чего начать знакомство и изучение
html/css: почитайте про семантику (достаточно полистать спеку), почитайте про формат микроданных, посмотрите презентации с каких конференций (web standards days например и т.д.), ознакомьтесь с сервисом htmlbook.ru и тамашними статьями и заданиями для начинающих....
js: тут сразу скажу, попытайтесь написать свой jQuery.... этого хватит что бы понять базовую концепцию языка, это интересно, и вы сразу же ознакомитесь с api браузеров для взаимодействия с dom. Ну и опять же вы погрузитесь в чудную атмосферу "какого х в этом браузере работает а в том нет!?". Не весь jQuery, только базовые функции и с поддержкой только топовых браузеров. Поковыряйтесь на javascript.ru и подобных ресурсах... в основном придется много гуглить.
А затем уже переходите на этап выше... изучение методологий, паттернов и т.д. Попробуйте grunt, покройте код тестами, попробуйте tdd потом bdd, попробуйте паралельно фреймворки и библиотеки (angularjs, backbone.js, knockout.js и т.д.). Раз уж вы знаете php, попробуйте писать rest api для ваших тестовых приложениц и т.д.
А книги и информация... честно, на вкус и цвет. Проще что-то изучить - начать писать. Информации как сделать то-то или то-то масса, а о их качестве можно судить о том, где вы нашли это решение, комментарии к нему и т.д.
Любой фронт-энд начинается всегда с HTML.. что почитать, можно найти по отзывам на озоне. Я в своё время начинал с видеоуроков по HTML. Но в видео рассказывают медленнее, чем сам ты это прочитаешь. Поэтому видео в этом плане не канает. Начинайте с книги. Успехов.