2020-11-11 11:47:10 +01:00
---
2020-11-13 12:48:02 +01:00
title: Catalogue d'applications
2020-11-11 11:47:10 +01:00
template: docs
taxonomy:
category: docs
2021-02-06 18:22:00 +01:00
routes:
default: '/apps'
2021-02-08 03:09:43 +01:00
twig_first: true
process:
twig: true
2020-11-11 11:47:10 +01:00
---
2017-09-05 22:38:25 +02:00
2021-02-08 03:09:43 +01:00
< div class = "javascriptDisclaimer" >
2020-09-18 19:11:15 +02:00
Cette page requiert que JavaScript soit activé pour s'afficher correctement :s.
2021-02-08 03:09:43 +01:00
< / div >
2018-11-26 19:26:20 +01:00
2017-09-05 22:38:25 +02:00
< div class = "input-group" >
2021-02-08 03:09:43 +01:00
< span id = "filter-app-icon" class = "input-group-addon" > < i class = "fa fa-search" > < / i > < / span >
2019-10-21 02:13:09 +02:00
< input id = "filter-app-cards" type = "text" class = "form-control" placeholder = "Rechercher des apps..." aria-describedby = "basic-addon1" / >
2015-10-05 12:57:17 +02:00
< / div >
2019-10-21 02:13:09 +02:00
2021-02-07 03:53:10 +01:00
!!! L'équipe de packaging d'applications sera heureuse de recevoir vos commentaires ! Si vous trouvez des problèmes ou des améliorations possibles en installant une app, n'hésitez pas à contribuer en créant un ticket (issue) directement sur le dépôt de code.
2019-10-21 02:13:09 +02:00
2021-02-08 03:09:43 +01:00
! Les applications étiquettées < span class = "label label-warning label-as-badge" > mauvaise qualité< / span > fonctionnent peut-être, mais ne respectent pas les bonnes pratiques de packaging ou ne supportent pas certaines fonctionnalités comme les sauvegardes/restauration ou l'authentication unifiée. Soyez prudent si vous les installez.
{% set catalog = read_file('/var/www/app_yunohost/apps/builds/default/doc_catalog/apps.json')|json_decode(true) %}
< div id = "app-cards-list" class = "app-cards-list" >
{% for app_id, infos in catalog.apps %}
{% if grav.language.getActive in infos.description %}
{% set descr_lang = grav.language.getActive %}
{% else %}
{% set descr_lang = 'en' %}
{% endif %}
< div class = "app-card panel panel-default" data-appid = "{{ app_id }}" data-level = "{{ infos.level }}" >
< div class = "app-title" >
{% if infos.good_quality %}
< i class = "fa fa-star" style = "color: gold" > < / i >
{% endif %}
{{ infos.name }}
< span class = "label label-default" > {{infos.category}}< / span >
{% if infos.broken %}
< span class = "label label-error" > cassée< / span >
{% else %}
{% if infos.bad_quality %}
< span class = "label label-warning" > mauvaise qualité< / span >
{% endif %}
{% endif %}
< / div >
< div class = "app-descr" > {{ infos.description[descr_lang] }}< / div >
< div class = "app-footer" >
< div class = "app-buttons btn-group" role = "group" >
2017-09-05 22:38:25 +02:00
2021-02-08 03:09:43 +01:00
< a href = "{{infos.url}}" target = "_BLANK" type = "button" class = "btn btn-default col-sm-4" > < i class = "fa fa-code" > < / i > Code < / a >
< a href = "app_{{app_id}}" target = "_BLANK" type = "button" class = "btn btn-default col-sm-4" > < i class = "fa fa-book" > < / i > Doc < / a >
< a href = "https://install-app.yunohost.org/?app={{app_id}}" target = "_BLANK" type = "button" class = "btn btn-{% if infos.bad_quality %}error{% else %}success{% endif %} col-sm-4 active" > < i class = "fa fa-plus" > < / i > Install < / a >
2019-10-21 02:13:09 +02:00
2021-02-08 03:09:43 +01:00
< / div >
< / div >
< / div >
{% endfor %}
< / div >
2017-09-05 22:38:25 +02:00
2021-02-08 03:09:43 +01:00
! Si vous ne trouvez pas une application précise que vous recherchez, vous pouvez l'ajouter à la [liste d'apps souhaitées ](/apps_wishlist ).
2013-11-17 13:36:38 +01:00
2019-10-21 02:13:09 +02:00
<!--
Javascript helpers
-->
2013-11-17 13:36:38 +01:00
< script >
2019-10-21 02:13:09 +02:00
2013-11-17 13:36:38 +01:00
$(document).ready(function () {
2019-10-21 02:13:09 +02:00
2021-02-08 03:09:43 +01:00
$(".javascriptDisclaimer").hide();
2017-09-05 22:38:25 +02:00
2021-02-08 03:09:43 +01:00
function filter() {
2019-10-21 02:13:09 +02:00
var user_input_in_search_field = $('#filter-app-cards').val().toLowerCase();
$('.app-card').each(function() {
// This is where we actually define how apps are filtered:
// we look for the name of the app (h3) and try to find the user input
// + we check this app match the current quality filter
2020-05-23 17:32:24 +02:00
var text = $(this).find('.app-title').text().toLowerCase() + " " + $(this).find('.app-descr').text().toLowerCase();
2021-02-08 03:09:43 +01:00
if (text.indexOf(user_input_in_search_field) >= 0)
2019-10-21 02:13:09 +02:00
{
$(this).show();
}
else
{
$(this).hide();
}
2017-09-05 22:38:25 +02:00
});
2021-02-08 03:09:43 +01:00
}
2019-10-21 02:13:09 +02:00
2021-02-08 03:09:43 +01:00
function sort() {
var sorted = $('.app-card').sort(function (a, b) {
var level_a = Math.min(parseInt($(a).data('level')), 8);
var level_b = Math.min(parseInt($(b).data('level')), 8);
if (level_a > level_b)
{
return -1;
}
else if (level_a < level_b )
{
return 1;
}
else {
var id_a = $(a).data('appid');
var id_b = $(b).data('appid');
return id_a > id_b ? 1 : -1;
}
});
$("#app-cards-list").html(sorted);
2017-09-05 22:38:25 +02:00
}
//=================================================
// Search & filter bar event
//=================================================
$('#filter-app-cards').keyup(filter);
2019-10-21 02:13:09 +02:00
$('a[data-quality-filter]').on("click", function(){
$('#current-quality-filter').text($(this).text());
$('#current-quality-filter').data("filter", $(this).data("quality-filter"));
2017-09-05 22:38:25 +02:00
filter();
});
2020-05-23 17:32:24 +02:00
2021-02-08 03:09:43 +01:00
sort();
2019-10-21 02:13:09 +02:00
filter();
2017-09-05 22:38:25 +02:00
2013-11-17 13:36:38 +01:00
});
2017-01-12 13:11:55 +01:00
< / script >