Académique Documents
Professionnel Documents
Culture Documents
Création de l’application
On commence donc par la création de l’application avec la commande pour générer notre
application Ionic :
ionic start meteo blank --type=angular
On appelle notre application Météo tout simplement et on utilise le type blank (vierge) pour
n'afficher qu’une seule page.
Une fois que votre application est créé, rendez-vous dans son répertoire:
cd meteo
La dernière commande à entrer avant de lancer notre application est celle consistant à créer
une nouvelle page.
En effet nous aurons besoin de la page préconçu Home pour afficher nos données météo,
mais également d’une page pour chercher et choisir notre ville.
Nous créons donc la nouvelle page “Add” pour gérer la recherche de ville:
ionic g page add
Design de l’application
Nous allons voir de haut en bas le design de notre page d’accueil, à commencer par le
header:
Son design est donc très simple, il contient un titre classique et un bouton de recherche pour
ouvrir la page Add.
On commence par créer une boîte HTML div pour contenir toutes les informations de notre
page avec une petite marge:
<div class="ion-padding">
<p text-center>Vendredi, 06:10</p>
</div>
ion-content {
--ion-background-color: linear-gradient(#3F51B5, #2196F3);
}
p{
color:white;
z-index: 1;
text-transform: capitalize;
}
Nous créons ensuite la boîte HTML qui contiendra les informations de l’heure actuelle. Nous
utilisons pour cela les flex-box et surtout des propriétés CSS pour agrandir et ajuster les
texte et icônes.
Ne vous laissez pas impressionnez par le grand nombre de propriétés CSS, il s’agit
simplement pour gérer la taille et l’alignement de nos éléments HTML.
On enchaîne avec l’affichage des horaires et des températures futures. Nous allons les
afficher en ligne et surtout leur permettre d’être scroller, c’est-à-dire de les parcourir à
l’horizontal.
On utiliseras à nouveau les flex-box, mais cette fois avec un affichage horizontal qui permet
le dépassement.
Voilà notre boîte flex avec quelques températures affichées:
<div class="box_3">
<div class="box_hour">
<p class="transparent">18:00</p>
<p><b>20°</b></p>
<ion-icon name="partly-sunny"></ion-icon>
</div>
<div class="box_hour">
<p class="transparent">19:00</p>
<p><b>18°</b></p>
<ion-icon name="partly-sunny"></ion-icon>
</div>
<div class="box_hour">
<p class="transparent">20:00</p>
<p><b>17°</b></p>
<ion-icon name="partly-sunny"></ion-icon>
</div>
</div>
Par la suite nous utiliserons les boucles ngFor pour parcourir un tableau qui contiendra
toutes les températures de la ville.
Pour le moment on se concentre sur l’affichage, relativement simple, la boîte “box_3” est
une flex-box, tandis que chaque boîte “box_hour” représente les informations d’une heure
précise.
La propriété la plus importante est “overflow: scroll” car elle permet de cacher les éléments
qui dépassent et de permettre de faire glisser nos boîtes à l’horizontal.
Les autres propriétés permettent de donner un style bien particulier à nos icônes et textes
d’affichage pour les heures et les températures.
Donc dans les prochaines partie nous verrons comment récupérer les données de l’API et
les afficher sous forme de boucle dans cette partie.
On termine enfin le design de notre page d’accueil avec un autre d’affichage d’heure, mais
cette fois-ci à la semaine.
En effet pour afficher les températures des prochains jours comme ceci:
Attention pour cette partie de nos page d’accueil, nous devons sortir de la première boîte qui
avait la classe “ion-padding”.
Nous souhaitons que notre nouvelle boîte ait elle aussi une marge intérieur, mais surtout ce
fond de couleur semi-transparent.
Nous pouvons également donner dès maintenant le style à la classe ”week” pour lui donner
un fond transparent:
.week {
width: 100%;
background-color: #ffffff5c;
border-top-left-radius: 25px;
border-top-right-radius: 25px;
}
On créera également notre première boîte pour contenir les informations d’une journée à
venir:
<div class="day" >
<p class="transparent">Vendredi 24</p>
<div class="day_info">
<ion-icon name="rainy"></ion-icon>
<p><b>25°</b></p>
<p class="transparent"><b>23°</b></p>
</div>
</div>
On termine comme d’habitude par donner toutes les propriétés CSS à nos différents
éléments, en premier lieu pour les disposer mais également pour leur donner taille et
couleur bien précises.
Le design de notre page d’accueil est maintenant terminé, nous attaquons ainsi la partie
qui nous intéresse vraiment à savoir le TypeScript pour dynamiser notre application.
11