{"id":21874369,"url":"https://github.com/ciukstar/videre","last_synced_at":"2026-05-18T11:33:55.159Z","repository":{"id":232720923,"uuid":"779480907","full_name":"ciukstar/videre","owner":"ciukstar","description":"Instant messaging, video chat, audio calls","archived":false,"fork":false,"pushed_at":"2025-06-07T00:45:07.000Z","size":3435,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-06-07T01:28:41.832Z","etag":null,"topics":["audiocall","instant-messaging","pwa","videochat","webapp"],"latest_commit_sha":null,"homepage":"https://videre-2pg7fq7tgq-de.a.run.app","language":"Haskell","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/ciukstar.png","metadata":{"files":{"readme":"README.fr.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2024-03-29T23:56:41.000Z","updated_at":"2025-06-07T00:45:12.000Z","dependencies_parsed_at":"2024-05-20T22:54:58.702Z","dependency_job_id":"8a2f9148-667c-40d7-b111-3242c166620d","html_url":"https://github.com/ciukstar/videre","commit_stats":null,"previous_names":["ciukstar/videre"],"tags_count":2,"template":false,"template_full_name":null,"purl":"pkg:github/ciukstar/videre","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ciukstar%2Fvidere","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ciukstar%2Fvidere/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ciukstar%2Fvidere/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ciukstar%2Fvidere/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ciukstar","download_url":"https://codeload.github.com/ciukstar/videre/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ciukstar%2Fvidere/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":33177013,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-18T09:27:30.708Z","status":"ssl_error","status_checked_at":"2026-05-18T09:27:28.300Z","response_time":71,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.5:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["audiocall","instant-messaging","pwa","videochat","webapp"],"created_at":"2024-11-28T07:12:07.484Z","updated_at":"2026-05-18T11:33:50.151Z","avatar_url":"https://github.com/ciukstar.png","language":"Haskell","funding_links":[],"categories":[],"sub_categories":[],"readme":"\n[In english](https://github.com/ciukstar/videre/blob/master/README.md)  \n\n[În română](https://github.com/ciukstar/videre/blob/master/README.ro.md)  \n\n[На русском](https://github.com/ciukstar/videre/blob/master/README.ru.md)\n\n## Videre\nMessagerie instantanée et appels vidéo\n\n## Aperçu\nL'application [Videre](https://viderefr-2pg7fq7tgq-de.a.run.app) permet aux utilisateurs d'échanger des messages instantanés via [WebSockets](https://developer.mozilla.org/fr/docs/Web/API/WebSockets_API), de passer des appels audio et vidéo via [WebRTC](https://developer.mozilla.org/fr/docs/Web/API/WebRTC_API) et d'être avertis via [Web Push](https://developer.mozilla.org/fr/docs/Web/API/Push_API).\n\n## Usage\nPour s'appeler, les utilisateurs doivent [s'inscrire](https://viderefr-2pg7fq7tgq-de.a.run.app/auth/login) dans l'application et s'ajouter à leur liste de contacts parmi les utilisateurs enregistrés.\n\nLors de l'ajout d'un utilisateur à votre liste de contacts, l'application demandera l'autorisation d'envoyer des notifications et de s'abonner au service de notification push.\n\nL'application utilise le service de notification push du navigateur pour informer l'appelé d'un appel vidéo ou audio entrant.\n\nEn acceptant l'appel, une session vidéo/audio cryptée peer-to-peer démarrera entre l'appelant et l'appelé comme décrit par [le protocole WebRTC](https://www.w3.org/TR/webrtc/).\n\n## Superutilisateur\n\n* Nom d'utilisateur  \n  ```$YESOD_SUPERUSER_USERNAME```\n* Mot de passe  \n  ```$YESOD_SUPERUSER_PASSWORD```\n  \nUn compte superutilisateur est défini au moment du déploiement. Le superutilisateur gère les autres utilisateurs et accorde ou révoque les privilèges d'administrateur à des utilisateurs spécifiques.\n\n## Intégration avec des API externes\n\n* E-mail: [Gmail API](https://developers.google.com/gmail/api/guides?hl=fr)  \n\n  * Identifiant client  \n    ```$YESOD_GOOGLE_CLIENT_ID```\n  * Secret client  \n    ```$YESOD_GOOGLE_CLIENT_SECRET```\n\t\n* Communication en temps réel pour le Web: [L'API WebRTC](https://developer.mozilla.org/fr/docs/Web/API/WebRTC_API)\n\n  * Configuration  \n    ```$YESOD_RTC_PEER_CONNECTION_CONFIG```  \n    La configuration peut être fournie sous la forme d'une représentation textuelle d'un objet JSON comme décrit dans le [Constructeur RTCPeerConnection()](https://developer.mozilla.org/fr/docs/Web/API/RTCPeerConnection/RTCPeerConnection).  \n\n    Principalement utilisé pour spécifier les serveurs STUN et TURN.\n\n## Optimisation du moteur de recherche\n\n* [Google SEO](https://search.google.com/search-console)\n\n  ```$YESOD_GOOGLE_SITE_VERIFICATION```\n  \n* [Bing SEO](https://www.bing.com/webmasters)\n\n  ```$YESOD_MS_VALIDATE```\n  \n* [Yandex SEO](https://webmaster.yandex.com/welcome)\n\n  ```$YESOD_YANDEX_VERIFICATION```\n\n## Entités de base\n\n### Utilisateur\nUn nouvel utilisateur peut [s'inscrire](https://viderefr-2pg7fq7tgq-de.a.run.app/auth/login) en utilisant un compte Google existant ou en utilisant une adresse e-mail vérifiée. [L'API Gmail](https://developers.google.com/gmail/api/guides?hl=fr) est utilisée comme intermédiaire pour envoyer des liens de vérification vers la boîte de réception de l'utilisateur.\n\nUn utilisateur peut se voir attribuer le rôle d'administrateur par un superutilisateur ou par un autre administrateur. Seuls les utilisateurs disposant du rôle d'administrateur ont accès aux données administratives.\n\n### Contact\nUn contact est créé lorsqu'un utilisateur ajoute un autre utilisateur à sa liste de contacts. Si chaque utilisateur se trouve dans sa liste de contacts, il peut alors s'appeler.\n\n### Abonnement push\nUn abonnement push est créé lorsqu'un utilisateur est ajouté à sa liste de contacts, ou peut être différé ultérieurement.\n\nL'abonnement peut être vérifié ou renouvelé à partir de l'élément de menu « Afficher le contact ».\n\n[Les notifications Web Push](https://developer.mozilla.org/fr/docs/Web/API/Push_API) sont utilisées pour informer un appelé d'un appel vidéo/audio entrant. Il est également utilisé pour terminer la session vidéo/audio.\n\n### L'entité « Appel »\nL'entité Appel représente les appels sortants et entrants vers l'utilisateur.\n\n### L'entité « Chat »\nL'entité Chat représente les messages échangés entre deux utilisateurs. Par défaut, les messages de chat sont échangés et stockés à l'aide du protocole WebSockets. La messagerie peer-to-peer sans stockage intermédiaire est prévue pour les prochaines versions.\n\n### Sonnerie\nDe nouvelles sonneries peuvent être ajoutées par un administrateur dans la section [« Sonneries »](https://viderefr-2pg7fq7tgq-de.a.run.app/data/ringtones) du menu « Données ».\n\nUn administrateur peut également définir des sonneries par défaut pour chaque type d'appel, appel sortant ou entrant.\n\nLes utilisateurs peuvent modifier leurs sonneries préférées dans les paramètres de leur compte.\n\n## Diagramme ER\n\n![Diagramme entité-relation](static/img/ERD_Videre.svg)\n\n## Démo\n\n[Cliquez ici pour voir la démo](https://viderefr-2pg7fq7tgq-de.a.run.app)\n\n_* Cliquez sur le bouton [![Comptes d'utilisateurs de démonstration](demo/button-demo-accounts.png)](https://viderefr-2pg7fq7tgq-de.a.run.app/auth/login) pour obtenir une liste des comptes d'utilisateurs de démonstration_\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fciukstar%2Fvidere","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fciukstar%2Fvidere","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fciukstar%2Fvidere/lists"}