Compare commits

...

32 Commits

Author SHA1 Message Date
devtt 44d036f878 Merge branch 'V2.9.2' of https://git.e-declic.net/talents-tube/website into V2.9.2 2021-04-16 15:57:13 +02:00
devtt 259063ce41 Mise à jour FAQ accueil recruteurs 2021-04-16 15:56:09 +02:00
llaniau 925410dfe8 Merge branch 'V2.9.2' of https://git.e-declic.net/talents-tube/website into V2.9.2 2021-04-16 09:20:18 +02:00
llaniau 2cec912442 Mail auto 2021-04-16 09:20:00 +02:00
devtt 2bcf221d2a Mise à jour du sitemap 2021-04-15 10:07:12 +02:00
devtt 322c770d62 Ajout landing Informatique + Modif landing 2021-04-14 15:32:32 +02:00
llaniau b473869726 Merge branch 'V2.9.2' of https://git.e-declic.net/talents-tube/website into V2.9.2 2021-04-12 20:16:33 +02:00
llaniau 53bcf6e02a Bug 239 2021-04-12 20:12:25 +02:00
devtt 2ccb5cf08a Mise en commentaires FAQ 2021-04-12 14:59:55 +02:00
llaniau f84d8ed73b Bug date relance 2021-04-12 14:03:08 +02:00
llaniau 22db9a6da4 Bug inscription date relance 2021-04-12 12:59:51 +02:00
llaniau 1b3a0cb606 V2.9.1 2021-04-12 10:17:31 +02:00
llaniau 634fb412fe Mail auto (US 436) 2021-04-12 10:11:03 +02:00
llaniau 0a0db67654 US 436 2021-04-08 13:02:29 +02:00
llaniau 7cc701eb1e US 436 : Suite 2021-04-06 19:35:44 +02:00
llaniau bd0cda922e US 436 : RElance j+3 2021-04-06 14:41:38 +02:00
devtt cdfb763466 Modifications pages recruteurs Bénédicte (part 2) 2021-04-01 17:54:22 +02:00
devtt 57412e353b Modifications page d'accueil (Bénédicte) 2021-04-01 09:43:12 +02:00
llaniau 87b337a126 Init V2.9.1 pre prod 2021-03-30 15:31:25 +02:00
llaniau 086d456746 Desactiver nofollow 2021-03-30 09:54:34 +02:00
llaniau a2466d344f Batch candidature 520 2021-03-29 17:07:59 +02:00
llaniau 9c5dc1466b V2.8.3 2021-03-29 14:31:44 +02:00
llaniau d28a6cfc1b Menu et header de la pages recruteur 2021-03-29 12:17:43 +02:00
llaniau e6409a6124 image page accueil recruteur 2021-03-29 11:47:06 +02:00
llaniau 42ef149f41 V2.8.2 2021-03-25 14:35:03 +01:00
llaniau 5112da2f40 Page accueil Recruteur 2021-03-25 14:33:41 +01:00
llaniau dc5c50dd49 Automatisation referencement MEP 2021-03-25 10:09:48 +01:00
llaniau 9f076c4423 batch et landing page 2021-03-23 18:18:58 +01:00
llaniau 987c78f5be retour recette V2.8.1 2021-03-22 18:29:44 +01:00
llaniau 078a62e588 test laurent pour corentin 2021-03-17 13:12:30 +01:00
llaniau 73e709c6c9 Batch + envoi mail apres offre 2021-03-16 22:28:40 +01:00
llaniau ec71b87747 candidatures d'une offre 2021-03-15 19:45:07 +01:00
130 changed files with 5348 additions and 851 deletions
@@ -6,3 +6,9 @@ SELECT id FROM "ad" WHERE competences::jsonb @> '{ "id1" : "libelle 1"}'::json
SELECT id FROM "ad" WHERE competences::jsonb ? 'id1' LIMIT 10;
SELECT competences::jsonb @> '{ "id1" : "libelle 1"}'::jsonb FROM "ad" WHERE id=1 LIMIT 1;
SELECT * FROM "ad" WHERE id = 1 or id=31 or id =29;
SELECT id, location->'gmap_address'->'geometry'->'location'->'lat', location->'gmap_address'->'geometry'->'location'->'lng' FROM "ad" LIMIT 100;
SELECT firstname, lastname, geoloc::json->0->'route' FROM "fos_user" wHERE email='laniau2@yahoo.fr' LIMIT 1000;
SELECT location::json->'gmap_address'->'formatted_address' FROM "ad" WHERE id=66 LIMIT 1000;
@@ -49,7 +49,7 @@
</div>
<div class="row">
<div class="col-xs-12">
<button class="btn btn-success" type="submit">Enregistrer</button>
<button class="btn btn-success" type="submit" onclick="envoyerMail()">Enregistrer</button>
</div>
</div>
{{ form_end(form) }} {% endblock %} {% block javascripts %}
@@ -70,4 +70,46 @@
}
}
});
function envoyerMail(){
if($("#ad_status").val()=="PUBLISHED"){
if(window.confirm("Souhaitez-vous envoyer un email au(x) utilisateur(s) de lentreprise pour informer que loffre demploi est en ligne sur Talents Tube ?")){
//envoi de mail
$.ajax({
//L'URL de la requête
url: "/app_dev.php/api/validerOffreMail?adId={{ ad.id }}" ,
method: "GET",
//La méthode d'envoi (type de requête)
//Le format de réponse attendu
dataType: "json",
})
//Ce code sera exécuté en cas de succès - La réponse du serveur est passée à done()
/*On peut par exemple convertir cette réponse en chaine JSON et insérer
* cette chaine dans un div id="res"*/
.done(function (response) {
console.log("Requête envoi mail suite validation offre done");
})
//Ce code sera exécuté en cas d'échec - L'erreur est passée à fail()
//On peut afficher les informations relatives à la requête et à l'erreur
.fail(function (error) {
console.log("Requête envoi mail suite validation offre fail");
console.log(error);
})
//Ce code sera exécuté que la requête soit un succès ou un échec
.always(function () {
console.log("Requête envoi mail suite validation offre effectuée");
});
}
}else{
}
}
</script> {% endblock %}
@@ -20,7 +20,7 @@
<thead>
<tr>
<th class="col-xs-2">Date de création</th>
<th>Référence TT</th>
<th>Référence TT.</th>
<th>Titre</th>
<th>Entreprise</th>
<th>Status</th>
@@ -24,7 +24,7 @@
{% block css %}
{% endblock %}
<!--[if lt IE 9]>
<!--[if lt IE 9]>
<script src="https://oss.maxcdn.com/html5shiv/3.7.3/html5shiv.min.js"></script>
<script src="https://oss.maxcdn.com/respond/1.4.2/respond.min.js"></script>
<![endif]-->
@@ -0,0 +1,34 @@
{% extends 'admin/base_admin.html.twig' %}
{% block contentHeader %}
<h1>
Pages
<small>Liste</small>
</h1>
<ol class="breadcrumb">
<li><a href="{{ path('admin_dashboard') }}"><i class="fa fa-dashboard"></i> Dashboard</a></li>
<li class="active">Batch candidatures</li>
</ol>
{% endblock %}
{% block content %}
<div class="box box-primary">
<div class="box-body">
<a href="{{ path('admin_batch_candidature_init') }}">
<button type="button" class="btn btn-lg btn-primary btn-cons btn-animated from-left" id="saveAdButton">
<span>Lancer le batch</span>
</button>
</a>
<b>A NE LANCER QU'UNE FOIS (On met à jour les candidatures qui ont un message et qui n'ont pas été modifié par le dashboard Entreprise. C'est le statut contacte qui est mis par défaut.)</b>
</div>
</div>
{% endblock %}
{% block javascripts %}
{% endblock %}
@@ -0,0 +1,33 @@
{% extends 'admin/base_admin.html.twig' %}
{% block contentHeader %}
<h1>
Pages
<small>Liste</small>
</h1>
<ol class="breadcrumb">
<li><a href="{{ path('admin_dashboard') }}"><i class="fa fa-dashboard"></i> Dashboard</a></li>
<li class="active">Batch sur les messages</li>
</ol>
{% endblock %}
{% block content %}
<div class="box box-primary">
<div class="box-body">
<a href="{{ path('admin_batch_geoloc_trait') }}">
<button type="button" class="btn btn-lg btn-primary btn-cons btn-animated from-left" id="saveAdButton">
<span>Lancer le batch ({{nbUsers}} utilisateurs non geolocalisés) <br>(transforme adresse talent en geoloc) </span>
</button>
</a>
</div>
</div>
{% endblock %}
{% block javascripts %}
{% endblock %}
@@ -0,0 +1,80 @@
{% extends 'admin/base_admin.html.twig' %}
{% block contentHeader %}
<h1>
Dashboard
<small>TalentsTube</small>
</h1>
<ol class="breadcrumb">
<li><a href="#"><i class="fa fa-dashboard"></i> Dashboard</a></li>
{#<li class="active">Here</li>#}
</ol>
{% endblock %}
{% block content %}
<b>Relance J3</b><br>
<table id="media_list_table" class="table table-hover table-bordered">
<thead>
<tr>
<th width="15%">Id</th>
<th width="15%">Nom</th>
<th width="15%">Prénom</th>
<th width="15%">Mail</th>
<th width="15%">Annonce?</th>
<th width="15%">Mail Envoyé</th>
</tr>
</thead>
<tbody>
{% for u in listeUsersRelanceJ3 %}
<tr>
<td>{{ u.id }}</td>
<td>{{ u.nom }}</td>
<td>{{ u.prenom }}</td>
<td>{{ u.email }}</td>
<td>{{ u.annonce }}</td>
<td>X</td>
</tr>
{% endfor %}
{% if listeUsersRelanceJ3|length < 1 %}
<tr>
<td colspan="6">Aucune relance pour cette fois-ci</td>
</tr>
{% endif %}
</tbody>
</table>
<b>Relance J7</b><br>
<table id="media_list_table" class="table table-hover table-bordered">
<thead>
<tr>
<th width="15%">Id</th>
<th width="15%">Nom</th>
<th width="15%">Prénom</th>
<th width="15%">Mail</th>
<th width="15%">Annonce?</th>
<th width="15%">Mail Envoyé</th>
</tr>
</thead>
<tbody>
{% for u in listeUsersRelanceJ7 %}
<tr>
<td>{{ u.id }}</td>
<td>{{ u.nom }}</td>
<td>{{ u.prenom }}</td>
<td>{{ u.email }}</td>
<td>{{ u.annonce }}</td>
<td>X</td>
</tr>
{% endfor %}
{% if listeUsersRelanceJ7|length < 1 %}
<tr>
<td colspan="6">Aucune relance pour cette fois-ci</td>
</tr>
{% endif %}
</tbody>
</table>
{% endblock %}
@@ -0,0 +1,34 @@
{% extends 'admin/base_admin.html.twig' %}
{% block contentHeader %}
<h1>
Pages
<small>Liste</small>
</h1>
<ol class="breadcrumb">
<li><a href="{{ path('admin_dashboard') }}"><i class="fa fa-dashboard"></i> Dashboard</a></li>
<li class="active">Batch sur les messages</li>
</ol>
{% endblock %}
{% block content %}
<div class="box box-primary">
<div class="box-body">
<a href="{{ path('admin_batch_message_comment') }}">
<button type="button" class="btn btn-lg btn-primary btn-cons btn-animated from-left" id="saveAdButton">
<span>Lancer le batch (recupere les candidatures qui ont un commentaire (vieille candidature). Ces commentaires sont transformés en message.</span>
</button>
</a>
<b>A NE LANCER QU'UNE FOIS</b>
</div>
</div>
{% endblock %}
{% block javascripts %}
{% endblock %}
@@ -13,6 +13,93 @@
{% endblock %}
{% block content %}
{# <b>Relance J3</b><br>
<table id="media_list_table" class="table table-hover table-bordered">
<thead>
<tr>
<th width="15%">Id</th>
<th width="15%">Nom</th>
<th width="15%">Prénom</th>
<th width="15%">Mail</th>
<th width="15%">Annonce?</th>
<th width="15%">Mail Envoyé</th>
</tr>
</thead>
<tbody>
{% for u in listeUsersRelanceJ3 %}
<tr>
<td>{{ u.id }}</td>
<td>{{ u.nom }}</td>
<td>{{ u.prenom }}</td>
<td>{{ u.email }}</td>
<td>{{ u.annonce }}</td>
<td>X</td>
</tr>
{% endfor %}
{% if listeUsersRelanceJ3|length < 1 %}
<tr>
<td colspan="6">Aucune relance pour cette fois-ci</td>
</tr>
{% endif %}
</tbody>
</table>
<b>Relance J7</b><br>
<table id="media_list_table" class="table table-hover table-bordered">
<thead>
<tr>
<th width="15%">Id</th>
<th width="15%">Nom</th>
<th width="15%">Prénom</th>
<th width="15%">Mail</th>
<th width="15%">Annonce?</th>
<th width="15%">Mail Envoyé</th>
</tr>
</thead>
<tbody>
{% for u in listeUsersRelanceJ7 %}
<tr>
<td>{{ u.id }}</td>
<td>{{ u.nom }}</td>
<td>{{ u.prenom }}</td>
<td>{{ u.email }}</td>
<td>{{ u.annonce }}</td>
<td>X</td>
</tr>
{% endfor %}
{% if listeUsersRelanceJ7|length < 1 %}
<tr>
<td colspan="6">Aucune relance pour cette fois-ci</td>
</tr>
{% endif %}
</tbody>
</table> #}
<b>Etat des annonces</b><br>
<table id="media_list_table" class="table table-hover table-bordered">
<thead>
<tr>
<th width="15%">Id</th>
<th width="15%">Entreprise</th>
<th width="15%">Titre de l'annonce</th>
<th width="15%">Nb de candidatures vidéo</th>
<th width="15%">Nb de candidatures récentes <br>(mois glissant)</th>
<th width="15%">Statut</th>
</tr>
</thead>
<tbody>
{% for a in ads %}
<tr>
<td>{{ a.id }}</td>
<td>{{ a.entreprise }}</td>
<td>{{ a.title }}</td>
<td>{{ a.nbAnswers }}</td>
<td>{{ a.nbAnswersRecentes }}</td>
<td>{{ a.statut }}</td>
</tr>
{% endfor %}
</tbody>
</table>
{% endblock %}
@@ -73,6 +73,19 @@
<i class="fa fa-file-text-o" aria-hidden="true"></i><span>Pages</span>
</a>
</li>
<li class="treeview">
<a href="#"><i class="fa fa-file-video-o"></i> <span>Batchs</span>
<span class="pull-right-container">
<i class="fa fa-angle-left pull-right"></i>
</span>
</a>
<ul class="treeview-menu">
<li><a href="{{ path('admin_batch_mailauto') }}">Mail auto <br>(US 436)</a></li>
<li><a href="{{ path('admin_batch_candidatures') }}">Statuts des anciennes candidatures <br>(US 520)</a></li>
<li><a href="{{ path('admin_batch_message') }}">Basculer les anciens messages <br>(US 200)</a></li>
<li><a href="{{ path('admin_batch_geoloc') }}">Transformer adresse Talent en geoloc <br>(US 489)</a></li>
</ul>
</li>
<li class="treeview">
<a href="#"><i class="fa fa-users" aria-hidden="true"></i> <span>Utilisateurs</span>
<span class="pull-right-container">
@@ -47,8 +47,13 @@
<meta property="og:image"
content="https://recruteur.talentstube.com/landing/img/offre-emploi-originale-en-video.jpg" />
<meta name="twitter:card" content="summary_large_image" />
{% endblock %}
{% endblock %}
{% if app.environment == "dev" %}
<meta name="robots" content="noindex,nofollow">
{% else %}
{# <meta name="robots" content="noindex,nofollow"> #}
{% endif %}
</head>
<body>
@@ -15,7 +15,12 @@
<!-- Required Meta Tags Always Come First -->
<meta charset="utf-8">
{# <meta name="robots" content="noindex,nofollow"> #}
{% if app.environment == "dev" %}
<meta name="robots" content="noindex,nofollow">
{% else %}
<meta name="robots" content="noindex,nofollow">
{% endif %}
<meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
{% block meta %}
{% endblock %}
@@ -1,6 +1,29 @@
{# {% extends 'company/base_dashboard_company.html.twig' %} #}
{% extends 'admin/base_dashboard.html.twig' %}
{% extends 'admin/base_dashboard_candidatures.html.twig' %}
{% block javascriptSupl %}
<link rel="stylesheet" type="text/css" href="https://cdn.datatables.net/1.10.22/css/jquery.dataTables.min.css">
<link rel="stylesheet" type="text/css" href="https://cdn.datatables.net/buttons/1.6.4/css/buttons.dataTables.min.css">
{# <script type="text/javascript" language="javascript" src="https://code.jquery.com/jquery-3.5.1.js"></script>
<script type="text/javascript" language="javascript" src="https://cdn.datatables.net/1.10.22/js/jquery.dataTables.min.js"></script>
<script type="text/javascript" language="javascript" src="https://cdn.datatables.net/buttons/1.6.4/js/dataTables.buttons.min.js"></script>
<script type="text/javascript" language="javascript" src="https://cdn.datatables.net/buttons/1.6.4/js/buttons.flash.min.js"></script> #}
<script type="text/javascript" src="https://code.jquery.com/jquery-3.5.1.js"></script>
<script type="text/javascript" src="https://cdn.datatables.net/1.10.22/js/jquery.dataTables.min.js"></script>
<script type="text/javascript" src="https://cdn.datatables.net/buttons/1.6.4/js/dataTables.buttons.min.js"></script>
<script type="text/javascript" language="javascript"
src="https://cdnjs.cloudflare.com/ajax/libs/jszip/3.1.3/jszip.min.js"></script>
<script type="text/javascript" language="javascript"
src="https://cdnjs.cloudflare.com/ajax/libs/pdfmake/0.1.53/pdfmake.min.js"></script>
<script type="text/javascript" language="javascript"
src="https://cdnjs.cloudflare.com/ajax/libs/pdfmake/0.1.53/vfs_fonts.js"></script>
<script type="text/javascript" language="javascript"
src="https://cdn.datatables.net/buttons/1.6.4/js/buttons.html5.min.js"></script>
<script type="text/javascript" language="javascript"
src="https://cdn.datatables.net/buttons/1.6.4/js/buttons.print.min.js"></script>
{% endblock %}
{% block dashContent %}
<!-- START JUMBOTRON -->
@@ -55,8 +78,10 @@ Lien : https://recruteur.talentstube.com/partage/{{ ad.id }}
Mot de passe : ######
Au plaisir d’échanger avec vous,
</textarea>
<br/>
<p>* Les données collectées dans les candidatures vidéo sont strictement confidentielles et entrent dans le champ de la protection des données personnelles dun candidat. Les vidéos peuvent être partagées uniquement dans le cadre du processus de recrutement.
<br />
<p>* Les données collectées dans les candidatures vidéo sont strictement confidentielles et entrent dans
le champ de la protection des données personnelles dun candidat. Les vidéos peuvent être partagées
uniquement dans le cadre du processus de recrutement.
</p>
</div>
<div class="modal-footer">
@@ -82,12 +107,13 @@ Au plaisir d’échanger avec vous,
<h5>&nbsp;</h5>
<p>En cliquant sur confirmer, cette candidature ne sera plus accessible dans lespace visiteurs.</p>
</div>
<div class="modal-footer">
<input type="hidden" id="caseRecocher">
<button type="button" class="btn btn-secondary" data-dismiss="modal" onClick="annulerCheckbox()">Annuler</button>
<button type="button" class="btn btn-secondary" data-dismiss="modal">Confirmer</button>
<button type="button" class="btn btn-secondary" data-dismiss="modal"
onClick="annulerCheckbox()">Annuler</button>
<button type="button" class="btn btn-secondary" data-dismiss="modal">Confirmer</button>
</div>
</div>
</div>
@@ -103,137 +129,84 @@ Au plaisir d’échanger avec vous,
</div>
</div> #}
<div class="col-xl-12">
<div class="card card-borderless col-xl-12 col-sm-12 p-b-20">
<div class="row profil-candidature">
<div class="col-xl-6 col-md-12 p-t-10">
<h5>{{ ad.title }}</h5>
<h6>Publiée le {{ ad.publishedAt|date("d/m/Y") }}</h6>
</div>
<div class="col-xl-6 col-md-12 p-t-20 text-right">
<a href="#" class="" data-toggle="tooltip"
title="Cochez une ou plusieurs candidatures avant de pouvoir les partager.">
<button type="button" class="btn btn-primary m-b-10 btn-lg " disabled data-toggle="modal"
data-target="#partageModal" id="partageCandidats">
Partager les
candidatures
</button>
</a>
<!--<button type="button" aria-label="" class="btn btn-default btn-lg m-b-10">
<div class="col-xl-12">
<div class="card card-borderless col-xl-12 col-sm-12 p-b-20">
<div class="row profil-candidature">
<div class="col-xl-6 col-md-12 p-t-10">
<h5>{{ ad.title }}</h5>
<h6>Publiée le {{ ad.publishedAt|date("d/m/Y") }}</h6>
</div>
<div class="col-xl-6 col-md-12 p-t-20 text-right">
<a href="#" class="" data-toggle="tooltip"
title="Cochez une ou plusieurs candidatures avant de pouvoir les partager.">
<button type="button" class="btn btn-primary m-b-10 btn-lg " disabled data-toggle="modal"
data-target="#partageModal" id="partageCandidats">
Partager les
candidatures
</button>
</a>
<!--<button type="button" aria-label="" class="btn btn-default btn-lg m-b-10">
<span class="material-icons fs-16 m-r-5">delete</span>
<span class="">Clôturer</span>
</button>-->
<a href="{{ path('company_ad_soft_edit', { 'id': ad.id }) }}" >
<button type="button" aria-label="" class="btn btn-default btn-lg m-b-10">
<span class="material-icons fs-16 m-r-5">create</span>
<span class="">Éditer l'offre</span>
</button>
</a>
</div>
</div>
<div id="reponses" class="table-responsive m-t-20">
<table class="table table-hover" id="basicTable">
<thead>
<tr>
<!-- NOTE * : Inline Style Width For Table Cell is Required as it may differ from user to user
Comman Practice Followed
-->
<th style="width: 1%;"></th>
<th style="width: 10%;">Vidéo</th>
<th style="width: 20%;">Nom prénom</th>
<th style="width: 15%;">Date de reception </th>
<th style="width: 20%;">Localisation </th>
<th style="width: 20%;">Statut</th>
<th class="width: 5%;">Actions</th>
<a href="{{ path('company_ad_soft_edit', { 'id': ad.id }) }}">
<button type="button" aria-label="" class="btn btn-default btn-lg m-b-10">
<span class="material-icons fs-16 m-r-5">create</span>
<span class="">Éditer l'offre</span>
</button>
</a>
</div>
</div>
<style type="text/css">
/* Hide default search box */
.dataTables_filter {
display: none;
}
</style>
<div id="reponses" class="table-responsive m-t-20">
<table width="100%" class="table " style="">
<tr>
<th width="11%"><input id='input3' type='text' class='form-control' placeholder='Recherche par nom'
style='font-family:Arial, FontAwesome; width:100%' />
</th>
</tr>
</thead>
<tbody>
{% for answer in answers %}
<tr>
<td>
<input type="checkbox" id="answer_{{answer.id}}" name="answers" class="nav-trigger"
onChange="verifierIsChecked({{answer.id}})" {% if answer.isShared %} checked
{% endif %} />
<label for="nav-trigger" class="navicon-button x">
<div class="navicon"></div>
</label>
</td>
<td>
<a href="{{ path('company_answer_show',{'id':answer.id }) }}">
{% if answer.video.thumbnails.0 is defined %}
{% set img = answer.video.thumbnails.0.sizes.1.link %}
{% else %}
{% set img = " " %}
{% endif %}
<img src="{{ img }}">
</a>
</td>
<td>
<a href="{{ path('company_answer_show',{'id':answer.id }) }}">{{ answer.user.lastname }}
{{ answer.user.firstname }}</a>
</td>
<td>
{{ answer.sendTime()|date('d/m/Y') }}
</td>
<td>
{% if answer.user.getGeoloc %}
{% for adress in answer.user.getGeoloc %}
{{ adress["locality"] }}, {{ adress["postal_code"] }}
{% endfor %}
{% else %}
Non renseignée
{% endif %}
</td>
<th width="11%"><input id='input4' type='text' class='form-control'
placeholder='Recherche par prénom' style='font-family:Arial, FontAwesome; width:100%' />
</th>
<th width="25%">
<select id='input8' class='form-control'>
<option value="">Tous les statuts</option>
<option value="A_TRAITER">À traiter</option>
<option value="CONTACTE">Contacté</option>
<option value="ENTRETIEN">Entretien programmé</option>
<option value="REFUSE">Refusé</option>
<option value="EMBAUCHE">Embauché</option>
</select>
</th>
</tr>
</table>
<table id="candidatures_dt_table" width="100%" class="table table-hover ">
<thead>
<tr>
<th width="4%"></th>
<th width="4%">Vidéo</th>
<th width="6%">Nom</th>
<th width="6%">Prénom</th>
<th width="11%">Date de reception</th>
<th width="11%">Intitulé de l'offre</th>
<th width="21%">Localisation</th>
<th width="15%">Statut</th>
<td>
{% if answer.statusReponse =="EMBAUCHE" %}
<span class="label label-success">Embauché</span>
{% elseif answer.statusReponse =="REFUSE"%}
<span class="label label-important">Refusé</span>
{% elseif answer.statusReponse =="ENTRETIEN"%}
<span class="label label-warning">Entretien programmé</span>
{% elseif answer.statusReponse =="A_TRAITER"%}
<span class="label label-info">À traiter</span>
{% elseif answer.statusReponse =="CONTACTE"%}
<span class="label">Contacté</span>
{% else %}
<span class="label label-info">À traiter</span>
{% endif %}
</td>
</tr>
</thead>
<tbody>
<td class="v-align-middle">
<a title="{{ad.title}}" href="{{ path('company_answer_show',{'id':answer.id }) }}">
<i class="pg-icon">eye</i>
</a>
{# <a href="#" class="note-action c-pointer" data-func="add"
data-answer="{{ answer.id }}">
<i class="pg-icon">note</i>
</a> #}
{# {% for note in answer.notes %}
<a class="tooltipped note-action c-pointer" data-position="top" data-delay="50"
data-tooltip="{{ note.content }}" data-note="{{ note.id }}" data-func="edit">
<i class="pg-icon">comment</i>
</a>
{% endfor %} #}
</td>
</tr>
{% endfor %}
{% if answers|length == 0 %}
<tr>
<th colspan="7" class="text-center">Aucune candidature pour le moment</th>
</tr>
{% endif %}
</tbody>
</table>
</div>
</div>
</div>
</tbody>
</table>
</div>
</div>
</div>
@@ -363,23 +336,23 @@ Au plaisir d’échanger avec vous,
{% block javascriptsEnd %}
<!-- BEGIN VENDOR JS -->
<script src="{{ asset('dashboard/plugins/bootstrap/js/bootstrap.min.js') }}" type="text/javascript"></script>
<script src="{{ asset('dashboard/plugins/bootstrap/js/bootstrap.min.js') }}" type="text/javascript"></script>
<!-- END PAGE LEVEL JS -->
<!-- END PAGE LEVEL JS -->
<script type="text/javascript">
function parcourirAllCheckbox() {
var allCheckboxes = $("input[type=checkbox]");
var allCheckboxes = $("input[type=checkbox]");
var auMoinUneCheckboxCoche = false;
// Put all the unique name attributes in an array.
var checkboxCocheId= null;
var checkboxCocheId = null;
allCheckboxes.each(function () {
var isChecked = $(this).prop('checked');
if (isChecked == true) {
auMoinUneCheckboxCoche = true;
var tabId =$(this).prop('id').split("_");
var tabId = $(this).prop('id').split("_");
checkboxCocheId = tabId[1];
console.log(checkboxCocheId);
}
@@ -397,19 +370,19 @@ Au plaisir d’échanger avec vous,
}
function annulerCheckbox(){
function annulerCheckbox() {
//recuprer l'id de la checkbox
var checkboxId = $("#caseRecocher").val();
//$("#answer_" + checkboxId).prop(checked, true);
document.getElementById("answer_" + checkboxId).checked = true;
console.log("annuler action checkbox "+checkboxId);
console.log("annuler action checkbox " + checkboxId);
verifierIsChecked(checkboxId);
}
function verifierIsChecked(id) {
var auMoinUneCheckboxCoche = false;
parcourirAllCheckbox();
if($("#answer_" + id).prop('checked')==false){
if ($("#answer_" + id).prop('checked') == false) {
console.log("cette checkbox était cochée avant");
//$('#decocheModal').modal('open');
$('#decocheModal').modal('show');
@@ -440,7 +413,7 @@ Au plaisir d’échanger avec vous,
const obj = JSON.parse(data);
console.log(obj.code);
var texteMail = $("#codeShare").val();
$("#codeShare").val(texteMail.replace('######', obj.code));
$("#codeShare").val(texteMail.replace('######', obj.code));
})
//Ce code sera exécuté en cas d'échec - L'erreur est passée à fail()
@@ -470,11 +443,142 @@ Au plaisir d’échanger avec vous,
});
$('#partageModal').modal('hide');
$('#decocheModal').modal('hide');
}
);
$(window).load(function() {
});
$(window).load(function () {
$('#partageModal').modal('hide');
$('#decocheModal').modal('hide');
});
</script>
<script>
$(document).ready(function () {
// Add a text input to each footer cell
var pos = 1;
var table = $('#candidatures_dt_table').DataTable({
"columnDefs": [
{
"name": "partage",
"targets": 0,
"searchable": false,
"orderable": false
},
{
"name": "video",
"targets": 1,
"searchable": true,
"orderable": false
},
{
"name": "nom",
"targets": 2,
"type": 'html',
"searchable": true,
"orderable": true
},
{
"name": "prenom",
"targets": 3,
"type": 'html',
"searchable": true,
"orderable": true
},
{
"name": "dateReception",
"targets": 4,
"searchable": true,
"orderable": true
},
{
"name": "offre",
"targets": 5,
"searchable": true,
"orderable": false
},
{
"name": "localisation",
"targets": 6,
"searchable": true,
"orderable": false
},
{
"name": "statusReponse",
"targets": 7,
"searchable": true,
"orderable": false
},
],
"processing": true,
"serverSide": true,
"ajax": {
"url": "{{ path('alimenterCandidaturesAd',{'id':ad.id}) }}",
"type": 'POST',
},
"paging": true,
"info": true,
"searching": true,
"bFilter": true,
"responsive": true,
"pageLength": 100,
"order": [
[4, 'desc']
],
"language": {
"sProcessing": "En cours de chargement...",
"sSearch": "Rechercher&nbsp;:",
"sLengthMenu": "Afficher _MENU_ candidatures",
"sInfo": "Candidature de _START_ &agrave; _END_ sur _TOTAL_ candidatures",
"sInfoEmpty": "Candidature 0 &agrave; 0 sur 0 candidature",
"sInfoFiltered": "",
"sInfoPostFix": "",
"sLoadingRecords": "Chargement en cours...",
"sZeroRecords": "Aucune candidature ne correspond à votre recherche",
"sEmptyTable": "Aucune candidature disponible dans le tableau",
"oPaginate": {
"sFirst": "Premier",
"sPrevious": "Pr&eacute;c&eacute;dent",
"sNext": "Suivant",
"sLast": "Dernier"
},
"oAria": {
"sSortAscending": ": activer pour trier la colonne par ordre croissant",
"sSortDescending": ": activer pour trier la colonne par ordre d&eacute;croissant"
}
},
});
// Apply the search
pos = 1;
table.columns().every(function () {
var that = this;
$("#input" + pos).on('keyup change', function () {
console.log(this);
if (that.search() !== this.value) {
that
.search(this.value)
.draw();
}
});
pos++;
});
$('#candidatures_dt_table_filter').hide();
});
</script>
{% endblock %}
@@ -424,7 +424,7 @@
);
$("#ajouterCompetenceButtonMdal").html("Ajouter (+0)");
$("#ajouterCompetenceButtonMdal").hide();
$("#saveAdButton").prop("disabled", true);
//$("#saveAdButton").prop("disabled", true);
} else if (nbCompetencesSelect > 9) {
//Gestion des erreurs si plusde 10 compétences
$("#saveAdButton").prop("disabled", false);
@@ -37,7 +37,30 @@
<!-- END JUMBOTRON -->
<!-- MODALS-->
<!-- Modal 0 -->
<div class="modal fade in bd-example-modal-lg" id="popupSubmitModal" tabindex="-1" role="dialog"
aria-labelledby="popupSubmitModalLabel" aria-hidden="false" data-show="false">
<div class="modal-dialog modal-lg" role="document">
<div class="modal-content">
<div class="modal-header">
<h5 class="modal-title" id="popupSubmitModalLabel">Votre offre demploi vidéo est en cours de validation par l'équipe Talents Tube</h5>
<button type="button" class="close" data-dismiss="modal" aria-label="Close">
<span aria-hidden="true">&times;</span>
</button>
</div>
<div class="modal-body">
<p>Vous recevrez un e-mail lorsque votre offre demploi sera publiée sur la plateforme.</p>
</div>
<div class="modal-footer">
<button type="button" class="btn btn-secondary" data-dismiss="modal" onClick="submitFormAd()">Fermer</button>
</div>
</div>
</div>
</div>
<!-- Modal 1 -->
<div class="modal fade bd-example-modal-lg" id="competencesModal" tabindex="-1" role="dialog"
aria-labelledby="competencesModalLabel" aria-hidden="false" data-show="false">
@@ -308,15 +331,21 @@
</table>
</div>
<br>
<button aria-label="" type="submit"
<button type="button" class="btn btn-lg btn-primary btn-cons btn-animated from-left" data-toggle="modal"
data-target="#popupSubmitModal" id="saveAdButton">
<span>Suivant</span>
<span class="hidden-block">
<i class="material-icons tab-icon">videocam</i>
</span>
</button>
{# <button aria-label="" type="submit"
class="btn btn-lg btn-primary btn-cons btn-animated from-left" id="saveAdButton"
disabled="">
<span>Suivant</span>
<span class="hidden-block">
<i class="material-icons tab-icon">videocam</i>
</span>
</button>
</button> #}
</div>
</div>
@@ -416,7 +445,7 @@
);
$("#ajouterCompetenceButtonMdal").html("Ajouter (+0)");
$("#ajouterCompetenceButtonMdal").hide();
$("#saveAdButton").prop("disabled", true);
//$("#saveAdButton").prop("disabled", true);
} else if (nbCompetencesSelect > 9) {
$("#saveAdButton").prop("disabled", false);
//Gestion des erreurs si plusde 10 compétences
@@ -705,5 +734,10 @@
// on génere le json a chaque fois
genererJson();
}
//function appelée lors de la confirmation de popup
function submitFormAd(){
$('form[name="ad_soft"]').submit();
}
</script>
{% endblock %}
@@ -8,164 +8,268 @@
<li class="breadcrumb-item active">Offres d'emploi</li>
</ol>
<!-- END BREADCRUMB -->
<div class="row">
<div class="col-xl-12 col-lg-12 ">
<!-- START card -->
<div class="card card-transparent">
<div class="card-header ">
</div>
<div class="card-body">
<a class="btn-square" target="_self" href="{{ path('company_ad_create') }}">
<button aria-label=""
class="btn btn-primary btn-cons">{{ 'ad.company.add.label'|trans }}</button>
</a>
</div>
</div>
<!-- END card -->
</div>
</div>
</div>
</div>
</div>
<!-- END JUMBOTRON -->
<!-- Début modifications Corentin -->
<div class="col-xl-12">
<div class="card card-borderless col-xl-12 col-sm-12 p-b-20">
<div class="row ">
<div class="col-xl-12 col-md-12 p-t-20 text-right">
<a class="btn-square" target="_self" href="{{ path('company_ad_create') }}">
<button type="button" aria-label="" class="btn btn-primary btn-lg m-b-10">
<span class="material-icons fs-16 m-r-5">movie</span>
<span class="">Créer une offre d'emploi vidéo</span>
</button>
</a>
</div>
</div>
<div id="reponses" class="table-responsive m-t-20">
<table class="table table-hover" id="basicTable">
<thead>
<tr>
<th colspan=4 class="colonne1 bold">Gestion des offres</th>
<th colspan=5 class="colonne2 bold">Gestion des candidatures</th>
</tr>
</thead>
<thead>
<tr>
<th class="colonne1" style="width:25%;">Intitulé du poste</th>
<th class="colonne1" style="width:15%;">Statut</th>
<th class="colonne1" style="width:10%;">Vues de l'offre</th>
<th class="colonne1" style="width:10%;">Actions</th>
<th class="colonne2" style="width:8%;">À traiter</th>
<th class="colonne2" style="width:8%;">Contacté</th>
<th class="colonne2" style="width:8%;">Refusé</th>
<th class="colonne2" style="width:8%;">Entretien programmé</th>
<th class="colonne2" style="width:8%;">Embauché</th>
</tr>
</thead>
<tbody>
{% for ad in ads %}
<tr>
<td>
<h6>
{% if ad.countAnswers > 0 %}
<a href="{{ path('company_ad_answer_list',{'id':ad.id}) }}">
{{ ad.title }}
</a>
{% else %}
{{ ad.title }}
{% endif %}
</h6>
<br>
{% if ad.location %}
{% if ad.location.gmap_address %}
<span>{{ ad.location.gmap_address.formatted_address }}</span><br>
{% endif %}
{% endif %}
<span>Date de création : {{ ad.publishedAt|date("d/m/Y") }}</span>
</td>
<td>
{% if ad.getStatus() == "DECLINED" %}
<span class="">{{ ad.getStatus()|trans }}</span>
{% elseif ad.getStatus() == "PUBLISHED" %}
<span class="label label-success">Publiée</span>
{% elseif ad.getStatus() == "CLOSED" %}
<span class="label label-important">Clôturée</span>
{% elseif ad.getStatus() == "DRAFT" %}
<span class="label ">Brouillon</span>
{% elseif ad.getStatus() == "TO_PUBLISH" %}
<span class="label label-warning">En attente de validation</span>
{% else %}
<span class="">{{ ad.getStatus()|trans }}</span>
{% endif %}
</td>
<td>
{% if arrayByAds is defined %}
{{ arrayByAds[ad.id]["count"] }}
{% endif %}
</td>
<td>
{% if ad.getStatus() == "DRAFT" or ad.getStatus() == "DECLINED" %}
{#Edit#}
<a class=" td-none" href="{{ path('company_ad_edit', { 'id': ad.id }) }}"
style="margin-right: 10px">
<i class="pg-icon">pen</i>
</a>
{% else %}
{#Soft Edit#}
<a class=" td-none" href="{{ path('company_ad_soft_edit', { 'id': ad.id }) }}"
style="margin-right: 10px">
<i class="pg-icon">pen</i>
</a>
{% endif %}
{% if ad.getStatus() == "DRAFT" or ad.getStatus() == "DECLINED" %}
{#Video#}
<a class="tooltipped td-none" href="{{ path('create_media', { 'id': ad.id }) }}">
<i class="material-icons">
videocam
</i>
</a>
{% endif %}
{% if ad.getStatus() == "PUBLISHED" %}
{#Extension#}
{# ENLEVE LE 01/09 #}
{# <a class="tooltipped td-none" data-position="top" data-delay="0"
data-tooltip="{{ 'ad.company.dates.extension.label'|trans }}"
href="{{ path('company_ad_extension', { 'id': ad.id }) }}"
style="margin-right: 10px">
<i class="pg-icon">calendar</i>
</a> #}
{#Force ending#}
{# <a class="tooltipped td-none" data-position="top" data-delay="0"
data-tooltip="{{ 'ad.company.closed.label'|trans }}"
href="{{ path('company_ad_closed', { 'id': ad.id }) }}" style="margin-right: 10px">
<i class="material-icons">
close
</i>
</a> #}
{% endif %}
{% if ad.getStatus() == "TO_PUBLISH" or ad.getStatus() == "VALIDATED" or ad.getStatus() == "CLOSED" or ad.getStatus() == "EXPIRED" %}
{#Edit Dates#}
{# <a class="tooltipped td-none" data-position="top" data-delay="0"
data-tooltip="{{ 'ad.company.dates.edit.label'|trans }}"
href="{{ path('company_ad_step3', { 'id': ad.id }) }}" style="margin-right: 10px">
<i class="material-icons">
close
</i>
</a> #}
{% endif %}
</td>
<td>
{% if ad.countAnswersParStatut.nbATraiter > 0 %}
<a href="{{ path('company_ad_answer_list',{'id':ad.id}) }}">
<i class="fa fa-eye"></i>&nbsp; {{ ad.countAnswersParStatut.nbATraiter }}
</a>
{% else %}
0
{% endif %}
</td>
<td>
{% if ad.countAnswersParStatut.nbContacte > 0 %}
<a href="{{ path('company_ad_answer_list',{'id':ad.id}) }}">
<i class="fa fa-eye"></i>&nbsp; {{ ad.countAnswersParStatut.nbContacte }}
</a>
{% else %}
0
{% endif %}
</td>
<td>
{% if ad.countAnswersParStatut.nbRefuse > 0 %}
<a href="{{ path('company_ad_answer_list',{'id':ad.id}) }}">
<i class="fa fa-eye"></i>&nbsp; {{ ad.countAnswersParStatut.nbRefuse }}
</a>
{% else %}
0
{% endif %}
</td>
<td>
{% if ad.countAnswersParStatut.nbEntretien > 0 %}
<a href="{{ path('company_ad_answer_list',{'id':ad.id}) }}">
<i class="fa fa-eye"></i>&nbsp; {{ ad.countAnswersParStatut.nbEntretien }}
</a>
{% else %}
0
{% endif %}
</td>
<td>
{% if ad.countAnswersParStatut.nbEmbauche > 0 %}
<a href="{{ path('company_ad_answer_list',{'id':ad.id}) }}">
<i class="fa fa-eye"></i>&nbsp; {{ ad.countAnswersParStatut.nbEmbauche }}
</a>
{% else %}
0
{% endif %}
</td>
</tr>
{% endfor %}
{# <tr>
<td>
<a href="https://pp.talentstube.com/entreprise/me/espace-oe/annonce/116/reponse">
<h6>Directeur de la communication (F/H)</h6>
</a><br>
<span>Nantes, 44000</span><br>
<span>Date de création : 22/03/2021</span>
</td>
<td>
<span class="label label-success">Publiée</span>
</td>
<td>578</td>
<td>
<a class=" td-none" href="https://pp.talentstube.com/entreprise/me/espace-oe/annonce/124/editer" style="margin-right: 10px">
<i class="pg-icon">pen</i>
</a>
</td>
<td><a href="https://pp.talentstube.com/entreprise/me/espace-oe/annonce/116/reponse">3</a></td>
<td><a href="https://pp.talentstube.com/entreprise/me/espace-oe/annonce/116/reponse">4</a></td>
<td><a href="https://pp.talentstube.com/entreprise/me/espace-oe/annonce/116/reponse">4</a></td>
<td><a href="https://pp.talentstube.com/entreprise/me/espace-oe/annonce/116/reponse">8</a></td>
<td><a href="https://pp.talentstube.com/entreprise/me/espace-oe/annonce/116/reponse">1</a></td>
</tr>
<tr>
<td>
<h6>Responsable RRH (F/H)</h6><br>
<span>Vannes, 56000</span><br>
<span>Date de création : 01/02/2021</span>
</td>
<td>
<span class="label label-warning">En attente de validation</span>
</td>
<td>0</td>
<td>
<a class=" td-none" href="https://pp.talentstube.com/entreprise/me/espace-oe/annonce/124/editer" style="margin-right: 10px">
<i class="pg-icon">pen</i>
</a>
</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
</tr>
<tr>
<td>
<a href="https://pp.talentstube.com/entreprise/me/espace-oe/annonce/116/reponse">
<h6>Alternant communication(F/H)</h6>
</a><br>
<span>Pontivy, 56000</span><br>
<span>Date de création : 15/01/2021</span>
</td>
<td>
<span class="label label-important">Clôturée</span>
</td>
<td>1459</td>
<td>
<a class=" td-none" href="https://pp.talentstube.com/entreprise/me/espace-oe/annonce/124/editer" style="margin-right: 10px">
<i class="pg-icon">pen</i>
</a>
</td>
<td>0</td>
<td>0</td>
<td><a href="https://pp.talentstube.com/entreprise/me/espace-oe/annonce/116/reponse">12</a></td>
<td>0</td>
<td><a href="https://pp.talentstube.com/entreprise/me/espace-oe/annonce/116/reponse">1</a></td>
</tr> #}
</tbody>
</table>
</div>
</div>
</div>
<!-- Fin modifications Corentin -->
<!-- START CONTAINER FLUID -->
<div class=" container-fluid container-fixed-lg bg-white">
<!-- START card -->
<div class="card card-transparent">
<div class="card-header ">
<div class="card-title">Offres d'emploi
</div>
</div>
<div class="card-body">
<div class="table-responsive">
<table class="table table-hover" id="basicTable">
<thead>
<tr>
<!-- NOTE * : Inline Style Width For Table Cell is Required as it may differ from user to user
Comman Practice Followed
-->
<th style="width:20%">{{ 'ad.company.list.title'|trans }}</th>
<th style="width:20%">{{ 'ad.company.list.answers'|trans }}</th>
<th style="width:20%">{{ 'ad.company.list.views'|trans }}</th>
<th style="width:20%">{{ 'ad.company.list.status'|trans }}</th>
<th style="width:20%">{{ 'ad.company.list.actions'|trans }}</th>
</tr>
</thead>
<tbody>
{% for ad in ads %}
<tr>
<td class="v-align-middle ">
{% if ad.countAnswers > 0 %}
<a href="{{ path('company_ad_answer_list',{'id':ad.id}) }}">
{{ ad.title }}
</a>
{% else %}
{{ ad.title }}
{% endif %}
</td>
<td class="v-align-middle">
{% if ad.countAnswers > 0 %}
<a href="{{ path('company_ad_answer_list',{'id':ad.id}) }}">
<i class="fa fa-eye"></i>&nbsp; {{ ad.countAnswers }}
</a>
{% else %}
0
{% endif %}
</td>
<td class="v-align-middle">
{% if arrayByAds is defined %}
{{ arrayByAds[ad.id]["count"] }}
{% endif %}
</td>
<td class="v-align-middle">
{% if ad.getStatus() == "DECLINED" %}
<div class="">
<span class="">{{ ad.getStatus()|trans }}</span>
<i class="c-pointer fa fa-info-circle color-red" aria-hidden="true"></i>
</div>
{% else %}
<span class="">{{ ad.getStatus()|trans }}</span>
{% endif %}
</td>
<td class="v-align-middle">
{% if ad.getStatus() == "DRAFT" or ad.getStatus() == "DECLINED" %}
{#Edit#}
<a class=" td-none" href="{{ path('company_ad_edit', { 'id': ad.id }) }}"
style="margin-right: 10px">
<i class="pg-icon">pen</i>
</a>
{% else %}
{#Soft Edit#}
<a class=" td-none" href="{{ path('company_ad_soft_edit', { 'id': ad.id }) }}"
style="margin-right: 10px">
<i class="pg-icon">pen</i>
</a>
{% endif %}
{% if ad.getStatus() == "DRAFT" or ad.getStatus() == "DECLINED" %}
{#Video#}
<a class="tooltipped td-none" href="{{ path('create_media', { 'id': ad.id }) }}">
<i class="material-icons">
videocam
</i>
</a>
{% endif %}
{% if ad.getStatus() == "PUBLISHED" %}
{#Extension#}
{# ENLEVE LE 01/09 #}
{# <a class="tooltipped td-none" data-position="top" data-delay="0"
data-tooltip="{{ 'ad.company.dates.extension.label'|trans }}"
href="{{ path('company_ad_extension', { 'id': ad.id }) }}"
style="margin-right: 10px">
<i class="pg-icon">calendar</i>
</a> #}
{#Force ending#}
{# <a class="tooltipped td-none" data-position="top" data-delay="0"
data-tooltip="{{ 'ad.company.closed.label'|trans }}"
href="{{ path('company_ad_closed', { 'id': ad.id }) }}" style="margin-right: 10px">
<i class="material-icons">
close
</i>
</a> #}
{% endif %}
{% if ad.getStatus() == "TO_PUBLISH" or ad.getStatus() == "VALIDATED" or ad.getStatus() == "CLOSED" or ad.getStatus() == "EXPIRED" %}
{#Edit Dates#}
{# <a class="tooltipped td-none" data-position="top" data-delay="0"
data-tooltip="{{ 'ad.company.dates.edit.label'|trans }}"
href="{{ path('company_ad_step3', { 'id': ad.id }) }}" style="margin-right: 10px">
<i class="material-icons">
close
</i>
</a> #}
{% endif %}
</td>
</tr>
{% endfor %}
{% if ads|length == 0 %}
<tr>
<th colspan="5" class="text-center">Aucune offre pour le moment</th>
</tr>
{% endif %}
</tbody>
</table>
</div>
</div>
</div>
<!-- END card -->
</div>
<script type="text/javascript">
<!-- END CONTAINER FLUID
-->
@@ -118,59 +118,60 @@
<div class="table-responsive" id="spontaneous">
<table width="100%" class="table " style="">
<tr>
<th width="11%"><input id='input2' type='text' class='form-control' placeholder='Recherche par nom'
style='font-family:Arial, FontAwesome; width:100%' /></th>
<th width="11%"><input id='input3' type='text' class='form-control' placeholder='Recherche par prénom'
style='font-family:Arial, FontAwesome; width:100%' /></th>
<th width="25%">
<select id='input5' class='form-control'>
<option value="">Toutes les offres</option>
<option value="spontaneous">Candidatures spontanées</option>
{% for offre in offres %}
<option value="{{offre.title}}">{{offre.title}}</option>
{% endfor %}
</select>
</th>
<th width="25%">
<select id='input7' class='form-control'>
<option value="">Tous les statuts</option>
<option value="EMBAUCHE">Embauché</option>
<option value="REFUSE">Refusé</option>
<option value="ENTRETIEN">Entretien programmé</option>
<option value="A_TRAITER">À traiter</option>
<option value="CONTACTE">Contacté</option>
</select>
</th>
<tr>
</tr>
</table>
<th width="11%"><input id='input2' type='text' class='form-control'
placeholder='Recherche par nom' style='font-family:Arial, FontAwesome; width:100%' />
</th>
<br />
<th width="11%"><input id='input3' type='text' class='form-control'
placeholder='Recherche par prénom' style='font-family:Arial, FontAwesome; width:100%' />
</th>
<th width="25%">
<select id='input5' class='form-control'>
<option value="">Toutes les offres</option>
<option value="spontaneous">Candidatures spontanées</option>
{% for offre in offres %}
<option value="{{offre.title}}">{{offre.title}}</option>
{% endfor %}
</select>
</th>
<th width="25%">
<select id='input7' class='form-control'>
<option value="">Tous les statuts</option>
<option value="A_TRAITER">À traiter</option>
<option value="CONTACTE">Contacté</option>
<option value="ENTRETIEN">Entretien programmé</option>
<option value="REFUSE">Refusé</option>
<option value="EMBAUCHE">Embauché</option>
</select>
</th>
</tr>
</table>
<br />
<table id="candidatures_dt_table" width="100%" class="table table-hover ">
{# Add a tfoot which will actually be used to place the individual search boxes #}
<thead>
<tr>
<th width="4%">Vidéo</th>
<th width="4%">Vidéo</th>
<th width="6%">Nom</th>
<th width="6%">Prénom</th>
<th width="11%">Date de reception</th>
<th width="11%">Intitulé de l'offre</th>
<th width="25%">Localisation</th>
<th width="15%">Statut</th>
<th width="15%">Statut</th>
</tr>
</thead>
<tbody></tbody>
</table>
{#
{#
<table class="table table-hover " id="">
<thead>
<tr>
@@ -250,7 +251,7 @@
</table> #}
</div>
</div>
</div>
@@ -266,7 +267,7 @@
// Add a text input to each footer cell
var pos = 1;
@@ -323,7 +324,7 @@
"serverSide": true,
"ajax": {
"url": '{{ path('alimenterCandidaturesCompany') }}',
"url": "{{ path('alimenterCandidaturesCompany') }}",
"type": 'POST',
},
"paging": true,
@@ -333,27 +334,27 @@
"responsive": true,
"pageLength": 10,
"order": [
[0, 'desc']
[3, 'desc']
],
"language": {
"sProcessing": "En cours de chargement...",
"sSearch": "Rechercher&nbsp;:",
"sLengthMenu": "Afficher _MENU_ candidatures",
"sInfo": "Candidature de _START_ &agrave; _END_ sur _TOTAL_ candidatures",
"sInfoEmpty": "Candidature 0 &agrave; 0 sur 0 candidature",
"sInfoFiltered": "",
"sInfoPostFix": "",
"sProcessing": "En cours de chargement...",
"sSearch": "Rechercher&nbsp;:",
"sLengthMenu": "Afficher _MENU_ candidatures",
"sInfo": "Candidature de _START_ &agrave; _END_ sur _TOTAL_ candidatures",
"sInfoEmpty": "Candidature 0 &agrave; 0 sur 0 candidature",
"sInfoFiltered": "",
"sInfoPostFix": "",
"sLoadingRecords": "Chargement en cours...",
"sZeroRecords": "Aucune candidature ne correspond à votre recherche",
"sEmptyTable": "Aucune candidature disponible dans le tableau",
"sZeroRecords": "Aucune candidature ne correspond à votre recherche",
"sEmptyTable": "Aucune candidature disponible dans le tableau",
"oPaginate": {
"sFirst": "Premier",
"sPrevious": "Pr&eacute;c&eacute;dent",
"sNext": "Suivant",
"sLast": "Dernier"
"sFirst": "Premier",
"sPrevious": "Pr&eacute;c&eacute;dent",
"sNext": "Suivant",
"sLast": "Dernier"
},
"oAria": {
"sSortAscending": ": activer pour trier la colonne par ordre croissant",
"sSortAscending": ": activer pour trier la colonne par ordre croissant",
"sSortDescending": ": activer pour trier la colonne par ordre d&eacute;croissant"
}
},
@@ -385,8 +386,5 @@
});
</script>
{% endblock %}
@@ -48,7 +48,7 @@
<h5><a href="{{ path('company_answer_list') }}">Candidature spontanée</a></h5>
{% endif %}
<h6>Candidature reçue le {{ answer.cTime|date('d/m/Y') }}</h6>
<h6>Candidature reçue le {{ answer.sendTime|date('d/m/Y') }}</h6>
</div>
</div>
</div>
@@ -1,7 +1,31 @@
{# {% extends 'company/base_dashboard_company.html.twig' %} #}
{% extends 'admin/base_dashboard.html.twig' %}
{% block dashContent %}
<!-- MODALS-->
<!-- Modal 0 -->
<div class="modal fade in bd-example-modal-lg" id="popupSubmitModal" tabindex="-1" role="dialog"
aria-labelledby="popupSubmitModalLabel" aria-hidden="false" data-show="false">
<div class="modal-dialog modal-lg" role="document">
<div class="modal-content">
<div class="modal-header">
<h5 class="modal-title" id="popupSubmitModalLabel">Votre offre demploi vidéo est en cours de validation par l'équipe Talents Tube</h5>
<button type="button" class="close" data-dismiss="modal" aria-label="Close">
<span aria-hidden="true">&times;</span>
</button>
</div>
<div class="modal-body">
<p>Vous recevrez un e-mail lorsque votre offre demploi sera publiée sur la plateforme.</p>
</div>
<div class="modal-footer">
<button type="button" class="btn btn-secondary" data-dismiss="modal" onClick="submitFormAd()">Fermer</button>
</div>
</div>
</div>
</div>
<div class="row bg-bordered p-0">
{# {% include 'company/ad_steps.html.twig' with {'tab':2} %} #}
@@ -158,7 +182,9 @@ vidéo d'offre d'emploi. <a href="https://blog.talentstube.com/contact" target="
</a>
</div>
<div class="col-6">
<button aria-label="" id="submit" type="submit" class="btn btn-primary btn-lg m-b-10 hide"
<button aria-label="" id="submit" data-toggle="modal"
data-target="#popupSubmitModal" type="" class="btn btn-primary btn-lg m-b-10 hide"
type="button">
<span>Publier l'offre</span>
@@ -294,7 +320,11 @@ vidéo d'offre d'emploi. <a href="https://blog.talentstube.com/contact" target="
{% else %}
var videoExist = false;
{% endif %}
//function appelée lors de la confirmation de popup
function submitFormAd(){
$('#form_media').submit();
}
</script>
<script src="{{ asset('/js/dropzoneV2.js') }}"></script>
{% endblock %}
@@ -184,7 +184,7 @@
</div>
<div class="col-sm">
<span class="fs-12">30 derniers jours</span>
<h4 class="bold no-margin" style="opacity:0.75">+{{ records30days.totalRecordsCompany }}
<h4 class="bold no-margin" style="opacity:0.75">+{{ records30days.totalRecords-records30days.totalRecordsCompany }}
</h4>
</div>
</div>
@@ -0,0 +1,53 @@
<div class="space-1-bottom gradient-overlay-half-primary-v1">
<div class="d-lg-flex align-items-lg-center height-85vh--lg">
<div class="container space-2 space-0--lg mt-lg-8">
<div class="row justify-content-lg-between align-items-lg-center">
<div class="w-md-80 w-lg-60 text-center mx-md-auto col-lg-6">
<!-- Signup Form -->
<div class="bg-white shadow-sm rounded p-6" id="formulaireBas">
<form class="js-validate" id="formDemandeDiag2">
<div class="">
<p class="h4 text-center">Faites le point sur <br>vos enjeux de recrutement</p>
<p class="text-center">Diagnostic gratuit de 15 minutes</p>
<!--<p>Faites le point sur vos enjeux de recrutement, identifier ce que Talents Tube peut résoudre et prendre connaissance de loffre la plus appropriée pour votre entreprise.</p>-->
</div>
<!-- Input -->
<div class="js-form-message mb-3">
<div class="js-focus-state input-group input-group form">
<input type="text" class="form-control form__input" name="nomPrenomForm2" id="nomPrenomForm2" required placeholder="Nom Prénom" aria-label="name">
</div>
</div>
<!-- End Input -->
<!-- Input -->
<div class="js-form-message mb-3">
<div class="js-focus-state input-group input-group form">
<input type="text" class="form-control form__input" name="nomEntrepriseForm2" id="nomEntrepriseForm2" required placeholder="Nom de l'entreprise" aria-label="entreprise">
</div>
</div>
<!-- End Input -->
<!-- Input -->
<div class="js-form-message mb-3">
<div class="js-focus-state input-group input-group form">
<input type="email" class="form-control form__input" name="emailForm2" id="emailForm2" required placeholder="E-mail" aria-label="email">
</div>
</div>
<!-- End Input -->
<!-- Input -->
<div class="js-form-message mb-3">
<div class="js-focus-state input-group input-group form">
<input type="text" class="form-control form__input" name="telForm2" id="telForm2" placeholder="Numéro de téléphone" aria-label="phone">
</div>
</div>
<!-- End Input -->
<p class="text-primary" id="messageValideDemandeDiag2"></p>
<a href="#formulaireBas" onClick="demanderDiag('formDemandeDiag2')" class="btn btn-sm btn-primary btn-wide center">Demander mon diagnostic</a>
</form>
</div>
<!-- End Signup Form -->
</div>
</div>
</div>
</div>
</div>
@@ -1,40 +1,62 @@
<!-- Ils nous font confiance DEBUT -->
<div class="container space-2 space-3--lg accueilFondBlanc">
<div class=" text-center mx-md-auto mb-12">
<div class="container space-2 space-3--lg accueilFondBlanc">
<div class="row justify-content-lg-between">
<div class="w-md-80 w-lg-60 text-center mx-md-auto mb-9">
<!-- Title -->
<h2 class="h1"> Ils nous font confiance</h2>
<!-- Slick Carousel -->
<div class="js-slick-carousel u-slick" data-autoplay="true" data-speed="5000" data-infinite="true"
data-slides-show="5">
<div class="js-slide">
<img src="{{ asset('v2/logos/Albea-logo.png') }}" alt="Image Description">
</div>
<div class="js-slide">
<img src="{{ asset('v2/logos/Bouyer-leroux-logo.png') }}" alt="Image Description">
</div>
<div class="js-slide">
<img src="{{ asset('v2/logos/Eiffage-logo.png') }}" alt="Image Description">
</div>
<div class="js-slide">
<img src="{{ asset('v2/logos/groupe-mousset-logo.png') }}" alt="Image Description">
</div>
<div class="js-slide">
<img src="{{ asset('v2/logos/Groupe-rocher-logo.png') }}" alt="Image Description">
</div>
<div class="js-slide">
<img src="{{ asset('v2/logos/intermarche.png') }}" alt="Image Description">
</div>
<div class="js-slide">
<img src="{{ asset('v2/logos/Mazars-logo.png') }}" alt="Image Description">
</div>
<div class="js-slide">
<img src="{{ asset('v2/logos/Mma-logo.png') }}" alt="Image Description">
</div>
<div class="js-slide">
<img src="{{ asset('v2/logos/Square-habitat-logo.png') }}" alt="Image Description">
<h2 class="h3">Ils ont trouvé leurs candidats avec Talents Tube</h2>
</div>
<div class="col-md-6 col-lg-5 order-md-2 mb-7 mb-md-0">
<!-- Review -->
<div class="media">
<div class="media-body">
<h4 class="h6 mb-0">Delphine F.</h4>
<p class="text-muted">"Je n'avais pratiquement plus de CV. Talents Tube est devenu l'outil de recrutement qui génère le plus de candidatures"</p>
</div>
</div>
<!-- End Slick Carousel -->
<!-- End Review -->
<!-- Review -->
<div class="media">
<div class="media-body">
<h4 class="h6 mb-0">Emmanuelle G</h4>
<p class="text-muted">"Nous n'avions plus de CV papier et grâce à Talents Tube, nous avons recruté de nouveaux collaborateurs en préparation de commandes"</p>
</div>
</div>
<!-- End Review -->
<!-- Review -->
<div class="media">
<div class="media-body">
<h4 class="h6 mb-0">Adrien</h4>
<p class="text-muted">"Nous avons recruté grâce à la vidéo ! On a des personnes qui ont postulé et qui n'auraient pas postulé sans la vidéo."</p>
</div>
</div>
<!-- End Review -->
</div>
<div class="col-md-6 order-md-1">
<div id="youTubeVideoPlayer" class="u-video-player mb-7">
<!-- Cover Image -->
<img class="img-fluid u-video-player__preview" src="/v2/png/recrutement-video-temoignage.jpg" alt="Image">
<!-- End Cover Image -->
<!-- Play Button -->
<a class="js-fancybox text-white u-video-player__btn u-video-player__centered" href="javascript:;"
data-src="https://www.youtube.com/watch?v=sKh0u7Mbdps" data-speed="700" data-animate-in="zoomIn"
data-animate-out="zoomOut" data-caption="Témoignage">
<span class="u-video-player__icon">
<i class="fa fa-play u-video-player__icon-inner"></i>
</span>
</a>
<!-- End Play Button -->
<!-- Video Iframe -->
<div class="embed-responsive embed-responsive-16by9">
</div>
<!-- End Video Iframe -->
</div>
<!-- End Video Block -->
</div>
</div>
<!-- Ils nous font confiance FIN -->
</div>
</div>
<!-- Ils nous font confiance FIN -->
@@ -0,0 +1,87 @@
<!-- Difficultés DEBUT -->
<div class="container space-2 space-3--lg accueilFondBlanc">
<!-- Title -->
<div class="w-md-80 w-lg-60 text-center mx-md-auto mb-9">
<h2 class="h3">Vos difficultés de recrutement freinent votre développement</h2>
</div>
<!-- End Title -->
<div class="row pb-3">
<div class="col-sm-6 col-lg-4 mb-7">
<!-- Icon Block -->
<div class="media align-items-center pr-lg-4">
<img class="max-width-9 mr-3" src="../v2/svg/components/recrutement-long-et-difficile.svg" alt="Image Description">
<div class="media-body">
<p class="mb-0">Recrutements longs et difficiles ?</p>
</div>
</div>
<!-- End Icon Block -->
</div>
<div class="col-sm-6 col-lg-4 mb-7">
<!-- Icon Block -->
<div class="media align-items-center pr-lg-4">
<img class="max-width-9 mr-3" src="../v2/svg/components/metier-en-tension.svg" alt="Image Description">
<div class="media-body">
<p class="mb-0">Métier en tension, méconnu, dévalorisé ?</p>
</div>
</div>
<!-- End Icon Block -->
</div>
<div class="col-sm-6 col-lg-4 mb-7">
<!-- Icon Block -->
<div class="media align-items-center pr-lg-4">
<img class="max-width-9 mr-3" src="../v2/svg/components/penurie-main-oeuvre.svg" alt="Image Description">
<div class="media-body">
<p class="mb-0">Développement menacé par une pénurie de main-d'œuvre ?</p>
</div>
</div>
<!-- End Icon Block -->
</div>
<div class="col-sm-6 col-lg-4 mb-7 mb-lg-0">
<!-- Icon Block -->
<div class="media align-items-center pr-lg-4">
<img class="max-width-9 mr-3" src="../v2/svg/components/trop-candidats-non-cibles.svg" alt="Image Description">
<div class="media-body">
<p class="mb-0">Trop de candidats non ciblés ?</p>
</div>
</div>
<!-- End Icon Block -->
</div>
<div class="col-sm-6 col-lg-4 mb-7 mb-md-0">
<!-- Icon Block -->
<div class="media align-items-center pr-lg-4">
<img class="max-width-9 mr-3" src="../v2/svg/components/talents-introuvables.svg" alt="Image Description">
<div class="media-body">
<p class="mb-0">Talents introuvables ?</p>
</div>
</div>
<!-- End Icon Block -->
</div>
<div class="col-sm-6 col-lg-4">
<!-- Icon Block -->
<div class="media align-items-center pr-lg-4">
<img class="max-width-9 mr-3" src="../v2/svg/components/methode-de-recrutement-traditionnel.svg" alt="Image Description">
<div class="media-body">
<p class="mb-0">Méthodes de recrutement traditionnelles sans résultat ?</p>
</div>
</div>
<!-- End Icon Block -->
</div>
</div>
<div class="w-md-80 w-lg-60 text-center mx-md-auto mt-5">
<h3 class="h4">Ne laissez plus votre développement dépendre de vos recrutements</h3>
<p class="lead">Rencontrez vos futurs collaborateurs autrement !</p>
</div>
</div>
</div>
</div>
<!-- Mieux que du texte FIN -->
@@ -0,0 +1,318 @@
<div class=" space-1-bottom accueilFondBlanc">
<div class="container space-2 ">
<div class="row mx-gutters-2">
<div class="col-md-6">
<!-- Collapse -->
<div id="faqAccordionOne">
<div class="card mb-2">
<div class="card-header card-collapse__header" id="faqAccordionOneHeadingOne">
<h5 class="mb-0">
<button
class="btn btn-sm btn-link btn-block d-flex justify-content-between card-collapse__btn collapsed p-3"
data-toggle="collapse" data-target="#faqAccordionOneCollapseOne" aria-expanded="false"
aria-controls="faqAccordionOneCollapseOne">
Je narrive pas à recruter, en quoi la vidéo pourrait résoudre ma problématique ?
<span class="card-collapse__btn-arrow">
<i class="fa fa-arrow-down small"></i>
</span>
</button>
</h5>
</div>
<div id="faqAccordionOneCollapseOne" class="collapse" aria-labelledby="faqAccordionOneHeadingOne"
data-parent="#faqAccordionOne">
<div class="card-body card-collapse__body">
Pour recruter des talents dans vos métiers en tension et <strong>attirer lattention</strong> sur votre
marque employeur, la vidéo est votre meilleur allié ! Grâce à la vidéo, vous allez <strong>raconter
votre
histoire, transmettre des émotions</strong> afin de présenter votre entreprise de façon dynamique et
authentique
et dire aux candidats : “Venez vivre et travailler chez nous !”
La vidéo permet de vous montrer <strong>plus humain</strong>, de renforcer la <strong>proximité</strong>
entre votre marque employeur et
les candidats. Vous <strong>valorisez vos collaborateurs, votre métier, votre culture dentreprise,
lambiance</strong>
au sein de vos équipes et expliquez vos valeurs par des témoignages authentiques et <strong>bien plus
impactants</strong>
que les méthodes de recrutement traditionnelles.
</div>
</div>
</div>
<div class="card mb-2">
<div class="card-header card-collapse__header" id="faqAccordionOneHeadingTwo">
<h5 class="mb-0">
<button
class="btn btn-sm btn-link btn-block d-flex justify-content-between card-collapse__btn collapsed p-3"
data-toggle="collapse" data-target="#faqAccordionOneCollapseTwo" aria-expanded="false"
aria-controls="faqAccordionOneCollapseTwo">
Quand je recrute cest tout de suite, pas le temps de faire une vidéo en plus cela coûte trop cher !
<span class="card-collapse__btn-arrow">
<i class="fa fa-arrow-down small"></i>
</span>
</button>
</h5>
</div>
<div id="faqAccordionOneCollapseTwo" class="collapse" aria-labelledby="faqAccordionOneHeadingTwo"
data-parent="#faqAccordionOne">
<div class="card-body card-collapse__body">
Cest pourtant une occasion unique de vous démarquer de vos concurrents et transmettre des valeurs de
fraîcheur, de modernité et dinnovation : autant d’éléments que la nouvelle génération recherche chez
son futur employeur et qui vont vous permettre de recruter efficacement.
<h5>La vidéo est prête en seulement 3 jours !</h5>
Prendre le virage de <strong>la vidéo est beaucoup plus facile aujourdhui</strong>. Vous pouvez
réaliser des vidéos de
qualité en interne <strong>grâce à la caméra de votre smartphone</strong>. Vous définissez votre poste
et vous sollicitez
un ou deux collaborateurs qui vont vous aider ou témoigner. Le lendemain, vous organisez <strong>2
heures de
tournage</strong> puis vous faites le montage ou vous contactez Talents Tube pour le faire.
<strong>48h plus tard, votre
vidéo est prête à être diffusée</strong> sur Talents Tube et autres supports de communication. Et si
vous avez
besoin de conseils, Talents Tube est là pour vous accompagner dans cette transition.
<h5>La vidéo coûte moins chère quun mauvais recrutement !</h5>
La vidéo ne représente pas seulement un coût… cest un investissement qui permet une toute nouvelle
attractivité de votre entreprise : fierté interne, fidélisation de vos collaborateurs, attractivité des
candidats, valorisation de vos produits ou services…
</div>
</div>
</div>
<div class="card mb-2">
<div class="card-header card-collapse__header" id="faqAccordionOneHeadingThree">
<h5 class="mb-0">
<button
class="btn btn-sm btn-link btn-block d-flex justify-content-between card-collapse__btn collapsed p-3"
data-toggle="collapse" data-target="#faqAccordionOneCollapseThree" aria-expanded="false"
aria-controls="faqAccordionOneCollapseThree">
Comment vais-je faire pour trier 100 vidéos de motivation en réponse à mon offre demploi ?
<span class="card-collapse__btn-arrow">
<i class="fa fa-arrow-down small"></i>
</span>
</button>
</h5>
</div>
<div id="faqAccordionOneCollapseThree" class="collapse" aria-labelledby="faqAccordionOneHeadingThree"
data-parent="#faqAccordionOne">
<div class="card-body card-collapse__body">
Ne comparez pas avec les CV papier ! La vidéo génère tant de transparence que les <strong>candidats ne
pourront
pas se tromper sur vos attentes</strong>. Cest surtout parce que vous avez bien défini votre offre
demploi, que
ceux qui postulent auront toutes les cartes pour vous dire : « cest moi que vous recherchez ! ».
Ainsi, <strong>vous recevrez moins de candidatures et beaucoup plus dexcellents candidats</strong>.
Finalement, vous
gagnerez du temps dans votre recrutement.
Le plus de Talents Tube : vous conservez dans votre espace recruteur, les vidéos de motivation pour vous
<strong>constituer votre vivier de candidats</strong>.
</div>
</div>
</div>
<div class="card mb-2 mb-md-0">
<div class="card-header card-collapse__header" id="faqAccordionOneHeadingFour">
<h5 class="mb-0">
<button
class="btn btn-sm btn-link btn-block d-flex justify-content-between card-collapse__btn collapsed p-3"
data-toggle="collapse" data-target="#faqAccordionOneCollapseFour" aria-expanded="false"
aria-controls="faqAccordionOneCollapseFour">
Les candidats qui ne veulent pas faire de vidéo peuvent-ils me répondre avec une candidature classique
sur papier ?
<span class="card-collapse__btn-arrow">
<i class="fa fa-arrow-down small"></i>
</span>
</button>
</h5>
</div>
<div id="faqAccordionOneCollapseFour" class="collapse" aria-labelledby="faqAccordionOneHeadingFour"
data-parent="#faqAccordionOne">
<div class="card-body card-collapse__body">
<strong>Nos collaborateurs accompagnent les candidats dans ce changement</strong> afin quils puissent
présenter en
vidéo, leur personnalité, leur motivation et expliquer ce quils ont trouvé dexcellent dans la vidéo
doffre demploi de votre entreprise, pour leur parcours professionnel. <strong>Il peut arriver que les
candidats ne souhaitent pas se présenter en vidéo</strong> et nous ne les forçons pas. Sur Talents
Tube, ils ont
vos coordonnées. Après avoir visionné loffre demploi vidéo, <strong>ils peuvent vous envoyer leur CV
papier
directement sur votre site internet</strong>.
</div>
</div>
</div>
</div>
<!-- End Collapse -->
</div>
<div class="col-md-6">
<!-- Collapse -->
<div id="faqAccordionTwo">
<div class="card mb-2">
<div class="card-header card-collapse__header" id="faqAccordionTwoHeadingOne">
<h5 class="mb-0">
<button
class="btn btn-sm btn-link btn-block d-flex justify-content-between card-collapse__btn collapsed p-3"
data-toggle="collapse" data-target="#faqAccordionTwoCollapseFive" aria-expanded="false"
aria-controls="faqAccordionTwoCollapseFive">
Quelle différence entre une vidéo « marque employeur », « métier » et « offre demploi » ?
<span class="card-collapse__btn-arrow">
<i class="fa fa-arrow-down small"></i>
</span>
</button>
</h5>
</div>
<div id="faqAccordionTwoCollapseFive" class="collapse" aria-labelledby="faqAccordionTwoHeadingOne"
data-parent="#faqAccordionTwo">
<div class="card-body card-collapse__body">
<h5>La vidéo Marque employeur :</h5>
Pour développer ou améliorer votre marque employeur, la vidéo révèle l’âme de votre entreprise. Elle
permet de la rendre attractive, de fédérer vos équipes et de persuader les candidats que vous ciblez de
venir travailler chez vous plutôt que chez votre concurrent ! La vidéo marque employeur présente votre
culture dentreprise, vos valeurs, vos objectifs, l’état desprit de vos collaborateurs, lambiance qui
y règne afin de vous distinguer et dattirer les meilleurs candidats.
Cest un <strong>moyen efficace pour améliorer votre image</strong> de marque, votre e-réputation et
fidéliser vos
collaborateurs.
<h5>La vidéo Métier :</h5>
La vidéo permet de valoriser des métiers souvent méconnus du public ou qui souffrent dune mauvaise
image. Pour expliquer à quoi ressemble votre métier au quotidien et casser les a priori, il est
préférable de le montrer, plutôt que de le décrire. Le collaborateur qui exerce le métier le raconte
avec émotion à travers ses propres mots.
Lobjectif dune vidéo métier est simple : <strong>faire connaître le métier, le montrer sous un autre
angle</strong>,
permettre aux personnes de se projeter, de sidentifier, susciter des vocations et préparer lavenir.
<h5>La vidéo doffre demploi :</h5>
Pour un candidat, l<strong>offre demploi écrite est souvent difficile à lire et peu
attractive</strong>. Rien ne
différencie vraiment une offre dune autre ! Il scanne rapidement le texte ce qui l'amène à postuler
pour des offres sans être certain davoir les compétences ou à se décourager avant de candidater alors
quil a le bon profil.
Loffre demploi vidéo est captivante et rassure le candidat sur le poste à pourvoir, les compétences
attendues et lui permet de <strong>mettre un visage sur ses futurs collègues</strong>, les personnes
avec lesquelles il
sera amené à travailler au quotidien. Grâce à la vidéo, il sait demblée si le feeling opère, avant même
davoir postulé.
Le témoignage dun collaborateur donne du crédit à lannonce vidéo sur le plan opérationnel et celle
dun RH est appréciée pour évoquer la rémunération et les avantages.
En résumé, <strong>la vidéo doffre demploi capte lattention des candidats et les rassurent dans leur
intention de postuler</strong>.
</div>
</div>
</div>
<div class="card mb-2">
<div class="card-header card-collapse__header" id="faqAccordionTwoHeadingTwo">
<h5 class="mb-0">
<button
class="btn btn-sm btn-link btn-block d-flex justify-content-between card-collapse__btn collapsed p-3"
data-toggle="collapse" data-target="#faqAccordionTwoCollapseSix" aria-expanded="false"
aria-controls="faqAccordionTwoCollapseSix">
Je publie déjà mes offres vidéo sur mon site internet, sur Youtube,… en quoi Talents Tube peut mieux
faire ?
<span class="card-collapse__btn-arrow">
<i class="fa fa-arrow-down small"></i>
</span>
</button>
</h5>
</div>
<div id="faqAccordionTwoCollapseSix" class="collapse" aria-labelledby="faqAccordionTwoHeadingTwo"
data-parent="#faqAccordionTwo">
<div class="card-body card-collapse__body">
<h5>Talents Tube : votre outil de recrutement</h5>
Talents Tube est un véritable outil de recrutement vidéo avec <strong>un seul objectif : vous aider à
recruter </strong>!
Les autres supports tels que Youtube, votre site internet… ne sont pas destinés uniquement à votre
recrutement. Les personnes qui visitent talentstube.com viennent soit chercher du travail soit relayer
les annonces demploi auprès de leur réseau qui pourrait être intéressé par votre offre.
<h5>Talents Tube : votre partenaire communication</h5>
Pour réussir votre recrutement, vous devez communiquer ! Une vidéo nest efficace que si elle est vue !
<strong>Talents Tube soccupe de votre visibilité par ses savoirs en communication</strong>. Nous
utilisons de nombreux
réseaux afin de <strong>promouvoir vos vidéos de recrutement</strong> (réseaux sociaux, YouTube, Indeed,
dynamique
territoire…).
<h5>Talents Tube : votre atout pour détecter les bons profils</h5>
Vous vous êtes certainement déjà dit, au bout de 2 minutes dentretien : “Ce nest pas la bonne
personne”. Et bien chez Talents Tube, <strong>vous recevez des vidéos de motivation</strong> qui
sadressent directement
à vous. Cest unique, engageant et <strong>vous allez gagner du temps pour sélectionner les candidats
mais
également à lentretien dembauche </strong>car vous en savez déjà beaucoup plus. Vous allez pouvoir
en toute
simplicité <strong>évaluer votre retour sur investissement</strong> (ROI) de lapport de votre offre
demploi vidéo.
</div>
</div>
</div>
<div class="card mb-2">
<div class="card-header card-collapse__header" id="faqAccordionTwoHeadingThree">
<h5 class="mb-0">
<button
class="btn btn-sm btn-link btn-block d-flex justify-content-between card-collapse__btn collapsed p-3"
data-toggle="collapse" data-target="#faqAccordionTwoCollapseSeven" aria-expanded="false"
aria-controls="faqAccordionTwoCollapseSeven">
Suis-je sûr d'avoir des candidatures vidéo ?
<span class="card-collapse__btn-arrow">
<i class="fa fa-arrow-down small"></i>
</span>
</button>
</h5>
</div>
<div id="faqAccordionTwoCollapseSeven" class="collapse" aria-labelledby="faqAccordionTwoHeadingThree"
data-parent="#faqAccordionTwo">
<div class="card-body card-collapse__body">
Nous ne sommes pas magiciens, <strong>il peut arriver que certaines entreprises ne reçoivent pas de
candidatures
vidéo</strong>. Toutefois, <strong>de nombreuses entreprises qui ne recevaient plus aucun CV papier,
ont reçu des vidéos
de motivation</strong> sur Talents Tube. Elles ont enfin pu recruter le talent quelles cherchaient
depuis
longtemps, grâce à Talents Tube.
Si toutefois vous ne recevez pas de candidatures vidéo, pas de panique, <strong>Talents Tube étudiera
précisément votre problématique</strong> et vous proposera des solutions adaptées notamment des
actions de
communication ciblées pour répondre à votre difficulté.
</div>
</div>
</div>
<div class="card">
<div class="card-header card-collapse__header" id="faqAccordionTwoHeadingFour">
<h5 class="mb-0">
<button
class="btn btn-sm btn-link btn-block d-flex justify-content-between card-collapse__btn collapsed p-3"
data-toggle="collapse" data-target="#faqAccordionTwoCollapseEight" aria-expanded="false"
aria-controls="faqAccordionTwoCollapseEight">
Est-ce que je peux modifier ou changer mes vidéos sur l'espace Talents Tube ?
<span class="card-collapse__btn-arrow">
<i class="fa fa-arrow-down small"></i>
</span>
</button>
</h5>
</div>
<div id="faqAccordionTwoCollapseEight" class="collapse" aria-labelledby="faqAccordionTwoHeadingFour"
data-parent="#faqAccordionTwo">
<div class="card-body card-collapse__body">
L'abonnement proposé par Talents Tube vous permet de <strong>diffuser plusieurs vidéos de recrutement en
simultanée</strong>. Par exemple avec l'abonnement à 99€/mois pour la diffusion de 3 vidéos, vous avez la
possibilité d'avoir plus de 3 vidéos sur Talents Tube mais vous ne pouvez avoir que 3 vidéos diffusées
en même temps. <strong>Vous avez évidemment la possibilité de désactiver une annonce au profit d'une autre</strong>,
toujours dans la limite de 3 vidéos en ligne. Si vous souhaitez diffuser plus de 3 vidéos, cest
possible. Vous passerez sur la formule dabonnement à 199€/mois pour 9 vidéos diffusées.
</div>
</div>
</div>
</div>
<!-- End Collapse -->
</div>
</div>
</div>
</div>
</div>
@@ -0,0 +1,74 @@
<!-- Ils nous font confiance DEBUT -->
<div class="container accueilFondBlanc">
<!-- Slick Carousel -->
<div class="js-slick-carousel u-slick" data-autoplay="true" data-speed="5000" data-infinite="true"
data-slides-show="5" data-responsive="[{
&quot;breakpoint&quot;: 1200,
&quot;settings&quot;: {
&quot;slidesToShow&quot;: 4
}
}, {
&quot;breakpoint&quot;: 992,
&quot;settings&quot;: {
&quot;slidesToShow&quot;: 4
}
}, {
&quot;breakpoint&quot;: 768,
&quot;settings&quot;: {
&quot;slidesToShow&quot;: 3
}
}, {
&quot;breakpoint&quot;: 576,
&quot;settings&quot;: {
&quot;slidesToShow&quot;: 3
}
}, {
&quot;breakpoint&quot;: 480,
&quot;settings&quot;: {
&quot;slidesToShow&quot;: 2
}
}]">
<div class="js-slide slick-slide">
<img src="{{ asset('v2/logos/recrutement-video-lactalis.jpg') }}" alt="Image Description">
</div>
<div class="js-slide slick-slide">
<img src="{{ asset('v2/logos/recrutement-video-onela-service-a-domicile.jpg') }}" alt="Image Description">
</div>
<div class="js-slide slick-slide">
<img src="{{ asset('v2/logos/recrutement-video-intermarche.jpg') }}" alt="Image Description">
</div>
<div class="js-slide slick-slide ">
<img src="{{ asset('v2/logos/recrutement-video-eiffage.jpg') }}" alt="Image Description">
</div>
<div class="js-slide slick-slide">
<img src="{{ asset('v2/logos/recrutement-video-mma-assurances.jpg') }}" alt="Image Description">
</div>
<div class="js-slide slick-slide">
<img src="{{ asset('v2/logos/recrutement-video-admr.jpg') }}" alt="Image Description">
</div>
<div class="js-slide slick-slide ">
<img src="{{ asset('v2/logos/recrutement-video-jpa.jpg') }}" alt="Image Description">
</div>
<div class="js-slide slick-slide">
<img src="{{ asset('v2/logos/recrutement-video-groupe-mousset.jpg') }}" alt="Image Description">
</div>
<div class="js-slide slick-slide">
<img src="{{ asset('v2/logos/recrutement-video-groupe-rocher.jpg') }}" alt="Image Description">
</div>
<div class="js-slide slick-slide">
<img src="{{ asset('v2/logos/recrutement-video-aer-recyclage.jpg') }}" alt="Image Description">
</div>
<div class="js-slide slick-slide">
<img src="{{ asset('v2/logos/recrutement-video-actual.jpg') }}" alt="Image Description">
</div>
<div class="js-slide slick-slide">
<img src="{{ asset('v2/logos/recrutement-video-la-centrale-des-ramoneurs.jpg') }}" alt="Image Description">
</div>
<div class="js-slide slick-slide">
<img src="{{ asset('v2/logos/recrutement-video-tpc-ouest-btp.jpg') }}" alt="Image Description">
</div>
</div>
<!-- End Slick Carousel -->
</div>
</div>
<!-- Ils nous font confiance FIN -->
@@ -0,0 +1,60 @@
<!-- Ils nous font confiance DEBUT -->
<div class="container accueilFondBlanc">
<div class="row justify-content-center text-center">
<div class="col-4 col-md-2 mb-8">
<img class="u-clients" src="{{ asset('v2/logos/recrutement-video-intermarche.jpg') }}" alt="Offres d'emploi intermarché">
</div>
<div class="col-4 col-md-2 mb-8">
<img class="u-clients" src="{{ asset('v2/logos/recrutement-video-lactalis.jpg') }}" alt="Offres d'emploi Lactalis">
</div>
<div class="col-4 col-md-2 mb-8">
<img class="u-clients" src="{{ asset('v2/logos/recrutement-video-groupe-mousset.jpg') }}" alt="Offres d'emploi Groupe Mousset">
</div>
<div class="col-4 col-md-2 mb-8">
<img class="u-clients" src="{{ asset('v2/logos/recrutement-video-admr.jpg') }}" alt="Offres d'emploi ADMR">
</div>
<div class="col-4 col-md-2 mb-8">
<img class="u-clients" src="{{ asset('v2/logos/recrutement-video-tpc-ouest-btp.jpg') }}" alt="Offres d'emploi TPC Ouest">
</div>
<div class="col-4 col-md-2 mb-8">
<img class="u-clients" src="{{ asset('v2/logos/recrutement-video-eiffage.jpg') }}" alt="Offres d'emploi Eiffage">
</div>
<div class="col-4 col-md-2 mb-8">
<img class="u-clients" src="{{ asset('v2/logos/recrutement-video-opticultures.jpg') }}" alt="Offres d'emploi Opticultures">
</div>
<div class="col-4 col-md-2 mb-8">
<img class="u-clients" src="{{ asset('v2/logos/recrutement-video-mma-assurances.jpg') }}" alt="Offres d'emploi MMA assurances">
</div>
<div class="col-4 col-md-2 mb-8">
<img class="u-clients" src="{{ asset('v2/logos/recrutement-video-actual.jpg') }}" alt="Offres d'emploi Actual">
</div>
<div class="col-4 col-md-2">
<img class="u-clients" src="{{ asset('v2/logos/recrutement-video-jpa.jpg') }}" alt="Offres d'emploi JPA">
</div>
<div class="col-4 col-md-2 mb-8">
<img class="u-clients" src="{{ asset('v2/logos/recrutement-video-groupe-rocher.jpg') }}" alt="Offres d'emploi Groupe Rocher">
</div>
<div class="col-4 col-md-2 mb-8">
<img class="u-clients" src="{{ asset('v2/logos/recrutement-video-pro-fermetures.jpg') }}" alt="Offres d'emploi Pro Fermetures">
</div>
<div class="col-4 col-md-2 mb-8">
<img class="u-clients" src="{{ asset('v2/logos/recrutement-video-top-selling.jpg') }}" alt="Offres d'emploi Top Selling">
</div>
<div class="col-4 col-md-2 mb-8 mb-md-0">
<img class="u-clients" src="{{ asset('v2/logos/recrutement-video-medaviz.jpg') }}" alt="Offres d'emploi Medaviz">
</div>
<div class="col-4 col-md-2 mb-8 mb-md-0">
<img class="u-clients" src="{{ asset('v2/logos/recrutement-video-faurecia.jpg') }}" alt="Offres d'emploi Faurecia">
</div>
<div class="col-4 col-md-2 mb-8 mb-md-0">
<img class="u-clients" src="{{ asset('v2/logos/recrutement-video-francas.jpg') }}" alt="Offres d'emploi Les Francas">
</div>
<div class="col-4 col-md-2 mb-8 mb-md-0">
<img class="u-clients" src="{{ asset('v2/logos/recrutement-video-nachos.jpg') }}" alt="Offres d'emploi Nachos">
</div>
</div>
<p class="lead text-center"><strong>Ces secteurs qui recrutent déjà grâce à la vidéo :</strong><br>
Logistique et Transport > Services à la personne > BTP > Agriculture > Administration > Industrie > Commerce > Informatique > Automobile > Animation > Hôtellerie Restauration</p>
</div>
<!-- Ils nous font confiance FIN -->
@@ -0,0 +1,86 @@
<div class="space-1-bottom accueilFondNoir">
<div class="container space-2">
<div class="row justify-content-md-between align-items-md-center">
<div class="w-md-80 w-lg-60 text-center mx-md-auto ">
<h2 class="h3">Vos offres demploi méritent mieux que du texte</h2>
<p class="lead">Avec Talents Tube, dévoilez vos métiers</p>
</div>
<div class="col-md-6 col-lg-5 mb-2 mb-md-0">
<img class="img-fluid"
src="{{ asset('v2/png/offre-emploi-en-video.jpg') }}" alt="Marque employeur vidéo">
</div>
<div class="col-md-6">
<h3 class="h5">Publiez une offre demploi vidéo :</h3>
<div class="row mb-3">
<div class="col-12">
<!-- List -->
<ul class="list-unstyled text-secondary">
<li class="media align-items-center mb-2">
<i class="fa fa-check text-primary mr-2"></i>
<div class="media-body" >
Une occasion en or de <strong>montrer votre entreprise</strong> dans sa vérité, au delà des mots et des descriptions convenues
</div>
</li>
<li class="media align-items-center mb-2">
<i class="fa fa-check text-primary mr-2"></i>
<div class="media-body" >
Pas besoin dune super vidéo, réalisez une « vidéo offre demploi smartphone » pour donner du corps et <strong>du sens à votre futur candidat</strong>
</div>
</li>
<li class="media align-items-center mb-2">
<i class="fa fa-check text-primary mr-2"></i>
<div class="media-body" >
En bonus, montrez votre entreprise et votre équipe, affichez votre esprit dentreprise dans une vidéo marque employeur dont votre <strong>équipe sera fière</strong>
</div>
</li>
</ul>
<!-- End List -->
</div>
</div>
</div>
</div>
</div>
</div>
<div class="space-1-bottom accueilFondBleute">
<div class="container space-2">
<div class="w-md-80 w-lg-60 text-center mx-md-auto mb-2">
<h2 class="h3">Donnez la parole à vos candidats</h2>
<p class="lead">Avec Talents Tube, recevez des candidatures vidéo</p>
</div>
<div class="container pt-6">
<div class="row">
<div class="col-md-4 mb-7 mb-md-0">
<!-- Icon Blocks -->
<div class="text-center px-lg-4">
<img class="max-width-14 mb-2" src="../v2/svg/components/personnalite-des-candidats.svg" alt="Découvrez la personnalité des candidats en vidéo">
<h3 class="h5">Découvrez la personnalité des candidats</h3>
<p>Au delà des compétences, décelez les soft skills de la personne qui se cache derrière le CV papier</p>
</div>
<!-- End Icon Blocks -->
</div>
<div class="col-md-4 mb-7 mb-md-0">
<!-- Icon Blocks -->
<div class="text-center px-lg-4">
<img class="max-width-14 mb-2" src="../v2/svg/components/gagnez-du-temps-preselection-candidats.svg" alt="Gagnez du temps dans votre pré-selection des candidats">
<h3 class="h5">Gagnez du temps dans votre présélection</h3>
<p>Améliorez votre processus de recrutement en rencontrant uniquement les candidats réellement impliqués</p>
</div>
<!-- End Icon Blocks -->
</div>
<div class="col-md-4">
<!-- Icon Blocks -->
<div class="text-center px-lg-4">
<img class="max-width-14 mb-2" src="../v2/svg/components/gestion-des-candidatures.svg" alt="Gérez vos candidatures vidéo">
<h3 class="h5">Gérez vos candidatures depuis votre espace</h3>
<p>Grâce à notre solution de recrutement, vous pouvez interagir avec les candidats directement sur Talents Tube</p>
</div>
<!-- End Icon Blocks -->
</div>
</div>
</div>
</div>
</div>
</div>
@@ -0,0 +1,26 @@
<!-- Notre mission DEBUT -->
<div class="space-1-bottom accueilFondNoir">
<div class="container space-2 ">
<div class="row justify-content-lg-end">
<div class="col-lg-6 order-md-2 mb-md-0">
<!-- Title -->
<div class="">
<h2 class="h3"> Notre mission : Remettre lhumain au cœur des recrutements</h2>
<p> Chez Talents Tube, nous pensons que la technologie ne doit pas remplacer lhumain mais être à son service.
Cest pour cette raison que nous proposons un outil de recrutement vidéo alliant digital et humain, afin de
<strong>redonner la parole aux candidats et aux entreprises</strong>. Talents Tube est aujourdhui la seule plateforme de
recrutement qui permet aux entreprises de <strong>publier des offres demploi en vidéo et de recevoir des
candidatures en vidéo</strong>.
</p>
</div>
</div>
<div class="col-lg-6 order-md-1 pb-5">
<div class="pr-lg-4">
<a href="candidatures-video"><img class="img-fluid" src="{{ asset('v2/png/candidature-en-video.png') }}"
alt="Candidature en vidéo"></a>
</div>
</div>
</div>
</div>
</div>
<!-- Notre mission FIN -->
@@ -0,0 +1,75 @@
<!-- Accueil Photo Haut Section -->
<div class="gradient-overlay-half-dark-v3 bg-img-hero"
style="background-image: url({{ asset(urlImage)}}); background-size:cover;">
<!-- Main Content -->
<div class="d-lg-flex align-items-lg-center height-100vh--lg">
<div class="container space-2 space-0--lg mt-lg-8">
<div class="row justify-content-lg-between align-items-lg-center">
<div class="col-lg-5 mb-7 mb-lg-0">
<!-- Title -->
<h1 class="display-4 font-size-48--md-down mb-0 h1" style="color:#25D89A">Adoptez le recrutement vidéo <span
class="text-white">pour enfin trouver les talents que vous attendiez</span></h1>
<p class="d-block text-white text-uppercase mb-2">{{textVideo}}</p>
<!-- End Title -->
</div>
<div class="col-lg-5">
<!-- Signup Form -->
<div class="bg-white shadow-sm rounded p-6">
<form class="js-validate" id="formDemandeDiag1">
<div class="">
<p class="h4 text-center">Faites le point sur <br>vos enjeux de recrutement</p>
<p class="text-center">Diagnostic gratuit de 15 minutes</p>
<!--<p>Faites le point sur vos enjeux de recrutement, identifier ce que Talents Tube peut résoudre et prendre connaissance de loffre la plus appropriée pour votre entreprise.</p>-->
</div>
<!-- Input -->
<div class="js-form-message mb-3">
<div class="js-focus-state input-group input-group form">
<input type="text" class="form-control form__input" name="nomPrenomForm1" id="nomPrenomForm1" required
placeholder="Nom Prénom" aria-label="name">
</div>
</div>
<!-- End Input -->
<!-- Input -->
<div class="js-form-message mb-3">
<div class="js-focus-state input-group input-group form">
<input type="text" class="form-control form__input" name="nomEntrepriseForm1" id="nomEntrepriseForm1"
required placeholder="Nom de l'entreprise" aria-label="entreprise">
</div>
</div>
<!-- End Input -->
<!-- Input -->
<div class="js-form-message mb-3">
<div class="js-focus-state input-group input-group form">
<input type="email" class="form-control form__input" name="emailForm1" id="emailForm1" required
placeholder="E-mail" aria-label="email">
</div>
</div>
<!-- End Input -->
<!-- Input -->
<div class="js-form-message mb-3">
<div class="js-focus-state input-group input-group form">
<input type="text" class="form-control form__input" name="telForm1" id="telForm1"
placeholder="Numéro de téléphone" aria-label="phone">
</div>
</div>
<p class="text-primary" id="messageValideDemandeDiag1"></p>
<!-- End Input -->
<a href="#" onClick="demanderDiag('formDemandeDiag1')"
class="btn btn-sm btn-primary btn-wide center">Demander mon diagnostic</a>
</form>
</div>
<!-- End Signup Form -->
</div>
</div>
<div class="text-center p-2">
<div class="js-go-to u-icon u-icon--light u-icon--md rounded-circle" style="display: inline-block;">
<i class="fa fa-angle-down u-icon__inner text-primary font-size-18"></i>
</div>
</div>
</div>
</div>
</div>
@@ -0,0 +1,20 @@
<!-- Accueil Photo Haut Section -->
<div class="bg-img-hero-center" style="background-image: url({{ asset(urlImage)}} ">
<div class="container space-2 space-5-top--lg space-4-bottom--lg">
<div class="w-md-75">
<!-- Title -->
<div class="mb-7">
{# <span class="d-block text-white text-uppercase mb-2">Talents tube</span> #}
<h1 class="display-4 font-size-48--md-down text-white mb-4">
<strong class="">{{textParDefaut}}</strong>
<br>{{textVideo}}
</h1>
</div>
<!-- End Title -->
</div>
</div>
</div>
<!-- End Accueil Photo Haut Section -->
@@ -0,0 +1,85 @@
<!-- Pourquoi nous DEBUT -->
<div class=" space-1-bottom accueilFondBlanc">
<div class="container space-2 ">
<div class="row row justify-content-lg-end ">
<div class="col-lg-6 order-md-1 pb-5">
<!-- Title <div class="col-md-6 order-md-2 mb-5 mb-md-0">-->
<div class="mr-5">
<h2 class="h3"> Pourquoi nous ?</h2>
<h3 class="h4">Parce que nous sommes les seuls à le faire !</h3>
<p> Notre équipe est composée dexperts métier qui sauront vous accompagner dans toutes vos demandes. En
recherche d<strong>évolution constante</strong>, nous avons à cœur de créer une relation de proximité afin
d<strong>adapter notre solution à vos besoins</strong> et ainsi créer une <strong>expérience utilisateur
inoubliable</strong>.
Composée dexperts de la fonction RH & Recrutement, nous sommes passionnés par ce que nous faisons.
<br><strong>Notre seul objectif : favoriser la rencontre dentreprises formidables et de candidats uniques
pour une performance commune.</strong></p>
</div>
</div>
<div class="col-lg-6 order-md-2">
<!-- Cubeportfolio -->
<div class="cbp cbp-caption-active cbp-caption-overlayBottomAlong cbp-ready" data-layout="mosaic"
data-animation="quicksand" data-x-gap="15" data-y-gap="15" data-load-more-selector="#cubeLoadMore"
data-load-more-action="auto" data-load-items-amount="4" data-media-queries="[
{&quot;width&quot;: 1500, &quot;cols&quot;: 4},
{&quot;width&quot;: 1100, &quot;cols&quot;: 4},
{&quot;width&quot;: 800, &quot;cols&quot;: 3},
{&quot;width&quot;: 480, &quot;cols&quot;: 2},
{&quot;width&quot;: 400, &quot;cols&quot;: 2}
]" style="height: 420px;">
<div class="cbp-wrapper-outer">
<div class="cbp-wrapper">
<!-- Item -->
<div class="cbp-item" style="width: 220px; left: 0px; top: 0px;">
<div class="cbp-item-wrapper">
<div class="cbp-caption">
<img src="{{ asset('v2/img/380x227/talentstube-recrutement-video-equipe.jpg') }}" alt="Image Description">
</div>
</div>
</div>
<!-- End Item -->
<!-- Item -->
<div class="cbp-item" style="width: 220px; left: 235px; top: 0px;">
<div class="cbp-item-wrapper">
<div class="cbp-caption">
<img src="{{ asset('v2/img/380x360/recrutement-video-franck-delalande.jpg') }}" alt="Image Description">
</div>
</div>
</div>
<!-- End Item -->
<!-- Item -->
<div class="cbp-item" style="width: 220px; left: 0px; top: 146px;">
<div class="cbp-item-wrapper">
<div class="cbp-caption">
<img src="{{ asset('v2/img/380x360/plateforme-recrutement-video-morbihan.jpg') }}" alt="Image Description">
</div>
</div>
</div>
<!-- End Item -->
<!-- Item -->
<div class="cbp-item" style="width: 220px; left: 235px; top: 223px;">
<div class="cbp-item-wrapper">
<div class="cbp-caption">
<img src="{{ asset('v2/img/380x227/recrutement-video-equipe.jpg') }}" alt="Image Description">
</div>
</div>
</div>
<!-- End Item -->
</div>
</div>
</div>
<!-- End Cubeportfolio -->
</div>
<!--<div class="col-md-6 align-right paddintRight">
<div class="mb-6">
<a href="{{ url_plateforme }}"><img class="img-fluid" src="{{ asset('v2/png/plateforme-de-recrutement-en-video.png') }}"
alt="Recrutement video"></a>
</div>
</div>-->
</div>
</div>
</div>
<!-- Pourquoi nous FIN -->
@@ -0,0 +1,44 @@
<div class="accueilFondNoir">
<div class="container space-2">
<div class="card-deck d-block d-lg-flex card-lg-gutters-2">
<div class="card border-0 mb-3">
<!-- Works -->
<div class="card-body border border-bottom-0 rounded-top text-center p-5">
<h4 class="h5 mb-1">Vous avez déjà des vidéos ou un prestataire vidéo ?</h4>
<p class="mb-0">Vous pouvez les publier directement sur Talents Tube ! Profitez de vos supports pour les faire rayonner largement, vers vos futurs candidats</p>
</div>
<div class="card-footer text-center border rounded-bottom p-5">
<a class="btn btn-sm btn-primary btn-wide" href="https://recruteur.talentstube.com/register/">Inscription</a>
</div>
<!-- End Works -->
</div>
<div class="card border-0 mb-3">
<!-- Works -->
<div class="card-body border border-bottom-0 rounded-top text-center p-5">
<h4 class="h5 mb-1">Vous voulez réaliser des vidéos vous-même ?</h4>
<p class="mb-0">Créez des vidéos doffres demploi simplement grâce à nos conseils</p>
</div>
<div class="card-footer text-center border rounded-bottom p-5">
<a class="btn btn-sm btn-primary btn-wide" href="https://recruteur.talentstube.com/offre-emploi-originale">En savoir plus</a>
</div>
<!-- End Works -->
</div>
<div class="card border-0 mb-3">
<!-- Works -->
<div class="card-body border border-bottom-0 rounded-top text-center p-5">
<h4 class="h5 mb-1">Vous cherchez un prestataire pour produire vos vidéos RH ?</h4>
<p class="mb-0">Contactez-nous, nous saurons vous mettre en relation avec des prestataires qualifiés et expérimentés.</p>
</div>
<div class="card-footer text-center border rounded-bottom p-5">
<a class="btn btn-sm btn-primary btn-wide" href="https://blog.talentstube.com/contact/">Contactez-nous</a>
</div>
<!-- End Works -->
</div>
</div>
</div>
</div>
</div>
@@ -0,0 +1,59 @@
<div class="accueilFondBleute">
<div class="container">
<div class="w-md-80 w-lg-60 text-center mx-md-auto ">
<h2 class="h3">Grâce au recrutement vidéo, <br>vous allez enfin trouver les talents<br> au service de vos
ambitions !</h2>
<p class="lead"></p>
</div>
<div class="row justify-content-md-between align-items-md-center">
<div class="col-lg-6 order-md-1">
<img class="img-fluid" src="{{ asset('v2/png/trouver-les-candidats-avec-offre-emploi-video.jpg') }}" alt="Marque employeur vidéo">
</div>
<div class="col-lg-6 order-md-2">
<h3 class="h5"></h3>
<div class="row mb-3">
<div class="col-12">
<!-- List -->
<ul class="list-unstyled text-secondary">
<li class="media align-items-center mb-2">
<i class="fa fa-check text-primary mr-2"></i>
<div class="media-body">
Vos <strong>offres d'emploi en vidéo seront mieux expliquées</strong> aux candidats, portées par des vrais visages de
l'entreprise.
</div>
</li>
<li class="media align-items-center mb-2">
<i class="fa fa-check text-primary mr-2"></i>
<div class="media-body">
Vos <strong>métiers seront enfin valorisés</strong>, dévoilés au grand jour pour briser tous les clichés.
</div>
</li>
<li class="media align-items-center mb-2">
<i class="fa fa-check text-primary mr-2"></i>
<div class="media-body">
Vous donnerez <strong>davantage d'informations aux candidats</strong> pour qu'ils puissent se projeter dans votre
entreprise.
</div>
</li>
<li class="media align-items-center mb-2">
<i class="fa fa-check text-primary mr-2"></i>
<div class="media-body">
Vos candidats seront <strong>plus impliqués dans leur candidature</strong> et dévoileront leur savoir-être.
</div>
</li>
<li class="media align-items-center mb-2">
<i class="fa fa-check text-primary mr-2"></i>
<div class="media-body">
Vous <strong>gagnerez du temps dans vos recrutements</strong> : les candidats que vous rencontrez vous auront déjà
convaincu en vidéo.
</div>
</li>
</ul>
<!-- End List -->
</div>
</div>
</div>
</div>
</div>
</div>
</div>
@@ -0,0 +1,128 @@
<div class="accueilFondBleute">
<div class="container">
<div class="w-md-80 w-lg-60 text-center mx-md-auto">
<h2 class="h3">Adoptez dès maintenant le recrutement vidéo</h2>
<p class="lead">Plus personnel, plus impliquant et plus authentique</p>
</div>
<div class="bg-white shadow-lg rounded card-body p-5">
<h5 class="text-center">Offre : abonnement mensuel sans engagement, comprenant :</h5>
<ul>
<li> Administration autonome de votre espace recruteur (page entreprise, publication et renouvellement des
vidéos, statistiques,…)</li>
<li>Visibilité de vos vidéos sur le site Talents Tube pour attirer vos futurs candidats</li>
<li>Boost visibilité de vos vidéos sur les réseaux Talents Tube (YouTube, Facebook, Linkedin, Newsletter...)
</li>
<li>Réception de candidatures vidéo et gestion en ligne</li>
</ul>
<!-- Individual -->
<div id="pricingIndividual" data-target-group="idPricing">
<div class="js-slick-carousel u-slick u-slick--gutters" data-slides-show="4" data-slides-scroll="1"
data-pagi-classes="d-lg-none text-center u-slick__pagination mt-7 mb-0" data-responsive='[{
"breakpoint": 1200,
"settings": {
"slidesToShow": 3
}
}, {
"breakpoint": 992,
"settings": {
"slidesToShow": 2
}
}, {
"breakpoint": 768,
"settings": {
"slidesToShow": 1
}
}, {
"breakpoint": 554,
"settings": {
"slidesToShow": 1
}
}]'>
<div class="js-slide">
<!-- Pricing -->
<div class="card border-0">
<!-- Header -->
<header class="card-header text-center p-5">
<h4 class="h4">Pack découverte<br>1 vidéo</h4>
<span class="d-block">
<span class="display-4 text-dark">
Gratuit
</span>
<span class="d-block text-secondary font-size-14">pendant 1 mois</span>
</span>
</header>
<!-- End Header -->
</div>
<!-- End Pricing -->
</div>
<div class="js-slide">
<!-- Pricing -->
<div class="card border-0">
<!-- Header -->
<header class="card-header text-center p-5">
<h4 class="h4">Pack 3 vidéos <br>renouvelables</h4>
<span class="d-block">
<span class="display-4 text-dark">
99€
</span>
<span class="d-block text-secondary font-size-14">par mois HT</span>
</span>
</header>
<!-- End Header -->
</div>
<!-- End Pricing -->
</div>
<div class="js-slide">
<!-- Pricing -->
<div class="card border-0">
<!-- Header -->
<header class="card-header text-center p-5">
<h4 class="h4">Pack 10 vidéos <br>renouvelables</h4>
<span class="d-block">
<span class="display-4 text-dark">
199€
</span>
<span class="d-block text-secondary font-size-14">par mois HT</span>
</span>
</header>
<!-- End Header -->
</div>
<!-- End Pricing -->
</div>
<div class="js-slide">
<!-- Pricing -->
<div class="card border-0">
<!-- Header -->
<header class="card-header text-center p-5">
<h4 class="h4">Pack PRO<br>Plus de 10 vidéos</h4>
<span class="d-block">
<span class="display-4 text-dark">
<a class="btn btn-sm btn-primary" href="#signupModal" role="button"
data-modal-target="#signupModal" data-overlay-color="#151b26">Connexion recruteurs</a>
</span>
<span class="d-block text-secondary font-size-14">&nbsp</span>
</span>
</header>
<!-- End Header -->
</div>
<!-- End Pricing -->
</div>
</div>
</div>
<!-- End Individual -->
</div>
</div>
<!-- End Pricing Section -->
</div>
@@ -0,0 +1,44 @@
<div class="col-md-6 order-md-1 space-2-top">
<!-- Slick Carousel - Testimonials -->
<div class="js-slick-carousel u-slick slick-initialized slick-slider slick-dotted" data-fade="true" data-autoplay="true" data-speed="7500" data-pagi-classes="u-slick__pagination justify-content-start mt-7">
<div class="slick-list draggable"><div class="slick-track" style="opacity: 1; width: 1620px;"><div class="js-slide slick-slide" data-slick-index="0" aria-hidden="true" style="width: 540px; position: relative; left: 0px; top: 0px; z-index: 998; opacity: 0; height: auto; transition: opacity 500ms ease 0s;" tabindex="-1" role="tabpanel" id="slick-slide00" aria-describedby="slick-slide-control00">
<!-- Testimonials -->
<blockquote class="lead mb-5">"I love Space! I love the ease of use, I love the fact that I have total creative freedom. The template is really nice and offers quite a large set of options. It's beautiful and the coding is done quickly and seamlessly."</blockquote>
<div class="media">
<img class="u-avatar rounded-circle mr-3" src="../../assets/img/100x100/img1.jpg" alt="Image Description">
<div class="media-body">
<h3 class="h6 mb-0">Maria Muszynska</h3>
<span class="text-secondary">Senior developer at <a href="#" tabindex="-1">Google</a></span>
</div>
</div>
<!-- End Testimonials -->
</div><div class="js-slide slick-slide" data-slick-index="1" aria-hidden="true" style="width: 540px; position: relative; left: -540px; top: 0px; z-index: 998; opacity: 0; height: auto; transition: opacity 500ms ease 0s;" tabindex="-1" role="tabpanel" id="slick-slide01" aria-describedby="slick-slide-control01">
<!-- Testimonials -->
<blockquote class="lead mb-5">"We are incredibly impressed with Space and how well it supports its customers with amazing products and services. One simple subscription gives you access to all our tools, plus so much more."</blockquote>
<div class="media">
<img class="u-avatar rounded-circle mr-3" src="../../assets/img/100x100/img4.jpg" alt="Image Description">
<div class="media-body">
<h3 class="h6 mb-0">Mark McManus</h3>
<span class="text-secondary">Software engineer at <a href="#" tabindex="-1">Slack</a></span>
</div>
</div>
<!-- End Testimonials -->
</div><div class="js-slide slick-slide slick-current slick-active" data-slick-index="2" aria-hidden="false" style="width: 540px; position: relative; left: -1080px; top: 0px; z-index: 999; opacity: 1; height: auto;" tabindex="0" role="tabpanel" id="slick-slide02" aria-describedby="slick-slide-control02">
<!-- Testimonials -->
<blockquote class="lead mb-5">"One simple subscription gives you access to all our tools, plus so much more. Space brings so many benefits to any team that does anything following a process. It is the easiest way for teams to build cool things work—and get results."</blockquote>
<div class="media">
<img class="u-avatar rounded-circle mr-3" src="../../assets/img/100x100/img14.jpg" alt="Image Description">
<div class="media-body">
<h3 class="h6 mb-0">Ella Brown</h3>
<span class="text-secondary">Head of IT department at <a href="#" tabindex="0">Apple</a></span>
</div>
</div>
<!-- End Testimonials -->
</div></div></div>
<ul class="js-pagination u-slick__pagination justify-content-start mt-7" style="" role="tablist"><li class="" role="presentation"><span></span></li><li role="presentation" class=""><span></span></li><li role="presentation" class="slick-active slick-current"><span></span></li></ul></div>
<!-- End Slick Carousel - Testimonials -->
</div>
@@ -2,46 +2,51 @@
{% block title %}Espace recruteur - Solution de recrutement en vidéo | Talents Tube{% endblock %}
{% block meta %}
<meta name="description" content="Vous souhaitez recruter en vidéo ? Talents Tube diffuse vos vidéos doffres demploi et marque employeur pour attirer les meilleurs talents en vidéo.">
<meta name="twitter:card" content="summary">
<meta name="twitter:site" content="@TalentsTube">
<meta name="twitter:title" content="Espace recruteur - Solution de recrutement en vidéo | Talents Tube">
<meta name="twitter:description" content="Vous souhaitez recruter en vidéo ? Talents Tube diffuse vos vidéos doffres demploi et marque employeur pour attirer les meilleurs talents en vidéo.">
<meta name="twitter:image" content="{{ absolute_url(asset('img/mail/logo-talents-tube.png')) }}">
<meta name="description"
content="Osez le recrutement vidéo ! Diffusez vos offres d'emploi vidéo et marque employeur pour attirer, trouver et recruter les meilleurs candidats en vidéo.">
<meta name="twitter:card" content="summary">
<meta name="twitter:site" content="@TalentsTube">
<meta name="twitter:title" content="Espace recruteur - Solution de recrutement en vidéo | Talents Tube">
<meta name="twitter:description"
content="Osez le recrutement vidéo ! Diffusez vos offres d'emploi vidéo et marque employeur pour attirer, trouver et recruter les meilleurs candidats en vidéo.">
<meta name="twitter:image" content="{{ absolute_url(asset('img/mail/logo-talents-tube.png')) }}">
{#Open Graph data pour le partage sur les réseaux sociaux (ex Facebook..)#}
<meta property="og:title" content="Espace recruteur - Adoptez le recrutement vidéo | Talents Tube" />
<meta property="og:type" content="article" />
<meta property="og:image" content="{{ absolute_url(asset('img/mail/logo-talents-tube.png')) }}" />
<meta property="og:description"
content="Osez le recrutement vidéo ! Diffusez vos offres d'emploi vidéo et marque employeur pour attirer, trouver et recruter les meilleurs candidats en vidéo." />
<meta property="og:site_name" content="Talents Tube" />
<meta property="og:url"
content="{{ url(app.request.attributes.get('_route'), app.request.attributes.get('_route_params')) }}" />
{#Open Graph data pour le partage sur les réseaux sociaux (ex Facebook..)#}
<meta property="og:title" content="Espace recruteur - Solution de recrutement en vidéo | Talents Tube" />
<meta property="og:type" content="article" />
<meta property="og:image" content="{{ absolute_url(asset('img/mail/logo-talents-tube.png')) }}" />
<meta property="og:description" content="Vous souhaitez recruter en vidéo ? Talents Tube diffuse vos vidéos doffres demploi et marque employeur pour attirer les meilleurs talents en vidéo." />
<meta property="og:site_name" content="Talents Tube" />
<meta property="og:url" content="{{ url(app.request.attributes.get('_route'), app.request.attributes.get('_route_params')) }}" />
{% endblock %}
{% block content %}
<main id="content">
{% include 'defaultv2/accueil/blocPhoto.html.twig'
{% include 'defaultv2/accueil/blocPhotoAccueil.html.twig'
with {
'urlImage': 'v2/img/1920x800/recrutement-video.jpg',
'textParDefaut' : 'Recrutez les candidats',
'textVideo' : 'avec la vidéo'
'textVideo' : 'Talents Tube favorise la mise en relation de candidats et d\'entreprises en vidéo !'
} %}
{% include 'defaultv2/accueil/blocDegrade.html.twig' %}
{% include 'defaultv2/accueil/blocPlateforme.html.twig' %}
{% include 'defaultv2/accueil/blocCandidat.html.twig' %}
{% include 'defaultv2/accueil/blocRecrutez.html.twig' %}
{% include 'defaultv2/accueil/blocEmployeur.html.twig' %}
<!--{ include 'defaultv2/accueil/blocDegrade.html.twig' }-->
{% include 'defaultv2/accueil/blocTemoignages.html.twig' %}
{% include 'defaultv2/accueil/blocDifficultes.html.twig' %}
{% include 'defaultv2/accueil/blocMieuxQueDuTexte.html.twig' %}
{% include 'defaultv2/accueil/blocConfiance.html.twig' %}
{% include 'defaultv2/accueil/blocLogoSecteurs.html.twig' %}
{% include 'defaultv2/accueil/blocNotreMission.html.twig' %}
{% include 'defaultv2/accueil/blocRecap.html.twig' %}
{% include 'defaultv2/accueil/blocFAQ.html.twig'%}
{% include 'defaultv2/accueil/blocTarifs.html.twig' %}
{% include 'defaultv2/accueil/blocRealisation.html.twig' %}
{% include 'defaultv2/accueil/blocPourquoiNous.html.twig' %}
{% include 'defaultv2/accueil/blocAction.html.twig' %}
</main>
<!-- ========== END MAIN CONTENT ========== -->
@@ -95,15 +100,9 @@ with {
<script src="{{ asset('v2/js/components/hs.g-map.js') }}"></script>
<script src="{{ asset('v2/js/components/hs.go-to.js') }}"></script>
<!-- JS Plugins Init. -->
<script>
// initialization of google map
{# function initMap() {
$.HSCore.components.HSGMap.init('.js-g-map');
} #}
$(window).on('load', function () {
// initialization of HSMegaMenu component
$('.js-mega-menu').HSMegaMenu({
@@ -172,15 +171,16 @@ with {
// initialization of go to
$.HSCore.components.HSGoTo.init('.js-go-to');
});
$(document).ready(function () {
$(window).scroll(function () { // check if scroll event happened
if ($(document).scrollTop() > 50) { // check if user scrolled more than 50 from top of the browser window
$("#logoAndNav").css("background-color","#000"); // if yes, then change the color of class "navbar-fixed-top" to white (#f8f8f8)
$("#sidebarNavToggler").css("color","#fff");
$("#logoAndNav").css("background-color",
"transparent"); // if yes, then change the color of class "navbar-fixed-top" to white (#f8f8f8)
$("#sidebarNavToggler").css("color", "#fff");
} else {
$("#logoAndNav").css("background-color", "transparent"); // if not, change it back to transparent
$("#sidebarNavToggler").css("color", "#000");
@@ -193,5 +193,53 @@ with {
{% block javascripts %}
{{ parent() }}
<script src="https://player.vimeo.com/api/player.js"></script>
<script>
function demanderDiag(formulaire){
if(formulaire=="formDemandeDiag1"){
nomprenom = $("#nomPrenomForm1").val();
nomEntreprise = $("#nomEntrepriseForm1").val();
email = $("#emailForm1").val();
tel = $("#telForm1").val();
champMessage="messageValideDemandeDiag1";
}else if(formulaire=="formDemandeDiag2"){
nomprenom = $("#nomPrenomForm2").val();
nomEntreprise = $("#nomEntrepriseForm2").val();
email = $("#emailForm2").val();
tel = $("#telForm2").val();
champMessage="messageValideDemandeDiag2";
}
if(nomprenom && nomEntreprise && email){
$.ajax({
//L'URL de la requête
url: "/app_dev.php/api/demanderDiagnostic?nomPrenom=" + nomprenom + "&email=" +
email + "&nomEntreprise=" + nomEntreprise + "&telephone=" + tel + "&page=Demande de diagnostic",
method: "GET",
//La méthode d'envoi (type de requête)
//Le format de réponse attendu
dataType: "json",
})
//Ce code sera exécuté en cas de succès - La réponse du serveur est passée à done()
/*On peut par exemple convertir cette réponse en chaine JSON et insérer
* cette chaine dans un div id="res"*/
.done(function (response) {
console.log("Requête demande diagnostic done");
$("#"+champMessage).text("Votre demande a bien été transmise à Talents Tube");
})
//Ce code sera exécuté en cas d'échec - L'erreur est passée à fail()
//On peut afficher les informations relatives à la requête et à l'erreur
.fail(function (error) {
console.log("Requête demande diag fail");
console.log(error);
})
//Ce code sera exécuté que la requête soit un succès ou un échec
.always(function () {
console.log("Requête demande diag effectuée");
});
}
}
</script>
{% endblock %}
@@ -1,12 +1,12 @@
<!-- Plateforme DEBUT -->
<div class=" accueilFondBlanc">
<div class="">
<div class=" ">
<!-- Video Section -->
<div class="">
<div class="gradient-overlay-half-dark-v1 bg-img-hero"
style="background-image: url({{ asset('v2/img/1920x800/tutoriel-video-de-motivation-cv-video.jpg')}});">
style="background-image: url({{ asset('v2/img/1920x800/tutoriel-video-de-motivation-cv-video.jpg') }});">
<div class="d-lg-flex align-items-lg-center flex-lg-column">
<div class="container space-3 space-4-top--lg">
<!-- Title -->
@@ -10,7 +10,7 @@
<div class=" text-center space-3-bottom">
<a class="btn btn-sm btn-contact" href="https://blog.talentstube.com/contact" target="_blank" role="button" >
<i class="fa fa-user-circle mr-1"></i>
Contactez nous
Contactez-nous
</a>
</div>
@@ -21,7 +21,7 @@
{% block content %}
<main id="content">
{% include 'defaultv2/accueil/blocPhoto.html.twig'
{% include 'defaultv2/accueil/blocPhotoPagesHeader.html.twig'
with {
'urlImage': 'v2/img/1920x800/candidature-offre-emploi-video.jpg',
'textParDefaut' : 'Recevez des candidatures',
@@ -182,7 +182,7 @@ with {
$(document).ready(function () {
$(window).scroll(function () { // check if scroll event happened
if ($(document).scrollTop() > 50) { // check if user scrolled more than 50 from top of the browser window
$("#logoAndNav").css("background-color","#000"); // if yes, then change the color of class "navbar-fixed-top" to white (#f8f8f8)
$("#logoAndNav").css("background-color","transparent"); // if yes, then change the color of class "navbar-fixed-top" to white (#f8f8f8)
$("#sidebarNavToggler").css("color","#fff");
} else {
$("#logoAndNav").css("background-color", "transparent"); // if not, change it back to transparent
@@ -0,0 +1,31 @@
<!-- Candidat DEBUT -->
<div class="space-1-bottom accueilFondNoir">
<div class="container space-2 ">
<div class="row justify-content-lg-end">
<div class="col-lg-6 order-1 pb-5">
<!-- Title -->
<div class="">
<h2 class="h3"> Recevez les candidatures en vidéo</h2>
<p class=""> Depuis leur webcam, smartphone ou tablette, les candidats postulent aux vidéos de votre entreprise, en
toute confidentialité, grâce à notre outil denregistrement vidéo simple, rapide et gratuit.
Vous recevez des vidéos de motivation, cest-à-dire des candidatures qui répondent à votre vidéo de
recrutement. Le candidat expose son parcours en illustrant ses expériences. Il met en avant ses
motivations à vous rejoindre et les compétences quil peut apporter à votre entreprise.
<strong>Découvrez la personnalité du candidat et son projet professionnel en quelques instants.</strong>
</p>
<a class="btn btn-sm btn-primary btn-wide" href="candidatures-video">En savoir plus</a>
</div>
</div>
<div class="col-lg-6 order-2">
<div class="pr-lg-4">
<a href="candidatures-video"><img class="img-fluid" src="{{ asset('v2/png/candidature-en-video.png') }}" alt="Candidature en vidéo"></a>
</div>
</div>
</div>
</div>
</div>
<!-- Candidat FIN -->
@@ -0,0 +1,40 @@
<!-- Ils nous font confiance DEBUT -->
<div class="container space-2 space-3--lg accueilFondBlanc">
<div class=" text-center mx-md-auto mb-12">
<!-- Title -->
<h2 class="h1"> Ils nous font confiance</h2>
<!-- Slick Carousel -->
<div class="js-slick-carousel u-slick" data-autoplay="true" data-speed="5000" data-infinite="true"
data-slides-show="5">
<div class="js-slide">
<img src="{{ asset('v2/logos/Albea-logo.png') }}" alt="Image Description">
</div>
<div class="js-slide">
<img src="{{ asset('v2/logos/Bouyer-leroux-logo.png') }}" alt="Image Description">
</div>
<div class="js-slide">
<img src="{{ asset('v2/logos/Eiffage-logo.png') }}" alt="Image Description">
</div>
<div class="js-slide">
<img src="{{ asset('v2/logos/groupe-mousset-logo.png') }}" alt="Image Description">
</div>
<div class="js-slide">
<img src="{{ asset('v2/logos/Groupe-rocher-logo.png') }}" alt="Image Description">
</div>
<div class="js-slide">
<img src="{{ asset('v2/logos/intermarche.png') }}" alt="Image Description">
</div>
<div class="js-slide">
<img src="{{ asset('v2/logos/Mazars-logo.png') }}" alt="Image Description">
</div>
<div class="js-slide">
<img src="{{ asset('v2/logos/Mma-logo.png') }}" alt="Image Description">
</div>
<div class="js-slide">
<img src="{{ asset('v2/logos/Square-habitat-logo.png') }}" alt="Image Description">
</div>
</div>
<!-- End Slick Carousel -->
</div>
</div>
<!-- Ils nous font confiance FIN -->
@@ -0,0 +1,87 @@
<!-- Degradé avec Stats Section -->
<div class="gradient-overlay-half-primary-v1">
<div class="bg-img-hero" style=>
<div class="container space-2 ">
<div class="container z-index-2 containerStat">
<div class=" shadow-lg rounded mt-n9">
<div class="card-deck d-block d-lg-flex">
<div class="card card-frame mb-4 mb-lg-0">
<!-- Listing -->
<div class="card-body p-4">
<div class="media">
<div class="media-body px-4">
<h2 class="statChiffre">10000+</h2>
<p class="statTexte">Visiteurs par mois</p>
</div>
</div>
</div>
<!-- End Listing -->
</div>
<div class="card card-frame mb-4 mb-lg-0">
<!-- Listing -->
<div class="card-body p-4">
<div class="media">
<div class="media-body px-4">
<h2 class="statChiffre">1050+</h2>
<p class="statTexte">Vues par vidéo</p>
</div>
</div>
</div>
<!-- End Listing -->
</div>
<div class="card card-frame mb-4 mb-lg-0">
<!-- Listing -->
<div class="card-body p-4">
<div class="media">
<div class="media-body px-4">
<h2 class="statChiffre">550+</h2>
<p class="statTexte">Candidatures vidéo</p>
</div>
</div>
</div>
<!-- End Listing -->
</div>
</div>
</div>
</div>
</div>
<!-- Icon Blocks Section -->
<div class="container ">
<div class="row space-1">
<div class="col-md-4 mb-7 mb-md-0">
<!-- Icon Blocks -->
<div class="text-center px-lg-3">
<img src="{{ asset('v2/svg/components/Diffusion-offres-emploi-video-marque-employeur.svg') }}" alt="Diffusez vos offres d'emploi et marque employeur en video" class="pb-3">
<h3 class="h4 text-white text500">Diffusez vos offres d'emploi et marque employeur en <strong>vidéo</strong></h3>
</div>
<!-- End Icon Blocks -->
</div>
<div class="col-md-4 mb-7 mb-md-0">
<!-- Icon Blocks -->
<div class="text-center px-lg-3">
<img src="{{ asset('v2/svg/components/candidature-en-video.svg') }}" alt="Recevez les candidatures en video" class="pb-3">
<h3 class="h4 text-white text500">Recevez les candidatures en vidéo</h3>
</div>
<!-- End Icon Blocks -->
</div>
<div class="col-md-4">
<!-- Icon Blocks -->
<div class="text-center px-lg-3 ">
<img src="{{ asset('v2/svg/components/Gestion-des-candidatures-video.svg') }}" alt="Gérez vos candidatures en vidéo" class="pb-3">
<h3 class="h4 text-white text500">Gérez vos candidatures en vidéo</h3>
</div>
<!-- End Icon Blocks -->
</div>
</div>
</div>
<!-- End Icon Blocks Section -->
</div>
</div>
<!-- Degradé avec Stats FIN-->
@@ -0,0 +1,31 @@
<!-- Marque employeur DEBUT -->
<div class="space-1-bottom accueilFondBlanc">
<div class="container space-2 ">
<div class="row justify-content-lg-end ">
<div class="col-lg-6 order-1 pb-5">
<!-- Title -->
<div class="mb-6">
<h2 class="h3"> Révélez votre Marque Employeur en vidéo</h2>
<p> Talents Tube offre une visibilité essentielle à votre marque employeur. Grâce à la vidéo, votre
entreprise replace lhumain au cœur du recrutement. Vous disposez dun levier concret et efficace pour
parfaire votre réputation. Développez lattractivité de votre entreprise pour séduire de nouveaux talents.
<strong>Donnez vie à votre marque employeur en plaçant la vidéo au centre de votre stratégie de
communication et de votre gestion des ressources humaines.
</strong>
</p>
<a class="btn btn-sm btn-primary btn-wide" href="marque-employeur-video">En savoir plus</a>
</div>
</div>
<div class="col-lg-6 order-2 mb-md-0">
<div class="mb-6>
<a href="marque-employeur-video"><img class="img-fluid"
src="{{ asset('v2/png/marque-employeur-en-video.png') }}" alt="Marque employeur vidéo"></a>
</div>
</div>
</div>
</div>
</div>
<!-- Marque employeur FIN -->
@@ -0,0 +1,20 @@
<!-- Accueil Photo Haut Section -->
<div class="bg-img-hero-center" style="background-image: url({{ asset(urlImage)}} ">
<div class="container space-2 space-5-top--lg space-4-bottom--lg">
<div class="w-md-75">
<!-- Title -->
<div class="mb-7">
{# <span class="d-block text-white text-uppercase mb-2">Talents tube</span> #}
<h1 class="display-4 font-size-48--md-down text-white mb-4">
<strong class="u-text-animation u-text-animation--typing">{{textParDefaut}}</strong>
<br>{{textVideo}}
</h1>
</div>
<!-- End Title -->
</div>
</div>
</div>
<!-- End Accueil Photo Haut Section -->
@@ -0,0 +1,32 @@
<!-- Plateforme DEBUT -->
<div class=" accueilFondBleute">
<div class="container space-2 ">
<div class="row row justify-content-lg-end ">
<div class="col-lg-6 order-2 mb-md-0 ">
<!-- Title <div class="col-md-6 order-md-2 mb-5 mb-md-0">-->
<div class="mb-6">
<h2 class="h3"> Plateforme pour lemploi 100% vidéo</h2>
<p> Talents Tube met à votre disposition un outil de diffusion de vos vidéos doffres demploi & marque
employeur pour attirer les meilleurs talents en vidéo.
Notre plateforme rassemble lentreprise et les talents qui se présentent en vidéo pour un recrutement
réussi.
Si vous ne possédez pas de vidéos, nous pouvons vous accompagner dans la réalisation.
<strong>Diffusez vos vidéos de recrutement et augmentez votre visibilité.</strong>
</p>
<a class="btn btn-sm btn-primary btn-wide" href="{{ url_plateforme }}">Voir la plateforme</a>
</div>
</div>
<div class="col-lg-6 order-1 pb-5">
<div class="">
<a href="{{ url_plateforme }}"><img class="img-fluid" src="{{ asset('v2/png/plateforme-de-recrutement-en-video.png') }}"
alt="Recrutement video"></a>
</div>
</div>
</div>
</div>
</div>
<!-- Plateforme FIN -->
@@ -0,0 +1,32 @@
<!-- Recrutez DEBUT -->
<div class="space1-bottom accueilFondBleute">
<div class="container space-2 ">
<div class="row justify-content-lg-end ">
<div class="col-lg-6 order-2 mb-md-0">
<!-- Title <div class="col-md-6 order-md-2 mb-5 mb-md-0">-->
<div class="mb-6">
<h2 class="h3"> Recrutez avec des offres demploi vidéo</h2>
<p> Talents Tube peut vous accompagner dans la réalisation de vidéos doffres demploi captivantes et à votre
image.
Loffre demploi en vidéo, média engageant, vous donne lopportunité de recruter les meilleurs talents. Le
principe est de donner une image moderne et innovante en présentant votre entreprise, votre équipe,
lenvironnement de travail et le poste à pourvoir en quelques minutes.
<strong>Faites place à linnovation pour capter lattention des candidats et recruter le talent quil vous
faut.</strong>
</p>
<a class="btn btn-sm btn-primary btn-wide" href="offre-emploi-video">En savoir plus</a>
</div>
</div>
<div class="col-lg-6 order-1 pb-5">
<div class="">
<a href="offre-emploi-video"><img class="img-fluid" src="{{ asset('v2/png/offres-emploi-en-video.png') }}" alt="Offres d'emploi en vidéo"></a>
</div>
</div>
</div>
</div>
</div>
<!-- Recrutez FIN -->
@@ -0,0 +1,309 @@
<!-- Témoignage DEBUT -->
<!-- Success stories -->
<div class="space-2-top space-1-bottom space-3-top--lg accueilFondNoir">
<div class="container">
<!-- Title -->
<div class="w-md-80 w-lg-60 mx-md-auto text-md-center mb-8">
<h2 class="text-lh-xs mb-0">Témoignages de nos clients</h2>
<h6 class="text-uppercase font-weight-medium letter-spacing-0_06 mb-3"> Ils ont choisi Talents Tube
pour recruter différemment.</h6>
</div>
<!-- End Title -->
<!-- Stories -->
<div id="sliderSyncingNav2" class="js-slick-carousel u-slick u-slick--rounded mb-2" data-infinite="true"
data-arrows-classes="d-none d-md-inline-block u-slick__arrow-classic u-slick__arrow-centered--y rounded-circle shadow"
data-arrow-left-classes="fa fa-arrow-left u-slick__arrow-classic-inner bg-white text-dark left-0 ml-md-n9"
data-arrow-right-classes="fa fa-arrow-right u-slick__arrow-classic-inner bg-white text-dark right-0 mr-md-n9"
data-nav-for="#sliderSyncingThumb2">
<div class="js-slide bg-img-hero bg-img-hero-center gradient-overlay-half-black-v1"
style="background-image: url({{ asset('v2/temoignages/pontivy-temoignage-image.jpg') }});">
<div class="w-md-80 w-lg-50 text-white space-2 px-9">
<h3 class="h2 text-lh-xs">Pontivy Communauté</h3>
<p class="text-white">Christine Le Strat & Kévin Nado</p>
<a class="js-fancybox text-white" href="javascript:;"
data-src="https://www.youtube.com/watch?v=ugXui7ICJeM?autoplay=1" data-speed="700" data-animate-in="zoomIn"
data-animate-out="zoomOut" data-caption="Témoignage">
Voir le témoignage
<i class="u-icon u-icon--sm u-icon--white-soft rounded-circle ml-2">
<i class="u-icon__inner svg-icon svg-icon-xs text-white">
<svg width="24px" height="24px" viewBox="0 0 24 24" version="1.1" xmlns="http://www.w3.org/2000/svg"
xmlns:xlink="http://www.w3.org/1999/xlink">
<g stroke="none" stroke-width="1" fill="none" fill-rule="evenodd">
<rect x="0" y="0" width="24" height="24"></rect>
<path
d="M9.82866499,18.2771971 L16.5693679,12.3976203 C16.7774696,12.2161036 16.7990211,11.9002555 16.6175044,11.6921539 C16.6029128,11.6754252 16.5872233,11.6596867 16.5705402,11.6450431 L9.82983723,5.72838979 C9.62230202,5.54622572 9.30638833,5.56679309 9.12422426,5.7743283 C9.04415337,5.86555116 9,5.98278612 9,6.10416552 L9,17.9003957 C9,18.1765381 9.22385763,18.4003957 9.5,18.4003957 C9.62084305,18.4003957 9.73759731,18.3566309 9.82866499,18.2771971 Z"
fill="#000000"></path>
</g>
</svg>
</i>
</i>
</a>
</div>
</div>
<div class="js-slide bg-img-hero bg-img-hero-center gradient-overlay-half-black-v1"
style="background-image: url({{ asset('v2/temoignages/temoignage-mma-questembert.jpg') }});">
<div class="w-md-80 w-lg-50 text-white space-2 px-9">
<h3 class="h2 text-lh-xs">MMA Questembert</h3>
<p class="text-white"> Stephane David, Agent Général d'Assurances</p>
<a class="js-fancybox text-white" href="javascript:;"
data-src="https://www.youtube.com/watch?v=0bbNdf4qAng?autoplay=1" data-speed="700" data-animate-in="zoomIn"
data-animate-out="zoomOut" data-caption="Témoignage">
Voir le témoignage
<i class="u-icon u-icon--sm u-icon--white-soft rounded-circle ml-2">
<i class="u-icon__inner svg-icon svg-icon-xs text-white">
<svg width="24px" height="24px" viewBox="0 0 24 24" version="1.1" xmlns="http://www.w3.org/2000/svg"
xmlns:xlink="http://www.w3.org/1999/xlink">
<g stroke="none" stroke-width="1" fill="none" fill-rule="evenodd">
<rect x="0" y="0" width="24" height="24"></rect>
<path
d="M9.82866499,18.2771971 L16.5693679,12.3976203 C16.7774696,12.2161036 16.7990211,11.9002555 16.6175044,11.6921539 C16.6029128,11.6754252 16.5872233,11.6596867 16.5705402,11.6450431 L9.82983723,5.72838979 C9.62230202,5.54622572 9.30638833,5.56679309 9.12422426,5.7743283 C9.04415337,5.86555116 9,5.98278612 9,6.10416552 L9,17.9003957 C9,18.1765381 9.22385763,18.4003957 9.5,18.4003957 C9.62084305,18.4003957 9.73759731,18.3566309 9.82866499,18.2771971 Z"
fill="#000000"></path>
</g>
</svg>
</i>
</i>
</a>
</div>
</div>
<div class="js-slide bg-img-hero bg-img-hero-center gradient-overlay-half-black-v1"
style="background-image: url({{ asset('v2/temoignages/mgdis-temoignage-image.jpg') }});">
<div class="w-md-80 w-lg-50 text-white space-2 px-9">
<h3 class="h2 text-lh-xs">MGDIS</h3>
<p class="text-white">Simona Vasile-Martin, Responsable Marketing</p>
<a class="js-fancybox text-white" href="javascript:;"
data-src="https://www.youtube.com/watch?v=E62HUkaPEkk&t?autoplay=1" data-speed="700"
data-animate-in="zoomIn" data-animate-out="zoomOut" data-caption="Témoignage">
Voir le témoignage
<i class="u-icon u-icon--sm u-icon--white-soft rounded-circle ml-2">
<i class="u-icon__inner svg-icon svg-icon-xs text-white">
<svg width="24px" height="24px" viewBox="0 0 24 24" version="1.1" xmlns="http://www.w3.org/2000/svg"
xmlns:xlink="http://www.w3.org/1999/xlink">
<g stroke="none" stroke-width="1" fill="none" fill-rule="evenodd">
<rect x="0" y="0" width="24" height="24"></rect>
<path
d="M9.82866499,18.2771971 L16.5693679,12.3976203 C16.7774696,12.2161036 16.7990211,11.9002555 16.6175044,11.6921539 C16.6029128,11.6754252 16.5872233,11.6596867 16.5705402,11.6450431 L9.82983723,5.72838979 C9.62230202,5.54622572 9.30638833,5.56679309 9.12422426,5.7743283 C9.04415337,5.86555116 9,5.98278612 9,6.10416552 L9,17.9003957 C9,18.1765381 9.22385763,18.4003957 9.5,18.4003957 C9.62084305,18.4003957 9.73759731,18.3566309 9.82866499,18.2771971 Z"
fill="#000000"></path>
</g>
</svg>
</i>
</i>
</a>
</div>
</div>
<div class="js-slide bg-img-hero bg-img-hero-center gradient-overlay-half-black-v1"
style="background-image: url({{ asset('v2/temoignages/medaviz-temoignage-image.jpg') }});">
<div class="w-md-80 w-lg-50 text-white space-2 px-9">
<h3 class="h2 text-lh-xs">Medaviz</h3>
<p class="text-white">Guillaume Lesdos, Co-fondateur et Président</p>
<a class="js-fancybox text-white" href="javascript:;" data-src="https://www.youtube.com/watch?v=Em3niStNutA"
data-speed="700" data-animate-in="zoomIn" data-animate-out="zoomOut" data-caption="Témoignage">
Voir le témoignage
<i class="u-icon u-icon--sm u-icon--white-soft rounded-circle ml-2">
<i class="u-icon__inner svg-icon svg-icon-xs text-white">
<svg width="24px" height="24px" viewBox="0 0 24 24" version="1.1" xmlns="http://www.w3.org/2000/svg"
xmlns:xlink="http://www.w3.org/1999/xlink">
<g stroke="none" stroke-width="1" fill="none" fill-rule="evenodd">
<rect x="0" y="0" width="24" height="24"></rect>
<path
d="M9.82866499,18.2771971 L16.5693679,12.3976203 C16.7774696,12.2161036 16.7990211,11.9002555 16.6175044,11.6921539 C16.6029128,11.6754252 16.5872233,11.6596867 16.5705402,11.6450431 L9.82983723,5.72838979 C9.62230202,5.54622572 9.30638833,5.56679309 9.12422426,5.7743283 C9.04415337,5.86555116 9,5.98278612 9,6.10416552 L9,17.9003957 C9,18.1765381 9.22385763,18.4003957 9.5,18.4003957 C9.62084305,18.4003957 9.73759731,18.3566309 9.82866499,18.2771971 Z"
fill="#000000"></path>
</g>
</svg>
</i>
</i>
</a>
</div>
</div>
<div class="js-slide bg-img-hero bg-img-hero-center gradient-overlay-half-black-v1"
style="background-image: url({{ asset('v2/temoignages/thalazur-carnac1-temoignage-image.jpg') }});">
<div class="w-md-80 w-lg-50 text-white space-2 px-9">
<h3 class="h2 text-lh-xs">Thalazur Carnac</h3>
<p class="text-white">Adeline Lautredou, Responsable Ressources Humaines</p>
<a class="js-fancybox text-white" href="javascript:;"
data-src="https://www.youtube.com/watch?v=hWYae9V-YWM&t=8s?autoplay=1" data-speed="700"
data-animate-in="zoomIn" data-animate-out="zoomOut" data-caption="Témoignage">
Voir le témoignage
<i class="u-icon u-icon--sm u-icon--white-soft rounded-circle ml-2">
<i class="u-icon__inner svg-icon svg-icon-xs text-white">
<svg width="24px" height="24px" viewBox="0 0 24 24" version="1.1" xmlns="http://www.w3.org/2000/svg"
xmlns:xlink="http://www.w3.org/1999/xlink">
<g stroke="none" stroke-width="1" fill="none" fill-rule="evenodd">
<rect x="0" y="0" width="24" height="24"></rect>
<path
d="M9.82866499,18.2771971 L16.5693679,12.3976203 C16.7774696,12.2161036 16.7990211,11.9002555 16.6175044,11.6921539 C16.6029128,11.6754252 16.5872233,11.6596867 16.5705402,11.6450431 L9.82983723,5.72838979 C9.62230202,5.54622572 9.30638833,5.56679309 9.12422426,5.7743283 C9.04415337,5.86555116 9,5.98278612 9,6.10416552 L9,17.9003957 C9,18.1765381 9.22385763,18.4003957 9.5,18.4003957 C9.62084305,18.4003957 9.73759731,18.3566309 9.82866499,18.2771971 Z"
fill="#000000"></path>
</g>
</svg>
</i>
</i>
</a>
</div>
</div>
<div class="js-slide bg-img-hero bg-img-hero-center gradient-overlay-half-black-v1"
style="background-image: url({{ asset('v2/temoignages/intermarche-temoignage-image.jpg') }});">
<div class="w-md-80 w-lg-50 text-white space-2 px-9">
<h3 class="h2 text-lh-xs">Intermarché LAI</h3>
<p class="text-white">Ludovic Chamoin-Foucaut, RRH</p>
<a class="js-fancybox text-white" href="javascript:;" data-src="https://youtu.be/lheAXL8U9cU?autoplay=1"
data-speed="700" data-animate-in="zoomIn" data-animate-out="zoomOut" data-caption="Témoignage">
Voir le témoignage
<i class="u-icon u-icon--sm u-icon--white-soft rounded-circle ml-2">
<i class="u-icon__inner svg-icon svg-icon-xs text-white">
<svg width="24px" height="24px" viewBox="0 0 24 24" version="1.1" xmlns="http://www.w3.org/2000/svg"
xmlns:xlink="http://www.w3.org/1999/xlink">
<g stroke="none" stroke-width="1" fill="none" fill-rule="evenodd">
<rect x="0" y="0" width="24" height="24"></rect>
<path
d="M9.82866499,18.2771971 L16.5693679,12.3976203 C16.7774696,12.2161036 16.7990211,11.9002555 16.6175044,11.6921539 C16.6029128,11.6754252 16.5872233,11.6596867 16.5705402,11.6450431 L9.82983723,5.72838979 C9.62230202,5.54622572 9.30638833,5.56679309 9.12422426,5.7743283 C9.04415337,5.86555116 9,5.98278612 9,6.10416552 L9,17.9003957 C9,18.1765381 9.22385763,18.4003957 9.5,18.4003957 C9.62084305,18.4003957 9.73759731,18.3566309 9.82866499,18.2771971 Z"
fill="#000000"></path>
</g>
</svg>
</i>
</i>
</a>
</div>
</div>
</div>
<!-- End Stories -->
<!-- Stories.Authors -->
<div id="sliderSyncingThumb2"
class="js-slick-carousel u-slick u-slick--gutters-2 u-slick--video w-50 w-lg-30 mx-auto" data-infinite="true"
data-slides-show="3" data-is-thumbs="true" data-center-mode="true" data-nav-for="#sliderSyncingNav2">
<div class="js-slide rounded overflow-hidden">
<img class="img-fluid" src="{{ asset('v2/temoignages/pontivy-communaute-temoignage-vignette.jpg') }}"
alt="Image Description">
<i class="u-icon u-icon--sm u-icon--dark-soft rounded-circle u-slick--video__player">
<i class="u-icon__inner svg-icon svg-icon-xs text-white">
<svg width="24px" height="24px" viewBox="0 0 24 24" version="1.1" xmlns="http://www.w3.org/2000/svg"
xmlns:xlink="http://www.w3.org/1999/xlink">
<g stroke="none" stroke-width="1" fill="none" fill-rule="evenodd">
<rect x="0" y="0" width="24" height="24"></rect>
<path
d="M9.82866499,18.2771971 L16.5693679,12.3976203 C16.7774696,12.2161036 16.7990211,11.9002555 16.6175044,11.6921539 C16.6029128,11.6754252 16.5872233,11.6596867 16.5705402,11.6450431 L9.82983723,5.72838979 C9.62230202,5.54622572 9.30638833,5.56679309 9.12422426,5.7743283 C9.04415337,5.86555116 9,5.98278612 9,6.10416552 L9,17.9003957 C9,18.1765381 9.22385763,18.4003957 9.5,18.4003957 C9.62084305,18.4003957 9.73759731,18.3566309 9.82866499,18.2771971 Z"
fill="#000000"></path>
</g>
</svg>
</i>
</i>
</div>
<div class="js-slide rounded overflow-hidden">
<img class="img-fluid" src="{{ asset('v2/temoignages/mma-temoignage-vignette.jpg') }}" alt="Image Description">
<i class="u-icon u-icon--sm u-icon--dark-soft rounded-circle u-slick--video__player">
<i class="u-icon__inner svg-icon svg-icon-xs text-white">
<svg width="24px" height="24px" viewBox="0 0 24 24" version="1.1" xmlns="http://www.w3.org/2000/svg"
xmlns:xlink="http://www.w3.org/1999/xlink">
<g stroke="none" stroke-width="1" fill="none" fill-rule="evenodd">
<rect x="0" y="0" width="24" height="24"></rect>
<path
d="M9.82866499,18.2771971 L16.5693679,12.3976203 C16.7774696,12.2161036 16.7990211,11.9002555 16.6175044,11.6921539 C16.6029128,11.6754252 16.5872233,11.6596867 16.5705402,11.6450431 L9.82983723,5.72838979 C9.62230202,5.54622572 9.30638833,5.56679309 9.12422426,5.7743283 C9.04415337,5.86555116 9,5.98278612 9,6.10416552 L9,17.9003957 C9,18.1765381 9.22385763,18.4003957 9.5,18.4003957 C9.62084305,18.4003957 9.73759731,18.3566309 9.82866499,18.2771971 Z"
fill="#000000"></path>
</g>
</svg>
</i>
</i>
</div>
<div class="js-slide rounded overflow-hidden">
<img class="img-fluid" src="{{ asset('v2/temoignages/mgdis-temoignage-vignette.jpg') }}"
alt="Image Description">
<i class="u-icon u-icon--sm u-icon--dark-soft rounded-circle u-slick--video__player">
<i class="u-icon__inner svg-icon svg-icon-xs text-white">
<svg width="24px" height="24px" viewBox="0 0 24 24" version="1.1" xmlns="http://www.w3.org/2000/svg"
xmlns:xlink="http://www.w3.org/1999/xlink">
<g stroke="none" stroke-width="1" fill="none" fill-rule="evenodd">
<rect x="0" y="0" width="24" height="24"></rect>
<path
d="M9.82866499,18.2771971 L16.5693679,12.3976203 C16.7774696,12.2161036 16.7990211,11.9002555 16.6175044,11.6921539 C16.6029128,11.6754252 16.5872233,11.6596867 16.5705402,11.6450431 L9.82983723,5.72838979 C9.62230202,5.54622572 9.30638833,5.56679309 9.12422426,5.7743283 C9.04415337,5.86555116 9,5.98278612 9,6.10416552 L9,17.9003957 C9,18.1765381 9.22385763,18.4003957 9.5,18.4003957 C9.62084305,18.4003957 9.73759731,18.3566309 9.82866499,18.2771971 Z"
fill="#000000"></path>
</g>
</svg>
</i>
</i>
</div>
<div class="js-slide rounded overflow-hidden">
<img class="img-fluid" src="{{ asset('v2/temoignages/medaviz-temoignage-vignette.jpg') }}"
alt="Image Description">
<i class="u-icon u-icon--sm u-icon--dark-soft rounded-circle u-slick--video__player">
<i class="u-icon__inner svg-icon svg-icon-xs text-white">
<svg width="24px" height="24px" viewBox="0 0 24 24" version="1.1" xmlns="http://www.w3.org/2000/svg"
xmlns:xlink="http://www.w3.org/1999/xlink">
<g stroke="none" stroke-width="1" fill="none" fill-rule="evenodd">
<rect x="0" y="0" width="24" height="24"></rect>
<path
d="M9.82866499,18.2771971 L16.5693679,12.3976203 C16.7774696,12.2161036 16.7990211,11.9002555 16.6175044,11.6921539 C16.6029128,11.6754252 16.5872233,11.6596867 16.5705402,11.6450431 L9.82983723,5.72838979 C9.62230202,5.54622572 9.30638833,5.56679309 9.12422426,5.7743283 C9.04415337,5.86555116 9,5.98278612 9,6.10416552 L9,17.9003957 C9,18.1765381 9.22385763,18.4003957 9.5,18.4003957 C9.62084305,18.4003957 9.73759731,18.3566309 9.82866499,18.2771971 Z"
fill="#000000"></path>
</g>
</svg>
</i>
</i>
</div>
<div class="js-slide rounded overflow-hidden">
<img class="img-fluid" src="{{ asset('v2/temoignages/thalazur-carnac-temoignage-vignette.jpg') }}"
alt="Image Description">
<i class="u-icon u-icon--sm u-icon--dark-soft rounded-circle u-slick--video__player">
<i class="u-icon__inner svg-icon svg-icon-xs text-white">
<svg width="24px" height="24px" viewBox="0 0 24 24" version="1.1" xmlns="http://www.w3.org/2000/svg"
xmlns:xlink="http://www.w3.org/1999/xlink">
<g stroke="none" stroke-width="1" fill="none" fill-rule="evenodd">
<rect x="0" y="0" width="24" height="24"></rect>
<path
d="M9.82866499,18.2771971 L16.5693679,12.3976203 C16.7774696,12.2161036 16.7990211,11.9002555 16.6175044,11.6921539 C16.6029128,11.6754252 16.5872233,11.6596867 16.5705402,11.6450431 L9.82983723,5.72838979 C9.62230202,5.54622572 9.30638833,5.56679309 9.12422426,5.7743283 C9.04415337,5.86555116 9,5.98278612 9,6.10416552 L9,17.9003957 C9,18.1765381 9.22385763,18.4003957 9.5,18.4003957 C9.62084305,18.4003957 9.73759731,18.3566309 9.82866499,18.2771971 Z"
fill="#000000"></path>
</g>
</svg>
</i>
</i>
</div>
<div class="js-slide rounded overflow-hidden">
<img class="img-fluid" src="{{ asset('v2/temoignages/intermarche-temoignage-vignette.jpg') }}"
alt="Image Description">
<i class="u-icon u-icon--sm u-icon--dark-soft rounded-circle u-slick--video__player">
<i class="u-icon__inner svg-icon svg-icon-xs text-white">
<svg width="24px" height="24px" viewBox="0 0 24 24" version="1.1" xmlns="http://www.w3.org/2000/svg"
xmlns:xlink="http://www.w3.org/1999/xlink">
<g stroke="none" stroke-width="1" fill="none" fill-rule="evenodd">
<rect x="0" y="0" width="24" height="24"></rect>
<path
d="M9.82866499,18.2771971 L16.5693679,12.3976203 C16.7774696,12.2161036 16.7990211,11.9002555 16.6175044,11.6921539 C16.6029128,11.6754252 16.5872233,11.6596867 16.5705402,11.6450431 L9.82983723,5.72838979 C9.62230202,5.54622572 9.30638833,5.56679309 9.12422426,5.7743283 C9.04415337,5.86555116 9,5.98278612 9,6.10416552 L9,17.9003957 C9,18.1765381 9.22385763,18.4003957 9.5,18.4003957 C9.62084305,18.4003957 9.73759731,18.3566309 9.82866499,18.2771971 Z"
fill="#000000"></path>
</g>
</svg>
</i>
</i>
</div>
</div>
<!-- End Stories.Authors -->
</div>
</div>
<!-- End Success stories -->
<!-- Témoignage FIN -->
@@ -0,0 +1,198 @@
{% extends 'basev2.html.twig' %}
{% block title %}Espace recruteur - Solution de recrutement en vidéo | Talents Tube{% endblock %}
{% block meta %}
<meta name="description" content="Vous souhaitez recruter en vidéo ? Talents Tube diffuse vos vidéos doffres demploi et marque employeur pour attirer les meilleurs talents en vidéo.">
<meta name="twitter:card" content="summary">
<meta name="twitter:site" content="@TalentsTube">
<meta name="twitter:title" content="Espace recruteur - Solution de recrutement en vidéo | Talents Tube">
<meta name="twitter:description" content="Vous souhaitez recruter en vidéo ? Talents Tube diffuse vos vidéos doffres demploi et marque employeur pour attirer les meilleurs talents en vidéo.">
<meta name="twitter:image" content="{{ absolute_url(asset('img/mail/logo-talents-tube.png')) }}">
{#Open Graph data pour le partage sur les réseaux sociaux (ex Facebook..)#}
<meta property="og:title" content="Espace recruteur - Solution de recrutement en vidéo | Talents Tube" />
<meta property="og:type" content="article" />
<meta property="og:image" content="{{ absolute_url(asset('img/mail/logo-talents-tube.png')) }}" />
<meta property="og:description" content="Vous souhaitez recruter en vidéo ? Talents Tube diffuse vos vidéos doffres demploi et marque employeur pour attirer les meilleurs talents en vidéo." />
<meta property="og:site_name" content="Talents Tube" />
<meta property="og:url" content="{{ url(app.request.attributes.get('_route'), app.request.attributes.get('_route_params')) }}" />
{% endblock %}
{% block content %}
<main id="content">
{% include 'defaultv2/accueil/blocPhotoPagesHeader.html.twig'
with {
'urlImage': 'v2/img/1920x800/recrutement-video.jpg',
'textParDefaut' : 'Recrutez les candidats',
'textVideo' : 'avec la vidéo'
} %}
{% include 'defaultv2/concept/blocDegrade.html.twig' %}
{% include 'defaultv2/concept/blocPlateforme.html.twig' %}
{% include 'defaultv2/concept/blocCandidat.html.twig' %}
{% include 'defaultv2/concept/blocRecrutez.html.twig' %}
{% include 'defaultv2/concept/blocEmployeur.html.twig' %}
{% include 'defaultv2/concept/blocTemoignages.html.twig' %}
{% include 'defaultv2/accueil/blocLogo.html.twig' %}
</main>
<!-- ========== END MAIN CONTENT ========== -->
{% include 'defaultv2/accueil/footer.html.twig' %}
<!-- Begin Panel Login -->
{% include 'defaultv2/accueil/blocLogin.html.twig'
with {
'csrf_token': csrf_token,
'error' : error
} %}
<!-- Go to Top -->
<a class="js-go-to u-go-to" href="javascript:;" data-position='{"bottom": 30, "right": 100 }' data-type="fixed"
data-offset-top="400" data-compensation="#header" data-show-effect="slideInUp" data-hide-effect="slideOutDown">
<i class="fa fa-arrow-up u-go-to__inner"></i>
</a>
<!-- End Go to Top -->
<!-- JS Global Compulsory -->
<script src="{{ asset('v2/vendor/jquery/dist/jquery.min.js') }}"></script>
<script src="{{ asset('v2/vendor/jquery-migrate/dist/jquery-migrate.min.js') }}"></script>
<script src="{{ asset('v2/vendor/popper.js/dist/umd/popper.min.js') }}"></script>
<script src="{{ asset('v2/vendor/bootstrap/bootstrap.min.js') }}"></script>
<!-- JS Implementing Plugins -->
<script src="{{ asset('v2/vendor/hs-megamenu/src/hs.megamenu.js') }}"></script>
<script src="{{ asset('v2/vendor/jquery-validation/dist/jquery.validate.min.js') }}"></script>
<script src="{{ asset('v2/vendor/malihu-custom-scrollbar-plugin/jquery.mCustomScrollbar.concat.min.js') }}"></script>
<script src="{{ asset('v2/vendor/custombox/dist/custombox.min.js') }}"></script>
<script src="{{ asset('v2/vendor/custombox/dist/custombox.legacy.min.js') }}"></script>
<script src="{{ asset('v2/vendor/typed.js/lib/typed.min.js') }}"></script>
<script src="{{ asset('v2/vendor/slick-carousel/slick/slick.js') }}"></script>
<script src="{{ asset('v2/vendor/cubeportfolio/js/jquery.cubeportfolio.min.js') }}"></script>
<script src="{{ asset('v2/vendor/fancybox/jquery.fancybox.min.js') }}"></script>
<!-- JS Space -->
<script src="{{ asset('v2/js/hs.core.js') }}"></script>
<script src="{{ asset('v2/js/components/hs.header.js') }}"></script>
<script src="{{ asset('v2/js/components/hs.unfold.js') }}"></script>
<script src="{{ asset('v2/js/components/hs.validation.js') }}"></script>
<script src="{{ asset('v2/js/helpers/hs.focus-state.js') }}"></script>
<script src="{{ asset('v2/js/components/hs.malihu-scrollbar.js') }}"></script>
<script src="{{ asset('v2/js/components/hs.fancybox.js') }}"></script>
<script src="{{ asset('v2/js/components/hs.modal-window.js') }}"></script>
<script src="{{ asset('v2/js/components/hs.show-animation.js') }}"></script>
<script src="{{ asset('v2/js/components/hs.slick-carousel.js') }}"></script>
<script src="{{ asset('v2/js/components/hs.cubeportfolio.js') }}"></script>
<script src="{{ asset('v2/js/components/hs.g-map.js') }}"></script>
<script src="{{ asset('v2/js/components/hs.go-to.js') }}"></script>
<!-- JS Plugins Init. -->
<script>
// initialization of google map
{# function initMap() {
$.HSCore.components.HSGMap.init('.js-g-map');
} #}
$(window).on('load', function () {
// initialization of HSMegaMenu component
$('.js-mega-menu').HSMegaMenu({
event: 'hover',
pageContainer: $('.container'),
breakpoint: 767,
hideTimeOut: 0
});
});
$(document).on('ready', function () {
// initialization of header
$.HSCore.components.HSHeader.init($('#header'));
// initialization of fancybox
$.HSCore.components.HSFancyBox.init('.js-fancybox');
// initialization of unfold component
$.HSCore.components.HSUnfold.init($('[data-unfold-target]'), {
afterOpen: function () {
if (!$('body').hasClass('IE11')) {
$(this).find('input[type="search"]').focus();
}
}
});
// initialization of form validation
$.HSCore.components.HSValidation.init('.js-validate', {
rules: {
confirmPassword: {
equalTo: '#password'
}
}
});
// initialization of forms
$.HSCore.helpers.HSFocusState.init();
// initialization of malihu scrollbar
$.HSCore.components.HSMalihuScrollBar.init($('.js-scrollbar'));
// initialization of autonomous popups
$.HSCore.components.HSModalWindow.init('[data-modal-target]', '.js-signup-modal', {
autonomous: true
});
// initialization of show animations
$.HSCore.components.HSShowAnimation.init('.js-animation-link');
// initialization of slick carousel
$.HSCore.components.HSSlickCarousel.init('.js-slick-carousel');
$('.u-text-animation.u-text-animation').html("");
// initialization of text animation (typing)
var typed = new Typed(".u-text-animation.u-text-animation--typing", {
strings: ["Recrutez les candidats", "Boostez vos recrutements", "Valorisez vos collaborateurs"],
typeSpeed: 60,
loop: true,
backSpeed: 25,
backDelay: 3000
});
// initialization of cubeportfolio
$.HSCore.components.HSCubeportfolio.init('.cbp');
// initialization of go to
$.HSCore.components.HSGoTo.init('.js-go-to');
});
$(document).ready(function () {
$(window).scroll(function () { // check if scroll event happened
if ($(document).scrollTop() > 50) { // check if user scrolled more than 50 from top of the browser window
$("#logoAndNav").css("background-color","transparent"); // if yes, then change the color of class "navbar-fixed-top" to white (#f8f8f8)
$("#sidebarNavToggler").css("color","#fff");
} else {
$("#logoAndNav").css("background-color", "transparent"); // if not, change it back to transparent
$("#sidebarNavToggler").css("color", "#000");
}
});
});
</script>
{% endblock %}
{% block javascripts %}
{{ parent() }}
<script src="https://player.vimeo.com/api/player.js"></script>
{% endblock %}
@@ -6,12 +6,14 @@
</a>
<!-- End Skippy -->
<!-- ========== HEADER ========== -->
<header id="header" class="u-header u-header--modern u-header--bordered u-header--bg-transparent u-header--white-nav-links u-header--sticky-top-lg">
<div class="u-header__section">
<div class="u-header__section headerrecruteur">
<div id="logoAndNav" class="container-fluid">
<!-- Nav -->
<nav class="js-mega-menu navbar navbar-expand-lg u-header__navbar">
<nav class=" js-mega-menu navbar navbar-expand-lg u-header__navbar hs-menu-initialized hs-menu-horizontal hs-mobile-state">
<!-- Logo -->
<div class="u-header__navbar-brand-wrapper">
<a class="navbar-brand u-header__navbar-brand" href="/" aria-label="TT">
@@ -39,13 +41,23 @@
<!-- Navigation -->
<div id="navBar" class="collapse navbar-collapse u-header__navbar-collapse py-0">
<ul class="navbar-nav u-header__navbar-nav">
<!-- Home -->
<li class="nav-item u-header__nav-item"
data-event="hover"
data-animation-in="fadeInUp"
data-animation-out="fadeOut">
<a id="homeMegaMenu" class="nav-link u-header__nav-link" href="{{ path('concept') }}">
Concept
</a>
</li>
<!-- End Home -->
<!-- Home -->
<li class="nav-item u-header__nav-item"
data-event="hover"
data-animation-in="fadeInUp"
data-animation-out="fadeOut">
<a id="homeMegaMenu" class="nav-link u-header__nav-link" href="{{ path('offresVideo') }}">
L'Offre d'emploi
Offre d'emploi
</a>
</li>
@@ -54,9 +66,9 @@
<!-- Pages -->
<li class="nav-item u-header__nav-item">
<a id="PagesMegaMenu" class="nav-link u-header__nav-link" href="{{ path('employeurVideo') }}"
aria-haspopup="true"
aria-expanded="false">
La Marque employeur
aria-haspopup="true"
aria-expanded="false">
Marque employeur
</a>
</li>
@@ -68,7 +80,7 @@
data-animation-in="fadeInUp"
data-animation-out="fadeOut">
<a id="worksMegaMenu" class="nav-link u-header__nav-link" href="{{ path('candidaturesVideo') }}">
La Candidature
Candidature
</a>
@@ -83,7 +95,7 @@
data-animation-out="fadeOut">
<a id="blogMegaMenu" class="nav-link u-header__nav-link" href="https://blog.talentstube.com/" target="_blank">
Blog
</a>
@@ -91,19 +103,19 @@
<!-- End Blog -->
<!-- Button -->
<li class="nav-item u-header__nav-item-btn">
<!-- Button -->
<!--<li class="nav-item u-header__nav-item-btn">
<a class="btn btn-sm btn-contact" href="https://blog.talentstube.com/contact" target="_blank" role="button">
{# <i class="fa fa-user-circle mr-1"></i> #}
Contactez-nous
</a>
</li>
</li>-->
<!-- End Button -->
<!-- Button -->
<li class="nav-item u-header__nav-item-btn">
<a class="btn btn-sm btn-primary" href="#signupModal" role="button"
data-modal-target="#signupModal"
data-overlay-color="#151b26">
data-modal-target="#signupModal"
data-overlay-color="#151b26">
{# <i class="fa fa-user-circle mr-1"></i> #}
Connexion recruteurs
</a>
@@ -9,9 +9,9 @@
<div class="row">
<div class="col-md-4 mb-7 mb-md-0">
<!-- Icon Blocks -->
<div class="text-center px-lg-3">
<img class="max-width-14 mb-2" src="{{ asset('v2/svg/components/recrutement-territoire.svg') }}" alt="Image Description">
<h3 class="h4 text-white text-center">Valorisez votre implantation territoire</h3>
<div class="text-center px-lg-4">
<img class="max-width-14 mb-3" src="{{ asset('v2/svg/components/recrutement-territoire.svg') }}" alt="Image Description">
<h3 class="h5 text-white text-center">Valorisez votre implantation territoire</h3>
<p class="mb-0 text-white text-center">Les talents sont sensibles à l’équilibre vie professionnelle et vie privée, la situation géographique de vos sites est un atout.</p>
</div>
<!-- End Icon Blocks -->
@@ -19,9 +19,9 @@
<div class="col-md-4 mb-7 mb-md-0">
<!-- Icon Blocks -->
<div class="text-center px-lg-3">
<img class="max-width-14 mb-2" src="{{ asset('v2/svg/components/temoignage-collaborateur.svg') }}" alt="Image Description">
<h3 class="h4 text-white text-center">Donnez la parole à vos collaborateurs</h3>
<div class="text-center px-lg-4">
<img class="max-width-14 mb-3" src="{{ asset('v2/svg/components/temoignage-collaborateur.svg') }}" alt="Image Description">
<h3 class="h5 text-white text-center">Donnez la parole à vos collaborateurs</h3>
<p class="mb-0 text-white text-center">Ce sont ceux qui le vivent qui en parlent le mieux. Soyez authentique, montrez les évolutions de carrière et donnez du sens à vos emplois.</p>
</div>
<!-- End Icon Blocks -->
@@ -29,9 +29,9 @@
<div class="col-md-4">
<!-- Icon Blocks -->
<div class="text-center px-lg-3">
<img class="max-width-14 mb-2" src="{{ asset('v2/svg/components/boost-identite-digitale.svg') }}" alt="Image Description">
<h3 class="h4 text-white text-center" >Boostez votre identité digitale</h3>
<div class="text-center px-lg-4">
<img class="max-width-14 mb-3" src="{{ asset('v2/svg/components/boost-identite-digitale.svg') }}" alt="Image Description">
<h3 class="h5 text-white text-center" >Boostez votre identité digitale</h3>
<p class="mb-0 text-white text-center">Avec la vidéo, 1er média sur le web, propulsez votre image de marque employeur et gagnez en notoriété.</p>
</div>
<!-- End Icon Blocks -->
@@ -2,7 +2,7 @@
<!-- Features Section -->
<div class="container space-2-top space-3--lg ">
<div class="row justify-content-lg-between align-items-md-center">
<div class="col-md-6 col-lg-5 mb-7 mb-md-0">
<div class="col-md-6 col-lg-5 col-md-9 mb-7 mb-md-0">
<!-- Title -->
<div class="mb-7">
<h2>Comment ça fonctionne ?</h2>
@@ -33,7 +33,7 @@
</div>
<div class="col-md-6 mb-9 mb-md-0">
<div class="col-lg-6 mb-9 mb-md-0">
<img src="{{ asset('v2/img/marque/marque-employeur-candidature-spontanee.jpg') }}">
</div>
</div>
+1 -5
View File
@@ -6,11 +6,7 @@
<h2 class="text-white text-center"> Envie de dévoiler votre marque employeur en vidéo ? </h2>
</div>
<a class="btn btn-sm btn-contact" href="https://blog.talentstube.com/contact"
data-overlay-color="#151b26">
Contactez-nous
</a>
<a class="btn btn-sm btn-contact" href="https://blog.talentstube.com/contact" data-overlay-color="#151b26">Contactez-nous</a>
</div>
</div>
@@ -2,7 +2,7 @@
<div class=" accueilFondBlanc">
<div class="container space-2 ">
<div class="row row justify-content-lg-end ">
<div class="col-md-6 ">
<div class="col-lg-6 order-md-2">
<!-- Title <div class="col-md-6 order-md-2 mb-5 mb-md-0">-->
<div class="mb-6">
<h2 class="h3"> Quest-ce que la marque employeur ?</h2>
@@ -19,7 +19,7 @@
</div>
</div>
<div class="col-md-6 align-right paddintRight">
<div class="col-lg-6 order-md-1 mb-5">
<div class="mb-6">
@@ -2,9 +2,9 @@
<div class="space-1-bottom accueilFondNoir">
<div class="container space-2 ">
<div class="row justify-content-lg-end">
<div class="col-md-6 order-md-2 mb-5 mb-md-0">
<div class="col-lg-6 order-md-2">
<!-- Title -->
<div class="mb-4">
<div class="mb-6">
<h2 class="h3"> Pourquoi révéler votre marque employeur en vidéo ?</h2>
<p>
Recruter, fidéliser et rayonner sont des bénéfices directs de la diffusion de votre marque employeur en
@@ -19,7 +19,7 @@
</div>
</div>
<div class="col-md-6 order-md-1">
<div class="col-lg-6 order-md-1">
<div id="youTubeVideoPlayer" class="u-video-player mb-7">
<!-- Cover Image -->
<img class="img-fluid u-video-player__preview"
@@ -24,7 +24,7 @@
{% block content %}
<main id="content">
{% include 'defaultv2/accueil/blocPhoto.html.twig'
{% include 'defaultv2/accueil/blocPhotoPagesHeader.html.twig'
with {
'urlImage': 'v2/img/1920x800/video-marque-employeur.jpg',
'textParDefaut' : 'Révélez votre marque employeur ',
@@ -184,7 +184,7 @@ with {
$(document).ready(function () {
$(window).scroll(function () { // check if scroll event happened
if ($(document).scrollTop() > 50) { // check if user scrolled more than 50 from top of the browser window
$("#logoAndNav").css("background-color","#000"); // if yes, then change the color of class "navbar-fixed-top" to white (#f8f8f8)
$("#logoAndNav").css("background-color","transparent"); // if yes, then change the color of class "navbar-fixed-top" to white (#f8f8f8)
$("#sidebarNavToggler").css("color","#fff");
} else {
$("#logoAndNav").css("background-color", "transparent"); // if not, change it back to transparent
@@ -1,46 +1,38 @@
<!-- Plateforme DEBUT -->
<div class="accueilFondBleute">
<div class="container ">
<div class="row align-items-lg-center">
<!-- Icon Blocks Section -->
<div class="container ">
<div class="row">
<div class="col-md-4 mb-7 mb-md-0">
<!-- Icon Blocks -->
<div class="text-center px-lg-3">
<img class="max-width-14 mb-2" src="{{ asset('v2/svg/components/boost-annonce.svg') }}" alt="Améliorez le nombre de candidatures avec loffre demploi vidéo.">
<h3 class="h4">Améliorez vos annonces</h3>
<p class="mb-0">La vidéo génère 34% de candidatures supplémentaires par rapport à une annonce demploi écrite.</p>
</div>
<!-- End Icon Blocks -->
<div class="accueilFondBleute">
<div class="container">
<div class="container pt-6">
<div class="row">
<div class="col-md-4 mb-7 mb-md-0">
<!-- Icon Blocks -->
<div class="text-center px-lg-4">
<img class="max-width-14 mb-2" src="../v2/svg/components/boost-annonce.svg" alt="Découvrez la personnalité des candidats en vidéo">
<h3 class="h5">Améliorez vos annonces</h3>
<p>La vidéo génère 34% de candidatures supplémentaires par rapport à une annonce demploi écrite.</p>
</div>
<!-- End Icon Blocks -->
</div>
<div class="col-md-4 mb-7 mb-md-0">
<!-- Icon Blocks -->
<div class="text-center px-lg-3">
<img class="max-width-14 mb-2" src="{{ asset('v2/svg/components/attirer-des-candidats-large.svg') }}" alt="
Attirer les jeunes candidats à postuler en vidéo à vos offres demploi.">
<h3 class="h4">Attirez les jeunes candidats</h3>
<p class="mb-0">La génération des millenials représentera 75% de la population active dici 2030.</p>
</div>
<!-- End Icon Blocks -->
<div class="col-md-4 mb-7 mb-md-0">
<!-- Icon Blocks -->
<div class="text-center px-lg-4">
<img class="max-width-14 mb-2" src="../v2/svg/components/attirer-des-candidats-large.svg" alt="Gagnez du temps dans votre pré-selection des candidats">
<h3 class="h5">Attirez les jeunes candidats</h3>
<p>La génération des millenials représentera 75% de la population active dici 2030.</p>
</div>
<!-- End Icon Blocks -->
</div>
<div class="col-md-4">
<!-- Icon Blocks -->
<div class="text-center px-lg-3">
<img class="max-width-14 mb-2" src="{{ asset('v2/svg/components/mobile-first.svg') }}" alt="82 % des candidats recherchent des offres demploi depuis leur mobile.">
<h3 class="h4">Adoptez le Mobile First</h3>
<p class="mb-0">82% des candidats recherchent des offres demploi depuis leur smartphone.</p>
</div>
<!-- End Icon Blocks -->
<div class="col-md-4">
<!-- Icon Blocks -->
<div class="text-center px-lg-4">
<img class="max-width-14 mb-2" src="../v2/svg/components/mobile-first.svg" alt="Gérez vos candidatures vidéo">
<h3 class="h5">Adoptez le Mobile First</h3>
<p>82% des candidats recherchent des offres demploi depuis leur smartphone.</p>
</div>
<!-- End Icon Blocks -->
</div>
</div>
<!-- End Icon Blocks Section -->
</div>
</div>
</div>
<!-- Plateforme FIN -->
@@ -2,7 +2,7 @@
<div class=" accueilFondBlanc">
<div class="container space-2 ">
<div class="row row justify-content-lg-end ">
<div class="col-md-6 ">
<div class="col-lg-6 order-md-1 pb-5">
<!-- Title <div class="col-md-6 order-md-2 mb-5 mb-md-0">-->
<div class="mb-6">
<h2 class="h3"> Quest-ce quune offre demploi vidéo ?</h2>
@@ -20,7 +20,7 @@ travail et le quotidien de vos métiers.
</div>
</div>
<div class="col-md-6 align-right paddintRight">
<div class="col-lg-6 order-md-2 align-right paddintRight">
<div class="mb-6">
@@ -1,8 +1,8 @@
<!-- Plateforme DEBUT -->
<div class=" accueilFondBleute">
<div class="container ">
<div class="container">
<div class="row align-items-lg-center">
<div class="col-md-6 order-md-2 mb-5 mb-md-0">
<div class="col-lg-6 order-md-2 mb-5">
<!-- Title <div class="col-md-6 order-md-2 mb-5 mb-md-0">-->
<div class="mb-6">
<h2 class="h3"> La vidéo doffre demploi améliore lefficacité de vos recrutements.</h2>
@@ -21,7 +21,7 @@
</div>
</div>
<div class="col-md-6 align-right paddintRight">
<div class="col-lg-6 order-md-1 align-right paddintRight">
<div class="mb-6">
@@ -21,7 +21,7 @@
{% block content %}
<main id="content">
{% include 'defaultv2/accueil/blocPhoto.html.twig'
{% include 'defaultv2/accueil/blocPhotoPagesHeader.html.twig'
with {
'urlImage': 'v2/img/1920x800/attirer-les-candidats-avec-une-offre-emploi-video.jpg',
'textParDefaut' : 'Attirez des talents',
@@ -180,7 +180,7 @@ with {
$(document).ready(function () {
$(window).scroll(function () { // check if scroll event happened
if ($(document).scrollTop() > 50) { // check if user scrolled more than 50 from top of the browser window
$("#logoAndNav").css("background-color","#000"); // if yes, then change the color of class "navbar-fixed-top" to white (#f8f8f8)
$("#logoAndNav").css("background-color","transparent"); // if yes, then change the color of class "navbar-fixed-top" to white (#f8f8f8)
$("#sidebarNavToggler").css("color","#fff");
} else {
$("#logoAndNav").css("background-color", "transparent"); // if not, change it back to transparent
@@ -346,7 +346,7 @@ with {
$(document).ready(function () {
$(window).scroll(function () { // check if scroll event happened
if ($(document).scrollTop() > 50) { // check if user scrolled more than 50 from top of the browser window
$("#logoAndNav").css("background-color","#000"); // if yes, then change the color of class "navbar-fixed-top" to white (#f8f8f8)
$("#logoAndNav").css("background-color","transparent"); // if yes, then change the color of class "navbar-fixed-top" to white (#f8f8f8)
$("#sidebarNavToggler").css("color","#fff");
} else {
$("#logoAndNav").css("background-color", "transparent"); // if not, change it back to transparent
@@ -1,11 +1,11 @@
{% extends "baseLanding.html.twig" %}
{% block title %}Valorisez votre métier d'aide à domicile et recrutez grâce à la vidéo{% endblock %}
{% block title %}Valorisez le métier d'aide à domicile et recrutez en vidéo{% endblock %}
{% block meta %}
<meta name="description"
content="Vous souhaitez améliorer l'attractivité de votre métier ? Avec le recrutement vidéo, valorisez sa richesse réelle et recrutez des aides à domicile en vidéo.">
<meta property="og:locale" content="fr_FR">
<meta property="og:type" content="website">
<meta property="og:title" content="Valorisez votre métier d'aide à domicile et recrutez grâce à la vidéo">
<meta property="og:title" content="Valorisez le métier d'aide à domicile et recrutez en vidéo">
<meta property="og:description"
content="Vous souhaitez améliorer l'attractivité de votre métier ? Avec le recrutement vidéo, valorisez sa richesse réelle et recrutez des aides à domicile en vidéo.">
<meta property="og:url" content="https://recruteur.talentstube.com/recrutement-aide-a-domicile">
@@ -13,6 +13,7 @@
<meta property="og:image"
content="https://recruteur.talentstube.com/landing/img/reussir-son-recrutement-aide-a-domicile-avec-la-video.jpg" />
<meta name="twitter:card" content="summary_large_image" />
<link rel="canonical" href="https://recruteur.talentstube.com/recrutement-aide-a-domicile" />
{% endblock %}
{% block modalCallToAction %}
{{ parent() }}
@@ -66,8 +67,7 @@
</div>
<ul class="nav navbar-nav navbar-right">
<li>
<div class="mj-w-button mj-w-btn bttn" data-toggle="modal" data-target="#exampleModal">Demander un
rendez-vous</div>
<div class="mj-w-button mj-w-btn bttn" data-toggle="modal" data-target="#exampleModal">Demander un diagnostic</div>
</li>
</ul>
</div>
@@ -89,7 +89,7 @@
</div>
<!--welcome-message end-->
<div class=" video-header">
<button class="bttn" data-toggle="modal" data-target="#exampleModal">Demander un rendez-vous</button>
<button class="bttn" data-toggle="modal" data-target="#exampleModal">Demander un diagnostic</button>
</div>
</div>
@@ -209,11 +209,9 @@
<div class="col-md-12">
<!--goodbye-message-->
<div class="appel-action">
<h2>Demandez un RDV gratuitement</h2>
<p>Plus qu'une dernière étape avant de rendre le métier d'aide à domicile plus attractif.</p>
<p>Osez recruter autrement !</p>
<button class="bttn" data-toggle="modal" data-target="#exampleModal" style="margin-top:30px;">Demander
un rendez-vous</button>
<h2>Organisons un rendez-vous diagnostic gratuit</h2>
<p>Bénéficiez de 15 minutes de diagnostic gratuit pour faire le point sur vos enjeux de recrutement, <br>identifier ce que Talents Tube peut résoudre et prendre connaissance de loffre la plus appropriée pour votre entreprise.</p>
<button class="bttn" data-toggle="modal" data-target="#exampleModal" style="margin-top:30px;">Demander mon diagnostic</button>
</div>
<!--goodbye-message end-->
</div>
@@ -0,0 +1,239 @@
{% extends "baseLanding.html.twig" %}
{% block title %}Améliorez votre recrutement informatique et recrutez en vidéo{% endblock %}
{% block meta %}
<meta name="description"
content="Votre entreprise recherche un développeur ? Découvrez des solutions pour trouver un développeur et réussir votre recrutement.">
<meta property="og:locale" content="fr_FR">
<meta property="og:type" content="website">
<meta property="og:title" content="Améliorez votre recrutement informatique et recrutez en vidéo">
<meta property="og:description"
content="Votre entreprise recherche un développeur ? Découvrez des solutions pour trouver un développeur et réussir votre recrutement.">
<meta property="og:url" content="https://recruteur.talentstube.com/recrutement-informatique">
<meta property="og:site_name" content="Talents Tube">
<meta property="og:image" content="https://recruteur.talentstube.com/landing/img/recrutement-informatique.jpg" />
<meta name="twitter:card" content="summary_large_image" />
<link rel="canonical" href="https://recruteur.talentstube.com/recrutement-informatique" />
{% endblock %}
{% block main %}
<main>
<!--Header : Menu et Vidéo en fond-->
<header class="hero-section-informatique">
<!--HTML5 Video-->
<video autoplay loop muted id="bgvid" poster="">
<source src="/landing/video/recrutement-informatique.mp4" type="video/mp4" alt="Recrutement informatique">
<!--Prévoir une image fixe pour la version mobile : main.css : 102-->
</video>
<!--HTML5 Video end-->
<div class="overlay"></div>
<div class="container">
<div class="row">
<div class="col-md-12">
<div class="logo-header" style="display:inline-block;">
<img src="/landing/img/talentstube-logo-blanc.svg" data-at2x="/landing/img/talentstube-logo-blanc@2x.svg"
alt="Talents Tube" class="logo-talentstube" style="width:150px">
</div>
</div>
</div>
</div>
<!--nav-->
<nav class="navbar-default">
<!-- clas="navbar"-->
<div class="container">
<div class="logo-brand">
<img src="https://blog.talentstube.com/wp-content/uploads/2021/02/TalentsTube-logo-blanc.svg"
data-at2x="https://blog.talentstube.com/wp-content/uploads/2021/02/TalentsTube-logo-blanc.svg"
alt="Talents Tube, plateforme de recrutement en vidéo" class="logo-head">
</div>
<!--<div class="navbar-header">
<button type="button" class="navbar-toggle collapsed" data-toggle="collapse" data-target="#bs-navbar-collapse-1">
<span class="sr-only">Toggle navigation</span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
</button>
</div>-->
<div class="collapse navbar-collapse" id="bs-navbar-collapse-1">
<div class="row">
<div class="logo-header" style="display:inline-block;">
<img src="https://blog.talentstube.com/wp-content/uploads/2021/02/talents-tube-logo-color.svg'"
data-at2x="https://blog.talentstube.com/wp-content/uploads/2021/02/talents-tube-logo-color.svg"
alt="Talents Tube" class="logo-nav">
</div>
<ul class="nav navbar-nav navbar-right">
<li>
<div class="mj-w-button mj-w-btn bttn" data-toggle="modal" data-target="#exampleModal">Demander un diagnostic</div>
</li>
</ul>
</div>
</div>
</div>
</nav>
<!--nav end-->
<div class="container">
<div class="row">
<div class="col-md-12">
<!--welcome-message-->
<div class="welcome-message">
<h1>Recrutement informatique : <br>Je cherche un développeur web</h1>
<p>Vous vous demandez comment optimiser votre recrutement informatique ?</p>
<p>Vous cherchez un développeur web mais vos meilleurs candidats vous échappent ?</p><br>
<p>Démarquez vous grâce au recrutement vidéo, choississez Talents Tube.</p>
</div>
<!--welcome-message end-->
<div class="video-header">
<button class="bttn" data-toggle="modal" data-target="#exampleModal">Demander un diagnostic</button>
</div>
</div>
</div>
</div>
</header>
<!--Header end-->
<!--about 1-->
<section class="about section-spacing-little" style="margin-top:20px">
<div class="container">
<div class="row">
<div class="col-md-5 bloc-gauche-1"> <img src="/landing/img/recrutement-informatique.jpg"
alt="Recrutement informatique" data-no-retina> </div>
<div class="col-md-7 bloc-droit-1" style="padding: 2em 4em;">
<h2>Les difficultés de recrutement informatique freinent votre développement?</h2>
<p>Vous n'êtes pas les seuls à chercher des solutions originales pour <strong>attirer et recruter de nouveaux
développeurs</strong>, c'est un constat partagé : le secteur de l'informatique peine à recruter.</p>
<p>Même dans ce contexte sanitaire difficile, 15% des entreprises de l'ingéniérie informatique envisagent de
recruter des développeurs. Le nombre de projets de recrutement n'a jamais été aussi élevé.</p>
<p><strong>Mais comment recruter des développeurs web (php, java, react, angular) ?</strong></p>
<p>Pour cibler les jeunes talents, les "millennials", <strong>adoptez leurs codes pour mieux les toucher</strong>. La vidéo en
fait partie. Au delà de l'audience qu'elle générera, elle humanisera votre communication et renforcera votre
proximité entre votre cible et votre marque employeur.</p>
</div>
</div>
</div>
</section>
<!--about end-->
<!--about 2-->
<section class="about section-spacing-little">
<div class="container">
<div class="row">
<div class="col-md-7 bloc-droit-2" style="padding: 2em 4em;">
<h2>Publiez une offre d'emploi attractive pour réussir votre recherche de développeur web</h2>
<p>L'offre d'emploi vidéo est un projet fédérateur et participatif qui permet d'<strong>impliquer vos collaborateurs</strong>.
Ils sont <strong>fiers de montrer leur quotidien mais aussi le métier de développeur</strong> sous un autre angle. Cette dynamique permet
d'une part de souder vos équipes et d'autre part, montrer à l'extérieur l'ambiance qui y règne.</p>
<p><strong>L'offre d'emploi vidéo pour attirer et recruter des développeurs :</strong></p>
<ul class="list-puces">
<li>Parlez le même langage que les développeurs. Ils ont besoin de sentir qu'ils font partie d'une communauté</li>
<li>Montrez l'ambiance et les à-côtés (salle de pause, animation de communauté, soirée,...)</li>
<li>Ouvrez la porte aux personnes non diplômées. (73% d'entre elles ont commencé à coder avant l'âge de 20 ans
sans diplôme)</li>
<li>Pas besoin dune super vidéo pour donner du corps et du sens à votre futur candidat</li>
</ul><br>
<p><strong>Produire des vidéos na jamais été aussi simple</strong><br>
Passer à la vidéo est beaucoup plus abordable aujourd'hui.
Avec l'aide de la caméra de votre téléphone (iPhone ou autres smartphones), la capture vidéo est devenue une
formalité.
Dans un souci d'authenticité, il est d'ailleurs préférable de choisir ces modes d'enregistrement au lieu
des méthodes de prise de vue classiques et beaucoup plus coûteuses
</p>
</div>
<div class="col-md-5 bloc-gauche-2"> <img src="/landing/img/recherche-developpeur.jpg"
alt="Recherche développeur" data-no-retina> </div>
</div>
</div>
</section>
<!--about end-->
<!--about 3-->
<section class="about section-spacing-little">
<div class="container">
<div class="row">
<div class="col-md-5 bloc-gauche-1"> <img src="/landing/img/recrutement-developpeur.jpg"
alt="Recrutement developpeur" data-no-retina> </div>
<div class="col-md-7 bloc-droit-1" style="padding: 2em 4em;">
<h2>Recevez des candidatures de développeurs web</h2>
<p>Une vidéo, oui, mais comment communiquer avec ses candidats ? En gérant ses candidats en vidéo
!</p>
<p>Vous avez une vidéo marque employeur ou une vidéo d'offre d'emploi ?</p>
<p>Vous voulez que les développeurs puissent interagir avec vous. Pourquoi ne pas les laisser postuler en
vidéo ? <strong>Grâce à la candidature vidéo, découvrez qui se cache derrière le CV papier</strong>. Au déla des
compétences, rencontrez des personnalités ! Vous aurez <strong>déjà l'impression de connaitre votre candidat</strong> avant
son entretien. De son côté, le développeur aura enfin la possibilité d'exprimer qui il est au delà d'un simple CV papier. Les développeurs ont besoin d'être écoutés. Grâce à la candidature vidéo, ils sauront que <strong>vous leurs consacrerez au moins deux minutes d'attention.</strong></p>
<p>Talents Tube met à votre disposition un outil de diffusion de vos vidéos doffres demploi & marque
employeur pour <strong>attirer les meilleurs talents en vidéo</strong>. Cette plateforme rassemble lentreprise et les
talents qui se présentent en vidéo <strong>pour un recrutement réussi</strong>. Vous pouvez même leur répondre de manière
positive ou négative … en vidéo bien sûr. </p>
</div>
</div>
</div>
</section>
<!--about end-->
<!--sponsor-->
<section class="sponsor section-spacing text-center">
<div class="container">
<header>
<h2>Ils ont recruté en vidéo, pourquoi pas vous ?</h2>
<h3>Ces entreprises de l'informatique ont choisi Talents Tube pour recruter des développeurs autrement !</h3>
</header>
<div class="row">
<div class="col-md-12">
<figure>
<img
src="https://recruteur.talentstube.com//media/cache/profile_thumb/uploads/img/d1455e7fffbefd4128886edf86198e1d.png"
data-at2x="https://recruteur.talentstube.com//media/cache/profile_thumb/uploads/img/d1455e7fffbefd4128886edf86198e1d.png"
alt="MGDIS difficulté à recruter informatique " width="100" height="32">
</figure>
<figure>
<img
src="https://recruteur.talentstube.com//media/cache/profile_thumb/uploads/img/80ec2e6eef2f7d67be06874c0eedbc45.jpeg"
data-at2x="https://recruteur.talentstube.com//media/cache/profile_thumb/uploads/img/80ec2e6eef2f7d67be06874c0eedbc45.jpeg"
alt="Medaviz difficulté à recruter informatique" width="100" height="100">
</figure>
<figure>
<img
src="https://recruteur.talentstube.com//media/cache/profile_thumb/uploads/img/4babe80a352d085e8c766a20b7067d73.png"
data-at2x="https://recruteur.talentstube.com//media/cache/profile_thumb/uploads/img/4babe80a352d085e8c766a20b7067d73.png"
alt="A2COM difficulté à recruter informatique" width="100" height="100">
</figure>
</div>
</div>
</div>
</section>
<!--sponsor end-->
<!--venue-->
<section class="venue section-spacing" id="venue_informatique">
<div class="container">
<div class="row">
<div class="container text-center">
<div class="row">
<div class="col-md-12">
<!--goodbye-message-->
<div class="appel-action">
<h2>Organisons un rendez-vous diagnostic gratuit</h2>
<p>Bénéficiez de 15 minutes de diagnostic gratuit pour faire le point sur vos enjeux de recrutement, <br>identifier ce que Talents Tube peut résoudre et prendre connaissance de loffre la plus appropriée pour votre entreprise.</p>
<button class="bttn" data-toggle="modal" data-target="#exampleModal" style="margin-top:30px;">Demander mon diagnostic</button>
</div>
<!--goodbye-message end-->
</div>
</div>
</div>
</div>
</div>
</section>
</main>
{% endblock %}
{% block modalCallToAction %}
{{ parent() }}
{% endblock %}
{% block javascripts %}
{% endblock %}
@@ -1,15 +1,16 @@
{% extends "baseLanding.html.twig" %}
{% block title %}Valorisez votre métier en tension et recrutez des candidats grâce à la vidéo{% endblock %}
{% block title %}Valorisez votre métier en tension et recrutez des candidats en vidéo{% endblock %}
{% block meta %}
<meta name="description" content="Votre métier est en tension ? Vous souhaitez améliorer son attractivité ? Avec le recrutement vidéo, valorisez votre métier et recevez des candidatures vidéo.">
<meta property="og:locale" content="fr_FR">
<meta property="og:type" content="website">
<meta property="og:title" content="Valorisez votre métier en tension et recrutez des candidats grâce à la vidéo">
<meta property="og:title" content="Valorisez votre métier en tension et recrutez des candidats en vidéo">
<meta property="og:description" content="Votre métier est en tension ? Vous souhaitez améliorer son attractivité ? Avec le recrutement vidéo, valorisez votre métier et recevez des candidatures vidéo.">
<meta property="og:url" content="https://recruteur.talentstube.com/metier-en-tension">
<meta property="og:site_name" content="Talents Tube">
<meta property="og:image" content="https://recruteur.talentstube.com/landing/img/secteur-aide-domicile-peine-a-recruter.jpg">
<meta name="twitter:card" content="summary_large_image">
<link rel="canonical" href="https://recruteur.talentstube.com/metier-en-tension" />
{% endblock %}
{% block modalCallToAction %}
{{ parent() }}
@@ -64,8 +65,7 @@
</div>
<ul class="nav navbar-nav navbar-right">
<li>
<div class="mj-w-button mj-w-btn bttn" data-toggle="modal" data-target="#exampleModal">Demander un
rendez-vous</div>
<div class="mj-w-button mj-w-btn bttn" data-toggle="modal" data-target="#exampleModal">Demander un diagnostic</div>
</li>
</ul>
</div>
@@ -86,7 +86,7 @@
</div>
<!--welcome-message end-->
<div class=" video-header">
<button class="bttn" data-toggle="modal" data-target="#exampleModal">Demander un rendez-vous</button>
<button class="bttn" data-toggle="modal" data-target="#exampleModal">Demander un diagnostic</button>
</div>
</div>
@@ -221,11 +221,9 @@
<div class="col-md-12">
<!--goodbye-message-->
<div class="appel-action">
<h2>Demandez un RDV gratuitement</h2>
<p>Plus quune dernière étape avant de rendre votre métier en tension plus attractif. </p>
<p>Osez recruter autrement !</p>
<button class="bttn" data-toggle="modal" data-target="#exampleModal" style="margin-top:30px;">Demander
un rendez-vous</button>
<h2>Organisons un rendez-vous diagnostic gratuit</h2>
<p>Bénéficiez de 15 minutes de diagnostic gratuit pour faire le point sur vos enjeux de recrutement, <br>identifier ce que Talents Tube peut résoudre et prendre connaissance de loffre la plus appropriée pour votre entreprise.</p>
<button class="bttn" data-toggle="modal" data-target="#exampleModal" style="margin-top:30px;">Demander mon diagnostic</button>
</div>
<!--goodbye-message end-->
</div>
@@ -1,53 +1,81 @@
{% extends "baseLanding.html.twig" %}
{% block title %}Réalisez une offre demploi originale vous-même{% endblock %}
{% block meta %}
<meta name="description" content="Créez des vidéos doffres demploi originales avec Talents Tube. Réalisez vos vidéos rapidement avec un smartphone et recrutez">
<meta name="description"
content="Créez des vidéos doffres demploi originales avec Talents Tube. Réalisez vos vidéos rapidement avec un smartphone et recrutez">
<meta property="og:locale" content="fr_FR" />
<meta property="og:type" content="website" />
<meta property="og:title" content="Réalisez une offre demploi originale vous-même" />
<meta property="og:description" content="Créez des vidéos doffres demploi originales avec Talents Tube. Réalisez vos vidéos rapidement avec un smartphone et recrutez" />
<meta property="og:url" content="https://recruteur.talentstube.com/offre-emploi-originale" />
<meta property="og:site_name" content="Talents Tube" />
<meta property="og:image" content="https://recruteur.talentstube.com/landing/img/offre-emploi-originale-en-video.jpg" />
<meta name="twitter:card" content="summary_large_image" />
<meta property="og:type" content="website" />
<meta property="og:title" content="Réalisez une offre demploi originale vous-même" />
<meta property="og:description"
content="Créez des vidéos doffres demploi originales avec Talents Tube. Réalisez vos vidéos rapidement avec un smartphone et recrutez" />
<meta property="og:url" content="https://recruteur.talentstube.com/offre-emploi-originale" />
<meta property="og:site_name" content="Talents Tube : espace recruteur" />
<meta property="og:image" content="https://recruteur.talentstube.com/landing/img/offre-emploi-originale-en-video.jpg" />
<meta name="twitter:card" content="summary_large_image" />
<link rel="canonical" href="https://recruteur.talentstube.com/offre-emploi-originale" />
{% endblock %}
{% block modalCallToAction %}
{{ parent() }}
{% endblock %}
{% block main %}
<!-- Modal : Vidéo -->
<div class="modal fade bd-example-modal-lg" id="exampleModalCenter" tabindex="-1" role="dialog"
aria-labelledby="myLargeModalLabel" aria-hidden="true">
<div class="modal-dialog modal-lg" role="document">
<div class="modal-content">
<div class="modal-header">
<button type="button" class="close" data-dismiss="modal" aria-label="Close">
<span aria-hidden="true">&times;</span>
</button>
</div>
<div class="modal-body">
<div class="container-video" style="position:relative;width:100%;height:0;padding-bottom:56.25%;">
<iframe src="https://www.youtube.com/embed/gOXg9e29dyc"
style="position: absolute;top: 0;left: 0;width: 100%;height: 100%;" frameborder="0"
allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture"
allowfullscreen id="player"></iframe>
</div>
</div>
<div class="modal-footer">
<button type="button" class="btn btn-secondary" data-dismiss="modal" onclick="fermerVideo()">Fermer</button>
</div>
</div>
</div>
</div>
<!--Modal : Vidéo End -->
<main>
<!--Header : Menu et Vidéo en fond-->
<header class="hero-section">
<!--HTML5 Video-->
<video autoplay loop muted id="bgvid" poster="">
<source src="/landing/video/modele-offre-emploi-originale.mp4" type="video/mp4"
alt="Modèle offre d'emploi originale">
<!--Prévoir une image fixe pour la version mobile : main.css : 102-->
</video>
<!--Header : Menu et Vidéo en fond-->
<header class="hero-section">
<!--HTML5 Video-->
<video autoplay loop muted id="bgvid" poster="">
<source src="/landing/video/modele-offre-emploi-originale.mp4" type="video/mp4"
alt="Modèle offre d'emploi originale">
<!--Prévoir une image fixe pour la version mobile : main.css : 102-->
</video>
<!--HTML5 Video end-->
<div class="overlay"></div>
<div class="container">
<div class="row">
<div class="col-md-12">
<div class="logo-header" style="display:inline-block;">
<img src="/landing/img/talentstube-logo-blanc.svg" data-at2x="/landing/img/talentstube-logo-blanc@2x.svg"
alt="Talents Tube" class="logo-talentstube" style="width:150px">
</div>
</div>
<!--HTML5 Video end-->
<div class="overlay"></div>
<div class="container">
<div class="row">
<div class="col-md-12">
<div class="logo-header" style="display:inline-block;">
<img src="/landing/img/talentstube-logo-blanc.svg" data-at2x="/landing/img/talentstube-logo-blanc@2x.svg"
alt="Talents Tube" class="logo-talentstube" style="width:150px">
</div>
</div>
<!--nav-->
<nav class="navbar-default">
<!-- clas="navbar"-->
<div class="container">
<div class="logo-brand">
<img src="https://blog.talentstube.com/wp-content/uploads/2021/02/TalentsTube-logo-blanc.svg"
data-at2x="https://blog.talentstube.com/wp-content/uploads/2021/02/TalentsTube-logo-blanc.svg"
alt="Talents Tube, plateforme de recrutement en vidéo" class="logo-head">
</div>
<!--<div class="navbar-header">
</div>
</div>
<!--nav-->
<nav class="navbar-default">
<!-- clas="navbar"-->
<div class="container">
<div class="logo-brand">
<img src="https://blog.talentstube.com/wp-content/uploads/2021/02/TalentsTube-logo-blanc.svg"
data-at2x="https://blog.talentstube.com/wp-content/uploads/2021/02/TalentsTube-logo-blanc.svg"
alt="Talents Tube, plateforme de recrutement en vidéo" class="logo-head">
</div>
<!--<div class="navbar-header">
<button type="button" class="navbar-toggle collapsed" data-toggle="collapse" data-target="#bs-navbar-collapse-1">
<span class="sr-only">Toggle navigation</span>
<span class="icon-bar"></span>
@@ -55,137 +83,138 @@
<span class="icon-bar"></span>
</button>
</div>-->
<div class="collapse navbar-collapse" id="bs-navbar-collapse-1">
<div class="row">
<div class="logo-header" style="display:inline-block;">
<img src="https://blog.talentstube.com/wp-content/uploads/2021/02/talents-tube-logo-color.svg'"
data-at2x="https://blog.talentstube.com/wp-content/uploads/2021/02/talents-tube-logo-color.svg"
alt="Talents Tube" class="logo-nav">
</div>
<ul class="nav navbar-nav navbar-right">
<li>
<div class="mj-w-button mj-w-btn bttn" data-toggle="modal" data-target="#exampleModal">Demander un
rendez-vous</div>
</li>
</ul>
</div>
</div>
</div>
</nav>
<!--nav end-->
<div class="container">
<div class="collapse navbar-collapse" id="bs-navbar-collapse-1">
<div class="row">
<div class="col-md-12">
<!--welcome-message-->
<div class="welcome-message">
<h1>Créez des vidéos doffres demploi avec votre smartphone</h1>
<p>Vous voulez recruter rapidement, efficacement, vous démarquer de la concurrence tout en restant
vous-même ? Votre recrutement, cest dans la poche avec Talents Tube !</p>
</div>
<!--welcome-message end-->
<div class="action-btn video-header">
<button class="bttn" data-toggle="modal" data-target="#exampleModal">Demander un rendez-vous</button>
<button class="bttn" data-toggle="modal" data-target=".bd-example-modal-lg">Voir la démo</button>
</div>
<div class="logo-header" style="display:inline-block;">
<img src="https://blog.talentstube.com/wp-content/uploads/2021/02/talents-tube-logo-color.svg'"
data-at2x="https://blog.talentstube.com/wp-content/uploads/2021/02/talents-tube-logo-color.svg"
alt="Talents Tube" class="logo-nav">
</div>
<ul class="nav navbar-nav navbar-right">
<li>
<div class="mj-w-button mj-w-btn bttn" data-toggle="modal" data-target="#exampleModal">Demander un
rendez-vous</div>
</li>
</ul>
</div>
</div>
</div>
</nav>
<!--nav end-->
<div class="container">
<div class="row">
<div class="col-md-12">
<!--welcome-message-->
<div class="welcome-message">
<h1>Créez des vidéos doffres demploi avec votre smartphone</h1>
<p>Vous voulez recruter rapidement, efficacement, vous démarquer de la concurrence tout en restant
vous-même ? Votre recrutement, cest dans la poche avec Talents Tube !</p>
</div>
<!--welcome-message end-->
<div class="action-btn video-header">
<button class="bttn" data-toggle="modal" data-target="#exampleModal">Demander un rendez-vous</button>
<button class="bttn" data-toggle="modal" data-target=".bd-example-modal-lg">Voir la démo</button>
</div>
</div>
</div>
</div>
</header>
<!--Header end-->
<!--about 1-->
<section class="about section-spacing-little" style="margin-top:20px">
<div class="container">
<div class="row">
<div class="col-md-5 bloc-gauche-1"> <img src="/landing/img/realiser-offre-emploi-originale.jpg"
alt="Réaliser une offre d'emploi originale avec un smartphone" data-no-retina> </div>
<div class="col-md-7 bloc-droit-1" style="padding: 2em 4em;">
<h2>Votre offre demploi originale en vidéo</h2>
<p>Parce que <span class="texte-gras">votre recrutement mérite mieux que du texte</span>, lancez-vous dans
<span class="texte-gras">la vidéo de recrutement !</span></p>
<p>Vous êtes en quête de rapidité et defficacité dans votre processus de recrutement? Vous ne voulez pas
ressembler à vos concurrents?</p>
<p>Démarquez-vous avec des <span class="texte-gras">annonces de recrutement originales et
attractives.</span>En filmant vos collaborateurs, vos gestes métiers, vous offrez une <span
class="texte-gras">meilleure expérience candidat</span>, vous engagez et valorisez vos collaborateurs et
vous <span class="texte-gras">recrutez plus efficacement.</span></p>
</div>
</div>
</div>
</section>
<!--about end-->
<!--about 2-->
<section class="about section-spacing-little">
<div class="container">
<div class="row">
<div class="col-md-7 bloc-droit-2" style="padding: 2em 4em;">
<h2>Votre vidéo de recrutement originale avec un smartphone</h2>
<p>Vous vous dites que cest une super idée mais <span class="texte-gras">faire une vidéo cest trop
compliqué, trop cher et pas pour vous !</span></p>
<p>Sachez quaujourdhui, vous pouvez <span class="texte-gras">créer des vidéos facilement !</span></p>
<p>Vous possédez <span class="texte-gras">un smartphone avec une caméra</span> ultra performante qui vous
permet de créer du contenu vidéo tout le temps et partout, avec une qualité pro. Et tout ceci ne nécessite
aucun investissement supplémentaire.</p>
<p><span class="texte-gras">Le recrutement vidéo</span> est dans votre poche !</p>
</div>
<div class="col-md-5 bloc-gauche-2"> <img src="/landing/img/recruter-rapidement-offre-emploi-originale.jpg"
alt="Recruter rapidement avec une offre d'emploi vidéo originale" data-no-retina> </div>
</div>
</div>
</section>
<!--about end-->
<!--about 3-->
<section class="about section-spacing-little">
<div class="container">
<div class="row">
<div class="col-md-5 bloc-gauche-1"> <img src="/landing/img/etape-realisation-offre-emploi-originale.jpg"
alt="3 étapes pour réaliser une offre d'emploi originale" data-no-retina> </div>
<div class="col-md-7 bloc-droit-1" style="padding: 2em 4em;">
<h2>Un recrutement vidéo rapide en quelques étapes</h2>
<p>Avec Talents Tube, vous allez recruter de nouveaux profils en seulement 3 étapes :</p>
<ul class="list-puces">
<li>Rédigez votre scénario pour préparer le tournage de votre vidéo</li>
<li>Réalisez votre offre demploi vidéo avec un smartphone</li>
<li>Envoyez-nous vos séquences vidéo</li>
<li>Pour vous, nous réalisons le montage de votre vidéo</li>
<li>Et nous vous accompagnons dans votre recherche du candidat idéal</li>
</ul>
</div>
</div>
</div>
</section>
<!--about end-->
<!--sponsor-->
<section class="sponsor section-spacing text-center">
<div class="container">
<header>
<h2>Ils ont recruté en vidéo</h2>
<h3>Ces entreprises ont choisi Talents Tube pour recruter avec des offres d'emploi originales !</h3>
</header>
<!--Header end-->
<!--about 1-->
<section class="about section-spacing-little" style="margin-top:20px">
<div class="container">
<div class="row">
<div class="col-md-5 bloc-gauche-1"> <img src="/landing/img/realiser-offre-emploi-originale.jpg"
alt="Réaliser une offre d'emploi originale avec un smartphone" data-no-retina> </div>
<div class="col-md-7 bloc-droit-1" style="padding: 2em 4em;">
<h2>Votre offre demploi originale en vidéo</h2>
<p>Parce que <span class="texte-gras">votre recrutement mérite mieux que du texte</span>, lancez-vous dans
<span class="texte-gras">la vidéo de recrutement !</span></p>
<p>Vous êtes en quête de rapidité et defficacité dans votre processus de recrutement? Vous ne voulez pas
ressembler à vos concurrents?</p>
<p>Démarquez-vous avec des <span class="texte-gras">annonces de recrutement originales et
attractives.</span>En filmant vos collaborateurs, vos gestes métiers, vous offrez une <span
class="texte-gras">meilleure expérience candidat</span>, vous engagez et valorisez vos collaborateurs et
vous <span class="texte-gras">recrutez plus efficacement.</span></p>
</div>
</div>
<div class="row">
<div class="col-md-12">
<figure><img
src="https://recruteur.talentstube.com/media/cache/profile_thumb/uploads/img/94c787c21c93a6b905eca6b739eedbf2.png"
data-at2x="https://recruteur.talentstube.com/media/cache/profile_thumb/uploads/img/94c787c21c93a6b905eca6b739eedbf2.png"
alt="actual-offre-emploi-orignale"></figure>
<figure><img
src="https://recruteur.talentstube.com/media/cache/profile_thumb/uploads/img/4f3dba583fea12c01a9c708772b1e0ac.jpeg"
data-at2x="https://recruteur.talentstube.com/media/cache/profile_thumb/uploads/img/4f3dba583fea12c01a9c708772b1e0ac.jpeg"
alt="aer-recyclage-offre-emploi-orignale"></figure>
<figure><img
src="https://recruteur.talentstube.com/media/cache/profile_thumb/uploads/img/154d998227e24b1e44e6e520ab2e09a2.png"
data-at2x="https://recruteur.talentstube.com/media/cache/profile_thumb/uploads/img/154d998227e24b1e44e6e520ab2e09a2.png"
alt="cdg-offre-emploi-orignale"></figure>
<figure><img
src="https://recruteur.talentstube.com/media/cache/profile_thumb/uploads/img/c076323088783c6aa0093563dcdd1f16.jpeg"
data-at2x="https://recruteur.talentstube.com/media/cache/profile_thumb/uploads/img/c076323088783c6aa0093563dcdd1f16.jpeg"
alt="temporis-offre-emploi-orignale"></figure>
</div>
</section>
<!--about end-->
<!--about 2-->
<section class="about section-spacing-little">
<div class="container">
<div class="row">
<div class="col-md-7 bloc-droit-2" style="padding: 2em 4em;">
<h2>Votre vidéo de recrutement originale avec un smartphone</h2>
<p>Vous vous dites que cest une super idée mais <span class="texte-gras">faire une vidéo cest trop
compliqué, trop cher et pas pour vous !</span></p>
<p>Sachez quaujourdhui, vous pouvez <span class="texte-gras">créer des vidéos facilement !</span></p>
<p>Vous possédez <span class="texte-gras">un smartphone avec une caméra</span> ultra performante qui vous
permet de créer du contenu vidéo tout le temps et partout, avec une qualité pro. Et tout ceci ne nécessite
aucun investissement supplémentaire.</p>
<p><span class="texte-gras">Le recrutement vidéo</span> est dans votre poche !</p>
</div>
<div class="col-md-5 bloc-gauche-2"> <img src="/landing/img/recruter-rapidement-offre-emploi-originale.jpg"
alt="Recruter rapidement avec une offre d'emploi vidéo originale" data-no-retina> </div>
</div>
</div>
</section>
<!--about end-->
<!--about 3-->
<section class="about section-spacing-little">
<div class="container">
<div class="row">
<div class="col-md-5 bloc-gauche-1"> <img src="/landing/img/etape-realisation-offre-emploi-originale.jpg"
alt="3 étapes pour réaliser une offre d'emploi originale" data-no-retina> </div>
<div class="col-md-7 bloc-droit-1" style="padding: 2em 4em;">
<h2>Un recrutement vidéo rapide en quelques étapes</h2>
<p>Avec Talents Tube, vous allez recruter de nouveaux profils en seulement 3 étapes :</p>
<ul class="list-puces">
<li>Rédigez votre scénario pour préparer le tournage de votre vidéo</li>
<li>Réalisez votre offre demploi vidéo avec un smartphone</li>
<li>Envoyez-nous vos séquences vidéo</li>
<li>Pour vous, nous réalisons le montage de votre vidéo</li>
<li>Et nous vous accompagnons dans votre recherche du candidat idéal</li>
</ul>
</div>
</div>
</div>
</section>
<!--about end-->
<!--sponsor-->
<section class="sponsor section-spacing text-center">
<div class="container">
<header>
<h2>Ils ont recruté en vidéo</h2>
<h3>Ces entreprises ont choisi Talents Tube pour recruter avec des offres d'emploi originales !</h3>
</header>
<div class="row">
<div class="col-md-12">
<figure><img
src="https://recruteur.talentstube.com/media/cache/profile_thumb/uploads/img/94c787c21c93a6b905eca6b739eedbf2.png"
data-at2x="https://recruteur.talentstube.com/media/cache/profile_thumb/uploads/img/94c787c21c93a6b905eca6b739eedbf2.png"
alt="actual-offre-emploi-orignale"></figure>
<figure><img
src="https://recruteur.talentstube.com/media/cache/profile_thumb/uploads/img/4f3dba583fea12c01a9c708772b1e0ac.jpeg"
data-at2x="https://recruteur.talentstube.com/media/cache/profile_thumb/uploads/img/4f3dba583fea12c01a9c708772b1e0ac.jpeg"
alt="aer-recyclage-offre-emploi-orignale"></figure>
<figure><img
src="https://recruteur.talentstube.com/media/cache/profile_thumb/uploads/img/154d998227e24b1e44e6e520ab2e09a2.png"
data-at2x="https://recruteur.talentstube.com/media/cache/profile_thumb/uploads/img/154d998227e24b1e44e6e520ab2e09a2.png"
alt="cdg-offre-emploi-orignale"></figure>
<figure><img
src="https://recruteur.talentstube.com/media/cache/profile_thumb/uploads/img/c076323088783c6aa0093563dcdd1f16.jpeg"
data-at2x="https://recruteur.talentstube.com/media/cache/profile_thumb/uploads/img/c076323088783c6aa0093563dcdd1f16.jpeg"
alt="temporis-offre-emploi-orignale"></figure>
</div>
</div>
<!--<div class="row">
</div>
<!--<div class="row">
<div class="col-md-12">
<figure><img src="https://recruteur.talentstube.com//media/cache/profile_thumb/uploads/img/c99c8a1e7cd4b9bf249053774d72e0c9.jpeg" data-at2x="https://recruteur.talentstube.com//media/cache/profile_thumb/uploads/img/c99c8a1e7cd4b9bf249053774d72e0c9.jpeg" alt="sponsor"></figure>
<figure><img src="https://recruteur.talentstube.com//media/cache/profile_thumb/uploads/img/0dc350ae6a639b3671b7a262e51ad581.jpeg" data-at2x="https://recruteur.talentstube.com//media/cache/profile_thumb/uploads/img/0dc350ae6a639b3671b7a262e51ad581.jpeg" alt="sponsor"></figure>
@@ -193,35 +222,39 @@
<figure><img src="https://recruteur.talentstube.com//media/cache/profile_thumb/uploads/img/4f3dba583fea12c01a9c708772b1e0ac.jpeg" data-at2x="https://recruteur.talentstube.com//media/cache/profile_thumb/uploads/img/4f3dba583fea12c01a9c708772b1e0ac.jpeg" alt="sponsor"></figure>
</div>
</div>-->
</div>
</section>
<!--sponsor end-->
<!--venue-->
<section class="venue section-spacing" id="venue">
<div class="container">
</div>
</section>
<!--sponsor end-->
<!--venue-->
<section class="venue section-spacing" id="venue">
<div class="container">
<div class="row">
<div class="container text-center">
<div class="row">
<div class="container text-center">
<div class="row">
<div class="col-md-12">
<!--goodbye-message-->
<div class="appel-action">
<h2>Créez votre première offre demploi originale avec un smartphone</h2>
<p>Il ne vous reste plus qu'un clic pour recruter rapidement, efficacement et vous démarquer de la
concurrence...</p>
<p>Lancez-vous et demandez un rendez-vous dès maintenant !</p>
<button class="bttn" data-toggle="modal" data-target="#exampleModal" style="margin-top:30px;">Demander
un rendez-vous</button>
</div>
<!--goodbye-message end-->
</div>
<div class="col-md-12">
<!--goodbye-message-->
<div class="appel-action">
<h2>Créez votre première offre demploi originale avec un smartphone</h2>
<p>Il ne vous reste plus qu'un clic pour recruter rapidement, efficacement et vous démarquer de la
concurrence...</p>
<p>Lancez-vous et demandez un rendez-vous dès maintenant !</p>
<br>
<p>Bénéficiez de 15 minutes de diagnostic gratuit pour faire le point sur vos enjeux de recrutement,
<br>identifier ce que Talents Tube peut résoudre et prendre connaissance de loffre la plus appropriée
pour votre entreprise.</p>
<button class="bttn" data-toggle="modal" data-target="#exampleModal" style="margin-top:30px;">Demander
un rendez-vous</button>
</div>
<!--goodbye-message end-->
</div>
</div>
</div>
</section>
</main>
</div>
</div>
</section>
</main>
{% endblock %}
{% block javascripts %}
{% endblock %}
{% endblock %}
+1 -1
View File
@@ -80,7 +80,7 @@ twig:
globals:
push_public_key: "%push_params.public_key%"
fairlane_cookie_consent: '@fairlane_cookie_consent.twig'
version: '2.7.5'
version: '2.9.1'
@@ -59,6 +59,7 @@ security:
- { path: ^/register, roles: IS_AUTHENTICATED_ANONYMOUSLY }
- { path: ^/resetting, roles: IS_AUTHENTICATED_ANONYMOUSLY }
- { path: ^/admin/, roles: ROLE_ADMIN }
- { path: ^/admin/template, roles: IS_AUTHENTICATED_ANONYMOUSLY }
- { path: ^/admin/moderation/, role: [ROLE_MODERATOR,ROLE_SUPER_ADMIN, ROLE_WEBMASTER] }
- { path: ^/admin/config/, role: [ROLE_WEBMASTER,ROLE_SUPER_ADMIN] }
- { path: ^/talent/me/, roles: ROLE_TALENT }
@@ -71,6 +72,7 @@ security:
- { path: ^/api/reset_password, roles: IS_AUTHENTICATED_ANONYMOUSLY, methods: [POST]}
- { path: ^/api/confirmAccount, roles: IS_AUTHENTICATED_ANONYMOUSLY, methods: [POST]}
- { path: ^/api/answers, roles: IS_AUTHENTICATED_FULLY, methods: [GET]}
- { path: ^/api/answers/updateStatus, roles: IS_AUTHENTICATED_FULLY, methods: [GET]}
- { path: ^/api/answer/[0-9]+/messages, roles: IS_AUTHENTICATED_FULLY, methods: [GET]}
- { path: ^/api, roles: IS_AUTHENTICATED_FULLY, methods: [POST, PUT, DELETE, PATCH] }
- { path: ^/api, roles: IS_AUTHENTICATED_ANONYMOUSLY, methods: [GET]}
@@ -85,4 +87,4 @@ security:
ROLE_ADMIN: ROLE_USER
ROLE_TALENT: ROLE_USER
ROLE_COMPANY: ROLE_USER
ROLE_TERRITORY: ROLE_USER
ROLE_TERRITORY: ROLE_USER
@@ -19,7 +19,12 @@ use Symfony\Bundle\FrameworkBundle\Controller\Controller;
use Symfony\Component\HttpFoundation\Request;
use Symfony\Component\HttpFoundation\Session\Session;
use Symfony\Component\HttpFoundation\JsonResponse;
//MAILJET
use AppBundle\Entity\Mailjet;
// use AppBundle\Entity\Response;
use AppBundle\Entity\Resources;
use AppBundle\Entity\Config;
use AppBundle\Entity\Client;
class AdController extends Controller
{
@@ -305,6 +310,29 @@ class AdController extends Controller
$adManager = $this->get('app.ad_manager');
$adManager->updateAd($ad);
$this->addFlash('notice', 'Annonce enregistrée');
$mj = new Client($this->getParameter('mailjet_public'), $this->getParameter('mailjet_private'));
// $link = $this->generateUrl('company_answer_show', array('id' => $answer->getId()), UrlGeneratorInterface::ABSOLUTE_URL);
$body = [
'FromEmail' => "noreply@talentstube.io",
'FromName' => "Talents Tube",
'Subject' => "Creation/Modification Offre d'emploi ".$ad->getCompany()->getBrandName(),
'MJ-TemplateID' =>2612525 ,
'MJ-TemplateLanguage' => true,
'Recipients' => [
[
'Email' => 'dev@talentstube.com',
'Vars' => [
'entreprise' => $ad->getCompany()->getBrandName(),
'offre' => $ad->getTitle(),
]
]
]
];
$response = $mj->post(Resources::$Email, ['body' => $body]);
$response->success() && var_dump($response->getData());
return $this->redirectToRoute('company_ad');
}
return $this->render('company/ad_edit.html.twig', [
@@ -0,0 +1,378 @@
<?php
namespace AppBundle\Controller\Admin;
use Sensio\Bundle\FrameworkExtraBundle\Configuration\Route;
use Symfony\Bundle\FrameworkBundle\Controller\Controller;
use Symfony\Component\HttpFoundation\Request;
use AppBundle\Entity\Message;
use Symfony\Component\HttpFoundation\RedirectResponse;
//MAILJET
use AppBundle\Entity\Mailjet;
// use AppBundle\Entity\Response;
use AppBundle\Entity\Resources;
use AppBundle\Entity\Config;
use AppBundle\Entity\Client;
use DateTime;
use DateInterval;
class BatchController extends Controller
{
/**
* @Route("/admin/config/batch/mailauto", name="admin_batch_mailauto")
*/
public function mailAutoAction()
{
//recuperer les messages qui ont un comment
$em = $this->getDoctrine()->getManager();
// requete pour les relance J+3
$usersJ3 = $em->getRepository('AppBundle:User')->findUsersRelance("j3");
// requete pour les relance J+7
$usersJ7 = $em->getRepository('AppBundle:User')->findUsersRelance("j7");
$listeUsersRelanceJ3 = array();
$listeUsersRelanceJ7 = array();
//relance J+7 avec stockage des talents à qui on a envoyé un mail
$listeUsersRelanceJ3 = $this->relanceTalents($usersJ3, "J3");
//relance J+7 avec stockage des talents à qui on a envoyé un mail
$listeUsersRelanceJ7 = $this->relanceTalents($usersJ7, "J7");
return $this->render('admin/batch_mailauto.html.twig', [
"listeUsersRelanceJ3" => $listeUsersRelanceJ3,
"listeUsersRelanceJ7" => $listeUsersRelanceJ7,
]);
}
private function relanceTalents($users, $type){
$listeUsersRelance = array();
$em = $this->getDoctrine()->getManager();
foreach ($users as $u) {
$arrayAdId = $pieces = explode(":", $u->getCompany()->getDescription());
$adId = null;
if(count($arrayAdId)>1){
$adId= intval($arrayAdId[1]);
}
//dump($adId);
//Envoi d'un mail de premiere relance
$mj = new Client($this->getParameter('mailjet_public'), $this->getParameter('mailjet_private'));
$contactMail = $u->getEmail();
// if ($this->container->get( 'kernel' )->getEnvironment() == "dev") {
// $contactMail = "l.laniau@talentstube.com";
// }
$annonceTitle =null;
if($adId){
// recuperer le title de l'annonce
$ad = $em->getRepository('AppBundle:Ad')->find($adId);
$annonceTitle= $ad->getAlias();
if($type=="J3"){
$body = [
'FromEmail' => "noreply@talentstube.io",
'FromName' => "Talents Tube",
'Subject' => "Lancez-vous, votre futur emploi vous attend" ,
'MJ-TemplateID' =>2725372 ,
'MJ-TemplateLanguage' => true,
'Recipients' => [
[
'Email' => $contactMail,
'Vars' => [
'prenom' => $u->getFirstname(),
'intituleOffre' => $ad->getTitle(),
'lienOffre' =>$ad->getAlias(),
'entreprise' => $ad->getCompany()->getBrandName()
]
]
]
];
}else{
$body = [
'FromEmail' => "noreply@talentstube.io",
'FromName' => "Talents Tube",
'Subject' => "Besoin d'aide pour réaliser votre candidature vidéo ?" ,
'MJ-TemplateID' =>2725437 ,
'MJ-TemplateLanguage' => true,
'Recipients' => [
[
'Email' => $contactMail,
'Vars' => [
'prenom' => $u->getFirstname(),
'intituleOffre' => $ad->getTitle(),
'lienOffre' =>$ad->getAlias(),
'entreprise' => $ad->getCompany()->getBrandName()
]
]
]
];
}
}else{
if($type=="J3"){
$body = [
'FromEmail' => "noreply@talentstube.io",
'FromName' => "Talents Tube",
'Subject' => "Vous ne savez pas comment postuler ?" ,
'MJ-TemplateID' =>2716934 ,
'MJ-TemplateLanguage' => true,
'Recipients' => [
[
'Email' => $contactMail,
'Vars' => [
'prenom' => $u->getFirstname(),
]
]
]
];
}else{
$body = [
'FromEmail' => "noreply@talentstube.io",
'FromName' => "Talents Tube",
'Subject' => "Besoin d'aide pour réaliser une candidature vidéo ?" ,
'MJ-TemplateID' =>2725599 ,
'MJ-TemplateLanguage' => true,
'Recipients' => [
[
'Email' => $contactMail,
'Vars' => [
'prenom' => $u->getFirstname(),
]
]
]
];
}
}
//TODO mettre un flag pour le mail de relance J+3. Mettre la date du jour
if($type=="J3"){
$u->setDatePremiereRelance(new Datetime());
}else{
$u->setDateDeuxiemeRelance(new Datetime());
}
$em->persist($u);
$em->flush();
$response = $mj->post(Resources::$Email, ['body' => $body]);
$response->success() && var_dump($response->getData());
$listeUsersRelance[]=array(
'id' => $u->getId(),
'nom' => $u->getLastname(),
'prenom' => $u->getFirstname(),
'email' => $u->getEmail(),
'annonce' => $annonceTitle
);
}
return $listeUsersRelance;
}
/**
* @Route("/admin/config/batch/message", name="admin_batch_message")
*/
public function adminBatchMessageAction()
{
//recuperer les messages qui ont un comment
return $this->render('admin/batch_message.html.twig', [
]);
}
/**
* @Route("/admin/config/batch/message/comment", name="admin_batch_message_comment")
*/
public function adminBatchMessageCommentAction()
{
//recuperer les answers qui ont un comment
$em = $this->getDoctrine()->getManager();
$answers = $em->getRepository('AppBundle:Answer')->findAllComment();
//parcours des answers avec comment
foreach ($answers as $a) {
if($a->getAd()){
$message = new Message('Chat', $a->getComment(), $a->getUser(), $a->getAd()->getCreator(), 'Message du talent', $a);
$message->setUTime($a->getUTime());
$message->setCTime($a->getCTime());
$em->persist($message);
$em->flush();
}
}
return $this->render('admin/dashboard.html.twig', array());
}
/**
* @Route("/admin/config/batch/geoloc", name="admin_batch_geoloc")
*/
public function adminBatchGeolocAction()
{
//recuperer les messages qui ont un comment
$em = $this->getDoctrine()->getManager();
$users = $em->getRepository('AppBundle:User')->findUserAvecAdresseCount();
$nbUsers = $users[0][1];
return $this->render('admin/batch_geoloc.html.twig', [
'nbUsers' => $nbUsers,
]);
}
/**
* @Route("/admin/config/batch/geoloc/trait", name="admin_batch_geoloc_trait")
*/
public function adminBatchGeolocTraitAction()
{
//recuperer les talents qui ont une adresse old mais qui n'ont pas de geoloc
$em = $this->getDoctrine()->getManager();
$users = $em->getRepository('AppBundle:User')->findUserAvecAdresse();
//dump($users);
//parcours des users
foreach ($users as $u) {
$addr= $u->getCompany()->getAddresses();
//dump($addr);
$address1="";
$address2="";
$zipCode="";
$city="";
$country="";
$address="";
if($addr && $addr['billing']){
$addr1 = $addr['billing'];
$address = $addr1['address1'];
if($addr1['address2']){
$address .= ", ".$addr1['address2'];
}
if($addr1['postcode']){
$address .= ", ". $addr1['postcode'];;
}
if($addr1['city']){
$address .= ", ". $addr1['city'];
}
// $country = $addr1['country'];
}
//pour chaque user, il faut charger api google maps
//valeurs vide par défaut
$data = array('address' => '', 'lat' => '', 'lng' => '', 'city' => '', 'department' => '', 'region' => '', 'country' => '', 'postal_code' => '');
//on formate l'adresse
//$address="42, rue de beaugency, saint sébastien sur loire";
$address_format = str_replace(" ", "+", $address);
//on fait l'appel à l'API google map pour géocoder cette adresse
$json = file_get_contents("https://maps.google.com/maps/api/geocode/json?key=AIzaSyDYV8IJGtIoWLfXJQQvIuDQ88n2aEuRgpg&address=$address_format&sensor=false&region=fr");
$json = json_decode($json);
//on enregistre les résultats recherchés
if ($json->status == 'OK' && count($json->results) > 0) {
$res = $json->results[0];
//adresse complète et latitude/longitude
$data['address'] = $res->formatted_address;
$data['lat'] = $res->geometry->location->lat;
$data['lng'] = $res->geometry->location->lng;
$street_number="";
$postal_code="";
$route="";
$locality="";
$administrative_area_level_2="";
$administrative_area_level_1="";
$country="";
foreach ($res->address_components as $component) {
//street_number
if ($component->types[0] == 'street_number') {
$street_number = $component->long_name;
}
//route
if ($component->types[0] == 'route') {
$route = $component->long_name;
}
//ville
if ($component->types[0] == 'locality') {
$locality = $component->long_name;
}
//départment
if ($component->types[0] == 'administrative_area_level_2') {
$administrative_area_level_2 = $component->long_name;
}
//région
if ($component->types[0] == 'administrative_area_level_1') {
$administrative_area_level_1 = $component->long_name;
}
//pays
if ($component->types[0] == 'country') {
$country = $component->long_name;
}
//code postal
if ($component->types[0] == 'postal_code') {
$postal_code = $component->long_name;
}
// \"$formatted_address
}
$array[] = Array (
"street_number" => $street_number,
"route" => $route,
"administrative_area_level_2" => $administrative_area_level_2,
"administrative_area_level_1" => $administrative_area_level_1,
"country" => $country,
"locality" => $locality,
"postal_code" => $postal_code,
"formatted_address" => $data['address'],
"lat" => stripslashes($data['lat']),
"lng" => stripslashes($data['lng'])
);
$u->setGeoloc($array);
$em->persist($u);
$em->flush();
}
}
return $this->render('admin/dashboard.html.twig', array());
}
/**
* @Route("/admin/config/batch/candidature", name="admin_batch_candidatures")
*/
public function adminBatchCandidaturesAction()
{
return $this->render('admin/batch_candidatures.html.twig', []);
}
/**
* @Route("/admin/config/batch/candidature/init", name="admin_batch_candidature_init")
*/
public function adminBatchcandidatureInitAction()
{
//recuperer les messages qui sont liés à des answers qui on le statusReponse a null (pas d'intervention dans le dashboard)
$em = $this->getDoctrine()->getManager();
$messages = $em->getRepository('AppBundle:Message')->getMessageAnswers();
//parcours des messages
foreach ($messages as $m) {
$answer = $m->getAnswer();
if(!$answer->getStatusReponse() || $answer->getStatusReponse()=="A_TRAITER"){
$answer->setStatusReponse("CONTACTE");
$em->persist($answer);
$em->flush();
}
}
return $this->render('admin/dashboard.html.twig', array());
}
}
@@ -4,7 +4,15 @@ namespace AppBundle\Controller\Admin;
use Sensio\Bundle\FrameworkExtraBundle\Configuration\Route;
use Symfony\Bundle\FrameworkBundle\Controller\Controller;
//MAILJET
use AppBundle\Entity\Mailjet;
// use AppBundle\Entity\Response;
use AppBundle\Entity\Resources;
use AppBundle\Entity\Config;
use AppBundle\Entity\Client;
use DateTime;
use DateInterval;
class DefaultController extends Controller
{
@@ -13,7 +21,184 @@ class DefaultController extends Controller
*/
public function adminAction()
{
return $this->render('admin/dashboard.html.twig', array());
$em = $this->getDoctrine()->getManager();
// requete pour les relance J+3
// $usersJ3 = $em->getRepository('AppBundle:User')->findUsersRelance("j3");
// // requete pour les relance J+7
// $usersJ7 = $em->getRepository('AppBundle:User')->findUsersRelance("j7");
// $listeUsersRelanceJ3 = array();
// $listeUsersRelanceJ7 = array();
// //relance J+7 avec stockage des talents à qui on a envoyé un mail
// $listeUsersRelanceJ3 = $this->relanceTalents($usersJ3, "J3");
// //relance J+7 avec stockage des talents à qui on a envoyé un mail
// $listeUsersRelanceJ7 = $this->relanceTalents($usersJ7, "J7");
//Stats sur les annonces publiée et closes
$adsClose = $em->getRepository('AppBundle:Ad')->findByStatus("CLOSED", array('id' => 'DESC'));
$adsPublish = $em->getRepository('AppBundle:Ad')->findByStatus("PUBLISHED", array('id' => 'DESC'));
//$ads = $em->getRepository('AppBundle:Ad')->findUsersRelance("j7");
$ads=array();
$date = new DateTime();
$date->sub(new DateInterval('P30D'));
foreach ($adsPublish as $ad){
$nbAnswers=0;
$nbAnswersRecente=0;
foreach ($ad->getAnswers() as $a){
if($a->getStatus()!="DRAFT"){
$nbAnswers++;
if($a->getSendtime() > $date){
$nbAnswersRecente++;
}
}
}
$ads[] = array("id"=>$ad->getId(), "title"=>$ad->getTitle(), "entreprise"=>$ad->getCompany()->getBrandname(), "nbAnswers"=>$nbAnswers,"nbAnswersRecentes"=>$nbAnswersRecente, "statut"=> "Publié");
}
foreach ($adsClose as $ad){
$nbAnswers=0;
$nbAnswersRecente=0;
foreach ($ad->getAnswers() as $a){
if($a->getStatus()!="DRAFT"){
$nbAnswers++;
if($a->getSendtime() > $date){
$nbAnswersRecente++;
}
}
}
$ads[] = array("id"=>$ad->getId(), "title"=>$ad->getTitle(), "entreprise"=>$ad->getCompany()->getBrandname(), "nbAnswers"=>$nbAnswers,"nbAnswersRecentes"=>$nbAnswersRecente, "statut"=> "Close");
}
return $this->render('admin/dashboard.html.twig', array(
// "listeUsersRelanceJ3" => $listeUsersRelanceJ3,
// "listeUsersRelanceJ7" => $listeUsersRelanceJ7,
"ads" => $ads
));
}
private function relanceTalents($users, $type){
$listeUsersRelance = array();
$em = $this->getDoctrine()->getManager();
foreach ($users as $u) {
$arrayAdId = $pieces = explode(":", $u->getCompany()->getDescription());
$adId = null;
if(count($arrayAdId)>1){
$adId= intval($arrayAdId[1]);
}
//dump($adId);
//Envoi d'un mail de premiere relance
$mj = new Client($this->getParameter('mailjet_public'), $this->getParameter('mailjet_private'));
$contactMail = $u->getEmail();
// if ($this->container->get( 'kernel' )->getEnvironment() == "dev") {
// $contactMail = "l.laniau@talentstube.com";
// }
$annonceTitle =null;
if($adId){
// recuperer le title de l'annonce
$ad = $em->getRepository('AppBundle:Ad')->find($adId);
$annonceTitle= $ad->getAlias();
if($type=="J3"){
$body = [
'FromEmail' => "noreply@talentstube.io",
'FromName' => "Talents Tube",
'Subject' => "Lancez-vous, votre futur emploi vous attend" ,
'MJ-TemplateID' =>2725372 ,
'MJ-TemplateLanguage' => true,
'Recipients' => [
[
'Email' => $contactMail,
'Vars' => [
'prenom' => $u->getFirstname(),
'intituleOffre' => $ad->getTitle(),
'lienOffre' =>$ad->getAlias(),
'entreprise' => $ad->getCompany()->getBrandName()
]
]
]
];
}else{
$body = [
'FromEmail' => "noreply@talentstube.io",
'FromName' => "Talents Tube",
'Subject' => "Besoin d'aide pour réaliser votre candidature vidéo ?" ,
'MJ-TemplateID' =>2725437 ,
'MJ-TemplateLanguage' => true,
'Recipients' => [
[
'Email' => $contactMail,
'Vars' => [
'prenom' => $u->getFirstname(),
'intituleOffre' => $ad->getTitle(),
'lienOffre' =>$ad->getAlias(),
'entreprise' => $ad->getCompany()->getBrandName()
]
]
]
];
}
}else{
if($type=="J3"){
$body = [
'FromEmail' => "noreply@talentstube.io",
'FromName' => "Talents Tube",
'Subject' => "Vous ne savez pas comment postuler ?" ,
'MJ-TemplateID' =>2716934 ,
'MJ-TemplateLanguage' => true,
'Recipients' => [
[
'Email' => $contactMail,
'Vars' => [
'prenom' => $u->getFirstname(),
]
]
]
];
}else{
$body = [
'FromEmail' => "noreply@talentstube.io",
'FromName' => "Talents Tube",
'Subject' => "Besoin d'aide pour réaliser une candidature vidéo ?" ,
'MJ-TemplateID' =>2725599 ,
'MJ-TemplateLanguage' => true,
'Recipients' => [
[
'Email' => $contactMail,
'Vars' => [
'prenom' => $u->getFirstname(),
]
]
]
];
}
}
//TODO mettre un flag pour le mail de relance J+3. Mettre la date du jour
if($type=="J3"){
$u->setDatePremiereRelance(new Datetime());
}else{
$u->setDateDeuxiemeRelance(new Datetime());
}
$em->persist($u);
$em->flush();
//$response = $mj->post(Resources::$Email, ['body' => $body]);
//$response->success() && var_dump($response->getData());
$listeUsersRelance[]=array(
'id' => $u->getId(),
'nom' => $u->getLastname(),
'prenom' => $u->getFirstname(),
'email' => $u->getEmail(),
'annonce' => $annonceTitle
);
}
return $listeUsersRelance;
}
/**
@@ -24,6 +24,8 @@ class PageController extends Controller
]);
}
/**
* @Route("/admin/config/page/{id}/edit", name="admin_page_edit")
*/
@@ -63,4 +65,6 @@ class PageController extends Controller
return $this->redirectToRoute('admin_page_list');
}
}
@@ -563,12 +563,26 @@ class AnswerController extends Controller
*/
public function listDatatablesAction(Request $request)
{
$companyId = $this->getUser()->getCompany()->getId();
return $this->recupererCandidature($request, "company", $companyId);
}
/**
* @Route("/alimenterCandidaturesAd/{id}", name="alimenterCandidaturesAd")
*/
public function listDatatablesAdAction(Request $request, $id)
{
return $this->recupererCandidature($request, "ad", $id);
}
public function recupererCandidature($request, $type, $id){
// Set up required variables
$em = $this->getDoctrine()->getManager();
$this->repository = $em->getRepository('AppBundle:Answer');
//$this->translator = $this->get('translator');
// Get the parameters from DataTable Ajax Call
$companyId = $this->getUser()->getCompany()->getId();
if ($request->getMethod() == 'POST')
{
$draw = intval($request->request->get('draw'));
@@ -593,7 +607,7 @@ class AnswerController extends Controller
}
// Further filtering can be done in the Repository by passing necessary arguments
$otherConditions = $companyId;
$otherConditions = array("type" => $type, "id" => $id);
// Get results from the Repository
$results = $this->repository->getRequiredDTData($start, $length, $orders, $search, $columns, $otherConditions);
@@ -629,21 +643,34 @@ class AnswerController extends Controller
switch($column['name'])
{
case 'video':
case 'partage':
{
if ($answer->getVideo()->getThumbnails()){
$img= $answer->getVideo()->getThumbnails()[0]['sizes'][1]['link'];
if($answer->getIsShared()){
$checked = "checked";
}else{
$img= "";
$checked = "";
}
$link = $this->generateUrl('company_answer_show', array('id' => $answer->getId()), UrlGeneratorInterface::ABSOLUTE_URL);
$responseTemp = "<a href='".$link."'><img src='".$img."'></a>";
$responseTemp ="<input type='checkbox' id='answer_".$answer->getId()."' name='answers' class='nav-trigger' onChange='verifierIsChecked(".$answer->getId().")' ".$checked." /><label for='nav-trigger' class='navicon-button x'><div class='navicon'></div></label>";
break;
}
case 'video':
{
if ($answer->getVideo()->getThumbnails()){
$img= $answer->getVideo()->getThumbnails()[0]['sizes'][1]['link'];
}else{
//$img= "https://blog.talentstube.com/wp-content/uploads/2021/01/default_picture_company.jpg";
$mediaManager = $this->get('media_manager');
$mediaManager->getThumbnails($answer);
$img= $answer->getVideo()->getThumbnails()[0]['sizes'][1]['link'];
}
$link = $this->generateUrl('company_answer_show', array('id' => $answer->getId()), UrlGeneratorInterface::ABSOLUTE_URL);
$responseTemp = " <a href='".$link."'><img src='".$img."' width='200px' height='150px'></a>";
break;
}
case 'nom':
{
@@ -782,7 +809,6 @@ class AnswerController extends Controller
$returnResponse->setJson($response);
return $returnResponse;
}
/**
@@ -808,9 +834,9 @@ class AnswerController extends Controller
{
$em = $this->getDoctrine()->getManager();
$answers = $em->getRepository('AppBundle:Answer')->findBy(array('ad' => $ad, 'status' => 'SENDED'),array('sendTime' => 'DESC'));
//$answers = $em->getRepository('AppBundle:Answer')->findBy(array('ad' => $ad, 'status' => 'SENDED'),array('sendTime' => 'DESC'));
return $this->render('company/ad_answer_list.html.twig', [
'answers' => $answers,
'type' => 'annonce',
'ad' => $ad
]);
@@ -355,7 +355,7 @@ class CompanyController extends FOSRestController
// $link = $this->generateUrl('company_answer_show', array('id' => $existAnswer->getId()), UrlGeneratorInterface::ABSOLUTE_URL);
$contactMail = "contact@talentstube.com";
if ($this->container->get( 'kernel' )->getEnvironment() == "dev") {
$contactMail = "dev@talentstube.com";
$contactMail = "contact@talentstube.com";
}
$body = [
'FromEmail' => "noreply@talentstube.io",
@@ -383,6 +383,98 @@ class CompanyController extends FOSRestController
return new JsonResponse(array('retour' => "true"));
}
/**
* @Rest\Get(path="/api/validerOffreMail", name="api_validerOffreMail")
* @Rest\View
*/
public function validerOffreMailAction(Request $request)
{
//APPEL de l'api Pole emploi pour recuperer Token
$adId=$request->query->get('adId');
$em = $this->getDoctrine()->getManager();
$ad = $em->getRepository('AppBundle:Ad')->findOneBy(array('id' => $adId));
$users = $ad->getCompany()->getUsers();
$retour ="résultat ";
foreach ($users as $user){
$mj = new Client($this->getParameter('mailjet_public'), $this->getParameter('mailjet_private'));
// $link = $this->generateUrl('company_answer_show', array('id' => $existAnswer->getId()), UrlGeneratorInterface::ABSOLUTE_URL);
$contactMail = "contact@talentstube.com";
if ($this->container->get( 'kernel' )->getEnvironment() == "dev") {
$contactMail = "contact@talentstube.com";
}
$body = [
'FromEmail' => "noreply@talentstube.io",
'FromName' => "Talents Tube",
'Subject' => "Votre offre d'emploi vidéo est en ligne ",
'MJ-TemplateID' =>2659410 ,
'MJ-TemplateLanguage' => true,
'Recipients' => [
[
'Email' => $contactMail,
'Vars' => [
'nomRecruteur' => $user->getLastname(),
'prenomRecruteur' => $user->getFirstname(),
'offre' => $ad->getTitle(),
'lienOffreEmploi' => $ad->getAlias(),
]
]
]
];
$response = $mj->post(Resources::$Email, ['body' => $body]);
$retour .= $user->getFirstname()." ".$user->getId()." OK ";
}
return new JsonResponse(array('retour' => $retour));
}
/**
* @Rest\Get(path="/api/demanderDiagnostic", name="api_demanderDiagnostic")
* @Rest\View
*/
public function demanderDiagnosticAction(Request $request)
{
//
$nomPrenom=$request->query->get('nomPrenom');
$email=$request->query->get('email');
$nomEntreprise=$request->query->get('nomEntreprise');
$telephone=$request->query->get('telephone');
$page=$request->query->get('page');
$mj = new Client($this->getParameter('mailjet_public'), $this->getParameter('mailjet_private'));
// $link = $this->generateUrl('company_answer_show', array('id' => $existAnswer->getId()), UrlGeneratorInterface::ABSOLUTE_URL);
$contactMail = "contact@talentstube.com";
if ($this->container->get( 'kernel' )->getEnvironment() == "dev") {
$contactMail = "contact@talentstube.com";
}
$body = [
'FromEmail' => "noreply@talentstube.io",
'FromName' => "Talents Tube",
'Subject' => "Demander mon diagnostic ",
'MJ-TemplateID' =>2684982 ,
'MJ-TemplateLanguage' => true,
'Recipients' => [
[
'Email' => $contactMail,
'Vars' => [
'nomPrenom' => $nomPrenom,
'entreprise' => $nomEntreprise,
'email' => $email,
'telephone' => $telephone,
]
]
]
];
$response = $mj->post(Resources::$Email, ['body' => $body]);
return new JsonResponse(array('retour' => "true"));
}
/**
@@ -23,6 +23,7 @@ use AppBundle\Form\CareersType;
use AppBundle\Form\FormationsType;
use AppBundle\Form\LanguagesType;
use Symfony\Component\Security\Http\Event\InteractiveLoginEvent;
use \DateTime;
class SecurityController extends FOSRestController
{
@@ -129,6 +130,91 @@ class SecurityController extends FOSRestController
return new JsonResponse($status);
}
/**
* @Rest\Get(path="/api/test", name="api_test")
* @Rest\View
*/
public function test(Request $request)
{
$status = array('status' => "success", 'message' => "Ok2");
// $curl = curl_init();
// curl_setopt($curl, CURLOPT_HTTPHEADER, array(
// 'Content-Type: application/json',
// 'Accept : application/json',
// ));
$url="https://recruteur.talentstube.com/api/getDetailAppelation?q=10944";
// curl_setopt_array($curl, array(
// CURLOPT_URL => "http://localhost/app_dev.php/api/getDetailAppelation?q=10944",
// CURLOPT_RETURNTRANSFER => true,
// CURLOPT_ENCODING => "",
// CURLOPT_MAXREDIRS => 10,
// CURLOPT_TIMEOUT => 0,
// CURLOPT_FOLLOWLOCATION => true,
// CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
// CURLOPT_CUSTOMREQUEST => "GET",
// CURLOPT_HTTPHEADER => array(
// "Accept: application/json",
// ),
// ));
//curl_setopt_array();
// create & initialize a curl session
// Optional Authentication:
$curl = curl_init();
curl_setopt($curl, CURLOPT_HTTPHEADER, array(
'Content-Type: application/json',
'Accept : application/json',
));
curl_setopt_array($curl, array(
CURLOPT_URL => $url,
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 0,
CURLOPT_FOLLOWLOCATION => true,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => array(
"Accept: application/json",
),
));
$response = curl_exec($curl);
$parsed_json = json_decode($response);
$competencesDeBase = $parsed_json->{'competencesDeBase'};
//dump($competencesDeBase);
echo "competencesDeBase!!2 --------------- <br>";
foreach ($parsed_json->{'competencesDeBase'} as $json){
echo( $json->{'code'})." / ";
echo( $json->{'libelle'});
echo "<br>";
}
echo "<br>";
foreach ($parsed_json->{'groupesCompetencesSpecifiques'} as $json){
foreach ($json->{'competences'} as $json2){
echo( $json2->{'code'})." / ";
echo( $json2->{'libelle'});
echo "<br>";
}
}
$err = curl_error($curl);
if (!$err)
{
}
curl_close($curl);
//return new JsonResponse($status);
}
/**
* @Rest\post(path="/api/update_user", name="api_update_user")
* @Rest\View
@@ -148,55 +234,109 @@ class SecurityController extends FOSRestController
else{
$phoneTalent = "";
}
if ($request->get('address1')){
$address1Talent = htmlspecialchars($request->get('address1'));
}
else{
$address1Talent = "";
}
// if ($request->get('address1')){
// $address1Talent = htmlspecialchars($request->get('address1'));
// }
// else{
// $address1Talent = "";
// }
if ($request->get('address2')){
$address2Talent = htmlspecialchars($request->get('address2'));
}
else{
$address2Talent = "";
}
// if ($request->get('address2')){
// $address2Talent = htmlspecialchars($request->get('address2'));
// }
// else{
// $address2Talent = "";
// }
if ($request->get('zipCode')){
$zipTalent = htmlspecialchars($request->get('zipCode'));
}
else{
$zipTalent = "";
}
// if ($request->get('zipCode')){
// $zipTalent = htmlspecialchars($request->get('zipCode'));
// }
// else{
// $zipTalent = "";
// }
if ($request->get('city')){
$cityTalent = htmlspecialchars($request->get('city'));
// if ($request->get('city')){
// $cityTalent = htmlspecialchars($request->get('city'));
// }
// else{
// $cityTalent = "";
// }
// if ($request->get('country')){
// $countryTalent = htmlspecialchars($request->get('country'));
// }
// else{
// $countryTalent = "";
// }
$titleTalent = htmlspecialchars($request->get('currentJob'));
if ($request->get('geoloc')){
$geoloc = htmlspecialchars($request->get('geoloc'));
}else{
$geoloc ="";
}
else{
$cityTalent = "";
if ($request->get('street_number')){
$street_number = htmlspecialchars($request->get('street_number'));
}else{
$street_number ="";
}
if ($request->get('route')){
$route = htmlspecialchars($request->get('route'));
}else{
$route ="";
}
if ($request->get('locality')){
$locality = htmlspecialchars($request->get('locality'));
}else{
$locality ="";
}
if ($request->get('administrative_area_level_2')){
$administrative_area_level_2 = htmlspecialchars($request->get('administrative_area_level_2'));
}else{
$administrative_area_level_2 ="";
}
if ($request->get('administrative_area_level_1')){
$administrative_area_level_1 = htmlspecialchars($request->get('administrative_area_level_1'));
}else{
$administrative_area_level_1 ="";
}
if ($request->get('country')){
$countryTalent = htmlspecialchars($request->get('country'));
$country = htmlspecialchars($request->get('country'));
}else{
$country ="";
}
else{
$countryTalent = "";
}
$titleTalent = htmlspecialchars($request->get('currentJob'));
$geoloc = htmlspecialchars($request->get('geoloc'));
$street_number = htmlspecialchars($request->get('street_number'));
$route = htmlspecialchars($request->get('route'));
$locality = htmlspecialchars($request->get('locality'));
$administrative_area_level_2 = htmlspecialchars($request->get('administrative_area_level_2'));
$administrative_area_level_1 = htmlspecialchars($request->get('administrative_area_level_1'));
$country = htmlspecialchars($request->get('country'));
$postal_code = htmlspecialchars($request->get('postal_code'));
$formatted_address = str_replace('"', '', $request->get('formatted_address'));
$lat = stripslashes($request->get('lat'));
$lng = stripslashes($request->get('lng'));
//
if ($request->get('postal_code')){
$postal_code = htmlspecialchars($request->get('postal_code'));
}else{
$postal_code ="";
}
if ($request->get('formatted_address')){
$formatted_address = str_replace('"', '', $request->get('formatted_address'));
}else{
$formatted_address ="";
}
if ($request->get('lat')){
$lat = stripslashes($request->get('lat'));
}else{
$lat ="";
}
if ($request->get('lng')){
$lng = stripslashes($request->get('lng'));
}else{
$lng ="";
}
$appellationId="";
$appellationLibelle="";
$competences =null;
$codeRome=null;
$newLinkedin = htmlspecialchars($request->get('linkedin'));
$newTwitter = htmlspecialchars($request->get('twitter'));
@@ -217,35 +357,100 @@ class SecurityController extends FOSRestController
$array = Array ();
// \"$formatted_address
if($formatted_address!=""){
$array[] = Array (
"street_number" => $street_number,
"route" => $route,
"administrative_area_level_2" => $administrative_area_level_2,
"administrative_area_level_1" => $administrative_area_level_1,
"country" => $country,
"locality" => $locality,
"postal_code" => $postal_code,
"formatted_address" => $formatted_address,
"lat" => stripslashes($lat),
"lng" => stripslashes($lng)
);
$array[] = Array (
"street_number" => $street_number,
"route" => $route,
"administrative_area_level_2" => $administrative_area_level_2,
"administrative_area_level_1" => $administrative_area_level_1,
"country" => $country,
"locality" => $locality,
"postal_code" => $postal_code,
"formatted_address" => $formatted_address,
"lat" => stripslashes($lat),
"lng" => stripslashes($lng)
);
$usr->setGeoloc($array);
}
$usr->setGeoloc($array);
$talent->setPhoneTalent($phoneTalent);
$companyManager->updateTalent($usr);
//$talent->setPhoneTalent($phoneTalent);
$billing = array(
'address1' => $address1Talent,
'address2' => $address2Talent,
'postcode' => $zipTalent,
'city' => $cityTalent,
'country' => $countryTalent,
);
$addrs['billing'] = $billing;
$talent->setAddresses($addrs);
// $billing = array(
// 'address1' => $address1Talent,
// 'address2' => $address2Talent,
// 'postcode' => $zipTalent,
// 'city' => $cityTalent,
// 'country' => $countryTalent,
// );
// $addrs['billing'] = $billing;
// $talent->setAddresses($addrs);
if ($request->get('appellationId')){
$appellationId = $request->get('appellationId');
$appellationLibelle = $request->get('appellationLibelle');
$url="https://recruteur.talentstube.com/api/getDetailAppelation?q=".$appellationId;
$curl = curl_init();
curl_setopt($curl, CURLOPT_HTTPHEADER, array(
'Content-Type: application/json',
'Accept : application/json',
));
curl_setopt_array($curl, array(
CURLOPT_URL => $url,
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 0,
CURLOPT_FOLLOWLOCATION => true,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => array(
"Accept: application/json",
),
));
$detailMetier = curl_exec($curl);
$parsed_json = json_decode($detailMetier);
$codeRome = $parsed_json->{'metier'}->{'code'};
//dump($competencesDeBase);
//echo "competencesDeBase!!2 --------------- <br>";
foreach ($parsed_json->{'competencesDeBase'} as $json){
//echo( $json->{'code'})." / ";
//echo( $json->{'libelle'});
$competences[] = Array (
intval($json->{'code'}) => $json->{'libelle'}
);
//echo "<br>";
}
//echo "<br>";
foreach ($parsed_json->{'groupesCompetencesSpecifiques'} as $json){
foreach ($json->{'competences'} as $json2){
//echo( $json2->{'code'})." / ";
//echo( $json2->{'libelle'});
//echo "<br>";
$competences[] = Array (
intval($json2->{'code'}) => $json2->{'libelle'}
);
}
}
$err = curl_error($curl);
if (!$err)
{
}
curl_close($curl);
}
$usr->setAppellationId($appellationId);
$usr->setAppellationLibelle($appellationLibelle);
$usr->setCompetences($competences);
$usr->setCodeRome($codeRome);
$companyManager->updateTalent($usr);
$status = array('status' => "success!!!!!!!!!!!!!!!!!!");
@@ -75,6 +75,44 @@ class DefaultController extends Controller
* @Route("/", name="homepage")
*/
public function homepagev2Action(Request $request)
{
//US-468
$session = $request->getSession();
$arrayDate['dateBegin'] = new \DateTime('now -1 Month');
$arrayDate['dateEnd'] = new \DateTime('now');
setlocale(LC_ALL, 'fr_FR.utf-8');
$stats = $this->get("app.stats_manager");
$params = $this->getParams($request);
$usename = $params["lastUsername"];
$csrfToken = $params["csrfToken"];
$error = $params["error"];
$destination_login = "admin/dashboard";
$erreur = false;
if($request->query->get('erreur')){
$erreur = $request->query->get('erreur');
}
return $this->render(
'defaultv2/accueil/index.html.twig', [
'last_username' => $usename,
'csrf_token' => $csrfToken,
'error' => $error,
'destination_login' => $destination_login,
'erreur' => $erreur
//'ads' => $ads,
//'companies' => $arrayCompany,
//'talents' => $arrayTalents,
//'territories' => $territories,
//'searchform' => $form->createView(),
]
);
}
/**
* @Route("/concept", name="concept")
*/
public function conceptAction(Request $request)
{
//US-468
$session = $request->getSession();
@@ -153,7 +191,7 @@ class DefaultController extends Controller
//dump($mj);
//var_dump($mailManager);
return $this->render(
'defaultv2/accueil/index.html.twig', [
'defaultv2/concept/index.html.twig', [
'last_username' => $usename,
'csrf_token' => $csrfToken,
'error' => $error,
@@ -427,6 +465,7 @@ class DefaultController extends Controller
]);
}
/**
* @Route("/recrutement-aide-a-domicile", name="recrutement_aide_a_domicile")
*/
@@ -436,6 +475,16 @@ class DefaultController extends Controller
]);
}
/**
* @Route("/recrutement-informatique", name="recrutement_informatique")
*/
public function informatiqueAction()
{
return $this->render('landing/informatique.html.twig', [
]);
}
/**
* @param Request $request
@@ -141,7 +141,8 @@ class MediaController extends Controller
$form = $this->createFormBuilder($video)
->add('title', TextType::class, array(
'label' => 'Titre de la vidéo',
'required' => true,
'empty_data' => 'Titre de la vidéo',
'required' => false,
))
->getForm();
$form->handleRequest($request);
@@ -155,10 +156,37 @@ class MediaController extends Controller
$numberOfMonth = 6;
$unpublishedDate = new \DateTime('now');
$unpublishedDate = $unpublishedDate->add(new \DateInterval('P' . $numberOfMonth . 'M'));
$ad->setStatus("TO_PUBLISH");
// ENVOI DE MAIL a l'equipe TT pour prevenir d'une modif d'annonce
$ad->setUnpublishedAt($unpublishedDate);
$em->persist($ad);
$em->flush();
$mj = new Client($this->getParameter('mailjet_public'), $this->getParameter('mailjet_private'));
// $link = $this->generateUrl('company_answer_show', array('id' => $answer->getId()), UrlGeneratorInterface::ABSOLUTE_URL);
$body = [
'FromEmail' => "noreply@talentstube.io",
'FromName' => "Talents Tube",
'Subject' => "Creation/Modification Offre d'emploi ".$ad->getCompany()->getBrandName(),
'MJ-TemplateID' =>2612525 ,
'MJ-TemplateLanguage' => true,
'Recipients' => [
[
'Email' => 'dev@talentstube.com',
'Vars' => [
'entreprise' => $ad->getCompany()->getBrandName(),
'offre' => $ad->getTitle(),
]
]
]
];
$response = $mj->post(Resources::$Email, ['body' => $body]);
$response->success() && var_dump($response->getData());
return $this->redirectToRoute('company_ad');
}
@@ -558,6 +558,35 @@ class Ad
return $i;
}
public function countAnswersParStatut()
{
$answers = $this->answers;
$nbATraiter = 0;
$nbContacte = 0;
$nbEntretien = 0;
$nbRefuse = 0;
$nbEmbauche = 0;
foreach ($answers as $a) {
if ($a->getStatusReponse() == "A_TRAITER" AND $a->getStatus() =="SENDED" ) {
$nbATraiter++;
}
else if ($a->getStatusReponse() == "CONTACTE" AND $a->getStatus() =="SENDED") {
$nbContacte++;
}
else if ($a->getStatusReponse() == "ENTRETIEN" AND $a->getStatus() =="SENDED") {
$nbEntretien++;
}
else if ($a->getStatusReponse() == "REFUSE" AND $a->getStatus() =="SENDED") {
$nbRefuse++;
}
else if ($a->getStatusReponse() == "EMBAUCHE" AND $a->getStatus() =="SENDED"){
$nbEmbauche++;
}
}
return array("nbATraiter"=> $nbATraiter, "nbContacte"=>$nbContacte, "nbEntretien" =>$nbEntretien, "nbRefuse" => $nbRefuse, "nbEmbauche"=>$nbEmbauche);
//return $nbATraiter;
}
/**
* @return string
*
@@ -14,6 +14,7 @@ use JMS\Serializer\Annotation\Groups;
use JMS\Serializer\Annotation\Type;
use AppBundle\Utils\Traits\CareerJsonTrait;
use \DateTime;
/**
* @ORM\Entity(repositoryClass="AppBundle\Repository\UserRepository")
@@ -210,6 +211,51 @@ class User extends BaseUser
*/
private $language;
/**
* @var int
*
* @ORM\Column(name="appellation_id", type="integer", nullable=true)
*
*/
private $appellationId;
/**
* @var string
*
* @ORM\Column(name="appellation_libelle", type="text", nullable=true)
*
*/
private $appellationLibelle;
/**
* @var string
*
* @ORM\Column(name="code_rome", type="text", nullable=true)
*
*/
private $codeRome;
/**
* @var array
*
* @ORM\Column(name="competences", type="json_document", nullable=true, options={"jsonb":true})
*/
private $competences;
/**
* @var \DateTime
*
* @ORM\Column(name="date_premiere_relance", type="datetime", length=255, nullable=true, options={"default" : "2021-01-01"})
*/
private $datePremiereRelance;
/**
* @var \DateTime
*
* @ORM\Column(name="date_deuxieme_relance", type="datetime", length=255, nullable=true, options={"default" : "2021-01-01"})
*/
private $dateDeuxiemeRelance;
/***********************
* Constructor
***********************/
@@ -226,6 +272,8 @@ class User extends BaseUser
$this->products = new ArrayCollection();
$this->recommendations = new ArrayCollection();
$this->sendedRecommendations = new ArrayCollection();
$this->datePremiereRelance = null;
$this->dateDeuxiemeRelance = null;
}
/***********************
@@ -440,8 +488,12 @@ class User extends BaseUser
if($this->getCompany()->getType()){
$type=$this->getCompany()->getType();
}
}
}$formatted_address ="";
if($this->getGeoloc()){
if($this->getGeoloc()[0]){
$formatted_address = $this->getGeoloc();
}
}
$card = array(
"firstname" => $this->getFirstname(),
"lastname" => $this->getLastname(),
@@ -462,7 +514,12 @@ class User extends BaseUser
"type" => $type,
"currentJob" => $this->getCompany()->getExtra()["titleTalent"],
"geoloc" => $this->getGeoloc(),
"formattedAddress" => $formatted_address,
"website" => $this->getCompany()->getWebsite(),
"appellationId" => $this->getAppellationId(),
"appellationLibelle" => $this->getAppellationLibelle(),
"codeRome" => $this->getCodeRome(),
"competences" => $this->getCompetences(),
);
return $card;
}
@@ -1261,4 +1318,149 @@ class User extends BaseUser
{
return $this->language;
}
/**
* Set appellationId.
*
* @param int|null $appellationId
*
* @return Ad
*/
public function setAppellationId($appellationId = null)
{
$this->appellationId = $appellationId;
return $this;
}
/**
* Get appellationId.
*
* @return int|null
*/
public function getAppellationId()
{
return $this->appellationId;
}
/**
* Set appellationLibelle.
*
* @param string|null $appellationLibelle
*
* @return Ad
*/
public function setAppellationLibelle($appellationLibelle = null)
{
$this->appellationLibelle = $appellationLibelle;
return $this;
}
/**
* Get appellationLibelle.
*
* @return string|null
*/
public function getAppellationLibelle()
{
return $this->appellationLibelle;
}
/**
* Set codeRome.
*
* @param string|null $codeRome
*
* @return Ad
*/
public function setCodeRome($codeRome = null)
{
$this->codeRome = $codeRome;
return $this;
}
/**
* Get codeRome.
*
* @return string|null
*/
public function getCodeRome()
{
return $this->codeRome;
}
/**
* Set competences.
*
* @param json_document|null $competences
*
* @return Ad
*/
public function setCompetences($competences = null)
{
$this->competences = $competences;
return $this;
}
/**
* Get competences.
*
* @return json_document|null
*/
public function getCompetences()
{
return $this->competences;
}
/**
* Set datePremiereRelance.
*
* @param \DateTime|null $datePremiereRelance
*
* @return User
*/
public function setDatePremiereRelance($datePremiereRelance = null)
{
$this->datePremiereRelance = $datePremiereRelance;
return $this;
}
/**
* Get datePremiereRelance.
*
* @return \DateTime|null
*/
public function getDatePremiereRelance()
{
return $this->datePremiereRelance->format('d/m/Y');
}
/**
* Set dateDeuxiemeRelance.
*
* @param \DateTime|null $dateDeuxiemeRelance
*
* @return User
*/
public function setDateDeuxiemeRelance($dateDeuxiemeRelance = null)
{
$this->dateDeuxiemeRelance = $dateDeuxiemeRelance;
return $this;
}
/**
* Get dateDeuxiemeRelance.
*
* @return \DateTime|null
*/
public function getDateDeuxiemeRelance()
{
return $this->dateDeuxiemeRelance->format('d/m/Y');
}
}
@@ -70,6 +70,7 @@ class AdType extends AbstractType
$builder
->add('reference', TextType::class, array(
'label' => 'Référence de l\'annonce',
'required' => true,
'attr' => array(
'placeholder' => 'Ex : OFFRE_521',
'class' => 'form-control'
@@ -210,6 +211,7 @@ class AdType extends AbstractType
'mapped' => false,
'label' =>'Compétences',
'data' => $competences,
'required' => false,
'attr' => array(
'class' => 'form-control',
)
@@ -14,7 +14,8 @@ class MediaType extends AbstractType
$builder->add('title', TextType::class, array(
'label' => 'Titre de la vidéo',
'required' => true
'empty_data' => 'Titre de la vidéo',
'required' => false
))
->add('media', HiddenType::class, array(
'attr' => array(
@@ -207,8 +207,14 @@ class AnswerRepository extends AbstractRepository
{
// No
// However, add a "always true" condition to keep an uniform treatment in all cases
$query->where("(company.id=".$otherConditions." OR c.id=".$otherConditions.")");
$countQuery->where("(company.id=".$otherConditions." OR c.id=".$otherConditions.")");
if($otherConditions["type"]=="company"){
$query->where("(company.id=".$otherConditions["id"]." OR c.id=".$otherConditions["id"].")");
$countQuery->where("(company.id=".$otherConditions["id"]." OR c.id=".$otherConditions["id"].")");
}elseif($otherConditions["type"]=="ad"){
$query->where("(ad.id=".$otherConditions["id"].")");
$countQuery->where("(ad.id=".$otherConditions["id"].")");
}
$query->andWhere("a.status='SENDED'");
$countQuery->andWhere("a.status='SENDED'");
}else{
@@ -382,13 +388,43 @@ class AnswerRepository extends AbstractRepository
$medias = $qb->getQuery()->getResult();
return $medias;
}
public function findAllComment()
{
$qb = $this
->createQueryBuilder('a')
->select(['a'])
->where('a.comment IS NOT NULL');
$answers = $qb->getQuery()->getResult();
return $answers;
}
public function findUsersRelanceJ3()
{
$qb = $this
->createQueryBuilder('a')
->select('a', 'u', 'c')
->leftjoin('a.user', 'u')
->join('u.company', 'c')
->where('u.roles LIKE :roleT')
->andWhere('u.enabled = true')
// ->andWhere('c.cTime > CURRENT_TIMESTAMP()')
// ->andWhere('u.datePremiereRelance <> :dateInit')
// ->andWhere('u.dateDeuxiemeRelance <> :dateInit')
->andWhere('u.datePremiereRelance is NULL')
->andWhere('c.cTime <= :begin')
->setParameter('roleT', '%ROLE_TALENT%')
->setParameter('begin', new \DateTime('-3 days'));
// ->setParameter('dateInit', new \DateTime('2021-01-01'));
;
return $qb->getQuery()->getResult();
}
}
@@ -25,6 +25,21 @@ class MessageRepository extends \Doctrine\ORM\EntityRepository
->getQuery()
->getResult();
}
public function getMessageAnswers()
{
$qb = $this
->createQueryBuilder('m')
->select('m', 'a')
->join('m.answer', 'a')
->where('m.status <> :status')
->setParameter(':status', 'DRAFT')
;
return $qb
->getQuery()
->getResult();
}
}
// add status = SENDED;
@@ -69,4 +69,71 @@ class UserRepository extends EntityRepository
return $qb->getQuery()->getResult();
}
public function findUsersRelance($type)
{
$qb = $this
->createQueryBuilder('u')
->select('u', 'c', 'a')
->join('u.company', 'c')
->leftjoin('u.answers', 'a')
->where('u.roles LIKE :roleT')
->andWhere('u.enabled = true')
->andWhere('a.id is NULL');
if($type=="j3"){
$qb->andWhere('u.datePremiereRelance is NULL');
}else{
$qb->andWhere('u.datePremiereRelance is not NULL');
$qb->andWhere('u.dateDeuxiemeRelance is NULL');
}
//->andWhere('u.datePremiereRelance <> :dateInit')
$qb->andWhere('c.cTime <= :begin')
->andWhere('c.presentationVideo is NULL')
->setParameter('roleT', '%ROLE_TALENT%');
if($type=="j3"){
$qb->setParameter('begin', new \DateTime('-3 days'));
}else{
$qb->setParameter('begin', new \DateTime('-7 days'));
}
//->setParameter('dateInit', new \DateTime('2021-01-01'));
//presentationVideo
;
return $qb->getQuery()->getResult();
}
public function findUserAvecAdresse()
{
$qb = $this->_em->createQueryBuilder();
$qb->select('u', 'c')
->from($this->_entityName, 'u')
->join('u.company', 'c')
->where('c.addresses is not NULL')
->andWhere('u.geoloc is NULL')
->andWhere('u.enabled = true')
->andwhere('u.roles LIKE :roleT')
->setParameter('roleT', '%ROLE_TALENT%')
->setMaxResults(100) ;
return $qb->getQuery()->getResult();
}
public function findUserAvecAdresseCount()
{
$qb = $this->_em->createQueryBuilder();
$qb->select('COUNT(u)')
->from($this->_entityName, 'u')
->join('u.company', 'c')
->where('c.addresses is not NULL')
->andWhere('u.geoloc is NULL')
->andWhere('u.enabled = true')
->andwhere('u.roles LIKE :roleT')
->setParameter('roleT', '%ROLE_TALENT%');
return $qb->getQuery()->getResult();
}
}
@@ -256,3 +256,15 @@ Détails d'une candidature
border-radius:5px;
padding:20px;
}
/********************************************
Liste d'offres d'emploi
*******************************************/
tr .colonne1{
background-color:#F3F3F4;
}
tr .colonne2{
background-color:#E9E9EA;
}
@@ -117,6 +117,14 @@ strong {
color: #fff;
}
.hero-section-informatique {
background: url("https://blog.talentstube.com/wp-content/uploads/2021/04/recruter-un-developpeur.jpg") center center no-repeat scroll;
background-size: cover;
padding: 5em 0 9em;
position: relative;
color: #fff;
}
.venue::before {
content: '';
@@ -903,6 +911,14 @@ main.slide-out .cd-overlay {
color: #fff;
}
#venue_informatique {
background-color: #f3f3f4;
background: url(https://blog.talentstube.com/wp-content/uploads/2021/04/trouver-un-developpeur-1.jpg) center center no-repeat fixed;
background-size: cover;
position: relative;
color: #fff;
}
/*.venue::before { background: rgba(0, 0, 0, 0.5);}*/
.venue h2 {
Binary file not shown.

After

Width:  |  Height:  |  Size: 24 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 28 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 33 KiB

+11 -1
View File
@@ -5,6 +5,16 @@
xsi:schemaLocation="http://www.sitemaps.org/schemas/sitemap/0.9
http://www.sitemaps.org/schemas/sitemap/0.9/sitemap.xsd">
<!-- created with Free Online Sitemap Generator www.xml-sitemaps.com -->
<url>
<loc>https://recruteur.talentstube.com/recrutement-informatique</loc>
<lastmod>2021-04-15T10:04:00+00:00</lastmod>
<priority>1.00</priority>
</url>
<url>
<loc>https://recruteur.talentstube.com/concept</loc>
<lastmod>2021-03-24T16:05:39+00:00</lastmod>
<priority>1.00</priority>
</url>
<url>
<loc>https://recruteur.talentstube.com/recrutement-aide-a-domicile</loc>
<lastmod>2021-03-09T16:05:39+00:00</lastmod>
@@ -22,7 +32,7 @@
</url>
<url>
<loc>https://recruteur.talentstube.com/</loc>
<lastmod>2020-11-18T16:05:39+00:00</lastmod>
<lastmod>2021-03-24T16:05:39+00:00</lastmod>
<priority>1.00</priority>
</url>
<url>
+84 -26
View File
@@ -2672,8 +2672,8 @@ fieldset:disabled a.btn {
.btn-primary {
color: #fff;
background-color: #21c87a;
border-color: #21c87a;
background-color: #25D89A;
border-color: #25D89A;
}
.btn-primary:hover {
@@ -2744,6 +2744,43 @@ fieldset:disabled a.btn {
box-shadow: 0 0 0 0.2rem rgba(123, 133, 141, 0.5);
}
.btn-rouge {
color: #fff;
background-color: #FF5A5F;
border-color: #FF5A5F;
}
.btn-rouge:hover {
color: #fff;
background-color: #FF6A6C;
border-color: #FF6A6C;
}
.btn-rouge:focus, .btn-rouge.focus {
color: #fff;
background-color: #FF6A6C;
border-color: #FF6A6C;
box-shadow: 0 0 0 0.2rem rgba(123, 133, 141, 0.5);
}
.btn-rouge.disabled, .btn-rouge:disabled {
color: #fff;
background-color: #FF5A5F;
border-color: #FF5A5F;
}
.btn-rouge:not(:disabled):not(.disabled):active, .btn-rouge:not(:disabled):not(.disabled).active,
.show > .btn-rouge.dropdown-toggle {
color: #fff;
background-color: #FF6A6C;
border-color: #FF6A6C;
}
.btn-rouge:not(:disabled):not(.disabled):active:focus, .btn-rouge:not(:disabled):not(.disabled).active:focus,
.show > .btn-rouge.dropdown-toggle:focus {
box-shadow: 0 0 0 0.2rem rgba(123, 133, 141, 0.5);
}
.btn-success {
color: #fff;
background-color: #21c87a;
@@ -4816,7 +4853,7 @@ input[type="button"].btn-block {
display: flex;
-ms-flex-direction: column;
flex-direction: column;
padding-left: 100px;
padding-left: 0 !important;
margin-bottom: 0;
list-style: none;
}
@@ -13032,8 +13069,8 @@ button:focus {
.u-header__section {
z-index: 1;
background-image: linear-gradient(to bottom, rgba(30,35,39,0.7), rgba(30,35,39,0));
/* background-color: f8f8f8; */
/*background-image: linear-gradient(to bottom, rgba(30,35,39,0.7), rgba(30,35,39,0)); */
background-color: #313940;
font-size: 19px;
color:#fff
@@ -13056,7 +13093,8 @@ button:focus {
}
.u-header__navbar-brand-mobile {
width: 3.125rem;
/*width: 3.125rem;*/
width: auto;
}
.u-header__navbar-nav {
@@ -13087,9 +13125,9 @@ button:focus {
/* Nav Link */
.u-header__nav-link {
color: #D2D3D3;
font-size : 19px;
font-size: 1rem;
font-weight: 600;
font-size : 16px;
/*font-size: 1rem;*/
font-weight: 400;
}
.u-header__nav-link-icon {
@@ -13769,8 +13807,8 @@ button:focus {
flex: 0 0 auto;
width: auto;
max-width: none;
-ms-flex-order: 3;
order: 3;
-ms-flex-order: 1;
order: 1;
}
.navbar-expand-lg .u-header__navbar-brand {
padding-top: 1rem;
@@ -13785,10 +13823,14 @@ button:focus {
margin-left: auto;
}
.navbar-expand-lg .u-header__navbar-nav .u-header__nav-link {
padding-top: 1.375rem;
padding-bottom: 1.375rem;
padding-right: 0.875rem;
padding-left: 0.875rem;
padding-top: 1rem;
padding-bottom: 1rem;
padding-right: 0.6rem;
padding-left: 0.6rem;
/*padding-right: 0.875rem;
padding-left: 0.875rem;*
padding-top: 1.375rem;
padding-bottom: 1.375rem;*/
}
.navbar-expand-lg .u-header__navbar-nav .u-header__sub-menu {
border: 1px solid #e3e6f0;
@@ -14133,6 +14175,11 @@ button:focus {
}
}
.headerrecruteur{
padding-top:.3125rem;
padding-bottom:.3125rem;
}
@media (max-width: 767.98px) {
.u-header--modern .navbar-expand-md.u-header__navbar {
padding-top: 0;
@@ -18089,7 +18136,7 @@ button:focus {
Clients
------------------------------------*/
.u-clients {
width: 5rem;
width: 6rem;
margin-left: auto;
margin-right: auto;
}
@@ -21295,23 +21342,34 @@ button:focus {
}
.accueilFondNoir{
background-color: #1E2327;
color : #fff;
padding-top: 60px;
padding-bottom: 60px;
background-color: #BFE3FF;
color : #435059;
padding-top: 50px;
padding-bottom: 50px;
}
.accueilFondNoir p, .accueilFondNoir .media-body{
color : #435059;
}
.accueilFondBlanc{
background-color: #fff;
color : #1E2327;
padding-top: 60px;
padding-bottom: 60px;
color : #435059;
padding-top: 50px;
padding-bottom: 50px;
}
.accueilFondBlanc p, .accueilFondBlanc .media-body{
color : #435059 !important;
}
.accueilFondBleute{
background-color: #F3F9FF;;
color : #1E2327;
padding-top: 60px;
padding-bottom: 60px;
color : #435059;
padding-top: 50px;
padding-bottom: 50px;
}
.align-right{
Binary file not shown.

After

Width:  |  Height:  |  Size: 27 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 28 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 47 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 25 KiB

View File

Before

Width:  |  Height:  |  Size: 5.1 KiB

After

Width:  |  Height:  |  Size: 5.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.8 KiB

Some files were not shown because too many files have changed in this diff Show More