Skip to content

docs: [LAR-147] update readme #272

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 1 commit into from
Dec 25, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
62 changes: 42 additions & 20 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,66 +1,80 @@
<p align="center">
<img src="./art/logo.svg" height="250" />
<img src="./art/logo.svg" height="250" alt="Community logo" />
</p>

<p align="center">
<a href="https://laravel.com">
<img alt="Laravel v10.x" src="https://img.shields.io/badge/Laravel-v10.x-FF2D20">
<img alt="Laravel v11.x" src="https://img.shields.io/badge/Laravel-v11.x-FF2D20">
</a>
<a href="https://github.com/laravelcm/laravel.cm/actions">
<img src="https://github.com/laravelcm/laravel.cm/workflows/Tests/badge.svg" alt="Build Status" />
</a>
<a href="https://github.com/laravelcm/laravel.cm/actions/workflows/coding-standards.yml">
<img src="https://github.com/laravelcm/laravel.cm/actions/workflows/coding-standards.yml/badge.svg" alt="Coding Standards" />
<a href="https://github.com/laravelcm/laravel.cm/actions/workflows/quality.yml">
<img src="https://github.com/laravelcm/laravel.cm/actions/workflows/quality.yml/badge.svg" alt="Coding Standards" />
</a>
<a href="https://forge.laravel.com">
<img src="https://img.shields.io/endpoint?url=https%3A%2F%2Fforge.laravel.com%2Fsite-badges%2Fb0b9e269-e85c-40eb-9b8d-cfa8197a1bb2&style=plastic" alt="Laravel Forge Site Deployment Status" />
</a>
</p>

## Laravel.cm

