Defective Code Logo

Total Downloads Latest Stable Version Latest Stable Version

English | العربية | বাংলা | Bosanski | Deutsch | Español | Français | हिन्दी | Italiano | 日本語 | 한국어 | मराठी | Português | Русский | Kiswahili | தமிழ் | తెలుగు | Türkçe | اردو | Tiếng Việt | 中文

# Avertissement de Traduction

Ce document a été traduit automatiquement. S'il y a des erreurs de traduction, veuillez ouvrir une pull request sur le projet et ajouter le fichier traduit à docs/{Code ISO 639-1}.md.

# Introduction
 
Ce package simplifie le processus d'ajout de liens de partage à votre application Laravel. N'hésitez pas à ouvrir une pull request si vous remarquez qu'il nous manque un service !
 
Un lien de partage est une URL combinant une URL de base de réseau social avec des paramètres de requête pour partager du contenu depuis votre site web ou application. Les paramètres incluent généralement l'URL du contenu et un message prédéfini. Ces liens, comme montré dans les exemples, permettent aux utilisateurs de partager facilement des publications sur des plateformes comme Twitter, Facebook et Telegram. Utilisez ce package open-source pour créer rapidement des liens de partage via le système de composants blade de Laravel.
 
## Exemple
 
```html
<x-link-sharer service="twitter" text="Partagez-moi !" url="https://www.defectivecode.com" hashtags="awesome,links" class="p-4">
<!-- Votre code HTML ici pour contrôler l'apparence et la convivialité du bouton de partage -->
<span class="bg-blue-500 hover:bg-blue-700 text-white font-bold py-2 px-4 rounded">Cliquez-moi !</span>
</x-link-sharer>
# Installation
 
1. Tout d'abord, installez le package PHP en exécutant la commande composer suivante :
```bash
composer require defectivecode/link-sharer
```
2. C'est tout ! Notre package s'installera automatiquement grâce à la découverte de packages de Laravel.
# Services
 
> Les fournisseurs de services mettent occasionnellement à jour leurs liens de partage sans préavis. Nous faisons tout notre possible pour rester à jour avec ces changements. Cependant, si vous rencontrez un service non fonctionnel, veuillez ouvrir un problème ou soumettre une demande de tirage. Pour ajouter un nouveau service, consultez la section [contribuer](#contribuer) ci-dessous.
 
> Certains services fournissent des paramètres supplémentaires qui peuvent être passés au composant. Ceux-ci sont documentés dans le tableau ci-dessous.
 
| Service | Texte Supporté | URL Supportée | Notes |
| ----------- | :------------: | :-----------: | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| Blogger | ✔️ | ✔️ | `t` Le texte de l'article de blog. |
| Diaspora | ✔️ | ✔️ | |
| Diigo | ✔️ | ✔️ | `description` Une description à ajouter à l'article. |
| Douban | ✔️ | ✔️ | `comment` Un commentaire à ajouter à l'article. |
| Evernote | ✔️ | ✔️ | |
| Facebook | ❌ | ✔️ | |
| Flipboard | ✔️ | ✔️ | `quote` Une citation à ajouter à l'article. |
| Gmail | ✔️ | ✔️ | `bcc` Une liste d'adresses e-mail séparées par des virgules pour CCI. <br> `cc` Une liste d'adresses e-mail séparées par des virgules pour CC. <br> `su` L'objet de l'e-mail. <br> `to` Une liste d'adresses e-mail séparées par des virgules pour envoyer à. |
| HackNews | ✔️ | ✔️ | |
| Instapaper | ✔️ | ✔️ | `description` Une description de l'article. |
| LineMe | ❌️ | ✔️ | |
| LinkedIn | ❌ | ✔️ | |
| LiveJournal | ✔️ | ✔️ | |
| Meneame | ❌️ | ✔️ | |
| Okru | ❌️ | ✔️ | |
| Outlook | ✔️ | ✔️ | |
| Pinterest | ✔️ | ✔️ | `media` Une URL d'image à afficher sur l'article. |
| Plurk | ❌ ️ | ✔️ | |
| Pocket | ✔️ | ✔️ | |
| QZone | ✔️ | ✔️ | `summary` Un résumé de l'article. |
| Reddit | ✔️ | ✔️ | |
| Renren | ✔️ | ✔️ | `description` Une description de l'article. <br> `srcUrl` L'URL originale de l'article. |
| Skype | ✔️ | ✔️ | |
| Telegram | ✔️ | ✔️ | |
| Threema | ❌ | ✔️ | `id` L'identifiant de la personne à qui envoyer l'article. |
| Tumblr | ✔️ | ✔️ | `caption` Une légende à ajouter à l'article. <br> `tags` Une liste de tags séparés par des virgules à appliquer à l'article. |
| Twitter | ✔️ | ✔️ | `hastags` Une liste de hashtags séparés par des virgules à appliquer au tweet. <br> `via` Le tweeter à créditer. |
| Viber | ✔️ | ✔️ | |
| VKontakte | ✔️ | ✔️ | `description` Une description de l'article. <br> `image` Une URL d'image à afficher sur l'article. |
| Weibo | ✔️ | ✔️ | |
| WhatsApp | ✔️ | ✔️ | |
| Xing | ❌ | ✔️ | |
| YahooMail | ✔️ | ✔️ | |
# Contribuer
 
Ajouter un service est relativement simple. Commencez par créer une nouvelle classe de service dans le dossier `src/Services`. Nommez la classe d'après le service que vous ajoutez. Le système enregistre automatiquement le service via la fabrique, il n'est donc pas nécessaire de l'enregistrer manuellement.
 
Le service Gmail fourni ci-dessous est un bon exemple.
 
```php
<?php
 
