Les nouveautés de l'HTML 5.1

HTML 51


Le W3C (World Wide Web Consortium) à annoncer le 1er novembre 2016 date de lancement de la version 5.1 du HTML. Le développement de cette version 5.1 avait débuté le 17 décembre 2012 et été validé le 1er novembre 2016. 

Le développement de cette spécification a débuté en décembre 2012 et a été validée en tant que recommandation par le W3C le 1er novembre 2016.

Nous allons voir les ajouts importants et les principales nouveautés disponibles avec la version 5.1.

Liste des nouveautés : 


1- Nouveaux types : week, month et datetime-local pour les zones de textes ( inputs ) :

- <input type="week"> 
pour sélectionner une semaine sous forme de : week / year.

- <input type="month"> 
pour sélectionner un mois spécifique sous forme de : month / year.

- <input type="datetime-local"> 

pour sélectionner une date sous forme de : day / month / year / hour / minute.

2- Détails et Summary :
 
Ces 2 balises nous permet de nous passer de l’utilisation de Javascript pour déplier un contenu, par exemple : créer un widget permettant d'afficher et de masquer du contenu sans JavaScript.

 <details> permet de représenter des informations qui ne seront visibles que lorsque nous cliquerons dessus. <summary> est un enfant de <details>, lorsque <summary> est absent, alors le nom par défaut sera « Detail ».

Pour le moment, Chrome, Opera, Firefox et Safari supportent ces nouvelles balises mais, il existe de nombreux polyfill . 

3- Picture et srcset :

Ce nouveauté a pour but d'améliorer le chargement des images en sélectionnant l'image à charger suivant la taille de l'écran de l'utilisateur. 

Donc ,si le navigateur n’est pas compatible, on affiche une image par defaut.

On utilise une " mediaquery " sur le composant fils "source" à travert l'attribue "media".

4- Menuitem et context :
  
Cette balise est n'agit pas sur la page en elle même mais sur le menu contextuel de l'utilisateur. En faisant un clic droit sur un élément ayant l’attribue « contextmenu », nous avons un nouveau menu personnalisé qui se présentera.

Les nouveautés de l'HTML 5.1

lien youtube :  cliquer ici 
  
La documentation officiel de la W3C : lien par ici

 

Concevez votre site web avec HTML et css - introduction



Bonjour chères geeks ,

vous souhaitez devenir développeur web ? vous souhaitez être capable de créer un site web mais vous êtes débutant dans ce domaine ?

alors qu'une bonne nouvelle , vous êtes exactement là où vous devez être.

dans ce cours , on va apprendre ensemble les bases de l' HTML et le CSS.


Les langages HTML et CSS sont à la base du fonctionnement de tous les sites web. Quand vous consultez un site avec votre navigateur, il faut savoir que, en coulisses, des rouages s'activent pour permettre au site web de s'afficher. L'ordinateur se base sur ce qu'on lui a expliqué en HTML et CSS pour savoir ce qu'il doit afficher.

 vous propose ce document , il contient le cours detaillé , des quiz , des conseils d'or ... :


par ici :  - >   Apprenez à créer votre site web avec HTML5 et CSS3










correction TP X01 Structures de Données et algorithme


 Correction  TP X01 Structure de données et algorithmique.




  
Bonjour les développeurs , j’espère que vous allez très bien , aujourd'hui , je vais avec vous un tp  qu'un ami m'a envoyer dernièrement , apparemment , il est conçu a la faculté des science  saad dahleb en Algérie , Bonne lecture 


Université Saad Dahleb Blida
Faculté des Sciences
Département d’Informatique



1ère Epreuve de Moyenne Durée

« Structures de Données et Algorithmes »

Février 2010



Exercice 1 (7 pts): On se propose d’implémenter les algorithmes de recherche auto-adaptative appliqués à une LLC unidirectionnelle.

1 – Rappeler en deux lignes ce qu’est la recherche auto-adaptative (1pt)

La recherche auto-adaptative consiste à favoriser la recherche ultérieure d’un élément déjà recherché. A chaque fois qu’un élément est recherché, sa position se rapproche du début.

