const createCard = ({ title, subTitle, src, poster }) => {
	const template = document.createElement('section');
	template.innerHTML = `
		<div class="card" style="width: 16rem;">
		  <a href="#theModal" class="btn btn-link"
			 data-remote="${src}"
			 data-toggle="modal" data-target="#theModal">
			 <img src="${poster}" class="card-poster" alt="image">
		  </a>
		  <div class="card-body">
			 <h3 class="card-title">${title}</h3>
			 <p class="card-text">${subTitle}</p>
		  </div>
		</div>
	`;
	return template.children[0];
};
document.body.append(createCard({
	title: 'Сказка о Царе Салтане',
	subTitle: 'Приключения отважного царевича Гвидона, прекрасной царевны-Лебедь и царя Салтана напомнят о том, что любовь, верности и сила духа всегда побеждают!',
	src: 'http://ссылка на видео',
	poster: 'img/sk-1.jpg'
}));
Таким образом можно перебирать коллекцию, передавать в функцию 
createCard объект, на выходе получать уже HTML элемент и добавлять в DOM его. 
Это 
самый простой способ, можно сделать более продвинутый, через 
template. В данном случае будет чуть больше приготовлений, также необходимо будет позаботится о механизме вставки данных.
И третий вариант - использовать фреймворк, 
Vue например.