namespace DefectiveCode\LinkSharer\Services;
 
use DefectiveCode\LinkSharer\Traits\AppendsLinks;
 
class Gmail extends Service
{
use AppendsLinks;
 
protected string $baseUrl = 'https://mail.google.com/mail/u/0';
 
protected array $baseParameterMapping = [
'text' => 'body',
];
 
protected array $additionalParameters = [
'bcc',
'cc',
'su',
'to',
];
 
protected array $defaultParameters = [
'view' => 'cm',
];
}

Veuillez noter que seul le baseUrl est obligatoire. Les baseParameterMapping, additionalParameters et defaultParameters sont optionnels mais peuvent améliorer la fonctionnalité.

$baseUrl

L'URL d'un service n'a pas besoin de commencer par HTTPS. Par exemple, Viber utilise viber://forward.

La propriété baseUrl spécifie l'URL principale du service. Cette URL est fondamentale lors de la génération du lien de partage, auquel des paramètres de requête sont ajoutés. En utilisant Gmail comme exemple, son URL de base est https://mail.google.com/mail/u/0.

$baseParameterMapping

Ce package identifie deux attributs principaux : text et url, étant donné leur omniprésence chez la plupart des fournisseurs de services. Ne définissez ces attributs que si le service en question utilise une convention de nommage différente. Par exemple, Gmail utilise body à la place de text, nécessitant cette correspondance explicite. Lors de l'utilisation de Gmail, tout attribut text passé au composant blade est transformé en paramètre de requête body dans le lien de partage.

$additionalParameters

Certains services acceptent des paramètres de requête plus spécifiques. En prenant Gmail comme référence, il supporte bcc, cc, su et to. Définissez-les dans le tableau additionalParameters. Lorsque les utilisateurs incluent ces attributs dans le composant blade, ils sont ajoutés au lien de partage. Assurez-vous que ces paramètres sont également listés dans le tableau des services supportés, avec des descriptions concises.

$defaultParameters

Certains services exigent des paramètres de requête spécifiques pour que le lien de partage fonctionne. Par exemple, Gmail nécessite l'inclusion de view=cm. Ces attributs obligatoires sont déclarés dans le tableau defaultParameters. Ils sont toujours ajoutés au lien de partage et ne peuvent pas être omis.

prepareAttributes()

Pour manipuler les attributs avant de générer un lien de partage, introduisez une méthode prepareAttributes dans votre service. Cette méthode s'active avant de passer les attributs à la méthode generateLink, permettant des modifications personnalisées des attributs. Voici une démonstration utilisant le trait AppendsLinks.

<?php
 
namespace DefectiveCode\LinkSharer\Traits;
 