2 – Rappeler les deux méthodes permettant d’implémenter une technique de recherche auto-adaptative (1 pt)

La première méthode consiste à placer l’élément recherché en tête de la liste ; la seconde consiste à le faire monter d’un rang (s’il est 20e par exemple, il devient 19e).

3 – Nommer les deux idées permettant d’implémenter la recherche auto-adaptative (idée1 et idée2). Rappeler alors le constat de Donald Knuth relatif aux deux idées. (1pt)

Si l’on nomme les deux idées précédemment décrites idée1 et idée2 dans l’ordre où elles ont été énoncées, selon Knuth, si on a un nombre de recherches inférieur ou égal à n2, n étant le nombre d’éléments, la première idée est meilleure. Au-delà de ce seuil, la seconde est meilleure.

4 – Ecrire deux fonctions C distinctes réalisant chacune une des deux idées (une fonction C pour la première idée et une seconde pour la seconde) appliquée à une LLC unidirectionnelle. (2pts pour chaque fonction)


int idee1(liste *l, int e)
{
            int sortie = 0; int x;
            liste p = *l; liste prec = NULL;
            while ((p != NULL) && (sortie == 0))
                        if ((x = val(p)) == e)
                        {
                                   aff_adr(prec, suiv(p));
                                   aff_adr(p, *l);
                                   *l = p;
                                   sortie = 1;
                        }
                                   else
                                               {
                                                           prec = p;
                                                           p = suiv(p);
                                               }
            return sortie;
}


int idee2(liste *l, int e)
{
            int sortie = 0; int x;
            liste p = *l; liste prec = NULL;
            while ((p != NULL) && (sortie == 0))
                        if ((x = val(p)) == e)
                                   {if (prec != NULL)
                                   {
                                               aff_val(p, val(prec));
                                               aff_val(prec, x);
                                   }
                                               sortie = 1;
                                   }
                                   else
                                               {
                                                           prec = p;
                                                           p = suiv(p);
                                               }
            return sortie;
}

Exercice 2 (4pts):

On voudrait écrire une fonction C « récursive » qui évalue un nombre écrit en binaire. La fonction aura en entré une chaîne de caractères représentant un nombre binaire et donnera en sortie l’équivalent décimal. Exemple : la fonction ayant en entrée la chaîne « 11011 » donnera la valeur 27.
Ecrire la fonction C « récursive » effectuant ce travail.

int BinToDec(char c[])
{
            int sortie = 0, n = strlen(c);
            if (n != 0)
                                   if (c[0] == '1')
                                               sortie = pow(2,n-1) + BinToDec(c+1);
                                   else
                                               sortie = BinToDec(c+1);
            return sortie;
}

Exercice 3 (6pts) :

1 – rappeler le principe du tri par insertion (1pt)

