Compare commits

...

12 Commits

Author SHA1 Message Date
llaniau bde583e14e Mise en place mentions, cgu et connexion V2 2020-07-22 08:34:05 +02:00
llaniau d803cb4bdd cgu v2.0.1 2020-07-20 18:14:30 +02:00
llaniau 1a987283b7 Mise en place api pour upload CV ds web app 2020-07-20 14:39:02 +02:00
llaniau d72095f615 SQL a passer en pre prod/prod4 2020-07-15 18:08:50 +02:00
llaniau 90be4bfea7 update bug company 2020-07-15 16:26:36 +02:00
llaniau de07e5f26c Mise à jour témoignage V2.0.1 2020-07-15 16:07:29 +02:00
llaniau 910f9645d8 Mise en place upload video presentation cote Symfony 2020-07-08 19:49:57 +02:00
llaniau 227fe09a94 Push de fin de journée du 07/07 : Mise en place connection plateforme V2 2020-07-07 17:14:00 +02:00
llaniau c660c11879 Commit de mise en place page offre d'emploi video V2 2020-07-06 17:04:18 +02:00
llaniau 8899a93ea5 mise a jour du menu du haut 2020-07-06 16:21:39 +02:00
llaniau 305bf4deb3 Mise en place candidature video Design V2 2020-07-06 16:12:06 +02:00
llaniau d564ca1b85 Modif template V2 2020-07-06 10:26:23 +02:00
59 changed files with 3915 additions and 631 deletions
+5 -1
View File
@@ -11,4 +11,8 @@ volume/www/website/.idea
/volume/www/website/store/themes/talentstube-20170413/cache/*
/volume/www/website/store/img/tmp/*
volume/www/website/www/app/Resources/views/default/index.html.twig
TODO
volume/www/website/www/.vscode/settings.json
volume/www/website/www/app/config/jwt/private.pem
volume/www/website/www/app/config/jwt/public.pem
volume/www/website/www/web/sql/upload.pgsql
@@ -0,0 +1,29 @@
<?php declare(strict_types=1);
namespace Application\Migrations;
use Doctrine\DBAL\Schema\Schema;
use Doctrine\Migrations\AbstractMigration;
/**
* Auto-generated Migration: Please modify to your needs!
*/
final class Version20200715123752 extends AbstractMigration
{
public function up(Schema $schema) : void
{
// this up() migration is auto-generated, please modify it to your needs
$this->abortIf($this->connection->getDatabasePlatform()->getName() !== 'postgresql', 'Migration can only be executed safely on \'postgresql\'.');
$this->addSql('ALTER TABLE company ADD cv VARCHAR(255) DEFAULT NULL');
}
public function down(Schema $schema) : void
{
// this down() migration is auto-generated, please modify it to your needs
$this->abortIf($this->connection->getDatabasePlatform()->getName() !== 'postgresql', 'Migration can only be executed safely on \'postgresql\'.');
$this->addSql('CREATE SCHEMA public');
$this->addSql('ALTER TABLE company DROP cv');
}
}
@@ -0,0 +1,198 @@
<div>
{% if is_granted("IS_AUTHENTICATED_REMEMBERED") %}
{{ 'layout.logged_in_as'|trans({'%username%': app.user.username}, 'FOSUserBundle') }} |
<a href="{{ path('fos_user_security_logout') }}">
{{ 'layout.logout'|trans({}, 'FOSUserBundle') }}
</a>
{% else %}
<a href="{{ path('fos_user_security_login') }}">{{ 'layout.login'|trans({}, 'FOSUserBundle') }}</a>
{% endif %}
</div>
{% for type, messages in app.session.flashBag.all %}
{% for message in messages %}
<div class="{{ type }}">
{{ message|trans({}, 'FOSUserBundle') }}
</div>
{% endfor %}
{% endfor %}
{% block fos_user_content %}
<div>
{{ form_start(register_form, {'method': 'post', 'action': path('fos_user_registration_register'), 'attr': {'class': 'fos_user_registration_register'}})
}}
{{ form_errors(register_form) }}
<!-- Signup -->
<div id="signup" style="display: none; opacity: 0;" data-target-group="idForm">
<!-- Title -->
<header class="text-center mb-5">
<h2 class="h4 mb-0">Créer un compte entreprise</h2>
<p>Remplissez tous les champs.</p>
</header>
<!-- End Title -->
<!-- Input -->
<div class="js-form-message mb-3">
<div class="js-focus-state input-group form">
<div class="input-group-prepend form__prepend">
<span class="input-group-text form__text">
<i class="fa fa-user form__text-inner"></i>
</span>
</div>
{# {{ form_row(register_form.firstname, {'label': 'Prénom'}) }} #}
{{ form_widget(register_form.firstname, { 'attr': {'class': "form-control form__input",
'placeholder': 'Prénom' , 'aria-label':'Prénom', 'data-error-class' : 'u-has-error', 'data-success-class' : 'u-has-success', 'data-msg' : 'Entrez un prénom valide'} }) }}
{# <input type="email" class="form-control form__input" name="email" required placeholder="Email"
aria-label="Email" data-msg="Please enter a valid email address." data-error-class="u-has-error"
data-success-class="u-has-success"> #}
</div>
</div>
<!-- End Input -->
<!-- Input -->
<div class="js-form-message mb-3">
<div class="js-focus-state input-group form">
<div class="input-group-prepend form__prepend">
<span class="input-group-text form__text">
<i class="fa fa-user form__text-inner"></i>
</span>
</div>
{# {{ form_row(register_form.lastname, {'label': 'Nom'}) }} #}
{{ form_widget(register_form.lastname, { 'attr': {'class': "form-control form__input",
'placeholder': 'Nom' , 'aria-label':'Nom', 'data-error-class' : 'u-has-error', 'data-success-class' : 'u-has-success', 'data-msg' : 'Entrez un nom valide'} }) }}
{# <input type="email" class="form-control form__input" name="email" required placeholder="Email"
aria-label="Email" data-msg="Please enter a valid email address." data-error-class="u-has-error"
data-success-class="u-has-success"> #}
</div>
</div>
<!-- End Input -->
<!-- Input -->
<div class="js-form-message mb-3">
<div class="js-focus-state input-group form">
<div class="input-group-prepend form__prepend">
<span class="input-group-text form__text">
<i class="fa fa-envelope form__text-inner"></i>
</span>
</div>
{# {{ form_row(register_form.email, {'label': 'E-mail'}) }} #}
{{ form_widget(register_form.email, { 'attr': {'class': "form-control form__input",
'placeholder': 'Email' , 'aria-label':'Email', 'data-error-class' : 'u-has-error', 'data-success-class' : 'u-has-success', 'data-msg' : 'Entrez un email valide'} }) }}
{# <input type="email" class="form-control form__input" name="email" required placeholder="Email"
aria-label="Email" data-msg="Please enter a valid email address." data-error-class="u-has-error"
data-success-class="u-has-success"> #}
</div>
</div>
<!-- End Input -->
<!-- Input -->
<div class="js-form-message mb-3">
<div class="js-focus-state input-group form">
<div class="input-group-prepend form__prepend">
<span class="input-group-text form__text">
<i class="fa fa-star form__text-inner"></i>
</span>
</div>
{# {{ form_row(register_form.username, {'label': 'Username'}) }} #}
{{ form_widget(register_form.username, { 'attr': {'class': "form-control form__input",
'placeholder': 'Identifiant' , 'aria-label':'username', 'data-error-class' : 'u-has-error', 'data-success-class' : 'u-has-success', 'data-msg' : 'Entrez un email valide'} }) }}
{# <input type="email" class="form-control form__input" name="email" required placeholder="Email"
aria-label="Email" data-msg="Please enter a valid email address." data-error-class="u-has-error"
data-success-class="u-has-success"> #}
</div>
</div>
<!-- End Input -->
<!-- Input -->
<div class="js-form-message mb-3">
<div class="js-focus-state input-group form">
<div class="input-group-prepend form__prepend">
<span class="input-group-text form__text">
<i class="fa fa-lock form__text-inner"></i>
</span>
</div>
{# {{ form_row(register_form.plainPassword.first, {'label': 'Mot de passe'}) }} #}
{{ form_widget(register_form.plainPassword.first, { 'attr': {'class': "form-control form__input",
'placeholder': 'Mot de passe' , 'aria-label':'Mot de passe', 'data-error-class' : 'u-has-error', 'data-success-class' : 'u-has-success', 'data-msg' : 'Mot de passe invalide'} }) }}
</div>
</div>
<!-- End Input -->
<!-- Input -->
<div class="js-form-message mb-3">
<div class="js-focus-state input-group form">
<div class="input-group-prepend form__prepend">
<span class="input-group-text form__text">
<i class="fa fa-key form__text-inner"></i>
</span>
</div>
{# {{ form_row(register_form.plainPassword.second, {'label': 'Répéter le mot de passe'}) }} #}
{{ form_widget(register_form.plainPassword.second, { 'attr': {'class': "form-control form__input",
'placeholder': 'Répéter le mot de passe' , 'aria-label':'Répéter le mot de passe', 'data-error-class' : 'u-has-error', 'data-success-class' : 'u-has-success', 'data-msg' : 'Mot de passe invalide'} }) }}
</div>
</div>
{% if destination_login is defined %}
<input type="hidden" name="_target_path" value="{{ destination_login }}" />
{% endif %}
<!-- End Input -->
<div class="mb-3">
{% set label = 'user.cgu.label'|trans({'%link_start%' : '<a style="margin-bottom:25px;" target="_blank" href="'~path('service_cgu')~'">', '%link_end%' : '</a>'}, 'messages') | raw %}
{{ form_errors(register_form.cgu) }}
{{ form_widget(register_form.cgu) }}
{% block form_label %}
{% spaceless %}
<label for="fos_user_registration_form_cgu">
Je déclare avoir pris connaissance et accepté les termes et les <a target="_blank"
href="{{ path("service_cgu") }}">conditions générales dutilisation</a>
</label>
{% endspaceless %}
{% endblock %}
</div>
<div class="mb-3">
{{ form_row(register_form._token) }}
token {{ csrf_token }}
{% if csrf_token %}
<input type="hidden" name="_csrf_token" ID="_csrf_token" value="{{ csrf_token }}" />
{% endif %}
<input type="hidden" name="_csrf_token" value="{{ csrf_token('authenticate') }}">
<input class="btn btn-default btn-round" type="submit" id="_submit_register" name="_submit_register"
value="Créer un compte!" />
<button type="submit" class="btn btn-block btn-primary">S'inscrire</button>
</div>
<div class="text-center mb-3">
<p class="text-muted">
Vous avez déjà un compte? {{ csrf_token }}!!
<a class="js-animation-link" href="javascript:;" data-target="#signin" data-link-group="idForm"
data-animation-in="fadeIn">Connexion Recruteur
</a>
</p>
</div>
<!-- Divider -->
<div class="text-center u-divider-wrapper my-3">
</div>
<div class="text-center mb-3">
<p class="text-muted">
<!-- End Divider -->
{% if destination_login is defined %}
<input type="hidden" name="_target_path" value="{{ destination_login }}" />
{% endif %}
</p>
</div>
</div>
<!-- End Signup -->
{{ form_rest(register_form) }}
{{ form_end(register_form) }}
</div>
{% endblock fos_user_content %}
@@ -2,7 +2,7 @@
<html lang="fr">
<head>
<!-- Title -->
<title>Creative Agency | Space - Responsive Website Template</title>
<title>Talents Tube : Le 1er job board 100% vidéo</title>
<!-- Required Meta Tags Always Come First -->
<meta charset="utf-8">
@@ -1,7 +1,7 @@
<!-- Candidat DEBUT -->
<div class="space-1-bottom accueilFondNoir">
<div class="container space-2 ">
<div class="row align-items-lg-center">
<div class="row justify-content-lg-end">
<div class="col-md-6 order-md-2 mb-5 mb-md-0">
<!-- Title -->
<div class="mb-4">
@@ -15,14 +15,14 @@
<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="#">En savoir plus</a>
<a class="btn btn-sm btn-primary btn-wide" href="candidatures-cv-video">En savoir plus</a>
</div>
</div>
<div class="col-md-6 order-md-1">
<div class="pr-lg-4">
<img class="img-fluid" src="{{ asset('v2/png/candidature-en-video.png') }}" alt="Image Description">
<a href="candidatures-cv-video"><img class="img-fluid" src="{{ asset('v2/png/candidature-en-video.png') }}" alt="Candidature en vidéo"></a>
</div>
</div>
</div>
@@ -1,9 +1,9 @@
<!-- Degradé avec Stats Section -->
<div class="gradient-overlay-half-primary-v1">
<div class="bg-img-hero" style="background-image: url({{ asset('v2/img/bg/bg2.png')}} ">
<div class="container space-2 space-3--lg ">
<div class="container position-relative z-index-2 containerStat">
<div class="bg-gray-100 shadow-lg rounded mt-n9">
<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 -->
@@ -52,7 +52,7 @@
<!-- Icon Blocks Section -->
<div class="container ">
<div class="row">
<div class="row space-1">
<div class="col-md-4 mb-7 mb-md-0">
<!-- Icon Blocks -->
<div class="text-center px-lg-3">
@@ -65,7 +65,7 @@
<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/Gestion-des-candidatures-video.svg') }}" alt="Logo">
<img src="{{ asset('v2/svg/components/candidature-en-video.svg') }}" alt="Logo">
<h3 class="h4 text-white">Recevez les candidatures en <a href="#">vidéo</a></h3>
</div>
<!-- End Icon Blocks -->
@@ -74,7 +74,7 @@
<div class="col-md-4">
<!-- Icon Blocks -->
<div class="text-center px-lg-3">
<img src="{{ asset('v2/svg/components/candidature-en-video.svg') }}" alt="Logo">
<img src="{{ asset('v2/svg/components/Gestion-des-candidatures-video.svg') }}" alt="Logo">
<h3 class="h4 text-white">Gérez vos candidatures en <a href="#">vidéo</a></h3>
</div>
<!-- End Icon Blocks -->
@@ -16,14 +16,14 @@
communication
et de votre gestion des ressources humaines.</strong>
</p>
<a class="btn btn-sm btn-primary btn-wide" href="#">Voir la plateforme</a>
<a class="btn btn-sm btn-primary btn-wide" href="marque-employeur-en-video">En savoir plus</a>
</div>
</div>
<div class="col-md-6 order-md-1">
<div class="pr-lg-4">
<img class="img-fluid" src="{{ asset('v2/png/marque-employeur-en-video.png') }}" alt="Image Description">
<a href="marque-employeur-en-video"><img class="img-fluid" src="{{ asset('v2/png/marque-employeur-en-video.png') }}" alt="Marque employeur vidéo"></a>
</div>
</div>
</div>
@@ -0,0 +1,147 @@
{% trans_default_domain 'FOSUserBundle' %}
<!-- Signup Modal Window -->
<div id="signupModal" class="js-signup-modal u-modal-window" style="width: 500px;">
<!-- Modal Close Button -->
<button class="btn btn-sm btn-icon btn-text-secondary u-modal-window__close" type="button"
onclick="Custombox.modal.close();">
<i class="fas fa-times"></i>
</button>
<!-- End Modal Close Button -->
<!-- Content -->
<div class="p-5 bg-white rounded">
<form action="{{ path("fos_user_security_check") }}" method="post">
{% if csrf_token %}
<input type="hidden" name="_csrf_token" value="{{ csrf_token }}" />
{% endif %}
<!-- Signin -->
<div id="signin" data-target-group="idForm">
<!-- Title -->
<header class="text-center mb-5">
<h2 class="h4 mb-0">Connexion</h2>
<p>Connecter vous pour gérer votre compte</p>
</header>
<!-- Input -->
<div class="js-form-message mb-3">
<div class="js-focus-state input-group form">
<div class="input-group-prepend form__prepend">
<span class="input-group-text form__text">
<i class="fa fa-user form__text-inner"></i>
</span>
</div>
{# <input type="email" class="form-control form__input" name="email" required placeholder="Email"
aria-label="Email" data-msg="Please enter a valid email address." data-error-class="u-has-error"
data-success-class="u-has-success"> #}
<input type="text" id="username" name="_username" value="{{ last_username }}" required="required" />
</div>
</div>
<!-- End Input -->
<!-- Input -->
<div class="js-form-message mb-3">
<div class="js-focus-state input-group form">
<div class="input-group-prepend form__prepend">
<span class="input-group-text form__text">
<i class="fa fa-lock form__text-inner"></i>
</span>
</div>
{# <input type="password" class="form-control form__input" name="password" required placeholder="Password"
aria-label="Password" data-msg="Your password is invalid. Please try again."
data-error-class="u-has-error" data-success-class="u-has-success"> #}
<input type="password" id="password" name="_password" required="required" />
</div>
</div>
<!-- End Input -->
<div class="row mb-3">
<div class="col-6">
<!-- Checkbox -->
<div class="custom-control custom-checkbox d-flex align-items-center text-muted">
<input type="checkbox" id="remember_me" name="_remember_me" value="on" />
<label class="custom-control-label" for="rememberMeCheckbox">
Se souvenir de moi
</label>
</div>
<!-- End Checkbox -->
</div>
<div class="col-6 text-right">
<a class="js-animation-link float-right" href="javascript:;" data-target="#forgotPassword"
data-link-group="idForm" data-animation-in="fadeIn">Mot de passe oublié?</a>
</div>
</div>
<div class="mb-3">
<input type="hidden" name="_target_path" value="redirect_dashboard" />
<input type="submit" id="_submit" name="_submit" class="btn btn-block btn-primary"/>
</div>
<div class="text-center mb-3">
<p class="text-muted">
Do not have an account?
<a class="js-animation-link" href="javascript:;" data-target="#signup" data-link-group="idForm"
data-animation-in="fadeIn">S'inscrire
</a>
</p>
</div>
</div>
</form>
{% if app.request.get('_route') != "fos_user_security_login" %}
{{ render(controller('AppBundle:SecurityModal:loginModalV2')) }}
{% endif %}
<!-- Forgot Password -->
<div id="forgotPassword" style="display: none; opacity: 0;" data-target-group="idForm">
<!-- Title -->
<header class="text-center mb-5">
<h2 class="h4 mb-0">Recover account</h2>
<p>Enter your email address and an email with instructions will be sent to you.</p>
</header>
<!-- End Title -->
<!-- Input -->
<div class="js-form-message mb-3">
<div class="js-focus-state input-group form">
<div class="input-group-prepend form__prepend">
<span class="input-group-text form__text">
<i class="fa fa-user form__text-inner"></i>
</span>
</div>
<input type="email" class="form-control form__input" name="email" required placeholder="Email"
aria-label="Email" data-msg="Please enter a valid email address." data-error-class="u-has-error"
data-success-class="u-has-success">
</div>
</div>
<!-- End Input -->
<div class="mb-3">
<button type="submit" class="btn btn-block btn-primary">Recover Account</button>
</div>
<div class="text-center mb-3">
<p class="text-muted">
Have an account?
<a class="js-animation-link" href="javascript:;" data-target="#signin" data-link-group="idForm"
data-animation-in="fadeIn">Contactez nous
</a>
</p>
</div>
<div class="text-center mb-3">
<p class="text-muted">
Have an account?
<a class="js-animation-link" href="javascript:;" data-target="#signin" data-link-group="idForm"
data-animation-in="fadeIn">Connexion Recruteur
</a>
</p>
</div>
</div>
<!-- End Forgot Password -->
</div>
<!-- End Content -->
</div>
<!-- End Signup Modal Window -->
<!-- ========== END SECONDARY CONTENTS ========== -->
@@ -1,13 +1,13 @@
<!-- Accueil Photo Haut Section -->
<div class="bg-img-hero-center" style="background-image: url({{ asset('v2/img/1920x800/recrutement-video.jpg')}} ">
<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"></strong>
<br>avec la vidéo
<strong class="u-text-animation u-text-animation--typing">{{textParDefaut}}</strong>
<br>{{textVideo}}
</h1>
</div>
@@ -1,10 +1,10 @@
<!-- Plateforme DEBUT -->
<div class="space-1-bottom accueilFondBleute">
<div class=" accueilFondBleute">
<div class="container space-2 ">
<div class="row align-items-lg-center">
<div class="col-lg-5 mb-9 mb-lg-0">
<div class="row row justify-content-lg-end ">
<div class="col-md-6 ">
<!-- Title <div class="col-md-6 order-md-2 mb-5 mb-md-0">-->
<div class="mb-4">
<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.
@@ -16,15 +16,15 @@
<strong>Diffusez vos vidéos de recrutement et augmentez votre visibilité.</strong>
</p>
<a class="btn btn-sm btn-primary btn-wide" href="#">Voir la plateforme</a>
<a class="btn btn-sm btn-primary btn-wide" href="{{ url_plateforme }}">Voir la plateforme</a>
</div>
</div>
<div class="col-md-6 order-md-1">
<div class="pr-lg-4">
<img class="img-fluid" src="{{ asset('v2/png/plateforme-de-recrutement-en-video.png') }}"
alt="Image Description">
<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>
@@ -1,12 +1,12 @@
<!-- Recrutez DEBUT -->
<div class="space-1-bottom accueilFondBleute">
<div class="space1-bottom accueilFondBleute">
<div class="container space-2 ">
<div class="row align-items-lg-center">
<div class="col-lg-5 mb-9 mb-lg-0">
<div class="row justify-content-lg-end ">
<div class="col-md-6 ">
<!-- Title <div class="col-md-6 order-md-2 mb-5 mb-md-0">-->
<div class="mb-4">
<div class="mb-6">
<h2 class="h3"> Recrutez avec des offres demploi vidéo</h2>
<p> alents Tube peut vous accompagner dans la réalisation de vidéos doffres demploi captivantes et à votre
<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
@@ -16,14 +16,14 @@
<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="#">Voir la plateforme</a>
<a class="btn btn-sm btn-primary btn-wide" href="offre-emploi-video">En savoir plus</a>
</div>
</div>
<div class="col-md-6 order-md-1">
<div class="pr-lg-4">
<img class="img-fluid" src="{{ asset('v2/png/offres-emploi-en-video.png') }}" alt="Image Description">
<div class="mb-6">
<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>
@@ -1,9 +1,11 @@
<!-- Témoignage DEBUT -->
<div class="space-2-top space-1-bottom space-3-top--lg accueilFondNoir">
<!-- 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">
<h6 class="text-uppercase text-gray-700 font-weight-medium letter-spacing-0_06 mb-3"> Ils ont choisi Talents Tube pour recruter différemment.</h6>
<h6 class="text-uppercase text-gray-700 font-weight-medium letter-spacing-0_06 mb-3"> Ils ont choisi Talents Tube
pour recruter différemment.</h6>
<h2 class="text-lh-xs mb-0">Témoignages de nos clients</h2>
</div>
<!-- End Title -->
@@ -17,23 +19,22 @@
<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 mb-4">MGDIS</h3>
<h3 class="h2 text-lh-SMGDIS</h3>
<p class="text-white-70 mb-4">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="MGDIS"
data-is-infinite=true>
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">
<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>
<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>
@@ -49,19 +50,18 @@
<p class="text-white-70 mb-4">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?autoplay=1"
data-speed="700"
data-animate-in="zoomIn"
data-animate-out="zoomOut"
data-caption="Medaviz"
data-is-infinite=true>
data-src="https://www.youtube.com/watch?v=CZDfD2ugXtg&t" 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">
<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>
<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>
@@ -76,20 +76,19 @@
<h3 class="h2 text-lh-xs mb-4">Thalazur Carnac</h3>
<p class="text-white-70 mb-4">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="Thalazur Carnac"
data-is-infinite=true>
<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">
<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>
<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>
@@ -97,6 +96,37 @@
</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 mb-4">Intermarché LAI</h3>
<p class="text-white-70 mb-4">Ludovic Chamoin-Foucaut, Responsable Ressources Humaines</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 -->
@@ -105,7 +135,8 @@
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/mgdis-temoignage-vignette.jpg') }}" alt="Image Description">
<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"
@@ -122,7 +153,8 @@
</div>
<div class="js-slide rounded overflow-hidden">
<img class="img-fluid" src="{{ asset('v2/temoignages/medaviz-temoignage-vignette.jpg') }}" alt="Image Description">
<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"
@@ -139,7 +171,8 @@
</div>
<div class="js-slide rounded overflow-hidden">
<img class="img-fluid" src="{{ asset('v2/temoignages/thalazur-carnac-temoignage-vignette.jpg') }}" alt="Image Description">
<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"
@@ -154,9 +187,28 @@
</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 -->
</div>
<!-- End Success stories -->
<!-- Témoignage FIN -->
@@ -0,0 +1,85 @@
<!-- ========== FOOTER ========== -->
<footer class="bg-dark">
<div class="container space-2">
<div class="row justify-content-md-between">
<div class="col-6 col-md-3 col-lg-2 order-lg-3 mb-7 mb-lg-0">
<h3 class="h6 text-white mb-3">Plateforme</h3>
<!-- List Group -->
<div class="list-group list-group-flush list-group-transparent">
<!-- Links -->
<ul class="list-unstyled">
<li><a class="nav-link u-header__sub-menu-nav-link px-0" href="/">Espace recruteurs</a></li>
<li><a class="nav-link u-header__sub-menu-nav-link px-0" href="https://app.talentstube.com" target="_blank">Jobs</a></li>
<li><a class="nav-link u-header__sub-menu-nav-link px-0" href="#" target="_blank">CV Vidéothèque (En cours)</a></li>
</ul>
<!-- End Links -->
</div>
<!-- End List Group -->
</div>
<div class="col-6 col-md-3 col-lg-2 order-lg-4 mb-7 mb-lg-0">
<h3 class="h6 text-white mb-3">Informations</h3>
<!-- List Group -->
<div class="list-group list-group-flush list-group-transparent">
<!-- Links -->
<ul class="list-unstyled">
<li><a class="nav-link u-header__sub-menu-nav-link px-0" href="mentions">Mentions légales</a></li>
<li><a class="nav-link u-header__sub-menu-nav-link px-0" href="cgu">CGU</a></li>
<li><a class="nav-link u-header__sub-menu-nav-link px-0" href="confidentialite">Politique de confidentialité</a></li>
<li><a class="nav-link u-header__sub-menu-nav-link px-0" href="contact">Contact</a></li>
</ul>
<!-- End Links -->
</div>
<!-- End List Group -->
</div>
<div class="col-6 col-md-3 col-lg-2 order-lg-5 mb-7 mb-lg-0">
<h3 class="h6 text-white mb-3">Réseaux sociaux</h3>
<!-- List -->
<div class="list-group list-group-flush list-group-transparent">
<a class="list-group-item list-group-item-action" href="https://www.facebook.com/TalentsTuber/" target="_blank">
<i class="fab fa-facebook-f min-width-3 text-center mr-2"></i>
Facebook
</a>
<a class="list-group-item list-group-item-action" href="https://www.linkedin.com/company/talentstube" target="_blank">
<i class="fab fa-linkedin min-width-3 text-center mr-2"></i>
Linkedin
</a>
<a class="list-group-item list-group-item-action" href="https://www.instagram.com/talents.tube/" target="_blank">
<i class="fab fa-instagram min-width-3 text-center mr-2"></i>
Instagram
</a>
<a class="list-group-item list-group-item-action" href="https://twitter.com/TalentsTuber" target="_blank">
<i class="fab fa-twitter min-width-3 text-center mr-2"></i>
Twitter
</a>
<a class="list-group-item list-group-item-action" href="https://www.youtube.com/channel/UCRNqiJCLAorO0aCzNQu-8ww" target="_blank">
<i class="fab fa-youtube min-width-3 text-center mr-2"></i>
Youtube
</a>
</div>
<!-- End List -->
</div>
<!-- End List Group -->
</div>
<div class="col-lg-4 order-lg-1 d-flex align-items-start flex-column">
<!-- Logo -->
<a class="d-inline-block mb-5" href="index.html" aria-label="Space">
<img src="{{ asset('v2/svg/logos/talentstube-logo-mobile.svg') }}" alt="Logo" style="width: 40px; max-width: 100%;">
</a>
<!-- End Logo -->
<p class="small text-muted">Tous droits réservés. &copy; 2020 Talents Tube.</p>
</div>
</div>
</div>
</footer>
<!-- ========== END FOOTER ========== -->
@@ -4,7 +4,12 @@
{% block content %}
<main id="content">
{% include 'defaultv2/accueil/blocPhoto.html.twig' %}
{% include 'defaultv2/accueil/blocPhoto.html.twig'
with {
'urlImage': 'v2/img/1920x800/recrutement-video.jpg',
'textParDefaut' : 'Recrutez les candidats',
'textVideo' : 'avec la vidéo'
} %}
{% include 'defaultv2/accueil/blocDegrade.html.twig' %}
@@ -20,76 +25,10 @@
{% include 'defaultv2/accueil/blocConfiance.html.twig' %}
</main>
<!-- ========== END MAIN CONTENT ========== -->
<!-- ========== FOOTER ========== -->
<footer class="bg-dark">
<div class="container space-2">
<div class="row justify-content-md-between">
<div class="col-6 col-md-3 col-lg-2 order-lg-3 mb-7 mb-lg-0">
<h3 class="h6 text-white mb-3">About</h3>
<!-- List Group -->
<div class="list-group list-group-flush list-group-transparent">
</div>
<!-- End List Group -->
</div>
<div class="col-6 col-md-3 col-lg-2 order-lg-4 mb-7 mb-lg-0">
<h3 class="h6 text-white mb-3">Company</h3>
<!-- List Group -->
<div class="list-group list-group-flush list-group-transparent">
</div>
<!-- End List Group -->
</div>
<div class="col-6 col-md-3 col-lg-2 order-lg-5 mb-7 mb-lg-0">
<h3 class="h6 text-white mb-3">Blog</h3>
<!-- List Group -->
<div class="list-group list-group-flush list-group-transparent">
</div>
<!-- End List Group -->
</div>
<div class="col-6 col-md-3 col-lg-2 order-lg-6 mb-7 mb-lg-0">
<h3 class="h6 text-white mb-3">Social</h3>
<!-- List -->
<div class="list-group list-group-flush list-group-transparent">
<a class="list-group-item list-group-item-action" href="#">
<i class="fab fa-facebook-f min-width-3 text-center mr-2"></i>
Facebook
</a>
</div>
<!-- End List -->
</div>
<div class="col-lg-4 order-lg-1 d-flex align-items-start flex-column">
<!-- Logo -->
<a class="d-inline-block mb-5" href="index.html" aria-label="Space">
<img src="{{ asset('v2/svg/logos/talentstube-logo-mobile.svg') }}" alt="Logo" style="width: 40px; max-width: 100%;">
</a>
<!-- End Logo -->
<p class="small text-muted">Tous droits réservés. &copy; Space. 2020 Talents Tube.</p>
</div>
</div>
</div>
</footer>
<!-- ========== END FOOTER ========== -->
{% include 'defaultv2/accueil/footer.html.twig' %}
<!-- ========== SECONDARY CONTENTS ========== -->
<!-- Panel Sidebar Navigation -->
@@ -236,265 +175,15 @@
</aside>
<!-- End Panel Sidebar Navigation -->
<!-- Signup Modal Window -->
<div id="signupModal" class="js-signup-modal u-modal-window" style="width: 500px;">
<!-- Modal Close Button -->
<button class="btn btn-sm btn-icon btn-text-secondary u-modal-window__close" type="button"
onclick="Custombox.modal.close();">
<i class="fas fa-times"></i>
</button>
<!-- End Modal Close Button -->
<!-- Content -->
<div class="p-5 bg-white rounded">
<form class="js-validate">
<!-- Signin -->
<div id="signin" data-target-group="idForm">
<!-- Title -->
<header class="text-center mb-5">
<h2 class="h4 mb-0">Please sign in</h2>
<p>Signin to manage your account.</p>
</header>
<!-- End Title -->
<!-- Input -->
<div class="js-form-message mb-3">
<div class="js-focus-state input-group form">
<div class="input-group-prepend form__prepend">
<span class="input-group-text form__text">
<i class="fa fa-user form__text-inner"></i>
</span>
</div>
<input type="email" class="form-control form__input" name="email" required placeholder="Email"
aria-label="Email" data-msg="Please enter a valid email address." data-error-class="u-has-error"
data-success-class="u-has-success">
</div>
</div>
<!-- End Input -->
<!-- Input -->
<div class="js-form-message mb-3">
<div class="js-focus-state input-group form">
<div class="input-group-prepend form__prepend">
<span class="input-group-text form__text">
<i class="fa fa-lock form__text-inner"></i>
</span>
</div>
<input type="password" class="form-control form__input" name="password" required placeholder="Password"
aria-label="Password" data-msg="Your password is invalid. Please try again."
data-error-class="u-has-error" data-success-class="u-has-success">
</div>
</div>
<!-- End Input -->
<div class="row mb-3">
<div class="col-6">
<!-- Checkbox -->
<div class="custom-control custom-checkbox d-flex align-items-center text-muted">
<input type="checkbox" class="custom-control-input" id="rememberMeCheckbox">
<label class="custom-control-label" for="rememberMeCheckbox">
Remember Me
</label>
</div>
<!-- End Checkbox -->
</div>
<div class="col-6 text-right">
<a class="js-animation-link float-right" href="javascript:;" data-target="#forgotPassword"
data-link-group="idForm" data-animation-in="fadeIn">Mot de passe oublié?</a>
</div>
</div>
<div class="mb-3">
<button type="submit" class="btn btn-block btn-primary">Connexion</button>
</div>
<div class="text-center mb-3">
<p class="text-muted">
Do not have an account?
<a class="js-animation-link" href="javascript:;" data-target="#signup" data-link-group="idForm"
data-animation-in="fadeIn">Signup
</a>
</p>
</div>
<!-- Divider -->
<div class="text-center u-divider-wrapper my-3">
<span class="u-divider u-divider--xs u-divider--text">OR</span>
</div>
<!-- End Divider -->
<!-- Signin Social Buttons -->
<div class="row mx-gutters-2 mb-4">
<div class="col-sm-6 mb-2 mb-sm-0">
<button type="button" class="btn btn-block btn-facebook text-nowrap">
<i class="fab fa-facebook-f mr-2"></i>
Signin with Facebook
</button>
</div>
<div class="col-sm-6">
<button type="button" class="btn btn-block btn-twitter">
<i class="fab fa-twitter mr-2"></i>
Signin with Twitter
</button>
</div>
</div>
<!-- End Signin Social Buttons -->
</div>
<!-- End Signin -->
<!-- Signup -->
<div id="signup" style="display: none; opacity: 0;" data-target-group="idForm">
<!-- Title -->
<header class="text-center mb-5">
<h2 class="h4 mb-0">Please sign up</h2>
<p>Fill out the form to get started.</p>
</header>
<!-- End Title -->
<!-- Input -->
<div class="js-form-message mb-3">
<div class="js-focus-state input-group form">
<div class="input-group-prepend form__prepend">
<span class="input-group-text form__text">
<i class="fa fa-user form__text-inner"></i>
</span>
</div>
<input type="email" class="form-control form__input" name="email" required placeholder="Email"
aria-label="Email" data-msg="Please enter a valid email address." data-error-class="u-has-error"
data-success-class="u-has-success">
</div>
</div>
<!-- End Input -->
<!-- Input -->
<div class="js-form-message mb-3">
<div class="js-focus-state input-group form">
<div class="input-group-prepend form__prepend">
<span class="input-group-text form__text">
<i class="fa fa-lock form__text-inner"></i>
</span>
</div>
<input type="password" class="form-control form__input" name="password" id="password" required
placeholder="Password" aria-label="Password" data-msg="Your password is invalid. Please try again."
data-error-class="u-has-error" data-success-class="u-has-success">
</div>
</div>
<!-- End Input -->
<!-- Input -->
<div class="js-form-message mb-3">
<div class="js-focus-state input-group form">
<div class="input-group-prepend form__prepend">
<span class="input-group-text form__text">
<i class="fa fa-key form__text-inner"></i>
</span>
</div>
<input type="password" class="form-control form__input" name="confirmPassword" required
placeholder="Confirm Password" aria-label="Confirm Password"
data-msg="Password does not match the confirm password." data-error-class="u-has-error"
data-success-class="u-has-success">
</div>
</div>
<!-- End Input -->
<div class="mb-3">
<button type="submit" class="btn btn-block btn-primary">Signup</button>
</div>
<div class="text-center mb-3">
<p class="text-muted">
Have an account?
<a class="js-animation-link" href="javascript:;" data-target="#signin" data-link-group="idForm"
data-animation-in="fadeIn">Conenxion Recruteur
</a>
</p>
</div>
<!-- Divider -->
<div class="text-center u-divider-wrapper my-3">
<span class="u-divider u-divider--xs u-divider--text">OR</span>
</div>
<!-- End Divider -->
<!-- Signup Social Buttons -->
<div class="row mx-gutters-2 mb-4">
<div class="col-sm-6 mb-2 mb-sm-0">
<button type="button" class="btn btn-block btn-facebook text-nowrap">
<i class="fab fa-facebook-f mr-2"></i>
Signup with Facebook
</button>
</div>
<div class="col-sm-6">
<button type="button" class="btn btn-block btn-twitter">
<i class="fab fa-twitter mr-2"></i>
Signup with Twitter
</button>
</div>
</div>
<!-- End Signup Social Buttons -->
</div>
<!-- End Signup -->
<!-- Forgot Password -->
<div id="forgotPassword" style="display: none; opacity: 0;" data-target-group="idForm">
<!-- Title -->
<header class="text-center mb-5">
<h2 class="h4 mb-0">Recover account</h2>
<p>Enter your email address and an email with instructions will be sent to you.</p>
</header>
<!-- End Title -->
<!-- Input -->
<div class="js-form-message mb-3">
<div class="js-focus-state input-group form">
<div class="input-group-prepend form__prepend">
<span class="input-group-text form__text">
<i class="fa fa-user form__text-inner"></i>
</span>
</div>
<input type="email" class="form-control form__input" name="email" required placeholder="Email"
aria-label="Email" data-msg="Please enter a valid email address." data-error-class="u-has-error"
data-success-class="u-has-success">
</div>
</div>
<!-- End Input -->
<div class="mb-3">
<button type="submit" class="btn btn-block btn-primary">Recover Account</button>
</div>
<div class="text-center mb-3">
<p class="text-muted">
Have an account?
<a class="js-animation-link" href="javascript:;" data-target="#signin" data-link-group="idForm"
data-animation-in="fadeIn">Contactez nous
</a>
</p>
</div>
<div class="text-center mb-3">
<p class="text-muted">
Have an account?
<a class="js-animation-link" href="javascript:;" data-target="#signin" data-link-group="idForm"
data-animation-in="fadeIn">Connexion Recruteur.
</a>
</p>
</div>
</div>
<!-- End Forgot Password -->
</form>
</div>
<!-- End Content -->
</div>
<!-- End Signup Modal Window -->
<!-- ========== END SECONDARY CONTENTS ========== -->
<!-- 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": 15, "right": 15 }' data-type="fixed"
<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>
@@ -593,6 +282,7 @@
// 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"],
@@ -615,12 +305,11 @@
$(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)
console.log("test");
$("#logoAndNav").css("background-color","#000"); // 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
console.log("test2");
$("#sidebarNavToggler").css("color", "#000");
}
});
});
@@ -0,0 +1,43 @@
<!-- Plateforme DEBUT -->
<div class=" accueilFondBlanc">
<div class="container space-2 ">
<!-- Video Section -->
<div class="">
<div class="container space-2-bottom space-3-bottom--lg">
<div class=" text-center mx-auto">
<!-- Video Block -->
<div id="youTubeVideoPlayer" class="u-video-player mb-7">
<!-- Cover Image -->
<img class="img-fluid u-video-player__preview" src="{{ asset('v2/img/1920x800/tutoriel-video-de-motivation-cv-video.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=CZDfD2ugXtg&t"
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 -->
<!-- Title -->
<h2 class="h3">Accompagnement candidats</h2>
<p>Suivez nos conseils pour postuler simplement aux offres demploi.</p>
<!-- End Title -->
</div>
</div>
</div>
<!-- End Video Section -->
</div>
</div>
<!-- Plateforme FIN -->
@@ -0,0 +1,28 @@
<!-- Recrutez DEBUT -->
<div class="space1-bottom accueilFondBleute">
<div class="container space-2 ">
<div class="row align-items-lg-center">
<div class="col-md-6 order-md-2 mb-5 mb-md-0">
<!-- Title <div class="col-md-6 order-md-2 mb-5 mb-md-0">-->
<div class="mb-6">
<h2 class="h3"> Découvrez les candidats autrement</h2>
<p> Ces dernières années, les recruteurs ont vu apparaître de nouvelles formes de candidatures inédites. Les candidats révolutionnent le recrutement en optant pour de nouvelles tendances : profil Linkedin, pitch Mail, profil vidéo ou encore CV vidéo. La vidéo a également pris une place importante dans notre société.
La candidature en vidéo ou vidéo de motivation savère être un outil performant qui répond parfaitement à vos attentes. Elle propose une approche plus humaine du recrutement et dévoile ce qui ne se voit pas sur le papier.
En plus des savoirs et savoir-faire, la candidature vidéo met en lumière le savoir-être et le savoir devenir des candidats. Vous pouvez cerner la personnalité du candidat et son projet professionnel en quelques instants.
</p>
<a class="btn btn-sm btn-primary btn-wide" href="#">Voir la plateforme</a>
</div>
</div>
<div class="col-md-6 order-md-1">
<div class="mb-6">
<img class="img-fluid" src="{{ asset('v2/png/offres-emploi-en-video.png') }}" alt="Image Description">
</div>
</div>
</div>
</div>
</div>
<!-- Recrutez FIN -->
@@ -0,0 +1,29 @@
<!-- Plateforme DEBUT -->
<div class=" accueilFondBleute">
<div class="container space-2 ">
<div class="row row justify-content-lg-end ">
<div class="col-md-6 ">
<!-- Title <div class="col-md-6 order-md-2 mb-5 mb-md-0">-->
<div class="mb-6">
<h2 class="h3"> Le CV classique : la fin dun modèle</h2>
<p> Dans un monde où les technologies, les compétences techniques ou hard skills évoluent très rapidement, le savoir-faire nest plus le principal critère de sélection des candidats.
Aujourdhui, votre entreprise recherche de plus en plus des compétences comportementales ou communément appelées “soft skills”. Il est difficile, voire impossible pour le candidat de communiquer ses qualités humaines à travers son CV.
Vous éprouvez des difficultés à détecter le talent quil vous faut ? Le CV papier ne vous suffit plus ? Vous souhaitez en savoir plus sur le candidat avant de faire votre choix ? Nous réinventons pour vous, la mise en relation pour lemploi.
</p>
<a class="btn btn-sm btn-primary btn-wide" href="#">Voir la plateforme</a>
</div>
</div>
<div class="col-md-6 align-right paddintRight">
<div class="mb-6">
<img class="img-fluid" src="{{ asset('v2/png/plateforme-de-recrutement-en-video.png') }}"
alt="Image Description">
</div>
</div>
</div>
</div>
</div>
<!-- Plateforme FIN -->
@@ -0,0 +1,89 @@
<!-- Recrutez DEBUT -->
<div class="space1-bottom accueilFondBleute">
<!-- Gallery -->
<div class="container space-1 space-2--sm space-3-bottom--lg">
<div class="row mb-7">
<!-- Gallery Heading -->
<div class="col-lg-5">
<h2 class="font-weight-normal">Exemple de<br class="d-none d-xl-inline-block"> vidéos de présentation</h2>
</div>
<!-- End Gallery Heading -->
<!-- Gallery Description -->
<div class="col-lg-5 ml-lg-auto text-muted">
Ils ont postulé aux offres d'emploi vidéo
</div>
<!-- End Gallery Description -->
</div>
<!-- Slick Carousel -->
<div class="js-slick-carousel js-slick-gallery u-slick u-slick--equal-height u-slick--blurex u-slick--center-mode-right u-slick--gutters-3"
data-infinite="true"
data-slides-show="4"
data-center-mode="true"
data-center-padding="150px"
data-arrows-classes="u-slick__arrow-classic u-slick__arrow-classic--lg u-slick__arrow-centered--y rounded-circle"
data-arrow-left-classes="fa fa-arrow-left u-slick__arrow-classic-inner bg-white opacity opacity-default--hover text-dark u-slick__arrow-classic-inner--left left-3 left-sm-7 opacity-0"
data-arrow-right-classes="fa fa-arrow-right u-slick__arrow-classic-inner bg-white opacity opacity-default--hover text-dark u-slick__arrow-classic-inner--right right-3 right-sm-7"
data-responsive='[{
"breakpoint": 992,
"settings": {
"slidesToShow": 3
}
}, {
"breakpoint": 768,
"settings": {
"slidesToShow": 2
}
}, {
"breakpoint": 300,
"settings": {
"slidesToShow": 1
}
}]'>
<div class="js-slide my-3 lift-lg shadow-2-sm-hover">
<a class="w-100 card bg-img-hero border-0 gradient-overlay-half-dark-v2-3 min-height-320 text-white rounded-pseudo p-4" href="#" style="background-image: url({{ asset('v2/img/candidatures/video-de-reponse-offre-emploi-1.jpg') }});">
<div class="mt-auto text-center">
<h5 class="font-weight-normal">Swimming Pool</h5>
</div>
</a>
</div>
<div class="js-slide my-3 lift-lg shadow-2-sm-hover">
<a class="w-100 card bg-img-hero border-0 gradient-overlay-half-dark-v2-3 min-height-320 text-white rounded-pseudo p-4" href="#" style="background-image: url({{ asset('v2/img/candidatures/video-de-reponse-offre-emploi-2.jpg') }});">
<div class="mt-auto text-center">
<h5 class="font-weight-normal">Restaurants</h5>
</div>
</a>
</div>
<div class="js-slide my-3 lift-lg shadow-2-sm-hover">
<a class="w-100 card bg-img-hero border-0 gradient-overlay-half-dark-v2-3 min-height-320 text-white rounded-pseudo p-4" href="#" style="background-image: url({{ asset('v2/img/candidatures/video-de-reponse-offre-emploi-3.jpg') }});">
<div class="mt-auto text-center">
<h5 class="font-weight-normal">Sunset</h5>
</div>
</a>
</div>
<div class="js-slide my-3 lift-lg shadow-2-sm-hover">
<a class="w-100 card bg-img-hero border-0 gradient-overlay-half-dark-v2-3 min-height-320 text-white rounded-pseudo p-4" href="#" style="background-image: url({{ asset('v2/img/candidatures/video-de-reponse-offre-emploi-4.jpg') }});">
<div class="mt-auto text-center">
<h5 class="font-weight-normal">Gym</h5>
</div>
</a>
</div>
<div class="js-slide my-3 lift-lg shadow-2-sm-hover">
<a class="w-100 card bg-img-hero border-0 gradient-overlay-half-dark-v2-3 min-height-320 text-white rounded-pseudo p-4" href="#" style="background-image: url({{ asset('v2/img/candidatures/video-de-reponse-offre-emploi-5.jpg') }});">
<div class="mt-auto text-center">
<h5 class="font-weight-normal">Spa/Massage</h5>
</div>
</a>
</div>
</div>
<!-- End Slick Carousel -->
</div>
<!-- End Gallery -->
</div>
<!-- Recrutez FIN -->
@@ -0,0 +1,21 @@
<!-- Degradé avec Stats Section -->
<div class="gradient-overlay-half-primary-v1">
<div class="container text-center space-2-top space-3-top--lg space-3-bottom">
<div class="w-md-80 w-lg-60 text-center mx-auto">
<!-- SVG Quote -->
<figure class="mx-auto mb-4" style="width: 50px;">
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
viewBox="0 0 8 8" style="enable-background:new 0 0 8 8;" xml:space="preserve">
<path fill="#e3e6f0" d="M3,1.3C2,1.7,1.2,2.7,1.2,3.6c0,0.2,0,0.4,0.1,0.5c0.2-0.2,0.5-0.3,0.9-0.3c0.8,0,1.5,0.6,1.5,1.5c0,0.9-0.7,1.5-1.5,1.5
C1.4,6.9,1,6.6,0.7,6.1C0.4,5.6,0.3,4.9,0.3,4.5c0-1.6,0.8-2.9,2.5-3.7L3,1.3z M7.1,1.3c-1,0.4-1.8,1.4-1.8,2.3
c0,0.2,0,0.4,0.1,0.5c0.2-0.2,0.5-0.3,0.9-0.3c0.8,0,1.5,0.6,1.5,1.5c0,0.9-0.7,1.5-1.5,1.5c-0.7,0-1.1-0.3-1.4-0.8
C4.4,5.6,4.4,4.9,4.4,4.5c0-1.6,0.8-2.9,2.5-3.7L7.1,1.3z"/>
</svg>
</figure>
<h2 class="text-white text-center">Fini le papier, faîtes place à la vidéo !</h2>
</div>
</div>
</div>
</div>
<!-- Degradé avec Stats FIN-->
@@ -0,0 +1,93 @@
<!-- Plateforme DEBUT -->
<div class=" accueilFondBlanc">
<div class="container space-2 ">
<div class="card-deck d-block d-lg-flex">
<div class="card card-frame mb-5">
<!-- Listing -->
<a class="card-body p-4" href="#">
<div class="media">
<img class="max-width-9 mb-2" src="{{ asset('v2/svg/components/consult-cyan-icon.svg') }}" alt="Image Description">
<div class="media-body px-4">
<h4 class="h6 text-dark mb-1">Multi-support</h4>
<p class="mb-0">Smartphone, tablette ou ordinateur.</p>
</div>
</div>
</a>
<!-- End Listing -->
</div>
<div class="card card-frame mb-5">
<!-- Listing -->
<a class="card-body p-4" href="#">
<div class="media">
<img class="max-width-9 mb-2" src="{{ asset('v2/svg/components/plan-brown-icon.svg') }}" alt="Image Description">
<div class="media-body px-4">
<h4 class="h6 text-dark mb-1">Outil denregistrement vidéo</h4>
<p>Simple, rapide, gratuit et confidentiel.</p>
</div>
</div>
</a>
<!-- End Listing -->
</div>
<div class="card card-frame mb-5">
<!-- Listing -->
<a class="card-body p-4" href="#">
<div class="media">
<img class="max-width-9 mb-2" src="{{ asset('v2/svg/components/create-blue-icon.svg') }}" alt="Image Description">
<div class="media-body px-4">
<h4 class="h6 text-dark mb-1">Candidature vidéo</h4>
<p>Réponse à vos offres demploi vidéo ou candidature spontanée.</p>
</div>
</div>
</a>
<!-- End Listing -->
</div>
</div>
<div class="card-deck d-block d-lg-flex">
<div class="card card-frame mb-5">
<!-- Listing -->
<a class="card-body p-4" href="#">
<div class="media">
<img class="max-width-9 mb-2" src="{{ asset('v2/svg/components/develop-purple-icon.svg') }}" alt="Image Description">
<div class="media-body px-4">
<h4 class="h6 text-dark mb-1">Tutoriel vidéo</h4>
<p>Pour la réalisation, les candidats disposent de vidéos conseils.</p>
</div>
</div>
</a>
<!-- End Listing -->
</div>
<div class="card card-frame mb-5">
<!-- Listing -->
<a class="card-body p-4" href="#">
<div class="media">
<img class="max-width-9 mb-2" src="{{ asset('v2/svg/components/rocket-red-icon.svg') }}" alt="Image Description">
<div class="media-body px-4">
<h4 class="h6 text-dark mb-1">Les plus de la vidéo de motivation</h4>
<p>Personnalité, motivation et projet professionnel.</p>
</div>
</div>
</a>
<!-- End Listing -->
</div>
<div class="card card-frame mb-5">
<!-- Listing -->
<a class="card-body p-4" href="#">
<div class="media">
<img class="max-width-9 mb-2" src="{{ asset('v2/svg/components/data-analysis-dark-icon.svg') }}" alt="Image Description">
<div class="media-body px-4">
<h4 class="h6 text-dark mb-1">Traitement des candidatures</h4>
<p>Réponses aux candidats depuis loutil : écrite ou en vidéo.</p>
</div>
</div>
</a>
<!-- End Listing -->
</div>
</div>
</div>
</div>
<!-- Plateforme FIN -->
@@ -0,0 +1,20 @@
<!-- Accueil Photo Haut Section -->
<div class="bg-img-hero-center" style="background-image: url({{ asset('v2/img/1920x800/recrutement-video.jpg')}} ">
<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"></strong>
<br>avec la vidéo
</h1>
</div>
<!-- End Title -->
</div>
</div>
</div>
<!-- End Accueil Photo Haut Section -->
@@ -0,0 +1,27 @@
<!-- Degradé avec Stats Section -->
<div class="gradient-overlay-half-primary-v1">
<div class="container text-center space-2-top space-3-top--lg space-2-bottom">
<div class=" text-center ">
<!-- SVG Quote -->
<figure class="mx-auto mb-4" style="width: 50px;">
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
viewBox="0 0 8 8" style="enable-background:new 0 0 8 8;" xml:space="preserve">
<path fill="#e3e6f0" d="M3,1.3C2,1.7,1.2,2.7,1.2,3.6c0,0.2,0,0.4,0.1,0.5c0.2-0.2,0.5-0.3,0.9-0.3c0.8,0,1.5,0.6,1.5,1.5c0,0.9-0.7,1.5-1.5,1.5
C1.4,6.9,1,6.6,0.7,6.1C0.4,5.6,0.3,4.9,0.3,4.5c0-1.6,0.8-2.9,2.5-3.7L3,1.3z M7.1,1.3c-1,0.4-1.8,1.4-1.8,2.3
c0,0.2,0,0.4,0.1,0.5c0.2-0.2,0.5-0.3,0.9-0.3c0.8,0,1.5,0.6,1.5,1.5c0,0.9-0.7,1.5-1.5,1.5c-0.7,0-1.1-0.3-1.4-0.8
C4.4,5.6,4.4,4.9,4.4,4.5c0-1.6,0.8-2.9,2.5-3.7L7.1,1.3z"/>
</svg>
</figure>
<h2 class="text-white text-center"> De nombreuses entreprises utilisent notre solution de recrutement, alors pourquoi pas vous ?</h2>
</div>
</div>
<div class=" text-center space-3-bottom">
<a class="btn btn-sm btn-contact" href="#signupModal" role="button" data-modal-target="#signupModal" data-overlay-color="#151b26">
<i class="fa fa-user-circle mr-1"></i>
Contactez nous
</a>
</div>
</div>
</div>
<!-- Degradé avec Stats FIN-->
@@ -0,0 +1,183 @@
{% extends 'basev2.html.twig' %}
{% block title %}Talents Tube : Le 1er job board 100% vidéo{% endblock %}
{% block content %}
<main id="content">
{% include 'defaultv2/accueil/blocPhoto.html.twig'
with {
'urlImage': 'v2/img/1920x800/candidature-offre-emploi-video.jpg',
'textParDefaut' : 'Recevez des candidatures',
'textVideo' : 'avec la vidéo'
} %}
{% include 'defaultv2/candidatures/blocCvClassique.html.twig' %}
{% include 'defaultv2/candidatures/blocFinCv.html.twig' %}
{% include 'defaultv2/candidatures/blocCandidatureAutrement.html.twig' %}
{% include 'defaultv2/candidatures/blocGrille.html.twig' %}
{% include 'defaultv2/candidatures/blocExempleMotivation.html.twig' %}
{% include 'defaultv2/candidatures/blocAccompagnement.html.twig' %}
{% include 'defaultv2/candidatures/blocPourquoiPasVous.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
} %}
<!-- End Panel Login -->
<!-- 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>
<script src="{{ asset('v2/js/components/hs.video-player.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');
// initialization of video player
$.HSCore.components.HSVideoPlayer.init('.js-inline-video-player');
$('.u-text-animation.u-text-animation').html("");
// initialization of text animation (typing)
var typed = new Typed(".u-text-animation.u-text-animation--typing", {
strings: ["Recevez des candidatures "],
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","#000"); // 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 %}
File diff suppressed because it is too large Load Diff
@@ -0,0 +1,231 @@
{% extends 'basev2.html.twig' %}
{% block title %}Talents Tube : Le 1er job board 100% vidéo{% endblock %}
{% block content %}
<main id="content">
<!-- Privacy Section -->
<div class="bg-gray-100">
<div class="container space-2 space-4-top--lg space-3-bottom--lg">
<div class="w-lg-80 bg-white border rounded mx-lg-auto p-5 p-sm-7">
<!-- Hero -->
<div class="mb-9">
<h1>Mentions Légales</h1>
</div>
<!-- End Hero -->
<!-- Info Content -->
<div class="mb-7">
<div class="mb-3">
<h2 class="h4">Identité de l'éditeur du site</h2>
</div>
<p>Le site www.talentstube.com est édité par :</p>
<p>La société TALENTS TUBE, Société par Actions Simplifiée au capital de 305 000 euros,
Immatriculée au Registre du Commerce et des Sociétés de VANNES sous le numéro 824 366 926
Dont le siège social est situé CP60 PIBS 56038 VANNES Cedex, France
Numéro de TVA Intracommunautaire : FR 42 824366926</p>
<p>Représentée par Monsieur Franck DELALANDE, son Président.
Directeur de la publication : Franck DELALANDE.</p>
</div>
<!-- End Info Content -->
<!-- Info Content -->
<div class="mb-7">
<div class="mb-3">
<h3 class="h4">Contact</h3>
</div>
<p>Talents Tube est joignable :</p>
<p>- Par internet : via le **formulaire de contact** </p>
<p>- Par téléphone au 02 30 05 06 31, du lundi au vendredi de 9 h à 18 h;</p>
<p>- Par voie postale :</p>
<p>Talents Tube</p>
<p>3 Rue Louis de Broglie</p>
<p>Village By CA</p>
<p>56000 VANNES</p>
</div>
<!-- End Info Content -->
<!-- Info Content -->
<div class="mb-7">
<div class="mb-3">
<h3 class="h4">Hébergement</h3>
</div>
<p>e-declic</p>
<p>27 Rue du Danemark - Porte océane 2</p>
<p>Espace Terre et mer</p>
<p>56400 Auray</p>
<p>Tél. : +33.(0)297 290 060</p>
</div>
<!-- End Info Content -->
</div>
</div>
</div>
<!-- End Privacy Section -->
</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
} %}
<!-- End Panel Login -->
<!-- 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>
<script src="{{ asset('v2/js/components/hs.video-player.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');
// initialization of video player
$.HSCore.components.HSVideoPlayer.init('.js-inline-video-player');
// initialization of text animation (typing)
$('.u-text-animation.u-text-animation').html("");
var typed = new Typed(".u-text-animation.u-text-animation--typing", {
strings: [" Attirez des talents "],
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","#000"); // 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() }}
{% endblock %}
@@ -14,7 +14,7 @@
<nav class="js-mega-menu navbar navbar-expand-lg u-header__navbar">
<!-- Logo -->
<div class="u-header__navbar-brand-wrapper">
<a class="navbar-brand u-header__navbar-brand" href="#" aria-label="TT">
<a class="navbar-brand u-header__navbar-brand" href="indexv2" aria-label="TT">
<img class="u-header__navbar-brand-default" src="{{ asset('v2/svg/logos/talents-tube-logo.svg') }}" alt="Logo">
<img class="u-header__navbar-brand-mobile" src="{{ asset('v2/svg/logos/talentstube-logo-mobile.svg') }}" alt="Logo">
<img class="u-header__navbar-brand-on-scroll" src="{{ asset('v2/svg/logos/talents-tube-logo.svg') }}" alt="Logo">
@@ -40,46 +40,36 @@
<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 hs-has-sub-menu u-header__nav-item"
<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="javascript:;"
aria-haspopup="true"
aria-expanded="false"
aria-labelledby="homeSubMenu">
Offres d'emploi vidéo
<i class="fa fa-angle-down u-header__nav-link-icon"></i>
<a id="homeMegaMenu" class="nav-link u-header__nav-link" href="offre-emploi-video">
L'Offre d'emploi
</a>
</li>
<!-- End Home -->
<!-- Pages -->
<li class="nav-item hs-has-mega-menu u-header__nav-item"
data-event="hover"
data-animation-in="fadeInUp"
data-animation-out="fadeOut"
data-position="right">
<a id="PagesMegaMenu" class="nav-link u-header__nav-link" href="javascript:;"
<li class="nav-item u-header__nav-item">
<a id="PagesMegaMenu" class="nav-link u-header__nav-link" href="marque-employeur-en-video"
aria-haspopup="true"
aria-expanded="false">
Marque employeur Vidéo
<i class="fa fa-angle-down u-header__nav-link-icon"></i>
La Marque employeur
</a>
</li>
<!-- End Pages -->
<!-- Works -->
<li class="nav-item hs-has-sub-menu u-header__nav-item"
<li class="nav-item u-header__nav-item"
data-event="hover"
data-animation-in="fadeInUp"
data-animation-out="fadeOut">
<a id="worksMegaMenu" class="nav-link u-header__nav-link" href="javascript:;"
aria-haspopup="true"
aria-expanded="false"
aria-labelledby="worksSubMenu">
Candidatures vidéo
<i class="fa fa-angle-down u-header__nav-link-icon"></i>
<a id="worksMegaMenu" class="nav-link u-header__nav-link" href="candidatures-cv-video">
La Candidature
</a>
@@ -87,16 +77,13 @@
<!-- End Works -->
<!-- Blog -->
<li class="nav-item hs-has-sub-menu u-header__nav-item"
<li class="nav-item u-header__nav-item"
data-event="hover"
data-animation-in="fadeInUp"
data-animation-out="fadeOut">
<a id="blogMegaMenu" class="nav-link u-header__nav-link" href="javascript:;"
aria-haspopup="true"
aria-expanded="false"
aria-labelledby="blogSubMenu">
<a id="blogMegaMenu" class="nav-link u-header__nav-link" href="https://blog.talentstube.com/" target="_blank">
Blog
<i class="fa fa-angle-down u-header__nav-link-icon"></i>
</a>
@@ -159,3 +146,4 @@
</div>
</header>
<!-- ========== END HEADER ========== -->
@@ -231,6 +231,8 @@
<a href="#!" class="modal-action modal-close btn btn-default button-round-small">Fermer</a>
</div>
</div>
{% endblock %}
{% block javascripts %}
@@ -0,0 +1,45 @@
<!-- Plateforme DEBUT -->
<div class="space1-bottom accueilFondBleute">
<div class="container space-2 ">
<div class="row align-items-lg-center">
<!-- Icon Blocks Section -->
<div class="container space-2 space-3--lg">
<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/trophy-purple-icon.svg') }}" alt="Image Description">
<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>
<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/idea-primary-icon.svg') }}" alt="Image Description">
<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>
<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/rocket-red-icon.svg') }}" alt="Image Description">
<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>
</div>
</div>
<!-- End Icon Blocks Section -->
</div>
</div>
</div>
<!-- Plateforme FIN -->
@@ -0,0 +1,21 @@
<!-- Degradé avec Stats Section -->
<div class="gradient-overlay-half-primary-v1">
<div class="container text-center space-2-top space-3-top--lg space-3-bottom">
<div class="w-md-80 w-lg-60 text-center mx-auto">
<!-- SVG Quote -->
<figure class="mx-auto mb-4" style="width: 50px;">
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
viewBox="0 0 8 8" style="enable-background:new 0 0 8 8;" xml:space="preserve">
<path fill="#e3e6f0" d="M3,1.3C2,1.7,1.2,2.7,1.2,3.6c0,0.2,0,0.4,0.1,0.5c0.2-0.2,0.5-0.3,0.9-0.3c0.8,0,1.5,0.6,1.5,1.5c0,0.9-0.7,1.5-1.5,1.5
C1.4,6.9,1,6.6,0.7,6.1C0.4,5.6,0.3,4.9,0.3,4.5c0-1.6,0.8-2.9,2.5-3.7L3,1.3z M7.1,1.3c-1,0.4-1.8,1.4-1.8,2.3
c0,0.2,0,0.4,0.1,0.5c0.2-0.2,0.5-0.3,0.9-0.3c0.8,0,1.5,0.6,1.5,1.5c0,0.9-0.7,1.5-1.5,1.5c-0.7,0-1.1-0.3-1.4-0.8
C4.4,5.6,4.4,4.9,4.4,4.5c0-1.6,0.8-2.9,2.5-3.7L7.1,1.3z"/>
</svg>
</figure>
<h2 class="text-white text-center"> Ce sont ceux qui vivent le métier au quotidien qui en parlent le mieux !</h2>
</div>
</div>
</div>
</div>
<!-- Degradé avec Stats FIN-->
@@ -0,0 +1,81 @@
<!-- Plateforme DEBUT -->
<div class=" accueilFondBlanc">
<div class="container space-2 ">
<div class="row row justify-content-lg-end ">
<!-- Benefits -->
<div class="space-2 space-3-bottom--lg overflow-hidden">
<div class="container">
<div class="row no-gutters align-items-center">
<div class="col-lg-5 mb-5 mb-lg-0">
<h6 class="text-uppercase font-weight-medium letter-spacing-0_06 mb-3">Benefits</h6>
<h2 class="text-lh-xs mb-4">La démarche pour recruter</h2>
<p class="mb-5">Grâce au storytelling, vous racontez à vos employés potentiels, une histoire qui humanise votre entreprise.
Par linterview de vos collaborateurs, la visite de vos locaux, vous leur offrez une vue de lintérieur en toute cohérence avec la réalité de votre quotidien.</p>
<!-- Benefits List -->
<ul class="list-unstyled mb-7">
<li class="d-flex align-items-start mb-5">
<div class="mt-2">
<span class="u-icon u-icon--secondary u-icon--sm rounded-circle">
<span class="u-icon__inner">1</span>
</span>
</div>
<div class="ml-3">
<p class="mb-0">Tournage dans vos locaux</p>
</div>
</li>
<li class="d-flex align-items-start mb-5">
<div class="mt-2">
<span class="u-icon u-icon--secondary u-icon--sm rounded-circle">
<span class="u-icon__inner">2</span>
</span>
</div>
<div class="ml-3">
<p class="mb-0">Votre espace Talents Tube</p>
</div>
</li>
<li class="d-flex align-items-start mb-5">
<div class="mt-2">
<span class="u-icon u-icon--secondary u-icon--sm rounded-circle">
<span class="u-icon__inner">3</span>
</span>
</div>
<div class="ml-3">
<p class="mb-0">Vos candidatures en vidéo </p>
</div>
</li>
</ul>
<!-- End Benefits List -->
<!-- Logos -->
<ul class="list-inline">
<li class="list-inline-item mr-6"><img src="{{ asset('v2/img/clients/google.png') }}" alt="Image Description" width="94"></li>
<li class="list-inline-item mr-6"><img src="{{ asset('v2/img/clients/slack.png') }}" alt="Image Description" width="97"></li>
<li class="list-inline-item"><img src="{{ asset('v2/img/clients/spotify.png') }}" alt="Image Description" width="94"></li>
</ul>
<!-- End Logos -->
</div>
<div class="col-lg-6 offset-lg-1">
<div class="position-relative h-100 vw-lg-50">
<img class="img-fluid w-100 rounded rounded-lg-right-0" src="{{ asset('v2/img/demo/real-estate/benefits.jpg') }}" alt="Image Description">
</div>
</div>
</div>
</div>
</div>
<!-- End Benefits -->
</div>
</div>
</div>
<!-- Plateforme FIN -->
@@ -0,0 +1,58 @@
<!-- Plateforme DEBUT -->
<div class=" accueilFondBlanc">
<div class="container space-2 ">
<div class="row row justify-content-lg-end ">
<div class="col-md-6 ">
<!-- 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>
<p> Véritable outil dattractivité, vous vous distinguez auprès des
candidats en recherche de projets professionnels, mais aussi
auprès de toutes vos parties prenantes.
La vidéo doffre demploi est un outil qui plaît davantage aux talents
et qui vous permet de présenter en quelques minutes et en toute
authenticité votre équipe, vos valeurs, votre environnement de
travail et le quotidien de vos métiers.
</p>
<a class="btn btn-sm btn-primary btn-wide" href="#">Voir la plateforme</a>
</div>
</div>
<div class="col-md-6 align-right paddintRight">
<div class="mb-6">
<!-- Video Block -->
<div id="youTubeVideoPlayer" class="u-video-player mb-7">
<!-- Cover Image -->
<img class="img-fluid u-video-player__preview" src="{{ asset('v2/png/plateforme-recrutement-offre-emploi-video.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=CZDfD2ugXtg&t"
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>
</div>
</div>
</div>
<!-- Plateforme FIN -->
@@ -0,0 +1,55 @@
<!-- Plateforme DEBUT -->
<div class="space1-bottom accueilFondBleute">
<div class="container space-2 ">
<div class="row align-items-lg-center">
<div class="col-md-6 order-md-2 mb-5 mb-md-0">
<!-- 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>
<p>À travers une présentation moderne, dynamique et originale de votre organisation, de votre équipe et du poste, vous vous distinguez des autres recruteurs.
Gagnez du temps pour la présélection des candidats et évitez les erreurs de recrutement. En étant plus précis dans votre offre, vous séduisez les meilleurs talents et seuls les candidats réellement intéressés postulent en vidéo. Replacez lhumain au cœur du recrutement !
Véritable levier dengagement, fédérateur pour vos équipes et outil de fidélisation, vos collaborateurs sont fiers de présenter de leur métier.
</p>
<a class="btn btn-sm btn-primary btn-wide" href="#">Voir la plateforme</a>
</div>
</div>
<div class="col-md-6 align-right paddintRight">
<div class="mb-6">
<!-- Video Block -->
<div id="youTubeVideoPlayer" class="u-video-player mb-7">
<!-- Cover Image -->
<img class="img-fluid u-video-player__preview" src="{{ asset('v2/png/temoignage-recrutement-offre-emploi-video.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=CZDfD2ugXtg&t"
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>
</div>
</div>
</div>
<!-- Plateforme FIN -->
@@ -0,0 +1,183 @@
{% extends 'basev2.html.twig' %}
{% block title %}Talents Tube : Le 1er job board 100% vidéo{% endblock %}
{% block content %}
<main id="content">
{% include 'defaultv2/accueil/blocPhoto.html.twig'
with {
'urlImage': 'v2/img/1920x800/attirer-les-candidats-avec-une-offre-emploi-video.jpg',
'textParDefaut' : 'Attirez des talents',
'textVideo' : 'avec loffre demploi vidéo'
} %}
{% include 'defaultv2/offres/blocOffreVideo.html.twig' %}
{% include 'defaultv2/offres/blocPourquoiVideo.html.twig' %}
{% include 'defaultv2/offres/blocAvantages.html.twig' %}
{% include 'defaultv2/offres/blocCitation.html.twig' %}
{% include 'defaultv2/offres/blocDemarche.html.twig' %}
{% include 'defaultv2/candidatures/blocAccompagnement.html.twig' %}
{% include 'defaultv2/candidatures/blocPourquoiPasVous.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
} %}
<!-- End Panel Login -->
<!-- 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>
<script src="{{ asset('v2/js/components/hs.video-player.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');
// initialization of video player
$.HSCore.components.HSVideoPlayer.init('.js-inline-video-player');
// initialization of text animation (typing)
$('.u-text-animation.u-text-animation').html("");
var typed = new Typed(".u-text-animation.u-text-animation--typing", {
strings: [" Attirez des talents "],
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","#000"); // 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 %}
@@ -37,3 +37,9 @@ monolog:
swiftmailer:
delivery_addresses: ['%delivery_addresses%']
# Twig Configuration
twig:
globals:
url_plateforme : http://localhost:3000
@@ -13,3 +13,8 @@ monolog:
level: debug
console:
type: console
# Twig Configuration
twig:
globals:
url_plateforme : https://app.talentstube.com/
+1
View File
@@ -1,4 +1,5 @@
{
"description": "Talents tube",
"name": "edeclic/tt",
"license": "proprietary",
"type": "project",
@@ -205,6 +205,101 @@ class AnswerController extends FOSRestController
return new JsonResponse($status);
}
// valid request (from postman code ):
//POST /app_dev.php/api/media HTTP/1.1
// Host: localhost
// Content-Type: multipart/form-data; boundary=----WebKitFormBoundary7MA4YWxkTrZu0gW
// Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiJ9.eyJpYXQiOjE1NTg2MTM2NzYsImV4cCI6MTU1ODYxNzI3Niwicm9sZXMiOlsiUk9MRV9UQUxFTlQiLCJST0xFX1VTRVIiXSwidXNlcm5hbWUiOiJ0aG9tYXMuYmVycm9kQGUtZGVjbGljLmNvbSJ9.gREC7Haj2geQNn3WArAL4jhBcPI67YJuJOEYiTJ4VeJztM7TRKo8XplXXdDKRs-J_AsHIOmEYWb08AZIivNXw652Ge_9VhpvhS67xa2O30T-ZingVVofZ8Anjbgof32tVkwL2SzNd82rxw4DbFWgSE24h1tw2NO-EUnvLxD3eGUgPerdJ-g74zwJ4tv2kBI3_TaTR35x0HjPnxtihpT2FQHwR-kYQHtJb7rmR7XTloDBu-cZiiEkfgZekt2NyOvD58HcXy3hKZ09YvIFmwDnmVxOVvexVPPt8du-ozXqtt6IlXGslqTm_dX7eTNrg2uoKgliBV6AOYFFlylgIQU1-Wr6k_OCxDEscN3NkbTDVcQbE-xSE2wjFIO0Gilk-cpmW5Kx1VCtEtyscPRiYub6dXPBgObGdKGmTcYwlG3X03x9KO9oYmjVgIreZZg2WJTzwQOoU67QxhOYknPshBSm61-VaB9OwOGJG3M6FrhZR867-Rj64FEd0HWH9lMM5OO645hlDAe3lPCG6ffUBPBOjFWCGx8HPsv_PjOaMRf21UEFpVaTfAlHrKsUog5j8Qc5-OEz9vmmlog2KjWc67alEfJujnc0m3HV731IBirar5gaO360ebwUU6aSo6HSThOnwFrTxGiCd0Eqo5T5yW446HJBRhLFYiiJerJg6EbGlAM
// User-Agent: PostmanRuntime/7.13.0
// Accept: */*
// Cache-Control: no-cache
// Postman-Token: 49a92aa5-fa39-412c-bc23-9d6ae389fa1e,569d0fea-09ba-452f-9957-989fca193603
// Host: localhost
// accept-encoding: gzip, deflate
// content-length: 228
// Connection: keep-alive
// cache-control: no-cache
// Content-Disposition: form-data; name="upload"; filename="/C:/Users/Thomas/Pictures/Camera Roll/WIN_20180917_14_29_28_Pro.mp4
// ------WebKitFormBoundary7MA4YWxkTrZu0gW--
/**
* @Rest\Post("/api/mediaPres", name="api_media_pres_upload")
* @Rest\View(StatusCode = 201)
*
*/
public function uploadPresAction(Request $request)
{
$usr = $this->get('security.token_storage')->getToken()->getUser();
$usr->getUsername();
$file = $request->files->get('upload');
$status = array('status' => "success", "fileUploaded" => false);
//dump($file);
// If a file was uploaded
if (!is_null($file)) {
$mediaManager = $this->get('media_manager');
$message = $mediaManager->upload($usr, $file, $usr);
//dump($message);
// generate a random name for the file but keep the extension
// $filename = uniqid().".".$file->getClientOriginalExtension();
// $path = "/path/where/we/want-to-save-the-file";
// $file->move($path,$filename); // move the file to a path
$status = array('status' => "success", "fileUploaded" => true, "message" => $message);
}
return new JsonResponse($status);
}
// valid request (from postman code ):
//POST /app_dev.php/api/media HTTP/1.1
// Host: localhost
// Content-Type: multipart/form-data; boundary=----WebKitFormBoundary7MA4YWxkTrZu0gW
// Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiJ9.eyJpYXQiOjE1NTg2MTM2NzYsImV4cCI6MTU1ODYxNzI3Niwicm9sZXMiOlsiUk9MRV9UQUxFTlQiLCJST0xFX1VTRVIiXSwidXNlcm5hbWUiOiJ0aG9tYXMuYmVycm9kQGUtZGVjbGljLmNvbSJ9.gREC7Haj2geQNn3WArAL4jhBcPI67YJuJOEYiTJ4VeJztM7TRKo8XplXXdDKRs-J_AsHIOmEYWb08AZIivNXw652Ge_9VhpvhS67xa2O30T-ZingVVofZ8Anjbgof32tVkwL2SzNd82rxw4DbFWgSE24h1tw2NO-EUnvLxD3eGUgPerdJ-g74zwJ4tv2kBI3_TaTR35x0HjPnxtihpT2FQHwR-kYQHtJb7rmR7XTloDBu-cZiiEkfgZekt2NyOvD58HcXy3hKZ09YvIFmwDnmVxOVvexVPPt8du-ozXqtt6IlXGslqTm_dX7eTNrg2uoKgliBV6AOYFFlylgIQU1-Wr6k_OCxDEscN3NkbTDVcQbE-xSE2wjFIO0Gilk-cpmW5Kx1VCtEtyscPRiYub6dXPBgObGdKGmTcYwlG3X03x9KO9oYmjVgIreZZg2WJTzwQOoU67QxhOYknPshBSm61-VaB9OwOGJG3M6FrhZR867-Rj64FEd0HWH9lMM5OO645hlDAe3lPCG6ffUBPBOjFWCGx8HPsv_PjOaMRf21UEFpVaTfAlHrKsUog5j8Qc5-OEz9vmmlog2KjWc67alEfJujnc0m3HV731IBirar5gaO360ebwUU6aSo6HSThOnwFrTxGiCd0Eqo5T5yW446HJBRhLFYiiJerJg6EbGlAM
// User-Agent: PostmanRuntime/7.13.0
// Accept: */*
// Cache-Control: no-cache
// Postman-Token: 49a92aa5-fa39-412c-bc23-9d6ae389fa1e,569d0fea-09ba-452f-9957-989fca193603
// Host: localhost
// accept-encoding: gzip, deflate
// content-length: 228
// Connection: keep-alive
// cache-control: no-cache
// Content-Disposition: form-data; name="upload"; filename="/C:/Users/Thomas/Pictures/Camera Roll/WIN_20180917_14_29_28_Pro.mp4
// ------WebKitFormBoundary7MA4YWxkTrZu0gW--
/**
* @Rest\Post("/api/mediaCv", name="api_media_cv_upload")
* @Rest\View(StatusCode = 201)
*
*/
public function uploadCvAction(Request $request)
{
$usr = $this->get('security.token_storage')->getToken()->getUser();
$usr->getUsername();
$company = $usr->getCompany();
$file = $request->files->get('upload');
$status = array('status' => "success", "companyUpdated" => false);
//dump($file);
// If a file was uploaded
if (!is_null($file)) {
$companyManager = $this->get('app.company_manager');
$message = $companyManager->updateCv($company, $file);
//dump($message);
// generate a random name for the file but keep the extension
// $filename = uniqid().".".$file->getClientOriginalExtension();
// $path = "/path/where/we/want-to-save-the-file";
// $file->move($path,$filename); // move the file to a path
$status = array('status' => "success", "companyUpdated" => true, "message" => $message);
}
return new JsonResponse($status);
}
/**
* @Rest\Post("/api/answers/message", name="api_answer_message")
* @Rest\View(StatusCode = 201)
@@ -4,6 +4,9 @@ use AppBundle\Form\AdSearchType;
use Sensio\Bundle\FrameworkExtraBundle\Configuration\Route;
use Symfony\Bundle\FrameworkBundle\Controller\Controller;
use Symfony\Component\HttpFoundation\Request;
use Symfony\Component\Security\Core\Exception\AuthenticationException;
use Symfony\Component\Security\Core\Security;
class DefaultController extends Controller
{
/**
@@ -63,53 +66,188 @@ class DefaultController extends Controller
/**
* @Route("/indexv2", name="homepagev2")
*/
public function homepagev2Action()
public function homepagev2Action(Request $request)
{
$em = $this->getDoctrine()->getManager();
$ads = $em->getRepository('AppBundle:Ad')->findBy(array("status" => "PUBLISHED", "emphasis" => true, "isPromoted" => false), array('emphasisOrder' => 'DESC'));
if (!$ads) {
$ads = $em->getRepository('AppBundle:Ad')->findBy(array("status" => "PUBLISHED", "isPromoted" => false), array('id' => 'DESC'));
}
$talents = $em->getRepository('AppBundle:Company')->findBy(array("type" => "TALENT", "emphasis" => true), array('emphasisOrder' => 'DESC'));
$companies = $em->getRepository('AppBundle:Company')->findBy(array("type" => "COMPANY", "emphasis" => true), array('emphasisOrder' => 'DESC'));
$territories = $em->getRepository('AppBundle:Company')->findBy(array("type" => "TERRITORY", "emphasis" => true), array('emphasisOrder' => 'ASC'));
//$em = $this->getDoctrine()->getManager();
// $ads = $em->getRepository('AppBundle:Ad')->findBy(array("status" => "PUBLISHED", "emphasis" => true, "isPromoted" => false), array('emphasisOrder' => 'DESC'));
// if (!$ads) {
// $ads = $em->getRepository('AppBundle:Ad')->findBy(array("status" => "PUBLISHED", "isPromoted" => false), array('id' => 'DESC'));
// }
//$talents = $em->getRepository('AppBundle:Company')->findBy(array("type" => "TALENT", "emphasis" => true), array('emphasisOrder' => 'DESC'));
//$companies = $em->getRepository('AppBundle:Company')->findBy(array("type" => "COMPANY", "emphasis" => true), array('emphasisOrder' => 'DESC'));
//$territories = $em->getRepository('AppBundle:Company')->findBy(array("type" => "TERRITORY", "emphasis" => true), array('emphasisOrder' => 'ASC'));
$arrayTalents = array();
foreach ($talents as $talent) {
if ($talent->getPresentationVideo()) {
$arrayTalents[] = $talent;
}
}
// $arrayTalents = array();
// foreach ($talents as $talent) {
// if ($talent->getPresentationVideo()) {
// $arrayTalents[] = $talent;
// }
// }
$arrayCompany = array();
foreach ($companies as $company) {
if ($company->getPresentationVideo()) {
$arrayCompany[] = $company;
}
}
// $arrayCompany = array();
// foreach ($companies as $company) {
// if ($company->getPresentationVideo()) {
// $arrayCompany[] = $company;
// }
// }
$mediaManager = $this->get('media_manager');
foreach ($ads as $ad) {
$mediaManager->getThumbnails($ad);
}
// $mediaManager = $this->get('media_manager');
// foreach ($ads as $ad) {
// $mediaManager->getThumbnails($ad);
// }
foreach ($companies as $company) {
$mediaManager->getThumbnails($company);
}
// foreach ($companies as $company) {
// $mediaManager->getThumbnails($company);
// }
foreach ($territories as $t) {
$mediaManager->getThumbnails($t);
}
$form = $this->createForm(AdSearchType::class);
// foreach ($territories as $t) {
// $mediaManager->getThumbnails($t);
// }
// $form = $this->createForm(AdSearchType::class);
$params = $this->getParams($request);
$usename = $params["lastUsername"];
$csrfToken = $params["csrfToken"];
$error = $params["error"];
$destination_login = "admin/dashboard";
return $this->render(
'defaultv2/accueil/index.html.twig', [
'ads' => $ads,
'companies' => $arrayCompany,
'talents' => $arrayTalents,
'territories' => $territories,
'searchform' => $form->createView(),
'last_username' => $usename,
'csrf_token' => $csrfToken,
'error' => $error,
'destination_login' => $destination_login
//'ads' => $ads,
//'companies' => $arrayCompany,
//'talents' => $arrayTalents,
//'territories' => $territories,
//'searchform' => $form->createView(),
]
);
}
/**
* @Route("/candidatures-cv-video", name="candidaturesVideo")
*/
public function candidaturesVideoAction(Request $request)
{
$params = $this->getParams($request);
$usename = $params["lastUsername"];
$csrfToken = $params["csrfToken"];
$error = $params["error"];
$destination_login = "admin/dashboard";
return $this->render(
'defaultv2/candidatures/index.html.twig', [
'last_username' => $usename,
'csrf_token' => $csrfToken,
'error' => $error,
'destination_login' => $destination_login
]
);
}
/**
* @Route("/offre-emploi-video", name="offresVideo")
*/
public function offresVideoAction(Request $request)
{
$params = $this->getParams($request);
$usename = $params["lastUsername"];
$csrfToken = $params["csrfToken"];
$error = $params["error"];
$destination_login = "admin/dashboard";
return $this->render(
'defaultv2/offres/index.html.twig', [
'last_username' => $usename,
'csrf_token' => $csrfToken,
'error' => $error,
'destination_login' => $destination_login
]
);
}
/**
* @Route("/marque-employeur-en-video", name="employeurVideo")
*/
public function employeurVideoAction(Request $request)
{
$params = $this->getParams($request);
$usename = $params["lastUsername"];
$csrfToken = $params["csrfToken"];
$error = $params["error"];
$destination_login = "admin/dashboard";
return $this->render(
'defaultv2/offres/index.html.twig', [
'last_username' => $usename,
'csrf_token' => $csrfToken,
'error' => $error,
'destination_login' => $destination_login
]
);
}
/**
* @Route("/mentions", name="mentions")
*/
public function mentionsAction(Request $request)
{
$params = $this->getParams($request);
$usename = $params["lastUsername"];
$csrfToken = $params["csrfToken"];
$error = $params["error"];
$destination_login = "admin/dashboard";
return $this->render(
'defaultv2/footer/mentions.html.twig', [
'last_username' => $usename,
'csrf_token' => $csrfToken,
'error' => $error,
'destination_login' => $destination_login
]
);
}
/**
* @Route("/cgu", name="cgu")
*/
public function cguAction(Request $request)
{
$params = $this->getParams($request);
$usename = $params["lastUsername"];
$csrfToken = $params["csrfToken"];
$error = $params["error"];
$destination_login = "admin/dashboard";
return $this->render(
'defaultv2/footer/cgu.html.twig', [
'last_username' => $usename,
'csrf_token' => $csrfToken,
'error' => $error,
'destination_login' => $destination_login
]
);
}
/**
* @Route("/confidentialite", name="confidentialite")
*/
public function confidentialiteAction(Request $request)
{
$params = $this->getParams($request);
$usename = $params["lastUsername"];
$csrfToken = $params["csrfToken"];
$error = $params["error"];
$destination_login = "admin/dashboard";
return $this->render(
'defaultv2/candidatures/index.html.twig', [
'last_username' => $usename,
'csrf_token' => $csrfToken,
'error' => $error,
'destination_login' => $destination_login
]
);
}
@@ -121,7 +259,10 @@ class DefaultController extends Controller
{
$user = $this->getUser();
if ($user) {
if ($user->hasRole('ROLE_TALENT')) {
if ($user->hasRole('ROLE_SUPER_ADMIN')) {
return $this->redirectToRoute('admin_dashboard');
} elseif ($user->hasRole('ROLE_TALENT')) {
return $this->redirectToRoute('talent_dashboard');
} elseif ($user->hasRole('ROLE_COMPANY')) {
@@ -132,6 +273,7 @@ class DefaultController extends Controller
return $this->redirectToRoute('homepage');
}
return $this->redirectToRoute('homepage');
}
@@ -150,5 +292,36 @@ class DefaultController extends Controller
//return $this->render('page_static/video_territoire.html.twig');
return $this->render('page_static/accompagnement_video_territoire.html.twig');
}
/**
* @param Request $request
*
* @return Response
*/
private function getParams(Request $request){
$session = $request->getSession();
$authErrorKey = Security::AUTHENTICATION_ERROR;
$lastUsernameKey = Security::LAST_USERNAME;
if ($request->attributes->has($authErrorKey)) {
$error = $request->attributes->get($authErrorKey);
} elseif (null !== $session && $session->has($authErrorKey)) {
$error = $session->get($authErrorKey);
$session->remove($authErrorKey);
} else {
$error = null;
}
if (!$error instanceof AuthenticationException) {
$error = null;
}
$lastUsername = (null === $session) ? '' : $session->get($lastUsernameKey);
$csrfToken = $this->has('security.csrf.token_manager')
? $this->get('security.csrf.token_manager')->getToken('authenticate')->getValue()
: null;
$parametres = array();
$parametres["lastUsername"] = $lastUsername;
$parametres["csrfToken"] = $csrfToken;
$parametres["error"] = $error;
return $parametres;
}
}
@@ -47,4 +47,43 @@ class SecurityModalController extends Controller
)
);
}
/**
* @param Request $request
*
* @return Response
*/
public function loginModalV2Action(Request $request)
{
$session = $request->getSession();
$authErrorKey = Security::AUTHENTICATION_ERROR;
$lastUsernameKey = Security::LAST_USERNAME;
if ($request->attributes->has($authErrorKey)) {
$error = $request->attributes->get($authErrorKey);
} elseif (null !== $session && $session->has($authErrorKey)) {
$error = $session->get($authErrorKey);
$session->remove($authErrorKey);
} else {
$error = null;
}
if (!$error instanceof AuthenticationException) {
$error = null;
}
$lastUsername = (null === $session) ? '' : $session->get($lastUsernameKey);
$csrfToken = $this->has('security.csrf.token_manager')
? $this->get('security.csrf.token_manager')->getToken('authenticate')->getValue()
: null;
$formFactory = $this->get('fos_user.registration.form.factory');
$form = $formFactory->createForm();
return $this->render('@FOSUser/Security/loginModalV2.html.twig', array(
'last_username' => $lastUsername,
'error' => $error,
'csrf_token' => $csrfToken,
'register_form' => $form->createView()
)
);
}
}
@@ -98,6 +98,13 @@ class Company
*/
private $logo;
/**
* @var string
*
* @ORM\Column(name="cv", type="string", length=255, nullable=true)
*/
private $cv;
/**
* @var string
*
@@ -121,6 +128,8 @@ class Company
*/
private $presentationVideo;
/**
* @var string
*
@@ -205,11 +214,7 @@ class Company
private $countAds;
/**
* @var string $test
* @ORM\Column(name="test", type="string", nullable=true)
*/
private $test;
/***********************
* Constructor
@@ -249,6 +254,18 @@ class Company
}
public function uploadCv($uploadedFile)
{
if (null === $uploadedFile) {
return;
}
//$name = $this->file->getClientOriginalName()."_".uniqid();
$name = md5(uniqid()) . '.' . $uploadedFile->guessExtension();
$uploadedFile->move($this->getUploadRootDirCv(), $name);
$this->cv = $name;
}
public function getUploadDir()
{
return 'uploads/img';
@@ -259,6 +276,16 @@ class Company
return __DIR__ . '/../../../web/' . $this->getUploadDir();
}
public function getUploadDirCv()
{
return 'uploads/cv';
}
protected function getUploadRootDirCv()
{
return __DIR__ . '/../../../web/' . $this->getUploadDirCv();
}
public function getWebPath()
{
return null === $this->logo ? null : $this->getUploadDir() . '/' . $this->logo;
@@ -456,6 +483,16 @@ class Company
return $this->description;
}
/**
* Get Logo.
*
* @return string|null
*/
public function getLogo()
{
return $this->logo;
}
/**
* Set logo.
*
@@ -471,13 +508,37 @@ class Company
}
/**
* Get logo.
* Get Cv.
*
* @return string|null
*/
public function getLogo()
public function getCv()
{
return $this->logo;
return $this->cv;
}
/**
* Set cv.
*
* @param string|null $cv
*
* @return Company
*/
public function setCv($photo = null)
{
$this->cv = $cv;
return $this;
}
/**
* Get photo.
*
* @return string|null
*/
public function getPhoto()
{
return $this->photo;
}
/**
@@ -940,27 +1001,5 @@ class Company
return count($this->getPublishedAds());
}
/**
* Get $test
*
* @return string
*/
public function getTest()
{
return $this->test;
}
/**
* Set $test
*
* @param string $test $test
*
* @return self
*/
public function setTest(string $test)
{
$this->test = $test;
return $this;
}
}
@@ -369,6 +369,19 @@ class User extends BaseUser
*/
public function getIdCard()
{
$pres="";
$cv="";
if($this->getCompany()->getPresentationVideo())
{
$pres= $this->getCompany()->getPresentationVideo()->getCdnUrl();
}
if($this->getCompany()->getCv())
{
$cv= $this->getCompany()->getCv();
}
$card = array(
"firstname" => $this->getFirstname(),
"lastname" => $this->getLastname(),
@@ -378,6 +391,8 @@ class User extends BaseUser
"phone" => $this->getCompany()->getExtra()["phoneTalent"],
"linkedin" => $this->getCompany()->getExtra()["linkedin"],
"twitter" => $this->getCompany()->getExtra()["twitter"],
"videoPres" => $pres,
"cv" => $cv,
"currentJob" => $this->getCompany()->getExtra()["titleTalent"],
"website" => $this->getCompany()->getWebsite(),
);
@@ -48,6 +48,7 @@ class CompanyManager
$company->setExtra($extra);
$company->upload();
//$company->uploadCv();
}
$this->em->persist($company);
$this->em->flush();
@@ -63,6 +64,16 @@ class CompanyManager
$this->em->flush();
}
/**
* @param $company
*/
public function updateCv($company, $uploadedFile)
{
$company->uploadCv($uploadedFile);
$this->em->persist($company);
$this->em->flush();
}
/**
* @param $user
*/
@@ -148,9 +148,9 @@ class MediaManager
$thumbnails = array();
//PUSH VIDEO TO Vimeo
if ($this->env == "dev") {
$uriVimeo = "/videos/217844541";
$uriVimeo = "/videos/385952221";
$nameVimeo = "name";
$linkVimeo = "/videos/217844541";
$linkVimeo = "/videos/385952221";
} else {
$urlToPull = $this->mediaVideoUrl . $fileName;
$response = $this->vimeo->request('/me/videos', array('type' => 'pull', 'link' => $urlToPull), 'POST');
@@ -28,6 +28,7 @@ use Symfony\Component\HttpKernel\Exception\NotFoundHttpException;
use Symfony\Component\Security\Core\Authentication\Token\Storage\TokenStorageInterface;
use Symfony\Component\Security\Core\Exception\AccessDeniedException;
/**
* Controller managing the registration.
*
@@ -58,7 +59,8 @@ class RegistrationController extends Controller
{
$user = $this->userManager->createUser();
$user->setEnabled(true);
// AJOUT ROLE COMPANY
//$user->setRoles(array('ROLE_COMPANY'));
$event = new GetResponseUserEvent($user, $request);
$this->eventDispatcher->dispatch(FOSUserEvents::REGISTRATION_INITIALIZE, $event);
@@ -101,6 +103,8 @@ class RegistrationController extends Controller
));
}
/**
* Tell the user to check their email provider.
*/
+25 -4
View File
@@ -4777,6 +4777,7 @@ input[type="button"].btn-block {
-ms-flex-pack: justify;
justify-content: space-between;
padding: 0.5rem 1rem;
font-size: 2rem;
}
.navbar .container,
@@ -13080,8 +13081,8 @@ button:focus {
.u-header__nav-link {
color: #fff;
font-size : 19px;
font-size: 1rem;
font-weight: 400;
font-size: 1.2rem;
font-weight: 600;
}
.u-header__nav-link-icon {
@@ -20342,7 +20343,7 @@ button:focus {
.space-2 {
padding-top: 4rem;
padding-bottom: 4rem;
padding-bottom: 1rem;
}
.space-2-top {
@@ -21215,11 +21216,23 @@ button:focus {
font-weight:light;
color:#1E2327;
}
.containerStat{
/* Au niveau le plus haut du code */
@media screen and (min-width: 800px) {
.containerStat {
margin-top: -12rem !important;
text-align: center;
}
}
@media screen and (max-width: 800px) {
.containerStat {
display:none
}
}
.btn-contact {
color: #fff;
background-color: transparent;
@@ -21277,3 +21290,11 @@ button:focus {
color : #1E2327;
}
.align-right{
text-align: right;
}
.paddintRight{
padding-right: 0px;
}
Binary file not shown.

After

Width:  |  Height:  |  Size: 352 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 449 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 84 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 121 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 83 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 113 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 113 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 105 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 107 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 101 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 245 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 229 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 412 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 16 KiB