trait AppendsLinks
{
protected function prepareAttributes(): void
{
if (isset($this->attributes['text']) && isset($this->attributes['url'])) {
$this->attributes['text'] = $this->attributes['text'] . "\n" . $this->attributes['url'];
return;
}
 
if (isset($this->attributes['url'])) {
$this->attributes['text'] = $this->attributes['url'];
}
}
}

Les attributs passés dans le service sont accessibles via le tableau $attributes. Dans l'exemple illustré :

# Directives de Support
 
Merci d'avoir choisi notre package open source ! Prenez un moment pour consulter ces directives de support. Elles vous aideront à tirer le meilleur parti de notre projet.
 
## Support Communautaire
 
Notre projet open source est alimenté par notre incroyable communauté. Si vous avez des questions ou besoin d'assistance, StackOverflow et d'autres ressources en ligne sont vos meilleures options.
 
## Bugs et Priorisation des Fonctionnalités
 
La réalité de la gestion d'un projet open source signifie que nous ne pouvons pas traiter immédiatement chaque bug signalé ou demande de fonctionnalité. Nous priorisons les problèmes dans l'ordre suivant :
 
### 1. Bugs Affectant Nos Produits Payants
 
Les bugs qui impactent nos produits payants seront toujours notre priorité absolue. Dans certains cas, nous ne traiterons que les bugs qui nous affectent directement.
 
### 2. Pull Requests de la Communauté
 
Si vous avez identifié un bug et avez une solution, veuillez soumettre une pull request. Après les problèmes affectant nos produits, nous donnons la priorité suivante à ces correctifs communautaires. Une fois examinée et approuvée, nous fusionnerons votre solution et créditerons votre contribution.
 
### 3. Support Financier
 
Pour les problèmes en dehors des catégories mentionnées, vous pouvez choisir de financer leur résolution. Chaque problème ouvert est lié à un formulaire de commande où vous pouvez contribuer financièrement. Nous priorisons ces problèmes en fonction du montant de financement fourni.
 
### Contributions Communautaires
 
L'open source prospère lorsque sa communauté est active. Même si vous ne corrigez pas de bugs, envisagez de contribuer par des améliorations de code, des mises à jour de documentation, des tutoriels, ou en aidant les autres dans les canaux communautaires. Nous encourageons fortement tout le monde, en tant que communauté, à aider à soutenir le travail open source.
 
_Pour réitérer, DefectiveCode priorisera les bugs en fonction de leur impact sur nos produits payants, des pull requests de la communauté, et du support financier reçu pour les problèmes._

Licence - Licence MIT

Copyright © Defective Code, LLC. Tous droits réservés

La permission est par la présente accordée, gratuitement, à toute personne obtenant une copie de ce logiciel et des fichiers de documentation associés (le "Logiciel"), d'utiliser le Logiciel sans restriction, y compris sans limitation les droits d'utiliser, copier, modifier, fusionner, publier, distribuer, sous-licencier et/ou vendre des copies du Logiciel, et de permettre aux personnes à qui le Logiciel est fourni de le faire, sous réserve des conditions suivantes :

L'avis de droit d'auteur ci-dessus et cette permission doivent être inclus dans toutes les copies ou portions substantielles du Logiciel.

LE LOGICIEL EST FOURNI "EN L'ÉTAT", SANS GARANTIE D'AUCUNE SORTE, EXPRESSE OU IMPLICITE, Y COMPRIS MAIS SANS S'Y LIMITER LES GARANTIES DE QUALITÉ MARCHANDE, D'ADÉQUATION À UN USAGE PARTICULIER ET DE NON-VIOLATION. EN AUCUN CAS LES AUTEURS OU LES TITULAIRES DU DROIT D'AUTEUR NE SERONT RESPONSABLES DE TOUTE RÉCLAMATION, DOMMAGE OU AUTRE RESPONSABILITÉ, QUE CE SOIT DANS LE CADRE D'UN CONTRAT, D'UN DÉLIT OU AUTREMENT, DÉCOULANT DE, HORS OU EN RELATION AVEC LE LOGICIEL OU L'UTILISATION OU D'AUTRES TRAITEMENTS DANS LE LOGICIEL.

Link Sharer - Defective Code