Le tri par insertion à considérer, lorsque l’itération arrive au ie élément, que les éléments allant du premier au (i-1)e sont triés. Ainsi, si le ie élément  n’est pas à sa place (il est plus petit que le (i-1)e), il faudra le placer à sa place dans l’intervalle [premier, (i-1)e[.

2 – ce tri s’applique-t-il aux LLC unidirectionnelles (0,5 pt)? aux LLC bidirectionnelles ? (0,5 pt)

Oui il s’applique aux LLC unidirectionnelles. Pour placer l’élément à sa place dans l’intervalle [premier, (i-1)e[, il suffira de démarrer les tests pour savoir s’il est plus petit que les éléments de l’intervalle à partir du début de l’intervalle et non de la fin car on ne peut aller de la fin au début, les chaînages ayant un sens unique.

Il s’applique également aux LLC bidirectionnelles. On peut, lors des comparaisons nécessaires pour placer l’élément, commencer indifféremment du premier au (i-2)e ou du (i-2)e au premier.

3 – que faudrait-il faire afin que la fonction C qui effectue le tri s’applique sans aucune modification aussi bien aux LLC unidirectionnelles qu’aux LLC bidirectionnelles ? (1 pt)

Etant donné que pour la LLC uni., il faut comparer avec le premier puis le second jusqu’au (i-2)e au besoin et que le LLC bidi., on peut indifféremment aller du premier au (i-2)e ou du (i-2)e au premier, il suffit de choisir la solution qui convient aux deux à la fois, à savoir comparer avec le premier puis le second etc. et n’opérer que des changements de valeurs et non de chaînages, le changement de valeurs étant le même dans les deux cas alors que le changement de chaînage est différent.

4 – Ecrire une fonction C qui effectue ce tri et qui soit utilisable pour les deux types de listes

void TriInsertion(liste l)
{
            liste p,prec,q,s;
            int x,y;
            if (l != NULL)
            {

                        prec = l;
                        p = suiv(l);
                        while (p != NULL)
                        {
                                   if ((x = val(p)) < val(prec))
                                   {
                                               //trouver la place de l'élément
                                               q = l;
                                               while ((y = val(q)) < val(p))
                                                           q = suiv(q);
                                               //q pointe la place ou devrait se placer l'élément
                                               //il faut déplacer tous les autres
                                               s = q;
                                               while (q != suiv(p))
                                               {
                                                                       y = val(q);
                                                                       aff_val(q, x);
                                                                       x = y;
                                                                       q = suiv(q);
                                               }
                                   }
                                   prec = p;
                                   p = suiv(p);
                        }
                        }
}

Exercice 4 (3pts) :

On voudrait transformer un nombre représenté par une chaîne de caractères en un autre nombre qui sera copié dans la chaîne d’origine de la façon suivante :
Tous les chiffres pairs deviennent en tête dans leur ordre d’origine et tous les chiffres impairs seront copiés à la suite des pairs dans leur ordre inverse.
Exemple : 123456      è        246531
Ecrire une fonction C qui transforme ainsi les chaînes-nombres en utilisant une file et une pile. (utiliser les fonctions du modèle Pile et File sans les réécrire)

void transforme(char c[])
{
            file F; pile P;
            int x;
            int n = strlen(c);
            int i;
            for (i = 0; i<n ; i++)
                        if ((c[i]-'0') % 2 == 0)
                                   enfiler(&f, c[i]);
                                   else
                                               empiler(&p, c[i]);
            i = 0;
            while (Desenfiler(&f, &x))
                        c[i++] = x;
            while (Desempiler(&p, &x))
                        c[i++] = x;
}

pour consulter plus d'exercices en algorithmique ou programmation langage c  : par ici

le lien vers les questions de ce tp : par ici

Je vous souhaite bonne lecture et n'oublier pas de partager tout cela :) !!

TP X01 Structures de Données et algorithme

tp langage c
Bonjour les développeurs , j’espère que vous allez très bien , aujourd'hui , je vais partager avec vous un tp  qu'un ami m'a envoyer dernièrement , apparemment , il est conçu a la faculté des science  saad dahleb en Algérie , Bonne lecture 

Lien vers la correction de ce tp :  par ici




 

Université Saad Dahleb Blida
Faculté des Sciences
Département d’Informatique


1ère Epreuve de Moyenne Durée
« Structures de Données et Algorithmes »
Février 2010


Exercice 1 (7 pts): 

 On se propose d’implémenter les algorithmes de recherche auto-adaptative appliqués à une LLC unidirectionnelle.

1 – Rappeler en deux lignes ce qu’est la recherche auto-adaptative (1pt)
2 – Rappeler les deux méthodes permettant d’implémenter une technique de recherche auto-adaptative (1 pt)
3 – Nommer les deux idées permettant d’implémenter la recherche auto-adaptative (idée1 et idée2). Rappeler alors le constat de Donald Knuth relatif aux deux idées. (1pt)
4 – Ecrire deux fonctions C distinctes réalisant chacune une des deux idées (une fonction C pour la première idée et une seconde pour la seconde) appliquée à une LLC unidirectionnelle. (2pts pour chaque fonction)

Exercice 2 (4pts):


On voudrait écrire une fonction C « récursive » qui évalue un nombre écrit en binaire. La fonction aura en entré une chaîne de caractères représentant un nombre binaire et donnera en sortie l’équivalent décimal. Exemple : la fonction ayant en entrée la chaîne « 11011 » donnera la valeur 27.
Ecrire la fonction C « récursive » effectuant ce travail.

Exercice 3 (6pts) :


1 – rappeler le principe du tri par insertion (1pt)
2 – ce tri s’applique-t-il aux LLC unidirectionnelles (0,5 pt)? aux LLC bidirectionnelles ? (0,5 pt)
3 – que faudrait-il faire afin que la fonction C qui effectue le tri s’applique sans aucune modification aussi bien aux LLC unidirectionnelles qu’aux LLC bidirectionnelles ? (1 pt)
4 – Ecrire une fonction C qui effectue ce tri et qui soit utilisable pour les deux types de listes

Exercice 4 (3pts) :


On voudrait transformer un nombre représenté par une chaîne de caractères en un autre nombre qui sera copié dans la chaîne d’origine de la façon suivante :
Tous les chiffres pairs deviennent en tête dans leur ordre d’origine et tous les chiffres impairs seront copiés à la suite des pairs dans leur ordre inverse.
Exemple : 123456      è        246531
Ecrire une fonction C qui transforme ainsi les chaînes-nombres en utilisant une file et une pile. (utiliser les fonctions du modèle Pile et File sans les réécrire)



Je vous souhaite bonne lecture et n'oublier pas de partager tout cela :) !!

Systeme d'exploitation linux

Bonjour chers Informaticiens, aujourd'hui , on va commencer un cours de système d’exploitation ,Le 'LINUX'.

Mais avant de démarrer , c'est quoi deja un systém d'exploitation ?

Introduction :

un systéme d'exploitation est un ensemble de programmes qui chargés de faire l'interface entre le materiel et vous. exemple de système : iOS,Windows NT, Minix......

bon Linux est un système d’exploitation comme les autre , moderne, très stable, multi-utilisateurs, Open source et gratuit. C'est une plate-forme riche et puissante offrant autant de capacités que MS Windows et nécessitant moins de puissance matérielle pour effectuer des tâches semblables.

Installation 

- Système

Installer Linux sur sa machine est la première étape pour aborder avec profit ce cours d’administration. Installer Linux à  partir d’une distribution sur CD-ROM est relativement aisé si on dispose d’une machine qui peut booter à partir du lecteur CD et qu’on suive pas à pas les indications du programme d’installation. Toutefois quelques indications sont utiles pour mener à bien l’installation. Ces indications concernent deux points essentiels de l’installation : le Partitionnement du disque et le système de boot.
ci-dessous on rappelle une arborescence.

voila une vue sur l'arborescence de linux : 

linux tuto video

 Je passe directement au chapitre des commandes les plus utilisées sur linux, et je vous recommande de consulter ces documents pour mieux maitriser ce système d'exploitation :

Espace téléchargement :

Premier document à telecharger -introduction unix/linux(premiers pas) : cliquer ici
deuxieme document :  administration linux : cliquer ici  
commande linux avec des différents exemples : cliquer ici

 Les commandes : 

 voila la listes des commandes les plus utilisées sur linux.

alias bg cat clear cd chmod cp
date diff df du fdisk fg find
free grep gunzip gzip halt kill ln
login logout lpq lpr lprm ls man
mkdir mkswap more mount mv passwd ps
pwd umount reboot rm rmdir shutdown swapon
swapoff tar unalias 



pour savoir a quoi sert chaque une de ces commandes , voila un site qui explique cela :

cliquer ici

Partie 2 :

les cours Videos :) , tout le monde les préfères.

la premiere video :

video complete sur toutes les commandes : par ici
video sur les commandes avancés : clique ici 




Et comme d'habitude n'oublier pas de partager cela avec vos amis , bonne lecture

Référencement day : les annuaires du référencement les plus connus

referencement web annuaire jabal

 Référencement - Les annuaires :

 Bonjour , le référencement est parmi les fondamentaux pour un développeur web , tout le mode c'est comment créer un site web, l'optimiser selon les normes connues,soumettre son site aux moteurs de recherches,mais , il y en a toujours des développeurs ou bien des référenceures qui sont avantager d'une façon bizarre et très discrète ? comment ça se fait ? c'est grace aux backlinks qu'il font leurs travaux, mais il risquent toujours de faire bannir leurs siteweb ou de les placer sur la black-liste des moteurs de recherche.


j'ai fait un petit tour sur internet et j'ai trouver qu'il existe des annuaires dédiés aux...arrête  c'est quoi un annuaire , je suis désolé j'ai oublié de vous définir c'est quoi un annuaires web , donc c'est  (appelé aussi guide ou répertoire) est un outil de recherche qui recense un certain nombre de sites classés selon une arborescence précise (par catégorie).

Un des annuaires les plus connus :
1 Conseillé : Annuaire référencement
http://www.costaud.net
http://annuaire.indexweb.info
http://www.webrankinfo.com/annuaire/ 

Un annuaire Internet peut être généraliste ou thématique.Chaque rubrique est subdivisée en sous-rubriques plus précises, elles-mêmes subdivisées en sous-sous-rubriques (Marketing Internet, Blogs, conception et
développement, … etc).

Contrairement à d’autre annuaires (annuaires tél), c’est au Webmaster de proposer
son site à l’annuaire s’il cherche à y figurer.
La soumission d’un site à un annuaire ne garantie pas son aboutissement  et ceux
pour diverses raisons : 

• Contenu illicite,  non conforme aux règlements de l’annuaire, sans rapport avec
les thèmes privilégiés par l'annuaire
  • un annuaire Web est entretenu par des êtres Humains et ne référence qu'un nombre
  • restreint d'URLs par site
  • la validation d'un site Web suggéré est souvent manuelle (par des Humains)

Et comme d'habitude n'oublier pas de partager cela avec vos amis , bonne lecture

Apprendre a maitriser le framework Cakephp en video

tuto php cakephp

Salut les développeurs, aujourd'hui nous allons voir un cours très  intéressants et très attendu par la majorité d'entre vous , j’espère que vous maitrisiez déjà le concept de la programmation orientée objet, et surtout la structure MVC (module views controllers). si c le cas , On démarre ! sinon veuillez chercher sur mon blog les posts ou j'ai partager des cours vidéos accompagnés des documents PDF !

voila le lien vers le site officiel version fr :  cliquer ici

le lien pour le téléchargement du framework cakephp : cliquer ici

Présentation du framework cakephp :

donc comme j'ai deja cité dans le cours du framework symfony , c'est la meme chose pour cakephp,
CakePHP est un framework de développement rapide,très organisé , il nous propose une architecture extensible pour développer, maintenir et déployer des applications.

Fonctionnalités :

  •  Une licence flexible.
  •  simple.
  •  Propriété Intellectuelle claire.
  •  Bonnes pratiques
  •  basé sur la structure MVC. 
  •  Demarrage sans configuration . 

Documentation & formation :

Site intéressant pour s'informer en cakePhp  : Formation cakephp.
Formation en 28 vidéos sur la chaine de grafikart !! : cliquer ici.
voila document PDF interessant  pour debuter avec ce fameux framework : télécharger.


Je vous souhaite bonne lecture et n'oublier pas de partager tout cela :) !!

Serie 5 d'algorithme a résoudre - Marouane jabal

tp algorithme marouane jabal
Bonjour les Futures programmeur , aujourd'hui nous allons attaquer une Série d'exercices , apres la consultation de la série vidéos de Marouane jabal, voila la partie pratique , j'attends vos solutions, passer les sur commentaires ou bien par le biais de la messagerie électronique : Bonne lecture !

Si vous voulez consulter la première série poster par marouane jabal c'est par ici :








      Les  Différentes parties :



Série n° : 3 –Les structures itératives (boucle for)-


Exercice 3.1

Ecrire un programme qui affiche tous les entiers de 8 jusqu’à 23 (bornes incluses).

Exercice 3.2 : Sommes
1-      Ecrire un programme qui demande un nombre de départ, et qui calcule la somme des entiers jusqu’à ce nombre. Par exemple, si l’on entre 5, le programme doit calculer : 1 + 2 + 3 + 4 + 5 = 15
2-      Ecrire un programme qui demande à l’utilisateur de taper 10 entiers et qui affiche leur somme et leur moyenne.
3-      Ecrire un programme qui affiche la somme des entiers positifs compris entre les entiers relatifs a et b. Les valeurs de a et b sont saisies au clavier lors de l'exécution.
4-      Ecrire un programme qui affiche la somme des valeurs absolues des entiers compris entre les entiers relatifs a et b. Les valeurs de a et b sont saisies au clavier lors de l'exécution.
5-      Ecrire un programme qui affiche la somme des valeurs absolues des entiers pairs compris entre les entiers relatifs a et b. Les valeurs de a et b sont saisies au clavier lors de l'exécution.

Exercice 3. 3 : Table de multiplication

Ecrire un programme qui demande un nombre de départ, et qui ensuite écrit la table de multiplication de ce nombre, présentée comme suit (cas où l'utilisateur entre le nombre 7) :
Table de 8 :
8 x 1 = 8
8 x 2 = 16
8 x 3 = 24
8 x 10 = 80

Exercice 3.4 : Factorielle

Ecrire un programme qui demande un nombre de départ, et qui calcule sa factorielle. Par exemple, si l’utilisateur saisit la valeur 7, le programme doit calculer  1 x 2 x 3 x 4 x 5 x 6 x 7.

Exercice 3.5 : Minimum et Maximum
Ecrire un programme qui demande à l’utilisateur de taper 10 entiers et qui affiche le plus petit (noté min) et le plus grand (noté max) de ces entiers, ainsi que sa position.
 
Exercice 3.6 : Somme de puissances  
1-      Ecrire un programme qui lit un entier positif N et qui affiche la somme des N premières puissances de 2.
Exemple : donnée : 5
      résultat : 20 + 21 + 22 + 23 + 24 + 25 = 63
2-      Ecrire un programme qui calcule la somme des inverses des carrés des n premiers entiers (1/12 + 1/22 + … + 1/n2), n étant donné par l’utilisateur.
3-      Ecrire un programme qui demande à l'utilisateur de taper un entier N et qui calcule la somme des cubes de 5^3 à N^3.

Exercice 3.7: multiplication

Écrire un programme effectue la multiplication de deux entiers positifs (notés x et y) donnés par l’utilisateur en utilisant uniquement l’addition entière.

Exercice 3.8: Calcul de xn
Ecrire un programme qui lit un nombre x puis un entier n, puis calcule et affiche la puissance nième de x : xn, en utilisant uniquement la multiplication.

Exercice 3.9 : Nombres premiers

Écrire un programme qui à partir d’un entier strictement positif donné, retourne le résultat 0 ou 1 selon que le nombre est premier ou non.
Pour mémoire, voici la liste des nombres premiers inférieurs à 100 : 1, 2, 3, 5, 7, 11, 13, 17, 19, 23, 29, 31, 37, 41, 43, 47, 53, 59, 61, 67, 71, 73, 79, 83, 89, 97.

Exercice 3.10 : Nombres parfaits
1.      Ecrire un programme qui à partir d’un entier strictement positif donné, retourne le résultat 0 ou 1 selon que le nombre est parfait ou non.
Un nombre est dit parfait s’il est égal à la somme de ses diviseurs stricts.
Exemple : 28 = 1 + 2 + 4 + 7 + 14
2.      Écrire un programme qui affiche la suite de tous les nombres parfaits inférieurs ou égaux à un nombre entier positif donné (noté n).
Voici la liste des nombres parfaits inférieurs à 10000 : 6, 28, 496, 8128.

Exercice 3.11 : triangle d'étoiles

1- Ecrire un programme qui affiche une ligne de n étoiles ("*") séparées par un éspace, n étant donné par l'utilisateur.
2- Ecrire un programme qui affiche un triangle composé d'étoiles comme le montre la figure:
*
* *
* * *
* * * *
* * * * *
Le nombre de lignes est demandé à l'utilisateur.