]> git.ipfire.org Git - ipfire.org.git/blob - src/templates/fireinfo/index.html
6de5656d9042d6667c0cd0219211dc7446bb0025
[ipfire.org.git] / src / templates / fireinfo / index.html
1 {% extends "../base.html" %}
2
3 {% block title %}{{ _("Fireinfo") }}{% end block %}
4
5 {% block container %}
6 <section>
7 <div class="container">
8 <div class="row">
9 <div class="col col-lg-8">
10 <h1 class="display-2">{{ _("Fireinfo") }}</h1>
11
12 <p>
13 <strong>Fireinfo</strong> is a tool that anonymously collects statistical
14 data from IPFire systems
15 </p>
16 </div>
17 </div>
18 </div>
19 </section>
20
21 <div class="container">
22 <div class="row justify-content-center my-5">
23 <div class="col-12 col-sm-8 col-lg-6 col-xl-4">
24 <a class="btn btn-primary btn-lg btn-block" href="/profile/random">
25 {{ _("Show a Random Profile") }}
26 </a>
27 </div>
28 </div>
29 </div>
30
31 <section class="inverse">
32 <div class="container">
33 <div class="row justify-content-center align-items-center">
34 {% if latest_release %}
35 <div class="col-12 col-md-4 text-center text-md-right">
36 <div>
37 <h1 class="display-1 text-primary mb-0">
38 {{ "%.2f%%" % (latest_release.penetration * 100) }}
39 </h1>
40
41 <h5>
42 {{ _("of all IPFire systems are on the latest release, released %s") % locale.format_date(latest_release.published, relative=True, shorter=True) }}
43 </h5>
44 </div>
45 </div>
46 {% end %}
47
48 <div class="col-12 col-md-3 text-center text-md-left">
49 <img class="img-fluid my-5" src="{{ static_url("img/ipfire-tux.png") }}" alt="IPFire Logo" />
50 </div>
51 </div>
52 </div>
53 </section>
54
55 <section>
56 <div class="container">
57 <div class="row">
58 <div class="col-12">
59 <h4>{{ _("Locations") }}</h4>
60
61 <dl class="row">
62 {% for country_code, percentage in locations %}
63 {% if percentage >= 0.01 %}
64 <dt class="col-sm-6">
65 <span class="flag-icon flag-icon-{{ country_code.lower() }} small mr-1"></span>
66 {{ format_country_name(country_code) }}
67 </dt>
68
69 <dd class="col-sm-6">
70 {% module ProgressBar(percentage, "success") %}
71 </dd>
72 {% end %}
73 {% end %}
74 </dl>
75 </div>
76 </div>
77
78 <div class="row">
79 <div class="col-12">
80 <small>
81 {{ _("IPFire is also running in these countries: %s") % locale.list(list((format_country_name(c) for c, p in locations if p < 0.01))) }}
82 </small>
83 </div>
84 </div>
85 </div>
86 </section>
87
88 <section class="inverse">
89 <div class="container">
90 <div class="row align-items-center">
91 <div class="col-12 col-md-6">
92 <h4>{{ _("CPU Vendors") }}</h4>
93
94 <dl class="row">
95 {% for name, percentage in cpu_vendors %}
96 <dt class="col-sm-3">{{ name }}</dt>
97
98 <dd class="col-sm-9">
99 {% module ProgressBar(percentage, "success") %}
100 </dd>
101 {% end %}
102 </dl>
103
104 <h4>{{ _("Architectures") }}</h4>
105
106 <dl class="row">
107 {% for name, percentage in arches %}
108 <dt class="col-sm-3">{{ name }}</dt>
109
110 <dd class="col-sm-9">
111 {% module ProgressBar(percentage, "success") %}
112 </dd>
113 {% end %}
114 </dl>
115 </div>
116
117 <div class="col-12 col-md-6 text-center">
118 <h1>{{ format_size(memory_avg * 1024, "MB") }}</h1>
119
120 <p class="text-muted">
121 {{ _("Average Amount of Memory") }}
122 </p>
123 </div>
124 </div>
125 </div>
126 </section>
127
128 <section>
129 <div class="container">
130 <div class="row">
131 <div class="col-12 col-md-6 d-flex align-items-center text-md-right">
132 <div>
133 <h1 class="display-1 text-success mb-0">
134 {{ "%.2f%%" % (virtual_ratio * 100) }}
135 </h1>
136
137 <h5>{{ _("of all IPFire systems are running in a virtual environment") }}</h5>
138 </div>
139 </div>
140
141 <div class="col-12 col-md-6">
142 <h4>{{ _("Top Hypervisors") }}</h4>
143
144 <dl class="row">
145 {% for name, percentage in hypervisors %}
146 {% if percentage >= 0.01 %}
147 <dt class="col-sm-3">
148 {% if name == "unknown" %}
149 <span class="text-muted">{{ _("Unknown") }}</span>
150 {% elif name == "VMWare" %}
151 VMware
152 {% else %}
153 {{ name }}
154 {% end %}
155 </dt>
156
157 <dd class="col-sm-9">
158 {% module ProgressBar(percentage, "success") %}
159 </dd>
160 {% end %}
161 {% end %}
162 </dl>
163 </div>
164 </div>
165 </div>
166 </section>
167 {% end block %}