🏗️」 wip: work in progress, not done yet.

This commit is contained in:
2025-08-29 16:25:02 +02:00
parent 0e2c88f97b
commit ba0972fa06
6 changed files with 146659 additions and 0 deletions

View File

@ -0,0 +1,800 @@
<!DOCTYPE html>
<html lang='en'>
<head>
<meta charset='utf-8'>
<meta content='IE=Edge,chrome=1' http-equiv='X-UA-Compatible'>
<meta content='width=device-width,height=device-height,user-scalable=no,initial-scale=1.0,maximum-scale=1.0,minimum-scale=1.0' name='viewport'>
<meta content='yes' name='mobile-web-app-capable'>
<meta content='yes' name='apple-mobile-web-app-capable'>
<meta content='translucent-black' name='apple-mobile-web-app-status-bar-style'>
<meta content='Intranet 42' name='apple-mobile-web-app-title'>
<meta content='on' http-equiv='cleartype'>
<link href='https://cdn.intra.42.fr/' rel='preconnect'>
<link href='https://projects.intra.42.fr/assets/42_logo_black-684989d43d629b3c0ff6fd7e1157ee04db9bb7a73fba8ec4e01543d650a1c607.png' rel='icon' type='image/png'>
<link href='https://projects.intra.42.fr/assets/42_logo_black-684989d43d629b3c0ff6fd7e1157ee04db9bb7a73fba8ec4e01543d650a1c607.png' rel='shortcut icon' type='image/png'>
<link href='/opensearch.xml' rel='search' title='project' type='application/opensearchdescription+xml'>
<title>Intra Projects Inception-of-Things Edit</title>
<meta name="csrf-param" content="authenticity_token" />
<meta name="csrf-token" content="ifK0ROih/HuoY/97stuqzDMAH14B3eZygQnSoqk+ptuUBTEnMZVBDBZ8U70aUNxyCguRYN8az+RIeGG1YNBDiA==" />
<link rel="stylesheet" media="all" href="/assets/application-4521e8903afd8765f2285e3c31ec78586ca09c83d617c579141fe7e86adc2491.css" />
<link rel="stylesheet" media="screen" href="https://use.typekit.net/bzd7hlb.css" />
<style>
.deprecated {
-webkit-filter: grayscale(100%);
filter: grayscale(100%); }
</style>
<script>
(function() {
this._user = {
"login": "kiroussa",
"id": 156843,
"url": "https://profile.intra.42.fr/users/kiroussa"
};
this._consumer_address = 'wss://profile.intra.42.fr/cable';
}).call(this);
</script>
<script>
(function() {
this._environment = "production";
this._git_commit = "";
this._release = this._git_commit;
}).call(this);
</script>
<body class=' '>
<div class='notifications-flash-top-bar'>
</div>
<script>
(function() {
this._notifCount = 0;
this._flashes = [];
}).call(this);
</script>
<div class='notifications-container hidden-xs' data-flashes-url='https://profile.intra.42.fr/flashes' data-notifications-url='https://profile.intra.42.fr/notifications'></div>
<div class='main-navbar'>
<div class='main-navbar-left'>
<div class='main-navbar-logo' data-turbolinks-scaffold>
<a href="https://profile.intra.42.fr"><img alt="42" src="https://profile.intra.42.fr/assets/42_logo-7dfc9110a5319a308863b96bda33cea995046d1731cebb735e41b16255106c12.svg" />
</a></div>
<span class='hidden-sidebars main-menu-trigger lines-button x' data-trigger-menu=''>
<span class='fal fa-bars'></span>
</span>
<a class="search-mobile-button hidden-sidebars fal fa-search" href="https://profile.intra.42.fr/searches"></a>
<form action='https://profile.intra.42.fr/searches/search' class='main-navbar-search hidden-xs' data-project-url='https://projects.intra.42.fr/' data-user-url='https://profile.intra.42.fr/users/' method='get'>
<input autocomplete='off' autofocus class='search-input' name='query' placeholder='search...'>
</form>
</div>
<div class='main-navbar-user-nav' data-turbolinks-scaffold>
<div class='user-actions hidden-xs'>
<a class="user-action labelable" data-notification-drop="" href="#"><span class='fal fa-bell'></span>
<span class='user-action-count labeled' data-counter-count='0'>0</span>
</a></div>
<span class='dropdown'>
<a data-toggle='dropdown' href='#'>
<span data-login='kiroussa'>
kiroussa
</span>
<div class='user-profile-picture visible-sidebars' style='background-image: url(https://cdn.intra.42.fr/users/1fd72a2be6d99e984a9ad53559455cb7/kiroussa.jpg)'></div>
</a>
<ul aria-labelledby='User menu' class='dropdown-menu' role='menu'>
<li>
<a href="https://profile.intra.42.fr/slots"><span class='iconf-calendar'></span>
Manage slots
</a></li>
<li>
<a href="https://profile.intra.42.fr/users/kiroussa/edit">Settings</a>
</li>
<li>
<a rel="nofollow" data-method="delete" href="https://signin.intra.42.fr/users/sign_out?all=false"><span class='iconf-power-off'></span>
<b>Logout</b>
</a></li>
</ul>
</span>
</div>
</div>
<div class='page'>
<div class='left-sidebar-fix with-main-menu'></div>
<div class='page-sidebar left-main-container page-sidebar-fixed-left under-main-navbar'><ul class='main-left-navbar'>
<div class='_'>
<li>
<a class="inactive" href="https://profile.intra.42.fr"><span class='icon-user-2'></span>
<span class='visible-overlay'>
Profile
</span>
</a></li>
<li>
<a class="active" href="https://projects.intra.42.fr"><span class='icon-network-2-1'></span>
<span class='visible-overlay'>
Projets
</span>
</a></li>
<li>
<a class="inactive" href="https://elearning.intra.42.fr"><span class='icon-movie-play-1'></span>
<span class='visible-overlay'>
E-learning
</span>
</a></li>
<li>
<a class="inactive" href="https://stackoverflowteams.com/c/42network"><span class='icon-bubble-conversation-5'></span>
<span class='visible-overlay'>
Forum
</span>
</a></li>
<li>
<a class="inactive" href="https://companies.intra.42.fr"><span class='icon-briefcase'></span>
<span class='visible-overlay'>
Companies
</span>
</a></li>
<li>
<a class="inactive" href="https://meta.intra.42.fr"><span class='icon-compass-2'></span>
<span class='visible-overlay'>
Meta
</span>
</a></li>
<li>
<a class="inactive" href="https://shop.intra.42.fr"><span class='icon-shopping-1'></span>
<span class='visible-overlay'>
Shop
</span>
</a></li>
</div>
<div class='admin-links'>
</div>
</ul><div class='app-sidebar-left'>
<div class='marked-title'>Menu</div>
<div class='projects-menu-list'>
<a class="project-item sidebar-item" href="/"><span class='icon-briefcase project-status-icon'></span>
My projects
</a><a class="project-item sidebar-item" href="/projects/graph"><span class='icon-globe project-status-icon'></span>
Holy Graph
</a><a class="project-item sidebar-item" href="/projects/list"><span class='icon-list-1 project-status-icon'></span>
List projects
</a><a class="project-item sidebar-item" href="/cursus_subscriptions"><span class='icon-list-1 project-status-icon'></span>
Available Cursus
</a></div>
<div class='marked-title'>Your projects</div>
<div class='projects-menu-list'>
<a class="project-item sidebar-item" href="/projects/work-experience-i-work-experience-i-company-final-evaluation"><span class='icon-box-2 project-status-icon'></span>
Work Experience I - Company Final Evaluation
</a><a class="project-item sidebar-item" href="/projects/work-experience-i-work-experience-i-company-mid-evaluation"><span class='icon-box-2 project-status-icon'></span>
Work Experience I - Company Mid Evaluation
</a><a class="project-item sidebar-item" href="/projects/42cursus-abstract-vm"><span class='icon-box-2 project-status-icon'></span>
abstract-vm
</a><a class="project-item sidebar-item" href="/projects/42cursus-override"><span class='icon-box-2 project-status-icon'></span>
override
</a><a class="project-item sidebar-item" href="/projects/42cursus-rainfall"><span class='icon-box-2 project-status-icon'></span>
rainfall
</a><a class="project-item sidebar-item" href="/projects/42cursus-red-tetris"><span class='icon-box-2 project-status-icon'></span>
red-tetris
</a><a class="project-item sidebar-item" href="/projects/work-experience-i"><span class='icon-box-2 project-status-icon'></span>
Work Experience I
</a></div>
</div></div>
<div class='page-content' data-turbolinks-scaffold>
<div class='row'>
<div class='main-top-menu'>
</div>
<div class='container-item scale-team-container'>
<div class='row mt-4'>
<div class='scale-section-infos col-sm-12 scale-div'>
<h3 class='font-weight-bold text-uppercase text-center mt-4 pt-4'>
Scale for project
<a href="/projects/inception-of-things">Inception-of-Things</a>
</h3>
<h5 class='text-muted text-center'>You should evaluate 2 students in this team</h5>
<!-- -------- La liste des personnes du groupe ------- -->
<div class='team-users-list d-flex justify-content-center'>
<div class='team-user-item'>
<div class='bg-image-item rounded square-s' data-placement='bottom' data-toggle='tooltip' style='background-image: url(https://cdn.intra.42.fr/users/40b176ff452a6e8c6d634d9eb24b1fec/mrouves.jpg)' title='mrouves'></div>
<div class='team-user-item-actions'>
<div class='team-user-role rounded bprima'></div>
</div>
</div>
<div class='team-user-item'>
<div class='bg-image-item rounded square-s' data-placement='bottom' data-toggle='tooltip' style='background-image: url(https://cdn.intra.42.fr/users/0cded65c06c75a6f6ce90cec38c42303/sabartho.jpg)' title='sabartho'></div>
<div class='team-user-item-actions'>
<div class='team-user-role rounded bprima'></div>
<span class='iconf-star-1 leader-user' data-placement='bottom' data-toggle='tooltip' title='Team leader'></span>
</div>
</div>
</div>
<small class='full-width text-muted'>Git repository</small>
<div class='container-inner-item project-repo pt-0 mt-0'>
<div class='input-group'>
<input class='repo-url form-control' disabled='' type='text' value='git@vogsphere.42angouleme.fr:vogsphere/intra-uuid-d5d3dab0-abec-487c-806a-616d940c1668-6601674-sabartho'>
<span class='copy input-group-addon' data-clipboard-text='git@vogsphere.42angouleme.fr:vogsphere/intra-uuid-d5d3dab0-abec-487c-806a-616d940c1668-6601674-sabartho'>
<span class='icon-paste'></span>
</span>
</div>
</div>
<hr>
<div class='p-0 scale-introduction dancer from-down' id='introduction-44077'>
<h3 class='font-weight-bold mb-1'>Introduction</h3>
<p>
Please comply with the following rules:<br/><br/>- Remain polite, courteous, respectful and constructive throughout the <br/> evaluation process. The well-being of the community depends on it.<br/><br/>- Identify with the student or group whose work is evaluated the possible <br/> dysfunctions in their project. Take the time to discuss and debate the <br/> problems that may have been identified.<br/><br/>- You must consider that there might be some differences in how your peers <br/> might have understood the project's instructions and the scope of its <br/> functionalities. Always keep an open mind and grade them as honestly as <br/> possible. The pedagogy is useful only if the peer-evaluation is <br/> done seriously.<br/>
</p>
</div>
<div class='p-0 scale-guidelines dancer from-down' id='guidelines-44077'>
<h3 class='font-weight-bold mb-1'>Guidelines</h3>
<p>
- Only grade the work that was turned in the Git repository of the evaluated <br/> student or group.<br/><br/>- Double-check that the Git repository belongs to the student(s). Ensure that <br/> the project is the one expected. Also, check that 'git clone' is used in an <br/> empty folder.<br/><br/>- Check carefully that no malicious aliases were used to fool you and make you <br/> evaluate something that is not the content of the official repository.<br/><br/>- To avoid any surprises and if applicable, review together any scripts used <br/> to facilitate the grading (scripts for testing or automation).<br/><br/>- If you have not completed the assignment you are going to evaluate, you have <br/> to read the entire subject prior to starting the evaluation process.<br/><br/>- Use the available flags to report an empty repository, a non-functioning <br/> program, a Norm error, cheating, and so forth. <br/> In these cases, the evaluation process ends and the final grade is 0, <br/> or -42 in case of cheating. However, except for cheating, students are <br/> strongly encouraged to review together the work that was turned in, in order <br/> to identify any mistakes that shouldn't be repeated in the future.<br/>
</p>
</div>
<hr>
<div class='dancer from-down' id='attachments-44077'>
<h3 class='font-weight-bold mb-1'>Attachments</h3>
<div class='project-attachments-list'>
</div>
<div class='project-attachments-list'>
<div class='project-attachment-item'>
<h4 class='attachment-name'>
<span class='icon-file'></span>
<a target="_blank" href="https://cdn.intra.42.fr/pdf/pdf/163441/en.subject.pdf">subject.pdf</a>
</h4>
</div>
</div>
</div>
</div>
<form class="simple_form form-horizontal" novalidate="novalidate" id="edit_scale_team_8501531" action="/projects/inception-of-things/project_sessions/6512/evaluations/4283/scales/44077/scale_teams/8501531" accept-charset="UTF-8" method="post"><input name="utf8" type="hidden" value="&#x2713;" /><input type="hidden" name="_method" value="patch" /><input type="hidden" name="authenticity_token" value="pMUVKVNyX4StEU6h3h9A/aOAaTAJQiWVVVLKXmRnxAe5MpBKikbi8xMO4md2lDZDmovnDteFDAOcI3lJrYkhVA==" /><div class='scale-section-answers col-sm-12 scale-div'>
<section class='scale-section-item dancer from-down' id='section-122202'>
<div class='section-header'>
<h3 class='font-weight-bold mb-1'>Preliminaries</h3>
<p class='font-italic'>If cheating is suspected, the evaluation stops here. Use the &quot;Cheat&quot; flag to report it. Take this decision calmly, wisely, and please, use this button with caution.</p>
</div>
<h4 class='scale-question-name'>Preliminary tests</h4>
<p class='scale-section-guidelines'>
<ul>
<li>Defense can only happen if the evaluated group is present. This way,
everybody learns by sharing knowledge with each other.</li>
<li>If no work has been submitted (or wrong files, or wrong directory, or
wrong filenames), the grade is 0, and the evaluation process ends.</li>
<li>For this project, you have to clone the Git repository on the group&#39;s
machine.</li>
<li>For this project, you must use the virtual machine of 42.</li>
</ul>
</p>
<div class='scale-question-answers'>
<div class="form-group hidden scale_team_answer_id"><div class="col-sm-10"><input class="form-control hidden" name="[scale_team][answers_attributes][0][id]" type="hidden" id="scale_team_answer_id" /></div></div>
<div class="form-group hidden scale_team_answer_question_id"><div class="col-sm-10"><input class="form-control hidden" value="413227" name="[scale_team][answers_attributes][0][question_id]" type="hidden" id="scale_team_answer_question_id" /></div></div>
<div class='btn-group block'>
<input autocomplete="off" class="checkbox-input" name="[scale_team][answers_attributes][0][value]" id="radio_[scale_team][answers_attributes][0]_true" type="radio" value="1"></input>
<label class='btn btn-success checkbox-label light-bg' for='radio_[scale_team][answers_attributes][0]_true'>
<span class='icon-check'></span>
Yes
</label>
<input autocomplete="off" class="checkbox-input" name="[scale_team][answers_attributes][0][value]" id="radio_[scale_team][answers_attributes][0]_false" type="radio" value="0" checked="checked"></input>
<label class='btn btn-danger checkbox-label light-bg' for='radio_[scale_team][answers_attributes][0]_false'>
<span class='icon-times'></span>
No
</label>
</div>
</div>
</section>
<section class='scale-section-item dancer from-down' id='section-122203'>
<div class='section-header'>
<hr>
<h3 class='font-weight-bold mb-1'>General instructions</h3>
<p class='font-italic'></p>
</div>
<h4 class='scale-question-name'>General instructions</h4>
<p class='scale-section-guidelines'>
<ul>
<li>During the defense, whenever you need help in order to verify a
requirement of the subject, the evaluated group must help you.</li>
<li>Ensure that all the files required for the three different parts of
the project are in the folders p1, p2 and p3 respectively. There may
be an additional bonus folder.</li>
</ul>
</p>
<div class='scale-question-answers'>
<div class="form-group hidden scale_team_answer_id"><div class="col-sm-10"><input class="form-control hidden" name="[scale_team][answers_attributes][1][id]" type="hidden" id="scale_team_answer_id" /></div></div>
<div class="form-group hidden scale_team_answer_question_id"><div class="col-sm-10"><input class="form-control hidden" value="413228" name="[scale_team][answers_attributes][1][question_id]" type="hidden" id="scale_team_answer_question_id" /></div></div>
<div class='btn-group block'>
<input autocomplete="off" class="checkbox-input" name="[scale_team][answers_attributes][1][value]" id="radio_[scale_team][answers_attributes][1]_true" type="radio" value="1"></input>
<label class='btn btn-success checkbox-label light-bg' for='radio_[scale_team][answers_attributes][1]_true'>
<span class='icon-check'></span>
Yes
</label>
<input autocomplete="off" class="checkbox-input" name="[scale_team][answers_attributes][1][value]" id="radio_[scale_team][answers_attributes][1]_false" type="radio" value="0" checked="checked"></input>
<label class='btn btn-danger checkbox-label light-bg' for='radio_[scale_team][answers_attributes][1]_false'>
<span class='icon-times'></span>
No
</label>
</div>
</div>
</section>
<section class='scale-section-item dancer from-down' id='section-122204'>
<div class='section-header'>
<hr>
<h3 class='font-weight-bold mb-1'>Mandatory part</h3>
<p class='font-italic'>The project consists of setting up several infrastructures with different
services that use K3s, Vagrant and K3d.
Make sure that all of the following requirements are met.
</p>
</div>
<h4 class='scale-question-name'>Global configuration and explanation</h4>
<p class='scale-section-guidelines'>
<ul>
<li>Those being evaluated should explain to you in a simple way:
<ul>
<li>The basic operation of K3s.</li>
<li>The basic operation of Vagrant.</li>
<li>The basic operation of K3d.</li>
<li>What is a continuous integration and Argo CD.</li>
</ul></li>
</ul>
</p>
<div class='scale-question-answers'>
<div class="form-group hidden scale_team_answer_id"><div class="col-sm-10"><input class="form-control hidden" name="[scale_team][answers_attributes][2][id]" type="hidden" id="scale_team_answer_id" /></div></div>
<div class="form-group hidden scale_team_answer_question_id"><div class="col-sm-10"><input class="form-control hidden" value="413229" name="[scale_team][answers_attributes][2][question_id]" type="hidden" id="scale_team_answer_question_id" /></div></div>
<div class='btn-group block'>
<input autocomplete="off" class="checkbox-input" name="[scale_team][answers_attributes][2][value]" id="radio_[scale_team][answers_attributes][2]_true" type="radio" value="1"></input>
<label class='btn btn-success checkbox-label light-bg' for='radio_[scale_team][answers_attributes][2]_true'>
<span class='icon-check'></span>
Yes
</label>
<input autocomplete="off" class="checkbox-input" name="[scale_team][answers_attributes][2][value]" id="radio_[scale_team][answers_attributes][2]_false" type="radio" value="0" checked="checked"></input>
<label class='btn btn-danger checkbox-label light-bg' for='radio_[scale_team][answers_attributes][2]_false'>
<span class='icon-times'></span>
No
</label>
</div>
</div>
<h4 class='scale-question-name'>Part 1 - Configuration</h4>
<p class='scale-section-guidelines'>
<ul>
<li>Check that a Vagrantfile is present in the p1 folder. Once done, check
its content. Thanks to the help of the evaluated persons, you should
basically understand this file. It must be similar to the example
given in the subject.</li>
<li>Check that there are two virtual machines in the Vagrantfile.</li>
<li>In the Vagrantfile, check that the latest stable version of the distribution
of the choice of the evaluated group is used for both virtual machines.</li>
<li>Check that the primary network interface of each host has the required IP address
as specified in the subject.</li>
<li>The names chosen for the two virtual machines must include a login of
a member of the group. For the first machine, it must be followed by
S (like Server), and for the second one, by SW (like ServerWorker).
If something does not work as expected, the evaluation stops here.</li>
</ul>
</p>
<div class='scale-question-answers'>
<div class="form-group hidden scale_team_answer_id"><div class="col-sm-10"><input class="form-control hidden" name="[scale_team][answers_attributes][3][id]" type="hidden" id="scale_team_answer_id" /></div></div>
<div class="form-group hidden scale_team_answer_question_id"><div class="col-sm-10"><input class="form-control hidden" value="413230" name="[scale_team][answers_attributes][3][question_id]" type="hidden" id="scale_team_answer_question_id" /></div></div>
<div class='btn-group block'>
<input autocomplete="off" class="checkbox-input" name="[scale_team][answers_attributes][3][value]" id="radio_[scale_team][answers_attributes][3]_true" type="radio" value="1"></input>
<label class='btn btn-success checkbox-label light-bg' for='radio_[scale_team][answers_attributes][3]_true'>
<span class='icon-check'></span>
Yes
</label>
<input autocomplete="off" class="checkbox-input" name="[scale_team][answers_attributes][3][value]" id="radio_[scale_team][answers_attributes][3]_false" type="radio" value="0" checked="checked"></input>
<label class='btn btn-danger checkbox-label light-bg' for='radio_[scale_team][answers_attributes][3]_false'>
<span class='icon-times'></span>
No
</label>
</div>
</div>
<h4 class='scale-question-name'>Part 1 - Usage</h4>
<p class='scale-section-guidelines'>
<ul>
<li>Use Vagrant to SSH into both virtual machine with the help of the
evaluated group.</li>
<li>Ensure that the primary network interface has the required IP addresses by using the following command:
For macOS: &quot;ifconfig en0&quot;
For the latest Linux distributions: &quot;ip a show $(ip route | grep default | awk &#39;{print $5}&#39;)&quot; (to dynamically detect the primary interface).</li>
<li>Ensure both machines have the hostname required by the subject.</li>
<li>Then, check that both virtual machines use K3s. The evaluated group
should be able to help you.</li>
<li>Finally, verify that the Server machine and the Agent machine are in
the same cluster by running this command on the Server machine:
&quot;kubectl get nodes -o wide&quot;
An output similar to the one given as an example in the subject is
expected. The evaluated group must explain to you the output.
If something does not work as expected, the evaluation stops here.</li>
</ul>
</p>
<div class='scale-question-answers'>
<div class="form-group hidden scale_team_answer_id"><div class="col-sm-10"><input class="form-control hidden" name="[scale_team][answers_attributes][4][id]" type="hidden" id="scale_team_answer_id" /></div></div>
<div class="form-group hidden scale_team_answer_question_id"><div class="col-sm-10"><input class="form-control hidden" value="413231" name="[scale_team][answers_attributes][4][question_id]" type="hidden" id="scale_team_answer_question_id" /></div></div>
<div class='btn-group block'>
<input autocomplete="off" class="checkbox-input" name="[scale_team][answers_attributes][4][value]" id="radio_[scale_team][answers_attributes][4]_true" type="radio" value="1"></input>
<label class='btn btn-success checkbox-label light-bg' for='radio_[scale_team][answers_attributes][4]_true'>
<span class='icon-check'></span>
Yes
</label>
<input autocomplete="off" class="checkbox-input" name="[scale_team][answers_attributes][4][value]" id="radio_[scale_team][answers_attributes][4]_false" type="radio" value="0" checked="checked"></input>
<label class='btn btn-danger checkbox-label light-bg' for='radio_[scale_team][answers_attributes][4]_false'>
<span class='icon-times'></span>
No
</label>
</div>
</div>
<h4 class='scale-question-name'>Part 2 - Configuration</h4>
<p class='scale-section-guidelines'>
<ul>
<li>To avoid space/performance issues, you can of course shut down every
other running virtual machines with the help of the evaluated group.</li>
<li>Check that a Vagrantfile is present in the p2 folder. Once done, check
its content. Thanks to the help of the evaluated persons, you should
basically understand this file. It must be similar to the example
given in the part 1 of the subject.</li>
<li>Check that there is only one virtual machine in the Vagrantfile.</li>
<li>In the Vagrantfile, check that the latest stable version of the distribution of
the evaluated group choice is used for the virtual machine.</li>
<li>Check that the primary network interface has the required IP address as specified in the subject.</li>
<li>The name chosen for the virtual machine must include a login of a
member of the group followed by the capital letter S.</li>
<li>If extra files are present in the p2 folder, verify them and ask for
explanations.
If something does not work as expected, the evaluation stops here.</li>
</ul>
</p>
<div class='scale-question-answers'>
<div class="form-group hidden scale_team_answer_id"><div class="col-sm-10"><input class="form-control hidden" name="[scale_team][answers_attributes][5][id]" type="hidden" id="scale_team_answer_id" /></div></div>
<div class="form-group hidden scale_team_answer_question_id"><div class="col-sm-10"><input class="form-control hidden" value="413232" name="[scale_team][answers_attributes][5][question_id]" type="hidden" id="scale_team_answer_question_id" /></div></div>
<div class='btn-group block'>
<input autocomplete="off" class="checkbox-input" name="[scale_team][answers_attributes][5][value]" id="radio_[scale_team][answers_attributes][5]_true" type="radio" value="1"></input>
<label class='btn btn-success checkbox-label light-bg' for='radio_[scale_team][answers_attributes][5]_true'>
<span class='icon-check'></span>
Yes
</label>
<input autocomplete="off" class="checkbox-input" name="[scale_team][answers_attributes][5][value]" id="radio_[scale_team][answers_attributes][5]_false" type="radio" value="0" checked="checked"></input>
<label class='btn btn-danger checkbox-label light-bg' for='radio_[scale_team][answers_attributes][5]_false'>
<span class='icon-times'></span>
No
</label>
</div>
</div>
<h4 class='scale-question-name'>Part 2 - Usage</h4>
<p class='scale-section-guidelines'>
<ul>
<li>Use Vagrant to SSH into the virtual machine with the help of the
evaluated group.</li>
<li>Ensure that the primary network interface has the required IP addresses by using the following command:
For macOS: &quot;ifconfig en0&quot;
For the latest Linux distributions: &quot;ip a show $(ip route | grep default | awk &#39;{print $5}&#39;)&quot; (to dynamically detect the primary interface).</li>
<li>Ensure the machine has the hostname required by the subject.</li>
<li>Then, check that the virtual machine uses K3s. The evaluated group
should be able to help you.</li>
<li>Verify that the virtual machine meets the subject&#39;s requirements. To
do so, use the following commands:
&quot;kubectl get nodes -o wide&quot;
It should display the name of the controller and the internal IP address.
&quot;kubetctl get all&quot;
It should display 3 applications. For reference, you can find an example in
the Part 2 section of the subject.
The evaluated group must explain to you each output.
Next, they must show you how their Ingress works. The command is
deliberately not given here.</li>
<li>Now, check that the 3 applications can be accessed depending on the
HOST header that is used (have a look at the subject). To do so, you
can use curl with the help of evaluated group, or just a browser (for
a web application). You will have to change the HOST in order to see
some differences.</li>
</ul>
<p>If something does not work as expected, the evaluation stops here.</p>
</p>
<div class='scale-question-answers'>
<div class="form-group hidden scale_team_answer_id"><div class="col-sm-10"><input class="form-control hidden" name="[scale_team][answers_attributes][6][id]" type="hidden" id="scale_team_answer_id" /></div></div>
<div class="form-group hidden scale_team_answer_question_id"><div class="col-sm-10"><input class="form-control hidden" value="413233" name="[scale_team][answers_attributes][6][question_id]" type="hidden" id="scale_team_answer_question_id" /></div></div>
<div class='btn-group block'>
<input autocomplete="off" class="checkbox-input" name="[scale_team][answers_attributes][6][value]" id="radio_[scale_team][answers_attributes][6]_true" type="radio" value="1"></input>
<label class='btn btn-success checkbox-label light-bg' for='radio_[scale_team][answers_attributes][6]_true'>
<span class='icon-check'></span>
Yes
</label>
<input autocomplete="off" class="checkbox-input" name="[scale_team][answers_attributes][6][value]" id="radio_[scale_team][answers_attributes][6]_false" type="radio" value="0" checked="checked"></input>
<label class='btn btn-danger checkbox-label light-bg' for='radio_[scale_team][answers_attributes][6]_false'>
<span class='icon-times'></span>
No
</label>
</div>
</div>
<h4 class='scale-question-name'>Part 3 - Configuration</h4>
<p class='scale-section-guidelines'>
<ul>
<li>Thanks to the evaluated group, start up the infrastructure.</li>
<li>Check that the configuration files are present in the p3 folder. Once
done, check their content. Don&#39;t hesitate to ask for more precise
explanations. This part is essential to understand what&#39;s next.</li>
<li>Make sure there are at least 2 namespaces in K3d: &quot;argocd&quot; and &quot;dev&quot;.
Use the command:
&quot;kubectl get ns&quot;.</li>
<li>Verify that there is at least 1 pod in the &quot;dev&quot; namespace. Use the
command:
&quot;kubectl get pods -n dev&quot;</li>
<li>Ensure the group members understand the differences between a namespace
and a pod.</li>
<li>Check that all the required services are running with the help of the
evaluated group.</li>
<li>Check that Argo CD is installed and configured. You can access it in
your web browser. You will need a login and a password. The evaluated
group will give them to you.</li>
<li>Check that the login of someone of the group was put in the name of
the Github repository (e.g., if a login was &quot;wil&quot;, the name could be
&quot;wil_config&quot; or &quot;wil-ception&quot;). Read the subject carefully to understand
this part.</li>
<li>Check that a Docker image is used in the Github repository. The image
can be Wil&#39;s or a custom one. In the second case, verify that the login
of a member of the group was put in the name of the Dockerhub
repository. Also, ensure that there are the two required tags in the
Dockerhub repository.</li>
<li>If there are extra files in the p3 folder, ask for explanations.
If something does not work as expected, the evaluation stops here.</li>
</ul>
</p>
<div class='scale-question-answers'>
<div class="form-group hidden scale_team_answer_id"><div class="col-sm-10"><input class="form-control hidden" name="[scale_team][answers_attributes][7][id]" type="hidden" id="scale_team_answer_id" /></div></div>
<div class="form-group hidden scale_team_answer_question_id"><div class="col-sm-10"><input class="form-control hidden" value="413234" name="[scale_team][answers_attributes][7][question_id]" type="hidden" id="scale_team_answer_question_id" /></div></div>
<div class='btn-group block'>
<input autocomplete="off" class="checkbox-input" name="[scale_team][answers_attributes][7][value]" id="radio_[scale_team][answers_attributes][7]_true" type="radio" value="1"></input>
<label class='btn btn-success checkbox-label light-bg' for='radio_[scale_team][answers_attributes][7]_true'>
<span class='icon-check'></span>
Yes
</label>
<input autocomplete="off" class="checkbox-input" name="[scale_team][answers_attributes][7][value]" id="radio_[scale_team][answers_attributes][7]_false" type="radio" value="0" checked="checked"></input>
<label class='btn btn-danger checkbox-label light-bg' for='radio_[scale_team][answers_attributes][7]_false'>
<span class='icon-times'></span>
No
</label>
</div>
</div>
<h4 class='scale-question-name'>Partie 3 - Usage</h4>
<p class='scale-section-guidelines'>
<ul>
<li>Now that you can use Argo CD, try to understand how it basically
works. With the help of the evaluated group, navigate through the
application. Do not hesitate to ask questions here. If you have any
doubt (maybe their explanations are confused or they can&#39;t explain
something they should know), the evaluation stops now. It is important.</li>
<li>Check that the v1 application can be accessed from this machine. You
can use curl (there is an example usage in the subject).</li>
<li>Verify that Dockerhub is used. This part is important. In case of any
doubt, the evaluation stops now.</li>
<li>Since you can see the v1 application, you must be able to update it
with the help of the evaluated group. Use the configuration file on
GitHub that Argo CD relies on. You must commit and push a modification.
It will automatically trigger the update of your application. You must
be able to understand how this whole process works. Do not hesitate
to ask for explanations.</li>
<li>Now that you have pushed the v2 application on Github, if
synchronizing didn&#39;t happen, do it manually in Argo CD (if it did
happen, skip this step). The evaluated people must help you.</li>
<li>Ensure that the application was successfully synchronized using
operation given as an example in the subject. The evaluated people
must help you.</li>
</ul>
<p>If something does not work as expected, the evaluation stops now.</p>
</p>
<div class='scale-question-answers'>
<div class="form-group hidden scale_team_answer_id"><div class="col-sm-10"><input class="form-control hidden" name="[scale_team][answers_attributes][8][id]" type="hidden" id="scale_team_answer_id" /></div></div>
<div class="form-group hidden scale_team_answer_question_id"><div class="col-sm-10"><input class="form-control hidden" value="413235" name="[scale_team][answers_attributes][8][question_id]" type="hidden" id="scale_team_answer_question_id" /></div></div>
<div class='btn-group block'>
<input autocomplete="off" class="checkbox-input" name="[scale_team][answers_attributes][8][value]" id="radio_[scale_team][answers_attributes][8]_true" type="radio" value="1"></input>
<label class='btn btn-success checkbox-label light-bg' for='radio_[scale_team][answers_attributes][8]_true'>
<span class='icon-check'></span>
Yes
</label>
<input autocomplete="off" class="checkbox-input" name="[scale_team][answers_attributes][8][value]" id="radio_[scale_team][answers_attributes][8]_false" type="radio" value="0" checked="checked"></input>
<label class='btn btn-danger checkbox-label light-bg' for='radio_[scale_team][answers_attributes][8]_false'>
<span class='icon-times'></span>
No
</label>
</div>
</div>
</section>
<section class='scale-section-item dancer from-down' id='section-122205'>
<div class='section-header'>
<hr>
<h3 class='font-weight-bold mb-1'>Bonus</h3>
<p class='font-italic'>Evaluate the bonus part if, and only if, the mandatory part has been
entirely and perfectly done, and the error management handles unexpected
or wrong usage. In case all the mandatory points were not passed during the
defense, bonus points must be totally ignored.
</p>
</div>
<h4 class='scale-question-name'>Bonus</h4>
<p class='scale-section-guidelines'>
<ul>
<li>Check if there are configuration files in the bonus folder. Ask for
explanations about each of them.</li>
<li>Test that Gitlab functions correctly and was properly implemented. To do
so, create a new repository with the help of the evaluated group.
Then, try to add some code in it. Check the operation was successful
on Gitlab.</li>
<li>The last step is quite simple. Make sure that the operations of the
part 3 of the subject still function correctly. Ensure that the
repository used in Argo CD is a local repository on Gitlab. The
evaluated group should guide you in this process so you can verify the
operations works as expected with the two versions of the chosen
application.</li>
<li>If the synchronization and the version change of the application
are completed with no errors, validate this part.</li>
</ul>
</p>
<div class='scale-question-answers'>
<div class="form-group hidden scale_team_answer_id"><div class="col-sm-10"><input class="form-control hidden" name="[scale_team][answers_attributes][9][id]" type="hidden" id="scale_team_answer_id" /></div></div>
<div class="form-group hidden scale_team_answer_question_id"><div class="col-sm-10"><input class="form-control hidden" value="413236" name="[scale_team][answers_attributes][9][question_id]" type="hidden" id="scale_team_answer_question_id" /></div></div>
<div class='btn-group block'>
<input autocomplete="off" class="checkbox-input" name="[scale_team][answers_attributes][9][value]" id="radio_[scale_team][answers_attributes][9]_true" type="radio" value="1"></input>
<label class='btn btn-success checkbox-label light-bg' for='radio_[scale_team][answers_attributes][9]_true'>
<span class='icon-check'></span>
Yes
</label>
<input autocomplete="off" class="checkbox-input" name="[scale_team][answers_attributes][9][value]" id="radio_[scale_team][answers_attributes][9]_false" type="radio" value="0" checked="checked"></input>
<label class='btn btn-danger checkbox-label light-bg' for='radio_[scale_team][answers_attributes][9]_false'>
<span class='icon-times'></span>
No
</label>
</div>
</div>
</section>
</div>
<div class='col-sm-12 scale-div pb-4'>
<div class='dancer from-down' id='ratings-44077'>
<h3 class='font-weight-bold mb-1'>Ratings</h3>
<p class='marked-title'>Dont forget to check the flag corresponding to the defense</p>
<div class='btn-group block flags-buttons' data-radio-item='flag-small'>
<label class='btn btn-default btn-success label_flag_ok on-active positive' for='scale_team_flag_id_1' name='scale_team[flag_id]'>
<span class='iconf-check-4'></span>
Ok
</label>
<label class='btn btn-default btn-success label_flag_outstanding_project on-active positive' for='scale_team_flag_id_9' name='scale_team[flag_id]'>
<span class='iconf-star-1'></span>
Outstanding project
</label>
</div>
<div class='btn-group block flags-buttons' data-radio-item='flag-small'>
<label class='btn btn-danger btn-default label_flag_empty_work negative on-active' for='scale_team_flag_id_2' name='scale_team[flag_id]'>
<span class='iconf-iconf-folder-1'></span>
Empty work
</label>
<label class='btn btn-danger btn-default label_flag_incomplete_work negative on-active' for='scale_team_flag_id_3' name='scale_team[flag_id]'>
<span class='iconf-file-attention'></span>
Incomplete work
</label>
<label class='btn btn-danger btn-default label_flag_cheat negative on-active' for='scale_team_flag_id_7' name='scale_team[flag_id]'>
<span class='iconf-layers'></span>
Cheat
</label>
<label class='btn btn-danger btn-default label_flag_crash negative on-active' for='scale_team_flag_id_8' name='scale_team[flag_id]'>
<span class='iconf-bomb'></span>
Crash
</label>
<label class='btn btn-danger btn-default label_flag_incomplete_group negative on-active' for='scale_team_flag_id_10' name='scale_team[flag_id]'>
<span class='iconf-user-delete-2'></span>
Incomplete group
</label>
<label class='btn btn-danger btn-default label_flag_concerning_situation negative on-active' for='scale_team_flag_id_11' name='scale_team[flag_id]'>
<span class='iconf-alert-2'></span>
Concerning situation
</label>
<label class='btn btn-danger btn-default label_flag_forbidden_function negative on-active' for='scale_team_flag_id_13' name='scale_team[flag_id]'>
<span class='iconf-delete-2'></span>
Forbidden function
</label>
</div>
</div>
</div>
<div class='col-sm-12 scale-div'>
<h3 class='font-weight-bold mb-1'>Conclusion</h3>
<div class='scale-final-evaluation hidden'>
<div class="form-group radio_buttons optional scale_team_flag"><label class="col-sm-2 control-label radio_buttons optional">Flag</label><div class="col-sm-10"><input type="hidden" name="scale_team[flag_id]" value="" /><span class="radio"><label for="scale_team_flag_id_1"><input class="radio_buttons optional" type="radio" value="1" checked="checked" name="scale_team[flag_id]" id="scale_team_flag_id_1" />Ok</label></span><span class="radio"><label for="scale_team_flag_id_3"><input class="radio_buttons optional" type="radio" value="3" name="scale_team[flag_id]" id="scale_team_flag_id_3" />Incomplete work</label></span><span class="radio"><label for="scale_team_flag_id_7"><input class="radio_buttons optional" type="radio" value="7" name="scale_team[flag_id]" id="scale_team_flag_id_7" />Cheat</label></span><span class="radio"><label for="scale_team_flag_id_8"><input class="radio_buttons optional" type="radio" value="8" name="scale_team[flag_id]" id="scale_team_flag_id_8" />Crash</label></span><span class="radio"><label for="scale_team_flag_id_10"><input class="radio_buttons optional" type="radio" value="10" name="scale_team[flag_id]" id="scale_team_flag_id_10" />Incomplete group</label></span><span class="radio"><label for="scale_team_flag_id_9"><input class="radio_buttons optional" type="radio" value="9" name="scale_team[flag_id]" id="scale_team_flag_id_9" />Outstanding project</label></span><span class="radio"><label for="scale_team_flag_id_11"><input class="radio_buttons optional" type="radio" value="11" name="scale_team[flag_id]" id="scale_team_flag_id_11" />Concerning situation</label></span><span class="radio"><label for="scale_team_flag_id_13"><input class="radio_buttons optional" type="radio" value="13" name="scale_team[flag_id]" id="scale_team_flag_id_13" />Forbidden Function</label></span><span class="radio"><label for="scale_team_flag_id_2"><input class="radio_buttons optional" type="radio" value="2" name="scale_team[flag_id]" id="scale_team_flag_id_2" />Empty work</label></span></div></div>
</div>
<div class='scale-final-comments' id='comments-44077'>
<p class='marked-title'>Leave a comment on this evaluation ( 2048 chars max )</p>
<textarea required="required" label="false" class="text required col-sm-12 mb-4" aria-required="true" name="scale_team[comment]" id="scale_team_comment"></textarea>
</div>
<input id="token" name="token" class="hidden" type="hidden" />
</div>
<div class='scale-final-submit'>
<input class='btn btn-primary btn-block font-weight-bold' data-disable-with='Finishing evaluation...' name='commit' type='submit' value='Finish evaluation'>
</div>
</form>
</div>
</div>
<footer class="legal-mentions text-center text-muted my-4 col-sm-12 flex justify-content-center flex-column flex-sm-row"><a class="text-muted small px-4" href="https://profile.intra.42.fr/legal/terms/33">API General Terms of Use</a><a class="text-muted small px-4" href="https://profile.intra.42.fr/legal/terms/2">Declaration on the use of cookies</a><a class="text-muted small px-4" href="https://profile.intra.42.fr/legal/terms/5">Privacy policy</a><a class="text-muted small px-4" href="https://profile.intra.42.fr/legal/terms/6">General term of use of the site</a><a class="text-muted small px-4" href="https://profile.intra.42.fr/legal/terms/9">Règlement Intérieur</a><a class="text-muted small px-4" href="https://profile.intra.42.fr/legal/terms/1">Terms of use for video surveillance</a><a class="text-muted small px-4" href="https://profile.intra.42.fr/legal/terms/3">Legal notices</a></footer>
</div>
</div>
</div>
<div aria-hidden='true' aria-labelledby='smartModalLabel' class='modal fade' id='smartModal' role='dialog' tabindex='-1'>
<div class='modal-dialog'>
<div class='modal-content'>
<div class='modal-header'>
<button aria-hidden='true' class='close' data-dismiss='modal' type='button'>
x
</button>
<h3 id='smartModalLabel'>
</h3>
</div>
<div class='modal-body'>
<h4 class='note-title'></h4>
</div>
<div class='modal-footer'>
<button aria-hidden='true' class='btn' data-dismiss='modal'>Cancel</button>
<button class='send btn btn-primary'>Send</button>
</div>
</div>
</div>
</div>
<div aria-hidden='true' aria-labelledby='flashModalLabel' class='modal fade' id='flashModal' role='dialog' tabindex='-1'>
<div class='modal-dialog modal-lg'>
<div class='modal-content'>
<div class='modal-header'>
<button aria-hidden='true' class='close' data-dismiss='modal' type='button'>
x
</button>
<h3 id='flashModalLabel'></h3>
</div>
<div class='modal-body'>
<h4 class='note-title'>Flash modal content (raw)</h4>
</div>
<div class='modal-footer'>
<button aria-hidden='true' class='btn btn-block btn-default' data-dismiss='modal'>Close</button>
</div>
</div>
</div>
</div>
<div data-cache="true" class="hide"></div>
</body>
<script async await src='https://www.googletagmanager.com/gtag/js?id=G-BJ34XNRJCV'></script>
<script>
window.dataLayer = window.dataLayer || [];
function gtag(){dataLayer.push(arguments);}
gtag('js', new Date());
gtag('config', 'G-BJ34XNRJCV');
</script>
<script>
var jsClasses = ["new_message", "topic-reply"];
jsClasses.forEach(function(className) {
Array.prototype.forEach.call(document.getElementsByClassName(className), function (e) {
e.classList.add("js-hidden");
});
});
</script>
<script src="/assets/application-95ef25cbe695711a70570334290328b739c8fb6c2d07a6641f6e0528acc327eb.js"></script>
</head>
</html>

View File

@ -0,0 +1,70 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!-- Generator: Adobe Illustrator 18.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
<svg
xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns:cc="http://creativecommons.org/ns#"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:svg="http://www.w3.org/2000/svg"
xmlns="http://www.w3.org/2000/svg"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
version="1.1"
id="Calque_1"
x="0px"
y="0px"
viewBox="0 0 137.6 96.599998"
enable-background="new 0 0 595.3 841.9"
xml:space="preserve"
inkscape:version="0.48.2 r9819"
width="100%"
height="100%"
sodipodi:docname="42_logo.svg"><metadata
id="metadata17"><rdf:RDF><cc:Work
rdf:about=""><dc:format>image/svg+xml</dc:format><dc:type
rdf:resource="http://purl.org/dc/dcmitype/StillImage" /></cc:Work></rdf:RDF></metadata><defs
id="defs15" /><sodipodi:namedview
pagecolor="#ffffff"
bordercolor="#666666"
borderopacity="1"
objecttolerance="10"
gridtolerance="10"
guidetolerance="10"
inkscape:pageopacity="0"
inkscape:pageshadow="2"
inkscape:window-width="1060"
inkscape:window-height="811"
id="namedview13"
showgrid="false"
fit-margin-top="0"
fit-margin-left="0"
fit-margin-right="0"
fit-margin-bottom="0"
inkscape:zoom="0.39642998"
inkscape:cx="68.450005"
inkscape:cy="48.350011"
inkscape:window-x="670"
inkscape:window-y="233"
inkscape:window-maximized="0"
inkscape:current-layer="Calque_1" />
<g
id="g3"
transform="translate(-229.2,-372.70002)">
<polygon
points="229.2,443.9 279.9,443.9 279.9,469.3 305.2,469.3 305.2,423.4 254.6,423.4 305.2,372.7 279.9,372.7 229.2,423.4 "
id="polygon5"
style="fill:#ffffff" />
<polygon
points="316.1,398.1 341.4,372.7 316.1,372.7 "
id="polygon7"
style="fill:#ffffff" />
<polygon
points="341.4,398.1 316.1,423.4 316.1,448.7 341.4,448.7 341.4,423.4 366.8,398.1 366.8,372.7 341.4,372.7 "
id="polygon9"
style="fill:#ffffff" />
<polygon
points="366.8,423.4 341.4,448.7 366.8,448.7 "
id="polygon11"
style="fill:#ffffff" />
</g>
</svg>

After

Width:  |  Height:  |  Size: 2.2 KiB

View File

@ -0,0 +1,115 @@
/*
* The Typekit service used to deliver this font or fonts for use on websites
* is provided by Adobe and is subject to these Terms of Use
* http://www.adobe.com/products/eulas/tou_typekit. For font license
* information, see the list below.
*
* futura-pt:
* - http://typekit.com/eulas/00000000000000000001008f
* - http://typekit.com/eulas/000000000000000000010090
* - http://typekit.com/eulas/000000000000000000010091
* - http://typekit.com/eulas/000000000000000000010092
* - http://typekit.com/eulas/000000000000000000010093
* - http://typekit.com/eulas/000000000000000000013365
* - http://typekit.com/eulas/000000000000000000010095
* - http://typekit.com/eulas/000000000000000000010096
* - http://typekit.com/eulas/000000000000000000010097
* - http://typekit.com/eulas/000000000000000000010098
* - http://typekit.com/eulas/000000000000000000012192
* - http://typekit.com/eulas/000000000000000000012193
* futura-pt-bold:
* - http://typekit.com/eulas/00000000000000003b9af1e4
* - http://typekit.com/eulas/00000000000000003b9af1e5
*
* © 2009-2025 Adobe Systems Incorporated. All Rights Reserved.
*/
/*{"last_published":"2024-04-08 15:59:55 UTC"}*/
@import url("https://p.typekit.net/p.css?s=1&k=bzd7hlb&ht=tk&f=10879.10880.10881.10882.10883.10884.10885.10886.10887.10888.15586.15587.32874.32875&a=128906204&app=typekit&e=css");
@font-face {
font-family:"futura-pt";
src:url("https://use.typekit.net/af/2cd6bf/00000000000000000001008f/27/l?primer=7cdcb44be4a7db8877ffa5c0007b8dd865b3bbc383831fe2ea177f62257a9191&fvd=n5&v=3") format("woff2"),url("https://use.typekit.net/af/2cd6bf/00000000000000000001008f/27/d?primer=7cdcb44be4a7db8877ffa5c0007b8dd865b3bbc383831fe2ea177f62257a9191&fvd=n5&v=3") format("woff"),url("https://use.typekit.net/af/2cd6bf/00000000000000000001008f/27/a?primer=7cdcb44be4a7db8877ffa5c0007b8dd865b3bbc383831fe2ea177f62257a9191&fvd=n5&v=3") format("opentype");
font-display:auto;font-style:normal;font-weight:500;font-stretch:normal;
}
@font-face {
font-family:"futura-pt";
src:url("https://use.typekit.net/af/1eb35a/000000000000000000010090/27/l?primer=7cdcb44be4a7db8877ffa5c0007b8dd865b3bbc383831fe2ea177f62257a9191&fvd=i5&v=3") format("woff2"),url("https://use.typekit.net/af/1eb35a/000000000000000000010090/27/d?primer=7cdcb44be4a7db8877ffa5c0007b8dd865b3bbc383831fe2ea177f62257a9191&fvd=i5&v=3") format("woff"),url("https://use.typekit.net/af/1eb35a/000000000000000000010090/27/a?primer=7cdcb44be4a7db8877ffa5c0007b8dd865b3bbc383831fe2ea177f62257a9191&fvd=i5&v=3") format("opentype");
font-display:auto;font-style:italic;font-weight:500;font-stretch:normal;
}
@font-face {
font-family:"futura-pt";
src:url("https://use.typekit.net/af/309dfe/000000000000000000010091/27/l?primer=7cdcb44be4a7db8877ffa5c0007b8dd865b3bbc383831fe2ea177f62257a9191&fvd=n7&v=3") format("woff2"),url("https://use.typekit.net/af/309dfe/000000000000000000010091/27/d?primer=7cdcb44be4a7db8877ffa5c0007b8dd865b3bbc383831fe2ea177f62257a9191&fvd=n7&v=3") format("woff"),url("https://use.typekit.net/af/309dfe/000000000000000000010091/27/a?primer=7cdcb44be4a7db8877ffa5c0007b8dd865b3bbc383831fe2ea177f62257a9191&fvd=n7&v=3") format("opentype");
font-display:auto;font-style:normal;font-weight:700;font-stretch:normal;
}
@font-face {
font-family:"futura-pt";
src:url("https://use.typekit.net/af/eb729a/000000000000000000010092/27/l?primer=7cdcb44be4a7db8877ffa5c0007b8dd865b3bbc383831fe2ea177f62257a9191&fvd=i7&v=3") format("woff2"),url("https://use.typekit.net/af/eb729a/000000000000000000010092/27/d?primer=7cdcb44be4a7db8877ffa5c0007b8dd865b3bbc383831fe2ea177f62257a9191&fvd=i7&v=3") format("woff"),url("https://use.typekit.net/af/eb729a/000000000000000000010092/27/a?primer=7cdcb44be4a7db8877ffa5c0007b8dd865b3bbc383831fe2ea177f62257a9191&fvd=i7&v=3") format("opentype");
font-display:auto;font-style:italic;font-weight:700;font-stretch:normal;
}
@font-face {
font-family:"futura-pt";
src:url("https://use.typekit.net/af/849347/000000000000000000010093/27/l?primer=7cdcb44be4a7db8877ffa5c0007b8dd865b3bbc383831fe2ea177f62257a9191&fvd=i3&v=3") format("woff2"),url("https://use.typekit.net/af/849347/000000000000000000010093/27/d?primer=7cdcb44be4a7db8877ffa5c0007b8dd865b3bbc383831fe2ea177f62257a9191&fvd=i3&v=3") format("woff"),url("https://use.typekit.net/af/849347/000000000000000000010093/27/a?primer=7cdcb44be4a7db8877ffa5c0007b8dd865b3bbc383831fe2ea177f62257a9191&fvd=i3&v=3") format("opentype");
font-display:auto;font-style:italic;font-weight:300;font-stretch:normal;
}
@font-face {
font-family:"futura-pt";
src:url("https://use.typekit.net/af/9b05f3/000000000000000000013365/27/l?primer=7cdcb44be4a7db8877ffa5c0007b8dd865b3bbc383831fe2ea177f62257a9191&fvd=n4&v=3") format("woff2"),url("https://use.typekit.net/af/9b05f3/000000000000000000013365/27/d?primer=7cdcb44be4a7db8877ffa5c0007b8dd865b3bbc383831fe2ea177f62257a9191&fvd=n4&v=3") format("woff"),url("https://use.typekit.net/af/9b05f3/000000000000000000013365/27/a?primer=7cdcb44be4a7db8877ffa5c0007b8dd865b3bbc383831fe2ea177f62257a9191&fvd=n4&v=3") format("opentype");
font-display:auto;font-style:normal;font-weight:400;font-stretch:normal;
}
@font-face {
font-family:"futura-pt";
src:url("https://use.typekit.net/af/cf3e4e/000000000000000000010095/27/l?primer=7cdcb44be4a7db8877ffa5c0007b8dd865b3bbc383831fe2ea177f62257a9191&fvd=i4&v=3") format("woff2"),url("https://use.typekit.net/af/cf3e4e/000000000000000000010095/27/d?primer=7cdcb44be4a7db8877ffa5c0007b8dd865b3bbc383831fe2ea177f62257a9191&fvd=i4&v=3") format("woff"),url("https://use.typekit.net/af/cf3e4e/000000000000000000010095/27/a?primer=7cdcb44be4a7db8877ffa5c0007b8dd865b3bbc383831fe2ea177f62257a9191&fvd=i4&v=3") format("opentype");
font-display:auto;font-style:italic;font-weight:400;font-stretch:normal;
}
@font-face {
font-family:"futura-pt";
src:url("https://use.typekit.net/af/ae4f6c/000000000000000000010096/27/l?primer=7cdcb44be4a7db8877ffa5c0007b8dd865b3bbc383831fe2ea177f62257a9191&fvd=n3&v=3") format("woff2"),url("https://use.typekit.net/af/ae4f6c/000000000000000000010096/27/d?primer=7cdcb44be4a7db8877ffa5c0007b8dd865b3bbc383831fe2ea177f62257a9191&fvd=n3&v=3") format("woff"),url("https://use.typekit.net/af/ae4f6c/000000000000000000010096/27/a?primer=7cdcb44be4a7db8877ffa5c0007b8dd865b3bbc383831fe2ea177f62257a9191&fvd=n3&v=3") format("opentype");
font-display:auto;font-style:normal;font-weight:300;font-stretch:normal;
}
@font-face {
font-family:"futura-pt";
src:url("https://use.typekit.net/af/0c71d1/000000000000000000010097/27/l?primer=7cdcb44be4a7db8877ffa5c0007b8dd865b3bbc383831fe2ea177f62257a9191&fvd=n8&v=3") format("woff2"),url("https://use.typekit.net/af/0c71d1/000000000000000000010097/27/d?primer=7cdcb44be4a7db8877ffa5c0007b8dd865b3bbc383831fe2ea177f62257a9191&fvd=n8&v=3") format("woff"),url("https://use.typekit.net/af/0c71d1/000000000000000000010097/27/a?primer=7cdcb44be4a7db8877ffa5c0007b8dd865b3bbc383831fe2ea177f62257a9191&fvd=n8&v=3") format("opentype");
font-display:auto;font-style:normal;font-weight:800;font-stretch:normal;
}
@font-face {
font-family:"futura-pt";
src:url("https://use.typekit.net/af/648f69/000000000000000000010098/27/l?primer=7cdcb44be4a7db8877ffa5c0007b8dd865b3bbc383831fe2ea177f62257a9191&fvd=i8&v=3") format("woff2"),url("https://use.typekit.net/af/648f69/000000000000000000010098/27/d?primer=7cdcb44be4a7db8877ffa5c0007b8dd865b3bbc383831fe2ea177f62257a9191&fvd=i8&v=3") format("woff"),url("https://use.typekit.net/af/648f69/000000000000000000010098/27/a?primer=7cdcb44be4a7db8877ffa5c0007b8dd865b3bbc383831fe2ea177f62257a9191&fvd=i8&v=3") format("opentype");
font-display:auto;font-style:italic;font-weight:800;font-stretch:normal;
}
@font-face {
font-family:"futura-pt";
src:url("https://use.typekit.net/af/c4c302/000000000000000000012192/27/l?primer=7cdcb44be4a7db8877ffa5c0007b8dd865b3bbc383831fe2ea177f62257a9191&fvd=n6&v=3") format("woff2"),url("https://use.typekit.net/af/c4c302/000000000000000000012192/27/d?primer=7cdcb44be4a7db8877ffa5c0007b8dd865b3bbc383831fe2ea177f62257a9191&fvd=n6&v=3") format("woff"),url("https://use.typekit.net/af/c4c302/000000000000000000012192/27/a?primer=7cdcb44be4a7db8877ffa5c0007b8dd865b3bbc383831fe2ea177f62257a9191&fvd=n6&v=3") format("opentype");
font-display:auto;font-style:normal;font-weight:600;font-stretch:normal;
}
@font-face {
font-family:"futura-pt";
src:url("https://use.typekit.net/af/1b297b/000000000000000000012193/27/l?primer=7cdcb44be4a7db8877ffa5c0007b8dd865b3bbc383831fe2ea177f62257a9191&fvd=i6&v=3") format("woff2"),url("https://use.typekit.net/af/1b297b/000000000000000000012193/27/d?primer=7cdcb44be4a7db8877ffa5c0007b8dd865b3bbc383831fe2ea177f62257a9191&fvd=i6&v=3") format("woff"),url("https://use.typekit.net/af/1b297b/000000000000000000012193/27/a?primer=7cdcb44be4a7db8877ffa5c0007b8dd865b3bbc383831fe2ea177f62257a9191&fvd=i6&v=3") format("opentype");
font-display:auto;font-style:italic;font-weight:600;font-stretch:normal;
}
@font-face {
font-family:"futura-pt-bold";
src:url("https://use.typekit.net/af/053fc9/00000000000000003b9af1e4/27/l?primer=7cdcb44be4a7db8877ffa5c0007b8dd865b3bbc383831fe2ea177f62257a9191&fvd=n7&v=3") format("woff2"),url("https://use.typekit.net/af/053fc9/00000000000000003b9af1e4/27/d?primer=7cdcb44be4a7db8877ffa5c0007b8dd865b3bbc383831fe2ea177f62257a9191&fvd=n7&v=3") format("woff"),url("https://use.typekit.net/af/053fc9/00000000000000003b9af1e4/27/a?primer=7cdcb44be4a7db8877ffa5c0007b8dd865b3bbc383831fe2ea177f62257a9191&fvd=n7&v=3") format("opentype");
font-display:auto;font-style:normal;font-weight:700;font-stretch:normal;
}
@font-face {
font-family:"futura-pt-bold";
src:url("https://use.typekit.net/af/72575c/00000000000000003b9af1e5/27/l?primer=7cdcb44be4a7db8877ffa5c0007b8dd865b3bbc383831fe2ea177f62257a9191&fvd=i7&v=3") format("woff2"),url("https://use.typekit.net/af/72575c/00000000000000003b9af1e5/27/d?primer=7cdcb44be4a7db8877ffa5c0007b8dd865b3bbc383831fe2ea177f62257a9191&fvd=i7&v=3") format("woff"),url("https://use.typekit.net/af/72575c/00000000000000003b9af1e5/27/a?primer=7cdcb44be4a7db8877ffa5c0007b8dd865b3bbc383831fe2ea177f62257a9191&fvd=i7&v=3") format("opentype");
font-display:auto;font-style:italic;font-weight:700;font-stretch:normal;
}
.tk-futura-pt { font-family: "futura-pt",sans-serif; }
.tk-futura-pt-bold { font-family: "futura-pt-bold",sans-serif; }

BIN
src/salut.tar.gz Normal file

Binary file not shown.