Symfony2 - Un Framework PHP 5 PerformantHugo Hamon
L’arrivée de PHP 5.3 en milieu d’année 2009 a bouleversé la manière de développer des applications web. En effet, cette nouvelle version a apporté de nouveaux outils au langage tels que les espaces de nommage qui favorisent la réutilisabilité du code lorsqu’ils sont employés à bon escient. Les nouveaux frameworks de développement rapide ont aussi suivi le mouvement et reposent sur la base de PHP 5.3. C’est le cas de Symfony2 dont la version stable est prévue prochainement.
Cette présentation offre un tour d’horizon de la nouvelle architecture du framework qui s’articule autour de “bundles”, de librairies externes et de nombreux composants indépendants tels que le conteneur d’injection de dépendances. Nous dresserons un panorama des principales fonctionnalités offertes par le framework telles que la couche d’ORM Doctrine 2, le moteur de templating Twig et la gestion des formulaires. Nous nous intéresserons également à la gestion du cache HTTP, à la couche de sécurité ainsi qu’aux outils de débogage destinés à améliorer la productivité du développeur et la maintenance de l’application.
Symfony2 - Un Framework PHP 5 PerformantHugo Hamon
L’arrivée de PHP 5.3 en milieu d’année 2009 a bouleversé la manière de développer des applications web. En effet, cette nouvelle version a apporté de nouveaux outils au langage tels que les espaces de nommage qui favorisent la réutilisabilité du code lorsqu’ils sont employés à bon escient. Les nouveaux frameworks de développement rapide ont aussi suivi le mouvement et reposent sur la base de PHP 5.3. C’est le cas de Symfony2 dont la version stable est prévue prochainement.
Cette présentation offre un tour d’horizon de la nouvelle architecture du framework qui s’articule autour de “bundles”, de librairies externes et de nombreux composants indépendants tels que le conteneur d’injection de dépendances. Nous dresserons un panorama des principales fonctionnalités offertes par le framework telles que la couche d’ORM Doctrine 2, le moteur de templating Twig et la gestion des formulaires. Nous nous intéresserons également à la gestion du cache HTTP, à la couche de sécurité ainsi qu’aux outils de débogage destinés à améliorer la productivité du développeur et la maintenance de l’application.
Toute application Web dite dynamique nécessite une base de données ainsi que des outils qui permettront de manipuler ces données.
Dans la palette des outils à la disposition des développeurs PHP, on trouve entre autres les DBAL (DataBase Abstraction Layer ou couche d'abstraction de base de données) ou les ORM (Object Relational Mapping ou mapping objet-relationnel).
Toute application Web dite dynamique nécessite une base de données ainsi que des outils qui permettront de manipuler ces données.Dans la palette des outils à la disposition des développeurs PHP, on trouve entre autres les DBAL (DataBase Abstraction Layer ou couche d'abstraction de base de données) ou les ORM (Object Relational Mapping ou mapping objet-relationnel).
Webinar Darkmira PHParty7 France - Présentation d'une des principales incompatibilités de la nouvelle version PHP7, l'uniformisation de la syntaxe des variables
Dans cet article, vous allez voir comment créer facilement une barre de progression en temps réel grâce aux nouvelles variables de session ajoutées à PHP 5.4
- https://github.com/pH-7/PHP5.4-Session-Upload-Progress-Bar
- http://ph7.me
- https://www.php.net/manual/fr/session.upload-progress.php
Php 2 - Approfondissement MySQL, PDO et MVCPierre Faure
Introduction au langage de programmation PHP.
Présentation réalisée la première fois le lundi 10 mars 2014 à l'IIM : Institut de l'Internet et du Multimédia pour les années préparatoires.
Cette présentation a pour but d'approfondir les compétences PHP des élèves : utiliser des bases de données, comprendre PDO et le modèle MVC (basique).
Après présentation orale de ces slides, des exercices de mise en pratique ont été réalisés en Atelier avec les élèves.
L'exercice principal était de construire une plateforme similaire à twitter selon un modèle MVC.
Voici le plan de la présentation :
• Les bases de données : MySQL
- Principe
- phpMyAdmin
- Interagir avec une BDD
• Les fonctions
- La machine à carottes
- Exemple avec MySQL
- Les fonctions PHP
• Modèle Vue Contrôleur - MVC
- Principe
- Mise en pratique
• Quelques trucs à savoir a.$_FILES et $_POST
- $_SESSION
- L’indentation
- PHP + HTML = ?
PARTIE 2 : Développez une application web dynamique et interactive : Comprendre les Sessions et les Cookies. Manipuler les formulaires et leurs éléments. Présenter Mysql, définir une BD, Comprendre le langage SQL et Apprendre à manipuler phpMyadmin. Faire la connexion avec la base de données et réaliser des opérations CRUD. Tout ceci accompagné avec des exemples et exercices.
Toute application Web dite dynamique nécessite une base de données ainsi que des outils qui permettront de manipuler ces données.
Dans la palette des outils à la disposition des développeurs PHP, on trouve entre autres les DBAL (DataBase Abstraction Layer ou couche d'abstraction de base de données) ou les ORM (Object Relational Mapping ou mapping objet-relationnel).
Toute application Web dite dynamique nécessite une base de données ainsi que des outils qui permettront de manipuler ces données.Dans la palette des outils à la disposition des développeurs PHP, on trouve entre autres les DBAL (DataBase Abstraction Layer ou couche d'abstraction de base de données) ou les ORM (Object Relational Mapping ou mapping objet-relationnel).
Webinar Darkmira PHParty7 France - Présentation d'une des principales incompatibilités de la nouvelle version PHP7, l'uniformisation de la syntaxe des variables
Dans cet article, vous allez voir comment créer facilement une barre de progression en temps réel grâce aux nouvelles variables de session ajoutées à PHP 5.4
- https://github.com/pH-7/PHP5.4-Session-Upload-Progress-Bar
- http://ph7.me
- https://www.php.net/manual/fr/session.upload-progress.php
Php 2 - Approfondissement MySQL, PDO et MVCPierre Faure
Introduction au langage de programmation PHP.
Présentation réalisée la première fois le lundi 10 mars 2014 à l'IIM : Institut de l'Internet et du Multimédia pour les années préparatoires.
Cette présentation a pour but d'approfondir les compétences PHP des élèves : utiliser des bases de données, comprendre PDO et le modèle MVC (basique).
Après présentation orale de ces slides, des exercices de mise en pratique ont été réalisés en Atelier avec les élèves.
L'exercice principal était de construire une plateforme similaire à twitter selon un modèle MVC.
Voici le plan de la présentation :
• Les bases de données : MySQL
- Principe
- phpMyAdmin
- Interagir avec une BDD
• Les fonctions
- La machine à carottes
- Exemple avec MySQL
- Les fonctions PHP
• Modèle Vue Contrôleur - MVC
- Principe
- Mise en pratique
• Quelques trucs à savoir a.$_FILES et $_POST
- $_SESSION
- L’indentation
- PHP + HTML = ?
PARTIE 2 : Développez une application web dynamique et interactive : Comprendre les Sessions et les Cookies. Manipuler les formulaires et leurs éléments. Présenter Mysql, définir une BD, Comprendre le langage SQL et Apprendre à manipuler phpMyadmin. Faire la connexion avec la base de données et réaliser des opérations CRUD. Tout ceci accompagné avec des exemples et exercices.
Exposé de mémoire de Fin d'Etudes Ingénieur informatique
Sujet : Réalisation de librairies réutilisables mettant en avant l'interopérabilité de la solution Web du SpacEyes avec d'autres technologies
Competitic Réseaux sociaux : quelles opportunités pour mon entreprise ?COMPETITIC
Comment augmenter votre visibilité sur Internet et déveloper votre business en utilisant les réseaux sociaux comme Facebook, Twitter, Viadeo... ?
Les réseaux sociaux sont aujourd'hui incontournables dans la stratégie de communication de votre entreprise.
A la clé : toucher de nouveaux clients, les fidéliser, donner une visibilité supplémentaire à votre entreprise.... mais à condition de bien les utiliser. Cet atelier conçu pour les TPE - PME est animé par un consultant TIC de la CCI du Var. Il vous permettra de dresser un panorama des bonnes pratiques et de comprendre quelles sont les erreurs à éviter :
- Connaître les usages et comprendre les objectifs des réseaux sociaux
- Savoir exploiter le potentiel des différents réseaux sociaux existants
- Bâtir sa stratégie sur les réseaux sociaux
- Bien communiquer sur les réseaux sociaux
Este documento resume las orientaciones pedagógicas del Ministerio de Educación Nacional de Colombia para brindar educación a estudiantes con necesidades educativas especiales. Define a los estudiantes con NEE y discapacidad. Luego describe las directrices trazadas por el MEN inspiradas en la integración e inclusión, incluyendo orientaciones específicas para la atención de estudiantes con limitaciones visuales, autismo, discapacidad motora, cognitiva, sordo-ceguera y problemas de audición. El objetivo es que las instituciones educativas
Este documento describe los principales trabajos de fontanería que realiza un equipo de fontaneros en Madrid. Explica brevemente dos de los trabajos más comunes: la sustitución de bañeras antiguas por platos de ducha, que requiere quitar la bañera, instalar el plato de ducha y alicatar; y el cambio de radiadores, que implica estudiar las necesidades térmicas, ubicar los nuevos radiadores y utilizar tuberías modernas para evitar fugas.
Pour comprendre pourquoi vous devez apprendre à vous servir d'un lecteur de flux RSS, faites juste l'addition de vos sites favoris, des forums, des communautés, des réseaux sociaux dont vous êtes membre. La liste est sûrement très longue.
Alors, comment faites-vous pour rester au courant de ce qui se dit et se publie sur cet ensemble de sources d'informations que vous jugez utiles et indispensables ?
A combien estimez-vous la valeur de l'information qui vous échappe par manque d'outil adapté ? N'auriez-vous pas envie d'avoir une vision globale sur l'ensemble de vos sources d'informations pour pouvoir accéder à la bonne information au bon moment ?
Un lecteur de flux RSS répond justement à cette envie et à ce besoin. Le lecteur de flux RSS est l'outil idéal pour agréger simplement les sources d'informations multiples et variées dans un seul et unique endroit. Vous y accédez simplement en temps voulu, à l'information indispensable pour prendre une décision.
Comment créer un site de membre, vol 03, inscription du membre dans l'auto-répondeur, inscription pour identifications futures dans le sites avec validation de son compte par email
L'ORM Doctrine offre beaucoup plus de flexibilité qu'il n'y paraît. Dans cette présentation, nous allons nous intéresser à son fonctionnement interne et à ses fonctionnalités moins connues, pour découvrir comment mieux l'utiliser. Au programme, évènements et listeners, filtres, tracking policy, mais aussi des astuces sur des architectures possibles pour son code...
Qu'est ce que PHP ? Dans ce diaporama, vous allez découvrir les principes de base de PHP dans une courte introduction et apprendre à créer vous aussi des sites web dynamiques.
Pour plus de tuto: https://www.funinformatique.com/comment-pirater-un-compte-facebook/
PHP : (Hypertext Preprocessor") est un langage de scripts:
Coté serveur,
Open Source,
et spécialement conçu pour le développement d'applications web.
Il peut être intégré facilement au HTML.
Quelle place pour le framework Rails dans le développement d'application web5pidou
Cette présentation a été réalisée dans le cadre des Rencontres Mondiales décentralisées du Logiciel Libre (RMLLd) qui se sont déroulées du 1er au 3 Juillet 2011 à Saint-Joseph (Ile de la Réunion).
Le Comptoir OCTO - Équipes infra et prod, ne ratez pas l'embarquement pour l'...OCTO Technology
par Claude Camus (Coach agile d'organisation @OCTO Technology) et Gilles Masy (Organizational Coach @OCTO Technology)
Les équipes infrastructure, sécurité, production, ou cloud, doivent consacrer du temps à la modernisation de leurs outils (automatisation, cloud, etc) et de leurs pratiques (DevOps, SRE, etc). Dans le même temps, elles doivent répondre à une avalanche croissante de demandes, tout en maintenant un niveau de qualité de service optimal.
Habitué des environnements développeurs, les transformations agiles négligent les particularités des équipes OPS. Lors de ce comptoir, nous vous partagerons notre proposition de valeur de l'agilité@OPS, qui embarquera vos équipes OPS en Classe Business (Agility), et leur fera dire : "nous ne reviendrons pas en arrière".
L'IA connaît une croissance rapide et son intégration dans le domaine éducatif soulève de nombreuses questions. Aujourd'hui, nous explorerons comment les étudiants utilisent l'IA, les perceptions des enseignants à ce sujet, et les mesures possibles pour encadrer ces usages.
Constat Actuel
L'IA est de plus en plus présente dans notre quotidien, y compris dans l'éducation. Certaines universités, comme Science Po en janvier 2023, ont interdit l'utilisation de l'IA, tandis que d'autres, comme l'Université de Prague, la considèrent comme du plagiat. Cette diversité de positions souligne la nécessité urgente d'une réponse institutionnelle pour encadrer ces usages et prévenir les risques de triche et de plagiat.
Enquête Nationale
Pour mieux comprendre ces dynamiques, une enquête nationale intitulée "L'IA dans l'enseignement" a été réalisée. Les auteurs de cette enquête sont Le Sphynx (sondage) et Compilatio (fraude académique). Elle a été diffusée dans les universités de Lyon et d'Aix-Marseille entre le 21 juin et le 15 août 2023, touchant 1242 enseignants et 4443 étudiants. Les questionnaires, conçus pour étudier les usages de l'IA et les représentations de ces usages, abordaient des thèmes comme les craintes, les opportunités et l'acceptabilité.
Résultats de l'Enquête
Les résultats montrent que 55 % des étudiants utilisent l'IA de manière occasionnelle ou fréquente, contre 34 % des enseignants. Cependant, 88 % des enseignants pensent que leurs étudiants utilisent l'IA, ce qui pourrait indiquer une surestimation des usages. Les usages identifiés incluent la recherche d'informations et la rédaction de textes, bien que ces réponses ne puissent pas être cumulées dans les choix proposés.
Analyse Critique
Une analyse plus approfondie révèle que les enseignants peinent à percevoir les bénéfices de l'IA pour l'apprentissage, contrairement aux étudiants. La question de savoir si l'IA améliore les notes sans développer les compétences reste débattue. Est-ce un dopage académique ou une opportunité pour un apprentissage plus efficace ?
Acceptabilité et Éthique
L'enquête révèle que beaucoup d'étudiants jugent acceptable d'utiliser l'IA pour rédiger leurs devoirs, et même un quart des enseignants partagent cet avis. Cela pose des questions éthiques cruciales : copier-coller est-il tricher ? Utiliser l'IA sous supervision ou pour des traductions est-il acceptable ? La réponse n'est pas simple et nécessite un débat ouvert.
Propositions et Solutions
Pour encadrer ces usages, plusieurs solutions sont proposées. Plutôt que d'interdire l'IA, il est suggéré de fixer des règles pour une utilisation responsable. Des innovations pédagogiques peuvent également être explorées, comme la création de situations de concurrence professionnelle ou l'utilisation de détecteurs d'IA.
Conclusion
En conclusion, bien que l'étude présente des limites, elle souligne un besoin urgent de régulation. Une charte institutionnelle pourrait fournir un cadre pour une utilisation éthique.
Le Comptoir OCTO - Qu’apporte l’analyse de cycle de vie lors d’un audit d’éco...OCTO Technology
Par Nicolas Bordier (Consultant numérique responsable @OCTO Technology) et Alaric Rougnon-Glasson (Sustainable Tech Consultant @OCTO Technology)
Sur un exemple très concret d’audit d’éco-conception de l’outil de bilan carbone C’Bilan développé par ICDC (Caisse des dépôts et consignations) nous allons expliquer en quoi l’ACV (analyse de cycle de vie) a été déterminante pour identifier les pistes d’actions pour réduire jusqu'à 82% de l’empreinte environnementale du service.
Vidéo Youtube : https://www.youtube.com/watch?v=7R8oL2P_DkU
Compte-rendu :
MongoDB in a scale-up: how to get away from a monolithic hell — MongoDB Paris...Horgix
This is the slide deck of a talk by Alexis "Horgix" Chotard and Laurentiu Capatina presented at the MongoDB Paris User Group in June 2024 about the feedback on how PayFit move away from a monolithic hell of a self-hosted MongoDB cluster to managed alternatives. Pitch below.
March 15, 2023, 6:59 AM: a MongoDB cluster collapses. Tough luck, this cluster contains 95% of user data and is absolutely vital for even minimal operation of our application. To worsen matters, this cluster is 7 years behind on versions, is not scalable, and barely observable. Furthermore, even the data model would quickly raise eyebrows: applications communicating with each other by reading/writing in the same MongoDB documents, documents reaching the maximum limit of 16MiB with hundreds of levels of nesting, and so forth. The incident will last several days and result in the loss of many users. We've seen better scenarios.
Let's explore how PayFit found itself in this hellish situation and, more importantly, how we managed to overcome it!
On the agenda: technical stabilization, untangling data models, breaking apart a Single Point of Failure (SPOF) into several elements with a more restricted blast radius, transitioning to managed services, improving internal accesses, regaining control over risky operations, and ultimately, approaching a technical migration when it impacts all development teams.
Ouvrez la porte ou prenez un mur (Agile Tour Genève 2024)Laurent Speyser
(Conférence dessinée)
Vous êtes certainement à l’origine, ou impliqué, dans un changement au sein de votre organisation. Et peut être que cela ne se passe pas aussi bien qu’attendu…
Depuis plusieurs années, je fais régulièrement le constat de l’échec de l’adoption de l’Agilité, et plus globalement de grands changements, dans les organisations. Je vais tenter de vous expliquer pourquoi ils suscitent peu d'adhésion, peu d’engagement, et ils ne tiennent pas dans le temps.
Heureusement, il existe un autre chemin. Pour l'emprunter il s'agira de cultiver l'invitation, l'intelligence collective , la mécanique des jeux, les rites de passages, .... afin que l'agilité prenne racine.
Vous repartirez de cette conférence en ayant pris du recul sur le changement tel qu‘il est généralement opéré aujourd’hui, et en ayant découvert (ou redécouvert) le seul guide valable à suivre, à mon sens, pour un changement authentique, durable, et respectueux des individus! Et en bonus, 2 ou 3 trucs pratiques!
Ouvrez la porte ou prenez un mur (Agile Tour Genève 2024)
Cours PHP avancé
1. Résumé développement PHP avancé
1. Connexion BDD
<?php
// on se connecte à MySQL
$db = mysql_connect('localhost', 'login', 'password');
// on seléctionne la base
mysql_select_db('nom_de_la_base',$db);
// on crée la requete SQL
$sql = "SELECT nom,prenom,statut FROM famille_tbl";
// on envoie la requête
$req = mysql_query($sql) or die('Erreur SQL !<br>'.
$sql.'<br>'.mysql_error());
// on fait une boucle qui va faire un tour pour chaque enregistrement
while($data = mysql_fetch_array($req))
{
// on affiche les informations de l'enregistrement en cours
echo '<b>'.$data['nom'].' '.$data['prenom'].'</b> ('.
$data['statut'].')';
echo ' <i>date de naissance : '.$data['datefr'].'</i><br>';
}
// on ferme la connexion à mysql
mysql_close();
?>
Abdelmonem NAAMANE Page 1/6
2. 2. Envoi de mail
<?php
$destinataires = 'isamm@naamane.com , master@naamane.com ' ;
$sujet = 'Projet fin d'année' ;
$entetes = "From: isamm@naamane.com n" ;
$entetes .= "Reply-to: isamm@naamane.com n" ;
$entetes .= "Cc: isamm2@naamane.com n" ;
$entetes .= "Bcc: isamm3@naamane.com n";
/* Ici notre message sera envoyé en copie à isamm2@naamane.com et en copie
cachée à isamm3@naamane.com */
//Le quatrième paramètre est optionnel
mail($destinataires, $sujet, "Vous devez envoyer votre rapport complet sur le
projet de fin d'année.n Cordiallementn Abdelmonem NAAMANE", $entetes) ;
?>
Abdelmonem NAAMANE Page 2/6
3. 3. POO
<?php
// définition de la classe
class voiture {
public $taxe ; //attribut
public $prixHT ; //attribut
function prixTTC( $force_de_freinage ) { //méthode
return $this->prixHT * $this->taxe ; // accés à un attribut dans la même classe
}
}
// Instanciation d’un objet
$mavoiture = new voiture() ;
//accés à l'attribut
$mavoiture->prixHT = 2000 ;
$mavoiture->taxe = 1.2 ;
//affichag de la valeur d'un attribut
echo 'Le prix hors taxe est : '. $mavoiture->prixHT;
//appel de méthode
echo 'Le prix TTC est : ' . $mavoiture-> prixTTC();
}
// héritage
class triCycle extends voiture{
}
?>
Abdelmonem NAAMANE Page 3/6
4. 4. SimpleXML et PHP 5
4.1. Chargement du fichier XML
Pour lire le fichier XML, nous allons utiliser la nouvelle fonction simplexml_load_file.
La page PHP crée étant située dans le même dossier que le fichier XML, nous aurons donc simplement
comme code PHP : $xml = simplexml_load_file('etudiant.xml');
En ajoutant une sécurité par rapport à l'existence du fichier, le code devient :
if (file_exists('etudiant.xml')) { // tester si le fichier existe
$xml = simplexml_load_file('etudiant.xml') ; // chargement du fichier XML
} else {
exit('Erreur !.');
}
4.2. Récupération des informations générales du fichier
Dans tout fichier XML, vous pouvez récupérer des informations générales sur le les étudiants : Nom, email,
etc.
<etudiants>
<etudiant>
<nom>NAAMANE</nom>
<prenom>Abdelmonem</prenom>
<email >isamm@naamane.com</email>
<site url="http://isamm.naamane.com">ISAMM</site>
</etudiant>
…
</etudiants>
On constate donc que le nom est contenu dans la balise <nom> qui elle-même est contenue dans <etudiants>.
Donc pour récupérer le contenu de <nom>, la syntaxe est : $xml->etudiants->nom;
Vous pouvez ainsi repérer la structure en noeuds transposée en PHP. Ce bref exemple vous montre la
simplicité de cette fonction.
Donc pour récupérer nos trois valeurs, on peut utiliser ce script :
Abdelmonem NAAMANE Page 4/6
5. $nom = $xml->etudiants->etudiant->nom;
$email = $xml->etudiants->etudiant->email;
$prenom = $xml->etudiants->etudiant->prenom;
4.3. Récupération des 5 dernières étudiants
Vous l'avez compris, cette fonction utilise intelligemment la structure de XML.
Chaque etudiant est représentée par la balise <etudiant> , qui contient elle-même les balises nom, prenom,
email, matiere. Celles qui nous intéressent peuvent se limiter au nom, prenom et email.
Voici un exemple d'une actualité dans le XML :
<etudiants>
<etudiant>
<nom>NAAMANE</nom>
<prenom>Abdelmonem</prenom>
<email >isamm@naamane.com</email>
…
<etudiant>
<nom>BABA</nom>
<prenom>Ali</prenom>
<email >ali@baba.com</email>
…
</etudiants>
On pourrait facilement récupérer ces valeurs en utilisant par exemple :
$xml->etudiants->etudiant->nom ; ==> Faux si la balise etudiant se répéte
Ainsi, si une balise XML est répétée, vous pouvez y accéder en utilisant les tableaux pour cette valeur.
Comme la balise etudiant est répétée, et que la première valeur d'un tableau en PHP commence à 0, l'item de
la première actualité est etudiant[0] , puis etudiant[1] etc.
Les valeurs qui nous intéressent pour le premier étudiant sont donc :
$xml->etudiants->etudiant[0]->nom;
Abdelmonem NAAMANE Page 5/6
6. $xml->etudiants->etudiant[0]->prenom;
$xml->etudiants->etudiant[0]->email;
Puis pour le seconde :
$xml->etudiants->etudiant[1]->nom;
$xml->etudiants->etudiant[1]->prenom;
$xml->etudiants->etudiant[1]->email;
Bien sûr, une boucle vous permettra de gérer ces valeurs plus proprement :
for ($i=0; $i<5; $i++) {
echo "<p>";
echo $xml->etudiants->etudiant[$i]->nom ."<br />";
echo $xml->etudiants->etudiant[$i]-> prenom ."<br />";
echo $xml->etudiants->etudiant[$i]-> email ."<br />";
echo "</p>";
}
Pour afficher toutes les étudiants, nous aurions pu utiliser la fonction foreach :
foreach ($xml->etudiants->etudiant as $valeur) {
echo $valeur->nom, '<br />';
}
4.4. Récupération de la valeur des attributs
En XML, vous pouvez également avoir besoin des attributs de certaines balises. C'est le cas par exemple de la
balise :
<site url="http://isamm.naamane.com">ISAMM</site>
Pour récupérer la valeur de l'attribut url pour la première actualité, il faut utiliser :
$xml->etudiants->etudiant[0]->site['url'];
Abdelmonem NAAMANE Page 6/6