Ce dépôt contient le code source du site de [Laravel.cm](https://laravel.cm). Laravel Cameroun est la plus grande communauté de
développeurs PHP & Laravel résidant au Cameroun.

## Rejoindre la communauté

Vous pouvez rejoindre la communauté ou nous suivre via nos différentes plateformes

[Site Officiel](https://laravel.cm) - [Facebook](https://www.facebook.com/laravelcm) - [Twitter](https://twitter.com/laravelcm) - [Rejoindre Slack](https://laravel.cm/slack) - [Rejoindre Discord](https://laravel.cm/discord)
- [Discord](https://discord.gg/KNp6brbyVD)
- [Telegram](https://t.me/laravelcameroun)
- [Twitter](https://twitter.com/laravelcm)
- [Facebook](https://www.facebook.com/laravelcm)

## Sponsors

Nous tenons à remercier ces **entreprises extraordinaires** pour leur parrainage. Si vous souhaitez devenir sponsor, veuillez visiter <a href="https://laravel.cm/sponsors">la page Laravel.cm de Sponsoring</a>.

- **[Laravel Shopper](https://laravelshopper.dev)**
- [GDG Douala](https://gdg.community.dev/gdg-douala)
- [NotchPay](https://notchpay.co)
- [Sharuco](https://sharuco.lndev.me)
- [NotchPay](https://notchpay.co?utm_source=laravel.cm)
- [LN UI](https://ui.lndev.me?utm_source=laravel.cm)

## Caractéristiques Serveur
The following tools are required in order to start the installation.

- PHP >=8.0
Les dépendances suivantes sont nécessaires pour démarrer l'installation.

- PHP >= 8.2
- [Composer](https://getcomposer.org/download/)
- [Yarn](https://yarnpkg.com/getting-started/install)
- [Valet](https://laravel.com/docs/valet#installation)
- [Valet](https://laravel.com/docs/valet#installation) or [Herd](https://herd.laravel.com)

## Installation
> Notez que vous êtes libre d'ajuster l'emplacement `~/Sites/laravel.cm` à n'importe quel répertoire de votre choix sur votre machine. Ce faisant, assurez-vous d'exécuter la commande `valet link` dans le répertoire souhaité.

> Notez que vous êtes libre d'ajuster l'emplacement `~/Sites/laravel.cm` à n'importe quel répertoire de votre choix sur votre machine. Ce faisant, assurez-vous d'exécuter la commande `valet link` (si vous utilisez Laravel Valet) dans le répertoire souhaité.

1. Clonez ce repo avec la commande `git clone git@github.com:laravelcm/laravel.cm.git ~/Sites/laravel.cm`
2. Exécuter `composer install` pour installer les dépendances PHP
3. Configurez une base de données locale appelée `laravelcm`
3. Configurez une base de données locale (vous pouvez l'appeler `laravelcm`)
4. Exécutez `composer setup` pour configurer l'application
5. Configurer un pilote de messagerie fonctionnel comme [Mailtrap](https://mailtrap.io/) ou [Maildev](https://maildev.github.io/maildev/)
6. Configurez les fonctionnalités (facultatives) ci-dessous

Vous pouvez maintenant visiter l'application dans votre navigateur en visitant [http://laravel.cm.test](http://laravel.cm.test). Si vous avez amorcé la base de données, vous pouvez vous connecter à un compte de test avec ** `johndoe` ** & **` password` **.
Vous pouvez maintenant visiter l'application dans votre navigateur en visitant [http://laravel.cm.test](http://laravel.cm.test).
Si vous avez amorcé la base de données, vous pouvez vous connecter à un compte de test avec ** `johndoe` ** & **` password` **.

Une fois que vous avez installé et configuré, pour avoir des dummy data, vous devez exécuter la commande :

Une fois que vous avez installé et configuré, pour avoir des dummy data, vous devez exécuter la commande
```shell
php artisan db:seed --class=DummyDatabaseSeeder
```

### GitHub Authentication (optionnel)
Pour que l'authentification Github fonctionne localement, vous devez [enregistrer une nouvelle application OAuth sur Github](https://github.com/settings/applications/new). Utilisez `http://laravel.cm.test` pour l'URL de la page d'accueil et `http://laravel.cm.test/auth/github` pour l'URL de rappel. Lorsque vous avez créé l'application, remplissez l'ID et le secret dans votre fichier `.env` dans les variables d'environnement ci-dessous. Vous devriez maintenant pouvoir vous authentifier avec Github.

Pour que l'authentification Github fonctionne localement, vous devez [enregistrer une nouvelle application OAuth sur Github](https://github.com/settings/applications/new).
Utilisez `http://laravel.cm.test` pour l'URL de la page d'accueil et `http://laravel.cm.test/auth/github` pour l'URL de rappel.
Lorsque vous avez créé l'application, remplissez l'ID et le secret dans votre fichier `.env` dans les variables d'environnement ci-dessous.
Vous devriez maintenant pouvoir vous authentifier avec Github.

```shell
GITHUB_ID=
Expand All @@ -69,7 +83,10 @@ GITHUB_URL=http://laravel.cm.test/auth/github
```

### Twitter Sharing (optionnel)
Pour permettre le partage automatique des articles publiés sur Twitter, vous devez [créer une application Twitter](https://developer.twitter.com/apps/). Une fois l'application créée, mettez à jour les variables ci-dessous dans votre fichier `.env`. La clé et le secret du consommateur ainsi que le jeton et le secret d'accès se trouvent dans la section «Clés et jetons» de l'interface utilisateur des développeurs Twitter.

Pour permettre le partage automatique des articles publiés sur Twitter, vous devez [créer une application Twitter](https://developer.twitter.com/apps/).
Une fois l'application créée, mettez à jour les variables ci-dessous dans votre fichier `.env`.
La clé et le secret du consommateur ainsi que le jeton et le secret d'accès se trouvent dans la section « Clés et jetons » de l'interface utilisateur des développeurs Twitter.

```shell
TWITTER_CONSUMER_KEY=
Expand All @@ -78,10 +95,13 @@ TWITTER_ACCESS_TOKEN=
TWITTER_ACCESS_SECRET=
```

Les articles approuvés sont partagés dans l'ordre dans lequel ils ont été soumis pour approbation. Les articles sont partagés deux fois par jour à 14h00 et 18h00 UTC. Une fois qu'un article a été partagé, il ne sera plus partagé.
Les articles approuvés sont partagés dans l'ordre dans lequel ils ont été soumis pour approbation. Les articles sont partagés deux fois par jour à 14h00 et 18h00 UTC.
Une fois qu'un article a été partagé, il ne sera plus partagé.

### Notifications Telegram (optionnel)
Laravel Cameroun peut notifier les administrateurs des nouveaux articles soumis via Telegram. Pour que cela fonctionne, vous devez configurer un [bot Telegram](https://core.telegram.org/bots) et obtenir un token. Ensuite, configurez le canal sur lequel vous souhaitez envoyer les messages relatifs aux nouveaux articles.

Laravel Cameroun peut notifier les administrateurs des nouveaux articles soumis via Telegram. Pour que cela fonctionne, vous devez configurer un [bot Telegram](https://core.telegram.org/bots) et obtenir un token.
Ensuite, configurez le canal sur lequel vous souhaitez envoyer les messages relatifs aux nouveaux articles.

```shell
TELEGRAM_BOT_TOKEN=
Expand All @@ -91,9 +111,11 @@ TELEGRAM_CHANNEL=
## Commands
| Command | Description |
|------------------------------------|--------------------------------------------------------|
| **`composer test`** | Exécuter les tests |
| **`composer lint`** | Appliquer le formatage de code avec `laravel/pint` |
| **`composer test:phpstan`** | Appliquer l'analyse statique avec phpstan |
| **`composer test:pest`** | Exécuter les tests |
| `php artisan migrate:fresh --seed` | Reset la base de données |
| `yarn && yarn watch` | Surveillez les changements dans les fichiers CSS et JS |
| `yarn && yarn dev` | Surveillez les changements dans les fichiers CSS et JS |

## Maintainers

Expand Down
6 changes: 3 additions & 3 deletions app/Http/Controllers/NotchPayCallBackController.php
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,6 @@
use Illuminate\Http\Request;
use Illuminate\Support\Facades\Cache;
use Illuminate\Support\Facades\Log;
use NotchPay\Exceptions\ApiException;
use NotchPay\NotchPay;
use NotchPay\Payment;

Expand Down Expand Up @@ -39,7 +38,7 @@ public function __invoke(Request $request): RedirectResponse
value: __('Votre paiement a été annulé veuillez relancer pour soutenir Laravel Cameroun, Merci.')
);
} else {
// @ToDO Envoie de mail de notification de remerciement pour le sponsoring si l'utilisateur est dans la base de données
// @ToDO: Envoie de mail de notification de remerciement pour le sponsoring si l'utilisateur est dans la base de données
event(new SponsoringPaymentInitialize($transaction));

Cache::forget(key: 'sponsors');
Expand All @@ -50,8 +49,9 @@ public function __invoke(Request $request): RedirectResponse
);
}

} catch (ApiException $e) {
} catch (\Exception $e) {
Log::error($e->getMessage());

session()->flash(
key: 'error',
value: __('Une erreur s\'est produite lors de votre paiement. Veuillez relancer Merci.')
Expand Down
14 changes: 6 additions & 8 deletions database/seeders/Fixtures/ArticleTableSeeder.php
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,6 @@
use App\Models\Article;
use App\Models\Tag;
use App\Models\User;
use Faker\Generator as Faker;
use Illuminate\Database\Console\Seeds\WithoutModelEvents;
use Illuminate\Database\Seeder;

Expand All @@ -22,10 +21,9 @@ public function run(): void
->whereJsonContains('concerns', ['post'])
->get()
->modelKeys();
$faker = new Faker;

/** @var Article $article1 */
$article1 = Article::create([
$article1 = Article::query()->create([
'title' => $name = 'Voyager - The Missing Laravel Admin',
'slug' => $name,
'body' => "
Expand Down Expand Up @@ -132,7 +130,7 @@ public function run(): void
->toMediaCollection('media');

/** @var Article $article2 */
$article2 = Article::create([
$article2 = Article::query()->create([
'title' => $name = 'Awesome of awesome',
'slug' => $name,
'body' => "
Expand Down Expand Up @@ -399,7 +397,7 @@ public function run(): void
->toMediaCollection('media');

/** @var Article $article3 */
$article3 = Article::create([
$article3 = Article::query()->create([
'title' => $name = 'React Email Editor',
'slug' => $name,
'body' => "
Expand Down Expand Up @@ -522,7 +520,7 @@ public function run(): void
->toMediaCollection('media');

/** @var Article $article4 */
$article4 = Article::create([
$article4 = Article::query()->create([
'title' => $name = 'Awesome Laravel Package, Tutorials, News',
'slug' => $name,
'body' => "
Expand Down Expand Up @@ -1106,7 +1104,7 @@ public function run(): void
->toMediaCollection('media');

/** @var Article $article5 */
$article5 = Article::create([
$article5 = Article::query()->create([
'title' => $name = 'COVID TEST CENTER',
'slug' => $name,
'body' => "
Expand Down Expand Up @@ -1180,7 +1178,7 @@ public function run(): void
->toMediaCollection('media');

/** @var Article $article6 */
$article6 = Article::create([
$article6 = Article::query()->create([
'title' => $name = 'Le nouveau site de Grafikart (Grafikart.New)',
'slug' => $name,
'body' => "
Expand Down
12 changes: 5 additions & 7 deletions database/seeders/Fixtures/ThreadTableSeeder.php
Original file line number Diff line number Diff line change
Expand Up @@ -21,14 +21,12 @@ public function run(): void
->get()
->modelKeys();

Thread::factory(['user_id' => random_int(1, count($usersIds))])
Thread::factory(['user_id' => array_rand($usersIds)])
->count(40)
->has(
Reply::factory(['user_id' => array_rand($usersIds)])->count(5),
'replies'
)
->create();

/*$threadsIds = Thread::query()->inRandomOrder()
->get()
->modelKeys();

Reply::factory(['user_id' => random_int(1, count($threadsIds))])->create();*/
}
}
2 changes: 1 addition & 1 deletion resources/views/ads/ln.blade.php
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,7 @@ class="absolute left-1/2 top-0 ml-[-19rem] w-[69.5625rem] fill-white blur-[26px]
<path d="M.016 439.5s-9.5-300 434-300S882.516 20 882.516 20V0h230.004v439.5H.016Z" />
</svg>
</div>
<a href="https://ui.lndev.me/?utm_source=laravel.cm" target="_blank">
<a href="https://ui.lndev.me?utm_source=laravel.cm" target="_blank">
<svg viewBox="0 0 104 24" xmlns="http://www.w3.org/2000/svg" class="h-6" aria-hidden="true">
<rect width="24" height="24" rx="6" class="fill-[#060911] dark:fill-white" />
<path
Expand Down
4 changes: 3 additions & 1 deletion resources/views/livewire/pages/home.blade.php
Original file line number Diff line number Diff line change
Expand Up @@ -235,5 +235,7 @@ class="absolute inset-x-0 top-0 h-32 bg-gradient-to-b from-black xl:inset-y-0 xl
</div>
</div>

<livewire:components.github-repositories />
@if(config('services.github.token'))
<livewire:components.github-repositories />
@endif
</div>
Loading