Doublons

{{ $plans->total() }} groupe(s) de doublons exacts (SHA1 strictement identique) — jamais de fusion automatique en masse ici, chaque groupe se valide individuellement.

Voir dans la médiathèque →
@forelse ($plans as $plan) @php $allMembers = collect([$plan['canonical'], ...$plan['duplicates']])->sortBy('id')->values(); @endphp
Identique @if ($plan['ambiguous']) À vérifier @endif Groupe #{{ $plan['group_number'] }} — SHA1 {{ substr($plan['sha1'], 0, 12) }}…

{{ $plan['duplicates']->count() }} copie(s) en trop

@foreach ($allMembers as $m) @endforeach

{{ $plan['canonical_reason'] }}

@if (!empty($plan['conflicts']))

Conflits de métadonnées (valeur du canonique conservée) :

    @foreach ($plan['conflicts'] as $c)
  • {{ $c['field'] }} : « {{ $c['canonical_value'] }} » conservé, « {{ $c['other_value'] }} » (sur {{ $c['other_manifest_id'] }}) ignoré
  • @endforeach
@endif @if (!empty($plan['blocking']))
@foreach ($plan['blocking'] as $b)

{{ $b }}

@endforeach
@endif
@csrf @if ($plan['ambiguous']) @endif
@csrf
@empty

Aucun groupe de doublons exacts pour le moment.

@endforelse
{{ $plans->links() }}
{{-- QUASI-DOUBLONS VISUELS --}}
Visuellement proche

Quasi-doublons signalés ({{ $visualGroups->count() }})

Ces images ne sont jamais fusionnées automatiquement : leur contenu binaire diffère (résolution, recadrage, compression...), seule une ressemblance perceptuelle a été détectée. Une revue individuelle est nécessaire — ouvrez chaque fiche depuis la médiathèque pour décider au cas par cas.

@foreach ($visualGroups->take(20) as $m) @endforeach
@if ($visualGroups->count() > 20) Voir les {{ $visualGroups->count() }} images signalées dans la médiathèque → @endif