feat: add AI service configuration and candidate dossier PDF template
This commit is contained in:
@@ -20,7 +20,9 @@ return [
|
||||
- summary: résumé de 3-4 phrases sur le profil
|
||||
- strengths: liste des points forts par rapport au poste
|
||||
- gaps: liste des compétences manquantes ou points de vigilance
|
||||
- verdict: une conclusion (Favorable, Très Favorable, Réservé, Défavorable)",
|
||||
- verdict: une conclusion (Favorable, Très Favorable, Réservé, Défavorable)
|
||||
- scores_detailles: un objet avec des clés (ex: technique, experience, soft_skills) contenant 'score' (0-100) et 'justification'
|
||||
- elements_bloquants: liste des points critiques qui pourraient invalider la candidature (ou liste vide si aucun)",
|
||||
],
|
||||
|
||||
'providers' => [
|
||||
|
||||
@@ -181,7 +181,7 @@
|
||||
<div style="display: table; width: 100%; margin-top: 20px;">
|
||||
<div style="display: table-cell; width: 48%; padding-right: 2%;">
|
||||
<h4 style="color: #057a55; font-size: 12px;">Points Forts</h4>
|
||||
<ul style="font-size: 11px; padding-left: 20px;">
|
||||
<ul style="font-size: 11px; padding-left: 20px; color: #03543f;">
|
||||
@foreach($candidate->ai_analysis['strengths'] ?? [] as $s)
|
||||
<li>{{ $s }}</li>
|
||||
@endforeach
|
||||
@@ -189,13 +189,48 @@
|
||||
</div>
|
||||
<div style="display: table-cell; width: 48%;">
|
||||
<h4 style="color: #9b1c1c; font-size: 12px;">Points de Vigilance</h4>
|
||||
<ul style="font-size: 11px; padding-left: 20px;">
|
||||
<ul style="font-size: 11px; padding-left: 20px; color: #9b1c1c;">
|
||||
@foreach($candidate->ai_analysis['gaps'] ?? [] as $g)
|
||||
<li>{{ $g }}</li>
|
||||
@endforeach
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@if(!empty($candidate->ai_analysis['scores_detailles']))
|
||||
<h4 style="margin-top: 20px; font-size: 12px; color: #004f82;">Détail des scores par dimension</h4>
|
||||
<table style="margin-top: 10px;">
|
||||
<thead style="background-color: #edf2f7;">
|
||||
<tr>
|
||||
<th style="color: #4a5568; background: #edf2f7; width: 30%;">Dimension</th>
|
||||
<th style="color: #4a5568; background: #edf2f7; width: 15%; text-align: center;">Score</th>
|
||||
<th style="color: #4a5568; background: #edf2f7; width: 55%;">Justification</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
@foreach($candidate->ai_analysis['scores_detailles'] as $key => $details)
|
||||
<tr>
|
||||
<td style="font-weight: bold; text-transform: capitalize;">{{ str_replace('_', ' ', $key) }}</td>
|
||||
<td style="text-align: center;">
|
||||
<span style="font-weight: bold; color: #004f82;">{{ $details['score'] }}%</span>
|
||||
</td>
|
||||
<td style="font-size: 10px; color: #4a5568;">{{ $details['justification'] ?? '' }}</td>
|
||||
</tr>
|
||||
@endforeach
|
||||
</tbody>
|
||||
</table>
|
||||
@endif
|
||||
|
||||
@if(!empty($candidate->ai_analysis['elements_bloquants']) && count($candidate->ai_analysis['elements_bloquants']) > 0 && $candidate->ai_analysis['elements_bloquants'][0] !== '')
|
||||
<div style="margin-top: 20px; padding: 15px; background-color: #fff5f5; border: 1px dashed #feb2b2; border-radius: 10px;">
|
||||
<h4 style="color: #c53030; font-size: 12px; margin-top: 0;">Signaux Critiques / Filtres Bloquants</h4>
|
||||
<ul style="font-size: 11px; padding-left: 20px; color: #c53030; font-weight: bold;">
|
||||
@foreach($candidate->ai_analysis['elements_bloquants'] as $item)
|
||||
<li>{{ $item }}</li>
|
||||
@endforeach
|
||||
</ul>
|
||||
</div>
|
||||
@endif
|
||||
@endif
|
||||
|
||||
<div class="page-break"></div>
|
||||
|
||||
Reference in New Issue
Block a user