Upload
zahim-anass
View
6.373
Download
0
Embed Size (px)
Citation preview
Site web de repositoring de CVs avec le framework Code Igniter Zahim Anas
Page 1 de 22
Site web de repositoring de CVs avec le framework Code Igniter Zahim Anas
Table des matièresTable des matièresRemerciments........................................................................................................4
Glossaire................................................................................................................5
Introduction...........................................................................................................6
1 Présentation de de l'entreprise Acticiel...........................................................6
2 Objectifs du développement ................................................................…...….7
3 Description et méthodologie de travail...........................................................8 3.1 Méthodologie de travail...............................................................................................................8
3.2 Mise en place de la base de données......................................................................................9
3.3 Site Web..............................................................................................................................................9
3.3.1 La charte graphique.....................................................................9
3.3.2 Les fonctionnalités du site.........................................................10
4 Conception et réalisation....................................................................................10 4.1 Langages et outils utilisés..........................................................................................................10
4.1.1 Xmind...........................................................................................10
4.1.2 PHP...............................................................................................11
4.1.2.1 Tidy...............................................................................................11
4.1.2.2 SimpleXML..................................................................................11
4.1.2.3 JSON.............................................................................................12
4.1.2.4 Le Framework Code Igniter......................................................12
4.1.3 MySQL..........................................................................................13
4.1.4 jQuery...........................................................................................13
4.1.4.1 jQuery AutoComplete................................................................14
4.1.4.2 jQuery TableSorter......................................................................14
4.1.4.3 jQuery Accordion.......................................................................15
4.1.4.4 jqTransform.................................................................................15
4.1.5 Google Visualization API..........................................................15
4.1.6 (x)HTML/CSS.............................................................................15 4.2 Base de données..............................................................................................................................15
5 Résultat final.........................................................................................................17
Page 2 de 22
Site web de repositoring de CVs avec le framework Code Igniter Zahim Anas
6 Difficultés rencontrées........................................................................................20 6.1 Problème d'encodage de caractères.......................................................................................20
6.2 Perte de 30 000 enregistrements dans la base de données..........................................20
Conclusion.............................................................................................................21
Références..............................................................................................................22
Page 3 de 22
Site web de repositoring de CVs avec le framework Code Igniter Zahim Anas
RemerciementsRemerciements
Je tiens à remercier tout particulièrement :
• La société Acticiel pour m'avoir accueilli pour ce stage;
• JeanChristophe BOURROUX, mon maître de stage pour sa disponibili
té en cas de besoin;
• Amine CHAOUKI, mon encadrant pour ce stage et chef du départe
ment des services informatiques, qui m'a assisté et guidé au fur et à
mesure de mon avancement dans l'application;
• Mbark AKERKOUCH, développeur web qui m'a aidé à fixer les bogues
auxquels je n'arrivais pas à trouver une solution moimême.
Page 4 de 22
Site web de repositoring de CVs avec le framework Code Igniter Zahim Anas
GlossaireGlossaire
BDD : Acronyme de Base De Données.
CSS : acronyme pour Cascading Style Sheets, langage utilisé pour décrire
la mise en page et le style d'un document écrit en HTML (page web).
Framework : Ensemble de bibliothèques(classes) qui fournissent des services
communs à une grande partie de logiciels, un framework est mis à disposi
tion du développeur afin de lui faire gagner du temps au lieu de coder des
choses qu'il refait normalement sur tout ses projets
GNU/GPL : GNU General Public License, licence qui fixe les conditions lé
gales de distribution des logiciels libres des projets GNU.
(x)HTML : acronyme pour eXtensible HyperText Markup Language, format
de données conçu pour représenter les pages web.
PHP : acronyme pour Hypertext PreProcessor, langage de programmation
très utilisé dans le développement web.
XML : acronyme de « eXtensible Markup Language », langage de balisage.
AJAX : acronyme de Asynchrone Javascript And Xml, est une technologie
qui assure la communication client/serveur et viceversa via le protocole
HTTP sur une page web sans avoir à la recharger.
Page 5 de 22
Site web de repositoring de CVs avec le framework Code Igniter Zahim Anas
1 1 IntroductionIntroduction
C'est en cette fin d'année universitaire 20092010, et plus exactement en
mois de Juin, que j'ai passé mon stage d'études au sein de la société Acti
ciel, qui sera présentée en détails dans la partie qui suit. Et c'est grâce à l'in
térêt que je porte au développement web que j'ai pu décrocher ce stage
au sein de ma société d'acceuil.
J'essaierai de présenter dans ce rapport les objectifs de mon développe
ment, ainsi que la méthodologie de travail employée pour arriver aux résul
tats voulus.
Ce rapport permettra donc de découvrir d'une façon globale la société
Acticiel, mais surtout l'application web que j'ai réalisé durant ce stage, les
outils utilisés pour y arriver, tout en citant vers la fin de ce rapport les difficul
tés rencontrées durant ce stage.
1.1 Présentation de l'entreprise Acticiel• Historique
En 2008, JeanChristophe Bourroux, français résident au Maroc, expert inter
national en nouvelles technologies et en logiciels libres, créa Acticiel.
En Février 2010, deux jeunes acteurs du web marocain, Oussama Benham
mou (éditeur du site N°1 de foot au Maroc, elbotola.com) et Mohammed El
Ghaissani (éditeur de sites de cinéma) sont rentrés dans le capital.
Acticiel est une startup marocaine, une Société de Services en Logiciels
Libres – ou SS2L, Société de Services en Ingénierie Informatique spécialisée
dans les logiciels libres – dont les deux principales activités sont l’intégration
et le développement de solutions et de projets Open Source pour le Web,
et l’édition et la coédition de sites web.
Page 6 de 22
Site web de repositoring de CVs avec le framework Code Igniter Zahim Anas
Au Maroc, Acticiel accompagne les entreprises, les offices et les institutions
du Royaume dans leur développement en ligne, et propose des offres clés
enmain, de sites internet, intranet, extranet et des solutions autour des logi
ciels libres.
• L'équipe
Acticiel est constitué d’une équipe de 3 développeurs, un infographiste,
ainsi qu'un administrateur serveur, et qui s'occupe aussi des relations clients,
autrement dit il joue le rôle d'un commercial.
2 2 Objectifs du développementObjectifs du développement
La préparation d'une base de données exploitable de CVs à partir d'enre
gistrements sous format XML était le premier objectif de ce développement.
Après cela venait la création d'une application web permettant la manipu
lation de la base de données créée( j'entend par manipulation tout ce qui
est Recherche/Consultation/Modification/Suppression) créée grâce au
Framework Code Igniter principalement, ainsi que d'autres outils qui seront
détaillés par la suite dans ce même rapport.
Ce travail a été confié à ZAHIM Anas, étudiant en 1ère année à l'Ecole Supé
rieure de Technologie de Salé, filière « Génie Informatiique », et stagiaire
entre le 31 Mai 2010 jusqu'aù 26 Juin 2010, sous l'encadrement du chef du
département des services informatiques, ainsi que le développeur web de
la société.
Page 7 de 22
Site web de repositoring de CVs avec le framework Code Igniter Zahim Anas
3 3 Description et méthodologie de travailDescription et méthodologie de travail
3.1 Méthodologie du travailAfin de toujours assurer un produit livrable au client, l'équipe au sein de la
quelle j'ai dû m'intégrer se base sur les principes de la méthode agile, no
tamment Scrum.
La méthode agile Scrum consiste à focaliser les efforts d'une équipe sur des
fonctionnalités définis au préable(ou par la suite). Ceci afin de livrer un logi
ciel partiellement fonctionnel et enrichie au fur et à mesure.
Le point fort de cette méthode est que le client est impliqué dans toutes les
phases du développement pour que le produit soit en final ce qu'il espèrait.
Le projet est divisé en fonctionnalités à finir dans une durée allant d'une se
maine à un maximum de 2 mois, et chaque fonctionnalité est divisée en
plusieurs tâches, tout en prenant soin de bien s'assurer que la même fon
tionnalité ne devra pas être modifié après suite à l'ajout d'une autre.
Page 8 de 22
Site web de repositoring de CVs avec le framework Code Igniter Zahim Anas
3.2 Mise en place de la base de données
La base de données fournise contenait des données stockés en format
HTML, donc inutilisables. Le but de ce travail est d'extraire ces données, et
de les stocker dans une base de données relationnelle.
3.3 Site web 3.3.1 La charte graphique
La charte graphique de cette application se divise principalement en 3parties:
➔ Une entête (Header) : Contient le logo, ainsi qu'un menu.➔ Le bloc principale : C'est dans ce dernier où la majorité des manipu
lations vont être réalisées.➔ Un pied de page (Footer) : Contiendra les informations légales, mais il
n'est là que pour ne pas faire exception aux autres sites webs, mais aussi pour que le deisgn du site web soit plaisant.
Page 9 de 22
Site web de repositoring de CVs avec le framework Code Igniter Zahim Anas
3.3.2 Fonctionnalités du siteLe site sera doté d'une page de recherche avancée de profils afin de permettre un accès aisé aux candidats.
Après visualisation d'un profil, il sera possible de le modifier si on dispose des droits d'accès, sinon une connexion autant qu'administrateur s'impose.
Une page de statistiques sera programmé afin d'avoir un peu plus d'informations sur le total des candidats ainsi que leurs formations, expériences.
Toutes les fonctionnalités citées cidessus seront réalisées grâce aux outils expliqués en détails dans la partie qui suit.
4 4 Conception et réalisationConception et réalisation
4.1 Langages et outils utilisésTous les outils et langages qui ont été utilisés pour la réalisation de ce projet sont à code ouvert (Open Source), ce choix est dû au fait que ces derniers sont caractérisés par leurs:
➔ Accès libre;➔ Performance, robustesse, mais sans négliger la sécurité;➔ Facilité de se documenter sur un outil ou un autre, vu que
n'importe qui peut contribuer à l'enrichissement des documentations;
➔ Large communauté d'entreaide, notamment sur les forums de discussions;
➔ Extensibilité; ➔ Portabilité. Vu que ces outils peuvent être utilisés indépen
damment de la plateforme sur laquelle ils sont hébergés.
P.S : Le développement a eu lieu sous le système d'exploitation Ubuntu 9.04 (Jaunty Jackalope), et grâce à l'IDE1 Aptana Studio, tout le code a été écrit dessus.
4.1.1 XmindXmind est un logiciel de brain storming2 et de mind mapping3(carte heuristique). Il sert à stocker ses idées, puis la mise en oeuvre de diagramme d'un tel ou tel projet, tout en gérant l'état d'avancement de chaque fonc
1 IDE : Integrated Development Environment ( Environnement de développement intégré)2 Brain storming : Collecte d'idées sans tenir compte ni de l'ordre ni de l'absurdité de celles-ci.3 Mind mapping : Carte heuristique est un diagramme qui représente les idées sous un format sémantique et hié-
rarchique
Page 10 de 22
Site web de repositoring de CVs avec le framework Code Igniter Zahim Anas
tionnalité du projet, ainsi que son degré d'importance, ainsi que les dépendences entre cellesci.
Voici un exemple d'un diagramme réalisé à l'aide de Xmind lors d'une étape donnée de la réalisation du projet faisant objet de ce rapport :
4.1.2 PHPPHP a été utilisé afin d'assurer le dynamisme du site web côté serveur. Plusieurs extensions4 et framework ont été utilisés dans ce projet, nous citons à titre d'exemple :
4.1.2.1 TidyCette extension pour PHP sert à valider du code (x)HTML/XML, la validation consiste au fait de rendre le code (x)HTML/XML compatible avec les standards imposés par le W3C5. Mais elle a été surtout utilisé dans ce projet afin de rendre la base de données XML 'parsable'6 par la librairie SimpleXML .L'extension Tidy pour PHP se caractérise par sa simplicité d'utilisation, mais surtout par son extrême difficulté à être trouvée/installée.Voici un exemple de son utilisation dans un code PHP :
$tidy = new tidy;
$tidy->parseString(utf8_encode($reponse['content']));
$tidy>cleanRepair();
4.1.2.2 SimpleXMLSimpleXML est une extension pour PHP permettant le traitement des documents XML, le choix de cette librairie et non pas une autre, se justifie par sa simplicité d'utilisation (comme son nom l'indique d'ailleurs) et qu'elle répond à tous les besoins du projet, mais aussi parce que d'autres extensions comme domxml, reste très difficile à maîtriser, quoi qu'elle soit assez puis4 Les 3 premiers outils ont été utilisés lors de l'mportation des données depuis la base de données XML, en ce qui
concerne le framework CodeIgniter, il a surtout servi à la réalisation du site web.5 W3C : World Wide Web Consortium est une organisation mondiale à but non-lucratif dont le but est d'assurer une
compatibilité entre les technologies, et ceci en les standarisant.6 Parsable : On entend par le parsing, l'analyse sémantique d'un code donné
Page 11 de 22
Site web de repositoring de CVs avec le framework Code Igniter Zahim Anas
sante et complète, et dotée de plusieurs fonctionnalités … qui seront complètement inutile pour ce projet.
C'est grâce à SimpleXML que l'extraction des données sous format XML a eu lieu.
4.1.2.3 JSONJSON pour « JavaScript Object Notation », est un format de représentation de données, sous une forme nom/valeur.
Il a été utilisé dans ce projet pour stocker les langues ainsi que les niveaux de maitrises pour chacune dans un seul champ dans la BDD.En voici un exemple :
[{
"langue":"Arabe",
"maitrise":"(Lu, Parlé et Ecrit)"
},
{
"langue":"Français",
"maitrise":"(Lu, Parlé et Ecrit)"}
}]
4.1.2.4 Le framework CodeIgniterLa majorité de la réalisation du site web a été faite grâce à ce framework.L'utilisation d'un framework est dû au fait qu'il propose des librairies/fonctions aides, et beaucoup d'outils qui sont communs à tous les sites web, il aurait été complètement inutile de recoder ces choses là.
En ce qui concerne le choix de CodeIgniter, il a été fait vu que ce dernier a un temps d'exécution plus court que ses concurrents, ainsi que pour sa documentation complète (quoi que disponible qu'en anglais). Mais aussi pour son support natif de l'architecture MVC(Model/View/Controller), qui sépare template(s), classes et contrôleurs7. Le tout est orienté objet, même la communication avec la base de données ce qui rend le code beaucoup plus structuré.
Les classes utilisées parmis celles offertes par ce framework sont :
• Config Class : cette classe a été utilisé afin de modifier la configuration du framework dans certaines fonctions.
7 Contrôleur : Gère l'interaction entre l'utilisateur et le modèle(une base de données en général), contrôle aussi les ac-tions à déclencher.
Page 12 de 22
Site web de repositoring de CVs avec le framework Code Igniter Zahim Anas
• Database Class : La classe de gestion de BDD de CodeIgniter gère automatiquement la connexion à cette dernière une fois les identifiants fournies. Voici un exemple de requête réalisé grâce à cette classe :
$this->db->distinct();
$this->db->select('*');
$this->db->order_by('ville_natale', 'asc');
$query = $this->db->get('candidats');
//équivaut à $query = mysql_query(SELECT DISTINCT * FROM candidats ORDER BY `ville_natale` ASC);
• Input Class : Cette classe sert à faciliter la récupération/vérification/sécurisation des données entrées par un utilisateur( dans un champ de recherche par exemple). Je l'ai utilisée un peu partout dans le site web, mais surtout dans la page de recherche de profils.
• Pagination Class : Automatise la gestion des liens du genre :
« < 1 2 3 4 5 > » . Elle a été utilisée dans la page de résultats de recherche.
Afin d'éviter de rentrer dans des détails encore plus techniques, seules les classes cidessus ont été citées, et les fonctions d'aide ont été omises aussi.
4.1.3 MySQLJ'ai utilisé MySQL comme base de données durant ce projet, pour les mêmes raisons pour lesquelles les autres outils ont été choisis8.
4.1.4 jQueryComme PHP assure la dynamicité du site web côté serveur, jQuery l'assure côté client.
JQuery est une bibliothèque javascript qui assure la communication serveur/client (généralement avec un script PHP), sans avoir à recharger la page, on entend par là AJAX9, mais pas seulement ça, il gère aussi les animations des éléments de la page, et dispose d'un sélecteur CSS très puissant, et qui fait toute sa puissance.
8 Voir 4.1 pour plus de détails sur ces raisons.9 AJAX : pour Asynchrone Javascript And Xml, (cf. voir glossaire)
Page 13 de 22
Site web de repositoring de CVs avec le framework Code Igniter Zahim Anas
JQuery a été utilisé sur plusieurs parties du site dont la plus intéressante est celle du formulaire de recherche, dans laquel les villes varient selon le pays choisi(chargé grâce à la technologie AJAX).
Toutefois, ses plugins ne font qu'enrichir ses fonctionnalités, deux d'entres eux ont été utilisés dans ce site web à savoir :
4.1.4.1 jQuery AutocompleteAfin d'assister l'utilisateur lors de sa saisie dans un champ texte, une liste de suggestions lui est affiché selon ce que le visiteur est en train de taper, et cela en temps réel.
4.1.4.2 jQuery TableSorterCe plugin est implémenté dans la page de résultats de recherche, il permet de trier les résultats selon une colonne ou plus.
Dans l'exemple cidessus le tableau a été trié suivant la ville PUIS le champ 'Nom/Prénom'.
Page 14 de 22
Site web de repositoring de CVs avec le framework Code Igniter Zahim Anas
4.1.4.3 jQuery AccordionUtilisé dans la page des statistiques, le plugin jQuery Accordion permet d'afficher un bloc tout en prenant soin de cacher celui qui est visible avec un joli effet d'accordéon. Il est utilisé à des fins d'accessibilité pour la page, vu qu'elle est chargée de graphs/cartes.
4.1.4.4 JqTransformAfin de rendre les formulaires du site web plus « jolis », le plugin jqTransform a été utilisé afin d'assurer cette tâche.
4.1.5 Google© Visualization API10
L'API Google© Visualization permet de créer des visualisations en se basant sur les données qu'on lui a fourni, 2 types(mais 4 vues différentes) de visualisations ont été utilisés dans ce projet dans la page statistiques notamment :
• Geomap : C'est avec ce package que les visualisations pour les villes, et les pays ont été créés.
• Corechart : le camembert ainsi que les graphiques à barres ont été réalisé à l'aide de ce package.
4.1.6 (x)HTML/CSS
Nul besoin de préciser que ces deux langages sont à la base de toute page web présente sur internet (du moins une grande partie).
Le (x)HTML a surtout été utilisé dans la partie vue/view du MVC11.
Sinon le CSS a été utilisé pour la mise en forme de la page web.
4.2 Base de données
4.2.1 Export/Import de la base de données en XML
La BDD d'origine(Provient de l'ancien site de Menara Jobs) ne contenait
qu'une seule table avec cette structure :
avec :
➔ url : l'adresse vers le CV sur l'ancien site web de Menara Jobs.
10 API : Application Programming Interface, Interface de programmation d'application, ensemble d'outils implémentés permettant la mise en place d'applications
11 Voir plus haut, dans la partie Framework
Page 15 de 22
Site web de repositoring de CVs avec le framework Code Igniter Zahim Anas
➔ content : contient tout le CV aspiré depuis Menara Jobs, dont voici un aperçu :
<td>
<b>
mrym ch
</b>
<br/>
3 rue anqara appt 6 10000<br/>
Casablanca - Maroc
</td>
<td>
Date de naissance : 28/05/2008<br/>
Tél : 0668566655<br/>
Email :
<a href="mailto:[email protected]">
</a>
</td>
Cette étape consiste à extraire de la base de données citée cidessus toutes les données qu'elle contient afin de les enregistrer dans une autre BDDR MySQL « exploitable » qui ressemblera à la fin après maintes manipulations12 à ça :
▪ Table candidats : Contient les informations personnelles(tout ce qui est coordonnées du déteneur du CV, le champ candidat_photo contient un lien direct vers la photo du candidat.
12SimpleXML, ainsi que les RegEx ont été les principaux outils utilisés pour extraire les données
Page 16 de 22
Site web de repositoring de CVs avec le framework Code Igniter Zahim Anas
Il reste à préciser que : • la base de données initiale faisait presque 200Mo, après extraction
elle ne pesait pas plus de 30Mo.
5 5 Résultat finalRésultat final
➔ La page d'acceuil Contient tout d'abord un formulaire rapide de rechercher de profils, suivi de 3 profils tirés aléatoirement de la BDD.
➔ Recherche de profils :
La page de recherche de profils contient un formulaire réparti en 3 grandes parties (dites Fieldset en anglais, comprenez par cela « un ensemble de champs ») à savoir :
▪ Informations personnelles.▪ Expériences.▪ Formations
Et ceci afin d'assurer une recherche personnalisée et ciblée de profils.
Il est bien de préciser aussi que toutes les listes déroulantes (Pays/Ville,Domaine …), sont complétement dynamiques, vu qu'elles sont générées depuis la base de données selon les choix disponibles.
En ce qui concerne les champs de type « text« ils sont dotés d'une aide sous forme d'autocomplétation(on reviendra dessus par la suite).
➔ Résultats de la recherche :
Page 17 de 22
Site web de repositoring de CVs avec le framework Code Igniter Zahim Anas
10 résultats sont affichés par page, et peuvent être trié (sans avoir à recharger la page) par nom/prénom, Date de naissance, Ville, téléphone ou bien même une combinaison de ces derniers.
➔ Consultation d'un profil :
Comme son nom l'indique cette page permet la visualisation de la totailité du CV d'une personne donnée.
➔ Statistiques :La page de statistiques affichent des graphs/cartes géographiques en se basant à chaque fois sur un critère des 5 disponibles:
Page 18 de 22
Site web de repositoring de CVs avec le framework Code Igniter Zahim Anas
Domaine de formation Secteur d'acitivité
Pays13 Ville
Type de contrat
13Le fait que le Sahara Marocain soit indépendant du Maroc dans cette carte géographique n'exprime en aucun cas l'avis ou bien un engagement politique de la part de l'autreur du site web. Vu que cette même carte est fournise Par Google Visualization API qui est indispensable pour assurer une meilleure présentation des statistiques.
Page 19 de 22
Site web de repositoring de CVs avec le framework Code Igniter Zahim Anas
6 6 Difficultés rencontréesDifficultés rencontrées
6.1 Problème d'encodage de caractères
Lors de la validation du contenu de la base de données d'origine, l'extension Tidy de PHP crée des caractères dit html entity, qui à cause d'eux l'analyse sémantique (parsing) devient impossible pour SimpleXML, ce qui rend l'importation impossible, ceci est dû au fait que la base de données initiale n'est pas bien formatée, ce qui rend son exploitation très difficile.
Afin de remédier à ceci, plusieurs expressions régulières ont été créées afin de supprimer tous les caractères qui posent problème (la plupart étant des espaces blancs) qui sont incompatibles avec l'encodage UTF8.
6.2 Perte de plus de 30 000 enregistrements dans la BDD
Vu que le script créé ne peut gérer toutes les anomalies, vu le grand nombre de CVs (au début il y en avait vers les 20 000, même si toutes celles qui ont été rencontrées lors de la réalisation du projet ont toutes été réparées), des maintenances s'imposaient, durant cela la requête suivante a été exécuté
DELETE FROM `formations` WHERE `nom` LIKE "%_%"
Requête qui veut dire : Supprimes de la table formations tous les enregistrements qui contient un caractère.
Ce que j'ignorais c'est que le underscore _ voulait dire un caractère, concernant le pourcentage %, placé au début et en fin de la chaine veut dire, commençé ou/et terminé par un caractère. Ce qui est un peu le cas pour toutes formations, ce qui a causé le vidage de la table entière.
Et même si une sauvegarde existe déjà, son utilisation reste très difficile, vu qu'elle pèse 24mo, et il n'y a qu'une seule table qui devait être restauré. Ce qui requit un PC très puissant pour faire cette sélection.
Au moment où ces lignes ont été rédigés seul 900 enregistrements ont été récupérés, le reste sera récupéré au fur et à mesure.
Page 20 de 22
Site web de repositoring de CVs avec le framework Code Igniter Zahim Anas
ConclusionConclusion
Ainsi, j'ai effectué mon stage de fin d'année d'études en Génie informatique au sein de l'entreprise Acticiel.
Toutes les fontionnalités qui ont été fixé dès le départ, ou bien dont la planification a été ajoutée par la suite ont été réalisées, à part celle de la gestion des versions, vu qu'elle s'est avéré complètement inutile, car la gestion des versions vise tout d'abord la mise en disposition du code aux profits des autres participants au projet, or une seule personne s'était occupé du projet, et il n'y aura qu'une seule version de la même application, raison pour laquelle la fonctionnalité de la gestion des versions a été abondonnée.
En ce qui me concerne, ce stage m'a été très instructif, vu que j'ai dû changé ma logique de développement pour qu'elle s'adapte avec la logique des Framework MVC. Certes c'est transparent pour le visiteur du site, mais c'est une architecture qui donne droit à un code plus structuré et plus organisé pour le développeur, Et qui peut s'avérer utile pour une ultérieure modification.
Enfin, j'ai été très honoré d'avoir eu la chance de vivre une telle expérience au sein d'une équipe aussi motivée et expérimentée dans le domaine du développement web, domaine qui, je tiens à le préciser, me tient à coeur.
Page 21 de 22
Site web de repositoring de CVs avec le framework Code Igniter Zahim Anas
RéférencesRéférences
➔ Documentation PHP, SimpleXML, Tidy : http://fr.php.net/
➔ Documentation MySQL : http://dev.mysql.com/doc/refman/5.0/fr/
➔ Documentation CodeIgniter : http://codeigniter.com/user_guide/
➔ Documentation jQuery et ses plugins:
◦ http://docs.jquery.com/Main_Page
◦ http://tablesorter.com/docs/
◦ http://www.dfce.com/metiers/multimedia/opensource/jqtrans form/
➔ Documentation Google Visualization API : http://code.google.com/intl/frFR/apis/visualization/documentation/index.html
➔ http://stackoverflow.com
➔ http://siteduzero.com
Page 22 de 22